多策略改进麻雀算法

一、理论基础

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(1xk)(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 不同分岔参数下的序列分布

由图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混沌序列

采用式(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+(XubXlb)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(αTi),R2<STxidt+QL,R2ST(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)×e11×(etmaxt1))(4)其中, ω initial \omega_{\text{initial}} ωinitial ω final \omega_{\text{final}} ωfinal为权重初始值及终值; δ ∈ [ 0 , 1 ] \delta\in[0,1] δ[0,1]为均匀分布随机数。式(4)的变化曲线如图3所示。
在这里插入图片描述

图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(bxa),<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} β=abln(u),u21a+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 拉普拉斯密度函数曲线

由图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} β=aln(u),u21a+ln(u),u>21,r1t/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} β=a21ln(u),u21a+21ln(u),u>21,r>1t/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] 1t/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].

  • 2
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值