多段扰动共享型乌鸦算法

文章目录

  • 多段扰动共享型乌鸦算法
    • 1.乌鸦搜索算法
    • 2.基于多段扰动的共享型乌鸦算法
      • 2.1 加入共享机制的位置更新方式
      • 2.2 加入扰动策略更新最优藏食位置
    • 4.实验结果
    • 5.参考文献
    • 6.Matlab代码
    • 7.python代码

摘要:乌鸦搜索算法作为新提出的元启发式智能算法,其寻优方式模拟了乌鸦间相互跟随窃食的行为。为了提高 算法的收敛精度、后期搜索能力等,基于传统乌鸦搜索算法提出一种新的混合乌鸦搜索算法,其核心思想是在算法 中加入共享机制,改进原始算法中随机追踪的位置更新方式,降低搜索盲目性,提高收敛速度;在不同的迭代阶段对 全局最优位置进行大小不同的扰动操作,有效提高了跳出局部最优的概率,保证算法全局搜索能力与局部搜索能力 的平衡。

1.乌鸦搜索算法

基础乌鸦搜索算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108800505

2.基于多段扰动的共享型乌鸦算法

2.1 加入共享机制的位置更新方式

在乌鸦算法中,乌鸦 (iii) 以随机方式跟踪某一乌鸦 (jjj) 进行位置更新,这样的更新方式可以在迭代的前期 保持种群较好的多样性,但是也会使算法的盲目性较 大,收敛速度变缓,无法在较短时间收敛到最优值。 1995 年 Kennedy 学者提出了粒子群算法(PSO), 通过群体内个体之间的信息共享来对问题的解进行协 同搜索,即粒子的飞行速度不仅参考自身历史最优位 置,也会参考群体中最优粒子的位置进行动态调整,这 使算法具有收敛速度快的特点。因此为了增强算法的 领导能力,在乌鸦搜索算法的位置更新部分引入粒子群 算法中向最优粒子学习的思想,使乌鸦种群共享出环境 中最优的藏食位置,即在随机跟随某一个体的同时也参 考种群中最优藏食位置来进行自身更新。乌鸦种群在 最优藏食位置的领导下,算法大大地提高了收敛速度。 新的位置更新公式如下:
sm=ri×s×(mgbest ,iter −xi,iter )s m=r_{i} \times s \times\left(m^{\text {gbest }, \text { iter }}-x^{i, \text { iter }}\right) sm=ri​×s×(mgbest , iter −xi, iter )

xi,iter +1=xi,iter +ri×fl×(mj,iter −xi,iter )+smx^{i, \text { iter }+1}=x^{i, \text { iter }}+r_{i} \times f l \times\left(m^{j, \text { iter }}-x^{i, \text { iter }}\right)+s m xi, iter +1=xi, iter +ri​×fl×(mj, iter −xi, iter )+sm

其中,smsmsm 表示共享机制的公式,mgbest,iterm^{gbest,iter}mgbest,iter 表示全局最优 藏食位置;sss 表示共享因子,决定了最优藏食位置对当 前乌鸦位置影响程度。改进后,乌鸦iii每一次移动都会 离最优位置进一步,有效提高算法的收敛速度。

2.2 加入扰动策略更新最优藏食位置

CSA是一种非贪婪型算法,即当前解如果不优于上 一代则不会被保留。因此,乌鸦搜索算法到了迭代后期 极易陷入局部最优。特别是在应用于较复杂的多峰函 数中时,收敛过早且精度低下的缺点更为明显。对此本文引入赵新超等提出的多段扰动策略用于更新最优藏食位置 mgbest,iterm^{gbest,iter}mgbest,iter, 即对全局最优藏食位置根据方差可调的正态随机分布 进行扰动得到新的全局最优藏食位置 mgbest′,iterm^{gbest',iter}mgbest′,iter ,速度更 新公式如下:
mgbest’, iter =N(mgbest ,iter ,δ)m^{\text {gbest', iter }}=N\left(m^{\text {gbest }, \text { iter }}, \delta\right) mgbest’, iter =N(mgbest , iter ,δ)
其中 δ 表示正态随机分布的方差, δ 的更新方式如下:
δ={δ1,α1T<t<α2Tδ2,t>α2T\delta=\left\{\begin{array}{l} \delta_{1}, \alpha_{1} T<t<\alpha_{2} T \\ \delta_{2}, t>\alpha_{2} T \end{array}\right. δ={δ1​,α1​T<t<α2​Tδ2​,t>α2​T​
其中, δδδ 表示正态扰动的半径参数且 δ1>δ2δ_1 >δ _2δ1​>δ2​ ; α1,α2α_1 ,α_2α1​,α2​ 是半径变化的控制参数,且 α1<α2α_1 <α_2α1​<α2​ ; ttt 是当前函数值计算次数,TTT是最大函数计算次数。在迭代早期 δ1δ_1δ1​ 取值较大,群体会向全局最优藏食位置较大的邻域内搜索;在迭代后期干扰半径δ2δ_2δ2​ 取值较小,则在全局最优藏食位置较小的邻域进行搜索,使得当前解几乎不再从较优区域跳出保证算法群体仅向全局最优解学习,从而保证算法具有较好的收敛性。

4.实验结果

5.参考文献

[1]辛梓芸,张达敏,陈忠云,张绘娟,闫威.多段扰动的共享型乌鸦算法[J].计算机工程与应用,2020,56(02):55-61.

6.Matlab代码

7.python代码

多段扰动共享型乌鸦算法-附代码相关推荐

  1. 【乌鸦算法】基于多段扰动共享型乌鸦算法求解单目标优化问题含Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  2. 智能优化算法:多元宇宙优化算法-附代码

    智能优化算法:多元宇宙优化算法-附代码 文章目录 智能优化算法:多元宇宙优化算法-附代码 1.算法原理 2.算法流程图 3.算法结果 4.参考文献 5.MATLAB代码 6.python代码 摘要:多 ...

  3. 智能优化算法:蚁狮优化算法-附代码

    智能优化算法:蚁狮优化算法-附代码 文章目录 智能优化算法:蚁狮优化算法-附代码 1.算法原理 1.1 蚂蚁的随机游走 1.2蚁狮对蚂蚁随机游走的影响 1.3自适应机制 1.4 精英策略 2.算法步骤 ...

  4. 智能优化算法:帝国主义竞争算法-附代码

    智能优化算法:帝国主义竞争算法-附代码 文章目录 智能优化算法:帝国主义竞争算法-附代码 1.算法原理 1.1 帝国集团的初始化 1.2 帝国集团内部调整 1.3 交换帝国和殖民地的位置 1.4 帝国 ...

  5. 基于蜣螂算法改进的随机森林回归算法 - 附代码

    基于蜣螂算法改进的随机森林回归算法 - 附代码 文章目录 基于蜣螂算法改进的随机森林回归算法 - 附代码 1.数据集 2.RF模型 3.基于蜣螂算法优化的RF 4.测试结果 5.Matlab代码 6. ...

  6. 路径规划算法:基于樽海鞘算法的路径规划算法- 附代码

    路径规划算法:基于樽海鞘优化的路径规划算法- 附代码 文章目录 路径规划算法:基于樽海鞘优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法结果 ...

  7. 路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码

    路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码 文章目录 路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函 ...

  8. 路径规划算法:基于蜻蜓算法的路径规划算法- 附代码

    路径规划算法:基于蜻蜓优化的路径规划算法- 附代码 文章目录 路径规划算法:基于蜻蜓优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法结果 3 ...

  9. 路径规划算法:基于鸟群优化的路径规划算法- 附代码

    路径规划算法:基于鸟群优化的路径规划算法- 附代码 文章目录 路径规划算法:基于鸟群优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法结果 3 ...

最新文章

  1. R语言dataframe(data.table)使用用最近的前一个非NA值向前填充缺失值NA实战
  2. ​灾备,让世界早有准备
  3. Linux系统基础网络配置老鸟精华篇
  4. Linux实战 | 使用Xshell连接Linux_2
  5. Mac OS X 显示和隐藏文件
  6. vue 实现无限轮播_Vue 实现无缝轮播
  7. innodb 集群_部署MySQL InnoDB集群以实现高可用性
  8. iMazing备份的详细教程
  9. 每天一道剑指offer-连续子数组的最大和
  10. axure如何导出原件_AXURE教程:管理后台页面框架
  11. GIS专业/GIS方向需要考那些证书
  12. 教你玩转ACDSEE
  13. phpmailer 私密抄送_PHPMailer发匿名邮件及Extension missing: openssl的解决
  14. PLC通讯实现-C#实现AB5000 PLC串口通讯DTL32(七)
  15. 啤酒和尿布:一文看懂关联规则
  16. 线索二叉树和中序非递归遍历线索化后的二叉树
  17. LED升压大电流恒流芯片H6911峰值电流检测 调光辉度65536驱动IC方案
  18. 重写equals()方法
  19. pc端emoji表情
  20. 怎么修改云服务器数据库权限设置,怎么修改云服务器数据库权限

热门文章

  1. 单点登录--微服务的登录解决方案
  2. va_list(),va_start()
  3. timeGetTime函数用法
  4. C++修改密码恶搞软件通过代码修改电脑密码
  5. 你不知道的,线切割机床加工原理,快慢线切割对比,出线割图步骤
  6. Fama三因子和Carhat 四因子的介绍和计算
  7. [html] 写一个鼠标跟随的特效
  8. Hiveserver2源码剖析---如何实现代理用户
  9. 笔记:期权定价-无套利理论
  10. 浮点数的表示方法及换算技巧