文章目录

  • 一、理论基础
    • 1、麻雀搜索算法
    • 2、改进麻雀搜索算法
      • 2.1 猫映射混沌初始化种群
      • 2.2 Tent混沌和柯西变异扰动策略
        • 2.2.1 Tent混沌扰动
        • 2.2.2 柯西变异
      • 2.3 改进探索者位置更新公式
      • 2.4 探索者-跟随者自适应调整策略
      • 2.5 改进后麻雀搜索算法
  • 二、仿真实验与分析
  • 三、参考文献

一、理论基础

1、麻雀搜索算法

请参考这里。

2、改进麻雀搜索算法

2.1 猫映射混沌初始化种群

针对Logistic映射和Tent映射的缺点,本文通过猫映射来生成改进算法的初始种群。猫映射表达式为:[yi+1wi+1]=[1a1b1a1b1+1][yiwi]mod1(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+1​wi+1​​]=[1b1​​a1​a1​b1​+1​][yi​wi​​]mod1(1)其中,a1=b1=1a_1=b_1=1a1​=b1​=1;mod1\text{mod}\,\,1mod1表示求a1a_1a1​小数部分。由于猫映射结构简单,不易陷入小循环周期和不动点,通过该映射产生初始种群具有更好的遍历均匀性。

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

2.2.1 Tent混沌扰动

Tent混沌映射存在小周期和不稳定周期点,为避免落入小周期点和不稳定周期点,在原有的Tent映射表达式上引入随机变量rand(0,1)×1N\text{rand}(0,1)×\frac1Nrand(0,1)×N1​,改进后的Tent混沌映射表达式如下:zi+1={2zi+rand(0,1)×1N,0≤zi≤122(1−zi)+rand(0,1)×1N,12<zi≤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​,0≤zi​≤21​2(1−zi​)+rand(0,1)×N1​,21​<zi​≤1​(2)贝努利移位变换后的表达式为:zi+1=(2zi)mod1+rand(0,1)×1N(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)其中,NNN为序列内粒子个数。

2.2.2 柯西变异

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

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

由于exp⁡(−iα⋅itermax⁡)\exp\left(\frac{-i}{\alpha\cdot iter_{\max}}\right)exp(α⋅itermax​−i​)值的微小改变对探索者的影响较大,因此本文在此基础上,将探索者更新公式改为:xi,dt+1={xi,dt⋅2exp⁡(4iα⋅itermax⁡)m,R2<STxi,dt+Q×L,R2≥ST(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,dt​⋅exp(α⋅itermax​4i​)m2​,R2​<STxi,dt​+Q×L,R2​≥ST​(5)令c=2exp⁡(4iα⋅itermax⁡)mc=\frac{2}{\exp\left(\frac{4i}{\alpha\cdot iter_{\max}}\right)^m}c=exp(α⋅itermax​4i​)m2​,选取mmm从1到4之间分析参数mmm对探索者性能的影响,如图1所示。

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

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

本文提出探索者-跟随者自适应调整策略,该策略在迭代前期,探索者可以占种群数目的多数,随着迭代次数的增加,探索者的数目自适应减少,跟随者的数目自适应增加,逐步从全局搜索转为局部精确搜索,从整体上提高算法的收敛精度。探索者和跟随者数目调整公式为:r=b(tan⁡(−πt4⋅itermax⁡+π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(−4⋅itermax​πt​+4π​)−k⋅rand(0,1))(6)pNum=r⋅N(7)pNum=r\cdot N\tag{7}pNum=r⋅N(7)sNum=(1−r)⋅N(8)sNum=(1-r)\cdot N\tag{8}sNum=(1−r)⋅N(8)其中,pNumpNumpNum为探索者数目,sNumsNumsNum为跟随者数目;bbb为比例系数,用于控制探索者和跟随者之间的数目,本文取值为1;kkk为扰动偏离因子,对非线性递减的rrr值进行扰动,本文取值为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/OL]. 北京航空航天大学学报: 1-14 [2021-09-21].

自适应变异麻雀搜索优化算法相关推荐

  1. 混沌麻雀搜索优化算法-附代码

    混沌麻雀搜索算法 文章目录 混沌麻雀搜索算法 1.麻雀搜索算法 2.Tent 混沌及高斯变异 2.1 Tent 混沌 2.2 高斯变异 3.混沌麻雀搜索优化算法 4.实验结果 5.参考文献 6.Mat ...

  2. 混沌麻雀搜索优化算法

    文章目录 一.理论基础 1.麻雀搜索算法 2.Tent混沌及高斯变异 2.1 Tent混沌 2.1.1 Tent混沌序列 2.1.2 Tent混沌扰动 2.2 高斯变异 3.改进麻雀搜索算法 二.仿真 ...

  3. 自适应变异粒子群matlab,一种自适应变异粒子群优化算法的制作方法

    本算法属于数据挖掘领域,涉及到SVM分类器和参数寻优,特别涉及到其变异操作,使得能够最大限度的搜索到全局最优解. 背景技术: 网格划分法是SVM分类器中常用的一种参数寻优方法,原因如下:一是网格划分法 ...

  4. 多目标优化算法:多目标黄金搜索优化算法MOGSO(提供MATLAB代码)

    一.算法简介 黄金搜索优化算法(Golden Search Optimization Algorithm,GSO)由MOHAMMAD NOROOZI等人于2022年提出,该算法原理简单,快捷高效. 二 ...

  5. 融合改进天牛须和正余弦的双重搜索优化算法

    文章目录 一.理论基础 1.正余弦优化算法 2.天牛须搜索算法 3.融合改进天牛须和正余弦的优化算法 (1)引入自适应权重 (2)递减参数r1r_1r1​的改变 (3)变步长搜索机制 (4)算法流程图 ...

  6. 基于回溯搜索优化算法的WSN覆盖优化

    文章目录 一.理论基础 1.回溯搜索优化算法 (1)种群初始化 (2)选择Ⅰ (3)变异 (4)交叉 (5)选择Ⅱ 2.BSA算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.回溯搜 ...

  7. 黄金正弦混合原子搜索优化算法

    文章目录 一.理论基础 1.基本原子搜索优化算法 (1)相互作用力Fid\boldsymbol{F_i^d}Fid​ (2)共价键约束力Gid\boldsymbol{G_i^d}Gid​ (3)原子加 ...

  8. 原子搜索优化算法ASO

    目录 主函数 结果 各种算法的比较 结果 函数1 函数2 函数3 函数4 函数5 函数6 函数7 函数8 函数9 函数-粒子群优化算法 函数10 函数11 函数12 原子搜索算法(atom searc ...

  9. 浅谈数据挖掘——频繁模式、序列挖掘与搜索优化算法

    本系列将从下面几方面谈谈最近的一点点收获 令声明:本文主要是对我找到的一个莫名其妙国外英文pdf文件的学习与解读,因为我也没有找到他的出处(也没作者也没学校),所以我仅以此段文字向这个未知的作者致敬. ...

最新文章

  1. 资产配置决策系统的MATLAB实现
  2. 安装phproject之一
  3. python模块介绍- xlwt 创建xls文件(excel)
  4. python classmethod用处_Python classmethod类方法修饰符
  5. VB 二进制数组与十六进制字符串相互转换
  6. 递归法:求n个元素的全排列
  7. SpringMVC之安全性(二)登录界面
  8. IDEA的第一个java程序
  9. poj1466二分图
  10. html在线编辑器 哪个好用,可视化HTML富文本编辑器有哪些?哪个好用?
  11. DBeaver - 一款免费开源的通用数据库工具
  12. json文件格式转换为png文件格式
  13. 免费JS富文本编辑器 总有一款会适合你
  14. FAT32文件系统结构详解
  15. docker nginx 跨域配置 uniapp h5 网页
  16. 鹰式价差matlab,蝶式及鹰式价差组合策略
  17. PHP 8.1性能基准测试结果出炉,比7.0版本提升44%
  18. @Transactional注解解析
  19. 圣诞节实用礼物有哪些?高性价比的蓝牙耳机分享
  20. 『互联网架构』埋点基础知识

热门文章

  1. 区块链公链生态-赛道分类
  2. 不用心率表,教你一秒钟知道自己的心率
  3. MongoDB 中文的全文索引
  4. 如何下载网易云音乐APP里的MV和短视频?
  5. 锐捷c语言笔试题,锐捷校园招聘笔试题
  6. MATLAB(1)基础知识
  7. tl-wr842n服务器未响应,TP-LINK 842N 隔一段时间就断网一次 重启路由器就好了
  8. Runtime - 常用的runtime API介绍
  9. 苹果手机话筒声音小怎么办_手机的声音小怎么办
  10. AI换脸为什么服务器没响应,AI换脸云服务器