基于Levy飞行的飞蛾扑火优化算法-附代码

基于Levy飞行的飞蛾扑火优化算法

文章目录

  • 基于Levy飞行的飞蛾扑火优化算法
    • 1.飞蛾扑火优化算法
    • 2. 改进飞蛾扑火优化算法
      • 2.1 Lévy 飞行
    • 3.实验结果
    • 4.参考文献
    • 5.Matlab代码
    • 6.Python代码

摘要:由于飞蛾扑火优化(MFO)算法收敛速度和计算精度还有待提高,提出一种改进的基于Lévy飞行轨迹的飞蛾扑火优化(LMFO)算法。增强局部搜索能力,大幅度提升收敛速度和求解精度。

1.飞蛾扑火优化算法

基础飞蛾扑火优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107764895

2. 改进飞蛾扑火优化算法

2.1 Lévy 飞行

在 Lévy 飞行中, 短距离的探索性局部搜索与偶尔较长 距离的行走相间, 从而保证了系统不会陷入局部最优。 Lévy 飞行能使不确定环境下的资源搜索效率尽可能最大 化。参考文献 [ 9 ] [9] [9] 中使用随机数的算法绘制了一个在平面 上连续 50 步的 Lévy飞行轨迹, 如图 1 所示。
由于飞蛾可以以不同的步长移动一个较长的距离, 因 此 Lévy 飞行可以有效模拟这种特性, 而 Lévy 飞行的连续 跳跃路径与时间 t t t 的关系服从 Lévy 分布, Yang Xin She 将 Lévy 分布函数经过变换后得到下面的概率密度函数 [ 10 ] { }^{[10]} [10]
 Levy  ∼ u = t − λ , ( 1 < λ < 3 ) \text { Levy } \sim u=t^{-\lambda},(1<\lambda<3)  Levy u=tλ,(1<λ<3)
有关 Lévy 飞行的相关资料请参见文献。 自然界中的一些动物为了能在不确定的环境中找到食 物, 最理想的搜索方式就是 Lévy 飞行搜索策略。大量的研 究显示, 很多动物的移动行为均与 Lévy 飞行轨迹相符合。

本文在基本 MFO 算法的基础上, 引入Lévy飞行策略。 在每只飞蛾进行位置更新之后进行一次 Lévy随机的位置移 动, 这样做有利于其跳出局部最优的停滞, 以保证算法具 有较强的局部搜索能力, 从而算法在性能上有了较大 的提高。

3.实验结果

基于Levy飞行的飞蛾扑火优化算法-附代码_第1张图片

4.参考文献

[1]李志明,莫愿斌.基于Lévy飞行的飞蛾扑火优化算法[J].计算机工程与设计,2017,38(03):807-813.

5.Matlab代码

6.Python代码

你可能感兴趣的:(智能优化算法改进,算法)