Matlab群体智能优化算法之苍鹰优化算法(NGO)

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=X1XiXNN×m=x1,1xi,1xN,1x1,jxi,jxN,jx1,mxi,mxN,mN×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=F1FiFNN×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 (ujlj),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、位置更新方式
Matlab群体智能优化算法之苍鹰优化算法(NGO)_第1张图片
2.1 第一阶段
                  Matlab群体智能优化算法之苍鹰优化算法(NGO)_第2张图片
第一阶段,随机选择一个猎物,然后迅速攻击它。这个阶段由于在搜索空间中随机选择猎物,增加了搜索能力,确定最佳地区。

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}}Pi=Xk,i=1,2,,N,k=1,2,,i1,i+1,,Nxi,jnew,P1Xi={xi,j+r(pi,jIxi,j),FPi<Fi,xi,j+r(xi,jpi,j),FPiFi,={Xinew,P1,Xi,Finew,P1<Fi,Finew,P1Fi,
  式中: r r r是属于[0,1]的随机数,; I I I是随机数字,可以取1或2,当 I I I=2时,可以增加每个个体的位移,使得其进入搜索空间的新区域。

2.2第二阶段
                  Matlab群体智能优化算法之苍鹰优化算法(NGO)_第3张图片
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}xi,jnew,P2RXi=xi,j+R(2r1)xi,j,=0.02(1Tt),={Xinew,P2,Xi,Finew,P2<Fi,Finew,P2Fi.
  式中:无特殊含义。

3、流程图
                  Matlab群体智能优化算法之苍鹰优化算法(NGO)_第4张图片
4、伪代码
                  Matlab群体智能优化算法之苍鹰优化算法(NGO)_第5张图片
5、测试
                  Matlab群体智能优化算法之苍鹰优化算法(NGO)_第6张图片
原文测试结果:
                  Matlab群体智能优化算法之苍鹰优化算法(NGO)_第7张图片
  花里胡哨,我不会。想发高水平的论文,还得看看高水平的是怎么画图的吧。卑微,有哪位同学会嘛,求分享。

    Matlab群体智能优化算法之苍鹰优化算法(NGO)_第8张图片

你可能感兴趣的:(Matlab智能优化算法,matlab,算法)