Northern Goshawk Optimization:A New Swarm-Based Algorithm for Solving Optimization Problems
参考文献:Dehghani M, Hubálovský Š, Trojovský P. Northern Goshawk Optimization: A New Swarm-Based Algorithm for Solving Optimization Problems[J]. IEEE Access, 2021, 9: 162059-162080.
注:仅记录学习,如有侵权,联系删除
1、初始化
X代表整个鹈鹕种群,每个
X
i
X_{i}
Xi都是都是给定问题的一个候选解。
F代表适应度函数值。
X
=
[
X
1
⋮
X
i
⋮
X
N
]
N
×
m
=
[
x
1
,
1
⋯
x
1
,
j
⋯
x
1
,
m
⋮
⋱
⋮
⋮
x
i
,
1
⋯
x
i
,
j
⋯
x
i
,
m
⋮
⋮
⋱
⋮
x
N
,
1
⋯
x
N
,
j
⋯
x
N
,
m
]
N
×
m
X=\left[\begin{array}{c} X_{1} \\ \vdots \\ X_{i} \\ \vdots \\ X_{N} \end{array}\right]_{N \times m}=\left[\begin{array}{ccccc} x_{1,1} & \cdots & x_{1, j} & \cdots & x_{1, m} \\ \vdots & \ddots & \vdots & & \vdots \\ x_{i, 1} & \cdots & x_{i, j} & \cdots & x_{i, m} \\ \vdots & & \vdots & \ddots & \vdots \\ x_{N, 1} & \cdots & x_{N, j} & \cdots & x_{N, m} \end{array}\right]_{N \times m}
X=⎣⎢⎢⎢⎢⎢⎢⎡X1⋮Xi⋮XN⎦⎥⎥⎥⎥⎥⎥⎤N×m=⎣⎢⎢⎢⎢⎢⎢⎡x1,1⋮xi,1⋮xN,1⋯⋱⋯⋯x1,j⋮xi,j⋮xN,j⋯⋯⋱⋯x1,m⋮xi,m⋮xN,m⎦⎥⎥⎥⎥⎥⎥⎤N×m
F
=
[
F
1
⋮
F
i
⋮
F
N
]
N
×
1
=
[
F
(
X
1
)
⋮
F
(
X
i
)
⋮
F
(
X
N
)
]
N
×
1
F=\left[\begin{array}{c} F_{1} \\ \vdots \\ F_{i} \\ \vdots \\ F_{N} \end{array}\right]_{N \times 1}=\left[\begin{array}{c} F\left(X_{1}\right) \\ \vdots \\ F\left(X_{i}\right) \\ \vdots \\ F\left(X_{N}\right) \end{array}\right]_{N \times 1}
F=⎣⎢⎢⎢⎢⎢⎢⎡F1⋮Fi⋮FN⎦⎥⎥⎥⎥⎥⎥⎤N×1=⎣⎢⎢⎢⎢⎢⎢⎡F(X1)⋮F(Xi)⋮F(XN)⎦⎥⎥⎥⎥⎥⎥⎤N×1
x
i
,
j
=
l
j
+
rand
⋅
(
u
j
−
l
j
)
,
i
=
1
,
2
,
…
,
N
,
j
=
1
,
2
,
…
,
m
x_{i, j}=l_{j}+\text { rand } \cdot\left(u_{j}-l_{j}\right), i=1,2, \ldots, N, j=1,2, \ldots, m
xi,j=lj+ rand ⋅(uj−lj),i=1,2,…,N,j=1,2,…,m
式中:
x
i
,
j
x_{i, j}
xi,j代表第i个苍鹰的第j个变量的值;N是种群大小;m是维度;rand代表[0,1]之间的随机数;
l
j
l_{ j}
lj代表下限;
u
j
u_{ j}
uj代表上限。
2、位置更新方式
2.1 第一阶段
第一阶段,随机选择一个猎物,然后迅速攻击它。这个阶段由于在搜索空间中随机选择猎物,增加了搜索能力,确定最佳地区。
P
i
=
X
k
,
i
=
1
,
2
,
…
,
N
,
k
=
1
,
2
,
…
,
i
−
1
,
i
+
1
,
…
,
N
x
i
,
j
n
e
w
,
P
1
=
{
x
i
,
j
+
r
(
p
i
,
j
−
I
x
i
,
j
)
,
F
P
i
<
F
i
,
x
i
,
j
+
r
(
x
i
,
j
−
p
i
,
j
)
,
F
P
i
≥
F
i
,
X
i
=
{
X
i
n
e
w
,
P
1
,
F
i
n
e
w
,
P
1
<
F
i
,
X
i
,
F
i
n
e
w
,
P
1
≥
F
i
,
\begin{aligned} &P_{i}=X_{k}, i=1,2, \ldots, N, k=1,2, \ldots, i-1, i+1, \ldots, N\\ &\begin{aligned} x_{i, j}^{n e w, P 1} &= \begin{cases}x_{i, j}+r\left(p_{i, j}-I x_{i, j}\right), \quad F_{P_{i}}<F_{i}, \\ x_{i, j}+r\left(x_{i, j}-p_{i, j}\right), \quad F_{P_{i}} \geq F_{i},\end{cases} \\ X_{i} &= \begin{cases}X_{i}^{n e w, P 1}, & F_{i}^{n e w, P 1}<F_{i}, \\ X_{i}, & F_{i}^{n e w, P 1} \geq F_{i},\end{cases} \end{aligned} \end{aligned}
Pi=Xk,i=1,2,…,N,k=1,2,…,i−1,i+1,…,Nxi,jnew,P1Xi={xi,j+r(pi,j−Ixi,j),FPi<Fi,xi,j+r(xi,j−pi,j),FPi≥Fi,={Xinew,P1,Xi,Finew,P1<Fi,Finew,P1≥Fi,
式中:
r
r
r是属于[0,1]的随机数,;
I
I
I是随机数字,可以取1或2,当
I
I
I=2时,可以增加每个个体的位移,使得其进入搜索空间的新区域。
2.2第二阶段
x
i
,
j
n
e
w
,
P
2
=
x
i
,
j
+
R
(
2
r
−
1
)
x
i
,
j
,
R
=
0.02
(
1
−
t
T
)
,
X
i
=
{
X
i
n
e
w
,
P
2
,
F
i
n
e
w
,
P
2
<
F
i
,
X
i
,
F
i
n
e
w
,
P
2
≥
F
i
.
\begin{aligned} x_{i, j}^{n e w, P 2} &=x_{i, j}+R(2 r-1) x_{i, j}, \\ R &=0.02\left(1-\frac{t}{T}\right), \\ X_{i} &= \begin{cases}X_{i}^{n e w, P 2}, & F_{i}^{n e w, P 2}<F_{i}, \\ X_{i}, & F_{i}^{n e w, P 2} \geq F_{i} .\end{cases} \end{aligned}
xi,jnew,P2RXi=xi,j+R(2r−1)xi,j,=0.02(1−Tt),={Xinew,P2,Xi,Finew,P2<Fi,Finew,P2≥Fi.
式中:无特殊含义。
3、流程图
4、伪代码
5、测试
原文测试结果:
花里胡哨,我不会。想发高水平的论文,还得看看高水平的是怎么画图的吧。卑微,有哪位同学会嘛,求分享。