張孟健,張 浩,陳 曦,楊 靖
(貴州大學電氣工程學院,貴州 貴陽 550025)
灰狼優化GWO(Grey Wolf Optimization)算法是澳大利亞學者Mirjalili等[1]在2014年提出的一種新的群體智能優化算法。GWO算法以灰狼的等級制度為特征,以求解連續變量的優化問題為背景,其思想是受灰狼群的捕食行為啟發,進而模擬灰狼的群體狩獵等級制度并進行理論化研究。
標準GWO 算法也存在易陷入局部最優、后期收斂速度慢和求解精度不高等問題。GWO算法中,收斂因子a起到平衡算法全局和局部搜索能力的作用,但是,收斂因子a采用線性方式減小并不能很好地平衡算法的全局和局部搜索能力。因此,很多研究人員對GWO算法進行了一系列的優化改進。針對收斂因子a,魏政磊等[2]提出基于余弦函數和二次函數的非線性動態變化收斂因子更新方法;胡小平等[3]提出一種基于指數變化的參數調整策略,并運用在二維平面的無線傳感器網絡節點部署中;崔明朗等[4]通過添加“觀察”策略以及對控制參數a的調整策略進行改進,提出了一種用于解決多目標問題的改進GWO算法。針對初始化策略的研究中,滕志軍等[5]引入Tent映射來初始化種群,并將粒子群優化PSO(Particle Swarm Optimization)算法與GWO算法相結合構成新的混合算法;談發明等[6]提出改進非線性收斂方式的GWO算法,從混沌初始化和非線性控制策略2個角度改進了GWO算法;王志華等[7]提出了基于混沌的GWO算法,并用于提高SVM(Support Vector Machine)分類器的分類精度;Ibrahim等[8]提出了一種基于差分進化和擾動算子的混沌對立的GWO算法;Saxena等[9]提出了一種基于β-混沌序列的自適應橋接機制來調節控制參數a,用于改進GWO算法,提高算法的全局和局部搜索能力;此外,莫艷紅等[10]提出一種基于萊維飛行的GWO算法,一定程度上提高了算法尋優的精度,加快了收斂速度;Dhargupta等[11]提出一種基于反向學習的GWO算法來進行特征選取,增強了算法特征選取的性能。但是,上述改進策略還有可提升空間,因為目前許多智能算法均屬于隨機算法,采用了蒙特卡洛思想,不能完全保證對任何問題都能達到最優。
從上述2個角度對GWO算法的改進研究中,均在一定程度上提高了算法的搜索能力,但并不能解決算法在尋優過程中固有的不足。本文針對上述2個角度,提出了基于Cubic映射和反向學習策略的灰狼優化COGWO (Grey Wolf Optimization based on Cubic mapping and Opposition-based learning)算法,增強算法種群的多樣性,從而提高其尋優能力和收斂速度。
GWO算法模擬了狼群的社會等級制度和群體的狩獵行為[1],算法中每匹灰狼代表一個候選尋優解,將最優解設為α狼;次優解設為β狼;第3優解設為δ狼,剩余的解為ω狼。
灰狼群狩獵過程包括接近和包圍獵物,其數學表達式[1]如式(1)和式(2)所示:
D=|C·XP(t)-X(t)|
(1)
X(t+1)=XP(t)-A·D
(2)
其中,D為個體與目標之間的距離;t為當前的迭代次數;C和A為系數向量;XP為目標的位置向量;X為單匹灰狼的位置向量。其中,A和C的計算公式如式(3)和式(4)所示:
A=2a·r1-a
(3)
C=2r2
(4)
其中,C為1×1向量C的值,A為1×1向量A的值,r1,r2為[0,1]的隨機數;a為收斂因子,其值隨迭代次數的增加從2線性遞減至0,如式(5)所示:
a=2-2t/Tmax
(5)
其中,Tmax為最大的迭代次數,t=1,2,…,Tmax。
灰狼個體跟蹤獵物位置的公式表述如式(6)所示:
(6)
其中,Dα,Dβ和Dδ分別表示α,β和δ與其他個體之間的距離;Xα,Xβ和Xδ分別表示α,β和δ當前的位置;C1,C2和C3為隨機系數向量;X為單匹灰狼的當前位置向量。
在獵捕階段中,剩余的ω狼個體向著α,β和δ狼的前進步長和方向如式(7)所示:
(7)
灰狼個體位置的更新公式如式(8)所示:
X(t+1)=(X1+X2+X3)/3
(8)
GWO算法雖然具有較好的尋優能力,但對于高維問題存在易陷入局部最優等問題。本文主要針對算法種群的初始化與收斂因子a2個方面,通過增強算法種群的多樣性和動態選擇收斂因子的值對GWO算法進行改進。
標準的Cubic映射[12]函數可以表示為式(9)所示:
(9)
其中,b,c為混沌影響因子,不同的b,c值Cubic映射的范圍也不同。一般在c∈(2.3,3)時,Cubic映射產生的序列為混沌狀態。此外,當b=1時,xn∈(-2,2);當b=4時,xn∈(-1,1)。
文獻[13]對常用的16種一維混沌映射的最大Lyapunov指數進行了計算分析,Cubic映射表達式如式(10)所示:
(10)
其中,xn∈(0,1);ρ為控制參數,Cubic映射的混沌性與參數ρ的取值有著很大的關系。由文獻[13]可知,Cubic映射的混沌性與Logistic映射、Tent映射的最大Lyapunov指數相近,且優于Sine映射、Circle映射、Singer映射和Kent映射等一維映射。文獻[14]提出了一種改進的Cubic映射,其最大Lyapunov指數為1.098 4,優于Logistic映射的Lyapunov指數0.693 0。
本文中,參數ρ的取值為(1.5,3),根據式(10)進行仿真,其結果如圖1a所示。xn的初值為(0,1),取x0=0.3,ρ=2.595時,Cubic映射具有較好的混沌遍歷性,仿真結果如圖1b所示。

Figure 1 Cubic mapping圖1 Cubic映射
針對收斂因子a的調節,文獻[1]采用的是線性控制策略,可表示如式(11)所示:
a0(t)=afirst-afirst·(t/Tmax)
(11)
其中,afirst為控制參數的初值。
從式(1)~式(8)可知,算法初期,較大的a值可保證全局搜索能力,隨著迭代次數的增加,a的值逐漸減小,可加強算法的局部搜索能力。而式(11)中,a的值線性減小,不能很好地平衡算法的全局和局部搜索能力。為了提升算法搜索精度和速度,本文將使收斂因子隨迭代次數的增加而呈非線性變化。
文獻[15]對多種調整參數a的策略進行對比分析,并提出一種基于正弦函數的參數調整控制策略:
(12)
其中,afirst,afinal分別為控制參數的初值和終值;μ和k為調節參數,Tmax為最大迭代次數。
文獻[15]對式(12)的參數進行了實驗測試,當μ=k= 2時,改進策略的尋優效果優于其他改進策略(線性函數、二次函數和指數函數),故本文中設置μ= 2,k= 2,Tmax= 500。
各控制策略的仿真如圖2所示。從圖2中可以看出,不同的控制策略對算法的尋優過程有不同的影響,曲線的斜率表示算法尋優過程中的速度。本文的控制策略在前期的變化速度較慢,便于全局搜索;中期變化速度較快,便于提高搜索速度及跳出局部最優搜索;后期變化速度減緩,便于進入局部搜素,尋找最優解。

Figure 2 a vs. t in different control strategies圖2 不同控制策略的控制參數隨迭代次數的變化曲線
反向學習策略[16]主要是對問題的可行解與反向解進行評價,選擇較優的解作為下一代的優化個體,從而提高獲得最優解的概率。其定義如下:

(13)

本文提出的COGWO算法的實現步驟如算法1所示:
算法1COGWO算法
步驟1設置種群的規模N,維度dim,初始化a,A和C;采用Cubic映射式(10)初始化Xα,Xβ和Xδ的值。
步驟2根據尋優函數計算每個智能體的適應度值。
步驟3比較各智能體的適應度值以及Xα,Xβ和Xδ的適應度值,確定當前的最優解Xα,次優解Xβ和第3優解Xδ的值。
步驟4根據提出的非線性參數控制策略,由式(12)計算控制參數a的值,以及根據式(3)和式(4)分別計算A和C的值。
步驟5根據式(6)~式(8)更新種群個體的位置,再重新計算適應度值,并更新α,β和δ狼的值。
步驟6判斷t是否達到Tmax,如果達到則結束,輸出最優解;否則返回步驟2繼續執行。
為了驗證COGWO算法的尋優性能及其有效性,本文設計了2組對比實驗。(1)與經典的智能優化PSO算法[17]、較新的群體智能優化算法WOA (Whale Optimization Algorithm)[18]、改進的GWO算法(β-GWO(β-Chaotic map enabled Grey Wolf Optimizer)算法[9]和SOGWO(Selective Opposition based Grey Wolf Optimization)算法[11])進行對比實驗; (2)與其他改進的GWO算法進行比較。
為了驗證改進GWO算法的有效性,實驗采用的基準測試函數如表1所示。其中,F1~F3為單峰函數,F4~F6為多峰函數。此外,本文尋優測試的實驗環境為:Windows 7操作系統,Intel(R) Core(TM) i5-4210U CPU @2.4 GB,4 GB內存,Matlab 2018a。
本文的算法尋優中,各算法的參數設置如表2所示。種群規模N為30,最大迭代次數Tmax為500,維度dim為30。定義尋優成功率(Success rate)為ε=10-10,當尋優結果小于ε時,則認為尋優成功,反之為失敗。
為驗證本文提出的COGWO算法的性能,針對同一測試函數,每一種算法獨立運行30次,并統計6種算法對6種基準測試函數尋優結果的平均值(Mean)、方差(Std)、尋優時間(Time)和尋優成功率(Success rate),結果如表3所示。

Table 1 Benchmark functions表1 基準測試函數

Table 2 Parameter settings表2 參數設置
從表3中可以看出,對于單峰測試函數F1~F3的尋優,除函數F1外,COGWO算法的尋優結果均優于其他5種群體智能優化算法的;對于多峰測試函數F4~F6的尋優,COGWO算法均優于PSO算法、GWO算法和改進GWO算法。對于測試函數F5的尋優,COGWO算法與WOA的結果相近;對于測試函數F6的尋優,本文提出的COGWO算法與β-GWO算法、SOGWO算法的結果相近,但COGWO算法的尋優時間較短。
從測試函數的尋優時間來看,COGWO算法均優于標準的GWO算法;從尋優成功率來看,COGWO算法的尋優成功率均為100%;從尋優的標準差來看,COGWO算法的標準差與尋優均值的數量級相差不大。這說明COGWO算法具有較好的尋優能力和穩定性,其收斂精度也比較高。
COGWO算法與5種群體智能優化算法對6種測試函數的尋優過程,如圖3所示,圖3a~圖3f分別表示不同算法對6種測試函數的尋優曲線趨勢。從圖3中可以看出,COGWO算法明顯優于GWO算法,且收斂速度更快,收斂精度更高。
為進一步驗證本文提出的COGWO算法的有效性,與文獻[10]提出的LGWO (Grey Wolf Optimization algorithm based on Levy flight) 算法和文獻[6]提出的CGWO (Grey Wolf Optimization based on nonlinear Convergence) 算法進行對比,結果如表4所示。其中“/”表示改進的算法未對該測試函數進行尋優測試。

Table 3 Comparison of optimization results with standard optimization algorithms表3 與標準優化算法的尋優結果對比

Figure 3 Fitness value curves of different algorithms圖3 不同算法的尋優測試結果

Table 4 Optimization comparison of optimized GWO algorithms
從表4中可以看出,對于函數F1的尋優,CGWO算法的尋優精度最佳,COGWO算法優于LGWO算法;對于函數F2的尋優,COGWO算法的尋優結果比LGWO算法的尋優結果高出5個數量級;對于函數F3和F5的尋優,COGWO算法與CGWO算法的均值結果相差不大,但從標準差來看,COGWO算法的穩定性更好;對于函數F6的尋優,COGWO算法和LGWO算法均優于CGWO算法。
為了驗證COGWO算法的性能,本節將其應用在拉壓彈簧設計的工程問題中,并與GWO算法、PSO算法和WOA進行對比分析。
拉壓彈簧設計問題是工程領域的一個經典的優化設計問題,在滿足條件的前提下,要求彈簧的質量最小。此外,該設計問題主要包括3個變量:即彈簧的橫截面的直徑(d)、平均線圈的直徑(Diam)和有源線圈的數量(Q)。
該問題的具體表述如式(14)所示:
X=[x1,x2,x3]=[d,Diam,Q]
(14)
目標函數如式(15)所示:
(15)
約束條件如式(16)所示:
(16)
其中,變量的取值范圍如下所示:

4種算法對拉壓彈簧設計問題的實驗結果如表5所示。

Table 5 Results of spring design problem by four optimization algorithms表5 4種優化算法的彈簧設計問題結果
從表5中可以看出,對于拉壓彈簧設計問題,COGWO算法要略優于其他群體智能算法。此外,COGWO算法對于其他實際工程優化問題的應用效果的驗證,還需要針對具體問題進行優化計算和實驗。
本文針對標準的GWO算法對復雜優化問題的求解易陷入局部最優的缺點,從混沌初始化和非線性控制策略2個角度改進GWO算法,提出了一種基于Cubic映射和反向學習的GWO算法COGWO。通過混沌映射來增加初始種群的多樣性,反向學習策略和非線性控制參數策略用來改進算法的收斂速度,并提高算法的收斂精度。與5種群體智能算法對6種基準測試函數進行尋優實驗,尋優結果表明,與對比算法相比COGWO算法的尋優能力和收斂精度得到一定的提高,且穩定性增強。此外,本文的COGWO算法與LGWO算法和CGWO算法相比,穩定性較好,尋優精度也較高,在實際的工程優化問題中也有較好的應用。未來將COGWO算法應用到更多的實際工程優化問題中,且對COGWO算法的收斂性理論證明開展進一步的研究。