多策略协同优化的改进HHO算法

一、理论基础

1、哈里斯鹰优化算法(HHO)

请参考这里

2、改进哈里斯鹰优化算法(MSHHO)

2.1 拉丁超立方抽样

请参考这里。图1(a)为拉丁超立方抽样初始化的种群分布,图1(b)为标准HHO算法随机初始化的种群分布,其中种群规模 N = 50 N=50 N=50。对比分析可知,图1(b)中存在个体聚集情形较严重,且左上角位置的空白区域较大,初始种群的均匀化程度偏低,而在图1(a)中个体均匀的存在于整个解空间,种群的区域覆盖性偏高,并且不存在个体重叠现象,因此拉丁超立方抽样方法生成的种群质量更高,多样性更加优异。
在这里插入图片描述

(a) 拉丁超立方抽样初始化种群

在这里插入图片描述
(b) 随机初始化种群

图1 初始化种群分布

2.2 融合莱维飞行的自适应阿基米德螺旋机制

为解决HHO存在的问题,本文引入融合莱维飞行的阿基米德螺旋机制来提高标准算法的局部开采效益,并以自适应权重动态调节全局最优个体在不同阶段所占比重。

2.2.1 融合莱维飞行的阿基米德螺旋公式

阿基米德螺线是一点匀速脱离某一固定点并以恒定角速度绕该固定点转动所生成的运动轨迹,其极坐标形式为 r = a + b θ (1) r=a+b\theta\tag{1} r=a+bθ(1)其中, a a a为初始点至极坐标中心距离, b b b为螺线间距离, θ \theta θ为极角。将莱维飞行策略与阿基米德螺线进行融合来开采个体邻域范围内的解,如式(1)和式(2)所示。 X ( t + 1 ) = X b e s t ( t ) + ∣ X b e s t ( t ) − X L e v y ( t ) ∣ l cos ⁡ ( 2 π l ) (2) X(t+1)=X_{best}(t)+|X_{best}(t)-X_{Levy}(t)|l\cos(2\pi l)\tag{2} X(t+1)=Xbest(t)+Xbest(t)XLevy(t)lcos(2πl)(2) X L e v y ( t ) = μ ∣ ν ∣ 1 β ( X r ( t ) − X b e s t ( t ) ) (3) X_{Levy}(t)=\frac{\mu}{|\nu|^{\frac1\beta}}(X_r(t)-X_{best}(t))\tag{3} XLevy(t)=νβ1μ(Xr(t)Xbest(t))(3)其中, X b e s t ( t ) X_{best}(t) Xbest(t)为当前种群最优个体, X L e v y ( t ) X_{Levy}(t) XLevy(t)表示式(3)生成的莱维飞行解, l l l [ − 1 , 1 ] [-1,1] [1,1]之间的随机数, X b e s t ( t ) X_{best}(t) Xbest(t) ∣ X b e s t ( t ) − X L e v y ( t ) ∣ |X_{best}(t)-X_{Levy}(t)| Xbest(t)XLevy(t)分别对应阿基米德螺线的 a a a b b b cos ⁡ ( 2 π l ) \cos(2\pi l) cos(2πl)则对应阿基米德螺线的极角 a a a b b b
式(3)中 X r ( t ) X_r(t) Xr(t)为种群内部的随机个体, μ \mu μ ν \nu ν分别服从正态分布 μ ∼ N ( 0 , σ μ 2 ) \mu\sim N(0,\sigma_\mu^2) μN(0,σμ2) ν ∼ N ( 0 , σ ν 2 ) \nu\sim N(0,\sigma_\nu^2) νN(0,σν2),且 σ μ 2 \sigma_\mu^2 σμ2 σ ν 2 \sigma_\nu^2 σν2取值为 σ μ = { Γ ( 1 + β ) sin ⁡ ( π β / 2 ) Γ [ ( 1 + β ) / 2 ] β 2 ( β − 1 ) / 2 } 1 β ,    σ ν = 1 (4) \sigma_\mu=\left\{\frac{\Gamma(1+\beta)\sin(\pi\beta/2)}{\Gamma[(1+\beta)/2]\beta2^{(\beta-1)/2}}\right\}^{\frac1\beta},\,\,\sigma_\nu=1\tag{4} σμ={Γ[(1+β)/2]β2(β1)/2Γ(1+β)sin(πβ/2)}β1,σν=1(4)其中, Γ \Gamma Γ为伽玛函数, β \beta β的一般取值范围为 ( 0 , 2 ] (0,2] (0,2],本文取 β = 1 \beta=1 β=1
该机制借助阿基米德螺线的旋转特征,以一定角度和转动间距搜索个体邻域范围,可避免算法遗漏部分解空间区域,最大限度的确保开采周密性;作为一种随机游走方式,莱维飞行采用小步长搜索和大步长跳跃相结合的方式遍历解空间,可有效扩大哈里斯鹰种群的搜索范围,并更好规避局部极值对算法寻优的消极影响。本文将莱维飞行策略融入阿基米德螺旋机制来搜索局部解,既可保证算法开采过程的严密性与准确性,增强局部搜索能力,又能在迭代后期提高算法的种群多样性以避免早熟现象产生,优化了算法寻优精度和收敛速度。

2.2.2 自适应权重因子

本文提出一种自适应权重因子来动态调节全局最优个体在不同时期的螺旋机制中的影响程度,并以此来强化该机制在迭代过程的开采效益,自适应权重因子如式(5)所示 w = 1 − ( e 2 ⋅ ( 1 − t / T ) − e 2 ⋅ ( 1 − t / T ) ) ( e 2 ⋅ ( 1 − t / T ) + e 2 ⋅ ( 1 − t / T ) ) (5) w=1-\frac{\left(e^{2\cdot(1-t/T)}-e^{2\cdot(1-t/T)}\right)}{\left(e^{2\cdot(1-t/T)}+e^{2\cdot(1-t/T)}\right)}\tag{5} w=1(e2(1t/T)+e2(1t/T))(e2(1t/T)e2(1t/T))(5)其中, w w w为自适应权重因子, t t t为当前迭代次数, T T T为最大迭代次数。取 T = 500 T=500 T=500,自适应权重因子 w w w随迭代次数变化的曲线趋势如图2所示。
在这里插入图片描述

图2 自适应权重因子变化曲线

由图2知曲线总体呈递增态势且递增速度逐步加快,迭代前期权重因子 w w w偏小,反映了全局最优个体在该时期对螺旋机制寻优的影响较小,种群个体可充分搜索邻近区域;当算法处于迭代中后期时权重因子 w w w偏大,全局最优个体增强了对个体位置更新的影响,并迫使种群个体向全局最优位置处靠拢,加快算法求解效率。联合式(2)和式(5),融合莱维飞行的自适应阿基米德螺旋机制如式(6)所示。 X ( t + 1 ) = w X b e s t ( t ) + ∣ X b e s t ( t ) − X L e v y ( t ) ∣ l cos ⁡ ( 2 π l ) (6) X(t+1)=wX_{best}(t)+|X_{best}(t)-X_{Levy}(t)|l\cos(2\pi l)\tag{6} X(t+1)=wXbest(t)+Xbest(t)XLevy(t)lcos(2πl)(6)

2.3 柯西反向学习混合变异策略

标准HHO算法中,最优位置的产生依赖于哈里斯鹰群体的围击猎物行为,当种群个体因迭代次数递增而趋于聚集时,最优个体将缺乏快速逃逸局部极值区的能力,从而使算法易出现早熟现象。因此本文引入融合柯西变异和反向学习的混合变异策略对当前最优解进行扰动处理,以确保算法在局部寻优时具有更大的种群多样性,顺利逃离局部极值的同时加快种群逼近最优位置的速度。柯西变异源于柯西分布,由柯西分布机理知,柯西分布函数曲线两端较长,表明其可使个体更易逃离局部极值,而且较小的峰值将指导个体花费更少时间搜寻最优位置。因此将柯西变异算子引入HHO算法中,充分利用其扰动能力强的特点调控当前最优解,表达式如下: X b e s t ∗ ( t + 1 ) = C a u c h y ( 0 , 1 ) ⊕ X b e s t ( t ) (7) X_{best}^*(t+1)=Cauchy(0,1)\oplus X_{best}(t)\tag{7} Xbest(t+1)=Cauchy(0,1)Xbest(t)(7)反向学习是2005年提出的一种新手段,其核心思想是根据当前解捕获相应解空间内的反向解,通过对比二者优劣保留较优解的方式引导个体寻优,将反向学习策略引入标准算法中,表达式如下: X b e s t ′ ( t ) = k 1 ( u b + l b ) − X b e s t ( t ) (8) X_{best}'(t)=k_1(ub+lb)-X_{best}(t)\tag{8} Xbest(t)=k1(ub+lb)Xbest(t)(8) X b e s t ∗ ( t + 1 ) = k 2 ( X b e s t ( t ) − X b e s t ′ ( t ) ) (9) X_{best}^*(t+1)=k_2(X_{best}(t)-X_{best}'(t))\tag{9} Xbest(t+1)=k2(Xbest(t)Xbest(t))(9)其中, X b e s t ′ ( t ) X_{best}'(t) Xbest(t)为第 t t t次迭代时最优个体反向解, k 1 , k 2 k_1,k_2 k1,k2分别为 [ 0 , 1 ] [0,1] [0,1]之间随机数。
综合上述策略,柯西反向学习混合变异策略的公式如下: X b e s t ∗ ( t + 1 ) = { C a u c h y ( 0 , 1 ) ⊕ X b e s t ( t ) , P > 0.5 k 2 ( X b e s t ( t ) − X b e s t ′ ( t ) ) ,       P ≤ 0.5 (10) X_{best}^*(t+1)=\begin{dcases}Cauchy(0,1)\oplus X_{best}(t),\quad P>0.5\\[2ex]k_2(X_{best}(t)-X_{best}'(t)),\quad\,\,\,\,\, P\leq0.5\end{dcases}\tag{10} Xbest(t+1)= Cauchy(0,1)Xbest(t),P>0.5k2(Xbest(t)Xbest(t)),P0.5(10)其中, X b e s t ′ ( t ) X_{best}'(t) Xbest(t)来自式(8), P P P为服从均匀分布的随机概率。当 P > 0.5 P>0.5 P>0.5时,算法以柯西算子变异最优解,其强大的扰动能力可大幅提升最优解周围的种群多样性,在面对陷入局部极值的最优个体时,可助其快速逃逸以保证算法稳健寻优;当 P ≤ 0.5 P\leq0.5 P0.5时,算法以反向学习策略扰动当前最优解,经反向学习生成的反向解可扩大种群的开采范围,增加个体接近目标位置概率,且随机值 k 1 k_1 k1的动态变化一定程度提高了算法寻优速度。采用扰动最优个体的混合变异策略虽增强了算法脱离局部极值区的能力,但并不能确保变异后的位置一定优于原位置,因此本文在混合变异策略结束后采用贪婪算法比较二者适应度值以保存优势个体,公式如下: X b = { X b , f ( X b ) ≤ f ( X b ∗ ) X b ∗ ,       f ( X b ) > f ( X b ∗ ) (11) X_b=\begin{dcases}X_b,\quad f(X_b)\leq f(X_b^*)\\[2ex]X_b^*,\,\,\,\,\, f(X_b)>f(X_b^*)\end{dcases}\tag{11} Xb= Xb,f(Xb)f(Xb)Xb,f(Xb)>f(Xb)(11)

2.4 改进算法实现流程

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

图3 MSHHO算法伪代码

二、仿真实验与结果分析

将MSHHO与PSO、GWO、WOA、BOA和HHO进行对比,以文献[1]中表1的F1、F2(单峰函数/30维)、F8、F9(多峰函数/30维)、F15、F16(固定维度多峰函数/2维、3维)为例,实验设置种群规模为30,最大迭代次数为300,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
PSO:最差值: 851.2377, 最优值: 130.2086, 平均值: 407.8392, 标准差: 169.9829, 秩和检验: 1.2118e-12
GWO:最差值: 7.4068e-27, 最优值: 6.964e-29, 平均值: 1.6203e-27, 标准差: 2.1009e-27, 秩和检验: 1.2118e-12
WOA:最差值: 2.6383e-72, 最优值: 2.3401e-84, 平均值: 1.5701e-73, 标准差: 5.6737e-73, 秩和检验: 1.2118e-12
BOA:最差值: 9.0972e-11, 最优值: 6.3449e-11, 平均值: 7.5957e-11, 标准差: 6.8914e-12, 秩和检验: 1.2118e-12
HHO:最差值: 2.5902e-95, 最优值: 4.9243e-115, 平均值: 1.167e-96, 标准差: 4.7702e-96, 秩和检验: 1.2118e-12
MSHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F2
PSO:最差值: 22.4709, 最优值: 6.9546, 平均值: 13.8624, 标准差: 3.9493, 秩和检验: 1.2118e-12
GWO:最差值: 3.7926e-16, 最优值: 1.0427e-17, 平均值: 1.0482e-16, 标准差: 9.0952e-17, 秩和检验: 1.2118e-12
WOA:最差值: 2.2497e-50, 最优值: 4.6521e-59, 平均值: 1.3217e-51, 标准差: 4.1789e-51, 秩和检验: 1.2118e-12
BOA:最差值: 3.2297e-08, 最优值: 6.3547e-09, 平均值: 2.1809e-08, 标准差: 7.6663e-09, 秩和检验: 1.2118e-12
HHO:最差值: 8.5616e-48, 最优值: 6.3312e-60, 平均值: 3.5962e-49, 标准差: 1.5763e-48, 秩和检验: 1.2118e-12
MSHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F8
PSO:最差值: 10.4663, 最优值: 5.5463, 平均值: 7.8892, 标准差: 1.2322, 秩和检验: 1.2118e-12
GWO:最差值: 1.43e-13, 最优值: 7.5495e-14, 平均值: 1.0404e-13, 标准差: 1.719e-14, 秩和检验: 1.1128e-12
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 3.9672e-15, 标准差: 2.234e-15, 秩和检验: 9.1593e-09
BOA:最差值: 3.5822e-08, 最优值: 1.1576e-08, 平均值: 2.7043e-08, 标准差: 6.0199e-09, 秩和检验: 1.2118e-12
HHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
MSHHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
函数:F9
PSO:最差值: 6.7799, 最优值: 2.8862, 平均值: 4.4014, 标准差: 1.1093, 秩和检验: 1.2118e-12
GWO:最差值: 0.038466, 最优值: 0, 平均值: 0.0065008, 标准差: 0.0099556, 秩和检验: 0.00031349
WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
BOA:最差值: 5.7114e-11, 最优值: 9.7733e-13, 平均值: 1.3714e-11, 标准差: 1.3117e-11, 秩和检验: 1.2118e-12
HHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
MSHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F14
PSO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 6.2532e-16, 秩和检验: 5.8486e-11
GWO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.8402e-08, 秩和检验: 2.9729e-11
WOA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.1991e-09, 秩和检验: 1.4131e-08
BOA:最差值: -1.0302, 最优值: -1.0316, 平均值: -1.0312, 标准差: 0.00039191, 秩和检验: 2.9729e-11
HHO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.5694e-09, 秩和检验: 2.2052e-06
MSHHO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.7764e-11, 秩和检验: 1
函数:F15
PSO:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 1.5161e-15, 秩和检验: 2.7699e-11
GWO:最差值: 84, 最优值: 3, 平均值: 5.7, 标准差: 14.7885, 秩和检验: 1.0666e-07
WOA:最差值: 3.0003, 最优值: 3, 平均值: 3, 标准差: 7.1938e-05, 秩和检验: 2.7726e-05
BOA:最差值: 3.2822, 最优值: 3.0006, 平均值: 3.0468, 标准差: 0.073014, 秩和检验: 8.4848e-09
HHO:最差值: 30.0001, 最优值: 3, 平均值: 7.5, 标准差: 10.2343, 秩和检验: 0.70617
MSHHO:最差值: 30.0001, 最优值: 3, 平均值: 4.8, 标准差: 6.8501, 秩和检验: 1

实验结果表明:改进算法MSHHO具有优异的寻优性能和稳健的鲁棒性。

三、参考文献

[1] 柴岩, 任生. 多策略协同优化的改进HHO算法[J]. 计算机应用研究, 2022, 39(12): 1-13.

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值