王夢(mèng)璐,李連忠
江南大學(xué) 理學(xué)院,江蘇 無(wú)錫214122
灰狼優(yōu)化算法(Grey Wolf Optimizer,GWO)[1]是澳大利亞學(xué)者M(jìn)irjalili等于2014年提出的新型群體智能優(yōu)化算法。它通過(guò)模仿自然界中灰狼群體的等級(jí)制度和追蹤、圍捕、攻擊獵物等捕食過(guò)程實(shí)現(xiàn)算法優(yōu)化搜索的目的。GWO算法在求解精度和收斂速度方面與粒子群算法(Particle Swarm Optimization,PSO)[2-3]、遺傳算法(Genetic Algorithm,GA)[4]、差分進(jìn)化算法(Differential Evolution,DE)[5]相比是比較有競(jìng)爭(zhēng)力的,且具有原理簡(jiǎn)單、需要調(diào)整的參數(shù)少、易于實(shí)現(xiàn)等優(yōu)點(diǎn),因此GWO算法在優(yōu)化PID控制器參數(shù)[6]、路徑規(guī)劃[7-8]、文本聚類[9]、支持向量機(jī)[10]、多層傳感器訓(xùn)練[11]等領(lǐng)域上有著廣泛的應(yīng)用。
然而,標(biāo)準(zhǔn)GWO算法仍存在求解精度不高、后期收斂速度較慢且容易陷入局部最優(yōu)無(wú)法跳出等缺點(diǎn)。為了進(jìn)一步提高GWO算法的性能,研究學(xué)者們提出了許多改進(jìn)策略,徐松金等[12]提出了一種交叉變異機(jī)制,在群體中隨機(jī)選擇三個(gè)個(gè)體與決策層個(gè)體執(zhí)行算術(shù)交叉操作并且以一定概率對(duì)決策層個(gè)體進(jìn)行變異,該機(jī)制有效地提高了算法的局部搜索能力和收斂速度,但是變異時(shí)沒(méi)有突破遺傳算法的變異規(guī)則,較容易陷入局部最優(yōu);黎素涵等[13]提出了非線性收斂因子調(diào)整策略和精英個(gè)體重選策略,該算法有較好的收斂速度和效率,但改進(jìn)算法的模式較為單一,收斂精度沒(méi)有得到有效提高;王敏等[14]提出了一種隨迭代次數(shù)非線性遞減的自適應(yīng)收斂因子與變異算子,平衡了算法的全局搜索和局部搜索能力,但在灰狼的位置更新中沒(méi)有考慮優(yōu)秀個(gè)體對(duì)其他個(gè)體的引導(dǎo)作用只是隨機(jī)地進(jìn)行變異,算法跳出局部最優(yōu)的能力較差;金星等[15]利用差分進(jìn)化算法(DE)的變異來(lái)改進(jìn)灰狼優(yōu)化算法,通過(guò)灰狼算法與差分進(jìn)化的交叉、選擇算子進(jìn)行全局搜索以增強(qiáng)種群的多樣性和算法收斂精度,該算法有較好的全局收斂性,但算法需要進(jìn)行反復(fù)地迭代,增加了計(jì)算的時(shí)間復(fù)雜度且易早熟;陳超等[16]提出了一種稱為三級(jí)領(lǐng)導(dǎo)式的自適應(yīng)狼群算法,使用三個(gè)領(lǐng)導(dǎo)層灰狼指導(dǎo)ω個(gè)探狼的形式,并引入微粒進(jìn)化方程來(lái)加快算法收斂速度,該算法著重考慮了灰狼個(gè)體最優(yōu)值和群體最優(yōu)值對(duì)猛狼奔襲的指導(dǎo),避免了很多無(wú)效的搜索從而節(jié)省了大量的計(jì)算時(shí)間,但算法中沒(méi)有設(shè)置跳出局部極值的機(jī)制使得算法收斂精度不高。由以上學(xué)者對(duì)GWO算法的研究經(jīng)驗(yàn)可知,找到一種簡(jiǎn)單且高效的改進(jìn)策略十分必要,結(jié)合上述學(xué)者對(duì)GWO算法的分析及改進(jìn)思路,本文提出一種動(dòng)態(tài)反向搜索更新位置的改進(jìn)灰狼優(yōu)化算法(DAGWO)。采用Tent混沌映射和動(dòng)態(tài)一般反向?qū)W習(xí)來(lái)初始化種群,以提高種群的多樣性;依據(jù)sigmoid函數(shù)構(gòu)造一種非線性遞減的收斂因子a,并引入符合beta分布的隨機(jī)調(diào)整數(shù)對(duì)a進(jìn)行局部擾動(dòng),以更好地平衡算法全局搜索能力和局部搜索能力;在位置更新公式中引入種群早熟判別指標(biāo)、反向?qū)W習(xí)因子和個(gè)體歷史最優(yōu)位置引導(dǎo)策略,使灰狼個(gè)體進(jìn)行自適應(yīng)的動(dòng)態(tài)反向搜索更新其位置,在提高算法收斂速度的同時(shí)增強(qiáng)算法跳出局部最優(yōu)的能力。通過(guò)對(duì)20個(gè)基本測(cè)試函數(shù)的仿真實(shí)驗(yàn),結(jié)果表明本文提出的改進(jìn)算法(DAGWO)比標(biāo)準(zhǔn)智能優(yōu)化算法和其他策略改進(jìn)算法有更好的求解精度、收斂速度和跳出局部最優(yōu)的能力。
灰狼過(guò)著群居生活且有嚴(yán)格的社會(huì)等級(jí)層次制度,如圖1所示。狼群中的領(lǐng)導(dǎo)者稱為α,負(fù)責(zé)捕食、食物分配和作息地點(diǎn)等決策。第二等級(jí)的狼稱為β,主要負(fù)責(zé)協(xié)助α進(jìn)行決策。第三等級(jí)的狼稱為δ,主要負(fù)責(zé)偵察、放哨等。處于等級(jí)制度的最低端的ω,主要負(fù)責(zé)維持種群內(nèi)部關(guān)系的平衡。
圖1 灰狼等級(jí)制度Fig.1 Gray wolf hierarchy
假設(shè)灰狼種群數(shù)目為N,第i只灰狼的位置為Xi,α為最優(yōu)解,β為次最優(yōu)解,δ為第三最優(yōu)解,ω為候選解?;依亲粉?、接近獵物的數(shù)學(xué)模型如下:其中,t表示當(dāng)前迭代次數(shù),A、C是系數(shù)向量,Xp為獵物位置向量,X為灰狼位置向量。
向量A、C的計(jì)算公式如下:
本文采用Tent混沌映射和文獻(xiàn)[17]中提出的動(dòng)態(tài)一般反向?qū)W習(xí)策略(Dynamic GOBL)來(lái)產(chǎn)生初始種群,具體步驟如下:
步驟1根據(jù)Tent混沌映射的數(shù)學(xué)模型來(lái)生成一個(gè)初始種群,其模型為:
其中,?∈(0,1)且xt∈[0,1]時(shí)系統(tǒng)處于混沌狀態(tài)。
步驟2利用動(dòng)態(tài)一般反向?qū)W習(xí)策略對(duì)生成的初始種群按下式進(jìn)行反向?qū)W習(xí):
其中,xij(t)(i=1,2,…,N,j=1,2,…,D)是當(dāng)前群體中第i個(gè)解在第j維上的分量,是xij(t)對(duì)應(yīng)的反向解,aj(t)和bj(t)分別為當(dāng)前搜索區(qū)間在第j維上的最小值和最大值,N為群體大小,D為搜索空間維數(shù),t為演化代數(shù)。
步驟3按照次序在步驟1生成的初始種群和步驟2生成的反向種群中取出個(gè)體,計(jì)算個(gè)體的適應(yīng)度值并對(duì)其進(jìn)行升序排列,選取前N個(gè)個(gè)體組成初始種群。
2.2.1 改進(jìn)收斂因子
在灰狼算法中, ||A>1時(shí),灰狼將擴(kuò)大搜索范圍,即進(jìn)行全局搜索; ||A<1時(shí)灰狼將縮小搜索范圍,即進(jìn)行局部搜索。由式(3)可知,A的取值決定于收斂因子a,在GWO算法中收斂因子a隨迭代次數(shù)從2線性遞減到0,而算法的收斂過(guò)程是非線性的,故線性收斂因子不能完全適應(yīng)于算法搜索。本文依據(jù)sigmoid函數(shù)的特性構(gòu)造了一種新型非線性遞減的收斂因子a,并引入符合beta分布的隨機(jī)調(diào)整數(shù)對(duì)a進(jìn)行局部擾動(dòng)以提高算法在迭代后期的全局搜索能力,減少算法陷入局部最優(yōu)的可能性。改進(jìn)的收斂因子a表達(dá)式如下:
其中,ainitial,afinal分別為收斂因子a的初始值和終止值,t為當(dāng)前迭代次數(shù),tmax為最大迭代次數(shù)。σ為收斂調(diào)整因子,經(jīng)多次實(shí)驗(yàn)得σ取0.1時(shí)效果最好;betarnd為matlab中的隨機(jī)數(shù)生成器,可以生成符合貝塔分布的隨機(jī)數(shù)。
圖2為原始收斂因子與改進(jìn)收斂因子的對(duì)比圖。
圖2 收斂因子對(duì)比圖Fig.2 Comparison of convergence factors
如圖2所示,虛線為線性遞減的標(biāo)準(zhǔn)GWO算法的收斂因子a,實(shí)線為非線性遞減的改進(jìn)收斂因子a。從圖中可以看出,標(biāo)準(zhǔn)GWO算法的收斂因子a在整個(gè)迭代過(guò)程中呈線性遞減。
迭代前期收斂速度過(guò)快導(dǎo)致搜索范圍較小、種群多樣性較差,后期收斂速度過(guò)慢求解效率較低。本文提出的改進(jìn)收斂因子a呈非線性遞減,迭代前期改進(jìn)收斂因子在較長(zhǎng)時(shí)間內(nèi)保持較大值且變化幅度、速度較小,即灰狼長(zhǎng)時(shí)間以較大的步伐進(jìn)行搜索,可擴(kuò)大搜索范圍、保證種群多樣性以加強(qiáng)算法的全局搜索能力;迭代后期,改進(jìn)收斂因子a在較長(zhǎng)時(shí)間內(nèi)保持較小值且變化幅度和速度也較小,使得灰狼長(zhǎng)時(shí)間以較小的步伐進(jìn)行搜索,加強(qiáng)算法的局部搜索能力、提高算法的求解效率。因此,本文提出的改進(jìn)收斂因子a能夠更加有效地平衡全局搜索能力和局部搜索能力。
2.2.2 收斂調(diào)整因子σ的有效性分析
改進(jìn)收斂因子a中使用beta隨機(jī)調(diào)整數(shù)對(duì)a的取值進(jìn)行局部擾動(dòng),增強(qiáng)了算法跳出局部最優(yōu)的能力但同時(shí)也使收斂因子a的偏離程度變大,因此,在收斂公式中加入收斂調(diào)整因子σ來(lái)控制收斂因子的偏離程度,使得對(duì)收斂因子a的調(diào)整更加合理。為驗(yàn)證收斂調(diào)整因子σ控制收斂因子偏離程度的有效性,引入偏離判別指標(biāo)δ,公式如下:
其中,n為迭代次數(shù),ai為無(wú)隨機(jī)調(diào)整數(shù)時(shí)改進(jìn)收斂因子a在第i次迭代時(shí)的取值;為收斂調(diào)整因子σ控制偏離程度后a的取值。
偏離判別指標(biāo)δ的值較小時(shí),表明收斂因子a的偏離程度較小。當(dāng)σ取不同的值時(shí)δ的大小如表1所示。
表1 偏離判別指標(biāo)對(duì)比表Table 1 Comparison of discriminant index deviation
由表1可以看出,當(dāng)收斂公式中不引入收斂調(diào)整因子σ(等同于σ取值為1)時(shí),收斂偏離指標(biāo)δ的值較大,即收斂因子a的偏離程度較大、算法的搜索效率較低;當(dāng)σ取0.8、0.5和0.1時(shí),偏離判別指標(biāo)δ的值隨σ取值的降低而降低,收斂因子的偏離程度得到有效控制,并在σ=0.1時(shí)達(dá)到本文所需的最優(yōu)值;當(dāng)σ取0.05時(shí),δ的值為8.478 3E-04,此時(shí)收斂因子的偏離程度非常小,幾乎可以忽略不記。由圖3可以更直觀地看到收斂公式中不引入收斂調(diào)整因子σ時(shí),收斂因子的偏離程度很大,引入σ后收斂因子的偏離程度得到了有效控制。
圖3 收斂因子偏離程度對(duì)比圖Fig.3 Comparison of deviation degree of convergence factor
綜上所述,收斂調(diào)整因子σ可以有效地控制收斂因子a的偏離程度,使得對(duì)收斂因子a的調(diào)整更加合理。
本文在原始的位置更新公式中引入個(gè)體歷史最優(yōu)位置引導(dǎo)策略,加強(qiáng)算法的收斂速度;同時(shí),構(gòu)造了個(gè)體相似度指標(biāo)、早熟判別指標(biāo)和反向搜索因子,用以判別灰狼個(gè)體是否陷入局部極值并使陷入局部極值的個(gè)體進(jìn)行反向搜索,增強(qiáng)算法跳出局部極值的能力。
2.3.1 向個(gè)體歷史最優(yōu)位置動(dòng)態(tài)學(xué)習(xí)
在原始灰狼算法的位置更新中灰狼個(gè)體只向群體最優(yōu)位置進(jìn)行學(xué)習(xí),為了使灰狼個(gè)體更快地到達(dá)最優(yōu)解附近區(qū)域,本文使灰狼個(gè)體在向群體最優(yōu)位置學(xué)習(xí)的同時(shí)向個(gè)體歷史最優(yōu)位置動(dòng)態(tài)學(xué)習(xí)。
此時(shí)改進(jìn)的位置更新公式如下:
2.3.2 種群早熟判別指標(biāo)
原始灰狼算法在探索和開(kāi)發(fā)的過(guò)程中都存在容易陷入局部最優(yōu)值無(wú)法跳出的問(wèn)題。為了合理地判斷算法是否陷入局部極值,并動(dòng)態(tài)地進(jìn)行反向搜索,本文在灰狼算法中引入個(gè)體相似度指標(biāo)σ和種群早熟判別指標(biāo)S。利用當(dāng)前灰狼個(gè)體與其他個(gè)體間位置的相似程度來(lái)定義個(gè)體相似度指標(biāo)σ,對(duì)種群中所有個(gè)體的相似度指標(biāo)取均值得到種群早熟判別指標(biāo)S,早熟判別指標(biāo)較高時(shí)則說(shuō)明算法有較大概率陷入局部極值即出現(xiàn)早熟現(xiàn)象。
首先,定義灰狼個(gè)體之間的相似度指標(biāo)σ,公式如下:
其中,σ(i)(i=1,2,…,N)為第i個(gè)灰狼個(gè)體的個(gè)體相似度指標(biāo);D為算法搜索空間的維度,N為種群數(shù)量,xi=(xi,1,xi,2,…,xi,D)為第i只灰狼的位置,xj=(xj,1,xj,2,…,xj,D)為第j只灰狼的位置,xi,k和xj,k分別為灰狼個(gè)體i的第k維和灰狼個(gè)體j的第k維,δ為相似度閾值,實(shí)驗(yàn)表明δ=0.3時(shí)算法的求解效果較好。
由式(16)得到種群中N個(gè)個(gè)體的相似度指標(biāo)值,然后對(duì)這N個(gè)指標(biāo)值進(jìn)一步求均值來(lái)衡量群體早熟情況,群體早熟判別指標(biāo)的計(jì)算公式如下:
其中,S(t)表示第t代的種群早熟判別指標(biāo),當(dāng)S(t)→1時(shí),種群中個(gè)體相似度較高,算法有較大可能陷入局部極值;當(dāng)S(t)→0時(shí),種群中個(gè)體相似度較低,算法陷入局部極值的可能性較小。
2.3.3 反向搜索因子
為進(jìn)一步提高算法跳出局部極值的能力,引入依據(jù)種群早熟判別指標(biāo)動(dòng)態(tài)調(diào)節(jié)自身取值的反向搜索因子,在種群陷入局部極值時(shí)使灰狼個(gè)體向整個(gè)種群中最差個(gè)體方向進(jìn)行反向搜索,使得種群能夠以一定概率跳出局部極值。
反向搜索因子q的公式如下:
其中,S(t)為第t代種群相似度指標(biāo);p為判別系數(shù),在本文中p取0.4。
由式(17)可以看出,當(dāng)早熟判別指標(biāo)較高時(shí)算法有較大可能陷入局部極值,此時(shí)反向搜索因子q隨早熟判別指標(biāo)大小動(dòng)態(tài)變化,以調(diào)控灰狼個(gè)體進(jìn)行反向搜索,加強(qiáng)算法跳出局部極值的能力;當(dāng)種群相似度指標(biāo)較低時(shí),反向搜索因子取0。
綜上所述,本文改進(jìn)的灰狼位置更新公式如下:
其中,xi(t)=(xi,1,xi,2,…,xi,D)為第t次迭代中第i只灰狼的位置;xibest為第i只灰狼個(gè)體的歷史最優(yōu)位置;xworst(t)為第t次迭代灰狼種群中適應(yīng)度最差的灰狼個(gè)體位置;q為反向搜索因子;c1為學(xué)習(xí)系數(shù),本文取c1=1-q;r1,r2為[0,1]之間的隨機(jī)數(shù)。
動(dòng)態(tài)反向搜索更新位置的灰狼優(yōu)化算法(DAGWO)的具體執(zhí)行步驟如下:
(1)設(shè)定種群規(guī)模N,最大迭代次數(shù)tmax,收斂因子的初始值ainitial和終止值afinal。
(2)種群初始化。利用Tent混沌映射(式(8))生成初始種群,式(9)~(10)生成一般反向種群,在兩個(gè)種群中選出適應(yīng)度最高的個(gè)體放入到最終的初始種群對(duì)應(yīng)位置。
(3)計(jì)算種群中每個(gè)個(gè)體的適應(yīng)度,得到最優(yōu)個(gè)體α,次優(yōu)個(gè)體β,第三優(yōu)個(gè)體δ,并記它們的位置分別為Xα,Xβ,Xδ。
(4)根據(jù)式(11)更新收斂因子a的值。
(5)根據(jù)式(3)、(4)更新A、C的值。
(6)根據(jù)式(14)~(17)計(jì)算群體相似度指標(biāo);根據(jù)式(18)得到反向?qū)W習(xí)因子。
(7)根據(jù)式(19)更新灰狼位置得到新一代灰狼種群。
(8)更新最優(yōu)個(gè)體α,次優(yōu)個(gè)體β,第三優(yōu)個(gè)體δ,和它們的位置Xα,Xβ,Xδ。
(9)檢驗(yàn)算法是否滿足算法的結(jié)束條件,若達(dá)到最大迭代次數(shù)tmax則停止計(jì)算輸出最優(yōu)位置Xα;否則,返回并重新執(zhí)行步驟(3)至步驟(8)。
本文通過(guò)20個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)改進(jìn)灰狼優(yōu)化算法(DAGWO)進(jìn)行仿真實(shí)驗(yàn)。為保證仿真實(shí)驗(yàn)的公平及合理性,令各算法的種群規(guī)模均為100,迭代次數(shù)為1 000,獨(dú)立運(yùn)行30次,所有參數(shù)保持一致。
在20個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)中f1~f10為單峰函數(shù),f11~f16為多峰函數(shù),f17~f20為固定維數(shù)多峰函數(shù)。標(biāo)準(zhǔn)測(cè)試函數(shù)的具體特征如表2所示。測(cè)試函數(shù)收斂曲線如圖4所示。
表2 標(biāo)準(zhǔn)測(cè)試函數(shù)Table 2 Standard test function
圖4 測(cè)試函數(shù)收斂曲線Fig.4 Test function convergence curves
本文通過(guò)求解上述20個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)標(biāo)準(zhǔn)灰狼算法(GWO)、標(biāo)準(zhǔn)粒子群算法(PSO)、蝙蝠算法(BA)[18]和本文改進(jìn)算法(DAGWO)的各項(xiàng)性能進(jìn)行測(cè)試和比較。各算法的參數(shù)設(shè)置如表3所示。
表3 算法的參數(shù)設(shè)置Table 3 Parameter setting of algorithms
對(duì)每個(gè)測(cè)試函數(shù),四個(gè)算法在采用上述實(shí)驗(yàn)參數(shù)的條件下獨(dú)立運(yùn)行30次,分別計(jì)算四個(gè)算法的平均精度值(Mean)和標(biāo)準(zhǔn)差(St.dev)。所有的仿真實(shí)驗(yàn)均在CPU:i5-10210、8 GB、1.6 GHz主頻的計(jì)算機(jī)上實(shí)現(xiàn),程序采用MATLAB R2019b語(yǔ)言實(shí)現(xiàn),具體結(jié)果如表4所示。
由表4可知,與標(biāo)準(zhǔn)GWO、BA、PSO算法相比,DAGWO算法在求解20個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)的綜合性能上有了明顯的提高,尤其是在算法的收斂速度、精度和跳出局部極值的能力上有很大的提升。測(cè)試函數(shù)F1~F10為單峰函數(shù),在標(biāo)準(zhǔn)測(cè)試函數(shù)F1、F3、F4、F5、F7、F8、F9、F10上三個(gè)標(biāo)準(zhǔn)算法求解的平均值與全局最優(yōu)解相差很大,而DAGWO算法均取得了理論最優(yōu)解且標(biāo)準(zhǔn)差為0,表明DAGWO算法與三個(gè)標(biāo)準(zhǔn)算法相比,有更高的求解精度和穩(wěn)定性,且由圖4可以看出,DAGWO算法的收斂速度明顯高于其他三種算法。對(duì)于函數(shù)F2,三個(gè)標(biāo)準(zhǔn)算法取得的最優(yōu)解與全局最優(yōu)解之間誤差較大而DAGWO算法雖然沒(méi)有取得理論最優(yōu)值但30次實(shí)驗(yàn)的平均值4.991 8E-202非常接近最優(yōu)值0,收斂精度明顯高于其他三個(gè)算法,且由圖像可知DAGWO在收斂速度和算法的穩(wěn)定性上都具有優(yōu)勢(shì)。對(duì)于函數(shù)F6,四種算法都沒(méi)有取得全局最優(yōu)解,但DAGWO算法的平均值和標(biāo)準(zhǔn)差最小,說(shuō)明了改進(jìn)算法的收斂精度和穩(wěn)定性更好。從單峰函數(shù)的求解結(jié)果來(lái)看DAGWO算法的收斂精度和速度遠(yuǎn)高于所測(cè)標(biāo)準(zhǔn)算法。
表4 四種算法性能測(cè)試結(jié)果Table 4 Performance test results of four algorithms
測(cè)試函數(shù)F11~F20為多峰函數(shù),多峰函數(shù)在全局最優(yōu)解周圍存在很多局部極值點(diǎn),易使算法在尋優(yōu)過(guò)程中陷入局部最優(yōu)無(wú)法跳出。在函數(shù)F11、F13、F16上DAGWO算法均收斂到了理論最優(yōu)解0,結(jié)合圖4可知DAGWO算法的收斂精度和速度都要高于標(biāo)準(zhǔn)算法,這表明DAGWO算法有較強(qiáng)的跳出局部極值的能力。對(duì)于函數(shù)F12、F14四個(gè)算法都沒(méi)有取得最優(yōu)解,但DAGWO算法的收斂精度較高、速度較快。對(duì)于函數(shù)F15,標(biāo)準(zhǔn)GWO算法和DAGWO算法有相同的高于其他兩個(gè)算法的求解精度,但DAGWO算法的標(biāo)準(zhǔn)差小、穩(wěn)定性好且收斂速度較快。對(duì)于函數(shù)F17、F18,PSO、BA、DAGWO算法均取得到了理論最優(yōu)解,但DAGWO算法的標(biāo)準(zhǔn)差更小穩(wěn)定性更強(qiáng),且由圖4可知DAGWO算法的收斂速度更快即改進(jìn)算法跳出局部極值的能力更強(qiáng)。對(duì)于函數(shù)F19、F20只有DAGWO算法取得了全局最優(yōu)解,收斂精度和速度明顯高于三個(gè)標(biāo)準(zhǔn)算法。從多峰函數(shù)的求解結(jié)果來(lái)看DAGWO算法有更強(qiáng)的全局尋優(yōu)能力和跳出局部極值的能力,與標(biāo)準(zhǔn)算法相比收斂的速度和精度都更有優(yōu)勢(shì)。
綜上所述,在單峰函數(shù)和多峰函數(shù)的求解上,與其他三種算法相比,DAGWO算法在收斂精度、速度和跳出局部最優(yōu)的能力上都體現(xiàn)出了較高的優(yōu)越性。
為了驗(yàn)證DAGWO算法中改進(jìn)種群初始化方式、收斂因子a和位置更新公式的有效性及可行性,將在GWO算法中只引入改進(jìn)種群初始化方式的算法稱為DAGWO-I;只引入改進(jìn)收斂因子a的算法稱為DAGWO-II;只引入改進(jìn)位置更新公式的算法稱為DAGWO-III。三種算法的參數(shù)設(shè)置均與表3中DAGWO算法的參數(shù)設(shè)置相同。利用上述測(cè)試函數(shù)中的F9、F11、F14、F19對(duì)DAGWO-I、DAGWO-II、DAGWO-III進(jìn)行性能測(cè)試,對(duì)比實(shí)驗(yàn)結(jié)果如表5所示,對(duì)比圖像如圖5所示。
由表5、圖5可以看出,DAGWO-I、DAGWO-II、DAGWO-III算法的平均值、標(biāo)準(zhǔn)差均優(yōu)于標(biāo)準(zhǔn)GWO算法,這表明本文改進(jìn)的種群初始化方式、收斂因子和位置更新公式都可以有效地加強(qiáng)算法的收斂精度、速度和穩(wěn)定性,尤其是改進(jìn)的位置更新公式能夠有效地提高算法的收斂精度和速度;對(duì)于多峰函數(shù)F14、F19,GWO算法求解時(shí)容易陷入局部最優(yōu),而DAGWO-III算法能夠跳出局部極值更接近理論最優(yōu)解,說(shuō)明DAGWO-III算法采用的反向?qū)W習(xí)機(jī)制能夠在一定程度上規(guī)避局部最優(yōu)解,從而提高算法的收斂精度。
圖5 DAGWO改進(jìn)策略對(duì)比圖Fig.5 Improved formula performance comparison diagram
表5 DAGWO改進(jìn)策略性能測(cè)試結(jié)果Table 5 DAGWO improved strategy performance test results
在文獻(xiàn)[19]中,龍文等學(xué)者提出EGWO算法,將PSO算法中對(duì)粒子自身運(yùn)動(dòng)歷史最優(yōu)解保存的思想和差分搜索的方法引入GWO算法中。本文的位置更新也使灰狼個(gè)體向個(gè)體歷史最優(yōu)位置動(dòng)態(tài)學(xué)習(xí),不同的是本文同時(shí)構(gòu)建了早熟判別指標(biāo)和反向搜索因子使算法在出現(xiàn)早熟現(xiàn)象時(shí)自適應(yīng)地進(jìn)行反向搜索,以提高算法跳出局部極值的能力從而提高算法的收斂精度和速度。為進(jìn)一步分析本文改進(jìn)位置更新公式的有效性,選取Sphere等五個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)兩個(gè)位置更新公式進(jìn)行實(shí)驗(yàn),EGWO-w是在原始算法中只引入EGWO中改進(jìn)的位置更新公式。由表6可得五個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)的尋優(yōu)結(jié)果,DAGWO-w的收斂精度要明顯高于EGWO-w,表明DAGWO算法改進(jìn)的位置更新公式有較強(qiáng)的跳出局部最優(yōu)的能力。由圖6可知對(duì)于五個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)DAGWO-w的收斂速度都明顯高于EGWO-w。綜上所述,DAGWO算法改進(jìn)的位置更新公式所采用的動(dòng)態(tài)反向搜索機(jī)制與EGWO算法所采用的差分搜索相比,動(dòng)態(tài)反向搜索機(jī)制有更強(qiáng)的跳出局部最優(yōu)的能力和更快的收斂速度。
圖6 改進(jìn)公式性能對(duì)比圖Table 6 Comparison of improved formula performance
表6 改進(jìn)位置更新公式對(duì)比表Table 6 Comparison of improved location update formula
使用三種改進(jìn)策略相融合的DAGWO算法的收斂速度、精度和穩(wěn)定性都要優(yōu)于使用單一改進(jìn)策略的DAGWO-I算法、DAGWO-II算法、DAGWO-III算法和原算法。因此可得單獨(dú)使用改進(jìn)的種群初始化方式、改進(jìn)的收斂因子和改進(jìn)的位置更新方程都可以對(duì)提高算法的性能起一定的效果但效果有限,而組合的改進(jìn)策略可以更加有效地提高算法的尋優(yōu)能力。
上述仿真實(shí)驗(yàn)的數(shù)據(jù)表明,與三個(gè)標(biāo)準(zhǔn)算法相比DAGWO算法的平均值和標(biāo)準(zhǔn)差最小,即DAGWO算法種群多樣性更高,發(fā)掘最優(yōu)解的能力強(qiáng)于其他三類算法。為更直觀地分析改進(jìn)算法的種群多樣性,圖7中給出了DAGWO算法在二維搜索空間中生成100個(gè)個(gè)體的初始種群分布情況;圖8給出了對(duì)于單峰測(cè)試函數(shù)Sphere和多峰測(cè)試函數(shù)Griewank,DAGWO算法在迭代前期和迭代后期時(shí)種群個(gè)體分布情況。
圖7 DAGWO初始種群分布圖Fig.7 Initial population profile of DAGWO
GWO算法在迭代前期需要較大的搜索空間,從而有利于提高算法的全局搜索能力,而初始種群多樣性的好壞影響著算法的搜索范圍和解的質(zhì)量,多樣性較好的初始種群對(duì)提高算法的尋優(yōu)性能很有幫助。原始GWO算法的初始種群是隨機(jī)產(chǎn)生的,難以確保初始種群的多樣性,而由圖7可以直觀地看出,DAGWO算法生成的初始種群中個(gè)體較為均勻地覆蓋在整個(gè)搜索空間中,具有較好的種群多樣性從而使算法有較好的全局搜索能力。雖然均勻分布會(huì)產(chǎn)生一些質(zhì)量較差的解,但改進(jìn)DAGWO算法中引入了個(gè)體最優(yōu)引導(dǎo)策略,使這些解迅速地向最優(yōu)解方向靠攏,從而使算法在增強(qiáng)全局搜索能力的同時(shí)也有較快的收斂速度。
由圖8得知,不論是單峰函數(shù)還是多峰函數(shù)DAGWO算法在迭代前期種群個(gè)體的分布空間都較大,種群多樣性較好,能夠有效提高算法的全局搜索能力;迭代后期種群個(gè)體集中在最優(yōu)解附近的一個(gè)較小的區(qū)域內(nèi)且有部分個(gè)體保持相對(duì)分散,使得在算法進(jìn)行局部搜索的同時(shí)保持種群多樣性,避免算法陷入局部最優(yōu)。
圖8 種群個(gè)體分布情況圖Fig.8 Population individual distribution
綜合以上分析,DAGWO算法中的改進(jìn)策略能夠有效地提高算法種群多樣性,提高算法全局搜索能力,降低算法迭代后期陷入局部最優(yōu)的可能性。
8個(gè)測(cè)試函數(shù)的尋優(yōu)結(jié)果對(duì)比如表7所示,為了更好地驗(yàn)證改進(jìn)DAGWO算法的有效性,將本文提出的DAGWO算法與改進(jìn)CGWO[20]、改進(jìn)TS-GWO[21]、改 進(jìn)SAGWO[22]算法相比較,參數(shù)設(shè)置和數(shù)據(jù)均來(lái)自于對(duì)應(yīng)文獻(xiàn)。
表7 DAGWO算法與其他不同策略改進(jìn)算法比較Table 7 Comparison of DAGWO algorithm with other improved algorithms
對(duì)于函數(shù)F2、F3、F4、F6、F12,DAGWO算法的平均值和標(biāo)準(zhǔn)差均明顯優(yōu)于其他三個(gè)改進(jìn)算法,表明DAGWO算法在收斂精度和穩(wěn)定性上有明顯的優(yōu)勢(shì)。對(duì)于函數(shù)F11,四個(gè)算法均取得了較好的收斂精度,由收斂曲線圖可以直觀地看出DAGWO算法的收斂速度更快;對(duì)于函數(shù)F13,DAGWO、SAGWO、CGWO算法都收斂到了最優(yōu)解0,但由圖9的收斂曲線可以看出,對(duì)于這兩個(gè)測(cè)試函數(shù)DAGWO算法的收斂速度均高于其他三種算法。綜上所述,與以上三種不同策略改進(jìn)的GWO算法相比,本文提出的DAGWO算法在各項(xiàng)性能上均優(yōu)于其他三種改進(jìn)灰狼算法。
圖9 DAGWO與其他改進(jìn)GWO算法的比較Fig.9 Comparison of DAGWO algorithm and other improved algorithms
本文在標(biāo)準(zhǔn)GWO算法的基礎(chǔ)上提出了動(dòng)態(tài)反向搜索的改進(jìn)灰狼算法(DAGWO),主要進(jìn)行了以下三個(gè)部分的改進(jìn):在算法中的位置更新公式中,引入由種群早熟判別指標(biāo)和反向搜索因子組成的動(dòng)態(tài)反向搜索機(jī)制,提高算法跳出局部最優(yōu)的能力從而提高算法的收斂速度和精度;引入新型非線性收斂因子a,并加入服從beta分布的隨機(jī)調(diào)整數(shù)和收斂控制因子,以更好地平衡算法的全局和局部搜索能力;采用混沌映射和一般動(dòng)態(tài)反向?qū)W習(xí)初始化種群,以提高種群的多樣性。通過(guò)在20個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)上的仿真實(shí)驗(yàn),與三種標(biāo)準(zhǔn)智能優(yōu)化算法和其他文獻(xiàn)提出的三種改進(jìn)灰狼算法進(jìn)行對(duì)比,仿真實(shí)驗(yàn)結(jié)果表明本文提出的DAGWO算法有更高的求解精度、收斂速度和跳出局部最優(yōu)的能力。