目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
1.背景
2015年,Mirjalili等人受到飞蛾受到火焰吸引行为启发,提出了飞蛾算法(Moth-Flame Optimization,MFO)。
2.算法原理
2.1算法思想
MFO基于自然界中飞蛾寻找光源的行为,主要分为选择火焰-围绕飞行-移动三个阶段。
2.2算法过程
选择火焰:
初始飞蛾数量和火焰数量相同,每只飞蛾可以选择不同的火焰,火焰数量表述为:
f l a m e n o = r o u n d ( N − l ∗ N − 1 T ) (1) \left.flame~no=round(N-l\right.*\frac{N-1}T)\tag{1} flame no=round(N−l∗TN−1)(1)
围绕飞行:
飞蛾采用螺旋飞行方式寻找光源,表述为:
S ( M i , F j ) = D i ⋅ e b t ⋅ cos ( 2 π t ) + F j (2) S(M_i,F_j)=D_i\cdot e^{bt}\cdot\cos(2\pi t)+F_j\tag{2} S(Mi,Fj)=Di⋅ebt⋅cos(2πt)+Fj(2)
移动:
飞蛾围绕火焰飞行至下一位置,将下一位置与火焰位置进行排序(适应度值度量)作为下一次火焰位置。
伪代码:
3.结果展示
4.参考文献
[1] Mirjalili S. Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm[J]. Knowledge-based systems, 2015, 89: 228-249.