1.算法原理
2.改进点
CPM映射初始化
混沌运动具有随机性和遍历性,在求解最优化问题时,这种特性可以保证种群多样性,提高算法全局搜索能力:
x
n
+
1
=
{
m
o
d
(
(
x
n
d
+
cos
(
n
c
o
s
−
1
(
x
n
⋅
π
)
)
,
1
)
,
0
⩽
x
n
<
d
m
o
d
(
(
x
n
−
d
0.5
−
d
+
cos
(
n
c
o
s
−
1
(
x
n
⋅
π
)
)
)
,
1
)
,
d
⩽
x
n
<
0.5
m
o
d
(
(
1
−
d
−
x
n
0.5
−
d
+
cos
(
n
c
o
s
−
1
(
x
n
⋅
π
)
)
)
,
1
)
,
0.5
⩽
x
n
<
1
−
d
m
o
d
(
(
1
−
x
n
d
+
cos
(
n
c
o
s
−
1
(
x
n
⋅
π
)
)
)
,
1
)
,
1
−
d
⩽
x
n
<
1
(1)
x_{n+1}=\begin{cases}\mathrm{mod}\left(\left(\frac{x_n}{d}\right.+\cos\left(n\mathrm{cos}^{-1}(x_n\cdot\pi)\right),1\right),0\leqslant x_n<d\\\\\mathrm{mod}\left(\left(\frac{x_n-d}{0.5-d}+\cos\left(n\mathrm{cos}^{-1}(x_n\cdot\pi)\right)\right),1\right),d\leqslant x_n<0.5\\\\\mathrm{mod}\left(\left(\frac{1-d-x_n}{0.5-d}+\cos\left(n\mathrm{cos}^{-1}(x_n\cdot\pi)\right)\right),1\right),0.5\leqslant x_n<1-d\\\\\mathrm{mod}\left(\left(\frac{1-x_n}{d}+\cos\left(n\mathrm{cos}^{-1}(x_n\cdot\pi)\right)\right),1\right),1-d\leqslant x_n<1\end{cases}\tag{1}
xn+1=⎩
⎨
⎧mod((dxn+cos(ncos−1(xn⋅π)),1),0⩽xn<dmod((0.5−dxn−d+cos(ncos−1(xn⋅π))),1),d⩽xn<0.5mod((0.5−d1−d−xn+cos(ncos−1(xn⋅π))),1),0.5⩽xn<1−dmod((d1−xn+cos(ncos−1(xn⋅π))),1),1−d⩽xn<1(1)
非线性控制参数调整策略
GWO算法的优化过程复杂,线性变化并不能充分平衡算法的全局搜索和局部搜索。提出了一种“ S”型非线性参数调整策略:
a
=
f
min
+
(
f
max
−
f
min
)
×
f
max
1
+
e
(
−
10
T
max
)
×
(
t
−
T
max
2
)
(2)
a=f_{\min}+(f_{\max}-f_{\min})\times\frac{f_{\max}}{1+e^{(-\frac{10}{T_{\max}})\times(t-\frac{T_{\max}}2)}}\tag{2}
a=fmin+(fmax−fmin)×1+e(−Tmax10)×(t−2Tmax)fmax(2)
自适应分组策略
由于GWO算法的不同个体所处位置不同,将狼群按照距离猎物的远近,既按照适应度值的大小分为 3 组,分别为捕食组、游荡组和搜索组。n1和n2为分组界限。 即将狼群按照适应度大小排序,优秀的个体为捕食组,一般的个体为游荡组,较差的个体为搜索组:
{
n
1
=
1
4
N
(
1
−
t
T
max
)
1
2
n
2
=
N
−
1
4
N
(
t
T
max
)
1
2
(3)
\begin{cases}n_1~=~\frac14N(1~-\frac t{T_{\max}})^{\frac12}\\\\n_2~=~N-\frac14N(\frac t{T_{\max}})^{\frac12}&\end{cases}\tag{3}
⎩
⎨
⎧n1 = 41N(1 −Tmaxt)21n2 = N−41N(Tmaxt)21(3)
改进的差分进化策略
采用改进的差分进化策略对分组后的捕食组狼群进行位置更新:
X
i
t
+
1
=
X
α
t
+
W
×
(
X
β
t
2
+
X
δ
t
2
−
X
i
t
)
(4)
X_i^{t+1} = X_\alpha^t + W\times\left(\frac{X_\beta^t}2 + \frac{X_\delta^t}2 - X_i^t\right)\tag{4}
Xit+1=Xαt+W×(2Xβt+2Xδt−Xit)(4)
随机反向学习策略
采用GWO的位置更新策略对分组后的游荡组进行位置更新:
x
i
,
j
′
=
U
B
j
+
L
B
j
−
r
3
⋅
x
i
,
j
(5)
x^{\prime}_{i,j}~=~UB_j~+~LB_j~-r_3~\cdot x_{i,j}\tag{5}
xi,j′ = UBj + LBj −r3 ⋅xi,j(5)
乘除算子位置更新策略
采用AOA算法的乘除算子对分组后的搜索组进行位置更新:
x
i
,
j
1
=
{
x
α
,
j
×
M
O
P
×
(
(
U
B
j
−
L
B
j
)
×
μ
−
L
B
j
)
,
r
4
<
0.5
x
α
,
j
÷
(
M
O
P
+
ε
)
×
(
(
U
B
j
−
L
B
j
)
×
μ
−
L
B
j
)
,
o
t
h
e
r
w
i
s
e
(6)
x_{i,j}^1 = \begin{cases}x_{\alpha,j} \times MOP \times ( ( UB_j -LB_j ) \times\mu-LB_j ) ,r_4 < 0.5\\[2ex]x_{\alpha,j} \div ( MOP + \varepsilon ) \times ( ( UB_j -LB_j ) \times\mu-LB_j ) ,otherwise\end{cases}\tag{6}
xi,j1=⎩
⎨
⎧xα,j×MOP×((UBj−LBj)×μ−LBj),r4<0.5xα,j÷(MOP+ε)×((UBj−LBj)×μ−LBj),otherwise(6)
概率函数MOP:
M
O
P
(
t
)
=
1
−
t
1
λ
T
m
a
x
1
λ
(7)
MOP(t)~=~1-\frac{t^{\frac1\lambda}}{T_{\mathrm{max}}^{\frac1\lambda}}\tag{7}
MOP(t) = 1−Tmaxλ1tλ1(7)
3.结果展示
4.参考文献
[1] 马威,王巍,曹颖.非线性自适应分组灰狼算法[J].计算机仿真,2024,41(06):441-447+587.