文章目录

  • 一、理论基础
    • 1、蝗虫优化算法
    • 2、正弦余弦算法
    • 3、SC-MGOA算法
      • (1)融入正弦余弦算法
      • (2)对正弦余弦算法进行改进
      • (3)目标位置的变异选择
  • 二、仿真实验与分析
  • 三、参考文献

一、理论基础

1、蝗虫优化算法

请参考这里。

2、正弦余弦算法

请参考这里。

3、SC-MGOA算法

(1)融入正弦余弦算法

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

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

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

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

本文对目标位置进行变异更新,使算法具有跳出局部最优的概率,提升算法的收敛精度和收敛速度。本文在GOA算 法的目标位置更新后,以一定概率对目标位置进行变异,提高每次迭代后蝗虫解的质量,使算法能够避免陷入局部最优。其中变异概率PmP_mPm​定义如下:Pm=fitness−lg(tTmax)3(5)P_m=fitness-lg(\frac{t}{T_{max}})^3\tag{5}Pm​=fitness−lg(Tmax​t​)3(5)其中,fitnessfitnessfitness是目标位置的适应度值,式(5)充分利用了每一代的目标值,随着算法的迭代,PmP_mPm​与目标值以及迭代次数紧密结合,动态调整变异概率的大小。当rand<Pm\text{rand}<P_mrand<Pm​时,对目标位置进行变异操作,生成新解:Xnewd=bestd+r⋅Xij(6)X_{new}^d=best^d+r\cdot X_i^j\tag{6}Xnewd​=bestd+r⋅Xij​(6)其中,XnewdX_{new}^dXnewd​是第ddd维通过变异操作产生的新解,bestdbest^dbestd是第ddd维的目标位置,rrr是服从(0,1)(0,1)(0,1)均匀分布的随机数,XijX_i^jXij​是随机选择的第iii只蝗虫在第jjj维的位置。
对目标位置进行变异操作虽然能让算法跳出局部最优,但是不能保证新位置优于原目标位置,所以本文在变异操作后面加入了贪婪原则,通过比较适应度之后再决定是否更新目标位置:bestd={Xnewd,f(Xnewd)<f(bestd)bestd,f(Xnewd)>f(bestd)(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=30N=30N=30,最大迭代次数Tmax=500T_{max}=500Tmax​=500,空间维度dim=30dim=30dim=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. 融合改进 Logistics 混沌和正弦余弦算子的自适应 t 分布海鸥算法-附代码

    融合改进 Logistics 混沌和正弦余弦算子的自适应 t 分布海鸥算法 文章目录 融合改进 Logistics 混沌和正弦余弦算子的自适应 t 分布海鸥算法 1.海鸥优化算法 2. 改进海鸥优化算 ...

  2. 融合正弦余弦和无限折叠迭代混沌映射的蝴蝶优化算法-附代码

    融合正弦余弦和无限折叠迭代混沌映射的蝴蝶优化算法 文章目录 融合正弦余弦和无限折叠迭代混沌映射的蝴蝶优化算法 1.蝴蝶优化算法 2. 改进蝴蝶优化算法 2.1 无限折叠迭代混沌映射的种群初始化 2.2 ...

  3. 【智能优化算法】基于融合改进 Logistics 混沌和正弦余弦算子的自适应 t 分布海鸥算法求解单目标优化问题附matlab代码

    1 简介 针对基本海鸥算法存在的缺陷,提出一种融合改进Logistics混沌和正弦余弦算子的自适应t分布海鸥算法(ISOA).首先,采用改进Logistics混沌映射初始化种群,使海鸥更加均匀地分布于 ...

  4. 混合正弦余弦算法和 Lévy飞行的麻雀算法-附代码

    混合正弦余弦算法和 Lévy飞行的麻雀算法 文章目录 混合正弦余弦算法和 Lévy飞行的麻雀算法 1.麻雀搜索算法 2. 改进麻雀算法 2.1 融合正弦余弦算法(SCA)思想 2.2 Lévy飞行策略 ...

  5. 【蝗虫算法】基于混合柯西变异和均匀分布改进蝗虫优化算法求解单目标优化问题matlab代码

    1 简介 传统蝗虫优化算法在处理优化问题时依然存在收敛速度慢,易陷入局部最优的不足.为此,提出了融合混沌映射和柯西变异机制的非线性蝗虫优化算法CCGOA.通过融合混沌Tent映射与反向学习机制,对种群 ...

  6. 混合正弦余弦算法和Lévy飞行的麻雀算法

    文章目录 一.理论基础 1.基本麻雀搜索算法 2.混合正弦余弦算法和Lévy飞行的麻雀算法(ISSA) (1)融合正弦余弦算法(SCA)思想 (2)Lévy飞行策略 二.ISSA算法流程图 三.算法性 ...

  7. 基于曲线自适应和模拟退火的蝗虫优化算法-附代码

    基于曲线自适应和模拟退火的蝗虫优化算法 文章目录 基于曲线自适应和模拟退火的蝗虫优化算法 1.蝗虫优化算法 2. 基于曲线自适应和模拟退火的蝗虫优化算法(SA-CAGOA) 2.1 基于曲线自适应的蝗 ...

  8. 基于余弦相似度的改进蝴蝶优化算法

    文章目录 一.理论基础 1.蝴蝶优化算法 2.改进蝴蝶优化算法 (1)基于余弦相似度位置更新策略 (2)根据适应度动态调整转换概率策略 (3)自适应混合惯性权重 二.MSBOA算法步骤 三.仿真实验与 ...

  9. 基于Cat混沌与高斯变异的改进灰狼优化算法-附代码

    基于Cat混沌与高斯变异的改进灰狼优化算法 文章目录 基于Cat混沌与高斯变异的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 混沌反向学习策略的种群初始化 2. 2 引入个体记忆 ...

  10. 基于交叉算子和非均匀变异算子的飞蛾扑火优化算法-附代码

    基于交叉算子和非均匀变异算子的飞蛾扑火优化算法 文章目录 基于交叉算子和非均匀变异算子的飞蛾扑火优化算法 1.飞蛾扑火优化算法 2. 改进飞蛾扑火优化算法 2.1 交叉算子 2.2 非均匀变异算子 3 ...

最新文章

  1. python多进程原理_python多进程的详细介绍(附示例)
  2. 在Ubuntu Server上添加NFS共享文件夹
  3. nginx日志切割并使用flume-ng收集日志
  4. 【大会】看案例,选方案
  5. 好看的流程审批html,审批流程(加班)驳回(流程被删除).html
  6. C语言判断m数为素数,判断数m是否为素数 c语言求素数的代码
  7. 工具DebugView、PCHunter、Procexp、Procmon
  8. 运行linux浏览器,开源也疯狂:5款Linux浏览器推荐
  9. 华林SAP论坛(华林自建的SAP论坛)
  10. linux mlocate.db文件文件过大
  11. 详解 python 的 切片
  12. matlab ga函数详解,matlab遗传算法ga函数
  13. 【2021年蓝桥省赛真题】赛前最后冲刺,省一我来啦
  14. 实现32/64位Windows虚拟扫描仪自定义图片加载
  15. SP许可证延期需要的东西
  16. 2023年前端面试题集锦
  17. SpringBoot + MyBatis-Plus + Shiro授权认证
  18. 苹果MAC OS X双系统安装教程
  19. ui设计要素;ui设计要素有哪些
  20. [ FI基本业务流程 ] - Accounts Payable基础知识

热门文章

  1. ES6转换成ES5/ES3
  2. 家庭组网:Vlan单线复用,故障检测以及五种“软路由”加mesh组网方案
  3. 在Word中的方框里打对勾都有哪些方法?☑☑☑
  4. docker安装文档(多种方式)
  5. 重力对手表的走时精度有何影响?12:06:44
  6. 旷视科技科创板IPO上会在即,毫不吝啬研发投入
  7. touch: cannot touch ‘***’: Read-only file system
  8. CISCO三层交换机配置
  9. 【C语言基础】-九条语句
  10. 镜像翻转_98年“后浪”科学家,首次挑战图片翻转不变性假设,一作拿下CVPR最佳论文提名...