
















摘要:灰狼算法(GWO)在大工業復雜的優化問題求解中存在許多不足之處,如容易陷入局部最優解、收斂速度慢、最優解精度低等缺點,由此提出一種改進的灰狼優化算法.在灰狼算法的基礎上,通過引入非線性參數和新的位置迭代更新方程,構建一種基于非線性策略的灰狼優化算法,并通過軟件實現算法.通過8個標準測試函數在多維度下的數值對比實驗和一個工程設計優化問題求解,分析驗證算法的穩定性和優越性,并證明其性能均優于原有的GWO系列算法,是一種具有潛力的元啟發式算法.
關鍵詞:優化算法;啟發式算法;群體能算法;灰狼優化器;非線性策略
中圖分類號:O224 文獻標志碼:A 文章編號:1001-8395(2024)04-0537-11
doi:10.3969/j.issn.1001-8395.2024.04.011
灰狼算法(graywolfoptimization,GWO)是Mir-jalili等[1]研究灰狼的等級制度和狩獵機制并受啟發得到的一種優化算法.相比于其他群體智能算法,GWO具有兩個特點:一是每只狼劃分的等級不同,采用不同等級的灰狼與獵物的距離提高算法本身全局搜索能力;二是獨特的狩獵機制影響它們對獵物的識別和圍捕,引入線性參數加快算法的收斂速度.但是GWO算法存在收斂速度慢、求解精度低并且易陷入局部最優解等問題.諸多改進的灰狼優化器目前已能提供接近最優解的方案,然而仍然存在過早收斂、面對復雜問題時收斂精度不高且收斂速度不夠快等問題.針對這些GWO算法存在的問題,有研究者提出了許多調整策略[29]:
1)初始化種群策略.傳統GWO算法的種群采取隨機設定的方式,如果先生成初始階段的灰狼種群,就會導致灰狼種群缺乏多樣性,限制算法搜索靈活性.
2)修改控制參數策略.在GWO算法中收斂因子a和系數向量A是兩個重要的控制參數,直接影響算法全局搜索與局部精確開發的平衡,其中,A由參數r和a決定.先后有很多研究通過非線性調整參數a來修正A,如:mGWO是文獻[2]利用指數衰減函數改善勘探與開發之間的平衡;文獻[3]新開發的灰狼算法(SGWA),對非線性行為的雙層網格優化問題進行了探討,提出一種高效的優化算法來實現優化任務;文獻[4]通過用于對齊多個分子序列的并行GWO技術,縮短了算法的計算時間;文獻[5]提出了基于模糊的GWO和聚合算法以及基于模糊的改進離散GWO和聚合(FMDGWOA)算法,通過局部信息聚合實現圖像分割等;文獻[6]引入準對立灰狼優化算法解決電力系統的負荷頻率控制問題(LFC),加快了收斂速度并且降低了計算的復雜程度.
3)修改位置更新公式.傳統GWO算法后期個體靠近頭狼所在最優區域,缺乏其他信息支撐而只能自主搜索,易陷入局部早熟收斂.為此,有研究提出位置更新公式修改策略,如:文獻[7]通過GWO與增加的變異和交叉算子雜交以提高性能,解決了4個經濟調度問題,提高了收斂速度;文獻[8]通過采用包括有效的正弦截斷函數和基于對立的學習概念2種數學框架,提升了算法的開發性和探索;文獻[9]提出了一種具有拓撲結構的灰狼優化器,每只狼都有自己的拓撲鄰居,灰狼之間的交互僅限于他們的鄰居,且鄰居間的重疊信息擴散機制可以讓種群多樣性維持更長時間.
本文提出非線性控制參數和位置更新混合改進灰狼優化算法(EG-GWO).新的非線性控制參數為算法迭代提供了一種新的搜索方式,提高了算法的搜索能力;新的位置更新方程通過賦予新的權重及結合群體最優和個體最優的方式,從而平衡算法的勘探和開發能力,以達到避免陷入局部最優的效果.
通過多組數值實驗結果表明,EGGWO可有效改善GWO收斂慢、精度低等缺陷,并將結果與近3年來GWO系變體算法如RWGWO[10]、I-GWO[11]和SO-GWO[12]作對比,結果表明EG-GWO算法的性能優于其他同類型算法.此外,將新提出的調整策略與其他群體智能算法如粒子群優化算法(PSO)[13]、差分進化算法(DE)[14]、鯨魚優化算法(WOA)[15]和麻雀搜索算法(SSA)[16]進行比較,EGGWO算法同樣更具有優勢.最后EGGWO算法用來解決壓力容器設計優化這一工程問題,仍有很好的表現.
1 灰狼優化器
灰狼優化器(GWO)來自灰狼的等級和狩獵制度的啟發,是一種群體智能進化算法.在算法的整個結構中,會根據狼的體力和領導力等因素,把狼群中的個體分為4個等級(如圖1所示),也即初始種群有4種灰狼,自上而下分別為α、β、δ和ω,其中α狼是第一個最優解,β和δ分別為第二個和第三個最佳解決方案,其余的每個個體為ω狼,自上而下優勢逐次遞減.在GWO算法中主要包括3個步驟:包圍、狩獵和攻擊.
灰狼在狩獵過程中,首先判斷灰狼與獵物之間的距離,計算公式為
D =|CXp(t)-X(t)|, (1)
其中,D為灰狼與獵物之間的距離,C為系數向量,t為當前迭代次數,Xp(t)為獵物的位置向量,X(t)為灰狼的位置向量.
灰狼判斷出與獵物之間的距離后,根據距離按照(2)式對自己的位置更新,即
X(t+1)=Xp(t)-AD, (2)
其中,A為系數向量,X(t+1)為灰狼位置更新后的位置向量.A用來判斷GWO算法是進行全局搜索還是局部搜索:當|A|<1時,灰狼會選擇攻擊獵物;當|A|>1時,灰狼會放棄攻擊當前目標,繼續搜索其他目標.C為獵物提供隨機權重,進而模擬自然界中灰狼捕獵的障礙,防止灰狼過早接近獵物.同時,它使灰狼在一定范圍內進行隨機搜索,避免GWO算法陷入局部最優,向量A和C的計算表達式如下:
其中,r1和r2為[0,1]中的隨機向量,a∈[0,1]為灰狼的攻擊范圍,T為迭代的總次數.
灰狼有能力識別獵物并將其包圍進行狩獵.狩獵通常由α狼領導,β和δ也可能參與.然而在抽象的搜索空間中,我們并不知道最佳獵物的位置,于是為了數學形式上模擬灰狼的狩獵,假設α為最佳候選解,β和δ對獵物的位置有更好的定位.因此,保存了到目前為止獲得的前3個最優解,并指引ω狼估計獵物的位置,然后使整個狼群向獵物接近,從而狩獵成功.計算步驟如下:
其中,Dα、Dβ和Dδ分別表示當前α、β和δ灰狼中個體與之間的距離,C1、C2和C3分別表示當前α、β和δ的搜索范圍,A1、A2和A3為系數,X1、X2和X3分別表示灰狼個體受α、β和δ影響后的移動.
2 改進的灰狼算法(EGGWO)
種群多樣性是指種群中各個體之間的差異性,對算法的探索能力和開發能力具有重要影響.通常,種群多樣性的缺失會造成過度開發,引發早熟收斂問題;而過量的種群多樣性又會造成過度探索,從而導致停滯問題.從種群多樣性的角度來說,較高的種群多樣性可以防止早熟收斂,而較低的種群多樣性可以防止停滯[17].在經典的GWO算法中,每個個體灰狼ω會向領頭狼α、β和δ狼移動,它們的移動沒有其他信息作為支撐,就無法判斷是否陷入局部最優,同時也使算法在迭代過程中失去多樣性[18],這樣也降低了算法的收斂速度,因此會導致算法過早收斂.為使算法在保持種群多樣性的同時保證算法收斂速度和精度,改進的非線性控制參數策略使算法在尋找全局最優時種群多樣性得到保證;改進的位置更新方程可使算法在快速收斂的同時保證收斂精度.本節詳細介紹了本文提出的EGGWO算法.
2.1 基于指數函數的非線性控制參數
在群體智能算法中,探索能力是指在解空間中搜索各種未知區域以確定全局最優解的能力.開發能力指的是應用先前令人滿意的解決方案的知識來找到更好的解決方案[19].通過種群多樣性的保持和控制來平衡探索能力和開發能力已成為智能算法改進領域的研究熱點[1920],并且這種平衡對于優化算法尤其重要.在標準GWO算法中,通過調整控制參數a的取值來平衡算法的探索能力和開發能力,具體做法是在迭代過程中,a的值由2線性減少到0.在迭代早期,較大的a能夠獲得較大的搜索步長,有助于提升算法的全局探索能力,避免算法過早收斂[1].在迭代后期,較小的a能夠使灰狼的搜索范圍更集中,提升算法的開發能力,可以使算法更快收斂.但由于GWO算法的搜索過程是非線性的且極其復雜,因此a的線性遞減不能真正反映算法的實際搜索過程.本文提出一種新的非線性調整策略,將控制參數a的值定義為
其中,ab和ae表示控制參數a的初始值和終止值,ab=2,ae=0,t表示當前迭代次數,T表示最大迭代次數.
在經典的GWO算法中,迭代次數的一半用于最優解的探索階段,另一半用于最優解的開發階段.但是過量的種群多樣性又會造成過度探索,從而導致停滯,于是就不會獲得滿意的優化結果.然而,對搜索空間的過度開發可以提升找到最優解的概率,并加快收斂速度(如圖2所示).這里,使用指數函數來降低a的值,在迭代過程中,用于探索階段和開發階段的迭代次數分別占總次數的41.5%和58.5%.
2.2 位置更新方程
通過經典的GWO算法中灰狼位置更新方程的表達式,不難看出GWO算法位置更新方程僅考慮了個體當前位置信息和群體歷史最優位置信息,并且由群體歷史最優位置Xα(t)進行引導搜索.因此,標準GWO算法具有較好的開發能力,但忽略了其全局探索能力,在進行多峰值優化問題求解時易陷入局部最優.另外,可以看出無論X1、X2和X3取值如何,都在均勻影響著ω的位置更新.但事實上,α、β和δ的體力、領導力等因素各不相同,其產生的影響力也應該不同.基于以上原因,本文對位置更新方程定義為
其中,b1和b2分別表示灰狼群體最優位置和灰狼個體最優位置系數,由系統隨機生成,且b1,b2∈(0,1];r1和r2表示[0,1]中的隨機向量;Xbest表示灰狼個體的最佳位置;Xi表示灰狼中隨機選擇的灰狼個體的位置向量.
由(14)式可以看出,方程等號右邊第1項的權重系數發生了變化,可根據α、β和δ的能力大小對位置產生不同程度的影響并賦予不同的權重;其次,增加了等式右邊第2項中的個體最佳位置信息,并隨機賦予權重,其目的是模擬最優灰狼在靠近獵物時,隨機判斷與獵物之間位置并提供下一步行動的趨勢,也即進一步增強算法的開發能力;最后,通過b1和b2進行算法的全局探索能力和開發能力的平衡調節,避免過早收斂或陷入局部最優.下面分別給出EGGWO算法的流程圖(圖3)和執行偽碼.
算法1 EGGWO算法
Input:種群規模N,維度Dim,最大的代次數T,隨機初始化灰狼種群.
1)隨機初始化灰狼種群;
2)初始化A、C和a;
3)計算灰狼個體適應度;
4)尋找首個Xα(t)、Xβ(t)和Xδ(t);
5)while(t<T);
6)計算每個種群的適應度函數值;
7)for1:N;
8)由(13)式更新參數a
9)由(3)和(4)式更新參數A和C;
10)更新最優Xα(t)、Xβ(t)和Xδ(t);
11)由(14)式更新灰狼位置;
12)endfor;
13)t=t+1;
14)endwhile.
Output:最優解Xbest,最優適應度f(Xbest).
3 實驗與驗證分析
3.1 基準函數和測試算法
為測試本文提出的改進算法的有效性,本節在維度為10、30和100的基準函數上分別進行測試.等比例選取常用的8個測試函數進行測試,其中:單峰函數Sphere、Schwefel’sProblem、Schwefel’sProblem2.21和QuarticFunctioni.e.Noise,后文分別簡稱為F1、F2、F3 和F4;多峰函數GeneralizedRastrigin、Ackley、GeneralizedGriewank和GeneralizedPenal-ized,后文分別簡稱為F5、F6、F7 和F8.將本文提出的EG-GWO算法與近幾年開發的GWO系改進算法進行對比.同時,與應用廣泛的經典智能算法,如:GWO、PSO、WOA、DE和SSA進行對比.基準函數如表1所示.
實驗環境:64位Win10操作系統、Intel(R)Core(TM)i76700HQCPU@ 2.60GHz在8GB內存上執行.實驗平臺:Python3.10.通用實驗條件設置為:空間維度30,種群規模30,最大迭代次數1000,獨立運行次數20.
3.2 EGGWO與GWO系改進算法對比試驗
為進一步驗證本文提出的兩個調整策略對GWO算法性能改善的效果,以灰狼算法和其改進算法(RW-GWO、I-GWO、SO-GWO)為對比進行實驗.對比算法的結果數據均取自于相應文獻,并且根據相應文獻參數設計代碼進行實驗,最終得到對比的測試實驗數據(表2).
分析表2可知,在算法對測試函數的優化過程中,單峰函數中:EG-GWO無論是在平均值還是標準差的對比中,其收斂精度均高于RW-GWO、I-GWO和SO-GWO,同時最接近函數的理論最優值.多峰函數中:對于F5 和F7,EG-GWO、RW-GWO、I-GWO和SO-GWO均能夠收斂至理論最優值.本文提出的改進算法的尋優速度和精度明顯有效且對于經典GWO算法有所改善,同時EG-GWO與其余3種最新的改進算法均能跳出局部干擾并精準捕獲全局最優值.對于F6,EG-GWO的求解精度相比GWO有了較大的提升.對于F8,EG-GWO無論是平均值還是標準差同比GWO均提升較大,且在同類型的優化算法中都具有較大的優勢,尤其最接近理論最優值.以上結果表明,2種策略組合形成的EG-GWO對單/多峰函數均有較強的處理能力,增強了原始算法的搜索效率和提升了逃逸局部最優的概率,且在有限適應度評估次數內在同系改進算法中具有競爭力.
3.3 EGGWO與其他元啟發式算法對比實驗
選取灰狼優化算法(GWO)、粒子群優化算法(PSO)、麻雀搜索算法(SSA)、鯨魚優化算法(WOA)和差分進化算法(DE)從3種維度進行仿真對比實驗.算法參數設置參照文獻[1,13-14,16],具體設置如表3所示.不同維度情形下的實驗結果見表4.
由表4可知,在不同維度下,每個算法對測試函數的優化效果都有各自的特點,但本文提出的EG-GWO算法在多數測試函數上性能較為優異,說明EG-GWO的普適性勝過對比算法.同時,隨著搜索空間擴張,5種算法求解精度均有不同程度損失,而EG-GWO有效地克服了空間復雜度增加帶來的搜索難問題,仍維持較高的尋優精度,表明EG-GWO局部極值規避和全局探索能力總體強于對比算法,兼備高維可擴展性.
3.4 EG-GWO收斂性分析
本節在30維搜索空間中追蹤并記錄6種算法每次迭代后獲得的最優適應度,通過對比變化曲線分析其收斂性能,圖4展示了20次實驗的平均收斂曲線.對于單峰函數,EG-GWO能高速搜尋解空間且在中后期捕捉到最優解;對于多峰函數,EGGWO前期仍保持快速探索,后期成功逃逸個別局部極值收斂至比其他算法更優的目標值.總體表現說明,EG-GWO較好地兼顧了收斂速度和收斂精度,并且有效緩解了早熟收斂問題.
4 壓力容器設計優化應用
壓力容器設計(pressurevesseldesign,PVD),其目的旨在滿足生產需求的同時使其總費用(目標函數)最少.圖5為壓力容器的設計示意圖及所需考慮的參數,其中4個設計變量分別為:x1表示內半徑(R)、x2表示忽略頭部的圓柱形截面長度(L)、x3表示外殼厚度(Ts),x4 表示封頭厚度(Th).數學模型[2122]為:
minf(x)=0.6224x1x3x4 +1.7781x2x23+3.1661x21x4 +19.84x21x3,
為了驗證本文提出的改進算法對壓力容器設計問題的應用性能,將EG-GWO算法對壓力容器優化得到的實驗數據與該優化問題已有數據進行比對,為盡量保證對比實驗的客觀性,其中部分數據來自文獻[2122].
觀察表5可知,EGGWO算法在眾多的算法中有明顯的優勢,在解決壓力容器設計優化問題中能得到更優的解,也即從工程算例這一角度驗證了EGGWO算法的可行性和有效性.
5 結論
本文在前人的基礎上提出了一種改進的灰狼算法,即非線性調整策略的灰狼算法.該方法通過對控制參數和位置更新方程的調整,來實現對算法的改進.采用各類基準測試函數對比,發現該算法在探索、開發、避免局部最優和收斂方面的性能相較于前人開發的群體智能算法具有高度的競爭力.首先,對比了單峰函數,展現出EGGWO算法的優越性;其次,通過對多模態函數實際測試,結果證實了EGGWO算法的探索能力.
最后,對EGGWO算法的收斂性進行了分析,并應用于工程問題,也證實了該算法擁有較高的收斂精度和較快的收斂速度,具有較好的工程應用前景.
參考文獻
[1]MIRJALILIS,MIRJALILISM,LEWISA.Greywolfoptimizer[J].AdvancesinEngineeringSoftware,2014,69:46-61.
[2]MITTALN,SINGHU,SOHIBS.Modifiedgreywolfoptimizerforglobalengineeringoptimization[J].AppliedComputational IntelligenceandSoftComputing,2016,2016:1-16.
[3]GHOLIZADEHS.Optimaldesignofdoublelayergridsconsideringnonlinearbehaviourbysequentialgreywolfalgorithm[J].InternationalJournalofOptimizationinCivilEngineering,2015,5(4):511-523.
[4]JAYAPRIYAJ,AROCKM.AparallelGWOtechniqueforaligningmultiplemolecularsequences[C]//IEEE.2015International ConferenceonAdvancesinComputing,CommunicationsandInformatics.Kochi:IEEE,2015.
[5]LILG,SUNLJ,KANGW,etal.Fuzzymultilevelimagethresholdingbasedonmodifieddiscretegreywolfoptimizerandlocal informationaggregation[J].IEEEaccess,2016,4:210-215.
[6]GUHAD,ROYPK,BANERJEES.Loadfrequencycontroloflargescalepowersystem usingquasioppositionalgreywolf optimizationalgorithm[J].EngineeringScienceandTechnology,2016,19(4):1693-1713.
[7]JAYABARATHIT,RAGHUNATHANT,ADARSHBR,etal.Economicdispatchusinghybridgreywolfoptimizer[J].Energy,2016,111:630-641.
[8]SAXENAA,SONIBP,KUMARR,etal.Intelligentgreywolfoptimizerdevelopmentandapplicationforstrategicbiddingin uniformpricespotenergymarket[J].AppliedSoftComputing,2018,69:1-13.
[9]LUC,GAOLA,YIJ.Greywolfoptimizerwithcellulartopologicalstructure[J].ExpertSystemswithApplications,2018,107:89-114.
[10]GUPTAS,DEEPK.Anovelrandomwalkgreywolfoptimizer[J].SwarmandEvolutionaryComputation,2019,44:101-112.
[11]NADIMISHAHRAKIMH,TAGHIANS,MIRJALILIS.Animprovedgreywolfoptimizerforsolvingengineeringproblems[J].ExpertSystemswithApplications,2021,166:113917.
[12]DHARGUPTAS,GHOSHM,MIRJALILIS,etal.Selectiveoppositionbasedgreywolfoptimization[J].ExpertSystemswith Applications,2020,151:1133894.
[13]汪在榮,張文鳳.一種基于成對粒子的粒子群優化算法[J].四川師范大學學報(自然科學版),2018,41(6):840-846.
[14]林秀麗,李均利,田竟民,等.基于卷積神經網絡的算法選擇研究[J].四川師范大學學報(自然科學版),2022,45(6):830-838.
[15]JAFARIM,CHALESHTARIMHB,KHORAMISHADH,etal.Minimizationofthermalstressinperforatedcompositeplate usingmetaheuristicalgorithmsWOA,SCAandGA[J].CompositeStructures,2023,304:116403.
[16]DUANMG,YANGZG,ZHAOY,etal.Wavefrontshapingusingimprovedsparrowsearchalgorithmtocontrolthescattering lightfield[J].Optics&LaserTechnology,2022,156:108529.
[17]YANGM,LICH,CAIZH,etal.Differentialevolutionwithautoenhancedpopulationdiversity[J].IEEETransactionson Cybernetics,2015,45(2):302-315.
[18]AL-BETARMA,AWADALLAHMA,FARISH,etal.Naturalselectionmethodsforgreywolfoptimizer[J].ExpertSystems withApplications,2018,113:481-498.
[19]REPINEKM,LIUSH,MERNIKM.Explorationandexploitationinevolutionaryalgorithms:asurvey[J].ACMComputing Surveys,2013,45(3):1-33.
[20]LINL,GENM.Auto-tuningstrategyforevolutionaryalgorithms:balancingbetweenexplorationandexploitation[J].Soft Computing,2009,13(2):157-168.
[21]CHOPRAN,ANSARIM M.Goldenjackaloptimization:anovelnatureinspiredoptimizerforengineeringapplications[J].ExpertSystemswithApplications,2022,198:116924.
[22]ABUALIGAHL,DIABATA,MIRJALILIS,etal.Thearithmeticoptimizationalgorithm[J].ComputerMethodsinApplied MechanicsandEngineering,2021,376:113609.
(編輯 陶志寧)
基金項目:四川省科技創新苗子工程資助項目(2022034)和成都市國際合作項目(2020-GH02-00023-HZ)