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}}
式中: 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}
式中:无特殊含义。
3、流程图
4、伪代码
5、测试
原文测试结果:
花里胡哨,我不会。想发高水平的论文,还得看看高水平的是怎么画图的吧。卑微,有哪位同学会嘛,求分享。