智能优化算法:适应度相关优化算法 - 附代码

文章目录

  • 智能优化算法:适应度相关优化算法 - 附代码
    • 1.算法原理
    • 2.算法流程
    • 3.算法结果
    • 4.参考文献
    • 5.Matlab代码

摘要:Fitness DependentOptimizer(FDO)称为适应度相关优化器(FDO)于2019年被提出。受启发于蜂群繁殖过程及其集体决策过程;FDO被认为是一种基于粒子群优化(PSO)的算法,它通过增加速度(pace)来更新搜索代理的位置。然而,FDO计算速度的方式不同;它使用问题适应度函数值生成权重,这些权重在探索和开发阶段指导搜索代理。

1.算法原理

该算法复制了一群蜜蜂在繁殖过程中的行为。该算法的主要部分取自侦察蜜蜂在许多潜在蜂巢中寻找新的合适蜂巢的过程。每一只搜索新蜂巢的侦察蜂都代表了该算法的潜在解决方案;此外,从几个好的蜂箱中选择最佳蜂箱被认为是收敛到最优性。

首先在搜索空间Xi(i=1,2,...,n)X_i(i=1,2,...,n)Xi​(i=1,2,...,n);每个侦察蜂位置代表一个新发现的蜂巢(解决方案)。侦察蜜蜂通过随机搜索更多的位置来寻找更好的蜂巢;每次发现一个更好的蜂巢,之前发现的蜂巢就会被忽略;因此,每次算法确定一个新的、更好的解决方案时,先前发现的解决方案将被忽略。此外,如果当前的移动没有引导人工侦察蜂找到更好的解决方案(蜂巢),它将继续其先前的方向,希望先前的方向将侦察蜂带到更好的解决方案。但是,如果前面的方向没有带来更好的解决方案,那么它将继续使用当前的解决方案,这是迄今为止找到的最佳解决方案。

在自然界中,侦察蜜蜂随机寻找蜂巢。在该算法中,人工侦察员最初使用随机行走和适应度权重机制的组合随机搜索景观。因此,每当一只人工侦察蜂通过增加当前位置的速度移动时,侦察员希望探索更好的解决方案。人工侦察蜜蜂的运动表现如下:

Xi,t+1=Xi,t+pace(1)X_{i,t+1}=X_{i,t}+pace \tag{1} Xi,t+1​=Xi,t​+pace(1)
其中,iii表示当前搜索代理,t表示当前迭代,X表示人工侦察蜂(搜索代理),pace表示人工侦察蜂的移动速度和方向。配速主要取决于健身体重。然而,速度的方向完全依赖于随机机制。因此,最小化问题的可计算为:

fw=∣xi,tfitness∗xi,tfitness∣−wf(2)f_w = |\frac{x_{i,tfitness}^*}{x_{i,tfitness}}|-wf\tag{2} fw​=∣xi,tfitness​xi,tfitness∗​​∣−wf(2)
xi,tfitness∗x_{i,tfitness}^*xi,tfitness∗​​是迄今为止发现的最佳全局解的适应度函数值。xi,tfitnessx_{i,tfitness}xi,tfitness​​是当前解的适应度函数值,wfwfwf​是权重因子,其值为0或1,用于控制wfwfwf​。如果它等于1,则表示收敛程度高,覆盖率低。尽管如此,如果fw=0fw=0fw=0​,则它不会影响方程(2),因此可以忽略它,设置fw=0fw=0fw=0​可提供更稳定的搜索。然而,情况并非总是如此;有时,恰恰相反,因为适应度函数值完全依赖于优化问题。然而,fwfwfw​值应在[0,1]范围内;但是,在某些情况下,fw=1fw=1fw=1​,例如,当前解决方案是全局最佳解决方案,或者当前和全局最佳解决方案相同或具有相同的适应值。此外,有可能fw=0fw=0fw=0​,当xi,tfitness∗=0x_{i,tfitness}^*=0xi,tfitness∗​=0​​。最后,当xi,tfitness=0x_{i,tfitness}=0xi,tfitness​=0时,应避免出现零分母。因此,可按公式(3)来更新解位置。
{fw=1orfw=0orxi,tfitness∗=0,pace=xi,tfitness∗∗rfw>0andfw<1{r<0,pace=(xi,tfitness−xi,tfitness∗)∗fw−1r≥0,pace=(xi,tfitness∗−xi,tfitness)∗fw(3)\begin{cases}fw=1\,or\,fw=0\,or\,x_{i,tfitness}^*=0,pace=x_{i,tfitness}^**r\\ fw>0\,and\,fw<1 \begin{cases}r<0,pace=(x_{i,tfitness}-x_{i,tfitness}^*)*fw-1 \\ r\geq0,pace=(x_{i,tfitness}^*-x_{i,tfitness})*fw \end{cases} \end{cases}\tag{3} ⎩⎪⎨⎪⎧​fw=1orfw=0orxi,tfitness∗​=0,pace=xi,tfitness∗​∗rfw>0andfw<1{r<0,pace=(xi,tfitness​−xi,tfitness∗​)∗fw−1r≥0,pace=(xi,tfitness∗​−xi,tfitness​)∗fw​​(3)
这里,rrr​是一个随机数[−1,1]范围。选择Levy随机行走方式。对于求解最大优化问题时,等式(2)由等式(4)替换。

fw=∣xi,tfitnessxi,tfitness∗∣−wf(4)f_w = |\frac{x_{i,tfitness}}{x_{i,tfitness}^*}|-wf\tag{4} fw​=∣xi,tfitness∗​xi,tfitness​​∣−wf(4)

2.算法流程

Step1: 初始化蜂群种群,种群数量,迭代次数。

Step2:计算适应度值,并排序确定初始蜂群最优解和最优位置。

Step3:如果xi,tfitness=0x_{i,tfitness}=0xi,tfitness​=0,适应度权重fw=0fw = 0fw=0,否则按照公式(2)更新适应度值。

Step4:如果按照公式(3)更新适应度值,计算pace。

Step5:利用式(1)更新蜂群位置Xi,t+1X_{i,t+1}Xi,t+1​。

Step6:若xi,t+1fitness<xi,tfitnessx_{i,t+1fitness}<x_{i,tfitness}xi,t+1fitness​<xi,tfitness​,接受更新新蜂群位置和保存pace。否则按照公式(1)更新蜂群位置根据当前pace。

Step7:若xi,t+1fitness<xi,tfitnessx_{i,t+1fitness}<x_{i,tfitness}xi,t+1fitness​<xi,tfitness​,接受更新新蜂群位置和保存pace。否则保持当前蜂群位置并不移动。

Step8:是否满足停止条件,满足则退出,输出结果,否则,重复执行Step2-7;

3.算法结果

4.参考文献

[1] J. M. Abdullah and T. A. Rashid, “Fitness Dependent Optimizer: Inspired by the Bee Swarming Reproductive Process,” in IEEE Access. doi: 10.1109/ACCESS.2019.2907012

5.Matlab代码

智能优化算法:适应度相关优化算法 - 附代码相关推荐

  1. 基于灰狼算法优化概率神经网络PNN的分类预测-附代码

    基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 1.PNN网络概述 2.变压器故障诊街系统相关背景 2.1 模型建立 3. ...

  2. 降维算法总结(超全!附代码)

    降维算法总结(超全!附代码) 一.为什么要进行数据降维? 二.数据降维原理 三.主成分分析(PCA)降维算 PCA代码实现 四.其他降维算法及代码地址 效果总览及代码地址 KPCA(kernel PC ...

  3. 基于果蝇优化的BP神经网络(分类应用) - 附代码

    基于果蝇优化的BP神经网络(分类应用) - 附代码 文章目录 基于果蝇优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.果蝇优化BP神经网络 3.1 BP神经 ...

  4. 基于布谷鸟优化的BP神经网络(分类应用) - 附代码

    基于布谷鸟优化的BP神经网络(分类应用) - 附代码 文章目录 基于布谷鸟优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.布谷鸟优化BP神经网络 3.1 B ...

  5. 基于人工蜂群优化的BP神经网络(分类应用) - 附代码

    基于人工蜂群优化的BP神经网络(分类应用) - 附代码 文章目录 基于人工蜂群优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.人工蜂群优化BP神经网络 3. ...

  6. 基于哈里斯鹰优化的BP神经网络(分类应用) - 附代码

    基于哈里斯鹰优化的BP神经网络(分类应用) - 附代码 文章目录 基于哈里斯鹰优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.哈里斯鹰优化BP神经网络 3. ...

  7. 基于粒子群优化的BP神经网络(分类应用) - 附代码

    基于粒子群优化的BP神经网络(分类应用) - 附代码 文章目录 基于粒子群优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.粒子群优化BP神经网络 3.1 B ...

  8. 基于灰狼优化的BP神经网络(分类应用) - 附代码

    基于灰狼优化的BP神经网络(分类应用) - 附代码 文章目录 基于灰狼优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.灰狼优化BP神经网络 3.1 BP神经 ...

  9. 基于鸟群优化的BP神经网络(分类应用) - 附代码

    基于鸟群优化的BP神经网络(分类应用) - 附代码 文章目录 基于鸟群优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.鸟群优化BP神经网络 3.1 BP神经 ...

  10. 基于蜣螂优化的BP神经网络(分类应用) - 附代码

    基于蜣螂优化的BP神经网络(分类应用) - 附代码 文章目录 基于蜣螂优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.蜣螂优化BP神经网络 3.1 BP神经 ...

最新文章

  1. 背包问题之我的思考一
  2. Unix/Linux中Cron的用法
  3. Keil uvision 4 MDK 安装教程附免费安装包资源
  4. android如何监听按钮,Android – 两个onClick监听器和一个按钮
  5. .net mysql查询数据库连接_asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)...
  6. 教育部推出首批490门“国家精品在线开放课程”
  7. Enterprise Solution 应用程序开发框架培训
  8. html 悬浮在固定位置,纯CSS实现DIV悬浮(固定位置)
  9. 控制流程之while循环
  10. Oracle trunc和round的区别
  11. Eclipse运行异常:Could not find the main class. Program will exit.
  12. ASP截取字符:instr,instrrev,left,right,mid
  13. JavaMail简单接收邮件
  14. 将redis加入到Windows服务开机启动
  15. 计算机黑屏闪光标,电脑开机黑屏只有光标在闪的解决方法
  16. 自定义下拉框样式兼容IE8
  17. 【BZOJ4198】【NOI2015】荷马史诗(贪心,Huffman树)
  18. 探索变量之间的关系(python3)
  19. 一文看懂李录价值投资体系
  20. andrid paly store下载应用路径

热门文章

  1. 吉大计算机学院周柚,周柚
  2. oracle分析函数-排名函数
  3. ROS采坑日记(1)----解决E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)的问题
  4. php 控制 打印机 打印尺寸_打破常规尺寸,得实推出宽幅条码标签单据打印机新品...
  5. jquery10发送ajax,使用jquery发送一个ajax请求
  6. windows 查看_解决 Windows 照片查看器无法显示图片问题
  7. 计算机二级关系模式知识点,2013年计算机二级VFP关系模式知识点详解
  8. HTML:内存溢出和内存泄漏
  9. 实战flex:模拟实现静态知乎首页
  10. 论文笔记_S2D.52_CMRNet++_运行记录