非均匀变异的互利自适应缎蓝园丁鸟优化算法

文章目录

  • 非均匀变异的互利自适应缎蓝园丁鸟优化算法
    • 1.缎蓝园丁鸟优化算法
    • 2.非均匀变异的互利自适应缎蓝园
      • 2.1 非均匀变异
      • 2.2 互利因子
      • 2.3自适应惯性权重
    • 3.实验结果
    • 5.参考文献
    • 6.Matlab代码
    • 7.python代码

摘要:针对缎蓝园丁鸟算法(SBO)求解精度不高和收敛速度慢等问题,提出一种改进的缎蓝园丁鸟算法(ISBO)。首先,引入非均匀变异算子,动态地调整每次迭代园丁鸟个体的搜索步长,使算法能快速高效地寻求全局最优值;其次,采用互利因子对算法的社会部分引入更多组合模式,使其不再单一围绕前一个园丁鸟附近搜索,以获取更好的最优解;最后,为了更好地平衡算法的局部与全局搜索能力,引入余弦变化的惯性权重因子来更新园丁鸟的位置公式。

1.缎蓝园丁鸟优化算法

基础缎蓝园丁鸟优化算法算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107857884

2.非均匀变异的互利自适应缎蓝园

2.1 非均匀变异

在 SBO 算法早期的迭代中,园丁鸟个体的求偶亭位置通常是远离最优解的,搜索半径太小会造成群体陷入局部最优。在算法后期,园丁鸟个体的求偶亭位置接近最优解,只需要一个非常小的范围作为解向量的微调。标准算法的个体变异寻优方式不利于快速高效地寻求全局最优值。本文引入非均匀变异算子,在前期寻优时,整个种群大范围地搜索,伴随着迭代次数的增加,逐步地缩小搜索范围,动态地调整每次迭代每个园丁鸟个体的求偶亭的搜索步长。假设对求偶亭位置xi={xi1,xi2,...,xin}Tx_i=\{x_{i1},x_{i2},...,x_{in}\}^Txi​={xi1​,xi2​,...,xin​}T的第kkk个分量执行变异运算,而 xikx_{ik}xik​ 的下界和上界分别记为varminvar_{min}varmin​ 和varmaxvar_maxvarm​ax ,则变异后的分量:
xik′={xik+Δ(t,varmax−))xi,kr<0xik−Δ(t,xik−varmin)r≥0x_{i k}^{\prime}=\left\{\begin{array}{ll} \left.x_{i k}+\Delta\left(t, var_{m a x}-\right)\right)x_{i, k} r<0 \\ x_{i k}-\Delta\left(t, x_{i k}-var_{min} )\right. & r\geq0 \end{array}\right. xik′​={xik​+Δ(t,varmax​−))xi,k​r<0xik​−Δ(t,xik​−varmin​)​r≥0​
式中,ttt是当前迭代次数;rrr是[0,1]间均匀产生的随机数;∆(t,y)∆(t, y)∆(t,y)由下式给出,它是一种自适应调节步长的变异算子,程序前半段它几乎能在整个定义域内大范围搜索,以期发现可能的潜在区域,随着算法的进行,搜索半径依概率减小,到算法临近结束时仅在当前解的狭小邻域内搜索,这样就能保证位置矢量陷入局部最优。
Δ(t,y)=y⋅(1−r(1−t/T)b)\Delta(t, y)=y \cdot\left(1-r^{(1-t / T)^{b}}\right) Δ(t,y)=y⋅(1−r(1−t/T)b)
式中,t 是当前迭代次数;T 是最大迭代次数;r 是[0,1]间均匀产生的随机数;b 是决定变异运算非均匀度的系统参数,按文献取值为 5。

2.2 互利因子

标准 SBO 算法的求偶亭位置更新公式产生的新求偶亭直接替换原求偶亭,存在以下缺点:第 i个求偶亭位置会根据由轮盘赌方式选择的第 j 个求偶亭位置和当前种群最优求偶亭位置进行更新,对随机选择的第 j 个求偶亭个体依懒性较强,缺乏与其它个体学习的部分。为增加 SBO 算法的种群多样性。本文提出引入互利因子对园丁鸟的求偶亭位置进行更新,公式如下:
xikt=xikt+φ×(xbest−C×R)x_{i k}^{t}=x_{i k}^{t}+\varphi \times\left(x_{\mathrm{b} \mathrm{e} \mathrm{st}}-C \times R\right) xikt​=xikt​+φ×(xbest​−C×R)

C=(xh+xm)/2\mathrm{C}=\left(x_{\mathrm{h}}+x_{m}\right) / 2 C=(xh​+xm​)/2

式中,φφφ是(0,1)之间的随机数;xbest,kx_{best,k}xbest,k​ 为整个种群当前的最优位置的第kkk维分量;CCC即为互利因子,代表园丁鸟种群中第hhh和mmm个求偶亭的关系特征,RRR为受益参数,随机选取 1 或 2。由式新产生的位置矢量需判断适应度值是否优劣后再替换原有个体。

2.3自适应惯性权重

为了更好地平衡算法的局部与全局搜索能力,本文引入余弦变化的惯性权重因子来更新园丁鸟求偶亭的位置公式:
xikt+1=ω(t)×xikt+λk((xjk+xbest ,k2)−xikt)x_{i k}^{t+1}=\omega(t) \times x_{i k}^{t}+\lambda_{k}\left(\left(\frac{x_{j k}+x_{\text {best }, k}}{2}\right)-x_{i k}^{t}\right) xikt+1​=ω(t)×xikt​+λk​((2xjk​+xbest ,k​​)−xikt​)

ω(t)=(ωmin⁡+ωmax⁡)/2+(ωmax⁡−ωmin⁡)cos⁡(tπ/T)\omega(t)=\left(\omega_{\min }+\omega_{\max }\right) / 2+\left(\omega_{\max }-\omega_{\min }\right) \cos (\mathrm{t} \pi / \mathrm{T}) ω(t)=(ωmin​+ωmax​)/2+(ωmax​−ωmin​)cos(tπ/T)

其中, ωmaxω_{max}ωmax​ 为初始惯性权重, ωminω_{min}ωmin​ 为迭代结束时的惯性权重,t 为当前迭代次数,T 为最大迭代次数。惯性权重 ωmaxω_{max}ωmax​ =0.95, ωminω_{min}ωmin​ =0.4 时算法具有最佳性能。因此,随着迭代的进行,惯性权重从 0.95 非线性递减至 0.4,使得迭代初始阶段较大的惯性权重能让算法保持较好的搜索能力,而迭代后期较小的惯性权重则有助于提高算法的开发能力。

算法流程图如下:

3.实验结果

5.参考文献

[1]王依柔,张达敏,樊英.非均匀变异的互利自适应缎蓝园丁鸟优化算法[J/OL].计算机工程与科学:1-10[2020-11-23].http://kns.cnki.net/kcms/detail/43.1258.TP.20200803.1202.004.html.

6.Matlab代码

7.python代码

非均匀变异的互利自适应缎蓝园丁鸟优化算法-附代码相关推荐

  1. 基于自适应权重的缎蓝园丁鸟优化算法-附代码

    基于自适应权重的缎蓝园丁鸟优化算法 文章目录 基于自适应权重的缎蓝园丁鸟优化算法 1.缎蓝园丁鸟优化算法 2.改进的缎蓝园丁鸟优化算法 2.1 自适应权重 2.2 改进原高斯变异形式 3.实验结果 5 ...

  2. 基于缎蓝园丁鸟优化算法的无线传感器网络覆盖优化

    文章目录 一.理论基础 1.节点覆盖模型 2.缎蓝园丁鸟优化算法 3.SBO算法伪代码 二.仿真实验与分析 三.参考文献 一.理论基础 1.节点覆盖模型 本文采取0/1覆盖模型,具体描述请参考这里. ...

  3. 【优化求解】基于缎蓝园丁鸟优化算法 (SBO)求解单目标问题附matlab代码

    1 简介 ​ 2 部分代码 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  4. 【优化求解】基于缎蓝园丁鸟优化 (SBO)求解单目标问题matlab源码

    1 简介 2 部分代码 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

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

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

  6. 结合重心反向变异的飞蛾扑火优化算法-附代码

    结合重心反向变异的飞蛾扑火优化算法 文章目录 结合重心反向变异的飞蛾扑火优化算法 1.飞蛾扑火优化算法 2. 改进飞蛾扑火优化算法 2.1 佳点集初始化种群 2.2 引入动态惯性权重 2.3 重心反向 ...

  7. 具有自适应边界与最优引导的莱维飞行蚁狮优化算法-附代码

    具有自适应边界与最优引导的莱维飞行蚁狮优化算法 文章目录 具有自适应边界与最优引导的莱维飞行蚁狮优化算法 1.蚁狮优化算法 2. 改进蚁狮优化算法 2.1 蚂蚁莱维飞行策略 2.2 蚂蚁自适应游走边界 ...

  8. 融合互利共生和透镜成像学习的哈里斯鹰优化算法-附代码

    融合互利共生和透镜成像学习的HHO优化算法 文章目录 融合互利共生和透镜成像学习的HHO优化算法 1.哈里斯鹰优化算法 2.改进哈里斯鹰优化算法 2.1 Tent 混沌初始化种群 2.2 融合互利共生 ...

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

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

最新文章

  1. 微信浏览器下拉黑边的终极解决方案---wScroollFix
  2. [C# 网络编程系列]专题十:实现简单的邮件收发器
  3. 9、使用GROUP BY分组查询
  4. java 下雪_如何用JAVA实现下雪场景
  5. 广工计算机专业离散数学考试题,广工华立2014年离散数学期末考试试题(配答案)...
  6. plsql中文乱码问题(显示问号)
  7. java tostring方法_Java程序员小伙启动项目报错,原来是使用了lombok
  8. 更快地重复访问Java的Java类名?
  9. Linux中打开文件管理器的命令
  10. 火山PC编辑框组件详解2
  11. Davids阅读笔记:《Redis设计与实现》
  12. Linux系统结构图
  13. IDEA下配置安卓环境
  14. MIMOl信道估计基本原理
  15. Caffe 框架介绍
  16. ​​什么是图形工作站?我们日常接触的计算机类别
  17. CentOS:Jmeter5.2.1+Ant1.10.12+jmeter.results.shanhe.me.xsl(亲测可用)
  18. Edison 物联网:使用MRAA发挥平台输入输出能力
  19. Java开发手册之二方库依赖
  20. 管理启示:“幸福的小狐狸”

热门文章

  1. 量化感知训练_《量化健身 动作精讲》:专业解读健身动作的秘密
  2. other, the other, others, the others与another的用法区别
  3. 水晶报表插件下载地址
  4. What 引导的三种名词性从句
  5. 什么样的人可以担任项目经理?
  6. android手机如何获取手机号
  7. 靶场Juice-Shop学习
  8. 第十一次作业 - Alpha 事后诸葛亮
  9. 卧槽!华为工程师总结的Linux笔记,太优秀了!
  10. es bulk java_es v6.8.3 bulk 异常