文章目录

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

一、理论基础

1、麻雀优化算法

请参考这里。

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

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

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

(a) 佳点集法产生的二维初始种群(N=100N=100N=100)
(b) 随机初始化的二维初始种群(N=100N=100N=100) 图1 二维初始种群分布图

(2)黄金莱维飞行策略

莱维飞行具体原理请参考这里。其次引入正弦函数与单位圆的关系,使得发现者能遍历圆上所有位置。并且通过引入黄金分割系数缩小解空间,以便获取可能好结果的搜索区域,加快算法搜索速度。综上结合莱维飞行和黄金正弦指引机制对发现者在R2<STR_2<STR2​<ST时位置更新公式如式(1)所示。Xi,jt+1=Xi,jt⋅∣sin⁡(r1)∣+γ⋅levy(λ)⊕dis(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,jt​⋅∣sin(r1​)∣+γ⋅levy(λ)⊕dis(1)γ=r2⋅sin⁡(r1)⋅exp⁡(−iα⋅M)(2)\gamma=r_2\cdot\sin(r_1)\cdot\exp\left(\frac{-i}{\alpha\cdot M}\right)\tag{2}γ=r2​⋅sin(r1​)⋅exp(α⋅M−i​)(2)dis=∣θ1⋅Xbest,jt−θ2⋅Xi,jt∣(3)dis=\left|\theta_1\cdot X_{best,j}^t-\theta_2\cdot X_{i,j}^t\right|\tag{3}dis=∣∣​θ1​⋅Xbest,jt​−θ2​⋅Xi,jt​∣∣​(3)其中,Xi,jt+1X_{i,j}^{t+1}Xi,jt+1​和Xi,jtX_{i,j}^tXi,jt​分别表示在第t+1t+1t+1代和第ttt代时第iii只麻雀的第jjj维;r1∈[0,2π]r_1\in[0,2\pi]r1​∈[0,2π]和r2∈[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⁡(r1)∣+γ⋅levy(λ)⋅(θ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-分布又称学生分布 ,含有参数自由度nnn,当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-分布的两个边界分别是高斯分布和柯西分布。引入该特性对发现者R2>STR_2>STR2​>ST的更新公式进行改进,改进公式如下:Xit+1=Xit+t−distribution(t)⋅Xit(6)X_i^{t+1}=X_i^{t}+t-distribution(t)\cdot X_i^t\tag{6}Xit+1​=Xit​+t−distribution(t)⋅Xit​(6)其中,使用当前迭代次数ttt作为ttt分布的自由度参数。增强算法在迭代初期的全局探索能力的同时,也加强了算法在迭代后期的局部开发能力。

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

为了挑选出更具有跳出局部极值的麻雀个体,采用了一种动态分配侦察者策略,一半的侦察者保持原有的随机挑选机制,另一半的侦察者引入竞争机制。侦察者执行侦察任务成功率越高,竞争能力越强。将竞争能力强的个体选入下一代的侦察者。令Ni,tN_{i,t}Ni,t​表示第iii个体在ttt代执行侦察任务的总次数,Ni,sN_{i,s}Ni,s​表示第iii个体在ttt代成功执行侦察任务的总次数,则第iii个体在第ttt代执行侦察任务的成功率ri,tr_{i,t}ri,t​为ri,t=Ni,sNi,t(7)r_{i,t}=\frac{N_{i,s}}{N_{i,t}}\tag{7}ri,t​=Ni,t​Ni,s​​(7)其中,Ni,sN_{i,s}Ni,s​的大小取决于执行改进后侦察者位置更新公式前后适应度的比较,即若执行侦察任务后的适应度优于执行前的适应度,则该个体执行侦察任务成功,执行侦察任务的成功总次数加一,否则保持不变。
将执行侦察任务成功率进行排序,选取成功率较高的个体(占个体总数的10%)视为更具有跳出局部最优能力的个体,并且加入下一次侦察者。Xit+1={sin⁡(θ3)⋅r3⋅(Xbestt−Xit)+cos⁡(θ4)⋅r4⋅(Xrandt−Xit)iffi>fgXit+K⋅(∣Xit−Xworstt∣(fi−fw)+ε)iffi=fg(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​⋅(Xbestt​−Xit​)+cos(θ4​)⋅r4​⋅(Xrandt​−Xit​)iffi​>fg​Xit​+K⋅((fi​−fw​)+ε∣Xit​−Xworstt​∣​)iffi​=fg​​(8)其中,θ3\theta_3θ3​和θ4\theta_4θ4​是属于[−π,π][-\pi,\pi][−π,π]之间的随机数,r3r_3r3​和r4r_4r4​是生均值为0、方差为1的高斯分布随机数, XrandtX_{rand}^tXrandt​是第ttt代随机选择的麻雀个体。改进后的侦察者更新策略,对侦察者进行扰动,由于算法迭代初期,种群分布不均,个体位置分布差距较大,利用差分变量对侦察者进行变异,提高种群多样性;在算法迭代中后期,大多数麻雀个体不会发生太大变化,此时算法主要通过高斯分布函数系数对种群进行局部扰动,避免发生早熟。最后引入正余弦函数,动态分配权重系数,防止受单个差分变量的持续性影响。

(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].

混合策略改进的麻雀优化算法相关推荐

  1. 混合策略改进的蝴蝶优化算法-附代码

    混合策略改进的蝴蝶优化算法 文章目录 混合策略改进的蝴蝶优化算法 1.蝴蝶优化算法 2. 改进蝴蝶优化算法 2.1 混沌映射初始化 2.2 融合改进正弦余弦算法的局部搜索 2.3 自适应权重系数 2. ...

  2. 基于混合策略改进的蝴蝶优化算法

    文章目录 一.理论基础 1.蝴蝶优化算法 2.正弦余弦算法 3.MSBOA算法(混合策略改进的蝴蝶优化算法) (1)融合改进正弦余弦算法的局部搜索 (2)自适应权重系数 (3)逐维变异策略 二.MSB ...

  3. 基于混合策略改进的鲸鱼优化算法

    文章目录 一.理论基础 1.基本鲸鱼优化算法 2.混合策略改进的鲸鱼优化算法 (1)Sobol序列初始化种群 (2)非线性时变因子和自适应权值 (3)随机性学习策略 (4)柯西变异策略 二.算法描述 ...

  4. 混合策略改进的麻雀搜索算法-附代码

    混合策略改进的麻雀搜索算法 文章目录 混合策略改进的麻雀搜索算法 1.麻雀优化算法 2. 改进麻雀算法 2.1 Circle 混沌初始化策略 2.2 蝴蝶优化策略 2.3 逐维变异策略 3.实验结果 ...

  5. 基于混合策略改进的花朵授粉算法

    文章目录 一.理论基础 1.花朵授粉算法(FPA) 2.基于混合策略改进的花朵授粉算法 (1)自适应转换概率策略 (2)动态全局搜索策略 (3)局部搜索增强策略 (4)花粉越界修正策略 (5)HSFP ...

  6. 麻雀优化算法 优化XGBoost的参数 python代码

    文章目录 麻雀优化算法 麻雀优化算法的改进 加入Ten混沌序列 XGBoost原理 麻雀优化算法优化XGBoost 参数范围 部分代码 画图 优化结果 评价结果和运行时间 适应度曲线 训练集结果 测试 ...

  7. 麻雀优化算法_多种智能优化算法应用案例分享-附代码

    1.智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割 智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割-附代码_Jack旭的博客-CSDN博客​blog.csdn.net 2.智能优化算法 ...

  8. 【LEACH协议】基于matlab蝴蝶优化算法WSN安全分簇路由设计【含Matlab源码 2567期】

    ⛄一.蝴蝶优化算法(MBO)简介 1 介绍 蝴蝶优化算法(butterfly optimization algorithm, BOA)是Arora 等人于2019年提出的一种元启发式智能算法.该算法受 ...

  9. 智能优化算法:麻雀搜索算法-附代码

    2020智能优化算法:麻雀搜索算法 文章目录 2020智能优化算法:麻雀搜索算法 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 5.Python代码 摘要:麻雀搜索算法(Sparro ...

最新文章

  1. iOS 自定义双向滑块Slider
  2. java学习路线导航【教学视频+博客+书籍整理】
  3. Java多维数组使用注意事项
  4. 系列笔记 | 深度学习连载(6):卷积神经网络基础
  5. 死磕java并发cas_死磕 java并发包之AtomicInteger源码分析
  6. [转]Angular2 Material2 封装组件 —— confirmDialog确定框
  7. 02-第二章 基本类型
  8. keras提取模型中的某一层_Tensorflow笔记:高级封装——Keras
  9. java获取系统dpi_java中如何获得打印机的dpi
  10. 各大浏览器保存密码的文件
  11. Android - 文字中显示图片
  12. Linux下通过WebShell反弹Shell的技巧
  13. centos实现证书登录禁止密码登录
  14. 微pe工具箱 系统安装教程_【微pe安装系统教程】微pe安装系统教程win7_微pe装系统教程...
  15. 手机12306买卧铺下铺技巧_手机12306买卧铺下铺技巧
  16. 【JSP】错误页面处理
  17. 安装PyTorch详细过程
  18. Google Earth Engine(GEE)——NASA-USDA增强型SMAP全球土壤水分数据以10公里的空间分辨率提供全球的土壤水分信息
  19. h3c服务器系统丢失,某局点H3C FlexServer R390服务器阵列失败数据丢失的经验案例...
  20. python3判断字典中的key是否存在_python3判断key存在字典中的方法是什么

热门文章

  1. 本届高交会VR行业火爆:前景好,但问题也不少
  2. linux系统上安装ntp服务,linux时间同步ntp服务的安装与配置
  3. Matlab自相关/互相关函数xcorr
  4. MacOS darwin 环境变量
  5. 利用易查分制作分班查询系统,怎么导入数据?
  6. 定时发圈,一键转发,跟圈看过来
  7. fragment嵌套fragment类,然后调用其中方法,处理请求。
  8. 对开发接口服务的一些总结
  9. 搭建自己的邮件服务器(postfix devocot cyrus-sasl) centos7 系统下配置
  10. 物联网实训文件_物联网环境监测系统(大体架构)