目录
- 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)minf(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=1Bf(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.