基于金豺优化算法的函数寻优算法

news/2024/7/3 11:36:35

文章目录

  • 一、理论基础
    • 1、金豺优化算法
      • (1)搜索空间公式
      • (2)探索阶段或搜索猎物
      • (3)开发阶段或围捕和突袭猎物
      • (4)从探索转向开发
    • 2、GJO伪代码
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、金豺优化算法

文献[1]提出了一种新的自然启发优化方法,称为金豺优化(Golden Jackal Optimization, GJO)算法,其灵感来自金豺的协作狩猎行为。算法的三个基本步骤是猎物搜索、包围和突袭。

(1)搜索空间公式

与许多其他元启发式方法一样,GJO是一种基于群体的方法,在该方法中,初始解随机均匀分布在搜索空间上: Y 0 = Y min ⁡ + r a n d ( Y max ⁡ − Y min ⁡ ) (1) Y_0=Y_{\min}+rand(Y_{\max}-Y_{\min})\tag{1} Y0=Ymin+rand(YmaxYmin)(1)其中, Y max ⁡ Y_{\max} Ymax Y min ⁡ Y_{\min} Ymin是变量的上界和下界, r a n d rand rand是0到1范围内的均匀随机向量。
初始化创建初始矩阵猎物,其中第一个和第二个最合适的是豺对。猎物如下所示: P r e y = [ Y 1 , 1 Y 1 , 2 ⋯ Y 1 , d Y 2 , 1 Y 2 , 2 ⋯ Y 2 , d ⋮ ⋮ ⋮ Y n , 1 Y n , 2 ⋯ Y n , d ] (2) Prey=\begin{bmatrix} Y_{1,1} & Y_{1,2} & \cdots & Y_{1,d} \\Y_{2,1} & Y_{2,2} & \cdots & Y_{2,d} \\\vdots & \vdots & & \vdots \\Y_{n,1} & Y_{n,2} & \cdots & Y_{n,d} \end{bmatrix}\tag{2} Prey=Y1,1Y2,1Yn,1Y1,2Y2,2Yn,2Y1,dY2,dYn,d(2)其中, Y i , j Y_{i,j} Yi,j表示第 i i i个猎物的第 j j j维值。总共有 n n n个猎物和 d d d个变量。猎物位置是指特定解的参数。在优化过程中,应用适应度(目标)函数估计每个猎物的适应度值,随后的矩阵收集所有猎物的适应度值: F O A = [ f ( Y 1 , 1 ; Y 1 , 2 ; ⋯   ; Y 1 , d ) f ( Y 2 , 1 ; Y 2 , 2 ; ⋯   ; Y 2 , d ) ⋮ f ( Y n , 1 ; Y n , 2 ; ⋯   ; Y n , d ) ] (3) F_{OA}=\begin{bmatrix} f(Y_{1,1};Y_{1,2};\cdots;Y_{1,d}) \\f(Y_{2,1};Y_{2,2};\cdots;Y_{2,d})\\\vdots\\f(Y_{n,1};Y_{n,2};\cdots;Y_{n,d}) \end{bmatrix}\tag{3} FOA=f(Y1,1;Y1,2;;Y1,d)f(Y2,1;Y2,2;;Y2,d)f(Yn,1;Yn,2;;Yn,d)(3)其中, F O A F_{OA} FOA是保存每个猎物适应度的矩阵, Y i , j Y_{i,j} Yi,j表示第 i i i个猎物的第 j j j维值, n n n是猎物数量, f f f是目标函数。适应度最优的被称为公豺,次优的被称为母豺。豺对获得相应的猎物位置。

(2)探索阶段或搜索猎物

在这一部分中,提出了GJO的探索策略。由于豺狼的天性,它们知道如何感知和跟踪猎物,但偶尔猎物不容易捕捉和逃脱。因此,豺狼等待并寻找其他猎物。狩猎是由雄性豺狼领导的,母豺跟随公豺。 Y 1 ( t ) = Y M ( t ) − E ⋅ ∣ Y M ( t ) − r l ⋅ P r e y ( t ) ∣ (4) Y_1(t)=Y_M(t)-E\cdot|Y_M(t)-rl\cdot Prey(t)|\tag{4} Y1(t)=YM(t)EYM(t)rlPrey(t)(4) Y 2 ( t ) = Y F M ( t ) − E ⋅ ∣ Y F m ( t ) − r l ⋅ P r e y ( t ) ∣ (5) Y_2(t)=Y_{FM}(t)-E\cdot|Y_{Fm}(t)-rl\cdot Prey(t)|\tag{5} Y2(t)=YFM(t)EYFm(t)rlPrey(t)(5)其中, t t t表示当前迭代次数, P r e y ( t ) Prey(t) Prey(t)是猎物的位置向量, Y M ( t ) Y_M(t) YM(t) Y F M ( t ) Y_{FM}(t) YFM(t)表示雄豺和雌豺的位置, Y 1 ( t ) Y_1(t) Y1(t) Y 2 ( t ) Y_2(t) Y2(t)是对应于猎物的雄性和雌性豺的更新位置。
E E E是躲避猎物的能量,计算如下: E = E 1 ∗ E 0 (6) E=E_1*E_0\tag{6} E=E1E0(6)其中, E 1 E_1 E1表示猎物的能量下降, E 0 E_0 E0表示其能量的初始状态。 E 0 = 2 ∗ r − 1 (7) E_0=2*r-1\tag{7} E0=2r1(7)其中, r r r是0到1的随机数。 E 1 = c 1 ∗ ( 1 − t / T ) (8) E_1=c_1*(1-t/T)\tag{8} E1=c1(1t/T)(8)其中, T T T表示最大迭代次数, c 1 c_1 c1是等于1.5的常数值, t t t表示当前迭代次数。在整个迭代过程中, E 1 E_1 E1从1.5线性减少到0。
式(4)和(5)中的 ∣ Y ( t ) − r l ⋅ P r e y ( t ) ∣ |Y(t)-rl\cdot Prey(t)| Y(t)rlPrey(t)计算豺与猎物之间的距离。根据猎物逃逸的能量,这个距离会被减去或加到豺狼的当前位置。
式(4)和(5)中的 r l rl rl是基于表示Levy运动的Levy分布的随机数向量。 r l rl rl P r e y Prey Prey的乘法模拟了以Levy方式移动的猎物,计算如下: r l = 0.05 ∗ L F ( y ) (9) rl=0.05*LF(y)\tag{9} rl=0.05LF(y)(9) L F LF LF是levy飞行函数,使用式(10)计算得出: L F ( y ) = 0.01 × ( μ × σ ) / ( ∣ v ∣ 1 / β ) ; σ = ( Γ ( 1 + β ) × sin ⁡ ( π β / 2 ) Γ ( 1 + β 2 ) × β × 2 β − 1 2 ) 1 / β (10) LF(y)=0.01\times(\mu\times\sigma)/\left(\left|v\right|^{1/\beta}\right);\sigma=\left(\frac{\Gamma(1+\beta)\times\sin(\pi\beta/2)}{\Gamma(\frac{1+\beta}{2})\times\beta\times2^{\frac{\beta-1}{2}}}\right)^{1/\beta}\tag{10} LF(y)=0.01×(μ×σ)/(v1/β);σ=(Γ(21+β)×β×22β1Γ(1+β)×sin(πβ/2))1/β(10)其中, μ \mu μ v v v ( 0 , 1 ) (0,1) (0,1)内的随机值, β \beta β是默认常数,设置为1.5。最后,通过取式(4)和(5)的平均值来更新豺的位置。 Y ( t + 1 ) = Y 1 ( t ) + Y 2 ( t ) 2 (11) Y(t+1)=\frac{Y_1(t)+Y_2(t)}{2}\tag{11} Y(t+1)=2Y1(t)+Y2(t)(11)

(3)开发阶段或围捕和突袭猎物

当猎物受到豺的骚扰时,其逃逸能量降低,然后豺对包围前一阶段检测到的猎物。围捕后,它们突袭猎物并将其吞食。雄性和雌性豺一起狩猎的行为在数学上建模如下: Y 1 ( t ) = Y M ( t ) − E ⋅ ∣ r l ⋅ Y M ( t ) − P r e y ( t ) ∣ (12) Y_1(t)=Y_M(t)-E\cdot|rl\cdot Y_M(t)-Prey(t)|\tag{12} Y1(t)=YM(t)ErlYM(t)Prey(t)(12) Y 2 ( t ) = Y F M ( t ) − E ⋅ ∣ r l ⋅ Y F M ( t ) − P r e y ( t ) ∣ (13) Y_2(t)=Y_{FM}(t)-E\cdot|rl\cdot Y_{FM}(t)-Prey(t)|\tag{13} Y2(t)=YFM(t)ErlYFM(t)Prey(t)(13)其中, t t t表示当前迭代次数, P r e y ( t ) Prey(t) Prey(t)是猎物的位置向量, Y M ( t ) Y_M(t) YM(t) Y F M ( t ) Y_{FM}(t) YFM(t)表示雄性和雌性豺的位置, Y 1 ( t ) Y_1(t) Y1(t) Y 2 ( t ) Y_2(t) Y2(t)是对应于猎物的雄性和雌性豺的更新位置,根据式(6)计算猎物的逃逸能量 E E E。最后,根据式(11)更新豺的位置。
式(12)和(13)中 r l rl rl的功能是在开采阶段提供任意行为,有利于探索和避免局部最优。根据式(9)计算 r l rl rl。该变量有利于避免局部最优解的迟缓,尤其是在最后的迭代中。
可以很好地将该变量视为朝向猎物移动的障碍的结果。通常,自然界中的困难发生在豺的追逐路径上,阻止它们适当而快速地向猎物移动。这就是 r l rl rl在开发阶段的目的。

(4)从探索转向开发

在GJO算法中,猎物的逃逸能量用于从探索切换到开发。在整个躲避行为中,猎物的能量显著下降。考虑到这一点,根据式(6)对猎物的逃逸能量进行建模。初始能量 E 0 E_0 E0在每次迭代中从-1到1之间震荡。当 E 0 E_0 E0值从0减少到-1时,猎物的力量正在衰退,但当 E 0 E_0 E0值从0增加到1时,表明猎物的力量有所提高。
如图1所示,在迭代过程中,改变的逃逸能量 E E E呈下降趋势。当 ∣ E ∣ > 1 |E|>1 E>1时,豺对搜索不同区域以探索猎物,当 ∣ E ∣ < 1 |E|<1 E<1时,GJO攻击猎物并进行开发。
在这里插入图片描述

图1 在两次运行中进行迭代的逃逸能量的动态行为

2、GJO伪代码

总之,GJO中的搜索过程始于创建随机猎物种群(候选解)。在迭代过程中,猎物的可能位置由雄性和雌性豺狩猎对估计。种群中的每个候选个体都会更新其与豺对的距离。 E 1 E_1 E1参数从1.5减少到0,以分别强调探索和开发。当 ∣ E ∣ > 1 |E|>1 E>1时,金豺狩猎对偏离猎物,当 ∣ E ∣ < 1 |E|<1 E<1时聚集到猎物。最后,GJO算法通过满足终止准则来完成。GJO算法的伪代码如图2所示。
在这里插入图片描述

图2 GJO伪代码

二、仿真实验与结果分析

将GJO与GWO、GSA、MVO和MFO进行对比,以常用23个测试函数中的F4、F5(单峰函数/10维)、F10、F11(多峰函数/10维)、F15、F16(固定维度多峰函数/4维、2维)为例,实验设置种群规模为30,最大迭代次数为200,每种算法独立运算30次,结果显示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

函数:F4
GWO:最差值: 1.7075e-06, 最优值: 1.5939e-08, 平均值: 5.0863e-07, 标准差: 4.8871e-07, 秩和检验: 3.0199e-11
GSA:最差值: 0.00010035, 最优值: 3.2627e-05, 平均值: 6.0598e-05, 标准差: 1.7281e-05, 秩和检验: 3.0199e-11
MVO:最差值: 0.44026, 最优值: 0.11892, 平均值: 0.22102, 标准差: 0.074485, 秩和检验: 3.0199e-11
MFO:最差值: 30.487, 最优值: 0.32858, 平均值: 6.1688, 标准差: 7.9857, 秩和检验:3.0199e-11
GJO:最差值: 3.6323e-14, 最优值: 8.1343e-18, 平均值: 2.4166e-15, 标准差: 7.0375e-15, 秩和检验: 1
函数:F5
GWO:最差值: 8.0741, 最优值: 5.8466, 平均值: 7.0781, 标准差: 0.52566, 秩和检验: 0.10869
GSA:最差值: 91.1663, 最优值: 6.1697, 平均值: 11.8933, 标准差: 19.9896, 秩和检验: 0.0015178
MVO:最差值: 1369.5102, 最优值: 5.9133, 平均值: 87.0825, 标准差: 254.8173, 秩和检验: 6.0459e-07
MFO:最差值: 90007.6356, 最优值: 0.70249, 平均值: 3404.0693, 标准差: 16378.9063, 秩和检验:1.6351e-05
GJO:最差值: 8.0939, 最优值: 6.2387, 平均值: 7.1311, 标准差: 0.5039, 秩和检验: 1
函数:F10
GWO:最差值: 8.5739e-11, 最优值: 1.8732e-12, 平均值: 1.8104e-11, 标准差: 1.7847e-11, 秩和检验: 5.1436e-12
GSA:最差值: 0.00017464, 最优值: 6.0412e-05, 平均值: 0.00011252, 标准差: 2.8375e-05, 秩和检验: 5.1436e-12
MVO:最差值: 2.4319, 最优值: 0.11489, 平均值: 0.70675, 标准差: 0.80691, 秩和检验: 5.1436e-12
MFO:最差值: 19.9435, 最优值: 0.0036455, 平均值: 0.84425, 标准差: 3.6462, 秩和检验:5.1436e-12
GJO:最差值: 7.9936e-15, 最优值: 4.4409e-15, 平均值: 5.033e-15, 标准差: 1.3467e-15, 秩和检验: 1
函数:F11
GWO:最差值: 0.12329, 最优值: 0, 平均值: 0.041772, 标准差: 0.036403, 秩和检验: 3.8872e-10
GSA:最差值: 11.6183, 最优值: 2.0228, 平均值: 5.4245, 标准差: 2.7055, 秩和检验: 3.1602e-12
MVO:最差值: 0.77234, 最优值: 0.18921, 平均值: 0.51579, 标准差: 0.12578, 秩和检验: 3.1602e-12
MFO:最差值: 0.48484, 最优值: 0.037216, 平均值: 0.15913, 标准差: 0.098084, 秩和检验:3.1602e-12
GJO:最差值: 0.011216, 最优值: 0, 平均值: 0.00037386, 标准差: 0.0020477, 秩和检验: 1
函数:F15
GWO:最差值: 0.020363, 最优值: 0.00034426, 平均值: 0.0066034, 标准差: 0.0091652, 秩和检验: 0.98231
GSA:最差值: 0.023217, 最优值: 0.001797, 平均值: 0.0081274, 标准差: 0.0067001, 秩和检验: 2.1327e-05
MVO:最差值: 0.056556, 最优值: 0.00055514, 平均值: 0.0054155, 标准差: 0.01175, 秩和检验: 0.0038481
MFO:最差值: 0.0016554, 最优值: 0.00055474, 平均值: 0.00096053, 标准差: 0.00027353, 秩和检验:0.016285
GJO:最差值: 0.020365, 最优值: 0.00030815, 平均值: 0.0046095, 标准差: 0.0080138, 秩和检验: 1
函数:F16
GWO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.8492e-07, 秩和检验: 1.5581e-08
GSA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 2.0888e-10, 秩和检验: 3.0199e-11
MVO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.9518e-06, 秩和检验: 0.11536
MFO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 6.6486e-16, 秩和检验:2.3638e-12
GJO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.3177e-06, 秩和检验: 1

实验结果表明:GJO算法与其他算法相比具有更优的寻优性能、更好的鲁棒性、更快的搜索速度和更高的收敛精度。

三、参考文献

[1] Nitish Chopra, Muhammad Mohsin Ansari. Golden jackal optimization: A novel nature-inspired optimizer for engineering applications[J]. Expert Systems With Applications , 2022, 198: 116924.


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

相关文章

基于多策略的改进花授粉算法

文章目录一、理论基础1、基本花授粉算法2、基于多策略改进的花授粉算法&#xff08;1&#xff09;新全局搜索策略&#xff08;2&#xff09;引入精英变异策略的局部搜索策略&#xff08;3&#xff09;对劣解的改进策略&#xff08;4&#xff09;自适应调整转换概率二、实验仿真…

人工智能并非万能,智慧停车怕难解决城市停车难题?

根据公安部交管局公布的数据显示&#xff1a;截止2017年底&#xff0c;中国机动车保有量达3.10亿辆&#xff0c;其中汽车占2.17亿辆&#xff0c;随着汽车数量的增加&#xff0c;停车位缺口已超过5000万个。以车主一年3000元的停车花费测算&#xff0c;停车收费的静态市场空间已…

基于白鲸优化算法的函数寻优算法

文章目录一、理论基础1、白鲸优化算法&#xff08;1&#xff09;探索阶段&#xff08;2&#xff09;开发阶段&#xff08;3&#xff09;鲸落2、BWO算法流程图二、仿真实验与结果分析三、参考文献一、理论基础 1、白鲸优化算法 文献[1]从白鲸的行为出发&#xff0c;提出了一种…

(Ajax)axios源码简析(一)——axios入口文件

传送门&#xff1a; axios源码简析&#xff08;一&#xff09;——axios入口文件axios源码简析&#xff08;二&#xff09;——Axios类与拦截器axios源码简析&#xff08;三&#xff09;——请求与取消请求axios简介 axios是时下最流行的http请求库&#xff0c;可以用于浏览器环…

基于引力搜索机制的花朵授粉算法

文章目录一、理论基础1、花朵授粉算法2、基于引力搜索策略的花朵授粉算法2.1 引力搜索算法2.2 引力机制的FPA2.3 算法的实现二、仿真实验与结果分析三、参考文献一、理论基础 1、花朵授粉算法 请参考这里。 2、基于引力搜索策略的花朵授粉算法 2.1 引力搜索算法 请参考这里…

融合振幅随机补偿与步长演变机制的改进原子搜索优化算法

文章目录一、理论基础1、原子搜索优化算法(ASO)2、改进的原子搜索优化算法(IASO)&#xff08;1&#xff09;初始原子种群的混沌优化&#xff08;2&#xff09;振幅函数随机参数优化&#xff08;3&#xff09;步长演变搜索机制&#xff08;4&#xff09;IASO算法的实现二、仿真实…

JAVA中String.format的用法 格式化字符串,格式化数字,日期时间格式化,

1.对整数进行格式化&#xff1a;%[index$][标识][最小宽度]转换方式 我们可以看到&#xff0c;格式化字符串由4部分组成&#xff0c;其中%[index$]的含义我们上面已经讲过&#xff0c;[最小宽度]的含义也很好理解&#xff0c;就是最终该整数转化的字符串最少包含多少位数…

采用混合搜索策略的阿奎拉优化算法

文章目录一、理论基础1、AO算法2、HAO算法&#xff08;1&#xff09;动态调整&#xff08;2&#xff09;混沌自适应权重&#xff08;3&#xff09;改进型差分变异策略&#xff08;4&#xff09;HAO算法流程二、仿真实验与结果分析三、参考文献一、理论基础 1、AO算法 请参考这…