目录
- 1.算法原理
- 2.改进点
- 3.结果展示
- 4.参考文献
- 5.代码获取
1.算法原理
【智能算法】黑猩猩优化算法(ChOA)原理及实现
2.改进点
改进的 Sine 混沌映射初始化种群
ChoA 种群随机初始化的方法导致种群多样性、均匀性差、容易出现边界聚集现象, 而混沌映射可以有效的改善上述问题。引入 Chebyshev 映射将 Sine 映射进行改进:
P
(
t
)
=
μ
∗
sin
(
π
X
(
t
−
1
)
)
+
λ
cos
(
i
∗
cos
−
1
(
X
(
t
−
1
)
)
)
{
W
(
t
)
=
μ
sin
(
π
W
(
t
−
1
)
)
+
λ
cos
(
t
∗
cos
−
1
(
W
(
t
−
1
)
)
O
(
t
)
=
μ
sin
(
π
O
(
t
−
1
)
)
+
λ
cos
(
t
∗
cos
−
1
(
O
(
t
−
1
)
)
E
(
t
)
=
μ
sin
(
π
E
(
t
−
1
)
)
+
λ
cos
(
t
∗
cos
−
1
(
E
(
t
−
1
)
)
H
(
t
)
=
μ
sin
(
π
H
(
t
−
1
)
)
+
λ
cos
(
t
∗
cos
−
1
(
H
(
t
−
1
)
)
X
(
t
)
=
m
o
d
(
W
(
t
)
+
O
(
t
)
+
E
(
t
)
+
H
(
t
)
,
1
)
(1)
P\left(t\right)=\mu^*\sin(\pi X\left(t-1\right))+\lambda\cos(i^*\cos^{-1}(X\left(t-1\right)))\\\begin{cases}W\left(t\right)=\mu\sin(\pi W\left(t-1\right))+\lambda\cos(t^*\cos^{-1}(W\left(t-1\right))\\O\left(t\right)=\mu\sin(\pi O\left(t-1\right))+\lambda\cos(t^*\cos^{-1}(O\left(t-1\right))\\E\left(t\right)=\mu\sin(\pi E\left(t-1\right))+\lambda\cos(t^*\cos^{-1}(E\left(t-1\right))\\H\left(t\right)=\mu\sin(\pi H\left(t-1\right))+\lambda\cos(t^*\cos^{-1}(H\left(t-1\right))\\X\left(t\right)=\mathrm{mod}\left(W\left(t\right)+O\left(t\right)+E\left(t\right)+H\left(t\right),1\right)\end{cases}\tag{1}
P(t)=μ∗sin(πX(t−1))+λcos(i∗cos−1(X(t−1)))⎩
⎨
⎧W(t)=μsin(πW(t−1))+λcos(t∗cos−1(W(t−1))O(t)=μsin(πO(t−1))+λcos(t∗cos−1(O(t−1))E(t)=μsin(πE(t−1))+λcos(t∗cos−1(E(t−1))H(t)=μsin(πH(t−1))+λcos(t∗cos−1(H(t−1))X(t)=mod(W(t)+O(t)+E(t)+H(t),1)(1)
PSO 思想和非线性收敛因子
为调节 ChoA 算法前期、后期的全局、局部搜索能力的平衡,引进粒子群思想改进 ChoA 算法个体位置迭代方式,实现黑猩猩个体与种群之间的信息交流。位置更新公式:
X
(
t
+
1
)
=
C
∗
(
r
a
n
d
∗
w
∗
(
X
1
+
X
2
+
X
3
+
X
4
)
+
r
a
n
d
∗
(
X
1
−
X
(
t
)
)
)
(2)
X\left(t+1\right)=C*\Big(rand*w*\Big(X_{1}+X_{2}+X_{3}+X_{4}\Big)+rand*\Big(X_{1}-X\big(t\big)\big)\Big)\tag{2}
X(t+1)=C∗(rand∗w∗(X1+X2+X3+X4)+rand∗(X1−X(t)))(2)
式中 w 为惯性权重系数, C 为加速因子。惯性权重 w、加速因子 C 取值关系到粒子过去的运动状态对现在运动状态的影响,当 w、 C 变大时,粒子的搜索空间会扩大,当 w、 C 变小时,粒子运动方向多变,会导致算法陷入局部最优状态。通过调节 w、 C 的值来平衡算法局部搜索、全局搜索的能力,提高算法的收敛速度。参数C:
C
=
g
∗
e
−
0.1
t
t
max
∗
cos
(
0.1
t
+
24.5
)
+
1.1
(3)
C=g*\frac{e^{-0.1\sqrt{t}}}{t_{\max}}*\cos\left(0.1t+24.5\right)+1.1\tag{3}
C=g∗tmaxe−0.1t∗cos(0.1t+24.5)+1.1(3)
非线性惯性权重因子:
w
=
0.5
∗
(
w
max
−
t
∗
(
w
max
−
w
min
)
t
max
∗
cos
2
(
0.5
∗
t
)
)
(4)
w=0.5*\Bigg(w_{\max}-\frac{t*(w_{\max}-w_{\min})}{t_{\max}}*\cos^2(0.5*t)\Bigg)\tag{4}
w=0.5∗(wmax−tmaxt∗(wmax−wmin)∗cos2(0.5∗t))(4)
改进的麻雀精英变异和 Bernoulli 混沌映射
在 ChoA 算法中,个体更新会受到每次迭代中最后一个最优个体影响,因此在迭代过程中 ChoA算法容易收敛到局部最优。针对上述问题,提出自适应水波因子改进的麻雀精英突变和 Bernoulli 混沌映射相结合的优化策略。
用麻雀精英突变将具有较高搜索性能个体的能力赋予当前最优个体。在每次 ChoA 迭代时,对当前适应度值前 40%的个体赋予较强的化能力,同时在突变个体更新公式中加入自适应水波因子:
X
(
t
+
1
)
0.4
=
{
X
(
t
)
0.4
⋅
v
⋅
exp
(
−
t
α
⋅
t
max
)
R
<
S
T
X
(
t
)
0.4
+
v
⋅
Q
⋅
L
(5)
X\left(t+1\right)_{0.4}=\begin{cases}X(t)_{0.4}\cdot v\cdot\exp(-\frac{t}{\alpha\cdot t_{\max}}) R<ST\\\\X(t)_{0.4}+v\cdot Q\cdot L\end{cases}\tag{5}
X(t+1)0.4=⎩
⎨
⎧X(t)0.4⋅v⋅exp(−α⋅tmaxt)R<STX(t)0.4+v⋅Q⋅L(5)
自适应水波因子:
ν
=
1
−
sin
(
π
⋅
t
2
⋅
t
max
+
2
⋅
π
)
(6)
\nu=1-\sin\left(\frac{\pi\cdot t}{2\cdot t_{\max}}+2\cdot\pi\right)\tag{6}
ν=1−sin(2⋅tmaxπ⋅t+2⋅π)(6)
Bernoulli 混沌映射:
Z
t
+
1
=
{
Z
t
/
(
1
−
λ
)
Z
t
∈
(
0
,
1
−
λ
]
(
Z
t
−
1
+
λ
)
/
λ
Z
t
∈
(
0
,
1
−
λ
]
(7)
Z_{t+1}=\begin{cases}Z_t /\left(1-\lambda\right)&Z_t\in\left(0,1-\lambda\right]\\\left(Z_t-1+\lambda\right)/\lambda&Z_t\in\left(0,1-\lambda\right]\end{cases}\tag{7}
Zt+1={Zt/(1−λ)(Zt−1+λ)/λZt∈(0,1−λ]Zt∈(0,1−λ](7)
比较个体适应度值 f 与平均适应度值 favg,若 f<favg 时,进行 Brenoylli 扰动,判断扰动后个体是否优于原个体,优于则进行更新,否则保持原个体不变;若 f>favg 时,进行麻雀精英变异,优于原个体进行替换,否则保持。
3.结果展示
工程应用
4.参考文献
[1] 张福兴,高腾,吴泓达.多策略融合的改进黑猩猩搜索算法及其应用[J/OL].北京航空航天大学学报,1-15[2024-08-01].