?

混合策略改進的野馬優化算法

2024-02-22 07:59李姍鴻靳儲蔚張達敏張琳娜
計算機工程與設計 2024年2期
關鍵詞:馬駒測試函數野馬

李姍鴻,靳儲蔚,張達敏+,張琳娜

(1.貴州大學 大數據與信息工程學院,貴陽 貴州 550025;2.貴州大學 機械工程學院,貴陽 貴州 550025)

0 引 言

近年來,學者們提出了一系列新的群智能優化算法[1],如鯨魚優化算法(WOA)[2]、粒子群優化算法(PSO)[3]、蝴蝶優化算法(BOA)[4]、蜻蜓優化算法(DA)[5]、樽海鞘群優化算法(SSA)等[6],這些算法有著結構簡單,運行時間短,所需參數少等優點;受數學公式所啟發的算法也有較好的效果,如正余弦優化算法(SCA)[7]等,其能夠作為算子移植到其它算法中是這類算法最大的優勢。

針對群智能優化算法存在種群多樣性低和收斂速度得不到保證等問題,眾多學者針對群智能算法進行了大量的改進研究。靳儲蔚等[8]為解決飛蛾撲火算法在收斂速度慢、容易陷入局部最優等問題,提出了一種全局擾動和互利因子作用的飛蛾撲火優化算法;林杰等[9]為解決針對蝗蟲優化算法全局尋優能力不足等問題,提出融合正弦余弦和變異選擇的蝗蟲優化算法;王光等[10]為提高飛蛾撲火算法的優化性能,提出了一種基于折射原理反向學習的飛蛾撲火算法;劉景森等[11]為解決鯨魚算法求解穩定性不強、收斂速度有時較慢、易陷入局部極值等缺點,提出一種具有輪盤賭選擇和二次插值擇優機制的雙種群交互演化鯨魚算法。野馬優化算法[12](wild horse optimizer)是Naruei等于2021年所提出的一種群智能優化算法,由于WHO提出時間較短,針對該算法的改進策略相對較少,以上文獻將為WHO的改進策略提供理論支撐。針對原始WHO算法存在的不足,提出了一種混合策略的野馬優化算法。首先,在馬駒位置更新公式中引入基于饑餓游戲的慣性權重,更好平衡算法的全局搜索與局部搜索能力;其次,在放牧階段引入折射鏡像學習策略,增加種群的多樣性,提高算法的求解精度;最后,利用混合黃金正弦與飛蛾撲火算子,對野馬種群中種馬的最佳位置進行擾動,使算法跳出局部最優,使得IWHO有更優秀的最優解。

1 野馬優化算法

野馬優化算法(wild horse optimizer,WHO)的靈感來自于野馬的社會生活行為和繁殖行為。野馬分為種馬、母馬和馬駒3類,種馬是群體中的領導者,決定野馬種群在放牧時的移動方向和速度;母馬和馬駒是追隨者,主要負責放牧。野馬優化算法主要是模擬野馬群的放牧行為、交配行為和團隊領導行為進行迭代尋優。

1.1 放牧行為

母馬和馬駒通常大多數時間都在群體周圍放牧,其將種馬視為放牧區的中心,圍繞著種馬進行搜索,其位置更新公式為

Xi(t+1)=2Zcos(2πRZ)×(Si(t)-Xi(t))+Si(t)

(1)

式中:Xi(t) 是追隨者(馬駒或母馬)的當前位置,Si(t) 是種馬的位置,R是[-2,2]之間的隨機數,決定追隨者與領導者之間的角度,Z自適應機制,表達式如下

(2)

(3)

(4)

式中:t是當前迭代次數,Tmax是算法的最大迭代次數。

1.2 馬的交配行為

假設離開i組的雄性馬駒和離開j組的雌性馬駒成熟后進行交配,生下的馬駒必須離開其家庭種群,加入其它的種群k。 所有的馬群都會重復這種防止近親交配的循環,表達式如下

(5)

1.3 團隊領導

領導者帶領團隊尋找合適的棲息地,假設當前棲息地已經被其它種群占領,則該群體必須離開此地,繼續搜索尋找其它棲息地,其位置更新公式如下

(6)

式中:Si(t+1) 是種群i領導者的更新位置,W是棲息地的位置,Si(t) 是種群i領導者的當前位置,Z是由式(2)計算的自適應機制,R4是[0,1]之間的隨機數。

WHO在算法后期階段,根據適應度選擇領導者,若成員的適應度優于領導者,則兩者互換身份,表達式如下

(7)

式中:f是適應度函數,Si是種群i領導者的位置,Xi是種群成員的位置,f(Xi) 是成員Xi的適應度值,f(Si)同理。

2 改進的野馬優化算法

2.1 基于饑餓游戲搜索算法改進的tent慣性權重

算法的初始值對算法的效果影響非常大,若初始值接近全局最優解,則算法的最終效果會很好[13]。大多數群智能優化算法采用的是隨機初始化種群,這種初始化存在著種群分布不均勻、種群多樣性低和種群質量不高等問題[14]。為了避免這一問題,本文在算法種群初始化階段中,根據馬駒的行為特征和種馬的位置信息,利用Tent混沌映射[15]對野馬種群進行初始化,引導馬駒種群有序的圍繞在種馬周圍,其表達式如下

(8)

式中:μ為混沌參數,本文μ的取值為2,xn代表第n個混沌序列的序號,xn+1同理。因為引入的Tent混沌映射產生的迭代序列不僅存在小周期,還存在不穩定周期點,會導致個體在邊界處重疊,使得種群分布不夠均勻,故引入饑餓游戲搜索算法對Tent混沌映射進行改進,其中ω和λ的表達式如下

(9)

(10)

式中:ωmin為最小慣性權重,本文取值為0.2,ωmax為最大慣性權重,本文取值為0.9,ω和λ為隨著迭代次數變化而隨之變化的變量,t是當前迭代次數,Tmax是算法的最大迭代次數。

眾多學者研究了非線性慣性權重因子對算法全局搜索與局部開發的影響,在算法前期權重因子緩慢減小使得其有很強的全局搜索能力,更快的達到收斂精度,在算法后期,較小的權重因子能夠保證算法全局搜索能力的同時避免其陷入局部最優,基于饑餓游戲搜索算法改進的Tent慣性權重因子的變化趨勢如圖1所示。

圖1 慣性權重因子變化

在傳統的野馬優化算法中,野馬的生成位置由來自不同種群的父母位置決定,所以馬駒的生成位置較固定且多樣性不足,易使算法陷入局部最優位置,不利于進行全局搜索,故本文對放牧階段中馬駒的位置公式進行了改進,其表達式為

Xi(t+1)=ω×λ×(2Zcos(2πRZ)×

(Si(t)-Xi(t))+Si(t))

(11)

2.2 折射鏡像學習

針對群智能算法存在的收斂速度慢的問題,眾多學者利用了反向學習策略[16]對算法進行優化,該方法能夠生成可行解的反向解,擴大算法的搜索范圍,并能夠在反向解的評價過程中選擇更優的候選解,因此能夠加快算法的收斂速度。反向學習[17]是尋找已知解對應的反向解,然后對兩個解進行比較,選取更優解,鏡像學習[18]是利用光的鏡像原理,對種群個體進行突變,從根源上改變種群個體。折射鏡像學習策略(refraction mirror-learning,RML)的定義請參見文獻[17],其原理圖如圖2所示。

圖2 折射鏡像學習

若在自由空間中,假設入射角與法線的夾角為θ1, 出射角與法線的夾角為θ2, 入射光線的長度為l1, 出射光線的長度為l2, 由數學定理可得

n0sin(θ1)=n1sin(θ2)

(12)

式中:n0=1為自由空間的折射率,n1>1為介質空間的折射率,由數學幾何關系可得

(13)

(14)

假設入射光線的長度l1與出射光線的長度l2滿足表達式:l1/l2=k, 由折射定律可得

(15)

(16)

取k=n1=1時,可得

(17)

折射鏡像學習策略能夠生成可行解的反向解,能夠解決野馬在放牧階段馬駒會密集于一個位置的問題,野馬個體會根據生成隨機數的大小選擇鏡像學習策略或折射鏡象學習策略進行位置的更新,在一定概率下野馬個體會回到其所生成反向解的位置進行探索,促進個體歷史最有位置的更新,兩種策略相互交替,有效改善了算法的收斂速度和全局尋優能力,其表達式如下

(18)

(19)

式中:AP為選擇概率,R4是[0,1]之間的隨機數,由文獻[17]的實驗可知,AP=0.35時尋優效果最好。

2.3 混合黃金正弦與飛蛾撲火算子

傳統的野馬優化算法是以種馬為中心,馬駒圍繞種馬進行放牧,這種由種馬帶領馬駒的探索方式雖然具有一定的局部搜索能力,但是每組只有一匹種馬,由一匹種馬帶領隊內的所有馬駒進行放牧比較容易陷入局部最優解,導致其收斂精度不夠。受到文獻[18]啟發,本文根據馬駒數量的增加,在算法的團隊領導階段引入了混合黃金正弦與飛蛾撲火算子,有助于算法在迭代后期跳出局部最優值,以獲得更好的收斂效果?;旌宵S金正弦與飛蛾撲火算子的種馬位置更新公式如下

(20)

式中:Si(t) 是種馬的當前位置;r1是 [0,2π] 之間的隨機數;r2是 [0,π] 之間的隨機數;b是當前迭代領導者與棲息地的距離;W為棲息地的位置;r3和r4的表達式如下

(21)

(22)

2.4 IWHO算法步驟

IWHO的偽代碼如下:

算法1:IWHO算法

Begin

設置算法參數:種群大小n, 最大迭代次數Tmax, 種馬比例PS, 交叉概率PC, 慣性權重ωmax和ωmin, 選擇閾值概率AP。

利用Tent映射初始化種群,計算每個野馬個體的適應度值,創建野馬種群并選出種馬。

通過式(4)計算TDR的值,式(2)計算Z的值。

whilet

fori=1 tondo

ifrand>PC

由式(11)更新馬駒的位置。

else

由式(5)更新馬駒位置。

end if

ifrand

由(18)更新馬駒位置。

else

由式(19)更新馬駒位置, 根據R4的值由式(20)再次更新種馬位置。

end if

if cost(Si(t+1))

Si(t)←Si(t+1)

end if

根據適應度對分組的馬駒進行排序,選擇適應度最小的馬駒。

if cost(Xi)

由式(7)進行種馬與馬駒的交換。

end if

end for

計算種群個體的適應度值,更新棲息位置。

end while

end

IWHO算法首先使用2.1節中基于饑餓游戲搜索算法改進的Tent慣性權重,利用Tent映射初始化種群,產生較均勻的初始種群,根據式(11)更新馬駒位置,增強種群多樣性;然后根據第2.2節中的折射鏡像學習策略,選擇式(18)或式(19)再次更新馬駒的位置,提高算法的收斂速度;最后根據第2.3節式(20)的位置公式更新種馬的位置,避免算法陷入局部最優。本文提出的混合策略改進的野馬優化算法的步驟如算法1所示,其流程如圖3所示。

圖3 IWHO算法流程

3 實驗仿真及分析

3.1 測試函數和參數設置

本文為驗證IWHO算法的有效性和改進策略的優越性,將優化后的野馬優化算法(IWHO)與傳統野馬優化算法(WHO)[11]、蝴蝶優化算法(BOA)[4]、粒子群優化算法(PSO)[3]、正余弦優化算法(SCA)[7]、樽海鞘群優化算法(SSA)[6]、鯨魚優化算法(WOA)[2]、蜻蜓優化算法(DA)[5]進行了對比實驗。本文引入10個標準測試函數,如表1所示,F1-F7均為單峰函數,每個測試函數都只有一個最優值,用以檢驗IWHO算法的尋優速度和收斂精度;F8-F10則為多峰函數,每個測試函數都有多個局部最優值,用以檢驗IWHO算法跳出局部最優的能力,對算法的全局探索能力有很好的評估作用。

表1 測試函數

實驗選取野馬種群的數量為30,最大迭代次數為1000。各對比算法的基本參數設置見表2。本文為驗證IWHO算法的改進效果,同表2的群智能算法進行了比較,實驗統計30次運行的結果,其具體實驗數據見表3。

表2 算法參數

表3 不同算法的結果比較

表3是對表1的12個函數進行有效定量分析的結果,記錄了算法的平均值、最優值、最差值、標準差和每次獨立運行的平均耗時??梢詮谋?明顯看出,對于求解單峰函數F1、F2、F3和F4,IWHO算法的求解精度都可以達到理想的最優值,尋優能力明顯強于與其對比的群智能算法,并且在獨立運行30次實驗后,每一次的結果都是最優值,標準差為0,說明IWHO不僅有很強的尋優能力還有極強的穩定性,其性能遠超過其它的傳統群智能算法;對于F5函數,雖然IWHO沒有找到函數的最優解,但從表3可明顯看出,其尋優時間遠小于其它對比算法,說明引入的策略提高了算法的收斂速度。對于單峰函數F6和F7同樣也沒有找到函數最優值,但與其它算法相比,其尋優精度最高;對于多峰函數F9,雖然IWHO算法沒有搜索到函數的最優值,但其標準差為0,相比于其它算法,其有極強的魯棒性;在F8與F10多峰函數中,IWHO算法能夠不斷跳出局部最優,找到測試函數的最優值,且獨立運行30次實驗后標準差仍為0;因此,IWHO算法在求解各測試函數的過程中都具有杰出的性能。

3.2 測試函數收斂曲線

圖4給出了8個基準函數的平均收斂曲線,由圖4(a)~圖4(d)可知,在迭代前期,IWHO算法在一段時間內收斂曲線下降速度很快,表明引入的基于饑餓游戲搜索算法改進的Tent慣性權重能夠增加種群多樣性,生成均勻和較優的初始值,使算法不斷進行迭代尋優并迅速找到了理論最優值,收斂速度較快。圖4(e)和圖4(g)的曲線有多處拐點,說明本文提出的混合黃金正弦與飛蛾撲火算子策略能夠使得算法跳出局部最優,算法的收斂精度得到提升。圖4(f)和圖4(h)的IWHO算法的曲線雖然和其它兩種群智能算法的收斂精度相差不大,但從曲線可明顯的看出IWHO算法的收斂速度較其它算法有很大的優勢,在迭代前期就迅速收斂,說明本文提出的折射鏡像學習策略根據可行解產生相應反向解的策略大大提升了算法的收斂速度。

圖4 不同算法的平均收斂曲線

3.3 Wilcoxon秩和檢驗

Wilcoxon秩和檢驗不只是針對上述數據的平均值和標準差,能夠檢測更為復雜的數據分布,并與算法多次運行的數據進行對比,公平體現IWHO算法的優越性。本文進行Wilcoxon秩和檢驗實驗設定顯著差異在5%,判斷IWHO算法在某些特定問題上是否有顯著的性能提升。表4列出了所有測試函數中IWHO算法與其它算法秩和檢驗的P值。其中,每個數據代表IWHO算法與該數據對應的算法在對應的測試函數中相比的P值,當P值低于該顯著性水平時,判定兩個算法存在顯著差異,反之則無顯著差異。S為+表明IWHO算法顯著性高于其它算法IWHO的結果有明顯改善。秩和檢驗是基于30次獨立運行進行的,每次運行最多進行1000次迭代??蓮谋?明顯看出,與其它算法的對比中,12個函數中,無論是單峰函數還是多峰函數的檢驗結果P值全部小于5%,結果判斷S全為+,說明IWHO算法具有顯著性的優勢,還驗證了IWHO在統計上的優越性。

表4 Wilcoxon秩和檢驗的值

3.4 拉/壓彈簧設計問題

該問題是一種經典工程優化問題,該問題的主要目的是優化拉伸或壓縮彈簧的重量。這個問題包含4個約束條件和3個用于計算權重的變量:線徑d、平均線圈直徑D和活動線圈數P,本文中講3個變量表示為x=(x1,x2,x3), 對應 (d,D,N)。 問題的圖示如圖5所示,其數學模型如下

(23)

圖5 拉/壓彈簧設計

約束條件為

(24)

(25)

(26)

0.05≤x1≤2,0.25≤x2≤1.3,2≤x3≤15

(27)

實驗結果如表5所示,IWHO算法在拉/壓彈簧工程問題上有較好的表現,在獨立運行30次實驗后,平均值和最優值幾乎相同,只有6×10-6的差別,且均優于對比算法,表明算法具有較好的穩定性和尋優性能。f(x) 通過IWHO算法優化之后,誤差較小,且每次運行得到的結果都在最優值范圍的附近,通過優化能夠在更小搜索空間中也有較好的搜索能力。

4 結束語

針對傳統WHO算法的缺點,首先在馬駒位置更新公式中引入基于饑餓游戲的Tent慣性權重,能夠增加種群的多樣性,并更好平衡算法的全局搜索與局部搜索能力;其次,在放牧階段引入折射鏡像學習策略(RML),利用折射鏡像學習生成可行解的反向解,加快算法的求解速度;最后,利用混合黃金正弦與飛蛾撲火算子,使算法跳出局部最優。綜合實驗結果表明,IWHO算法既具有良好的全局以及局部尋優能力,又具有較好的魯棒性。最后驗證IWHO算法在解決工程問題上的有效性。在接下來的研究中,會將改進的算法應用于車聯網通信中以及大規模的復雜問題,以進一步驗證算法的性能。

猜你喜歡
馬駒測試函數野馬
馴服的野馬
被蝙蝠吸走的自控力
被蝙蝠吸走的自控力
具有收縮因子的自適應鴿群算法用于函數優化問題
野馬之死
我家的“小馬駒”
帶勢函數的雙調和不等式組的整體解的不存在性
約束二進制二次規劃測試函數的一個構造方法
馬駒的弦子
面向真實世界的測試函數Ⅱ
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合