一、理论基础
1、SSA算法
请参考这里。
2、MISSA算法
(1)Logistic混沌映射
种群个体初始位置对群体智能算法本身的寻优性能至关重要。因此引入Logistic混沌映射初始化种群,使种群均匀分布,提高算法的收敛速度和寻优精度。其公式如下:
x
k
+
1
=
μ
x
k
(
1
−
x
k
)
(1)
x_{k+1}=\mu x_k(1-x_k)\tag{1}
xk+1=μxk(1−xk)(1)其中,
μ
∈
(
0
,
4
]
\mu\in(0,4]
μ∈(0,4];
k
k
k为迭代次数,
x
∈
(
0
,
1
)
x\in(0,1)
x∈(0,1)。
初始值
x
0
x_0
x0,混沌状态的前提是
μ
\mu
μ取
[
3.5699
,
4.0
]
[3.5699,4.0]
[3.5699,4.0],混沌状态的序列是随机不收敛的。随着
μ
\mu
μ的变化,Logistic混沌序列
x
x
x的分布如图1所示。
由图1可知,当
0
<
μ
≤
3.5699
0<\mu≤3.5699
0<μ≤3.5699时,序列
x
x
x有限分布;随着
μ
\mu
μ的增大,
x
x
x值变化范围扩大,表现更为丰富,当
3.5699
<
μ
≤
4
3.5699<\mu≤4
3.5699<μ≤4时,
x
x
x的值向0和1发散并逐渐出现混沌现象;当
μ
=
4
\mu=4
μ=4时,种群随机性最好。因此,选取
μ
=
4
\mu=4
μ=4时的Logistic混沌序列对种群进行初始化,迭代次数设置为300次,Logistic混沌序列如图2所示。
采用式(2)将Logistic映射产生的变量值映射到麻雀个体上,实现麻雀种群的初始化。 X = X l b + ( X u b − X l b ) X k + 1 (2) X=X_{lb}+(X_{ub}-X_{lb})X_{k+1}\tag{2} X=Xlb+(Xub−Xlb)Xk+1(2)其中, X l b X_{lb} Xlb、 X u b X_{ub} Xub为每个个体,每个维度的上下限, X X X为映射后个体。
(2)均匀分布的动态自适应权重
在传统SSA的寻优过程中,存在全局搜索能力不强,局部开发较弱,易陷入局部最优等缺陷,致使算法搜索精度不足。因此,借鉴权重思想提出均匀分布的动态自适应权重协
调算法的全局搜索与局部开发能力。
发现者位置更新公式如下:
x
i
d
t
+
1
=
{
x
i
d
t
⋅
ω
⋅
exp
(
−
i
α
⋅
T
)
,
R
2
<
S
T
x
i
d
t
+
Q
⋅
L
,
R
2
≥
S
T
(3)
x_{id}^{t+1}=\begin{dcases}x_{id}^t\cdot\omega\cdot\exp\left(\frac{-i}{\alpha\cdot T}\right),\quad R_2<ST\\x_{id}^t+Q\cdot\boldsymbol L,\quad\quad\quad\quad\quad\,\, R_2\geq ST\end{dcases}\tag{3}
xidt+1=⎩⎨⎧xidt⋅ω⋅exp(α⋅T−i),R2<STxidt+Q⋅L,R2≥ST(3)其中,均匀分布的动态自适应权重
ω
\omega
ω公式如下:
ω
=
δ
(
ω
initial
−
(
ω
initial
−
ω
final
)
×
1
e
−
1
×
(
e
t
t
max
−
1
)
)
(4)
\omega=\delta\left(\omega_{\text{initial}}-(\omega_{\text{initial}}-\omega_{\text{final}})\times\frac{1}{e-1}\times\left(e^{\frac{t}{t_{\max}}}-1\right)\right)\tag{4}
ω=δ(ωinitial−(ωinitial−ωfinal)×e−11×(etmaxt−1))(4)其中,
ω
initial
\omega_{\text{initial}}
ωinitial和
ω
final
\omega_{\text{final}}
ωfinal为权重初始值及终值;
δ
∈
[
0
,
1
]
\delta\in[0,1]
δ∈[0,1]为均匀分布随机数。式(4)的变化曲线如图3所示。
如图3可知,算法搜索前期,较大的权重
ω
\omega
ω缓慢下降,发现者有充分时间进行全局探索;算法搜索后期,权重
ω
\omega
ω具有较小的值,实现某个区域的局部开发。
算法搜索前期,均匀分布的随机数
δ
\delta
δ让权重
ω
\omega
ω可能保持较大值,一定程度上加强全局探索;搜索后期,权重
ω
\omega
ω下降缓慢,
δ
\delta
δ可能产生较大的值,让权重
ω
\omega
ω实现动态变化,从而增强算法局部开发,在一定程度上加快算法收敛。
(3)动态拉普拉斯算子
麻雀种群的开发阶段是对加入者行为的模拟,通过向发现者逐渐靠拢的方式进行,搜索方式围绕当前的最优个体进行,具有相对较小的步长,难以摆脱局部极值的束缚。因此,引入动态拉普拉斯交叉算子,帮助加入者摆脱局部最优解的桎梏,避免SSA算法早熟。
拉普拉斯交叉算子分布的密度函数为:
f
(
x
)
=
1
2
b
exp
(
−
∣
x
−
a
∣
b
)
,
−
∞
<
x
<
+
∞
(5)
f(x)=\frac{1}{2b}\exp\left(-\frac{|x-a|}{b}\right),\,-\infty<x<+\infty\tag{5}
f(x)=2b1exp(−b∣x−a∣),−∞<x<+∞(5)其中,
a
a
a为位置参数;
b
b
b为比例参数。
u
∈
[
0
,
1
]
u\in[0,1]
u∈[0,1]为均匀分布的随机数,生成随机数
β
\beta
β:
β
=
{
a
−
b
ln
(
u
)
,
u
≤
1
2
a
+
b
ln
(
u
)
,
u
>
1
2
(6)
\beta=\begin{dcases}a-b\ln(u),\quad u\leq\frac12\\\\a+b\ln(u),\quad u>\frac12\end{dcases}\tag{6}
β=⎩⎪⎪⎪⎨⎪⎪⎪⎧a−bln(u),u≤21a+bln(u),u>21(6)后代产生公式如下:
y
i
(
1
)
=
x
i
(
1
)
+
β
∣
x
i
(
1
)
−
x
i
(
2
)
∣
y
i
(
1
)
=
x
i
(
2
)
+
β
∣
x
i
(
1
)
−
x
i
(
2
)
∣
(7)
\begin{array}{c}y_i^{(1)}=x_i^{(1)}+\beta|x_i^{(1)}-x_i^{(2)}|\\ y_i^{(1)}=x_i^{(2)}+\beta|x_i^{(1)}-x_i^{(2)}|\end{array}\tag{7}
yi(1)=xi(1)+β∣xi(1)−xi(2)∣yi(1)=xi(2)+β∣xi(1)−xi(2)∣(7)不同
b
b
b值下拉普拉斯交叉密度函数曲线的差异如图4所示。
由图4可知,
b
=
1
b=1
b=1时
f
(
x
)
f(x)
f(x)分布范围较宽,使麻雀个体在局部开发前期以较大步长探索
求解空间,避免算法陷入局部最优解。其公式描述如下:
β
=
{
a
−
ln
(
u
)
,
u
≤
1
2
a
+
ln
(
u
)
,
u
>
1
2
,
r
≤
1
−
t
/
T
max
(8)
\beta=\begin{dcases}a-\ln(u),\quad u\leq\frac12\\\\a+\ln(u),\quad u>\frac12\end{dcases},\quad r\leq1-t/T_{\max}\tag{8}
β=⎩⎪⎪⎪⎨⎪⎪⎪⎧a−ln(u),u≤21a+ln(u),u>21,r≤1−t/Tmax(8)
b
=
0.5
b=0.5
b=0.5时,
f
(
x
)
f(x)
f(x)中间部分较高,产生随机数概率大,使麻雀个体在局部开发后期以较小步长游走实现精细搜索,更好的收敛于全局最优解。其公式描述如下:
β
=
{
a
−
1
2
ln
(
u
)
,
u
≤
1
2
a
+
1
2
ln
(
u
)
,
u
>
1
2
,
r
>
1
−
t
/
T
max
(9)
\beta=\begin{dcases}a-\frac12\ln(u),\quad u\leq\frac12\\\\a+\frac12\ln(u),\quad u>\frac12\end{dcases},\quad r>1-t/T_{\max}\tag{9}
β=⎩⎪⎪⎪⎨⎪⎪⎪⎧a−21ln(u),u≤21a+21ln(u),u>21,r>1−t/Tmax(9)其中,
r
∈
[
0
,
1
]
r\in[0,1]
r∈[0,1]的随机数,
t
t
t、
T
max
T_{\max}
Tmax表示当前和最大迭代次数,
1
−
t
/
T
max
∈
[
0
,
1
]
1-t/T_{\max}\in[0,1]
1−t/Tmax∈[0,1]且单调递减。
二、仿真实验与结果分析
为了验证MISSA算法的寻优效果,将其与标准SSA算法、粒子群算法(PSO)以及灰狼优化算法(GWO)进行对比分析,设置种群规模为100,最大迭代次数为300,其余参数请参考这里。结果显示如下:
函数:F1
MISSA:最差值: 8.6239e-109, 最优值: 0, 平均值: 2.8746e-110, 标准差: 1.5745e-109, 秩和检验: 1
SSA:最差值: 4.3279e-39, 最优值: 0, 平均值: 1.4426e-40, 标准差: 7.9016e-40, 秩和检验: 0.0016518
PSO:最差值: 55.6337, 最优值: 3.1488, 平均值: 11.6957, 标准差: 11.7647, 秩和检验: 1.7895e-11
GWO:最差值: 2.2092e-08, 最优值: 1.7872e-11, 平均值: 1.9054e-09, 标准差: 4.0754e-09, 秩和检验: 1.7895e-11
函数:F2
MISSA:最差值: 2.9995e-91, 最优值: 0, 平均值: 1.0017e-92, 标准差: 5.476e-92, 秩和检验: 1
SSA:最差值: 4.8928e-44, 最优值: 0, 平均值: 1.6409e-45, 标准差: 8.9314e-45, 秩和检验: 0.00020406
PSO:最差值: 7.9993, 最优值: 1.2852, 平均值: 4.0602, 标准差: 1.7855, 秩和检验: 1.271e-11
GWO:最差值: 1.7098e-13, 最优值: 1.6265e-14, 平均值: 5.679e-14, 标准差: 3.9366e-14, 秩和检验: 1.271e-11
函数:F3
MISSA:最差值: 8.8991e-118, 最优值: 0, 平均值: 2.9664e-119, 标准差: 1.6247e-118, 秩和检验: 1
SSA:最差值: 2.7409e-50, 最优值: 0, 平均值: 9.1362e-52, 标准差: 5.0041e-51, 秩和检验: 3.3576e-05
PSO:最差值: 494.0251, 最优值: 27.703, 平均值: 121.9493, 标准差: 85.5907, 秩和检验: 7.8787e-12
GWO:最差值: 0.00015911, 最优值: 3.5783e-08, 平均值: 2.3923e-05, 标准差: 3.9726e-05, 秩和检验: 7.8787e-12
函数:F4
MISSA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
SSA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
PSO:最差值: 111.6921, 最优值: 39.726, 平均值: 66.7425, 标准差: 18.1687, 秩和检验: 1.2118e-12
GWO:最差值: 24.0665, 最优值: 5.6843e-14, 平均值: 4.3223, 标准差: 5.5657, 秩和检验: 1.2059e-12
函数:F5
MISSA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
SSA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
PSO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
GWO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F6
MISSA:最差值: -1, 最优值: -1, 平均值: -1, 标准差: 0, 秩和检验: NaN
SSA:最差值: -1, 最优值: -1, 平均值: -1, 标准差: 0, 秩和检验: NaN
PSO:最差值: -1, 最优值: -1, 平均值: -1, 标准差: 0, 秩和检验: NaN
GWO:最差值: -1, 最优值: -1, 平均值: -1, 标准差: 0, 秩和检验: NaN
结果表明:改进算法协调了全局搜索与局部开发的平衡,改善了寻优过程中易陷入局部最优的缺陷。
三、参考文献
[1] 王雨虹, 王志中, 付华, 等. 多策略改进麻雀算法与BiLSTM的变压器故障诊断研究[J/OL]. 仪器仪表学报: 1-11 [2022-01-08].