基于多策略改进的哈里斯鹰优化算法

一、理论基础

1、哈里斯鹰优化算法

哈里斯鹰优化算法(Harris Hawks Optimization, HHO)模仿哈里斯鹰捕食猎物的真实情况,用数学公式来模拟哈里斯鹰在不同机制下捕捉猎物的策略。在HHO中,哈里斯鹰是候选解,猎物(兔子)随迭代逼近最优解。HHO算法包括两个阶段,分别为全局探索阶段和局部开发阶段。

1.1 全局探索阶段

在HHO中,哈里斯鹰随机栖息在一些地点,并根据两种策略等待发现猎物。 X ( t + 1 ) = { X r a n d ( t ) − r 1 ∣ X r a n d ( t ) − 2 r 2 X ( t ) ∣      q ≥ 0.5 ( X r a b b i t ( t ) − X m ( t ) ) − r 3 ( L B + r 4 ( U B − L B ) ) q < 0.5 (1) X(t+1)=\begin{dcases}X_{rand}(t)-r_1|X_{rand}(t)-2r_2X(t)|\quad\quad\quad\quad\quad\quad\,\,\,\, q≥0.5\\(X_{rabbit}(t)-X_m(t))-r_3(LB+r_4(UB-LB))\quad q<0.5\end{dcases}\tag{1} X(t+1)={Xrand(t)r1Xrand(t)2r2X(t)q0.5(Xrabbit(t)Xm(t))r3(LB+r4(UBLB))q<0.5(1)其中, X ( t + 1 ) X(t+1) X(t+1)是第 t + 1 t+1 t+1次迭代时哈里斯鹰的位置, X r a b b i t ( t ) X_{rabbit}(t) Xrabbit(t)表示第 t t t次迭代时的猎物, r 1 , r 2 , r 3 , r 4 , q r_1,r_2,r_3,r_4,q r1,r2,r3,r4,q均为 ( 0 , 1 ) (0,1) (0,1)之间的随机数;在每次迭代中更新中, L B LB LB U B UB UB表示变量的上下界, X r a n d ( t ) X_{rand}(t) Xrand(t)是从当前种群中随机选择的一只鹰, X m ( t ) X_m(t) Xm(t)是当前鹰种群的平均位置。鹰的平均位置是通过式(2)得到的: X m ( t ) = 1 N ∑ i = 1 N X i ( t ) (2) X_m(t)=\frac1N\sum_{i=1}^NX_i(t)\tag{2} Xm(t)=N1i=1NXi(t)(2)其中, X i ( t ) X_i(t) Xi(t)表示第 t t t次迭代第 i i i个哈里斯鹰的位置, N N N表示哈里斯鹰的总数。

1.2 过渡阶段

为了模拟这一步,兔子的能量被模拟为: E = 2 E 0 ( 1 − t T ) (3) E=2E_0(1-\frac tT)\tag{3} E=2E0(1Tt)(3)其中, E E E表示猎物逃跑的能量, T T T表示最大迭代次数, E 0 E_0 E0表示其能量的初始状态,计算公式为 E 0 = 2 ∗ r a n d − 1 E_0=2*rand-1 E0=2rand1 r a n d rand rand是区间 ( 0 , 1 ) (0,1) (0,1)上的随机数。

1.3 局部开发阶段

1.3.1 软围攻

位置更新公式为: X ( t + 1 ) = Δ X ( t ) − E ∣ J X r a b b i t ( t ) − X ( t ) ∣ (4) X(t+1)=\Delta X(t)-E|JX_{rabbit}(t)-X(t)|\tag{4} X(t+1)=ΔX(t)EJXrabbit(t)X(t)(4) Δ X ( t ) = X r a b b i t ( t ) − X ( t ) (5) \Delta X(t)=X_{rabbit}(t)-X(t)\tag{5} ΔX(t)=Xrabbit(t)X(t)(5)其中, Δ X ( t ) \Delta X(t) ΔX(t)是迭代时哈里斯鹰与猎物的位置之差, J = 2 ( 1 − r 5 ) J=2(1-r_5) J=2(1r5)表示猎物逃脱围捕过程中的随机跳跃力量, r 5 r_5 r5是区间 ( 0 , 1 ) (0,1) (0,1)上的随机数。

1.3.2 硬围攻

在这种情况下,使用公式(6)更新当前位置: X ( t + 1 ) = X r a b b i t ( t ) − E ∣ Δ X ( t ) ∣ (6) X(t+1)=X_{rabbit}(t)-E|\Delta X(t)|\tag{6} X(t+1)=Xrabbit(t)E∣ΔX(t)(6)

1.3.3 累速俯冲式软围攻

为了进行软围攻,假设鹰可以根据公式(7)中的以下规则评估其下一步行动: Y = X r a b b i t ( t ) − E ∣ J X r a b b i t − X ( t ) ∣ (7) Y=X_{rabbit}(t)-E|JX_{rabbit}-X(t)|\tag{7} Y=Xrabbit(t)EJXrabbitX(t)(7)假设它们将根据基于莱维飞行的机制潜水,使用以下规则: Z = Y + S × L F ( D ) (8) Z=Y+S×LF(D)\tag{8} Z=Y+S×LF(D)(8)其中, D D D是问题的维数, S S S是大小为 1 × D 1×D 1×D的随机向量, L F LF LF是莱维飞行函数,使用公式(9)计算: L F ( x ) = 0.01 × μ × σ ∣ v ∣ 1 β , σ = ( Γ ( 1 + β ) × sin ⁡ ( π β 2 ) Γ ( 1 + β 2 ) × β × 2 β − 1 2 ) 1 β (9) LF(x)=0.01×\frac{\mu×\sigma}{|v|^{\frac1\beta}},\sigma=\left(\frac{\Gamma(1+\beta)×\sin(\frac{\pi\beta}{2})}{\Gamma(\frac{1+\beta}{2})×\beta×2^{\frac{\beta-1}{2}}}\right)^{\frac1\beta}\tag{9} LF(x)=0.01×vβ1μ×σ,σ=(Γ(21+β)×β×22β1Γ(1+β)×sin(2πβ))β1(9)其中, u , v u,v u,v ( 0 , 1 ) (0,1) (0,1)内的随机值, β \beta β是设置为1.5的默认常量。
因此,在软包围阶段更新鹰队位置的最终策略可由式(10)执行: X ( t + 1 ) = { Y , F ( Y ) < F ( X ( t ) ) Z , F ( Z ) < F ( X ( t ) ) (10) X(t+1)=\begin{dcases}Y,\quad F(Y)<F(X(t))\\Z,\quad F(Z)<F(X(t))\end{dcases}\tag{10} X(t+1)={Y,F(Y)<F(X(t))Z,F(Z)<F(X(t))(10)

1.3.4 累速俯冲式硬围攻

哈里斯鹰在突袭前构建硬围攻捕捉猎物,位置更新如下: X ( t + 1 ) = { Y , F ( Y ) < F ( X ( t ) ) Z , F ( Z ) < F ( X ( t ) ) (11) X(t+1)=\begin{dcases}Y,\quad F(Y)<F(X(t))\\Z,\quad F(Z)<F(X(t))\end{dcases}\tag{11} X(t+1)={Y,F(Y)<F(X(t))Z,F(Z)<F(X(t))(11)其中, Y = X r a b b i t ( t ) − E ∣ J X r a b b i t ( t ) − X m ( t ) ∣ (12) Y=X_{rabbit}(t)-E|JX_{rabbit}(t)-X_m(t)|\tag{12} Y=Xrabbit(t)EJXrabbit(t)Xm(t)(12) Z = Y + S × L F ( D ) (13) Z=Y+S×LF(D)\tag{13} Z=Y+S×LF(D)(13)其中, X m ( t ) X_m(t) Xm(t)通过式(2)得到。

1.4 HHO算法伪代码

在这里插入图片描述

图1 HHO算法伪代码

2、多策略改进哈里斯鹰优化算法

2.1 柯西变异

针对HHO算法易陷入局部最优值的问题,利用柯西(Cauchy)分布函数增加哈里斯鹰种群多样性,增加搜索空间,提高HHO算法的全局搜索能力。标准柯西分布函数公式如下: f ( x ) = 1 π ( 1 x 2 + 1 ) (14) f(x)=\frac1\pi(\frac1{x^2+1})\tag{14} f(x)=π1(x2+11)(14)柯西变异的数学模型为获得当前全局最优解 X best X_{\text{best}} Xbest后以下列公式更新最优解: X best ′ = X best + X best × C a u c h y ( 0 , 1 ) (15) X_{\text{best}}'=X_{\text{best}}+X_{\text{best}}×Cauchy(0,1)\tag{15} Xbest=Xbest+Xbest×Cauchy(0,1)(15)

2.2 随机收缩指数函数

本文提出修正能量线性递减调控机制,将随机收缩指数函数融入猎物能量 E E E的递减过程,其对应的能量方程为: E = 2 E 0 ( 2 r a n d × e x p ( − ( π 2 × t T ) ) ) (16) E=2E_0(2rand×exp(-(\frac\pi2×\frac tT)))\tag{16} E=2E0(2rand×exp((2π×Tt)))(16)

2.3 自适应权重

本文引入了一种自适应权重方法,在四种围捕机制中,哈里斯鹰搜寻猎物时,猎物会使用较小的自适应权重更新位置,提高哈里斯鹰算法局部寻优能力。自适应权重公式和猎物位置更新如式(17)、(18)所示: ω = sin ⁡ ( π × t 2 T + π ) + 1 (17) \omega=\sin\left(\frac{\pi×t}{2T}+\pi\right)+1\tag{17} ω=sin(2Tπ×t+π)+1(17) X r a b b i t ′ = ω × X r a b b i t (18) X'_{rabbit}=\omega×X_{rabbit}\tag{18} Xrabbit=ω×Xrabbit(18)其中, T T T为最大迭代次数, t t t为当前迭代次数。通过融合自适应权重因子 ω \omega ω,使MHHO算法具有更好的局部开发能力。

2.4 改进算法的执行流程

多策略改进的哈里斯鹰算法(MHHO),从多方面增强哈里斯鹰算法的寻优性能,算法流程如图2所示。
在这里插入图片描述

图2 MHHO算法的流程图

二、仿真实验和结果分析

为了验证本文MHHO算法改进的有效性,本文对算法性能在8个测试函数(文献[3]表1所示)上进行了试验,蝴蝶算法(BOA)、鲸鱼优化算法(WOA)、基本哈里斯鹰算法(HHO)、 多策略改进的哈里斯鹰算法(MHHO)在各个标准测试函数上独立运行30次。为了体现实验的公平性和客观性,所有算法种群规模 N N N设为30,最大迭代次数 T T T设为500,四种算法共有参数保持一致。以F1、F3、F5、F8为例。
结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
BOA:平均值:1.2909e-11,标准差:6.8294e-13,最差值: 1.4348e-11,最优值:1.1895e-11
WOA:平均值:8.032e-75,标准差:2.41e-74,最差值: 1.0493e-73,最优值:6.714e-87
HHO:平均值:4.2726e-97,标准差:2.3315e-96,最差值: 1.2772e-95,最优值:9.9455e-112
MHHO:平均值:0,标准差:0,最差值: 0,最优值:0
函数:F3
BOA:平均值:1.2806e-11,标准差:1.0227e-12,最差值: 1.4702e-11,最优值:1.1399e-11
WOA:平均值:45886.9345,标准差:14356.8554,最差值: 75751.802,最优值:18384.0313
HHO:平均值:3.0356e-78,标准差:1.608e-77,最差值: 8.8155e-77,最优值:8.3566e-108
MHHO:平均值:0,标准差:0,最差值: 0,最优值:0
函数:F5
BOA:平均值:4.7679e-12,标准差:2.5497e-12,最差值: 1.181e-11,最优值:9.5879e-13
WOA:平均值:0.0052781,标准差:0.028909,最差值: 0.15834,最优值:0
HHO:平均值:0,标准差:0,最差值: 0,最优值:0
MHHO:平均值:0,标准差:0,最差值: 0,最优值:0
函数:F8
BOA:平均值:2.7028e-10,标准差:8.1325e-10,最差值: 4.4324e-09,最优值:1.0436e-14
WOA:平均值:5.0332e-05,标准差:0.00027568,最差值: 0.00151,最优值:0
HHO:平均值:0,标准差:0,最差值: 0,最优值:0
MHHO:平均值:0,标准差:0,最差值: 0,最优值:0

结果表明,融合三种改进策略较好地提升了算法的寻优能力和鲁棒性。

三、参考文献

[1] Ali Asghar Heidari, Seyedali Mirjalili, Hossam Faris, et al. Harris hawks optimization: Algorithm and applications[J]. Future Generation Computer Systems, 2019, 97: 849-872.
[2] 郭雨鑫, 刘升, 高文欣, 等. 精英反向学习与黄金正弦优化的HHO算法[J]. 计算机工程与应用, 2022, 58(10): 153-161.
[3] 郭雨鑫, 刘升, 高文欣, 等. 多策略改进哈里斯鹰优化算法[J]. 微电子学与计算机, 2021, 38(7): 18-24.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值