自适应变异麻雀搜索优化算法
文章目录
- 一、理论基础
- 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+1wi+1]=[1b1a1a1b1+1][yiwi]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≤212(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(α⋅itermax4i)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(α⋅itermax4i)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.麻雀搜索算法 2.Tent 混沌及高斯变异 2.1 Tent 混沌 2.2 高斯变异 3.混沌麻雀搜索优化算法 4.实验结果 5.参考文献 6.Mat ...
- 混沌麻雀搜索优化算法
文章目录 一.理论基础 1.麻雀搜索算法 2.Tent混沌及高斯变异 2.1 Tent混沌 2.1.1 Tent混沌序列 2.1.2 Tent混沌扰动 2.2 高斯变异 3.改进麻雀搜索算法 二.仿真 ...
- 自适应变异粒子群matlab,一种自适应变异粒子群优化算法的制作方法
本算法属于数据挖掘领域,涉及到SVM分类器和参数寻优,特别涉及到其变异操作,使得能够最大限度的搜索到全局最优解. 背景技术: 网格划分法是SVM分类器中常用的一种参数寻优方法,原因如下:一是网格划分法 ...
- 多目标优化算法:多目标黄金搜索优化算法MOGSO(提供MATLAB代码)
一.算法简介 黄金搜索优化算法(Golden Search Optimization Algorithm,GSO)由MOHAMMAD NOROOZI等人于2022年提出,该算法原理简单,快捷高效. 二 ...
- 融合改进天牛须和正余弦的双重搜索优化算法
文章目录 一.理论基础 1.正余弦优化算法 2.天牛须搜索算法 3.融合改进天牛须和正余弦的优化算法 (1)引入自适应权重 (2)递减参数r1r_1r1的改变 (3)变步长搜索机制 (4)算法流程图 ...
- 基于回溯搜索优化算法的WSN覆盖优化
文章目录 一.理论基础 1.回溯搜索优化算法 (1)种群初始化 (2)选择Ⅰ (3)变异 (4)交叉 (5)选择Ⅱ 2.BSA算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.回溯搜 ...
- 黄金正弦混合原子搜索优化算法
文章目录 一.理论基础 1.基本原子搜索优化算法 (1)相互作用力Fid\boldsymbol{F_i^d}Fid (2)共价键约束力Gid\boldsymbol{G_i^d}Gid (3)原子加 ...
- 原子搜索优化算法ASO
目录 主函数 结果 各种算法的比较 结果 函数1 函数2 函数3 函数4 函数5 函数6 函数7 函数8 函数9 函数-粒子群优化算法 函数10 函数11 函数12 原子搜索算法(atom searc ...
- 浅谈数据挖掘——频繁模式、序列挖掘与搜索优化算法
本系列将从下面几方面谈谈最近的一点点收获 令声明:本文主要是对我找到的一个莫名其妙国外英文pdf文件的学习与解读,因为我也没有找到他的出处(也没作者也没学校),所以我仅以此段文字向这个未知的作者致敬. ...
最新文章
- 资产配置决策系统的MATLAB实现
- 安装phproject之一
- python模块介绍- xlwt 创建xls文件(excel)
- python classmethod用处_Python classmethod类方法修饰符
- VB 二进制数组与十六进制字符串相互转换
- 递归法:求n个元素的全排列
- SpringMVC之安全性(二)登录界面
- IDEA的第一个java程序
- poj1466二分图
- html在线编辑器 哪个好用,可视化HTML富文本编辑器有哪些?哪个好用?
- DBeaver - 一款免费开源的通用数据库工具
- json文件格式转换为png文件格式
- 免费JS富文本编辑器 总有一款会适合你
- FAT32文件系统结构详解
- docker nginx 跨域配置 uniapp h5 网页
- 鹰式价差matlab,蝶式及鹰式价差组合策略
- PHP 8.1性能基准测试结果出炉,比7.0版本提升44%
- @Transactional注解解析
- 圣诞节实用礼物有哪些?高性价比的蓝牙耳机分享
- 『互联网架构』埋点基础知识