混合策略改进的麻雀优化算法

news/2024/7/4 23:50:19

文章目录

  • 一、理论基础
    • 1、麻雀优化算法
    • 2、混合策略改进的麻雀优化算法
      • (1)佳点集的种群初始化
      • (2)黄金莱维飞行策略
      • (3)t-分布扰动策略
      • (4)动态分配侦察者策略
      • (5)MI-SSA算法实现流程
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、麻雀优化算法

请参考这里。

2、混合策略改进的麻雀优化算法

(1)佳点集的种群初始化

具体原理请参考这里、这里和这里。通过对佳点集法和随机法生成二维初始种群进行对比,如图1所示。在相同的取点个数下,使用佳点集初始化方法的个体比随机初始化方法的个体更加均匀。
在这里插入图片描述

(a) 佳点集法产生的二维初始种群( N = 100 N=100 N=100)

在这里插入图片描述
(b) 随机初始化的二维初始种群( N = 100 N=100 N=100)

图1 二维初始种群分布图

(2)黄金莱维飞行策略

莱维飞行具体原理请参考这里。其次引入正弦函数与单位圆的关系,使得发现者能遍历圆上所有位置。并且通过引入黄金分割系数缩小解空间,以便获取可能好结果的搜索区域,加快算法搜索速度。综上结合莱维飞行和黄金正弦指引机制对发现者在 R 2 < S T R_2<ST R2<ST时位置更新公式如式(1)所示。 X i , j t + 1 = X i , j t ⋅ ∣ sin ⁡ ( r 1 ) ∣ + γ ⋅ l e v y ( λ ) ⊕ d i s (1) X_{i,j}^{t+1}=X_{i,j}^t\cdot|\sin(r_1)|+\gamma\cdot levy(\lambda)\oplus dis\tag{1} Xi,jt+1=Xi,jtsin(r1)+γlevy(λ)dis(1) γ = r 2 ⋅ sin ⁡ ( r 1 ) ⋅ exp ⁡ ( − i α ⋅ M ) (2) \gamma=r_2\cdot\sin(r_1)\cdot\exp\left(\frac{-i}{\alpha\cdot M}\right)\tag{2} γ=r2sin(r1)exp(αMi)(2) d i s = ∣ θ 1 ⋅ X b e s t , j t − θ 2 ⋅ X i , j t ∣ (3) dis=\left|\theta_1\cdot X_{best,j}^t-\theta_2\cdot X_{i,j}^t\right|\tag{3} dis= θ1Xbest,jtθ2Xi,jt (3)其中, X i , j t + 1 X_{i,j}^{t+1} Xi,jt+1 X i , j t X_{i,j}^t Xi,jt分别表示在第 t + 1 t+1 t+1代和第 t t t代时第 i i i只麻雀的第 j j j维; r 1 ∈ [ 0 , 2 π ] r_1\in[0,2\pi] r1[0,2π] r 2 ∈ [ 0 , π ] r_2\in[0,\pi] r2[0,π]的随机数; θ 1 \theta_1 θ1 θ 2 \theta_2 θ2是由引入黄金比例系数 τ \tau τ计算得到,其中 τ = ( 5 − 1 ) / 2 \tau=(\sqrt 5-1)/2 τ=(5 1)/2 θ 1 = − π + 2 π ⋅ ( 1 − τ ) (4) \theta_1=-\pi+2\pi\cdot(1-\tau)\tag{4} θ1=π+2π(1τ)(4) θ 2 = − π + 2 π ⋅ τ (5) \theta_2=-\pi+2\pi\cdot\tau\tag{5} θ2=π+2πτ(5)相较于SSA中发现者的第一段更新策略,提出的黄金莱维飞行策略能让发现者搜索到更大范围,如图2(b)所示。
在这里插入图片描述

(a) y = exp ⁡ ( − i / ( α ⋅ M ) ) ;   ( M ∈ [ 0 , 1000 ] ) y=\exp(-i/(\alpha\cdot M));\,(M\in[0,1000]) y=exp(i/(αM));(M[0,1000])

在这里插入图片描述
(b) y = ∣ sin ⁡ ( r 1 ) ∣ + γ ⋅ l e v y ( λ ) ⋅ ( θ 1 − θ 2 ) ;   ( M ∈ [ 0 , 1000 ] ) y=|\sin(r_1)|+\gamma\cdot levy(\lambda)\cdot(\theta_1-\theta_2);\,(M\in[0,1000]) y=sin(r1)+γlevy(λ)(θ1θ2);(M[0,1000])

图2 发现者搜索策略

(3)t-分布扰动策略

采用t-分布扰动策略对发现者位置进行扰动,以此来提升算法的灵活性和求解效果。t-分布又称学生分布 ,含有参数自由度 n n n,当 t ( n → ∞ ) → N ( 0 , 1 ) t(n\rightarrow\infty)→N(0,1) t(n)N(0,1);当 t ( n = 1 ) = C ( 0 , 1 ) t(n=1)=C(0,1) t(n=1)=C(0,1),其中 N ( 0 , 1 ) N(0,1) N(0,1)为标准的高斯分布, C ( 0 , 1 ) C(0,1) C(0,1)为柯西分布。即t-分布的两个边界分别是高斯分布和柯西分布。引入该特性对发现者 R 2 > S T R_2>ST R2ST的更新公式进行改进,改进公式如下: X i t + 1 = X i t + t − d i s t r i b u t i o n ( t ) ⋅ X i t (6) X_i^{t+1}=X_i^{t}+t-distribution(t)\cdot X_i^t\tag{6} Xit+1=Xit+tdistribution(t)Xit(6)其中,使用当前迭代次数 t t t作为 t t t分布的自由度参数。增强算法在迭代初期的全局探索能力的同时,也加强了算法在迭代后期的局部开发能力。

(4)动态分配侦察者策略

为了挑选出更具有跳出局部极值的麻雀个体,采用了一种动态分配侦察者策略,一半的侦察者保持原有的随机挑选机制,另一半的侦察者引入竞争机制。侦察者执行侦察任务成功率越高,竞争能力越强。将竞争能力强的个体选入下一代的侦察者。令 N i , t N_{i,t} Ni,t表示第 i i i个体在 t t t代执行侦察任务的总次数, N i , s N_{i,s} Ni,s表示第 i i i个体在 t t t代成功执行侦察任务的总次数,则第 i i i个体在第 t t t代执行侦察任务的成功率 r i , t r_{i,t} ri,t r i , t = N i , s N i , t (7) r_{i,t}=\frac{N_{i,s}}{N_{i,t}}\tag{7} ri,t=Ni,tNi,s(7)其中, N i , s N_{i,s} Ni,s的大小取决于执行改进后侦察者位置更新公式前后适应度的比较,即若执行侦察任务后的适应度优于执行前的适应度,则该个体执行侦察任务成功,执行侦察任务的成功总次数加一,否则保持不变。
将执行侦察任务成功率进行排序,选取成功率较高的个体(占个体总数的10%)视为更具有跳出局部最优能力的个体,并且加入下一次侦察者。 X i t + 1 = { sin ⁡ ( θ 3 ) ⋅ r 3 ⋅ ( X b e s t t − X i t ) + cos ⁡ ( θ 4 ) ⋅ r 4 ⋅ ( X r a n d t − X i t ) if    f i > f g X i t + K ⋅ ( ∣ X i t − X w o r s t t ∣ ( f i − f w ) + ε ) if    f i = f g (8) X_i^{t+1}=\begin{dcases}\sin(\theta_3)\cdot r_3\cdot(X_{best}^t-X_i^t)+\cos(\theta_4)\cdot r_4\cdot(X_{rand}^t-X_i^t)\quad\text{if}\,\,f_i>f_g\\[2ex]X_i^t+K\cdot\left(\frac{|X_i^t-X_{worst}^t|}{(f_i-f_w)+\varepsilon}\right)\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\text{if}\,\,f_i=f_g\end{dcases}\tag{8} Xit+1= sin(θ3)r3(XbesttXit)+cos(θ4)r4(XrandtXit)iffi>fgXit+K((fifw)+εXitXworstt)iffi=fg(8)其中, θ 3 \theta_3 θ3 θ 4 \theta_4 θ4是属于 [ − π , π ] [-\pi,\pi] [π,π]之间的随机数, r 3 r_3 r3 r 4 r_4 r4是生均值为0、方差为1的高斯分布随机数, X r a n d t X_{rand}^t Xrandt是第 t t t代随机选择的麻雀个体。改进后的侦察者更新策略,对侦察者进行扰动,由于算法迭代初期,种群分布不均,个体位置分布差距较大,利用差分变量对侦察者进行变异,提高种群多样性;在算法迭代中后期,大多数麻雀个体不会发生太大变化,此时算法主要通过高斯分布函数系数对种群进行局部扰动,避免发生早熟。最后引入正余弦函数,动态分配权重系数,防止受单个差分变量的持续性影响。

(5)MI-SSA算法实现流程

MI-SSA算法实现流程图如图3所示。
在这里插入图片描述

图3 MI-SSA算法流程图

二、仿真实验与结果分析

将MI-SSA与PSO、BOA、WOA和SSA进行对比,以常用23个测试函数中的F1、F2(单峰函数/30维)、F9、F10(多峰函数/30维)、F16、F18(固定维度多峰函数/2维、2维)为例,实验设置种群规模为30,最大迭代次数为500,每种算法独立运算30次,结果显示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

函数:F1
PSO:最差值: 1.139, 最优值: 0.26016, 平均值: 0.57841, 标准差: 0.21317
BOA:最差值: 9.7285e-11, 最优值: 6.1802e-11, 平均值: 7.4564e-11, 标准差: 7.6992e-12
WOA:最差值: 8.7281e-69, 最优值: 1.6156e-90, 平均值: 2.9154e-70, 标准差: 1.5934e-69
SSA:最差值: 3.6724e-38, 最优值: 0, 平均值: 1.2242e-39, 标准差: 6.7049e-39
MI-SSA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F2
PSO:最差值: 11.2003, 最优值: 2.5968, 平均值: 6.8491, 标准差: 2.4272
BOA:最差值: 3.0584e-08, 最优值: 9.5553e-09, 平均值: 2.4406e-08, 标准差: 5.3824e-09
WOA:最差值: 6.1346e-50, 最优值: 1.5969e-61, 平均值: 6.2244e-51, 标准差: 1.755e-50
SSA:最差值: 3.9911e-21, 最优值: 2.5646e-167, 平均值: 1.3571e-22, 标准差: 7.2823e-22
MI-SSA:最差值: 8.6224e-293, 最优值: 0, 平均值: 2.9252e-294, 标准差: 0
函数:F9
PSO:最差值: 107.8921, 最优值: 54.1041, 平均值: 80.521, 标准差: 14.6943
BOA:最差值: 203.1899, 最优值: 0, 平均值: 19.453, 标准差: 59.3502
WOA:最差值: 5.6843e-14, 最优值: 0, 平均值: 1.8948e-15, 标准差: 1.0378e-14
SSA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
MI-SSA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F10
PSO:最差值: 6.8766, 最优值: 3.0128, 平均值: 4.7005, 标准差: 0.95179
BOA:最差值: 3.8844e-08, 最优值: 1.8297e-08, 平均值: 2.968e-08, 标准差: 5.2329e-09
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 5.6251e-15, 标准差: 2.5265e-15
SSA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0
MI-SSA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0
函数:F16
PSO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 3.27e-09
BOA:最差值: -1.0306, 最优值: -1.0316, 平均值: -1.0312, 标准差: 0.00027372
WOA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 2.0539e-09
SSA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 5.1664e-16
MI-SSA:最差值: -1.0315, 最优值: -1.0316, 平均值: -1.0316, 标准差: 2.1603e-05
函数:F18
PSO:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 1.0382e-07
BOA:最差值: 3.8414, 最优值: 3, 平均值: 3.0553, 标准差: 0.15894
WOA:最差值: 3.0009, 最优值: 3, 平均值: 3, 标准差: 0.00016142
SSA:最差值: 30, 最优值: 3, 平均值: 7.5, 标准差: 10.2343
MI-SSA:最差值: 3.0006, 最优值: 3, 平均值: 3.0001, 标准差: 0.00015982

实验结果表明:MI-SSA具有更好的寻优精度和收敛速度,在高维度问题求解上,具有更好的性能。

三、参考文献

[1] 陈俊, 何庆. 混合策略改进的麻雀优化算法[J/OL]. 小型微型计算机系统: 1-9 [2022-07-27].


http://www.niftyadmin.cn/n/2132474.html

相关文章

微信小程序-使用canvas生成含有微信头像的图片并分享

我们的需求是动态生成一个含有微信头像的图片作为分享图片。 我们在页面中添加cancas <view styleposition:absolute;left:400rpx;><canvas canvas-idttcanvas styleheight:240px;width:320px;position:absolute;left:400rpx;><!-- <view classcolorpic>…

自适应螺旋飞行麻雀搜索算法

文章目录一、理论基础1、麻雀搜索算法2、自适应螺旋飞行麻雀搜索算法&#xff08;1&#xff09;基于随机变量的Tent混沌映射&#xff08;2&#xff09;自适应权重&#xff08;3&#xff09;莱维飞行机制&#xff08;4&#xff09;可变螺旋搜索策略&#xff08;5&#xff09;改进…

MySQL 4种事务的隔离级别

2019独角兽企业重金招聘Python工程师标准>>> 事务的ACID&#xff1a; 1)原子性(Atomic)&#xff1a;事务中各项操作&#xff0c;要么全做要么全不做&#xff0c;任何一项操作的失败都会导致整个事务的失败&#xff1b; 2)一致性(Consistent)&#xff1a;事务结束后系…

基于随机无迹sigma点变异策略的改进哈里斯鹰优化算法

文章目录一、理论基础1、哈里斯鹰优化算法2、改进的哈里斯鹰优化算法&#xff08;1&#xff09;反向学习策略&#xff08;2&#xff09;非线性收敛因子调整策略&#xff08;3&#xff09;随机无迹sigma点变异策略&#xff08;4&#xff09;IHHO算法流程图二、仿真实验与结果分析…

GO语言学习笔记(三) - 递归查找目录及子目录下的文件

GO语言学习笔记&#xff08;三&#xff09; - 递归查找目录及子目录下的文件 递归查找目录及子目录下的文件递归查找文件夹及子文件夹下的文件 代码 package mainimport ("fmt""io/ioutil""os""strings" )// 查找目录及子目录下的文件…

一种基于金鹰优化和灰狼优化的混合算法

文章目录一、理论基础1、金鹰优化算法2、灰狼优化算法3、提出的混合算法3.1 个体示例学习GEO(PELGEO)3.2 差分变异的简化GWO(DMSGWO)3.2.1 差分变异策略3.2.2 简化策略3.2.3 混合差异变异策略和简化策略3.3 自适应混合策略二、仿真实验与结果分析三、参考文献一、理论基础 1、…

算术优化与阿奎拉鹰优化的混合算法

文章目录一、理论基础1、阿奎拉鹰优化算法2、算术优化算法3、AO与AOA的混合(AOAAO)&#xff08;1&#xff09;改进逃逸能量参数&#xff08;2&#xff09;AOAAO算法伪代码二、仿真实验与结果分析三、参考文献一、理论基础 1、阿奎拉鹰优化算法 请参考这里。 2、算术优化算法…

酒瓶换酒

""" 一开始有5瓶啤酒 两个空酒瓶换一瓶啤酒 四个瓶盖换一瓶啤酒 问你最后能够喝到多少瓶啤酒 """def get(n):bottle, head n, ndrink 0while 1:drink bottleuse bottle // 2 head // 4if use 0:breakbottle % 2head % 4bottle usehead u…