張小青,張玉葉,郝海燕
1.咸陽(yáng)師范學(xué)院 物理與電子工程學(xué)院,陜西 咸陽(yáng) 712000
2.西安電子科技大學(xué) 機(jī)電工程學(xué)院,西安 710071
隨著計(jì)算機(jī)的發(fā)展,各種智能控制器也應(yīng)運(yùn)而生,模仿生物群體功能的智能優(yōu)化控制器越來越受到眾多學(xué)者與科研人員的關(guān)注。目前較為典型的智能控制器的算法有遺傳算法[1]、粒子群算法[2]、蟻群算法[3]、蜂群算法[4]、魚群算法[5]等,在近幾年又提出了一種蒼狼優(yōu)化算法(Grey Wolf Optimizer,GWO)。蒼狼主要產(chǎn)于歐洲與北美,是一種較具戰(zhàn)斗力的狼。蒼狼獵食常是一種聚群行為,狼群里各個(gè)個(gè)體通過相互溝通與合作,常常能將體型遠(yuǎn)遠(yuǎn)大于其自身體型的獵物捕獲。正是受蒼狼群體捕獵的啟發(fā),2014年蒼狼優(yōu)化算法被提了出來[6]。
蒼狼優(yōu)化算法一方面由于其簡(jiǎn)單、通用性強(qiáng),在理論和工程上都得到了一定的青睞,很快使其在各行各業(yè)的工程上得到了較好應(yīng)用,主要包括電力系統(tǒng)領(lǐng)域及其相關(guān)的參數(shù)優(yōu)化控制[7-10]、永磁同步電動(dòng)機(jī)混沌控制[11]、多層感知器的訓(xùn)練[12]、表面波參數(shù)估計(jì)[13]、光普波段尋優(yōu)選擇[14]等。但另一方面由于其本身存在探索深度淺,開發(fā)能力差且易限于局部最優(yōu)等缺點(diǎn),又使得該算法在實(shí)際應(yīng)用中受限。文獻(xiàn)[15]針對(duì)蒼狼算法進(jìn)行了改進(jìn),提出了一種針對(duì)搜索狼中較差的個(gè)體進(jìn)行重新定位的改進(jìn)蒼狼優(yōu)化算法(GWO-EPD),在一定程度上提高了原算法的開發(fā)與探索能力,但從算法的實(shí)驗(yàn)驗(yàn)證結(jié)果中發(fā)現(xiàn)其搜索效果依然不太令人滿意,因此為了更好地提升GWO性能,提出了一種新的混合改進(jìn)的蒼狼優(yōu)化算法,結(jié)合自主搜索、差狼淘汰重組及優(yōu)秀狼差分變異的思想構(gòu)成了混合蒼狼優(yōu)化算法(MAR-GWO)。
在GWO算法[6]中,蒼狼分為四個(gè)等級(jí),最高等級(jí)為alfa(α)狼,第二等級(jí)為beta(β)狼,第三等級(jí)為delta(δ)狼,此為三領(lǐng)導(dǎo)層狼,最后一等級(jí)為搜索狼即omega(ω)狼。α、β及δ狼一般在數(shù)量上僅設(shè)一只,而ω狼可設(shè)為幾十只[16]。GWO算法關(guān)鍵在于ω狼的搜索行為,ω狼的搜索算法描述如下:
上面公式隱含著搜索狼僅在α、β及δ狼附近進(jìn)行獵物抓捕行動(dòng),其中Xα、Xβ、Xδ分別是α、β與δ狼當(dāng)前所在的位置矢量,X(t)是當(dāng)前ω狼所在的位置矢量,X(t+1)是更新后的ω狼所在的位置矢量,C1、C2、C3分別是圍繞α、β及δ狼搜索時(shí)的權(quán)值,C值小,在對(duì)應(yīng)的領(lǐng)導(dǎo)層蒼狼周圍小范圍內(nèi)執(zhí)行搜索,C越大,則在對(duì)應(yīng)領(lǐng)導(dǎo)層蒼狼周圍越大范圍內(nèi)執(zhí)行搜索。D用來計(jì)算ω狼到α、β及δ三領(lǐng)導(dǎo)層狼之間的距離,又用A來體現(xiàn)相應(yīng)距離D的權(quán)重。A相應(yīng)取值范圍為[-1,1],A與C 的通用計(jì)算 A=2a·r1-a,C=2·r2,r1、r2是[0,1]范圍內(nèi)的隨機(jī)向量,a中的元素是隨迭代次數(shù)從2遞減到0的數(shù)。
在標(biāo)準(zhǔn)蒼狼優(yōu)化算法中,ω狼僅在α、β及δ狼的基礎(chǔ)上進(jìn)行搜索,一旦α、β及δ狼全部處于某一局部最優(yōu)附近的可行域時(shí),算法較容易陷入局部最優(yōu),而且算法中α、β及δ只有當(dāng)搜索狼的性能優(yōu)越時(shí)才會(huì)被動(dòng)地更新,這使得算法總體的開發(fā)與探索能力都不是很強(qiáng)。新的混合算法在GWO算法的基礎(chǔ)上吸收進(jìn)α、β及δ狼的自主搜索、性能較差的搜索狼淘汰重組機(jī)制及部分優(yōu)秀搜索狼按概率變異等算子,以提升算法的開發(fā)與探索能力。這里所說的性能好壞是依據(jù)蒼狼位置矢量求出來的性能值的好壞來衡量的,例如在求最小值問題中,如果某蒼狼位置矢量代入問題中求得的解值越小,即認(rèn)為其性能值越小,則該蒼狼性能越優(yōu)越。
自主搜索算子又被稱為主動(dòng)捕獵(Preying initiatively)[16]算子,指狩獵者在其可視范圍內(nèi)自主進(jìn)行捕獵,其計(jì)算算子為:
式中x(i)是當(dāng)前狩獵者的第i維狀態(tài)的位置值,等號(hào)右邊的第二部分可以認(rèn)為是自主搜索的步長(zhǎng),其中λ是捕獵速度,r為可視范圍,rand()為[-1,1]間的隨機(jī)數(shù)。此算子又可以理解為在狩獵者周圍一個(gè)大小為λ×r的圓域范圍內(nèi)進(jìn)行隨機(jī)自主搜索,其中可視范圍r是一定值,與變量搜索范圍有關(guān)。為了更好地體現(xiàn)變量搜索范圍(xmax,xmin)與搜索步長(zhǎng)的關(guān)系,將自主搜索算子式(8)改為:
式(8)中的rand()項(xiàng)用式(9)中的正弦項(xiàng)替代,表示每只蒼狼在其周圍h個(gè)方向進(jìn)行自由搜索,式(9)中xid為第i只蒼狼的第d維狀態(tài)的位置值,為xid在第p個(gè)方向自主搜索后的位置值,其中 p=1,2,…,h,xmax、xmin分別為d維狀態(tài)變量的最大、最小取值,λ為搜索速度,通常可取為1,τ為步長(zhǎng)因子。τ越大表示搜索越細(xì)密,精度越高,但計(jì)算量也會(huì)越大,搜索效果進(jìn)展可能會(huì)越慢,所以一般自主搜索需要權(quán)衡τ的取值。
對(duì)性能較差的搜索狼提出淘汰重組機(jī)制,目的是優(yōu)化搜索資源,提高搜索效率[17]。重組算子如下:
優(yōu)秀搜索狼的變異行為算子的引入是為了進(jìn)一步全面擴(kuò)展算法的搜索域,采用按概率進(jìn)行的差分進(jìn)化變異,算法如下:
結(jié)合以上所述,給出混合蒼狼優(yōu)化算法的結(jié)構(gòu)如下:
步驟1初始化。
(1)隨機(jī)在搜索空間中產(chǎn)生alfa(α)、beta(β)、delta(δ)及omega(ω)群體。
(2)計(jì)算α_score、β_score、δ_score初始性能值。
(3)初始化自主捕獵方向數(shù)h、步長(zhǎng)因子τ、變異概率Pm等相關(guān)參數(shù)。
(4)G=l%迭代次數(shù)計(jì)數(shù)
步驟2越界判斷與處理。
步驟3根據(jù)具體的問題,求取各omega(ω)蒼狼的性能值。
If omega(ω)性能優(yōu)于alfa(α)、beta(β)或delta(δ)
omega(ω)替換alfa(α)、beta(β)或delta(δ)
else alfa(α)、beta(β)或 delta(δ)保持不變 end
步驟4 自主捕獵階段:alfa(α)、beta(β)、delta(δ)采用式(9)進(jìn)行自主捕獵行為。
步驟5按式(1)至式(7)更新omega搜索狼的位置。
步驟6優(yōu)秀狼差分變異階段。
(1)對(duì)性能優(yōu)良的R_num只搜索狼按公式(11)進(jìn)行差分變異
(2)貪婪選擇:If變異后的搜索狼優(yōu)于父代搜索狼
變異后代被保存else變異失敗 end
步驟7淘汰重組階段:對(duì)性能較差的搜索狼按式(10)進(jìn)行淘汰重組操作。
步驟8 IfG≥Gmax
結(jié)束運(yùn)行并輸出最優(yōu)解和最優(yōu)個(gè)體
else轉(zhuǎn)至步驟2 end
在這一章中把混合蒼狼優(yōu)化算法(MAR-GWO)應(yīng)用到13個(gè)標(biāo)準(zhǔn)全局最優(yōu)問題中,第一組為表1所示單峰尋優(yōu)問題;第二組為表2所示多峰尋優(yōu)問題。把MARGWO分別與GWO算法、GWO-EPD算法、粒子群算法(PSO)及進(jìn)化算法(EA)進(jìn)行比較,最大迭代次數(shù)均為500次,每個(gè)實(shí)驗(yàn)重復(fù)30次。所有實(shí)驗(yàn)中各算法的參數(shù)取值均一致,如表3所示。
表4為單峰函數(shù)的數(shù)值尋優(yōu)結(jié)果,表中AVE為30次重復(fù)實(shí)驗(yàn)得到的平均尋優(yōu)值,STD為標(biāo)準(zhǔn)偏差,BEST為重復(fù)實(shí)驗(yàn)中的最佳尋優(yōu)值,WORST為最差尋優(yōu)值,多峰問題尋優(yōu)結(jié)果的符號(hào)表述與此相同。在實(shí)驗(yàn)過程發(fā)現(xiàn)從 f1~f4,MAR-GWO算法均能100%找到其理論最優(yōu)值0,這相對(duì)于其他算法來說其尋優(yōu)能力占有明顯的優(yōu)勢(shì)。雖然 f5和 f6的結(jié)果在所對(duì)比的算法中不是最優(yōu)的,但其實(shí)驗(yàn)結(jié)果明顯優(yōu)于標(biāo)準(zhǔn)的GWO算法。圖1給出了GWO、MAR-GWO、GWO-EPD、PSO及EA五種算法在單峰函數(shù)尋優(yōu)迭代過程中最優(yōu)軌跡圖。從軌跡圖來看,對(duì)于 f1~f4的結(jié)果圖來說,始終未見MAR-GWO的軌跡曲線,這是由于MAR-GWO在 f1~f4中的尋優(yōu)過程中收斂過快引起的。由于其收斂速度非???,以至于在橫坐標(biāo)為500時(shí)迭代次數(shù)過小而不容易顯示清楚,放大后的軌跡圖如圖2所示。從圖2看,f1~f4基本在第2次迭代就已得到了理論最優(yōu)值0,這充分說明了混合蒼狼優(yōu)化算法MAR-GWO具有很強(qiáng)的尋優(yōu)能力。需說明的是圖1的縱坐標(biāo)為以10為底的對(duì)數(shù)坐標(biāo),橫坐標(biāo)為線性坐標(biāo)。
表1 單峰標(biāo)準(zhǔn)函數(shù)
表2 多峰標(biāo)準(zhǔn)函數(shù)
表3 算法參數(shù)取值說明
表2中各函數(shù)維數(shù)都為30維,難點(diǎn)在于避免進(jìn)入局部最優(yōu)。表5為多峰函數(shù)尋優(yōu)數(shù)值結(jié)果,對(duì)于 f8~f11,MAR-GWO算法尋優(yōu)結(jié)果具有較明顯的優(yōu)勢(shì),尤其對(duì)于f9~f11,在實(shí)驗(yàn)中MAR-GWO基本是100%能尋到其理論最佳值0,這一點(diǎn)通過尋優(yōu)軌跡圖(圖3)也可看出。在圖3中,f9~f11的軌跡曲線中又不見MAR-GWO的曲線,這與前面一樣,說明該算法在此函數(shù)尋優(yōu)過程中收斂相當(dāng)快,穩(wěn)定性好。雖然在 f12~f13的尋優(yōu)中,MARGWO不是最優(yōu),但其尋優(yōu)結(jié)果顯然都要優(yōu)于標(biāo)準(zhǔn)
GWO,這在一定程度上說明MAR-GWO改進(jìn)的方向是正確的。另外,對(duì)于 f8與 f10的MAR-GWO尋優(yōu)軌跡基本都在左下角與坐標(biāo)軸重疊處,這也意味著算法收斂速度很快。
表4 單峰尋優(yōu)結(jié)果
圖1 單峰標(biāo)準(zhǔn)函數(shù)尋優(yōu)實(shí)驗(yàn)迭代軌跡圖
圖2 f1~f4放大后的迭代軌跡圖(MAR-GWO)
表5 多峰函數(shù)尋優(yōu)結(jié)果
圖3 多峰標(biāo)準(zhǔn)函數(shù)尋優(yōu)實(shí)驗(yàn)迭代軌跡圖
圖4 搜索方向數(shù)h對(duì)控制算法的影響分析
本章只研究自主捕獵中的兩個(gè)比較重要的參數(shù)(步長(zhǎng)因子τ與搜索方向數(shù)h)對(duì)控制算法性能的影響。
把步長(zhǎng)因子設(shè)定在2 000到20 000之間,以間隔2 000為步長(zhǎng)進(jìn)行測(cè)試,在每個(gè)步長(zhǎng)確定的情況下進(jìn)行30次重復(fù)試驗(yàn),記錄4個(gè)函數(shù)的平均值,共測(cè)試得到10個(gè)數(shù)據(jù)點(diǎn),列表如表6。
表6 步長(zhǎng)因子τ的影響分析
如果不考慮計(jì)算機(jī)的計(jì)算能力有限,理論上增加步長(zhǎng),即可增加算法的開發(fā)深度,但事實(shí)上,從實(shí)驗(yàn)所得的數(shù)據(jù)來分析,步長(zhǎng)τ增加的過程中,其最優(yōu)平均值的變化并不是按照單一的方向進(jìn)行增加或減少,而是在迂回振蕩,不同的問題由于變量取值范圍不同,最佳的步長(zhǎng)因子τ也不一樣。經(jīng)分析 f4與 f12的最佳步長(zhǎng)因子τ大約為12 000,而 f5與 f10的最佳步長(zhǎng)因子τ大約為10 000。
一般,h對(duì)算法的影響規(guī)律:h越小開發(fā)能力越強(qiáng),但其探索能力相應(yīng)減弱;h越大則算法的開發(fā)能力變?nèi)醯涮剿髂芰?huì)相應(yīng)地加強(qiáng)。所以在調(diào)試算法參數(shù)時(shí)需選擇合適的h值。圖4以 f5、f7、f12為例,通過改變搜索方向數(shù)h來研究MAR-GWO優(yōu)化算法的性能。f5、f7為單峰函數(shù),f12為多峰函數(shù),從大體上來看h對(duì)單峰函數(shù)的性能影響規(guī)律更明顯些,從圖4大致可以得知,f5的最佳h約在20附近,f7可以近似認(rèn)為h最佳值在20~2 dim附近,但 f12則似乎不只顯示一個(gè)最佳值,在h為10 dim與3 dim處出現(xiàn)了明顯的相差不遠(yuǎn)的谷值,這可以歸為算法在多峰問題中開發(fā)與探索能力兩方面的均衡結(jié)果。
考慮到提高算法開發(fā)與探索能力,針對(duì)標(biāo)準(zhǔn)GWO算法,引入了α、β、δ領(lǐng)導(dǎo)層蒼狼的自主捕獵算子、對(duì)性能較差蒼狼的淘汰重組機(jī)制及優(yōu)秀蒼狼按概率變異算子,最終提出了一種混合蒼狼優(yōu)化算法,即MAR-GWO算法。以高維13個(gè)標(biāo)準(zhǔn)函數(shù)作為尋優(yōu)對(duì)象,并把改進(jìn)的GWO算法(GWO-EPD)、PSO算法、EA算法等作為比較算法,分別進(jìn)行了數(shù)值尋優(yōu)實(shí)驗(yàn)。相比于標(biāo)準(zhǔn)GWO算法,MAR-GWO尋優(yōu)效果均優(yōu)越得多,提高了算法克服局部最優(yōu)的能力。另外,從各函數(shù)軌跡圖來看,MAR-GWO收斂速度要較標(biāo)準(zhǔn)GWO快得多。與改進(jìn)后的算法GWO-EPD的結(jié)果相比,優(yōu)勢(shì)也很明顯,MARGWO具有很強(qiáng)的競(jìng)爭(zhēng)力。
步長(zhǎng)因子τ與搜索方向數(shù)h對(duì)控制算法的性能有一定的影響,對(duì)于性能要求不是太高的場(chǎng)合,一般取τ=2 000~6 000,h=20~50之間的某定值可滿足要求,否則需具體問題具體確定其參數(shù)值。