基于北方苍鹰优化算法的函数寻优算法

news/2024/7/7 10:17:58

文章目录

  • 一、理论基础
    • 1、北方苍鹰优化算法
      • (1)初始化阶段
      • (2)第一阶段:猎物识别(探索)
      • (3)第二阶段:追逐和逃跑行为(开发)
    • 2、NGO算法伪代码
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、北方苍鹰优化算法

受北方苍鹰捕食行为的启发,文献[1]提出了一种新的基于种群的优化算法——北方苍鹰优化(Northern goshawk optimization, NGO)算法。

(1)初始化阶段

在算法开始时,种群成员在搜索空间中随机初始化,如式(1)所示: 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 (1) X=\begin{bmatrix}X_1\\\vdots\\X_i\\\vdots\\X_N\end{bmatrix}_{N\times m}=\begin{bmatrix} x_{1,1} & \cdots & x_{1,j} & \cdots & x_{1,m} \\\vdots & \ddots & \vdots & \ddots & \vdots\\x_{i,1} & \cdots & x_{i,j} & \cdots & x_{i,m}\\\vdots & \ddots & \vdots & \ddots & \vdots\\x_{N,1} & \cdots & x_{N,j} & \cdots & x_{N,m}\end{bmatrix}_{N\times m}\tag{1} X= X1XiXN N×m= x1,1xi,1xN,1x1,jxi,jxN,jx1,mxi,mxN,m N×m(1)其中, X X X表示北方苍鹰种群的矩阵, X i X_i Xi是第 i i i个个体的初始解, x i , j x_{i,j} xi,j是第 i i i个个体第 j j j维的值, N N N是种群成员的数量, m m m是问题空间的维度。
北方苍鹰种群的目标函数值可以用目标函数值向量表示,如式(2)所示: F ( X ) = [ F 1 = F ( X 1 ) ⋮ F i = F ( X i ) ⋮ F N = F ( X N ) ] N × 1 (2) F(X)=\begin{bmatrix}F_1=F(X_1)\\\vdots\\F_i=F(X_i)\\\vdots\\F_N=F(X_N)\end{bmatrix}_{N\times 1}\tag{2} F(X)= F1=F(X1)Fi=F(Xi)FN=F(XN) N×1(2)其中, F F F是获得的目标函数值的向量, F i F_i Fi是第 i i i个解获得的目标函数值。

(2)第一阶段:猎物识别(探索)

苍鹰在狩猎的第一阶段,随机选择一个猎物,然后迅速攻击它。由于搜索空间中猎物的随机选择,该阶段增加了NGO的探索能力。该阶段导致搜索空间的全局搜索,目的是识别最优区域。建模如式(3)~(5): P i = X k , i = 1 , 2 , ⋯   , N , k = 1 , 2 , ⋯   , i − 1 , i + 1 , ⋯   , N (3) P_i=X_k,i=1,2,\cdots,N,k=1,2,\cdots,i-1,i+1,\cdots,N\tag{3} Pi=Xk,i=1,2,,N,k=1,2,,i1,i+1,,N(3) 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 (4) X_{i,j}^{new,P1}=\begin{dcases}x_{i,j}+r(p_{i,j}-Ix_{i,j}),\quad F_{P_i}<F_i\\[2ex]x_{i,j}+r(x_{i,j}-p_{i,j}),\quad\,\,\, F_{P_i}\geq F_i\end{dcases}\tag{4} Xi,jnew,P1= xi,j+r(pi,jIxi,j),FPi<Fixi,j+r(xi,jpi,j),FPiFi(4) 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 (5) X_i=\begin{dcases}X_i^{new,P1},\quad F_i^{new,P1}<F_i\\[2ex]X_i,\quad\quad\quad\, F_i^{new,P1}\geq F_i\end{dcases}\tag{5} Xi= Xinew,P1,Finew,P1<FiXi,Finew,P1Fi(5)其中, P i P_i Pi是第 i i i只北方苍鹰的猎物位置, F P i F_{P_i} FPi是其目标函数值, k k k是区间 [ 1 , N ] [1,N] [1,N]中不为 i i i的随机整数, X i n e w , P 1 X_i^{new,P1} Xinew,P1是第 i i i个解的新位置, X i , j n e w , P 1 X_{i,j}^{new,P1} Xi,jnew,P1是其第 j j j维的值, F i n e w , P 1 F_i^{new,P1} Finew,P1是NGO第一阶段的目标函数值, r r r是区间 [ 0 , 1 ] [0,1] [0,1]的随机数, I I I的值为1或2。参数 r r r I I I是用于在搜索和更新中生成随机NGO行为的随机数。

(3)第二阶段:追逐和逃跑行为(开发)

在苍鹰攻击猎物后,猎物试图逃跑。因此,在尾随和追逐过程中,苍鹰继续追逐猎物。由于苍鹰的高速飞行,它们几乎可以在任何情况下追逐猎物并最终狩猎。对这种行为的模拟提高了算法对搜索空间局部搜索的利用能力。在提出的NGO算法中,假设该狩猎接近半径为 R R R的攻击位置。第二阶段使用式(6)~(8)进行数学建模: x i , j n e w , P 2 = x i , j + R ( 2 r − 1 ) x i , j (6) x_{i,j}^{new,P2}=x_{i,j}+R(2r-1)x_{i,j}\tag{6} xi,jnew,P2=xi,j+R(2r1)xi,j(6) R = 0.02 ( 1 − t T ) (7) R=0.02\left(1-\frac tT\right)\tag{7} R=0.02(1Tt)(7) 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 (8) X_i=\begin{dcases}X_i^{new,P2},\quad F_i^{new,P2}<F_i\\[2ex]X_i,\quad\quad\quad\, F_i^{new,P2}\geq F_i\end{dcases}\tag{8} Xi= Xinew,P2,Finew,P2<FiXi,Finew,P2Fi(8)其中, t t t是当前迭代次数, T T T是最大迭代次数, X i n e w , P 2 X_i^{new,P2} Xinew,P2是第 i i i个解的新位置, X i , j n e w , P 2 X_{i,j}^{new,P2} Xi,jnew,P2是其第 j j j维的值, F i n e w , P 2 F_i^{new,P2} Finew,P2是NGO第二阶段的目标函数值。

2、NGO算法伪代码

NGO算法伪代码如图1所示。
在这里插入图片描述

图1 NGO算法伪代码

二、仿真实验与结果分析

将NGO与GSA、GWO、TSA和MPA进行对比,以文献[1]中表19~21的F1、F2、F3(单峰函数/30维)、F9、F10、F11(多峰函数/30维)、F17、F18、F19(固定维度多峰函数/2维、2维、3维)为例,实验设置种群规模为30,最大迭代次数为1000,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
GSA:最差值: 5.3952e-08, 最优值: 1.6663e-08, 平均值: 3.0386e-08, 标准差: 1.0644e-08, 秩和检验: 3.0199e-11
GWO:最差值: 3.4798e-58, 最优值: 3.7518e-61, 平均值: 4.9755e-59, 标准差: 8.3874e-59, 秩和检验: 3.0199e-11
WOA:最差值: 2.6938e-149, 最优值: 2.3755e-175, 平均值: 9.5949e-151, 标准差: 4.913e-150, 秩和检验: 3.0199e-11
TSA:最差值: 4.2674e-47, 最优值: 5.1714e-52, 平均值: 6.2278e-48, 标准差: 1.0027e-47, 秩和检验: 3.0199e-11
MPA:最差值: 6.7484e-49, 最优值: 2.5331e-53, 平均值: 7.754e-50, 标准差: 1.606e-49, 秩和检验: 3.0199e-11
NGO:最差值: 2.6837e-178, 最优值: 8.0422e-182, 平均值: 2.6046e-179, 标准差: 0, 秩和检验: 1
函数:F2
GSA:最差值: 0.0012427, 最优值: 0.00059005, 平均值: 0.00085911, 标准差: 0.00014329, 秩和检验: 3.0199e-11
GWO:最差值: 3.1109e-34, 最优值: 5.3772e-36, 平均值: 9.0312e-35, 标准差: 7.0522e-35, 秩和检验: 3.0199e-11
WOA:最差值: 2.7477e-102, 最优值: 8.6834e-116, 平均值: 9.2783e-104, 标准差: 5.0144e-103, 秩和检验: 3.0199e-11
TSA:最差值: 7.6156e-28, 最优值: 1.2235e-30, 平均值: 1.1552e-28, 标准差: 1.8906e-28, 秩和检验: 3.0199e-11
MPA:最差值: 5.3093e-27, 最优值: 1.5854e-29, 平均值: 8.6168e-28, 标准差: 1.0688e-27, 秩和检验: 3.0199e-11
NGO:最差值: 4.0323e-91, 最优值: 5.6002e-94, 平均值: 2.5029e-92, 标准差: 7.5048e-92, 秩和检验: 1
函数:F3
GSA:最差值: 104.5995, 最优值: 7.9602, 平均值: 46.9917, 标准差: 25.8137, 秩和检验: 3.0199e-11
GWO:最差值: 9.8259e-14, 最优值: 2.0711e-20, 平均值: 9.2924e-15, 标准差: 2.4662e-14, 秩和检验: 3.0199e-11
WOA:最差值: 42638.8847, 最优值: 2487.2217, 平均值: 19790.8173, 标准差: 10842.1084, 秩和检验: 3.0199e-11
TSA:最差值: 9.7617e-10, 最优值: 6.328e-21, 平均值: 3.8884e-11, 标准差: 1.7798e-10, 秩和检验: 3.0199e-11
MPA:最差值: 3.0198e-11, 最优值: 3.6645e-20, 平均值: 2.1718e-12, 标准差: 5.8506e-12, 秩和检验: 3.0199e-11
NGO:最差值: 7.4012e-47, 最优值: 1.3217e-59, 平均值: 2.5725e-48, 标准差: 1.3503e-47, 秩和检验: 1
函数:F9
GSA:最差值: 77.6063, 最优值: 16.9143, 平均值: 32.1703, 标准差: 12.4306, 秩和检验: 1.2118e-12
GWO:最差值: 4.8211, 最优值: 0, 平均值: 0.48875, 标准差: 1.3294, 秩和检验: 0.0006522
WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
TSA:最差值: 264.6038, 最优值: 110.7145, 平均值: 171.029, 标准差: 39.9087, 秩和检验: 1.2118e-12
MPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
NGO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F10
GSA:最差值: 0.00017213, 最优值: 8.86e-05, 平均值: 0.00012896, 标准差: 1.7003e-05, 秩和检验: 6.3188e-12
GWO:最差值: 2.2204e-14, 最优值: 1.1546e-14, 平均值: 1.6402e-14, 标准差: 2.8731e-15, 秩和检验: 1.6309e-12
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 3.7303e-15, 标准差: 2.3603e-15, 秩和检验: 0.0080027
TSA:最差值: 3.265, 最优值: 7.9936e-15, 平均值: 0.91016, 标准差: 1.4179, 秩和检验: 6.7184e-12
MPA:最差值: 4.4409e-15, 最优值: 8.8818e-16, 平均值: 4.0856e-15, 标准差: 1.084e-15, 秩和检验: 0.0027818
NGO:最差值: 7.9936e-15, 最优值: 4.4409e-15, 平均值: 5.1514e-15, 标准差: 1.4454e-15, 秩和检验: 1
函数:F11
GSA:最差值: 0.76749, 最优值: 3.5235e-10, 平均值: 0.079625, 标准差: 0.14507, 秩和检验: 1.2118e-12
GWO:最差值: 0.015823, 最优值: 0, 平均值: 0.001945, 标准差: 0.0045624, 秩和检验: 0.021577
WOA:最差值: 0.088596, 最优值: 0, 平均值: 0.0029532, 标准差: 0.016175, 秩和检验: 0.33371
TSA:最差值: 0.0221, 最优值: 0, 平均值: 0.0052442, 标准差: 0.0071434, 秩和检验: 2.9343e-05
MPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
NGO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F17
GSA:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 1.1802e-11, 秩和检验: 1.2118e-12
GWO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 8.116e-07, 秩和检验: 1.2118e-12
WOA:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 8.4212e-07, 秩和检验: 1.2118e-12
TSA:最差值: 0.3981, 最优值: 0.39789, 平均值: 0.39792, 标准差: 4.8836e-05, 秩和检验: 1.2118e-12
MPA:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: NaN
NGO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: NaN
函数:F18
GSA:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 1.2122e-09, 秩和检验: 9.3482e-12
GWO:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 9.5694e-06, 秩和检验: 9.3482e-12
WOA:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 8.6628e-06, 秩和检验: 9.3482e-12
TSA:最差值: 92.0351, 最优值: 3, 平均值: 9.5678, 标准差: 21.9114, 秩和检验: 9.3482e-12
MPA:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 2.0633e-15, 秩和检验: 0.011377
NGO:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 9.546e-16, 秩和检验: 1
函数:F19
GSA:最差值: -2.4819, 最优值: -3.851, 平均值: -3.2896, 标准差: 0.35188, 秩和检验: 1.2118e-12
GWO:最差值: -3.855, 最优值: -3.8628, 平均值: -3.8621, 标准差: 0.0019623, 秩和检验: 1.2118e-12
WOA:最差值: -3.8508, 最优值: -3.8628, 平均值: -3.8601, 标准差: 0.0035419, 秩和检验: 1.2118e-12
TSA:最差值: -3.855, 最优值: -3.8628, 平均值: -3.8622, 标准差: 0.0019104, 秩和检验: 1.2118e-12
MPA:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 2.6962e-15, 秩和检验: 0.33371
NGO:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 2.7101e-15, 秩和检验: NaN

实验结果表明:通过在探索和开发之间建立适当的平衡,所提出的NGO算法在求解优化问题方面具有有效的性能,并且比类似算法更具竞争力。

三、参考文献

[1] M. Dehghani, Š. Hubálovský, P. Trojovský. Northern Goshawk Optimization: A New Swarm-Based Algorithm for Solving Optimization Problems[J]. IEEE Access, 2021, 9: 162059-162080.


http://www.niftyadmin.cn/n/2132476.html

相关文章

BAT高级架构师分享系统化Java学习路线!

Java是目前使用最为广泛的网络编程语言之一。 它具有简单&#xff0c;面向对象&#xff0c;稳定&#xff0c;与平台无关&#xff0c;解释型&#xff0c;多线程&#xff0c;动态等特点。一般的JAVA程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA高级架构师&am…

混合策略改进的麻雀优化算法

文章目录一、理论基础1、麻雀优化算法2、混合策略改进的麻雀优化算法&#xff08;1&#xff09;佳点集的种群初始化&#xff08;2&#xff09;黄金莱维飞行策略&#xff08;3&#xff09;t-分布扰动策略&#xff08;4&#xff09;动态分配侦察者策略&#xff08;5&#xff09;M…

微信小程序-使用canvas生成含有微信头像的图片并分享

我们的需求是动态生成一个含有微信头像的图片作为分享图片。 我们在页面中添加cancas <view styleposition:absolute;left:400rpx;><canvas canvas-idttcanvas styleheight:240px;width:320px;position:absolute;left:400rpx;><!-- <view classcolorpic>…

自适应螺旋飞行麻雀搜索算法

文章目录一、理论基础1、麻雀搜索算法2、自适应螺旋飞行麻雀搜索算法&#xff08;1&#xff09;基于随机变量的Tent混沌映射&#xff08;2&#xff09;自适应权重&#xff08;3&#xff09;莱维飞行机制&#xff08;4&#xff09;可变螺旋搜索策略&#xff08;5&#xff09;改进…

MySQL 4种事务的隔离级别

2019独角兽企业重金招聘Python工程师标准>>> 事务的ACID&#xff1a; 1)原子性(Atomic)&#xff1a;事务中各项操作&#xff0c;要么全做要么全不做&#xff0c;任何一项操作的失败都会导致整个事务的失败&#xff1b; 2)一致性(Consistent)&#xff1a;事务结束后系…

基于随机无迹sigma点变异策略的改进哈里斯鹰优化算法

文章目录一、理论基础1、哈里斯鹰优化算法2、改进的哈里斯鹰优化算法&#xff08;1&#xff09;反向学习策略&#xff08;2&#xff09;非线性收敛因子调整策略&#xff08;3&#xff09;随机无迹sigma点变异策略&#xff08;4&#xff09;IHHO算法流程图二、仿真实验与结果分析…

GO语言学习笔记(三) - 递归查找目录及子目录下的文件

GO语言学习笔记&#xff08;三&#xff09; - 递归查找目录及子目录下的文件 递归查找目录及子目录下的文件递归查找文件夹及子文件夹下的文件 代码 package mainimport ("fmt""io/ioutil""os""strings" )// 查找目录及子目录下的文件…

一种基于金鹰优化和灰狼优化的混合算法

文章目录一、理论基础1、金鹰优化算法2、灰狼优化算法3、提出的混合算法3.1 个体示例学习GEO(PELGEO)3.2 差分变异的简化GWO(DMSGWO)3.2.1 差分变异策略3.2.2 简化策略3.2.3 混合差异变异策略和简化策略3.3 自适应混合策略二、仿真实验与结果分析三、参考文献一、理论基础 1、…