融合正弦余弦和变异选择的蝗虫优化算法

一、理论基础

1、蝗虫优化算法

请参考这里

2、正弦余弦算法

请参考这里

3、SC-MGOA算法

(1)融入正弦余弦算法

本文的两种位置更新方式通过转换概率控制。当转换概率设置为一个常数时,并不利于平衡算法的全局搜索和局部开发,因此本文将转换概率设置为一个随着迭代自适应调整的函数,有利于算法通过动态控制转换概率的大小,进一步调控全局搜索和局部开发的平衡,转换概率的定义如下: P v = e x p ( μ × ( t T m a x ) 3 ) (1) P_v=exp\left(\mu×\left(\frac{t}{T_{max}}\right)^3\right)\tag{1} Pv=exp(μ×(Tmaxt)3)(1)其中, t t t是当前迭代次数, T m a x T_{max} Tmax是最大迭代次数, μ \mu μ为转换因子,取值为 μ = 0.01 \mu=0.01 μ=0.01。因为算法应在迭代前期尽可能的进行全局搜索,在后期进行局部开发,所以在转换的概率的控制下,当 rand < P v \text{rand}<P_v randPv时,算法根据正弦余弦机制更新位置,否则,按照GOA原本的方式更新位置。

(2)对正弦余弦算法进行改进

对融进GOA算法的SCA部分的参数 R 1 R_1 R1的收敛方式进行改进,改进后的表达式如下: R 1 = a × t T m a x c o s ( π t ) 3 (2) R_1=a×\frac{t}{T_{max}}cos(\pi t)^3\tag{2} R1=a×Tmaxtcos(πt)3(2)式中引入了余弦函数,利用余弦函数的数学特点,让 R 1 R_1 R1在一定范围内来回震荡,使算法的全局探索和局部开发得到进一步的平衡。
其次,为了在位置更新处充分利用个体位置信息,使个体位置对新位置的影响权重随迭代发生变化,引入动态权重系数,权重系数 β \beta β的表达式如下: β = e x p ( 1 − t T m a x ) − b t (3) \beta=exp(1-\frac{t}{T_{max}})^{-bt}\tag{3} β=exp(1Tmaxt)bt(3)其中, b b b为服从指数分布的优化因子,即 b ∼ E ( λ ) b\sim E(\lambda) bE(λ),本文中 λ \lambda λ取值为种群数 N N N。在算法迭代前期, β \beta β较大且下降缓慢,即个体位置对算法有较大的影响力,以充分进行全局探索,在算法后期, β \beta β急速减小以减少个体位置的影响力,让算法进行充分的局部开发。改进后的正弦余弦机制更新方式如下: X i d ( t + 1 ) = { β × X i d ( t ) + R 1 × sin ⁡ ( R 2 ) × ∣ R 3 P b e s t d ( t ) − X i d ( t ) ∣ , R 4 < 0.5 β × X i d ( t ) + R 1 × cos ⁡ ( R 2 ) × ∣ R 3 P b e s t d ( t ) − X i d ( t ) ∣ , R 4 ≥ 0.5 (4) X_i^d(t+1)=\begin{dcases}\beta×X_i^d(t)+R_1×\sin(R_2)×|R_3P_{best}^d(t)-X_i^d(t)|,R_4<0.5\\\beta×X_i^d(t)+R_1×\cos(R_2)×|R_3P_{best}^d(t)-X_i^d(t)|,R_4≥0.5\end{dcases}\tag{4} Xid(t+1)={β×Xid(t)+R1×sin(R2)×R3Pbestd(t)Xid(t),R4<0.5β×Xid(t)+R1×cos(R2)×R3Pbestd(t)Xid(t),R40.5(4)

(3)目标位置的变异选择

本文对目标位置进行变异更新,使算法具有跳出局部最优的概率,提升算法的收敛精度和收敛速度。本文在GOA算 法的目标位置更新后,以一定概率对目标位置进行变异,提高每次迭代后蝗虫解的质量,使算法能够避免陷入局部最优。其中变异概率 P m P_m Pm定义如下: P m = f i t n e s s − l g ( t T m a x ) 3 (5) P_m=fitness-lg(\frac{t}{T_{max}})^3\tag{5} Pm=fitnesslg(Tmaxt)3(5)其中, f i t n e s s fitness fitness是目标位置的适应度值,式(5)充分利用了每一代的目标值,随着算法的迭代, P m P_m Pm与目标值以及迭代次数紧密结合,动态调整变异概率的大小。当 rand < P m \text{rand}<P_m randPm时,对目标位置进行变异操作,生成新解: X n e w d = b e s t d + r ⋅ X i j (6) X_{new}^d=best^d+r\cdot X_i^j\tag{6} Xnewd=bestd+rXij(6)其中, X n e w d X_{new}^d Xnewd是第 d d d维通过变异操作产生的新解, b e s t d best^d bestd是第 d d d维的目标位置, r r r是服从 ( 0 , 1 ) (0,1) (0,1)均匀分布的随机数, X i j X_i^j Xij是随机选择的第 i i i只蝗虫在第 j j j维的位置。
对目标位置进行变异操作虽然能让算法跳出局部最优,但是不能保证新位置优于原目标位置,所以本文在变异操作后面加入了贪婪原则,通过比较适应度之后再决定是否更新目标位置: b e s t d = { X n e w d , f ( X n e w d ) < f ( b e s t d ) b e s t d , f ( X n e w d ) > f ( b e s t d ) (7) best^d=\begin{dcases}X_{new}^d,f(X_{new}^d)<f(best^d)\\best^d,f(X_{new}^d)>f(best^d)\end{dcases}\tag{7} bestd={Xnewd,f(Xnewd)<f(bestd)bestd,f(Xnewd)>f(bestd)(7)利用贪婪选择策略使算法在迭代过程中能够充分利用目标位置信息,提升算法收敛速度和精度,促进算法的寻优性能。
在这里插入图片描述

图1 改进算法流程图

二、仿真实验与分析

设置种群规模 N = 30 N=30 N=30,最大迭代次数 T m a x = 500 T_{max}=500 Tmax=500,空间维度 d i m = 30 dim=30 dim=30,独立运算30次。以F1、F2、F3为例。
下图给出了SC-MGOA算法和SSA算法、ALO算法和SCA算法的收敛曲线对比图。
在这里插入图片描述在这里插入图片描述在这里插入图片描述最大值、最小值、平均值及标准差显示如下:

函数:F1
SSA:最大值: 3.0467e-06,最小值:3.7203e-08,平均值:3.427e-07,标准差:6.0464e-07
ALO:最大值: 0.0060042,最小值:0.00011538,平均值:0.0015261,标准差:0.0014649
SCA:最大值: 67.712,最小值:0.029329,平均值:9.904,标准差:17.0281
SC_MGOA:最大值: 0,最小值:0,平均值:0,标准差:0
函数:F2
SSA:最大值: 5.4712,最小值:0.062379,平均值:2.1749,标准差:1.5069
ALO:最大值: 128.4936,最小值:2.0334,平均值:51.5495,标准差:48.173
SCA:最大值: 0.53317,最小值:0.00022484,平均值:0.045961,标准差:0.10527
SC_MGOA:最大值: 0,最小值:0,平均值:0,标准差:0
函数:F3
SSA:最大值: 4862.9184,最小值:389.8293,平均值:1580.0408,标准差:1045.8012
ALO:最大值: 9800.2649,最小值:1973.1802,平均值:4682.1538,标准差:2100.9291
SCA:最大值: 27243.3394,最小值:1285.1373,平均值:8935.6313,标准差:7164.3277
SC_MGOA:最大值: 0,最小值:0,平均值:0,标准差:0

结果证明了SC-MGOA算法相对于其他比较算法在寻优精度、寻优速度和鲁棒性等方面 的优越性。

三、参考文献

[1] 林杰, 何庆. 融合正弦余弦和变异选择的蝗虫优化算法[J]. 小型微型计算机系统, 2021, 42(4): 706-713.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值