目錄
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法過程
- 3.結果展示
- 4.參考文獻
- 5.代碼獲取
1.背景
2024年,SO Oladejo受到麋鹿群的繁殖過程啟發,提出了麋鹿群優化算法(Elk herd optimizer, EHO)。
2.算法原理
2.1算法思想
EHO靈感來自麋鹿群的繁殖過程,主要分為發情季節和產犢季節。
2.2算法過程
發情季節
在發情期,根據發情期公鹿率(Br)來劃分家族。總家族數計算為B = |Br × EHS|。根據它們的適應度值從EH中選出公鹿,數目為B的最優適應度的鹿被認為是公鹿:
B = arg ? min ? j ∈ ( 1 , 2 , … , B ) f ( x j ) (1) \mathcal{B}=\arg\min_{j\in(1,2,\ldots,B)}f(x^j)\tag{1} B=argj∈(1,2,…,B)min?f(xj)(1)
在B集合中的公鹿隨后會爭斗以創建家族。為了將后宮分配給B中的每個公鹿,使用輪盤賭選擇法,其中后宮根據其適應度值與總適應度值的比例分配給各自的公鹿:
p j = f ( x j ) ∑ k = 1 B f ( x k ) (2) p_j=\frac{f(x^j)}{\sum_{k=1}^Bf(x^k)}\tag{2} pj?=∑k=1B?f(xk)f(xj)?(2)
產犢季節
在產犢季節,每個家族的小鹿主要根據其父親和母親的屬性繁殖。如果小鹿與家族種父親具有相同指數:
x i j ( t + 1 ) = x i j ( t ) + α ? ( x i k ( t ) ? x i j ( t ) ) (3) x_{i}^{j}(t+1)=x_{i}^{j}(t)+\alpha\cdot(x_{i}^{k}(t)-x_{i}^{j}(t))\tag{3} xij?(t+1)=xij?(t)+α?(xik?(t)?xij?(t))(3)
其中, α是繼承屬性的比率,α 的較高值會增加隨機元素參與新小牛的可能性,這反過來又增強了多樣性。如果小鹿與家族母親具有相同指數:
x i j ( t + 1 ) = x i j ( t ) + β ( x i h j ( t ) ? x i j ( t ) ) + γ ( x i r ( t ) ? x i j ( t ) ) (4) x_i^j(t+1)=x_i^j(t)+\beta(x_i^{h_j}(t)-x_i^j(t))+\gamma(x_i^r(t)-x_i^j(t))\tag{4} xij?(t+1)=xij?(t)+β(xihj??(t)?xij?(t))+γ(xir?(t)?xij?(t))(4)
選擇季節
所有家族合并成一個矩陣EHtemp,EHtemp中的麋鹿將根據它們的適應度值按升序排序。
流程圖
偽代碼
3.結果展示
論文結果展示
4.參考文獻
[1] Al-Betar M A, Awadallah M A, Braik M S, et al. Elk herd optimizer: a novel nature-inspired metaheuristic algorithm[J]. Artificial Intelligence Review, 2024, 57(3): 48.