目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
1.背景
2022年,N Chopra等人受到金豺狩猎行为启发,提出了金豺优化算法(Golden Jackal Optimization, GJO)。
2.算法原理
2.1算法思想
GJO 模拟金豺协同狩猎行为,该算法主要包含探索阶段和进攻阶段。
2.2算法过程
探索阶段
金豺会根据自身情况来进行狩猎,雌金豺会跟随雄金豺,在搜索区域等待和寻找其他猎物:
Y 1 ( t ) = Y M ( t ) − E . ∣ Y M ( t ) − r l . Pr e y ( t ) ∣ Y 2 ( t ) = Y F M ( t ) − E . ∣ Y F M ( t ) − r l . Pr e y ( t ) ∣ (1) Y_{1}(t)=Y_{M}(t)-E.|Y_{M}(t)-rl.\Pr ey(t)|\\Y_{2}(t)=Y_{FM}(t)-E.|Y_{FM}(t)-rl.\Pr ey(t)|\tag{1} Y1(t)=YM(t)−E.∣YM(t)−rl.Prey(t)∣Y2(t)=YFM(t)−E.∣YFM(t)−rl.Prey(t)∣(1)
其中,E为猎物的逃避能量,rl表示一个基于莱维分布的任意向量,Prey(t)表示猎物位置向量,YM和YFM分别表示雄金豺和雌金豺的位置。
金豺种群依据猎物的逃避能量E,决定是否对猎物发起进攻。在迭代过程中,猎物的逃避能量E呈下降趋势,当|E|>=1时,即猎物有足够能量躲避捕猎,金豺种群转向探索阶段寻找其他猎物;当|E|<1时,金豺种群转向进攻阶段对猎物发起进攻。
E = E 1 ∗ E 0 (2) E=E_1*E_0\tag{2} E=E1∗E0(2)
E1表示递减的猎物能量,E0表示猎物能量的原始状态:
E 0 = 2 ∗ r − 1 E 1 = c 1 ∗ ( 1 − ( t / T ) ) (3) E_0=2*r-1\\ E_1=c_1*(1-(t/T))\tag{3} E0=2∗r−1E1=c1∗(1−(t/T))(3)
金豺位置更新:
Y ( t + 1 ) = Y 1 ( t ) + Y 2 ( t ) 2 (4) Y(t+1)=\frac{Y_1(t)+Y_2(t)}2\tag{4} Y(t+1)=2Y1(t)+Y2(t)(4)
进攻阶段
当猎物受到金豺的攻击时,其逃避能量会迅速下降,这时金豺会迅速靠近猎物并对猎物发起进攻:
Y 1 ( t ) = Y M ( t ) − E . ∣ r l . Y M ( t ) − Pr e y ( t ) ∣ Y 2 ( t ) = Y F M ( t ) − E . ∣ r l . Y F M ( t ) − Pr e y ( t ) ∣ (5) Y_{1}(t)=Y_{M}(t)-E.|rl.Y_{M}(\mathrm{t})-\Pr ey(t)|\\Y_{2}(t)=Y_{FM}(t)-E.|rl.Y_{FM}(\mathrm{t})-\Pr ey(t)|\tag{5} Y1(t)=YM(t)−E.∣rl.YM(t)−Prey(t)∣Y2(t)=YFM(t)−E.∣rl.YFM(t)−Prey(t)∣(5)
伪代码
3.结果展示
使用测试框架,测试GJO性能 一键run.m
- 【智能算法】省时方便,智能算法统计指标——一键运行~
CEC2017-F19
4.参考文献
[1] Chopra N, Ansari M M. Golden jackal optimization: A novel nature-inspired optimizer for engineering applications[J]. Expert Systems with Applications, 2022, 198: 116924.