赞
踩
在 GOA 中, 初始种群有
N
N
N 只塘我身, 第
i
i
i 只塘 我岛
X
i
X_i
Xi 的位置, 如公式 (1) 所示:
X
i
=
(
x
i
1
,
x
i
2
,
⋯
,
x
i
D
)
,
i
=
1
,
2
,
⋯
,
N
,
(1)
X_i=\left(x_{i 1}, x_{i 2}, \cdots, x_{i D}\right), i=1,2, \cdots, N,\tag{1}
Xi=(xi1,xi2,⋯,xiD),i=1,2,⋯,N,(1)
其中
x
i
j
=
r
1
×
(
U
B
j
−
L
B
j
)
+
L
B
j
,
i
=
1
,
2
,
⋯
,
N
,
j
=
x_{i j}=r_1 \times\left(U B_j-L B_j\right)+L B_j, i=1,2, \cdots, N, j=
xij=r1×(UBj−LBj)+LBj,i=1,2,⋯,N,j=
1
,
2
,
⋯
,
D
1,2, \cdots, D
1,2,⋯,D, 表示第
i
i
i 只塘鹅在第
j
j
j 维的位置,
D
D
D 是 每只塘我的维数,
r
1
r_1
r1 是
[
0
,
1
]
[0,1]
[0,1] 内的随机数,
U
B
j
U B_j
UBj 和
L
B
j
L B_j
LBj 分别是每只塘找的第
j
j
j 维的上界和下界。
此外, 定义一个存储矩阵
M
X
M X
MX, 用来存放每 次迭代的过程中塘鹅个体的位置。在迭代的过 程中, 如果此
M
X
i
M X_i
MXi 的值优于当前
X
i
X_i
Xi 的值, 那么 个体
X
i
X_i
Xi 的值被
M
X
i
M X_i
MXi 的值替换。接下来,采用一 个
[
0
,
1
]
[0,1]
[0,1] 的随机数
r
r
r, 当
r
<
0.5
r<0.5
r<0.5 时,塘鹅处于探 索阶段; 当
r
⩾
0.5
r \geqslant 0.5
r⩾0.5 时,塘我处于开发阶段。
塘鹅在空中发现猎物时, 根据猎物在水中 的深浅采用
U
\mathrm{U}
U 型潜水方式和
V
\mathrm{V}
V 型潜水方式进 行捕捉猎物。当猎物在比较深的位置时, 塘鹅 以 U 型潜水方式潜水,如公式 (2) 所示:
a
=
2
×
cos
(
2
×
π
×
r
2
)
×
t
1
,
(2)
a=2 \times \cos \left(2 \times \pi \times r_2\right) \times t_1,\tag{2}
a=2×cos(2×π×r2)×t1,(2)
当猎物在比较浅的位置时, 塘鹅以
V
\mathrm{V}
V 型潜水方 式潜水,如公式 (3) 所示:
其中
V
(
x
)
=
{
−
1
π
⋅
x
+
1
,
x
∈
(
0
,
π
)
1
π
×
x
−
1
,
x
∈
(
π
,
2
π
)
,
t
1
=
1
−
t
T
max
(3)
V(x)=\left\{
, 式中
t
t
t 为当前迭代次数,
T
max
T_{\text {max }}
Tmax 为最大迭代 次数,
r
2
r_2
r2 和
r
3
r_3
r3 均为
[
0
,
1
]
[0,1]
[0,1] 的随机数。
引人一个随机变量
q
q
q 随机选择一种塘鹅的 位置更新,塘鹅的位置更新方式如下:
M
X
i
(
t
+
1
)
=
{
X
i
(
t
)
+
u
1
+
u
2
,
q
⩾
0.5
X
i
(
t
)
+
v
1
+
v
2
,
q
<
0.5
(4)
M X_i(t+1)=\left\{
式 (4) 中
u
2
=
A
×
(
X
i
(
t
)
−
X
r
(
t
)
)
,
v
2
=
B
×
u_2=A \times\left(X_i(t)-X_r(t)\right), v_2=B \times
u2=A×(Xi(t)−Xr(t)),v2=B×
(
X
i
(
t
)
−
X
m
(
t
)
)
,
A
=
(
2
×
r
4
−
1
)
×
a
,
B
=
(
2
×
\left(X_i(t)-X_m(t)\right), \quad A=\left(2 \times r_4-1\right) \times a, \quad B=(2 \times
(Xi(t)−Xm(t)),A=(2×r4−1)×a,B=(2×
r
5
−
1
)
×
b
\left.r_5-1\right) \times b
r5−1)×b, 其中
r
4
r_4
r4 和
r
5
r_5
r5 均为
[
0
,
1
]
[0,1]
[0,1] 的随机数,
u
1
u_1
u1 是
[
−
a
,
a
]
[-a, a]
[−a,a] 之间的随机数,
v
1
v_1
v1 是
[
−
b
,
b
]
[-b, b]
[−b,b] 之间的 随机数,
X
i
(
t
)
X_i(t)
Xi(t) 是第
i
i
i 个塘我鸟个体在第
t
t
t 次迭代时 的位置,
X
i
(
t
)
X_i(t)
Xi(t) 是当前迭代中随机选择的塘我鸟个 体的位置,
X
m
(
t
)
X_m(t)
Xm(t) 是指当前迭代中所有个体位置 的平均值, 其计算公式为:
X
m
(
t
)
=
X_m(t)=
Xm(t)=
1
N
∑
i
=
1
N
X
i
(
t
)
\frac{1}{N} \sum_{i=1}^N X_i(t)
N1∑i=1NXi(t)
当塘我囲人水中之后, 其捕捉能力
C
C
C 大于 等于
c
c
c, 则会突然旋转去捕捉鱼; 其捕捉能力
C
C
C 小于
c
c
c, 则会放弃捕鱼随机游行, 采用Levy 飞行 模型模拟塘鹅游行, 其位置更新如下:
M
X
i
(
t
+
1
)
=
{
t
1
×
δ
×
(
X
i
(
t
)
−
X
Best
(
t
)
)
+
X
i
(
t
)
,
C
⩾
c
X
Best
(
t
)
−
(
X
i
(
t
)
−
X
Best
(
t
)
)
×
P
×
t
1
,
C
<
c
(5)
式 (5) 中,
t
1
=
1
−
t
T
max
,
C
=
1
R
×
t
2
,
t
2
=
1
+
t
T
max
t_1=1-\frac{t}{T_{\max }}, C=\frac{1}{R \times t_2}, t_2=1+\frac{t}{T_{\max }}
t1=1−Tmaxt,C=R×t21,t2=1+Tmaxt,
R
=
M
×
v
e
l
2
L
,
L
=
0.2
+
(
2
−
0.2
)
×
r
6
,
δ
=
C
×
R=\frac{M \times v_{\mathrm{e}} l^2}{L}, \quad L=0.2+(2-0.2) \times r_6, \quad \delta=C \times
R=LM×vel2,L=0.2+(2−0.2)×r6,δ=C×
∣
X
i
(
t
)
−
X
Best
(
t
)
∣
,
P
=
Levy
(
D
)
,
Levy
(
D
)
=
0.01
×
\left|X_i(t)-X_{\text {Best }}(t)\right|, P=\operatorname{Levy}(D), \operatorname{Levy}(D)=0.01 \times
∣Xi(t)−XBest (t)∣,P=Levy(D),Levy(D)=0.01×
μ
×
σ
∣
v
∣
1
β
,
σ
=
(
Γ
(
1
+
β
)
×
sin
(
π
β
2
)
Γ
(
1
+
β
2
)
×
β
×
2
(
β
−
1
2
)
)
1
β
\frac{\mu \times \sigma}{|v|^{\frac{1}{\beta}}}, \sigma=\left(\frac{\Gamma(1+\beta) \times \sin \left(\frac{\pi \beta}{2}\right)}{\Gamma\left(\frac{1+\beta}{2}\right) \times \beta \times 2^{\left(\frac{\beta-1}{2}\right)}}\right)^{\frac{1}{\beta}}
∣v∣β1μ×σ,σ=(Γ(21+β)×β×2(2β−1)Γ(1+β)×sin(2πβ))β1, 其中 ,
r
6
r_6
r6 为
[
0
,
1
]
[0,1]
[0,1] 的随机数,
M
=
2.5
k
g
M=2.5 \mathrm{~kg}
M=2.5 kg 是塘我的质量,
V
e
l
=
1.5
m
/
s
V e l=1.5 \mathrm{~m} / \mathrm{s}
Vel=1.5 m/s 为塘鹅的速度,
c
c
c 是常数, 经过多 次实验取
c
=
0.2
,
β
=
1.5
,
X
Best
(
t
)
c=0.2, \beta=1.5, X_{\text {Best }}(t)
c=0.2,β=1.5,XBest (t) 是指当前种 群中表现最好的个体,
μ
\mu
μ 和
σ
\sigma
σ 是
[
0
,
1
]
[0,1]
[0,1] 内的随 机数。
[1]祁慧玲,胡红萍,白艳萍等.基于改进塘鹅算法优化BP神经网络的新冠疫情预测[J/OL].山西大学学报(自然科学版):1-10[2023-07-23].DOI:10.13451/j.sxu.ns.2023025.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。