黨星海 王夢娟
(1.蘭州理工大學(xué)土木工程學(xué)院 蘭州 730050)(2.蘭州理工大學(xué)建筑勘察設(shè)計研究院 蘭州 730050)
近20年來,群智能優(yōu)化算法得到了快速發(fā)展,已經(jīng)成為解決科學(xué)和工程領(lǐng)域優(yōu)化問題的有效手段,典型的有粒子群算法、蟻群算法、差分進(jìn)化算法、引力搜索算法等。它們各自體現(xiàn)了不同的優(yōu)化性能,但目前仍沒有一種算法能夠解決所有優(yōu)化問題,為此,探索新的、高效且適應(yīng)范圍廣的優(yōu)化算法十分必要[1~3]。
灰狼優(yōu)化(Grey Wolf Optimizer,GWO)算法是由Mirjalili等[4]于2014年提出的一種新型的群智能優(yōu)化算法。該算法一方面模擬了自然界灰狼群體覓食行動,表現(xiàn)出了驚人的群體智能,另一方面具有較少的設(shè)置參數(shù)和較優(yōu)的全局搜索能力,因而得到人們?nèi)找嬖鲩L的重視。目前,GWO算法已經(jīng)成功應(yīng)用于表面波參數(shù)優(yōu)化、傳感器網(wǎng)絡(luò)訓(xùn)練、直流電機(jī)最優(yōu)控制、經(jīng)濟(jì)調(diào)度指派問題等領(lǐng)域中。但是在實(shí)際使用中,人們發(fā)現(xiàn)基本GWO算法和其他優(yōu)化算法一樣,存在易陷入局部最優(yōu)的缺點(diǎn)。為了解決這個問題,國內(nèi)外學(xué)者展開了研究。國外的研究,如:文獻(xiàn)[5]提出反向?qū)W習(xí)策略,用來實(shí)現(xiàn)GWO算法的并行化;文獻(xiàn)[6]提出在GWO算法中嵌入動態(tài)種群算子,用來增強(qiáng)算法的局部搜索能力;文獻(xiàn)[7]提出加權(quán)距離策略,用來調(diào)整GWO算法的位置更新方程。國內(nèi)的研究,如:文獻(xiàn)[8]提出混沌和精英反向?qū)W習(xí)的混合策略來改進(jìn)GWO算法,在求解高維優(yōu)化問題上取得了顯著效果;文獻(xiàn)[9]構(gòu)建了一種DE和GWO的混合算法,在一定程度上增強(qiáng)了算法的全局搜索能力;文獻(xiàn)[10]在GWO算法中嵌入選擇算子和更改線性收斂因子,提升了算法跳出局部最優(yōu)的能力。盡管GWO算法得到了一些優(yōu)化,但算法在搜索精度、尋優(yōu)穩(wěn)定性和收斂速度上仍不是很理想。
在前人研究的基礎(chǔ)上,本文提出了一種新型混合改進(jìn)策略,旨在進(jìn)一步增強(qiáng)GWO算法的尋優(yōu)能力。主要貢獻(xiàn)有:1)提出了分群優(yōu)化策略,以加強(qiáng)算法局部搜索和全局搜索之間的信息交換;2)提出了高斯變異和隨機(jī)擾動策略,以維持算法進(jìn)化過程中的種群多樣性。通過引入包含單峰、多峰和固定維度多峰的多個基準(zhǔn)測試函數(shù),仿真實(shí)驗(yàn)驗(yàn)證了改進(jìn)GWO算法的有效性。并與其他幾種先進(jìn)優(yōu)化算法的綜合比較與分析中,改進(jìn)算法在搜索精度、尋優(yōu)穩(wěn)定性和收斂速度上體現(xiàn)出了明顯優(yōu)勢。
灰狼是一種體型健碩的犬科類物種,多以群居為主。它們通常以5~12頭灰狼聚集成一個具有嚴(yán)格社會等級制度的群體,如圖1所示。圖1描繪了灰狼群體內(nèi)的金字塔等級制度,具體為金字塔頂端的狼稱為α,是整個灰狼群的領(lǐng)導(dǎo)者,負(fù)責(zé)群體各項事務(wù)的決策;第二層的狼稱為β,協(xié)助α的管理,當(dāng)群體中缺失α?xí)r,β接替;第三層的狼稱為δ,聽從α和β的指令,可以指揮其他底層狼;最底層的狼稱為ω,負(fù)責(zé)群體內(nèi)部關(guān)系的平衡,完成高層狼交代的任務(wù)[11~13]。
圖1 灰狼金字塔等級圖
灰狼群體狩獵時,由α帶隊,β和δ進(jìn)行協(xié)助,其余ω聽從上層指揮,實(shí)施對獵物的包圍、獵捕和攻擊。首先,灰狼群對獵物進(jìn)行包圍,該過程的數(shù)學(xué)描述為
其中:Xp表示獵物的位置;X(t)表示第t代時灰狼個體的位置;A和C為系數(shù)向量;r1和r2為[0,1]的隨機(jī)向量;a為收斂因子,a=2-2t/T,T為最大迭代次數(shù)。其次,灰狼群進(jìn)行獵捕。該過程由α、β和δ狼來引導(dǎo),更新灰狼個體位置,數(shù)學(xué)描述如下:|A|>1灰狼散去,進(jìn)行全局搜索。
最后,灰狼群進(jìn)行攻擊,完成捕獲獵物這一目標(biāo),即GWO算法獲得的最優(yōu)解。攻擊行為主要依據(jù)式(3)中a值由2遞減到0來實(shí)現(xiàn)。當(dāng)|A|<1時,灰狼群對獵物集中攻擊,對應(yīng)于局部搜索;當(dāng)
混合蛙跳算法[14]是一種模擬青蛙覓食行為的群智能算法。青蛙群覓食過程中,各個不同種群的青蛙分別覓食,種群內(nèi)最差的青蛙不斷調(diào)整覓食位置,向種群內(nèi)最好的青蛙靠攏;調(diào)整完成后,所有青蛙聚集在一起,交換覓食信息;交換完信息后,再次分群覓食。該過程將局部搜索與全局搜索結(jié)合起來,使得算法向著全局最優(yōu)解的方向進(jìn)行。借鑒混合蛙跳算法局部和全局信息交換的思想,本文將其應(yīng)用于灰狼優(yōu)化算法,構(gòu)建一種基于分群優(yōu)化的灰狼優(yōu)化算法,如圖2所示。
圖2 算法的分群優(yōu)化過程
對于一個d維的優(yōu)化問題,首先,隨機(jī)生成具有F個灰狼(解)組成初始群體(X1,X2,…,XF)。其中,表示問題的第i個解。每個灰狼具有獨(dú)自的環(huán)境適應(yīng)能力。通過量化灰狼的環(huán)境適應(yīng)能力,則可以將所有灰狼個體依據(jù)適應(yīng)度值大小進(jìn)行排列。通過給定灰狼子群體M,將適應(yīng)能力排名第1的灰狼劃分入第1子群體,排名第2的灰狼劃分入第2子群體,排名第M的灰狼分入第M子群體。接著,將排名第M+1的灰狼分入第1子群體,排名第M+2的灰狼分入第2子群體,以此類推,一直劃分完所有的灰狼個體。劃分完成后的每個子群體實(shí)施局部深度搜索,即在每個子群體內(nèi)實(shí)行GWO。最后,當(dāng)所有的灰狼子群體局部搜索完成后,所有的灰狼個體匯集并依據(jù)適應(yīng)度值大小重新排列,并再次劃分灰狼子群體實(shí)施局部深度搜索,如此反復(fù)直到滿足預(yù)設(shè)的混合迭代次數(shù)結(jié)束。
在進(jìn)化后期,GWO算法內(nèi)灰狼種群個體多樣性大量減少,即重復(fù)的個體越來越多,如果發(fā)生局部收斂情況,那么GWO算法將很難跳出該收斂情況。對于進(jìn)化類算法,一種比較好的解決思路是維持種群的多樣性[15]。跟隨這種思路,本文提出高斯變異和隨機(jī)擾動策略,以維持GWO算法進(jìn)化過程中的種群多樣性,進(jìn)而增強(qiáng)算法擺脫局部最優(yōu)解的能力,保證算法的搜索精度。
在每代灰狼種群更新之前,首先計算當(dāng)前種群的平均適應(yīng)度值,然后對該種群所有適應(yīng)度優(yōu)于平均適應(yīng)度值的個體X1(t)采用高斯變異,否則進(jìn)行隨機(jī)擾動。高斯變異的新個體為
其中:N(0,1))表示期望為0,標(biāo)準(zhǔn)差為1的正態(tài)分布隨機(jī)數(shù)?;谪澙凡呗缘膫€體更新如下:
對于該種群所有適應(yīng)度劣于平均適應(yīng)度值的個體X2(t)采用隨機(jī)擾動,隨機(jī)擾動的新個體為
其中:lb和ub分別為灰狼個體位置的下界與上界;r3為[0,1]的隨機(jī)向量?;谪澙凡呗缘碾S機(jī)擾動個體更新如下:
進(jìn)化前期,高斯變異、隨機(jī)擾動策略使得算法快速尋找最優(yōu)解;進(jìn)化后期,增加種群多樣性,為跳出局部最優(yōu)創(chuàng)造了條件。
圖3給出了改進(jìn)灰狼優(yōu)化算法的基本流程。
圖3 IGWO算法流程
其具體實(shí)施步驟如下。
步驟1參數(shù)初始化。給定灰狼子群數(shù)M,子群內(nèi)灰狼數(shù)N,子群內(nèi)搜索次數(shù)I,混合迭代次數(shù)J,并初始化a、A和C參數(shù);
步驟2依據(jù)搜索問題的上界和下界,隨機(jī)初始化灰狼種群F=NM;
步驟3通過適應(yīng)度函數(shù)量化每個灰狼個體的適應(yīng)能力,并依據(jù)適應(yīng)能力優(yōu)劣排列所有灰狼個體,按照3.1節(jié)所述分群策略依次劃分到各個給定的子群體中;
步驟4通過適應(yīng)度函數(shù)計算當(dāng)前子群體的平均適應(yīng)度值,如果適應(yīng)度優(yōu)于平均適應(yīng)度值的灰狼個體,按照式(12)、(13)進(jìn)行高斯變異;否則,按照式(14)、(15)進(jìn)行隨機(jī)擾動;
步驟5選擇適應(yīng)度最優(yōu)的前三頭狼α、β和δ;
步驟6依據(jù)式(5)~(11)更新其他狼位置;
步驟7更新參數(shù)a、A和C;
步驟8如果達(dá)到子群內(nèi)搜索次數(shù)I,則轉(zhuǎn)到步驟9,否則返回步驟4;
步驟9將所有子群體的狼混合;
步驟10如果達(dá)到混合迭代次數(shù)J,則輸出混合群體中最優(yōu)α的適應(yīng)度值,否則返回步驟3。
為了說明改進(jìn)灰狼優(yōu)化算法(IGWO)優(yōu)越性,本文利用文獻(xiàn)[9]提出的HGWO算法、本文提出的IGWO算法以及基本GWO算法和其他智能優(yōu)化算法GSA和DE對18個基準(zhǔn)測試函數(shù)[16]進(jìn)行了一一測試。這18個基準(zhǔn)測試函數(shù)主要分為三類:第一類為單峰基準(zhǔn)測試函數(shù)F1~F6,見表1;第二類為多峰基準(zhǔn)測試函數(shù)F7~F12,見表2;第三類為固定維度多峰基準(zhǔn)測試函數(shù)F13~F18,見表3。為保證公平,統(tǒng)一設(shè)置了所有算法的種群規(guī)模和最大迭代次數(shù)分別為30和500。此外,DE縮放因子為0.5,交叉概率為0.2;IGWO參數(shù)設(shè)置為M=10,N=30,I=50,J=10,以上參數(shù)設(shè)置均保證了各算法達(dá)到收斂狀態(tài)。
表1 單峰基準(zhǔn)測試函數(shù)
表2 多峰基準(zhǔn)測試函數(shù)
表3 固定維度多峰基準(zhǔn)測試函數(shù)
實(shí)驗(yàn)中考慮了優(yōu)化算法搜索結(jié)果的隨機(jī)性,故分別獨(dú)立運(yùn)行各個算法30次,并以該30次運(yùn)行結(jié)果的均值和標(biāo)準(zhǔn)差分別評價算法搜索精度和穩(wěn)定性兩項指標(biāo),測試結(jié)果見表4~6。
表4 單峰基準(zhǔn)測試函數(shù)測試結(jié)果
從表4~6中可以看出,相較于HGWO算法,除函數(shù)F3、F7、F9和F11外,IGWO算法的搜索精度更優(yōu),穩(wěn)定性更好;相較于基本GWO算法,除函數(shù)F3外,IGWO算法的無論在搜索精度還是尋優(yōu)穩(wěn)定性上均明顯好于GWO算法;相較于GSA和DE算法,針對單峰、多峰以及固定維度多峰基準(zhǔn)測試函數(shù),IGWO算法在搜索精度上均體現(xiàn)出了明顯優(yōu)勢,且尋優(yōu)十分穩(wěn)定。綜上,說明了IGWO算法是一種具備搜索精度和穩(wěn)定性皆好的優(yōu)化算法。
表5 多峰基準(zhǔn)測試函數(shù)測試結(jié)果
表6 固定維度多峰基準(zhǔn)測試函數(shù)測試結(jié)果
為了直觀體現(xiàn)IGWO算法的優(yōu)越性,圖4給出了五種優(yōu)化算法對不同基準(zhǔn)測試函數(shù)的平均收斂曲線??紤]到篇幅限制,僅代表性地給出了針對種群1的單峰基準(zhǔn)測試函數(shù)F1、多峰基準(zhǔn)測試函數(shù)F7和固定維度多峰基準(zhǔn)測試函數(shù)F13的平均收斂曲線??梢钥闯?,IGWO算法的收斂精度明顯優(yōu)于另外四種優(yōu)化算法,且在收斂速度上也具備一定優(yōu)勢。
圖4 函數(shù)F1、F7和F13的收斂曲線
灰狼優(yōu)化算法是一種新型的群智能算法,針對其易陷入局部最優(yōu)的缺點(diǎn),本文提出了一種混合改進(jìn)策略。受混合蛙跳算法的啟發(fā),提出分群優(yōu)化策略,加強(qiáng)了算法局部搜索和全局搜索之間的信息交換;通過采用高斯變異和隨機(jī)擾動策略,維持了算法進(jìn)化過程中的種群多樣性。通過18個基準(zhǔn)測試函數(shù)的數(shù)值實(shí)驗(yàn),驗(yàn)證了改進(jìn)算法的有效性。相比于四種先進(jìn)的優(yōu)化算法:混合灰狼優(yōu)化算法、基本灰狼優(yōu)化算法、引力搜索算法和差分進(jìn)化算法,本文所提改進(jìn)灰狼優(yōu)化算法在搜索精度、尋優(yōu)穩(wěn)定性和收斂速度上體現(xiàn)出了明顯優(yōu)勢,進(jìn)一步推進(jìn)了灰狼優(yōu)化算法的改進(jìn)研究。針對目前卷積神經(jīng)網(wǎng)絡(luò)、長短時記憶網(wǎng)絡(luò)、深度置信網(wǎng)絡(luò)等深度網(wǎng)絡(luò)搭建過程中的網(wǎng)絡(luò)層數(shù)、神經(jīng)元、學(xué)習(xí)率等參數(shù)難確定問題,下一步工作將集中于改進(jìn)灰狼優(yōu)化算法在深度學(xué)習(xí)模型參數(shù)優(yōu)化中的應(yīng)用。