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)−a⋅d(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=2⋅f⋅r1−f=2⋅r2(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=∣c1XA−m1X∣dB=∣c2XB−m2X∣dC=∣c3XC−m3X∣dD=∣c4XD−m4X∣⎩
⎨
⎧X1=XA−a1⋅dAX2=XB−a2⋅dBX3=XC−a3⋅dCX4=XD−a4⋅dDX(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.