蜻蜓群的目的:捕食(静态群)和迁移(动态群)
五种行为:
1.Separation:个体之间避免碰撞
S
i
=
−
∑
j
=
1
N
X
−
X
j
S_i=-\sum_{j=1}^NX-X_j
Si=−∑j=1NX−Xj
X
表
示
当
前
个
体
,
X
j
是
第
j
个
邻
近
个
体
的
位
置
。
N
为
邻
近
个
体
数
量
X表示当前个体,X_j是第j个邻近个体的位置。 N为邻近个体数量
X表示当前个体,Xj是第j个邻近个体的位置。N为邻近个体数量
2.Alignment:与邻近个体速度保持一致
A
i
=
∑
j
=
1
N
V
j
N
A_i=\frac{\sum_{j=1}^NV_j}{N}
Ai=N∑j=1NVj
V
j
表
示
第
j
个
个
体
的
速
度
V_j表示第j个个体的速度
Vj表示第j个个体的速度
3.Cohesion:个体倾向于向周围群体的中心靠拢
C
i
=
∑
j
=
1
N
X
j
N
−
X
C_i=\frac{\sum_{j=1}^NX_j}{N}-X
Ci=N∑j=1NXj−X
4.“集中”捕食猎物:
F
i
=
X
+
−
X
,
其
中
X
+
是
食
物
位
置
F_i=X^{+}-X,其中X^{+}是食物位置
Fi=X+−X,其中X+是食物位置
5.分散躲避天敌:
E
i
=
X
−
+
X
,
其
中
X
−
为
敌
人
位
置
E_i=X^{-}+X, 其中X^-为敌人位置
Ei=X−+X,其中X−为敌人位置
△
X
t
+
1
=
(
s
S
i
+
a
A
i
+
c
C
i
+
f
F
i
+
e
E
i
)
+
w
△
X
t
\bigtriangleup X_{t+1}=(sS_i+aA_i+cC_i+fF_i+eE_i)+ w\bigtriangleup X_t
△Xt+1=(sSi+aAi+cCi+fFi+eEi)+w△Xt
X
t
=
X
+
△
X
t
+
1
X_t=X+\triangle X_{t+1}
Xt=X+△Xt+1
当没有邻居时,位置更新公式为:
X
t
+
1
=
X
t
+
L
e
v
y
(
d
)
∗
X
,
d
为
位
置
向
量
的
维
数
X_{t+1}=X_t+Levy(d)*X,d为位置向量的维数
Xt+1=Xt+Levy(d)∗X,d为位置向量的维数
莱维飞行计算公式:
L
e
v
y
(
x
)
=
0.01
∗
r
1
∗
σ
∣
r
2
∣
1
β
,
其
中
r
1
,
r
2
∈
[
0
,
1
]
,
β
为
常
量
(
设
定
为
1.5
)
,
σ
=
Γ
(
1
+
β
)
∗
s
i
n
π
2
Γ
(
1
+
β
2
)
∗
β
∗
2
β
−
1
2
)
1
β
,
其
中
,
Γ
(
x
)
=
(
x
−
1
)
!
Levy(x)=0.01*\frac{r_1* \sigma}{|r_2|^{\frac{1}{\beta}}}, 其中r_1,r_2 \in [0,1],\beta为常量(设定为1.5),\sigma=\frac{\Gamma(1+\beta)*sin\frac{\pi}{2}}{\Gamma(\frac{1+\beta}{2})*\beta*2^\frac{\beta-1}{2}})^{\frac{1}{ \beta}}, 其中, \Gamma(x)=(x-1)!
Levy(x)=0.01∗∣r2∣β1r1∗σ,其中r1,r2∈[0,1],β为常量(设定为1.5),σ=Γ(21+β)∗β∗22β−1Γ(1+β)∗sin2π)β1,其中,Γ(x)=(x−1)!.
多目标蜻蜓优化算法步骤:
参考文献:Mirjalili, S.J.N.C. and Applications, Dragonfly algorithm: a new meta-heuristic optimization technique for solving single-objective, discrete, and multi-objective problems. 2016. 27(4): p. 1053-1073.