優化算法筆記(三十六)哈里斯鷹算法

1. 算法簡介

(以下描述,均不是學術用語,僅供大家快樂的閱讀)
  哈里斯鷹算法是受哈里斯鷹捕食兔子過程啟發而提出的優化算法。算法提出與2019年,提出時間不長。
  哈里斯鷹算法非常的復雜,其位置更新公式就有7個,并且使用了許多條件來判斷何時使用哪一個公式來計算新位置。該算法更像是數個算法拼接而成,與哈里斯鷹沒有太大的關系。不多近年多數算法都是這樣,算法與其名字相關的動物并沒有太大的關系,應該是先寫好了算法,再去尋找與之相似,能夠套用的動物,才造成了這樣的結果。


2. 算法流程

本期的主角就是哈里斯鷹了(其實兔子才是主角,不過就理解兔子是鷹所在位置的適應度函數也行)。
  哈里斯鷹算法中的種群數量為N,每只鷹的位置為X=(x^1,x^2,...,x^D),該位置的優劣由其適應度函數F(X)計算得出。
  下面看看該算法的位置更新公式。


  公式(1)-公式(7)為位置更新公式。
  其中rand為[0,1]內的均勻隨機數,rand2為[-2,2]內的均勻隨機數,J為[-1,1]內的均勻隨機數,x_r為種群中的隨機個體,x_{best}為全局最優位置,x_{mean}為群體的平均位置。
  先來解析一下各個公式的含義。
  先說說公式(1)(3)(5)(6)(7)這4個相似的公式
  公式(1),在當前位置附近進行搜索,搜索范圍較大。
  公式(3)(5)(6)則是在當前最優位置附近搜索,其搜索范圍由公式(8)決定,可見隨著迭代次數的增大,它們的搜索范圍會越來越小。
  公式(7)則是在得到的新位置處進行小范圍levy飛行。

下面看看公式(2)和公式(4)。
  公式(2)的含義是在解空間的中心區域進行搜索。隨著迭代次數增加,x_{best}x_{mean}會越來越近,此時公式(2)前半部分取值近似于0,后半部分其實就是解空間內隨機初始化并乘上了一個隨機數,[0,1]內均勻隨機數可取其期望為0.5,故該公式會在解空間中心區域進行搜索。
  公式(4),個人覺得有點問題。當群體較為集中后,可以理解為x_{best}x_{i}幾乎重合,次數公式(4)退化成如下公式:


  易知公式(9)所表示的是當前最優位置與原點(每個維度都是0的點)連成的直線,該直線過原點,所以,當適應度函數的正解在0處時,算法的結果會非常的好,反之,效果稍差。
  算法中選擇哪個階段來更新位子主要由E的值決定。


  從條件中可以看出,算法的前期使用公式(1)(2)的概率較大,而在后期則是(3)(4)(5)(6)的使用概率較大。
  其中公式(5)(6)(7)在使用后需要通過貪心算法來判斷是否保留該值,公式(1)(2)(3)(4)則是無論結果好壞,都會飛行到新位置。
  算法流程圖如下


  流程圖屬實給我整不會了T^T

3. 實驗

適應度函數f(x1,x2)=(x1-a)^2+(x2-b)^2,a=b=90
實驗一:

問題維度(維度) 2
總群數量(種群數) 20
最大迭代次數 50
取值范圍 (-100,100)
實驗次數 10

  從圖像可以看出,算法收斂性還是不錯的,局部搜索能力也不錯。在算法中后期,我們可以看到群體的軌跡慢慢變成了一條線。這是由公式(4)造成的,由于公式(4)的步驟沒有貪心算法,會讓群體出現在當前最優位置與原點(值為0的點)所確定的直線上。

最優值 3.825638232062466E-4
最差值 0.3058783621115111
平均值 0.04628947420338882

我們看看結果,結果中規中矩,不太出色,并且不太穩定。看來算法的性能不一定和其復雜程度成正比。
  有沒有可能是公式(4)讓大部分應該收斂的個體去了較遠的位置,而使得算法的精度不高呢?實驗二將去掉公式(4)再看看效果
實驗二:將公式(4)替換為公式(3)


  從圖像上看,比實驗一好了一點,群體不再像實驗一中那樣會集中到一條直線上,其他看上去與實驗一沒有太大的差別。

最優值 4.067659511451527E-6
最差值 0.04826967148053276
平均值 0.013061678816358727

從結果來看,實驗二的結果比實驗一也只是好了一點,說明公式(4)對其影響也不算太大,總體來說算法還是有一定的穩定性,單獨修改某一個公式對算法的結果的影響不顯著。

4.總結

哈里斯鷹算法是根據哈里斯鷹捕食兔子的過程提出的優化算法。算法流程非常非常復雜,公式也非常非常多,雖然這些公式的相似度很高,但看起來仍然很恐怖。算法的效果并沒有因為其流程的復雜而變得出眾。看來算法的效果并不是與算法的復雜程度正相關,優秀的算法通常看起來也都很簡潔。

參考文獻
Aaha B , Sm C , Hf D , et al. Harris hawks optimization: Algorithm and applications[J]. Future Generation Computer Systems, 2019, 97:849-872. 提取碼:luuq
原文代碼提取碼:luuq
以下指標純屬個人yy,僅供參考

指標 星數
復雜度 ★★★★★★☆☆☆☆
收斂速度 ★★★☆☆☆☆☆☆☆
全局搜索 ★★★☆☆☆☆☆☆☆
局部搜索 ★★★★★☆☆☆☆☆
優化性能 ★★★★☆☆☆☆☆☆
跳出局部最優 ★★★☆☆☆☆☆☆☆
改進點 ★★★☆☆☆☆☆☆☆

目錄
上一篇 優化算法筆記(三十五)天鷹算法

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

推薦閱讀更多精彩內容