【智能算法】黑猩猩优化算法(ChOA)原理及实现

在这里插入图片描述


1.背景

2020年, Khishe等人受到黑猩猩狩猎行为启发,提出了黑猩猩优化算法(Chimp Optimization Algorithm, ChOA)。

2.算法原理

2.1算法思想

ChOA来源于黑猩猩种群的捕猎行为,主要基于黑猩猩捕猎过程的两个主要阶段:探索阶段和开发阶段。探索阶段,黑猩猩通过驱动、阻挡和追逐猎物来寻找潜在目标。开发阶段,黑猩猩进行实际的攻击行为。ChOA假设最佳解决方案、驱赶者、阻碍者和追赶者能够发现潜在猎物的位置,其他黑猩猩则根据最佳黑猩猩的位置来更新自己的位置,以实现优化目标的探索和开发。

2.2算法过程

在这里插入图片描述

驱赶与追逐猎物
d ( t ) = ∣ c X P ( t ) − m X C ( t ) ∣ X C ( t + 1 ) = X P ( t ) − a ⋅ d (1) d(t)=|cX_P(t)-mX_C(t)|\\X_C(t+1)=X_P(t)-a\cdot d\tag{1} d(t)=cXP(t)mXC(t)XC(t+1)=XP(t)ad(1)
式中, d(t) 为猎物与黑猩猩之间的距离, t 为当前迭代次数, a、c 为系数向量, m 是由混沌映射产生的混沌向量, XP 为猎物的位置向量, XC 为黑猩猩的位置向量。参数a,c表述为:
a = 2 ⋅ f ⋅ r 1 − f c = 2 ⋅ r 2 (2) \begin{aligned}a&=2\cdot f\cdot r_1-f\\c&=2\cdot r_2\end{aligned}\tag{2} ac=2fr1f=2r2(2)
式中, f 为线性衰减因子, 随着迭代次数的增加 f 值由 2.5 线性衰减到 0, r1 和 r2 是取值为 [0, 1] 的随机数。参数 a 为 [−2f, 2f] 之间的随机变量, 假设 a 的值为 [−1, 1] 时猎物停止移动, 此时黑猩猩必须攻击猎物结束捕猎, 因此采取降低 f 值的方式迫使黑猩猩结束捕猎, 黑猩猩的下一个位置可以在当前位置与猎物位置之间的任意位置。
攻击
{ d A = ∣ c 1 X A − m 1 X ∣ d B = ∣ c 2 X B − m 2 X ∣ d C = ∣ c 3 X C − m 3 X ∣ d D = ∣ c 4 X D − m 4 X ∣ { X 1 = X A − a 1 ⋅ d A X 2 = X B − a 2 ⋅ d B X 3 = X C − a 3 ⋅ d C X 4 = X D − a 4 ⋅ d D X ( t + 1 ) = ( X 1 + X 2 + X 3 + X 4 ) / 4 (3) \begin{gathered} \begin{cases}d_A=|c_1X_A-m_1X|\\d_B=|c_2X_B-m_2X|\\d_C=|c_3X_C-m_3X|\\d_D=|c_4X_D-m_4X|\end{cases} \\ \begin{cases}X_1=X_A-a_1\cdot d_A\\X_2=X_B-a_2\cdot d_B\\X_3=X_C-a_3\cdot d_C\\X_4=X_D-a_4\cdot d_D\end{cases} \\ \begin{aligned}X(t+1)=(X_1+X_2+X_3+X_4)/4\end{aligned} \end{gathered}\tag{3} dA=c1XAm1XdB=c2XBm2XdC=c3XCm3XdD=c4XDm4X X1=XAa1dAX2=XBa2dBX3=XCa3dCX4=XDa4dDX(t+1)=(X1+X2+X3+X4)/4(3)
黑猩猩个体最终的位置是随机分布在一个由攻击者、阻碍者、追逐者和驱赶者黑猩猩的位置所确定的圆圈中。换句话说, 猎物的位置是由四个最好的个体来估计的, 而其他黑猩猩则随机更新它们在附近的位置。
伪代码
在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Khishe M, Mosavi M R. Chimp optimization algorithm[J]. Expert systems with applications, 2020, 149: 113338.

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值