張 軍,代永強,施秋紅
(1.甘肅農(nóng)業(yè)大學信息科學技術學院,甘肅 蘭州 730070;2.甘肅農(nóng)業(yè)大學信息網(wǎng)絡中心)
灰狼優(yōu)化算法[1(]grey wolf optimization,GWO)是Mirjalili 等人于2014 年提出的一種群體智能算法,通過模擬自然界中灰狼的領導層級和狩獵機制,采用搜索、包圍和追捕攻擊等群體行為,實現(xiàn)目標的優(yōu)化,具有參數(shù)少、結構簡單、易于實現(xiàn)等優(yōu)點,該算法廣泛應用于路徑規(guī)劃[2]、工程設計[3]、輔助醫(yī)學圖像分析[4]、廣域電力系統(tǒng)穩(wěn)定器[5]等方面。
雖然GWO 已經(jīng)在工程和科學領域得到了廣泛應用,但該算法仍存在一些缺點,如尋優(yōu)精度低、缺乏多樣性、探索和開發(fā)的不平衡以及在處理大規(guī)模問題中易過早收斂。針對以上問題,專家學者們提出了許多改進方法,如朱海波等[6]將差分進化與優(yōu)勝劣汰混合策略加入算法中,提高了GWO 算法運算前期的探索能力和后期的開發(fā)能力。劉成漢等[7]為了提高算法的收斂精度,引入了改進的鯰魚效應策略,以保證種群活力。王敏等[8]通過對當前群體中最優(yōu)個體進行Rosenbrock 局部搜索,增強了GWO 算法的局部搜索能力并加快收斂速度。張悅等[9]利用自適應調整策略來控制參數(shù)調整和位置更新,提高了算法的收斂速度。Saremi 等[10]將動態(tài)進化種群(evolutionary population dynamics,EPD)算子引入GWO 算法,加快了算法收斂速度,增強了局部搜索能力。Zhu 等[11]將GWO 算法與差分進化算法結合,利用差分進化算法強大的搜索能力使GWO及時跳出停滯,提高了算法收斂速度。
基于以上分析,本文提出一種改進的灰狼優(yōu)化算法(dynamic approach gray wolf optimizer,DAGWO)。首先,為灰狼個體增加直接跟隨最優(yōu)頭狼攻擊獵物的行為方式,從而增加其捕獲獵物的機會,以提升算法的收斂速度和尋優(yōu)精度。其次,提出基于停滯檢測的隨機初始化策略,以增加種群多樣性,從而提高跳出局部最優(yōu)的能力。
DAGWO 算法在每一次迭代中,群體中最優(yōu)個體稱為α狼,次優(yōu)個體稱為β狼,第三優(yōu)個體稱為δ狼,剩余個體稱為ω狼。狩獵過程中,ω狼接受α、β、δ狼的領導向獵物位置靠近。狼群的捕獵行為分為跟蹤、包圍和攻擊獵物三個階段。灰狼群體逐漸接近并包圍獵物的數(shù)學模型如公式⑴所示:
其中,t為當前迭代次數(shù);為第t次迭代時獵物的位置;x(t+1)為第t+1 次迭代時灰狼的位置;A和C為系數(shù)向量。當|A|<1 時,狼群攻擊獵物,當|A|>1 時,狼群尋找獵物。A和C的定義分別為:
其中,r1和r2為[0,1]之間的隨機數(shù),a稱為收斂因子,其隨迭代次數(shù)增加從2線性減小到0,即:
⑷式⑷中,tmax為最大迭代次數(shù)。狼群中其他灰狼個體根據(jù)α、β、δ狼的位置xα、xβ、xδ來更新各自的位置:
x(t+1)即為灰狼個體根據(jù)α、β、δ狼位置信息調整后的更新位置。迭代完成后,xα即為所求獵物位置。
在標準GWO 算法中,首先,由于ω狼在狩獵過程中向三只頭狼(α、β、δ狼)所圍成的區(qū)域移動,而不是向獵物最有可能的位置即α狼所在位置移動,因此并不能最快速的沖向獵物發(fā)起攻擊,導致算法的收斂速度變慢。其次,在尋優(yōu)后期,灰狼群體逐漸聚集于α、β、δ狼所確定的位置周圍,有可能陷入小范圍優(yōu)化而導致算法無法求出目標函數(shù)的全局最優(yōu)值。為解決上述問題,提出兩種策略來改進GWO算法:
⑴提出一種新的ω狼位置移動策略,使得ω狼能夠直接向獵物靠近。
⑵提出一種基于停滯檢測的隨機初始化策略,避免算法陷入局部最優(yōu)。
DAGWO 算法中,增加ω狼直接跟隨α狼,向獵物位置發(fā)起攻擊或堵截的行為,以提高算法的收斂速度。改進策略的數(shù)學模型如下:
其中,r3,r4為[0,1]之間的隨機數(shù),F(xiàn)為控制搜索方向參數(shù),隨機取值為-1或1。xt為第t次迭代時ω狼的位置,為第t次迭代時α狼的位置,K 為卡方分布隨機數(shù),本文取值6。M 為一個控制系數(shù),用來控制跟隨α狼進行捕獵的ω狼數(shù)量,當M=0.2,表示有20%的ω狼會跟隨α狼攻擊獵物。x(t+1)為更新后的ω狼位置。式⑻中,當r4
灰狼個體與理論最優(yōu)值的歐式距離(d)反映了整個種群與理論最優(yōu)值的聚集程度。當d 較小時,表明整個種群聚集程度高,如果d迅速變小,則種群迅速聚集。本文采用GWO 和DAGWO 優(yōu)化同一函數(shù),記錄迭代過程中d 的變化,圖1 顯示DAGWO 算法的迭代過程種群迅速聚集,而GWO 算法的迭代過程聚集過程緩慢,且d值遠高于DAGWO 算法。因此,本文提出的ω狼位置移動策略能夠顯著提高算法的收斂速度。

圖1 種群聚集程度
標準GWO 算法尋優(yōu)至中后期時,整個灰狼種群都趨向α、β、δ狼所在區(qū)域移動,一旦頭狼陷入局部最優(yōu),就會使整個狼群陷入局部最優(yōu),從而導致算法出現(xiàn)停滯,無法探索更多區(qū)域。因此,需要對部分個體位置進行劇烈變動,尋找新的位置,帶動整個種群跳出局部最優(yōu)。本文提出一種基于停滯檢測的隨機初始化策略,在迭代過程中當適應度的變化率小于設定值時,則判定算法停滯,對種群個體進行隨機初始化。其中,適應度變化率計算公式表示如下:
其中,fcur表示當前迭代次數(shù)的最優(yōu)值,fbest表示當前迭代次數(shù)之前取得的全局最優(yōu)值。rate表示最優(yōu)值的變化程度,本文中取值10-5。當rate大于10-5則表明算法運行良好,不需要干預,反之當rate小于10-5時則表明算法停滯,需要對灰狼種群進行隨機初始化。基于停滯檢測的隨機初始化策略偽代碼如下:
其中,r5、r6為[0,1]之間的隨機數(shù),a,b為搜索空間的下限和上限表示隨機從灰狼中選擇一個個體將其位置進行重新初始化。R 為控制系數(shù),用來控制進行隨機初始化的灰狼的概率。如果rate<10-5,則表明算法陷入了停滯需要采取增加多樣性措施。ran是個隨機數(shù),當r5 DAGWO 算法的性能受到控制系數(shù)M 和R 的影響,需要謹慎選擇這些參數(shù)。為了分析它們的影響并選擇最佳組合,通過對CEC Composition Function 2(N=3)進行敏感性分析,在不同的M和R值組合下繪制了5 種場景,如表1 和圖2 所示。結果表明,當M=0.2,R=0.1 時適應度值最佳。因此,DAGWO 算法的最佳控制系數(shù)為M=0.2,R=0.1。 表1 M和R參數(shù)敏感性分析 圖2 參數(shù)M和R參數(shù)敏感性分析圖 DAGWO算法執(zhí)行步驟描述如下: 算法1:DAGWO算法 輸入:種群大小N,最大迭代次數(shù)max 輸出:最優(yōu)位置xα 本文所有仿真實驗均在CPU 為Inte(lR)Xeon(R)Gold 5118 CPU @ 2.30 GHz,內(nèi)存為16GB 的主機上開發(fā)和執(zhí)行。編程軟件為Python 3.7。所有算法設置相同的種群數(shù)量和迭代次數(shù),種群數(shù)量為30,迭代次數(shù)為500,搜索維度為30,以算法獨立運行30 次的適應度值的平均值(Mean)、標準差(Std)作為評價指標,統(tǒng)計結果中的最優(yōu)數(shù)據(jù)以加粗方式顯示。 為了驗證DAGWO 算法的有效性和優(yōu)勢,將DAGWO 算法與GWO 算法和其他參考文獻中改進的灰狼算法:AGWO[12]、MGWO[13]、I-GWO[14],以及其他三種著名智能算法:飛蛾撲火算法[15(]moth flame optimization,MFO)、多元宇宙優(yōu)化算法[16](multiverse optimizer,MVO)、樽海鞘群算法[17(]salp swarm algorithm,SSA)進行比較。選擇與文獻[18]相同的12 個基準函數(shù)測試算法的性能。測試函數(shù)如下:Sphere(f1)、Schwefel's problems 2.22(f2)、Generalized Rosenbrock's function(f3)、Quartic function with noise(f4)、Generalized Schwefel's problem 2.26(f5)、Generalized Rastrigin's function(f6)、Ackley's function(f7)、Generalized penalized function(f8)、Shekel's Foxholes function(f9)、Kowalik's function(f10)、Sixhump camel-back function(f11)、Branin function(f12)。其中f1-f4為多峰函數(shù),f5-f8為多峰函數(shù),f9-f12為為固定維度多峰函數(shù)。實驗中各算法的參數(shù)設置如表2所示。 表2 算法參數(shù)設置 3.2.1 求解精度分析 在元啟發(fā)式算法中,求解精度和收斂速度可以用單峰函數(shù)來衡量。因此,使用適應度值的平均值(mean)和標準偏差(std)來研究所提出算法的整體開發(fā)行為。表3 和表4 分別列出了DAGWO 與其他算法的測試結果。表3 中DAGWO 算法能在單峰測試函數(shù)f1、f2上找到最優(yōu)適應度值,表明ω狼位置移動策略能夠顯著提升DAGWO的開發(fā)能力。在函數(shù)f4上DAGWO的性能僅次于I-GWO。表4中,對于函數(shù)f1-f4,DAGWO算法的平均值和標準偏差都優(yōu)于其他三種算法。這些結果均表明ω狼位置移動策略可以有效提高DAGWO算法的求解精度和收斂速度。 表4 DAGWO算法與MFO、MVO、SSA算法測試結果對比 多峰函數(shù)(f5-f8)和固定維度多峰函數(shù)(f9-f12)具有多個局部最優(yōu)解,會導致算法陷入局部最優(yōu)。因此可用于評估算法的全局探索能力及跳出局部最優(yōu)的能力。表3 和表4 所列實驗結果表明DAGWO 算法在函數(shù)f5-f8上取得了有競爭力的結果。表3 表明DAGWO算法在函數(shù)f11-f12上取得了理論最優(yōu)值。表4表明,對于固定維多峰函數(shù)f9-f12,DAGWO 算法在其中3 個函數(shù)上的尋優(yōu)精度均優(yōu)于其他算法。 基于上述實驗結果,本文提出的DAGWO 算法采用的ω狼位置移動策略能夠有效地提升算法開發(fā)能力,提高尋優(yōu)精度;采用的基于停滯檢測的隨機初始化策略可以在一定程度上平衡算法開發(fā)和探索能力,在優(yōu)化多峰函數(shù)時能夠有效增強算法跳出局部最優(yōu)的能力,幫助算法獲得最優(yōu)值。 3.2.2 收斂曲線分析 為了驗證DAGWO 算法的收斂性能,以及跳出局部最優(yōu)的能力,本實驗列出了DAGWO 算法與其他智能算法基準測試函數(shù)迭代收斂曲線的對比圖(圖3)。限于篇幅限制,這里僅選取單峰函數(shù)f1、f3、f4,多峰函數(shù)f5、f7、f8,固定維度多峰函數(shù)f10、f11的收斂曲線對比圖。由圖3 可知,在單峰函數(shù)f1中,DAGWO 能夠快速收斂到理論最優(yōu)值且收斂速度大幅度領先,而其他算法均無法取得較好的收斂精度;在單峰函數(shù)f3、f4中,DAGWO 雖然未收斂到理論最優(yōu)值,但在迭代前期收斂速度均快于其他算法;在多峰函數(shù)f5、f7中,DAGWO能夠收斂到理論最優(yōu)值且具有較快的收斂速度。在固定維度多峰函數(shù)f10、f11中可以看出,相比其他算法DAGWO 具有更強的全局搜索能力。在函數(shù)f11中,GWO、DAGWO均收斂到了最優(yōu)值。 圖3 算法收斂曲線對比 綜上分析,DAGWO 算法在處理簡單的單峰函數(shù)時,在收斂精度及收斂速度上優(yōu)勢明顯,具有更優(yōu)的收斂精度;在處理多峰函數(shù)時也能夠跳出局部最優(yōu),獲得較好的收斂精度。 為驗證DAGWO 算法的實用性,通過經(jīng)典的工程應用優(yōu)化案例-減速器優(yōu)化設計問題,對DAGWO 算法進行測試。設置算法的種群數(shù)量為50,迭代次數(shù)為1000,以算法獨立運行30 次的最佳結果(包括最優(yōu)值和最優(yōu)設計變量)與人工峰群算法[19(]Artificial bee colony algorithm,ABC)、花斑鬣狗算法[20](Spotted hyena optimizer,SHO)、MGWO[21]算法、RW-GWO[22]算法、WF-GWO[23]算法、GWO 算法進行比較。為確保數(shù)據(jù)的準確性,相關算法數(shù)據(jù)均來自于原文獻。 DAGWO算法的應用之一是減速器優(yōu)化設計問題。減速器優(yōu)化設計問題的目標是使減速器的體積(或重量)最小,其設計結構如圖4[24]所示,該問題包含7 個設計變量和11 個約束條件,其中設計變量分別為:端面寬度x1、齒模x2、小齒輪齒數(shù)x3、第一軸長度x4、第二軸長度x5、第一軸的直徑x6、第二軸的直徑x7。其數(shù)學模型如下: 圖4 減速器結構設計圖 表5列出了不同算法求解減速器優(yōu)化設計問題的最優(yōu)解。從表5 可知,在減速器優(yōu)化尋優(yōu)結果中,DAGWO 獲得了最佳解決方案,且優(yōu)勢較為明顯。這表明其在用于解決實際工程問題時具有較好的尋優(yōu)能力及實用性。 表5 不同算法求解減速器優(yōu)化設計的最優(yōu)解對比 針對標準GWO 算法收斂速度慢、容易陷入局部最優(yōu)問題,本文提出了一種新的基于移動策略的灰狼優(yōu)化算法。新的ω狼位置移動策略增加了狼群攻擊的多樣性和隨機性,提高了算法的收斂速度和尋優(yōu)精度。同時,基于停滯檢測的隨機初始化策略增加了種群多樣性,提高了算法的全局搜索能力,避免陷入局部最優(yōu)。仿真實驗結果表明,DAGWO 算法兩種改進策略可以有效提高收斂速度和求解精度。減速器優(yōu)化設計工程實例的結果驗證了DAGWO 算法在解決工程優(yōu)化設計問題時的適用性。未來的研究將聚焦于DAGWO算法在更多實際優(yōu)化問題上的應用。2.3 參數(shù)敏感性


2.4 DAGWO算法步驟
3 仿真實驗與分析
3.1 實驗環(huán)境及參數(shù)設置
3.2 基準測試函數(shù)仿真實驗



4 工程應用及結果分析


5 結束語