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


文章目录

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



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

1.算法原理

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

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

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

智能优化算法:适应度相关优化算法 - 附代码_机器学习_02
其中,智能优化算法:适应度相关优化算法 - 附代码_机器学习_03表示当前搜索代理,t表示当前迭代,X表示人工侦察蜂(搜索代理),pace表示人工侦察蜂的移动速度和方向。配速主要取决于健身体重。然而,速度的方向完全依赖于随机机制。因此,最小化问题的可计算为:

智能优化算法:适应度相关优化算法 - 附代码_机器学习_04
智能优化算法:适应度相关优化算法 - 附代码_机器学习_05是迄今为止发现的最佳全局解的适应度函数值。智能优化算法:适应度相关优化算法 - 附代码_解决方案_06是当前解的适应度函数值,智能优化算法:适应度相关优化算法 - 附代码_算法_07是权重因子,其值为0或1,用于控制智能优化算法:适应度相关优化算法 - 附代码_算法_07。如果它等于1,则表示收敛程度高,覆盖率低。尽管如此,如果智能优化算法:适应度相关优化算法 - 附代码_算法_09,则它不会影响方程(2),因此可以忽略它,设置智能优化算法:适应度相关优化算法 - 附代码_算法_09可提供更稳定的搜索。然而,情况并非总是如此;有时,恰恰相反,因为适应度函数值完全依赖于优化问题。然而,智能优化算法:适应度相关优化算法 - 附代码_搜索_11值应在[0,1]范围内;但是,在某些情况下,智能优化算法:适应度相关优化算法 - 附代码_机器学习_12,例如,当前解决方案是全局最佳解决方案,或者当前和全局最佳解决方案相同或具有相同的适应值。此外,有可能智能优化算法:适应度相关优化算法 - 附代码_算法_09,当智能优化算法:适应度相关优化算法 - 附代码_算法_14。最后,当智能优化算法:适应度相关优化算法 - 附代码_解决方案_15时,应避免出现零分母。因此,可按公式(3)来更新解位置。
智能优化算法:适应度相关优化算法 - 附代码_搜索_16
这里,智能优化算法:适应度相关优化算法 - 附代码_算法_17是一个随机数[−1,1]范围。选择Levy随机行走方式。对于求解最大优化问题时,等式(2)由等式(4)替换。

智能优化算法:适应度相关优化算法 - 附代码_机器学习_18

2.算法流程

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

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

Step3:如果智能优化算法:适应度相关优化算法 - 附代码_解决方案_15,适应度权重智能优化算法:适应度相关优化算法 - 附代码_算法_20,否则按照公式(2)更新适应度值。

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

Step5:利用式(1)更新蜂群位置智能优化算法:适应度相关优化算法 - 附代码_自动驾驶_21

Step6:若智能优化算法:适应度相关优化算法 - 附代码_机器学习_22,接受更新新蜂群位置和保存pace。否则按照公式(1)更新蜂群位置根据当前pace。

Step7:若智能优化算法:适应度相关优化算法 - 附代码_机器学习_22,接受更新新蜂群位置和保存pace。否则保持当前蜂群位置并不移动。

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

3.算法结果

智能优化算法:适应度相关优化算法 - 附代码_机器学习_24

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代码