【智能算法】金豺优化算法(GJO)原理及实现

在这里插入图片描述


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=E1E0(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=2r1E1=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.

GJO算法是一种基于遗传算法的全局优化算法,其全称为Generalized Jaya Optimization algorithm。该算法最初由印度的两位学者Ganesh Kumar和Shakti Kumar Sharma在2014年提出,其核心思想是通过模拟自然界的进化过程,逐步寻找最优解。 GJO算法的基本流程如下: 1. 初始化种群:根据问题的特性,确定种群大小和每个个体的初始值。 2. 计算适应度函数:根据问题的要求,设计适应度函数,以评价每个个体的优劣。 3. 进行进化操作:包括交叉、变异等操作,通过模拟自然界的进化过程,逐步寻找最优解。 4. 判断终止条件:当达到一定迭代次数或者找到满足要求的解时,停止算法。 5. 输出结果:输出最优解和最优解对应的适应度值。 GJO算法相比于其他遗传算法的优点在于其更加灵活和高效,可以适应不同类型的优化问题,并且具有更好的全局寻优能力。具体来说,GJO算法引入了Jaya算法中的概念,即“合作与竞争”,使得各个个体之间可以相互协作,寻找最优解的速度更快。 在GJO算法中,个体之间的合作与竞争是通过引入两个重要的参数来实现的:共存因子和适应度差异因子。共存因子是指当两个个体的适应度相等时,它们之间的合作因子;适应度差异因子是指当两个个体的适应度差异较大时,它们之间的竞争因子。通过合理设置这两个参数,可以使得个体之间更好地协作和竞争,从而更快地找到最优解。 GJO算法虽然具有很多优点,但是也存在着一些不足之处。例如,GJO算法需要设置许多参数,这对于一些非专业人士来说可能会比较困难;此外,GJO算法有时会陷入局部最优解,需要采取一些特殊的策略来避免这种情况的发生。 总的来说,GJO算法是一种非常有潜力的全局优化算法,其在实际应用中也已经取得了一定的成果。未来,我们可以通过进一步的研究和改进,使得GJO算法在更多的领域中得到应用和推广。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值