文章目录
一、理论基础
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)−r1∣Xrand(t)−2r2X(t)∣q≥0.5(Xrabbit(t)−Xm(t))−r3(LB+r4(UB−LB))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=1∑NXi(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(1−Tt)(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=2∗rand−1, 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)−E∣JXrabbit(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(1−r5)表示猎物逃脱围捕过程中的随机跳跃力量, 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)−E∣JXrabbit−X(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)−E∣JXrabbit(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算法伪代码
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所示。
二、仿真实验和结果分析
为了验证本文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.