智能优化算法:金豺优化算法- 附代码

智能优化算法:金豺优化算法

1.金豺优化算法简介

金豺优化(Golden jackal optimization,GJO)算法是2022年提出的一种新的元启发式算法,该算法是一种模仿金豺的合作狩猎行为的新型智能优化算法。GJO算法包括三个基本步骤是搜索猎物、包围猎物和攻击猎物。

2.金豺优化算法基本原理

2.1灵感来源

金豺狩猎过程主要分为三个基本阶段:

(1)搜索猎物,并逼近猎物;

(2)包围猎物,并刺激猎物直到它们停止运动;

(3)攻击猎物。

2.2 数学模型与算法

2.2.1 搜索空间模型

金豺种群初始化数学描述如下:
Y0=Ymin⁡+rand⁡×(Ymax⁡−Ymin⁡)(1) Y_{0}=Y_{\min }+\operatorname{rand} \times\left(Y_{\max }-Y_{\min }\right) \tag{1} Y0=Ymin+rand×(YmaxYmin)(1)
式中:Y0Y_0Y0为初始金豺种群的位置;是randrandrand[0,1]范围内的随机数;YmaxY_{max}YmaxYminY_{min}Ymin分别是求解问题的上下边界。

在GJO算法中,猎物矩阵表示为:
 Prey =[Y1,1⋯Y1,j⋯Y1,d⋮⋱⋮⋮Yi,1⋯Yi,j⋯Yi,d⋮⋮⋱⋮Yn,1⋯Yn,j⋯Yn,d](2) \text { Prey }=\left[\begin{array}{ccccc} Y_{1,1} & \cdots & Y_{1, j} & \cdots & Y_{1, d} \\ \vdots & \ddots & \vdots & & \vdots \\ Y_{i, 1} & \cdots & Y_{i, j} & \cdots & Y_{i, d} \\ \vdots & & \vdots & \ddots & \vdots \\ Y_{n, 1} & \cdots & Y_{n, j} & \cdots & Y_{n, d} \end{array}\right] \tag{2}  Prey =Y1,1Yi,1Yn,1Y1,jYi,jYn,jY1,dYi,dYn,d(2)

式中:PreyPreyPrey为猎物矩阵;Yi,jY_{i,j}Yi,j为第iii个猎物的第jjj维位置;中第1和PreyPreyPrey第2的胜者一起作为豺狼对;n为猎物的数量;d为问题求解的维度。

在优化过程中,采用适应度(目标)函数估计每个猎物的适应度值,所有猎物的适应度值矩阵表示如下:
FOA=[f(Y1,1;Y1,2;⋯ ;Y1,d)f(Y2,1;Y2,1;⋯ ;Y2,d)⋮f(Yn,1;Yn,2;⋯ ;Yn,d)](3) F_{O A}=\left[\begin{array}{c} f\left(Y_{1,1} ; Y_{1,2} ; \cdots ; Y_{1, d}\right) \\ f\left(Y_{2,1} ; Y_{2,1} ; \cdots ; Y_{2, d}\right) \\ \vdots \\ f\left(Y_{n, 1} ; Y_{n, 2} ; \cdots ; Y_{n, d}\right) \end{array}\right] \tag{3} FOA=f(Y1,1;Y1,2;;Y1,d)f(Y2,1;Y2,1;;Y2,d)f(Yn,1;Yn,2;;Yn,d)(3)

式中:FOAF_{OA}FOA为猎物的适应度值矩阵;f()f()f()为适应度函数或目标函数;适应度值最优的作为雄豺,适应度值次优的作为雌豺。豺狼对得到相应猎物的位置。

2.2.2 搜索猎物(勘探阶段)

正如豺狼的本性,它们知道如何感知并跟随猎物,但偶尔猎物不会轻易被抓住从而逃脱。因此,豺狼就会等待和寻找其他的猎物。狩猎工作由雄性豺狼领导。雌性豺狼跟随雄性豺狼。
Y1(t)=YM(t)−E⋅∣YM(t)−rl⋅Prey⁡(t)∣(4) Y_{1}(t)=Y_{M}(t)-E \cdot\left|Y_{M}(t)-r l \cdot \operatorname{Prey}(t)\right| \tag{4} Y1(t)=YM(t)EYM(t)rlPrey(t)(4)

Y2(t)=YFM(t)−E⋅∣YFM(t)−rl⋅Prey⁡(t)∣(5) Y_{2}(t)=Y_{F M}(t)-E \cdot\left|Y_{F M}(t)-r l \cdot \operatorname{Prey}(t)\right| \tag{5} Y2(t)=YFM(t)EYFM(t)rlPrey(t)(5)

式中:ttt为当前迭代次数;Prey(t)Prey(t)Prey(t)为第ttt次迭代的猎物的位置;YM(t),YFM(t)Y_M(t),Y_{FM}(t)YM(t),YFM(t)分别为第ttt次迭代的雄性豺狼和雌性豺狼的位置;Y1(t),Y2(t)Y_1(t),Y_2(t)Y1(t),Y2(t)分别为第ttt次迭代的与猎物相应的雄性豺狼和雌性豺狼更新后的位置。

EEE为猎物的逃脱能量,可用如下公式计算:
E=E1∗E0(6) E=E1*E_0 \tag{6} E=E1E0(6)
E1E_1E1表示猎物能量的下降过程,E0E_0E0表示猎物能量的初始状态。
E0=2∗r−1(7) E_0=2*r-1 \tag{7} E0=2r1(7)
式中:r为[0,1]范围内的随机数。
E1=c1∗(1−(t/T))(8) E_1=c_1*(1-(t/T))\tag{8} E1=c1(1(t/T))(8)
式中:TTT为最大迭代次数;c1c_1c1为一个常数,取值为1.5;ttt为当前迭代次数。在整个迭代过程中,E1E_1E1从1.5线性减少到0。

在公式(4)和(5)中,rlrlrl表示一个基于莱维分布的随机数,可用如下公式计算:
rl=0.05∗LF(y)(9) rl=0.05*LF(y)\tag{9} rl=0.05LF(y)(9)
LF()LF()LF()是莱维飞行函数,其计算方法如下:
LF(y)=0.01×(μ×σ)/(∣v(1/β)∣);σ=(Γ(1+β)×sin⁡(πβ/2)Γ(1+β2)×β×(2β−12))1/β(10) L F(y)=0.01 \times(\mu \times \sigma) /\left(\left|v^{(1 / \beta)}\right|\right) ; \sigma=\left(\frac{\Gamma(1+\beta) \times \sin (\pi \beta / 2)}{\Gamma\left(\frac{1+\beta}{2}\right) \times \beta \times\left(2^{\frac{\beta-1}{2}}\right)}\right)^{1 / \beta}\tag{10} LF(y)=0.01×(μ×σ)/(v(1/β));σ=Γ(21+β)×β×(22β1)Γ(1+β)×sin(πβ/2)1/β(10)
式中:μ\muμvvv为(0,1)范围内的随机数;β\betaβ为一个默认常数,取值为1.5。

综上,豺狼的位置更新公式如下:
Y(t+1)=Y1(t)+Y2(t)2(11) Y(t+1)=\frac{Y_{1}(t)+Y_{2}(t)}{2} \tag{11} Y(t+1)=2Y1(t)+Y2(t)(11)

式中:Y(t+1)Y(t+1)Y(t+1)为第t+1次迭代后的豺狼的位置。

2.2.3 包围并攻击猎物(开发阶段)

当猎物被豺狼侵扰时,它们的逃脱能量会减少,然后豺狼对会将在前一阶段检测到的猎物包围起来。当豺狼对将猎物包围后,开始攻击并吞食猎物。雄性和雌性豺狼一起捕猎的行为的数学模型如下:
Y1(t)=YM(t)−E⋅∣rl⋅YM(t)−Prey⁡(t)∣(12) Y_{1}(t)=Y_{M}(t)-E \cdot\left|r l \cdot Y_{M}(t)-\operatorname{Prey}(t)\right| \tag{12} Y1(t)=YM(t)ErlYM(t)Prey(t)(12)

Y2(t)=YFM(t)−E⋅∣rl⋅YFM(t)−Prey⁡(t)∣(13) Y_{2}(t)=Y_{F M}(t)-E \cdot\left|r l \cdot Y_{F M}(t)-\operatorname{Prey}(t)\right| \tag{13} Y2(t)=YFM(t)ErlYFM(t)Prey(t)(13)

式中:ttt为当前迭代次数;Prey(t)Prey(t)Prey(t)为第ttt次迭代的猎物的位置;YM(t),YFM(t)Y_M(t),Y_{FM}(t)YM(t),YFM(t)分别为第ttt次迭代的雄性豺狼和雌性豺狼的位置;;Y1(t),Y2(t)Y_1(t),Y_2(t)Y1(t),Y2(t)分别为第ttt次迭代的与猎物相应的雄性豺狼和雌性豺狼更新后的位置。

最后,豺狼的位置更新仍然按照公式(11)计算。

算法伪代码如下:
请添加图片描述

3.实验结果

请添加图片描述

4.参考文献

[1] Nc A , Mma B . Golden Jackal Optimization: A Novel Nature-Inspired Optimizer for Engineering Applications. 2022.

5.Matlab代码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值