HGWOSCA-改進(jìn)的灰狼優(yōu)化算法1(Matlab)
在作者前面的文章中介紹了灰狼優(yōu)化算法(Grey Wolf Optimization,GWO)的原理及其MATLAB實現(xiàn),灰狼優(yōu)化算法是Mirjalili等[1]于2014年提出的一種新型SI算法,GWO通過模擬灰狼群體捕食行為,基于狼群群體協(xié)作的機(jī)制來達(dá)到優(yōu)化的目的,這一機(jī)制在平衡探索和開發(fā)方面取得了不錯的效果,并且在收斂速度和求解精度上都有良好的性能,目前已廣泛應(yīng)用于工程領(lǐng)域,如:神經(jīng)網(wǎng)絡(luò)、調(diào)度、控制、電力系統(tǒng)等。
雖然GWO在應(yīng)用上非常成功,但其仍有幾個缺點:
1.其勘探/開發(fā)保持為1,而在其他的優(yōu)化算法往往是以一個減小的比例來加速搜索的過程,在迭代初期,算法需要注重勘探以避免局部極小值,在迭代后期,算法需要注重開發(fā)以進(jìn)行精確搜索,提高尋優(yōu)精度。而勘探和開發(fā)對應(yīng)著算法中的搜索獵物和攻擊獵物,主要由參數(shù)a和A控制,當(dāng)A<1時即攻擊,A>1時即搜索
2.不同類別的狼存在依賴性,比如低級的狼就依賴于??狼,雖然這樣能有極其有效的開發(fā)能力,但也降低了多樣性,容易導(dǎo)致過早收斂和局部極值。
3.初始種群多樣性差,這是由GWO的初始種群生成方式導(dǎo)致的。隨機(jī)初始化生成初始種群的方式無法保證較好的種群多樣性。
因此對于灰狼優(yōu)化算法的改進(jìn)可以從這3個方面入手,其改進(jìn)策略也是多樣的。基于以上認(rèn)識,本文對控制參數(shù)以及頭狼的位置更新進(jìn)行了改進(jìn)。
00 文章目錄
1 灰狼優(yōu)化算法原理
2 改進(jìn)的灰狼優(yōu)化算法
3 代碼目錄
4 算法性能
5 總結(jié)
01 灰狼優(yōu)化算法原理
關(guān)于灰狼優(yōu)化算法的原理在前面的文章中已作了闡述,這里不再展開,想要了解的朋友可以點擊下面的鏈接查看。
超詳細(xì) | 灰狼優(yōu)化算法原理及其實現(xiàn)(Matlab)
02 改進(jìn)的灰狼優(yōu)化算法
2.1 改進(jìn)控制參數(shù)a
GWO中的參數(shù)a控制勘探和開發(fā)過程,其主要影響A的值,當(dāng) | A | > 1 時,灰狼群體將擴(kuò)大包圍圈,以尋找更好的獵物,此時對應(yīng)于全局搜索(勘探); 當(dāng)| A | < 1 時,灰狼群體將收縮包圍圈,以對獵物完成最后的攻擊行為,此時對應(yīng)于局部精確搜索(開發(fā))。
參數(shù)a的變化是從勘探到開發(fā)過渡的控制因素,灰狼在自然界中的狩獵過程是復(fù)雜的,因此簡單的線性變化不能有效的表征其搜索過程。本文使用正弦形式的a的變化來改進(jìn)線性的搜索過程,其表達(dá)式如下:
其中,t表示當(dāng)前迭代數(shù),max_iter表示最大迭代數(shù)。
下圖中展示了該非線性函數(shù)和標(biāo)準(zhǔn)GWO中的線性函數(shù)的比較。由圖可知,本文的非線性函數(shù)在迭代初期,a的取值更廣,其可用于勘探的范圍也更廣;而在迭代后期,a較小,有助于算法進(jìn)行局部開發(fā),加快其收斂速度。
2.2 改進(jìn)位置更新機(jī)制
由GWO的搜索機(jī)制可知,狼群質(zhì)量主要由α、β、δ狼以及父代狼的位置決定,因此,若頭狼陷入局部最優(yōu),則狼群也會朝著偏離全局最優(yōu)的方向搜索,導(dǎo)致GWO無法找到最優(yōu)解。因此為提高算法的性能,可以對頭狼的搜索機(jī)制進(jìn)行改進(jìn)。
正余弦算法(SCA)具有較高的勘探性能可以避免局部最優(yōu),但其開發(fā)效率低于GWO,而GWO雖然在局部開發(fā)中有更好的性能,但GWO在處理大規(guī)模問題時全局勘探性能會降低[2],因此將SCA合并到GWO中能夠提高GWO的勘探能力,這樣的混合算法能克服其陷入局部最優(yōu)。因此本文將SCA的機(jī)制引入對于頭狼引導(dǎo)的更新中,以提高算法的全局性,加速搜索,避免算法迭代多次而無任何改進(jìn)。
2.2.1 正余弦算法
正余弦算法是 Mirjalili 于 2016 年提出的一種新型優(yōu)化算法。該方法會創(chuàng)建不同的初始隨機(jī)解決方案,并要求他們使用基于正弦或余弦函數(shù)的數(shù)學(xué)模型向外波動或朝向最佳解決方案前進(jìn),位置更新公式:
其中: Xt是第 t 次迭代時搜索代理的位置; X* t 是目標(biāo)全局最優(yōu)解決方案; r1、r2、r3、r4 均為[0,1]內(nèi)的隨機(jī)數(shù)。
2.2.2 ALPHA狼位置更新方法
利用上一節(jié)中的公式來更新alpha狼引導(dǎo)的位置,以平衡勘探和開發(fā)過程,加速算法收斂,對于其余狼的更新方法與傳統(tǒng)GWO算法相同,alpha狼引導(dǎo)的位置更新公式如下:
2.3 算法流程
HGWOSCA(hybrid GWO-SCA)算法主要流程與GWO相同,其差異主要在與對于a參數(shù)以及alpha狼引導(dǎo)的更新中。
03 代碼目錄
代碼獲取方式見文末
04 算法性能
采用CEC的測試函數(shù)F9來初步檢驗其尋優(yōu)性能,其運行結(jié)果如下:
05 總結(jié)
本文嘗試了兩種改進(jìn)方法來改進(jìn)GWO,即正弦函數(shù)模擬狩獵以及通過SCA算法對alpha狼的位置進(jìn)行更新,可以看出這種改進(jìn)對于性能的提升雖有但不明顯,因此作者后面也將進(jìn)一步在該代碼基礎(chǔ)上改進(jìn),策略有如下幾點:由于GWO算法本身不涉及個體歷史最優(yōu)信息,也即是無記憶種群,因此可以學(xué)習(xí)粒子群算法的策略,將個體歷史最優(yōu)引入包圍行為中,同時,由于領(lǐng)頭狼包含α、β、δ,這三個頭狼協(xié)同引領(lǐng)了群體進(jìn)化的方向,因此可以將SCA算法應(yīng)用于這三頭狼來增加其搜索空間,有助于GWO的全局搜索等等,具體策略在作者后面的文章將進(jìn)行更新,歡迎關(guān)注~
參考文獻(xiàn)
[1]MIRJALILI S,MIRJALILI S M,LEWIS A.Grey Wolf Optimi-zer[J].Advances in Engineering Software,2014,69(3):46-61.
[2]Long, W., Jiao, J., Liang, X., & Tang, M. (2018). Inspired grey wolf optimizer for solving large-scale function optimization problems. Applied Mathematical Modelling, 60,112–126.
文章來源: KAU的云實驗臺
工程師必備
- 項目客服
- 培訓(xùn)客服
- 平臺客服
TOP




















