目录
- 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.