一种速度引导的哈里斯鹰优化算法

一、理论基础

1、哈里斯鹰优化算法

请参考这里

2、速度引导的哈里斯鹰优化算法

通过嵌入速度引导的位置搜索公式、非线性逃逸能量参数和基于折射反向的学习策略的3种策略对HHO算法进行了改进。

(1)速度引导的位置搜索公式

PSO是Kennedy和Eberhart(1995)提出的一种高效有效的元启发式技术。它的想法来源于鸟类的觅食行为。在粒子群算法中,每个粒子都有自己的位置( X X X)和速度( v v v)。在迭代过程中,更新每个粒子的速度和位置: v i ( t + 1 ) = w × v i ( t ) + c 1 × r 1 × ( X p b e s t − X i ( t ) ) + c 2 × r 2 × ( X g b e s t − X i ( t ) ) (1) v_i(t+1)=w\times v_i(t)+c_1\times r_1\times\left(X_{pbest}-X_i(t)\right)+c_2\times r_2\times(X_{gbest}-X_i(t))\tag{1} vi(t+1)=w×vi(t)+c1×r1×(XpbestXi(t))+c2×r2×(XgbestXi(t))(1) X i ( t + 1 ) = X i ( t ) + v i ( t + 1 ) (2) X_i(t+1)=X_i(t)+v_i(t+1)\tag{2} Xi(t+1)=Xi(t)+vi(t+1)(2)其中, v v v表示粒子的速度, w w w表示惯性权重, X p b e s t X_{pbest} Xpbest表示粒子的个体最佳位置, X X X表示粒子的位置, X g b e s t X_{gbest} Xgbest表示全局最佳位置, c 1 c_1 c1 c 2 c_2 c2为系数因子, r 1 r_1 r1 r 2 r_2 r2为随机数。
受粒子群算法的启发,本文设计了一种新的开发阶段速度引导的位置搜索公式,具体表达式如下:
在硬围攻策略中,位置由下式更新: v ( t + 1 ) = w × v ( t ) + c 3 × r 3 × ( X p b e s t − X ( t ) ) + X r a b b i t ( t ) + E × ∣ X r a b b i t − X ( t ) ∣ (3) v(t+1)=w\times v(t)+c_3\times r_3\times(X_{pbest}-X(t))+X_{rabbit}(t)+E\times\left|X_{rabbit}-X(t)\right|\tag{3} v(t+1)=w×v(t)+c3×r3×(XpbestX(t))+Xrabbit(t)+E×XrabbitX(t)(3) X ( t + 1 ) = X ( t ) + v ( t + 1 ) (4) X(t+1)=X(t)+v(t+1)\tag{4} X(t+1)=X(t)+v(t+1)(4)在软围攻策略中,位置由下式更新: v ( t + 1 ) = w × v ( t ) + c 4 × r 4 × ( X p b e s t − X ( t ) ) + ( X r a b b i t − X ( t ) ) + E × ∣ J × X r a b b i t − X ( t ) ∣ (5) v(t+1)=w\times v(t)+c_4\times r_4\times(X_{pbest}-X(t))+(X_{rabbit}-X(t))+E\times\left|J\times X_{rabbit}-X(t)\right|\tag{5} v(t+1)=w×v(t)+c4×r4×(XpbestX(t))+(XrabbitX(t))+E×J×XrabbitX(t)(5) X ( t + 1 ) = X ( t ) + v ( t + 1 ) (6) X(t+1)=X(t)+v(t+1)\tag{6} X(t+1)=X(t)+v(t+1)(6)其中, v v v为每只鹰的速度, X p b e s t X_{pbest} Xpbest为每只鹰的个体最佳位置, c 3 c_3 c3 c 4 c_4 c4为记忆因子, r 3 r_3 r3 r 4 r_4 r4 [ 0 , 1 ] [0,1] [0,1]中的随机数, w w w为惯性权重,由下式计算: w ( t ) = w initial − ( w initial − w end ) × ∣ t 1 + 1 + t 2 ∣ (7) w(t)=w_{\text{initial}}-(w_{\text{initial}}-w_{\text{end}})\times\left|\frac{t}{1+\sqrt{1+t^2}}\right|\tag{7} w(t)=winitial(winitialwend)×1+1+t2 t(7)其中, w initial w_{\text{initial}} winitial w end w_{\text{end}} wend分别为 w w w的初值和终值。
该策略有3个特点:
(1)增加速度项,增强位置搜索的全局搜索能力;
(2)鹰不仅从自己的信息中学习,还从种群中其他鹰的信息中学习;
(3)引入惯性权重 w w w,动态平衡HHO的优化性能。

(2)非线性逃逸能量参数

与以往提出的 E E E的非线性减小策略不同,本文提出了一种新的逃逸能量参数 E E E的非线性增大方案,原因如下:一方面,鹰的种群在迭代搜索的早期具有较好的多样性;良好的多样性意味着 H H O HHO HHO具有强大的探索整个搜索空间的能力。这一阶段的主要目标是加速收敛(即 E < 1 E<1 E<1)。另一方面,在迭代搜索的后期,HHO可能会在搜索空间的某个点上收敛,这将导致种群多样性的丧失。该阶段(即 E ≥ 1 E\geq1 E1)的主要目的是保持种群多样性,避免局部最优。因此,所提参数 E E E的计算公式为: E ( t ) = E max ⁡ − ( E max ⁡ − E min ⁡ ) ⋅ cos ⁡ ( t t max ⁡ × π 2 ) (8) E(t)=E_{\max}-(E_{\max}-E_{\min})\cdot\cos\left(\frac{t}{t_{\max}}\times\frac\pi2\right)\tag{8} E(t)=Emax(EmaxEmin)cos(tmaxt×2π)(8)其中 E max ⁡ E_{\max} Emax E min ⁡ E_{\min} Emin分别为 E E E的最大值和最小值。
从式(8)可以得出,所提出的非线性逃逸能量参数 E E E在迭代前期和中期的数值较小( E < 1 E<1 E<1),说明与全局探索阶段相比,该参数较长时间集中在局部开发阶段(约占总迭代数的67%)。本文提出的非线性逃逸能量参数 E E E在后期较大,仅在33%左右的迭代中集中于探索。

(3)折射反向学习策略

具体原理请参考这里。执行过程如图1所示。
在这里插入图片描述

图1 折射反向学习策略流程

(4)VGHHO算法流程

融合以上3种策略提出的VGHHO算法的执行流程图如图2所示。
在这里插入图片描述

图2 VGHHO算法流程图

二、仿真实验与结果分析

将VGHHO与BOA、HHO、SCA、GWO和SSA进行对比,以文献[1]中表1的F1、F6、F8(单峰函数/30维)、F10、F13、F18(多峰函数/30维)为例,实验设置种群规模为30,最大迭代次数为500,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
BOA:最差值: 8.7074e-11, 最优值: 6.1757e-11, 平均值: 7.7261e-11, 标准差: 5.9527e-12, 秩和检验: 1.2118e-12
HHO:最差值: 1.1413e-90, 最优值: 2.925e-112, 平均值: 3.8445e-92, 标准差: 2.0831e-91, 秩和检验: 1.2118e-12
SCA:最差值: 87.8156, 最优值: 0.003647, 平均值: 9.6636, 标准差: 20.4356, 秩和检验: 1.2118e-12
GWO:最差值: 8.0169e-27, 最优值: 2.0466e-29, 平均值: 1.1797e-27, 标准差: 1.6876e-27, 秩和检验: 1.2118e-12
SSA:最差值: 2.1989e-06, 最优值: 2.3833e-08, 平均值: 2.5419e-07, 标准差: 4.2315e-07, 秩和检验: 1.2118e-12
VGHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F6
BOA:最差值: 8.38e-11, 最优值: 6.1137e-11, 平均值: 6.814e-11, 标准差: 5.1676e-12, 秩和检验: 1.2118e-12
HHO:最差值: 3.132e-95, 最优值: 1.2621e-115, 平均值: 1.2207e-96, 标准差: 5.7433e-96, 秩和检验: 1.2118e-12
SCA:最差值: 51.4736, 最优值: 0.00070649, 平均值: 2.8006, 标准差: 9.4694, 秩和检验: 1.2118e-12
GWO:最差值: 8.2647e-28, 最优值: 5.7949e-30, 平均值: 1.2943e-28, 标准差: 1.5238e-28, 秩和检验: 1.2118e-12
SSA:最差值: 10.5258, 最优值: 0.049281, 平均值: 1.8377, 标准差: 2.1058, 秩和检验: 1.2118e-12
VGHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F8
BOA:最差值: 7.9527e-11, 最优值: 5.0019e-11, 平均值: 6.5226e-11, 标准差: 7.9895e-12, 秩和检验: 1.2118e-12
HHO:最差值: 7.1174e-87, 最优值: 2.3134e-107, 平均值: 2.373e-88, 标准差: 1.2994e-87, 秩和检验: 1.2118e-12
SCA:最差值: 9754.8256, 最优值: 4.7054, 平均值: 1436.5588, 标准差: 2158.5268, 秩和检验: 1.2118e-12
GWO:最差值: 6.1218e-23, 最优值: 5.8953e-26, 平均值: 4.41e-24, 标准差: 1.1125e-23, 秩和检验: 1.2118e-12
SSA:最差值: 32320853.9148, 最优值: 2412230.0348, 平均值: 11185842.4919, 标准差: 6845128.8024, 秩和检验: 1.2118e-12
VGHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F10
BOA:最差值: 3.554e-08, 最优值: 1.5905e-08, 平均值: 2.795e-08, 标准差: 4.8054e-09, 秩和检验: 1.2118e-12
HHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
SCA:最差值: 20.3275, 最优值: 0.041294, 平均值: 12.9629, 标准差: 8.8587, 秩和检验: 1.2118e-12
GWO:最差值: 1.4655e-13, 最优值: 7.5495e-14, 平均值: 9.764e-14, 标准差: 1.6992e-14, 秩和检验: 1.1064e-12
SSA:最差值: 4.122, 最优值: 1.3404, 平均值: 2.5117, 标准差: 0.63971, 秩和检验: 1.2118e-12
VGHHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
函数:F13
BOA:最差值: 8.6836e-11, 最优值: 2.6116e-18, 平均值: 7.9614e-12, 标准差: 2.0354e-11, 秩和检验: 1.2118e-12
HHO:最差值: 9.1833e-90, 最优值: 1.424e-115, 平均值: 3.0611e-91, 标准差: 1.6766e-90, 秩和检验: 1.2118e-12
SCA:最差值: 26.9776, 最优值: 0.4427, 平均值: 6.8765, 标准差: 5.6672, 秩和检验: 1.2118e-12
GWO:最差值: 9.7949e-21, 最优值: 3.8654e-28, 平均值: 3.2806e-22, 标准差: 1.788e-21, 秩和检验: 1.2118e-12
SSA:最差值: 124.5401, 最优值: 26.8674, 平均值: 66.6608, 标准差: 23.8924, 秩和检验: 1.2118e-12
VGHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F18
BOA:最差值: 6.1343e-10, 最优值: 1.858e-11, 平均值: 2.9567e-10, 标准差: 1.6403e-10, 秩和检验: 1.2118e-12
HHO:最差值: 9.5378e-271, 最优值: 0, 平均值: 3.1793e-272, 标准差: 0, 秩和检验: 8.8658e-07
SCA:最差值: 0.0070985, 最优值: 2.0696e-07, 平均值: 0.00067805, 标准差: 0.0014976, 秩和检验: 1.2118e-12
GWO:最差值: 3.0254e-62, 最优值: 1.7843e-72, 平均值: 1.0302e-63, 标准差: 5.52e-63, 秩和检验: 1.2118e-12
SSA:最差值: 3.5642e-07, 最优值: 3.7009e-15, 平均值: 3.8616e-08, 标准差: 9.6042e-08, 秩和检验: 1.2118e-12
VGHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN

实验结果表明:在大多数经典基准函数上,VGHHO算法比其他算法具有更高的精度和更好的可扩展性。

三、参考文献

[1] Long, W., Jiao, J., Liang, X. et al. A velocity-guided Harris hawks optimizer for function optimization and fault diagnosis of wind turbine[J]. Artificial Intelligence Review, 2022.

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
哈里斯鹰优化算法Harris' Hawk Optimization Algorithm)是一种基于鹰的行为模式的优化算法,用于解决优化问题。它模拟了鹰群中的合作和竞争行为,通过合理的协作和竞争策略来搜索最优解。 以下是哈里斯鹰优化算法的基本步骤: 1. 初始化种群:随机生成一定数量的个体作为初始种群。 2. 评估适应度:根据问题的适应度函数,计算每个个体的适应度值。 3. 选择领导者:根据适应度值选择一个领导者个体。 4. 更新位置:根据领导者个体的位置和其他个体的位置,更新每个个体的位置。 5. 更新适应度:根据新的位置,重新计算每个个体的适应度值。 6. 判断终止条件:如果满足终止条件(例如达到最大迭代次数或找到满意的解),则停止算法;否则返回步骤3。 在Python中实现哈里斯鹰优化算法,可以按照以下步骤进行: 1. 定义问题的适应度函数。 2. 初始化种群,随机生成一定数量的个体。 3. 根据适应度函数计算每个个体的适应度值。 4. 选择领导者个体,可以根据适应度值选择最优个体作为领导者。 5. 更新每个个体的位置,可以根据领导者个体的位置和其他个体的位置进行更新。 6. 根据新的位置重新计算每个个体的适应度值。 7. 判断终止条件,如果满足条件则停止算法,否则返回步骤4。 这是一个简单的介绍,如果你需要更详细的实现代码或者其他相关信息,请告诉我。以下是一些相关问题:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值