2019智能優化算法:哈里斯鷹算法-附代碼
@[toc]
摘要:2019 年 Heidari 等人提出哈里斯鷹優化算法(Harris Hawk Optimization, HHO),該算法有較強的全局搜索能力,并且需要調節的參數較少的優點。
1.算法原理
哈里斯鷹優化算法是一種模擬哈里斯鷹捕食行為的智能優化算法,主要由 3 部分組成:搜索階段、搜索與開發的轉換和開發階段。
1.1 搜索階段
哈里斯鷹隨機棲息在某個地方,通過 2 種策略找到獵物:
其中,分別為當前和下一次迭代式時個體的位置,
為迭代次數,
為隨機選出的個體位置,
為獵物位置,即擁有最優適應度的個體位置,
都是[0,1]之間的隨機數。
用來隨機選擇要采用的策略,
為個體平均位置,表達式為:
其中, 為種群中第
個個體的位置,
為種群規模。
1.2 搜索與開發的轉換
HHO 算法根據獵物的逃逸能量在搜索和不同的開發行為之間轉換,逃逸能量定義為:
其中,是獵物的初始能量,為 [-1,1] 之間的隨機數,每次迭代時自動更新,t為迭代次數,T 為最大迭代次數。當
時進入搜索階段,
當時進入開發階段。
1.3 開發階段
定義r為[0,1] 之間的隨機數,用于選擇不同的開發策略。當且
時,采取軟圍攻策略進行位置更新:
其中, 表示獵物位置與個體當前位置的差值,
為 [0, 2] 之間的隨機數。
當且
時采取硬圍攻策略進行位置更新:
當且
時,采取漸近式快速俯沖的軟包圍策略進行位置更新:
其中, 為適應度函數,
為 2 維隨機向量,元素為[0,1] 之間的隨機數,
是萊維飛行的數學表達式。
當且
時,采取漸近式快速俯沖的硬包圍策略進行位置更新:
算法步驟:
步驟 1:種群初始化。根據搜索空間每一維的上界和下界,初始化每個個體。
步驟 2:計算初始適應度。將適應度最優的個體位置設為當前獵物位置。
步驟 3:位置更新。先通過更新獵物逃逸能量,然后根據逃逸能量和生成的隨機數執行搜索或開發行為中對應的位置更新策略。
步驟 4:計算適應度。計算位置更新后的個體適應度,并與獵物適應度值進行比較,若位置更新后的個體適應度值優于獵物,則以適應度
值更優的個體位置作為新的獵物位置。
重復步驟 3 和步驟 4,當算法迭代次數達到最大迭代次數時。輸出當前獵物位置作為目標的估計位置。
2.算法結果
3.參考文獻
[1] HEIDARI A A, MIRJALILI S, FARIS H, et al. Harris hawks optimization: algorithm and applications[J]. Future Generation Computer Systems, 2019, 97: 849-872.
4.Matlab代碼
https://mianbaoduo.com/o/bread/aJiak5o=
文獻復現:
[1]湯安迪,韓統,徐登武,謝磊.混沌精英哈里斯鷹優化算法[J/OL].計算機應用:1-10[2021-01-29].http://kns.cnki.net/kcms/detail/51.1307.TP.20210114.0947.032.html.
https://mianbaoduo.com/o/bread/YZaakp5v