張孟健 龍道銀 楊小柳 王 霄 楊 靖*
1(貴州大學電氣工程學院 貴州 貴陽 550025) 2(中國電建集團貴州工程有限公司 貴州 貴陽 550001)
自20世紀90年代以來,群體智能優化算法因結構簡單、易于實現和求解效率高等特點,被研究學者廣泛地應用于復雜問題的求解及實際的優化問題中。其中較為典型的算法有遺傳算法(Genetic Algorithm, GA)[1]、粒子群優化算法(Particle Swarm Optimization, PSO)[2]、蟻群算法(Ant Colony Optimization, ACO)[3]、差分進化(Differential Evolution, DE)算法[4]等。受灰狼群捕食行為的啟發, 澳大利亞學者Mirjalili等[5]在2014年提出了一種新的群體智能化優化算法,即灰狼優化算法(Grey Wolf Optimizer,GWO)。
對于灰狼優化算法的改進研究中,文獻[6-10]針對收斂因子a分別給出了不同的改進策略,使得a隨迭代次數的增加呈非線性動態變化,從而有效地平衡算法的全局探索和局部開發的能力。文獻[6]提出一種控制參數a隨機動態調整的策略來達到動態自適應目的;文獻[7]提出基于余弦函數和二次函數的非線性動態變化收斂因子更新方法;文獻[8]提出一種基于指數變化的參數a的調整策略,并運用在二維平面的無線傳感網絡節點的優化部署中,但調節系數的選擇沒有詳細敘述;文獻[9]提出一種基于對數遞減策略的非線性動態變化的收斂因子控制策略,并運用在基于測距的無線傳感器網絡定位中;文獻[10]提出一種基于余弦函數的非線性控制參數策略,尋優效果相對較好,但需要進一步的改進研究;文獻[11]提出一種基于混沌映射混合粒子群的GWO,收斂因子a采用了二次函數進行動態調整。
與其他群體智能算法類似,標準 GWO 也存在易陷入局部最優、后期收斂速度慢、求解精度不高等缺點。本文提出新的非線性控制參數策略與權值系數的非線性調整參數控制策略,并對多組基準測試函數進行仿真實驗,對測試的結果進行分析來驗證所提策略的有效性。
GWO模擬了狼群的社會等級制度和群體的狩獵行為[5]。從數學角度設計GWO時,結合灰狼的實際社會等級,將最優解設為α狼;次優解設為β狼;第三優解設為δ狼;剩余的解歸為ω狼。
灰狼群狩獵過程包括接近和包圍獵物,其數學表達式[5]如下:
D=|C·XP(t)-X(t)|
(1)
X(t+1)=XP(t)-A·D
(2)
式中:D為個體與目標之間的距離;t為當前的迭代次數;C和A為系數向量;Xp為目標的位置向量;X為單只灰狼的位置向量。其中A和C的計算公式如下:
A=2a·r1-a
(3)
C=2r2
(4)
式中:r1、r2為[0,1]之間的隨機數生成的向量;a為收斂因子,其值隨迭代次數的增加從2線性遞減至0。
a=2-2ti/tmax
(5)
式中:tmax為最大的迭代次數,其中i=1,2,…,N。
灰狼個體跟蹤獵物位置的公式表述如下:
(6)
式中:Dα、Dβ、Dδ分別表示α、β和δ與其他個體之間的距離;Xα、Xβ、Xδ分別表示α、β和δ當前的位置;C1、C2、C3為系數隨機向量;X為單只灰狼的當前位置向量。
在獵捕階段中,剩余的ω狼個體向著α、β和δ狼的前進步長和方向,其表述如下:
(7)
其中灰狼個體位置的更新公式如下:
X(t+1)=(X1+X2+X3)/3
(8)
對于不同的控制參數策略及非線性控制參數的組合策略中的調整參數,選取多組值進行仿真實驗,并通過多組實驗的結果分析,選擇最佳的組合策略的調整參數值。
文獻[5]采用的是線性控制策略,可表示為:
a0(t)=afirst-afirst·(t/Tmax)
(9)
本文提出一種基于正弦函數的調整參數控制策略,公式如下:
(10)
式中:afirst、afinal分別為控制參數的初值和終值;μ和λ均為調節參數;Tmax為最大迭代次數。
此外,為了進行權值系數的調整參數控制策略研究,本文應用了文獻[7-8]中收斂因子的迭代公式:
(11)
(12)
式中:γ為非線性調系數;k為算法開發和搜索能力影響因子,其值越小,則算法在最優解附近搜索新的最優解的能力越強。本文中γ=10,k=7。
根據式(10)-式(12),選擇a1、a2、a3三種策略進行組合,提出權值系數的調整參數控制策略,進而權衡局部搜索和全局搜索的收斂速度。表示如下:
(13)
則組合后的收斂因子可表示為:
a=ω1·a1+ω2·a2+ω3·a3
(14)
針對本文的非線性控制參數的組合策略,在μ=2時,給定不同的調節參數值及其隨迭代次數的變化曲線如圖1所示,其中控制參數a0、a1、a2、a3、a的5種策略分別為傳統的灰狼優化算法(GWO)、組合策略的參數控制的灰狼優化算法(GWO1)、基于正弦函數的調整參數控制策略的灰狼優化算法(GWO-SIN)、文獻[7]提出的二次函數控制參數的灰狼優化算法(GWO2)、文獻[8]提出的指數控制參數的改進灰狼優化算法(GWO3)的仿真策略。本文分別對不同的λ和k的值進行仿真實驗,其中λ的取值為2~5,k的取值為6和7,限于篇幅,本文只給出2個仿真圖。

(a) λ=2,γ=10,k=6

(b) λ=5,γ=10,k=7圖1 不同權值動態因子隨迭代次數的變化曲線
可以看出,控制參數a隨迭代次數的曲線變化斜率對于非線性控制策略都是不斷變化的,文獻[7-8]提出的控制參數非線性的改進策略與本文提出的非線性參數控制調整策略均可有效地均衡算法的局部搜索和全局搜索能力。由式(3)可以知道,控制參數a是搜索參數A的一個重要的影響因素,直接影響算法的局部搜索和全局搜索能力。圖1中的5條曲線分別對應不同的參數控制策略,對算法的收斂速度及求解結果有不同程度的影響。
此外,為了驗證本文所設定的調節參數值的合理性,針對5種算法選擇F1、F2、F4和F5等4個基準測試函數進行仿真測試,并根據實驗結果選擇最佳的調節參數值。仿真結果如表1-表3所示。

表1 參數λ=2、γ=2、k=6時對應的函數測試結果

表2 參數λ=5、γ=10、k=6時對應的函數測試結果

續表2

表3 參數λ=5、γ=12、k=7時對應的函數測試結果
為了保證參數選取實驗的準確性,本文對選擇的4個基準測試函數分別進行10次獨立測試,并計算各組解的均值(Mean)與方差(Std)。分析結果如下:
從表1的函數測試結果來看,當調節參數μ=2,λ=2,非線性調系數γ=10,算法開發和搜索能力影響因子k=6時,GWO1對單峰函數F2的求解最佳,對于函數F1、F4、F5的測試結果,平方參數控制策略的GWO2的求解最佳。
從表2的函數測試結果來看,當μ=2、λ=5、γ=10、k=6,對于單峰函數及多峰函數F4,組合策略GWO1的求解均優于傳統的GWO、GWO2、GWO3和GWO-SIN;對于多峰函數F5,組合策略GWO1的求解均優于傳統的GWO、GWO2和GWO3,略劣于GWO-SIN。
從表3的函數測試結果來看,當μ=2、λ=5、γ=12、k=7時,除了對函數F2的求解,其余3個函數GWO-SIN的求解均為最佳。
比較表1-表3的測試結果,γ=12、k=7時GWO2對于單峰函數的求解要劣于γ=10、k=6時的值。
綜合上述的分析,選擇最佳的調節參數值,即μ=2、λ=5、γ=10、k=6。
在迭代過程中,收斂因子a的值由2逐漸減小至0,A的范圍隨a的值減小而減小。當|A|≤1時,灰狼群收縮搜索范圍向著獵物攻擊,即實現局部搜索;當|A|>1時,灰狼群體擴大搜索范圍遠離獵物,以加強算法的探索能力,即實現全局搜索。
針對算法搜索參數A的特性,結合已有的改進算法及本文算法進行對比分析。本文針對式(3)中r1的值,選擇不同的值,分析其在4種a迭代算法中對GWO的搜索參數A進行仿真。
由文獻[5]可知,灰狼算法中的參數r1、r2的取值為[0,1]之間的隨機數。式(3)中,對搜索參數A的直接影響因子有r1和a。由于r1在算法的計算中是隨機產生的,為了避免偶然性,因此本文對基準函數測試時,采用了多次測試求取均值的思想。
本文在分析對搜索參數A影響參數中,針對不同的r1取值進行仿真實驗。當r1=0.5時,4種非線性參數控制策略對搜索參數A的影響曲線是重合的。故本文r1分別取0.15、0.25、0.55、0.75、0.85和0.95,根據式(3),運用MATLAB進行繪制仿真擬合曲線,其仿真結果如圖2所示。

圖2 4種a的迭代算法下的搜索參數A的擬合曲線
可以看出,本文提出的組合策略,以圖2(d)為例,算法的迭代過程中搜索參數A曲線的斜率在不斷地變化,前期的搜索參數A遞減速度較慢可增強全局的搜索能力,可避免陷入局部最優;中期的搜索參數A遞減速度較快從而改善算法的局部搜索能力,可加快算法的收斂速度;后期的搜索參數A遞減速度有一個由慢到快的過程,可以在算法的迭代過程中進一步有效地均衡局部搜索和全局搜索能力。
本文策略對應的改進GWO步驟如下:
Step 1設置種群的規模N、維度d,初始化a、A和C的值;初始化Xα、Xβ和Xδ的值。
Step 2計算每個智能體的適應度值。
Step 3比較各智能體的適應度值及Xα、Xβ和Xδ的適應度值,確定當前的Xα、Xβ和Xδ的值。
Step 4根據本文策略,由式(10)、式(14)分別計算控制參數a的值,以及根據式(3)和式(4)分別對應計算A和C的值。
Step 5根據式(6)-式(8)更新種群個體的位置,再重新計算適應度值,并更新α、β和δ的值。
Step 6判斷t是否達到Tmax的值,如果達到則結束,輸出最優解,否則返回Step2繼續執行。
為了驗證基于權重系數改進的灰狼優化算法的有效性, 本文對表4中的6種基準測試函數進行仿真實驗,并與基本的灰狼算法(GWO)[5]、本文提出的幾種不同權重系數的改進灰狼算法的優化結果進行對比分析,并選擇出相對較優的權重組合策略進行分析。表4中F1-F3為單峰函數,F4-F6為多峰函數。

表4 基準測試函數
本文的仿真實驗中,算法的種群規模N為30,最大迭代次數Tmax為500, 控制參數初值afirst=2,終值afinal=0。非線性參數控制策略組合方式中的調節參數μ=2,λ=5,非線性調系數γ=10,算法開發和搜索能力影響因子k=6。本文采用MATLAB2014a進行仿真。
為驗證權值系數的非線性參數控制組合策略及本文算法的性能優劣。針對同一測試的基準函數,對不同的參數控制策略對應的算法分別獨立運行20次,并比較5種算法對6個基準測試函數的統計平均值(Mean)和方差(Std)。表5列出各算法在基準測試函數上的平均值(Mean)和方差(Std)結果。

表5 GWO、GWO1、GWO2、GWO3的尋優結果
從數據可以得知,本文算法在μ=2、λ=5、γ=10、k=6時,對F1、F2、F4、F5、F6基準測試函數求解的平均值中,均優于傳統的GWO、GWO2和GWO3。
為了進一步地說明本文策略的收斂性能,圖3給出了4種參數控制策略的仿真結果對比。

圖3 4種不同調整參數控制策略的收斂曲線
可以看出,在搜索初期5種算法的搜索速度相近。隨著迭代次數的增加,對于多峰函數,結合表5的結果可以看出非線性控制參數組合策略的GWO1尋優效果較好;對于單峰函數F3,本文算法要略劣于GWO2。這說明對于不同的函數,參數的取值會對算法的尋優結果產生一定的影響。因此,在智能算法的應用中,需要針對應用場景進行參數的選取,從而達到最佳的效果。
此外,對比文獻[10]中的改進灰狼優化算法的函數測試結果,從與本文采用相同的測試函數F1、F4和F5來看,對于相同的維數(30)本文提出的2種非線性參數控制策略在測試函數F1和F5上的尋優解均優于文獻[10]提出的改進灰狼優化算法。文獻[10]對測試函數F1和F5解的均值分別為1.334 85e-27、2.772 9e-13,方差分別為7.313 0e-28、1.028 3e-13,而本文的組合策略的參數控制的灰狼優化算法(GWO1)、基于正弦函數的調整參數控制策略的灰狼優化算法(GWO-SIN)對基準測試函數F1和F5的尋優解詳見表3??梢钥闯?,本文提出的GWO1對于測試函數F4的求解亦可得到與文獻[10]相同的結果。
本文提出一種非線性控制參數組合調整策略。首先,通過對3種非線性參數控制策略的調節因子的不同的取值進行仿真;然后,對5組不同的調節參數值進行基準函數的測試仿真,選擇權重系數的非線性控制參數組合策略的最佳參數值。此外,為了驗證本文策略的有效性及其優劣性,對6個基準測試函數進行仿真實驗。仿真結果表明,本文策略均優于GWO2、GWO3、文獻[10]提出的改進灰狼優化算法。未來將對改進的GWO的理論進行研究[12],并應用于工程約束優化問題。