自适应变异麻雀搜索优化算法

一、理论基础

1、麻雀搜索算法

请参考这里

2、改进麻雀搜索算法

2.1 猫映射混沌初始化种群

针对Logistic映射和Tent映射的缺点,本文通过猫映射来生成改进算法的初始种群。猫映射表达式为: [ y i + 1 w i + 1 ] = [ 1 a 1 b 1 a 1 b 1 + 1 ] [ y i w i ] mod    1 (1) \begin{bmatrix}y_{i+1}\\w_{i+1}\end{bmatrix}=\begin{bmatrix}1&a_1\\b_1&a_1b_1+1\end{bmatrix}\begin{bmatrix}y_i\\w_i\end{bmatrix}\text{mod}\,\,1\tag{1} [yi+1wi+1]=[1b1a1a1b1+1][yiwi]mod1(1)其中, a 1 = b 1 = 1 a_1=b_1=1 a1=b1=1 mod    1 \text{mod}\,\,1 mod1表示求 a 1 a_1 a1小数部分。由于猫映射结构简单,不易陷入小循环周期和不动点,通过该映射产生初始种群具有更好的遍历均匀性。

2.2 Tent混沌和柯西变异扰动策略

2.2.1 Tent混沌扰动

Tent混沌映射存在小周期和不稳定周期点,为避免落入小周期点和不稳定周期点,在原有的Tent映射表达式上引入随机变量 rand ( 0 , 1 ) × 1 N \text{rand}(0,1)×\frac1N rand(0,1)×N1,改进后的Tent混沌映射表达式如下: z i + 1 = { 2 z i + rand ( 0 , 1 ) × 1 N ,      0 ≤ z i ≤ 1 2 2 ( 1 − z i ) + rand ( 0 , 1 ) × 1 N ,   1 2 < z i ≤ 1 (2) z_{i+1}=\begin{dcases}2z_i+\text{rand}(0,1)×\frac1N,\quad\quad\quad\,\,\,\, 0≤z_i≤\frac12\\2(1-z_i)+\text{rand}(0,1)×\frac1N,\quad\, \frac12<z_i≤1\end{dcases}\tag{2} zi+1= 2zi+rand(0,1)×N1,0zi212(1zi)+rand(0,1)×N1,21<zi1(2)贝努利移位变换后的表达式为: z i + 1 = ( 2 z i ) mod   1 + rand ( 0 , 1 ) × 1 N (3) z_{i+1}=(2z_i)\text{mod}\,1+\text{rand}(0,1)×\frac1N\tag{3} zi+1=(2zi)mod1+rand(0,1)×N1(3)其中, N N N为序列内粒子个数。

2.2.2 柯西变异

柯西变异来源于连续型概率分布的柯西分布,主要特点为零处峰值较小,从峰值到零值下降缓慢,使变异范围更均匀。变异公式为: m u t a t i o n ( x ) = x ( 1 + tan ⁡ ( π ( u − 0.5 ) ) ) (4) mutation(x)=x(1+\tan(\pi(u-0.5)))\tag{4} mutation(x)=x(1+tan(π(u0.5)))(4)其中, x x x为原来个体位置, m u t a t i o n ( x ) mutation(x) mutation(x)为经过柯西变异后的个体位置, u u u ( 0 , 1 ) (0,1) (0,1)区间内的随机数。

2.3 改进探索者位置更新公式

由于 exp ⁡ ( − i α ⋅ i t e r max ⁡ ) \exp\left(\frac{-i}{\alpha\cdot iter_{\max}}\right) exp(αitermaxi)值的微小改变对探索者的影响较大,因此本文在此基础上,将探索者更新公式改为: x i , d t + 1 = { x i , d t ⋅ 2 exp ⁡ ( 4 i α ⋅ i t e r max ⁡ ) m , R 2 < S T x i , d t + Q × L ,     R 2 ≥ S T (5) x_{i,d}^{t+1}=\begin{dcases}x_{i,d}^t\cdot\frac{2}{\exp\left(\frac{4i}{\alpha\cdot iter_{\max}}\right)^m},\quad R_2<ST\\x_{i,d}^t+\boldsymbol Q×\boldsymbol L,\quad\quad\quad\quad\,\,\, R_2≥ST\end{dcases}\tag{5} xi,dt+1= xi,dtexp(αitermax4i)m2,R2<STxi,dt+Q×L,R2ST(5) c = 2 exp ⁡ ( 4 i α ⋅ i t e r max ⁡ ) m c=\frac{2}{\exp\left(\frac{4i}{\alpha\cdot iter_{\max}}\right)^m} c=exp(αitermax4i)m2,选取 m m m从1到4之间分析参数 m m m对探索者性能的影响,如图1所示。在这里插入图片描述

图1 c c c变化曲线

m m m值的选取影响着麻雀探索者对于全局和局部搜索之间的平衡关系。从图1可以看出,每条曲线都是前期收敛速度快,后期收敛速度慢,由文献[1]的分析可知,取 m = 2 m=2 m=2,参数 c c c可以使改进算法的探索能力和觅食能力达到较好的平衡,此时探索者可在前期充分广泛搜索目标,后期着重对最优位置进行挖掘。

2.4 探索者-跟随者自适应调整策略

本文提出探索者-跟随者自适应调整策略,该策略在迭代前期,探索者可以占种群数目的多数,随着迭代次数的增加,探索者的数目自适应减少,跟随者的数目自适应增加,逐步从全局搜索转为局部精确搜索,从整体上提高算法的收敛精度。探索者和跟随者数目调整公式为: r = b ( tan ⁡ ( − π t 4 ⋅ i t e r max ⁡ + π 4 ) − k ⋅ rand ( 0 , 1 ) ) (6) r=b(\tan(-\frac{\pi t}{4\cdot iter_{\max}}+\frac\pi4)-k\cdot\text{rand}(0,1))\tag{6} r=b(tan(4itermaxπt+4π)krand(0,1))(6) p N u m = r ⋅ N (7) pNum=r\cdot N\tag{7} pNum=rN(7) s N u m = ( 1 − r ) ⋅ N (8) sNum=(1-r)\cdot N\tag{8} sNum=(1r)N(8)其中, p N u m pNum pNum为探索者数目, s N u m sNum sNum为跟随者数目; b b b为比例系数,用于控制探索者和跟随者之间的数目,本文取值为1; k k k为扰动偏离因子,对非线性递减的 r r r值进行扰动,本文取值为0.2。

2.5 改进后麻雀搜索算法

AMSSA算法流程图如下:
在这里插入图片描述

图2 AMSSA算法流程图

二、仿真实验与分析

为验证本文所改进算法的寻优能力及可行性,将AMSSA与PSO、GWO、WOA、SSA算法同时在部分基准函数上进行对比测试,以文献[1]中表2的f1、f2(单峰函数/30维)、f9、f10(多峰函数/30维)、f13、f14(固定维度多峰函数/6维、4维)为例。为了避免偶然误差过大,在实验中选取各基准函数独立运行40次,取最佳值、平均值和标准差作为评价指标,实验中设定种群规模为30,最大迭代次数为500。
结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
PSO:最大值: 2394.9371,最小值:761.4281,平均值:1436.7306,标准差:395.3435
GWO:最大值: 3.186e-27,最小值:1.9119e-29,平均值:8.3043e-28,标准差:7.8847e-28
WOA:最大值: 4.7117e-70,最小值:5.666e-85,平均值:1.1785e-71,标准差:7.4498e-71
SSA:最大值: 1.0801e-53,最小值:0,平均值:2.7002e-55,标准差:1.7078e-54
AMSSA:最大值: 0,最小值:0,平均值:0,标准差:0
函数:F2
PSO:最大值: 35.2167,最小值:17.1769,平均值:26.9807,标准差:4.2543
GWO:最大值: 2.8915e-16,最小值:2.6267e-17,平均值:1.1027e-16,标准差:6.7414e-17
WOA:最大值: 7.6953e-49,最小值:7.0577e-57,平均值:3.5303e-50,标准差:1.3891e-49
SSA:最大值: 6.2909e-37,最小值:1.4022e-161,平均值:2.3898e-38,标准差:1.0325e-37
AMSSA:最大值: 0,最小值:0,平均值:0,标准差:0
函数:F9
PSO:最大值: 11.9577,最小值:7.3331,平均值:8.9889,标准差:0.83767
GWO:最大值: 1.5721e-13,最小值:6.4837e-14,平均值:1.0543e-13,标准差:1.949e-14
WOA:最大值: 7.9936e-15,最小值:8.8818e-16,平均值:4.5297e-15,标准差:2.4781e-15
SSA:最大值: 8.8818e-16,最小值:8.8818e-16,平均值:8.8818e-16,标准差:0
AMSSA:最大值: 8.8818e-16,最小值:8.8818e-16,平均值:8.8818e-16,标准差:0
函数:F10
PSO:最大值: 28.3564,最小值:6.7043,平均值:16.3545,标准差:5.2621
GWO:最大值: 0.030659,最小值:0,平均值:0.003812,标准差:0.007937
WOA:最大值: 0.18347,最小值:0,平均值:0.006929,标准差:0.032232
SSA:最大值: 0,最小值:0,平均值:0,标准差:0
AMSSA:最大值: 0,最小值:0,平均值:0,标准差:0
函数:F13
PSO:最大值: -2.8735,最小值:-3.3218,平均值:-3.1643,标准差:0.10617
GWO:最大值: -3.0406,最小值:-3.322,平均值:-3.2367,标准差:0.089385
WOA:最大值: -2.8335,最小值:-3.3218,平均值:-3.2046,标准差:0.13641
SSA:最大值: -3.2031,最小值:-3.322,平均值:-3.2655,标准差:0.060129
AMSSA:最大值: -3.2031,最小值:-3.322,平均值:-3.2477,标准差:0.058292
函数:F14
PSO:最大值: -2.625,最小值:-10.1532,平均值:-5.3019,标准差:3.4499
GWO:最大值: -4.8746,最小值:-10.1527,平均值:-9.512,标准差:1.7133
WOA:最大值: -2.6261,最小值:-10.1531,平均值:-8.3547,标准差:2.6306
SSA:最大值: -5.0552,最小值:-10.1532,平均值:-9.3867,标准差:1.8428
AMSSA:最大值: -5.0552,最小值:-10.1532,平均值:-9.5159,标准差:1.7075

实验表明,AMSSA寻优性能提升较明显,具有良好的开拓能力,鲁棒性强,表现出良好的实时能力。

三、参考文献

[1] 唐延强, 李成海, 宋亚飞, 等. 自适应变异麻雀搜索优化算法[J]. 北京航空航天大学学报, 2023, 49(3): 681-692.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值