張孟健,張 浩,陳 曦,楊 靖
(貴州大學(xué)電氣工程學(xué)院,貴州 貴陽(yáng) 550025)
灰狼優(yōu)化GWO(Grey Wolf Optimization)算法是澳大利亞學(xué)者M(jìn)irjalili等[1]在2014年提出的一種新的群體智能優(yōu)化算法。GWO算法以灰狼的等級(jí)制度為特征,以求解連續(xù)變量的優(yōu)化問(wèn)題為背景,其思想是受灰狼群的捕食行為啟發(fā),進(jìn)而模擬灰狼的群體狩獵等級(jí)制度并進(jìn)行理論化研究。
標(biāo)準(zhǔn)GWO 算法也存在易陷入局部最優(yōu)、后期收斂速度慢和求解精度不高等問(wèn)題。GWO算法中,收斂因子a起到平衡算法全局和局部搜索能力的作用,但是,收斂因子a采用線性方式減小并不能很好地平衡算法的全局和局部搜索能力。因此,很多研究人員對(duì)GWO算法進(jìn)行了一系列的優(yōu)化改進(jìn)。針對(duì)收斂因子a,魏政磊等[2]提出基于余弦函數(shù)和二次函數(shù)的非線性動(dòng)態(tài)變化收斂因子更新方法;胡小平等[3]提出一種基于指數(shù)變化的參數(shù)調(diào)整策略,并運(yùn)用在二維平面的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)部署中;崔明朗等[4]通過(guò)添加“觀察”策略以及對(duì)控制參數(shù)a的調(diào)整策略進(jìn)行改進(jìn),提出了一種用于解決多目標(biāo)問(wèn)題的改進(jìn)GWO算法。針對(duì)初始化策略的研究中,滕志軍等[5]引入Tent映射來(lái)初始化種群,并將粒子群優(yōu)化PSO(Particle Swarm Optimization)算法與GWO算法相結(jié)合構(gòu)成新的混合算法;談發(fā)明等[6]提出改進(jìn)非線性收斂方式的GWO算法,從混沌初始化和非線性控制策略2個(gè)角度改進(jìn)了GWO算法;王志華等[7]提出了基于混沌的GWO算法,并用于提高SVM(Support Vector Machine)分類(lèi)器的分類(lèi)精度;Ibrahim等[8]提出了一種基于差分進(jìn)化和擾動(dòng)算子的混沌對(duì)立的GWO算法;Saxena等[9]提出了一種基于β-混沌序列的自適應(yīng)橋接機(jī)制來(lái)調(diào)節(jié)控制參數(shù)a,用于改進(jìn)GWO算法,提高算法的全局和局部搜索能力;此外,莫艷紅等[10]提出一種基于萊維飛行的GWO算法,一定程度上提高了算法尋優(yōu)的精度,加快了收斂速度;Dhargupta等[11]提出一種基于反向?qū)W習(xí)的GWO算法來(lái)進(jìn)行特征選取,增強(qiáng)了算法特征選取的性能。但是,上述改進(jìn)策略還有可提升空間,因?yàn)槟壳霸S多智能算法均屬于隨機(jī)算法,采用了蒙特卡洛思想,不能完全保證對(duì)任何問(wèn)題都能達(dá)到最優(yōu)。
從上述2個(gè)角度對(duì)GWO算法的改進(jìn)研究中,均在一定程度上提高了算法的搜索能力,但并不能解決算法在尋優(yōu)過(guò)程中固有的不足。本文針對(duì)上述2個(gè)角度,提出了基于Cubic映射和反向?qū)W習(xí)策略的灰狼優(yōu)化COGWO (Grey Wolf Optimization based on Cubic mapping and Opposition-based learning)算法,增強(qiáng)算法種群的多樣性,從而提高其尋優(yōu)能力和收斂速度。
GWO算法模擬了狼群的社會(huì)等級(jí)制度和群體的狩獵行為[1],算法中每匹灰狼代表一個(gè)候選尋優(yōu)解,將最優(yōu)解設(shè)為α狼;次優(yōu)解設(shè)為β狼;第3優(yōu)解設(shè)為δ狼,剩余的解為ω狼。
灰狼群狩獵過(guò)程包括接近和包圍獵物,其數(shù)學(xué)表達(dá)式[1]如式(1)和式(2)所示:
D=|C·XP(t)-X(t)|
(1)
X(t+1)=XP(t)-A·D
(2)
其中,D為個(gè)體與目標(biāo)之間的距離;t為當(dāng)前的迭代次數(shù);C和A為系數(shù)向量;XP為目標(biāo)的位置向量;X為單匹灰狼的位置向量。其中,A和C的計(jì)算公式如式(3)和式(4)所示:
A=2a·r1-a
(3)
C=2r2
(4)
其中,C為1×1向量C的值,A為1×1向量A的值,r1,r2為[0,1]的隨機(jī)數(shù);a為收斂因子,其值隨迭代次數(shù)的增加從2線性遞減至0,如式(5)所示:
a=2-2t/Tmax
(5)
其中,Tmax為最大的迭代次數(shù),t=1,2,…,Tmax。
灰狼個(gè)體跟蹤獵物位置的公式表述如式(6)所示:
(6)
其中,Dα,Dβ和Dδ分別表示α,β和δ與其他個(gè)體之間的距離;Xα,Xβ和Xδ分別表示α,β和δ當(dāng)前的位置;C1,C2和C3為隨機(jī)系數(shù)向量;X為單匹灰狼的當(dāng)前位置向量。
在獵捕階段中,剩余的ω狼個(gè)體向著α,β和δ狼的前進(jìn)步長(zhǎng)和方向如式(7)所示:
(7)
灰狼個(gè)體位置的更新公式如式(8)所示:
X(t+1)=(X1+X2+X3)/3
(8)
GWO算法雖然具有較好的尋優(yōu)能力,但對(duì)于高維問(wèn)題存在易陷入局部最優(yōu)等問(wèn)題。本文主要針對(duì)算法種群的初始化與收斂因子a2個(gè)方面,通過(guò)增強(qiáng)算法種群的多樣性和動(dòng)態(tài)選擇收斂因子的值對(duì)GWO算法進(jìn)行改進(jìn)。
標(biāo)準(zhǔn)的Cubic映射[12]函數(shù)可以表示為式(9)所示:
(9)
其中,b,c為混沌影響因子,不同的b,c值Cubic映射的范圍也不同。一般在c∈(2.3,3)時(shí),Cubic映射產(chǎn)生的序列為混沌狀態(tài)。此外,當(dāng)b=1時(shí),xn∈(-2,2);當(dāng)b=4時(shí),xn∈(-1,1)。
文獻(xiàn)[13]對(duì)常用的16種一維混沌映射的最大Lyapunov指數(shù)進(jìn)行了計(jì)算分析,Cubic映射表達(dá)式如式(10)所示:
(10)
其中,xn∈(0,1);ρ為控制參數(shù),Cubic映射的混沌性與參數(shù)ρ的取值有著很大的關(guān)系。由文獻(xiàn)[13]可知,Cubic映射的混沌性與Logistic映射、Tent映射的最大Lyapunov指數(shù)相近,且優(yōu)于Sine映射、Circle映射、Singer映射和Kent映射等一維映射。文獻(xiàn)[14]提出了一種改進(jìn)的Cubic映射,其最大Lyapunov指數(shù)為1.098 4,優(yōu)于Logistic映射的Lyapunov指數(shù)0.693 0。
本文中,參數(shù)ρ的取值為(1.5,3),根據(jù)式(10)進(jìn)行仿真,其結(jié)果如圖1a所示。xn的初值為(0,1),取x0=0.3,ρ=2.595時(shí),Cubic映射具有較好的混沌遍歷性,仿真結(jié)果如圖1b所示。
Figure 1 Cubic mapping圖1 Cubic映射
針對(duì)收斂因子a的調(diào)節(jié),文獻(xiàn)[1]采用的是線性控制策略,可表示如式(11)所示:
a0(t)=afirst-afirst·(t/Tmax)
(11)
其中,afirst為控制參數(shù)的初值。
從式(1)~式(8)可知,算法初期,較大的a值可保證全局搜索能力,隨著迭代次數(shù)的增加,a的值逐漸減小,可加強(qiáng)算法的局部搜索能力。而式(11)中,a的值線性減小,不能很好地平衡算法的全局和局部搜索能力。為了提升算法搜索精度和速度,本文將使收斂因子隨迭代次數(shù)的增加而呈非線性變化。
文獻(xiàn)[15]對(duì)多種調(diào)整參數(shù)a的策略進(jìn)行對(duì)比分析,并提出一種基于正弦函數(shù)的參數(shù)調(diào)整控制策略:
(12)
其中,afirst,afinal分別為控制參數(shù)的初值和終值;μ和k為調(diào)節(jié)參數(shù),Tmax為最大迭代次數(shù)。
文獻(xiàn)[15]對(duì)式(12)的參數(shù)進(jìn)行了實(shí)驗(yàn)測(cè)試,當(dāng)μ=k= 2時(shí),改進(jìn)策略的尋優(yōu)效果優(yōu)于其他改進(jìn)策略(線性函數(shù)、二次函數(shù)和指數(shù)函數(shù)),故本文中設(shè)置μ= 2,k= 2,Tmax= 500。
各控制策略的仿真如圖2所示。從圖2中可以看出,不同的控制策略對(duì)算法的尋優(yōu)過(guò)程有不同的影響,曲線的斜率表示算法尋優(yōu)過(guò)程中的速度。本文的控制策略在前期的變化速度較慢,便于全局搜索;中期變化速度較快,便于提高搜索速度及跳出局部最優(yōu)搜索;后期變化速度減緩,便于進(jìn)入局部搜素,尋找最優(yōu)解。
Figure 2 a vs. t in different control strategies圖2 不同控制策略的控制參數(shù)隨迭代次數(shù)的變化曲線
反向?qū)W習(xí)策略[16]主要是對(duì)問(wèn)題的可行解與反向解進(jìn)行評(píng)價(jià),選擇較優(yōu)的解作為下一代的優(yōu)化個(gè)體,從而提高獲得最優(yōu)解的概率。其定義如下:
(13)
本文提出的COGWO算法的實(shí)現(xiàn)步驟如算法1所示:
算法1COGWO算法
步驟1設(shè)置種群的規(guī)模N,維度dim,初始化a,A和C;采用Cubic映射式(10)初始化Xα,Xβ和Xδ的值。
步驟2根據(jù)尋優(yōu)函數(shù)計(jì)算每個(gè)智能體的適應(yīng)度值。
步驟3比較各智能體的適應(yīng)度值以及Xα,Xβ和Xδ的適應(yīng)度值,確定當(dāng)前的最優(yōu)解Xα,次優(yōu)解Xβ和第3優(yōu)解Xδ的值。
步驟4根據(jù)提出的非線性參數(shù)控制策略,由式(12)計(jì)算控制參數(shù)a的值,以及根據(jù)式(3)和式(4)分別計(jì)算A和C的值。
步驟5根據(jù)式(6)~式(8)更新種群個(gè)體的位置,再重新計(jì)算適應(yīng)度值,并更新α,β和δ狼的值。
步驟6判斷t是否達(dá)到Tmax,如果達(dá)到則結(jié)束,輸出最優(yōu)解;否則返回步驟2繼續(xù)執(zhí)行。
為了驗(yàn)證COGWO算法的尋優(yōu)性能及其有效性,本文設(shè)計(jì)了2組對(duì)比實(shí)驗(yàn)。(1)與經(jīng)典的智能優(yōu)化PSO算法[17]、較新的群體智能優(yōu)化算法WOA (Whale Optimization Algorithm)[18]、改進(jìn)的GWO算法(β-GWO(β-Chaotic map enabled Grey Wolf Optimizer)算法[9]和SOGWO(Selective Opposition based Grey Wolf Optimization)算法[11])進(jìn)行對(duì)比實(shí)驗(yàn); (2)與其他改進(jìn)的GWO算法進(jìn)行比較。
為了驗(yàn)證改進(jìn)GWO算法的有效性,實(shí)驗(yàn)采用的基準(zhǔn)測(cè)試函數(shù)如表1所示。其中,F(xiàn)1~F3為單峰函數(shù),F(xiàn)4~F6為多峰函數(shù)。此外,本文尋優(yōu)測(cè)試的實(shí)驗(yàn)環(huán)境為:Windows 7操作系統(tǒng),Intel(R) Core(TM) i5-4210U CPU @2.4 GB,4 GB內(nèi)存,Matlab 2018a。
本文的算法尋優(yōu)中,各算法的參數(shù)設(shè)置如表2所示。種群規(guī)模N為30,最大迭代次數(shù)Tmax為500,維度dim為30。定義尋優(yōu)成功率(Success rate)為ε=10-10,當(dāng)尋優(yōu)結(jié)果小于ε時(shí),則認(rèn)為尋優(yōu)成功,反之為失敗。
為驗(yàn)證本文提出的COGWO算法的性能,針對(duì)同一測(cè)試函數(shù),每一種算法獨(dú)立運(yùn)行30次,并統(tǒng)計(jì)6種算法對(duì)6種基準(zhǔn)測(cè)試函數(shù)尋優(yōu)結(jié)果的平均值(Mean)、方差(Std)、尋優(yōu)時(shí)間(Time)和尋優(yōu)成功率(Success rate),結(jié)果如表3所示。
Table 1 Benchmark functions表1 基準(zhǔn)測(cè)試函數(shù)
Table 2 Parameter settings表2 參數(shù)設(shè)置
從表3中可以看出,對(duì)于單峰測(cè)試函數(shù)F1~F3的尋優(yōu),除函數(shù)F1外,COGWO算法的尋優(yōu)結(jié)果均優(yōu)于其他5種群體智能優(yōu)化算法的;對(duì)于多峰測(cè)試函數(shù)F4~F6的尋優(yōu),COGWO算法均優(yōu)于PSO算法、GWO算法和改進(jìn)GWO算法。對(duì)于測(cè)試函數(shù)F5的尋優(yōu),COGWO算法與WOA的結(jié)果相近;對(duì)于測(cè)試函數(shù)F6的尋優(yōu),本文提出的COGWO算法與β-GWO算法、SOGWO算法的結(jié)果相近,但COGWO算法的尋優(yōu)時(shí)間較短。
從測(cè)試函數(shù)的尋優(yōu)時(shí)間來(lái)看,COGWO算法均優(yōu)于標(biāo)準(zhǔn)的GWO算法;從尋優(yōu)成功率來(lái)看,COGWO算法的尋優(yōu)成功率均為100%;從尋優(yōu)的標(biāo)準(zhǔn)差來(lái)看,COGWO算法的標(biāo)準(zhǔn)差與尋優(yōu)均值的數(shù)量級(jí)相差不大。這說(shuō)明COGWO算法具有較好的尋優(yōu)能力和穩(wěn)定性,其收斂精度也比較高。
COGWO算法與5種群體智能優(yōu)化算法對(duì)6種測(cè)試函數(shù)的尋優(yōu)過(guò)程,如圖3所示,圖3a~圖3f分別表示不同算法對(duì)6種測(cè)試函數(shù)的尋優(yōu)曲線趨勢(shì)。從圖3中可以看出,COGWO算法明顯優(yōu)于GWO算法,且收斂速度更快,收斂精度更高。
為進(jìn)一步驗(yàn)證本文提出的COGWO算法的有效性,與文獻(xiàn)[10]提出的LGWO (Grey Wolf Optimization algorithm based on Levy flight) 算法和文獻(xiàn)[6]提出的CGWO (Grey Wolf Optimization based on nonlinear Convergence) 算法進(jìn)行對(duì)比,結(jié)果如表4所示。其中“/”表示改進(jìn)的算法未對(duì)該測(cè)試函數(shù)進(jìn)行尋優(yōu)測(cè)試。
Table 3 Comparison of optimization results with standard optimization algorithms表3 與標(biāo)準(zhǔn)優(yōu)化算法的尋優(yōu)結(jié)果對(duì)比
Figure 3 Fitness value curves of different algorithms圖3 不同算法的尋優(yōu)測(cè)試結(jié)果
Table 4 Optimization comparison of optimized GWO algorithms
從表4中可以看出,對(duì)于函數(shù)F1的尋優(yōu),CGWO算法的尋優(yōu)精度最佳,COGWO算法優(yōu)于LGWO算法;對(duì)于函數(shù)F2的尋優(yōu),COGWO算法的尋優(yōu)結(jié)果比LGWO算法的尋優(yōu)結(jié)果高出5個(gè)數(shù)量級(jí);對(duì)于函數(shù)F3和F5的尋優(yōu),COGWO算法與CGWO算法的均值結(jié)果相差不大,但從標(biāo)準(zhǔn)差來(lái)看,COGWO算法的穩(wěn)定性更好;對(duì)于函數(shù)F6的尋優(yōu),COGWO算法和LGWO算法均優(yōu)于CGWO算法。
為了驗(yàn)證COGWO算法的性能,本節(jié)將其應(yīng)用在拉壓彈簧設(shè)計(jì)的工程問(wèn)題中,并與GWO算法、PSO算法和WOA進(jìn)行對(duì)比分析。
拉壓彈簧設(shè)計(jì)問(wèn)題是工程領(lǐng)域的一個(gè)經(jīng)典的優(yōu)化設(shè)計(jì)問(wèn)題,在滿(mǎn)足條件的前提下,要求彈簧的質(zhì)量最小。此外,該設(shè)計(jì)問(wèn)題主要包括3個(gè)變量:即彈簧的橫截面的直徑(d)、平均線圈的直徑(Diam)和有源線圈的數(shù)量(Q)。
該問(wèn)題的具體表述如式(14)所示:
X=[x1,x2,x3]=[d,Diam,Q]
(14)
目標(biāo)函數(shù)如式(15)所示:
(15)
約束條件如式(16)所示:
(16)
其中,變量的取值范圍如下所示:
4種算法對(duì)拉壓彈簧設(shè)計(jì)問(wèn)題的實(shí)驗(yàn)結(jié)果如表5所示。
Table 5 Results of spring design problem by four optimization algorithms表5 4種優(yōu)化算法的彈簧設(shè)計(jì)問(wèn)題結(jié)果
從表5中可以看出,對(duì)于拉壓彈簧設(shè)計(jì)問(wèn)題,COGWO算法要略?xún)?yōu)于其他群體智能算法。此外,COGWO算法對(duì)于其他實(shí)際工程優(yōu)化問(wèn)題的應(yīng)用效果的驗(yàn)證,還需要針對(duì)具體問(wèn)題進(jìn)行優(yōu)化計(jì)算和實(shí)驗(yàn)。
本文針對(duì)標(biāo)準(zhǔn)的GWO算法對(duì)復(fù)雜優(yōu)化問(wèn)題的求解易陷入局部最優(yōu)的缺點(diǎn),從混沌初始化和非線性控制策略2個(gè)角度改進(jìn)GWO算法,提出了一種基于Cubic映射和反向?qū)W習(xí)的GWO算法COGWO。通過(guò)混沌映射來(lái)增加初始種群的多樣性,反向?qū)W習(xí)策略和非線性控制參數(shù)策略用來(lái)改進(jìn)算法的收斂速度,并提高算法的收斂精度。與5種群體智能算法對(duì)6種基準(zhǔn)測(cè)試函數(shù)進(jìn)行尋優(yōu)實(shí)驗(yàn),尋優(yōu)結(jié)果表明,與對(duì)比算法相比COGWO算法的尋優(yōu)能力和收斂精度得到一定的提高,且穩(wěn)定性增強(qiáng)。此外,本文的COGWO算法與LGWO算法和CGWO算法相比,穩(wěn)定性較好,尋優(yōu)精度也較高,在實(shí)際的工程優(yōu)化問(wèn)題中也有較好的應(yīng)用。未來(lái)將COGWO算法應(yīng)用到更多的實(shí)際工程優(yōu)化問(wèn)題中,且對(duì)COGWO算法的收斂性理論證明開(kāi)展進(jìn)一步的研究。