優(yōu)化算法筆記(二十九)禿鷹算法

1. 算法簡(jiǎn)介

(以下描述,均不是學(xué)術(shù)用語(yǔ),僅供大家快樂(lè)的閱讀)
  禿鷹優(yōu)化算(bald eagle search optimization algorithm)是根據(jù)禿鷹的捕食過(guò)程提出的優(yōu)化算法。該算法提出(發(fā)表)于2019年,屬于較新的優(yōu)化算法。
  禿鷹算法模擬了禿鷹捕食的三個(gè)階段,選擇區(qū)域、搜索獵物、俯沖捕獵。隨著迭代次數(shù)的增加,禿鷹會(huì)改變其搜索方式。總體來(lái)說(shuō)禿鷹算法是綜合了粒子群算法和鯨魚(yú)算法,不過(guò)其性能可以說(shuō)是青出于藍(lán)而勝于藍(lán)了,畢竟每個(gè)個(gè)體搜索了三次。

2. 算法流程

本次的主角就是禿鷹了。禿鷹個(gè)體也是只有位置這一個(gè)屬性,禿鷹種群數(shù)量為N,每只禿鷹的位置為P=(p^1,p^2,...,p^D),該位置的優(yōu)劣由其適應(yīng)度函數(shù)F(X)計(jì)算得出。
  禿鷹捕食有三個(gè)階段(搜索方式):選擇階段(Select stage),搜索階段(Search stage),俯沖階段(Swooping stage)。

2.1選擇階段

選擇階段,禿鷲會(huì)飛到當(dāng)前最優(yōu)個(gè)體附近,與最優(yōu)個(gè)體的距離由全體個(gè)體的平均位置決定。


  公式(1)中p_{new,i}表示當(dāng)前個(gè)體選擇的新位置,alpha為[1.5,2]內(nèi)的常數(shù),r為[0,1]內(nèi)均勻分布的隨機(jī)數(shù),p_{mean}為當(dāng)前群體的平均位置。
  如果新位置優(yōu)于原位置,禿鷹則會(huì)飛行到新位置,否則留在原地。

2.2搜索階段

搜索階段,禿鷹會(huì)圍繞當(dāng)前位置,以阿基米德螺線方式搜索,其具體實(shí)現(xiàn)如下:


  其中公式(5)中a為取值在[5,10]中的常數(shù),R是取值在[0.5,2]中的常數(shù),rand為[0,1]內(nèi)的均勻隨機(jī)數(shù)。
  從公式(2)可以看出,禿鷹圍繞自身飛行,飛行的距離由自身與群體中心的距離和自身與下一只禿鷹的距離決定。(如果當(dāng)前禿鷹是群體中的最后一只,它的下一只禿鷹則為群體的第一只禿鷹)。
  如果搜索得到的新位置優(yōu)于原位置,禿鷹則會(huì)飛行到新位置,否則留在原地。

2.3俯沖階段

俯沖階段則是在當(dāng)前的最優(yōu)位置周?chē)月菥€的方式搜索,其具體公式如下:


  公式(6)c1,c2為常數(shù),一般取值為2,rand為[0,1]內(nèi)的均勻隨機(jī)數(shù)。
  可以看出次階段,禿鷹會(huì)圍繞著最優(yōu)個(gè)體搜索,但又不是完全圍繞最優(yōu)個(gè)體搜索,公式(6)中,最優(yōu)個(gè)體前有隨機(jī)數(shù)作為系數(shù)。由于隨機(jī)數(shù)的存在,該個(gè)體所圍繞的中心會(huì)漸漸的向0靠近,故當(dāng)0點(diǎn)為最優(yōu)位置時(shí),算法將取得較好的效果。
  該階段依然需要貪心算法,如果搜索得到的新位置優(yōu)于原位置,禿鷹則會(huì)飛行到新位置,否則留在原地。

2.4流程圖


  可以看出禿鷹算法的每一次迭代過(guò)程中,每只禿鷲進(jìn)行了三次適應(yīng)度值計(jì)算,而其他大多數(shù)算法只進(jìn)行了一次計(jì)算,所以在做對(duì)照實(shí)驗(yàn)時(shí),應(yīng)該將禿鷹算法的最大迭代次數(shù)或者種群數(shù)設(shè)置為其他算法的1/3。

3. 實(shí)驗(yàn)

適應(yīng)度函數(shù)f(x_1,x_2)=(x_1-a)^2+(x_2-b)^2,a=b=90
實(shí)驗(yàn)一

問(wèn)題維度(維度) 2
總?cè)簲?shù)量(種群數(shù)) 20
最大迭代次數(shù) 50
取值范圍 (-100,100)
實(shí)驗(yàn)次數(shù) 10
C1 2
C2 2
alpha公式(1) 2
a公式(5)(9) 10
R公式(5)(9) 1.5

從圖像可以看出,禿鷹算法的收斂速度還是挺快的,在第3代時(shí)就已經(jīng)非常集中了。考慮到它每代計(jì)算三次的作弊行為,也可以認(rèn)為在第9代時(shí)收斂。

最優(yōu)值 1.516652616780882E-23
最差值 3.311250131703701E-17
平均值 3.4414438428571417E-18

結(jié)果上看,也是非常的好,畢竟是三倍的付出,結(jié)果可以說(shuō)是同等條件下算法中比較優(yōu)秀的了。
  由于有貪心步驟的存在,圖像上看不出其俯沖階段向0點(diǎn)靠近的行為。下面移除所有階段的貪心步驟,看看禿鷹的運(yùn)動(dòng)過(guò)程。
實(shí)驗(yàn)二: 移除禿鷹算法的貪心步驟,自由飛翔。

可以看出移除貪心步驟后,種群不再收斂,給我的感覺(jué)是在0點(diǎn)和最優(yōu)點(diǎn)之間的區(qū)域飛行,不過(guò)也不好說(shuō)。

最優(yōu)值 0.030622151048277216
最差值 0.41104809161705186
平均值 0.1993553041755197

實(shí)驗(yàn)結(jié)果也較為一般,明顯弱于有貪心步驟時(shí)的結(jié)果。
  如果算法確實(shí)會(huì)向0收斂,猜測(cè)會(huì)有下面兩種結(jié)果:
  (1) 在實(shí)驗(yàn)二的基礎(chǔ)上,將上面適應(yīng)度函數(shù)取值范圍設(shè)置為[50,100]時(shí),種群應(yīng)該會(huì)聚集在左上角部分(最優(yōu)解在右下角)。
  (2) 在實(shí)驗(yàn)二的基礎(chǔ)上,將適應(yīng)度函數(shù)的最優(yōu)解設(shè)為0,種群應(yīng)該會(huì)收斂到原點(diǎn)。
實(shí)驗(yàn)三:在實(shí)驗(yàn)二的基礎(chǔ)上將適應(yīng)度函數(shù)取值范圍設(shè)置為[50,100]


從圖像可以看出,種群沒(méi)有在最優(yōu)解附近運(yùn)動(dòng)而是在左上角,甚至因?yàn)槌鲞吔绫煌A粼诹诉吔缟希f(shuō)明種群有著向左上角運(yùn)動(dòng)的趨勢(shì)。
實(shí)驗(yàn)四:在實(shí)驗(yàn)二的基礎(chǔ)上,將最優(yōu)解設(shè)置為a=b=0。

可以看出,這次收斂速度非常的快也非常的集中,幾乎可以認(rèn)為是在同一個(gè)點(diǎn)了。

最優(yōu)值 4.208327662513449E-107
最差值 4.169966258795712E-89
平均值 4.170038576285687E-90

這個(gè)結(jié)果應(yīng)該是目前所看到最好的結(jié)果了,不過(guò)很可惜是一個(gè)作弊行為得到的。只有當(dāng)最優(yōu)解在0處時(shí)才會(huì)得到。如果事先已知最優(yōu)解為0,那還要算法干什么呢?
  從實(shí)驗(yàn)三和實(shí)驗(yàn)四可以看出,與實(shí)驗(yàn)二后的猜想基本一致。
實(shí)驗(yàn)五:在實(shí)驗(yàn)四的基礎(chǔ)上,去掉禿鷹的俯沖階段。


可以看出,去除俯沖階段后的禿鷹算法不再收斂到一個(gè)點(diǎn),而是會(huì)在解空間內(nèi)不斷的搜索。這可以說(shuō)明俯沖階段將會(huì)使禿鷹群體向0點(diǎn)收斂,該階段的實(shí)現(xiàn)公式應(yīng)該進(jìn)行改進(jìn)。

4. 總結(jié)

禿鷹算法是根據(jù)禿鷹的覓食行為而提出的算法。算法的結(jié)構(gòu)有些許復(fù)雜,每次迭代分為選擇、搜索和俯沖三個(gè)階段。主要搜索行為借助了螺線以及群體中心,可以看做是將粒子群算法和鯨魚(yú)算法進(jìn)行了融合,使用螺線來(lái)得到角度,使用自身與群體中心和下一個(gè)禿鷹得到距離,來(lái)計(jì)算新的位置。
  由于每代中的各個(gè)個(gè)體計(jì)算了三次適應(yīng)度函數(shù),所有同等條件下其結(jié)果會(huì)優(yōu)于其他算法,在對(duì)照實(shí)驗(yàn)時(shí),應(yīng)當(dāng)將禿鷹算法的迭代次數(shù)或者種群數(shù)削減至原值的1/3。俯沖階段由于最優(yōu)位置前有0-1的隨機(jī)系數(shù),其個(gè)體的位置會(huì)逐漸收斂于0,當(dāng)最優(yōu)解不在0處時(shí),其結(jié)果相對(duì)較差。該階段須改進(jìn)。

參考文獻(xiàn)
Alsattar H A , Zaidan A A , Zaidan B B . Novel meta-heuristic bald eagle search optimisation algorithm[J]. Artificial Intelligence Review, 2020, 53(6). 提取碼:uxsz
原文代碼提取碼:uxsz

以下指標(biāo)純屬個(gè)人yy,僅供參考

指標(biāo) 星數(shù)
復(fù)雜度 ★★★★★★☆☆☆☆
收斂速度 ★★★★★★☆☆☆☆
全局搜索 ★★☆☆☆☆☆☆☆☆
局部搜索 ★★★★★☆☆☆☆☆
優(yōu)化性能 ★★★★★☆☆☆☆☆
跳出局部最優(yōu) ★☆☆☆☆☆☆☆☆☆
改進(jìn)點(diǎn) ★★★★☆☆☆☆☆☆

目錄
上一篇 優(yōu)化算法筆記(二十八)蝗蟲(chóng)算法
下一篇 優(yōu)化算法筆記(三十)海洋捕食者算法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評(píng)論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,556評(píng)論 3 418
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,463評(píng)論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,009評(píng)論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,778評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,218評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,436評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,969評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,795評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,993評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,229評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,659評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,917評(píng)論 1 286
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,687評(píng)論 3 392
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,990評(píng)論 2 374

推薦閱讀更多精彩內(nèi)容