文章目录
一、理论基础
1、哈里斯鹰优化算法(HHO)
请参考这里。
2、结合高斯变异和维数决策逻辑的哈里斯鹰优化算法(GCHHO)
本节将说明如何改进原始HHO以增强原始算法的搜索性能。原始算法的缺点主要是由于探索和开发之间的不平衡导致搜索性能下降。因此,引入了两种机制来改善这种平衡,即高斯变异机制和布谷鸟搜索机制。
(1)高斯变异
高斯变异(Gaussian mutation, GM)是一种优化策略,它使用服从正态分布的随机数作用于原始位置向量以生成新位置。大多数变异算子分布在原始位置周围,这相当于在小范围内执行邻域搜索。这种变异不仅提高了优化算法的优化精度,而且有利于算法跳出局部最优区域。同时,少数算子远离当前位置,增强了种群的多样性,有利于更好地搜索潜在区域,从而提高搜索速度,加快优化算法的收敛趋势。高斯概率密度公式如下所示: f ( x ) = 1 2 π σ exp ( − ( x − μ ) 2 2 σ 2 ) (1) f(x)=\frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)\tag{1} f(x)=2πσ1exp(−2σ2(x−μ)2)(1)其中, μ \mu μ表示分布的平均值或期望值, σ \sigma σ表示标准差。特别地,标准高斯概率密度种的 μ \mu μ和 σ \sigma σ分别设置为0和1。为了充分考虑当前种群的特征,随机选择种群中的两个位置,并利用二者的差值与高斯分布算子进行交互,以形成所提出的高斯变异算子。高斯变异的表达式如下所示: O = G ( ζ ) ⋅ ( X r a n d , 1 D − X r a n d , 2 D ) (2) O=G(\zeta)\cdot\left(X_{\rm rand,1}^D-X_{\rm rand,2}^D\right)\tag{2} O=G(ζ)⋅(Xrand,1D−Xrand,2D)(2)其中, G ( ζ ) G(\zeta) G(ζ)是由式(1)的概率密度形成的高斯分布, ζ ∈ [ 0 , 1 ] \zeta\in[0,1] ζ∈[0,1], X r a n d , 1 D X_{\rm rand,1}^D Xrand,1D和 X r a n d , 2 D X_{\rm rand,2}^D Xrand,2D分别表示在群体中随机选择的两个鹰的位置信息, O O O表示上述提出的高斯变异算子,每个算子包含 D D D维。
(2)布谷鸟搜索中的维数决策逻辑
布谷鸟搜索是一种启发式算法,模仿布谷鸟的孵卵和移动行为。布谷鸟的蛋将被放在其他的鸟舍里,是否找到一个新的鸟舍将取决于它们能否成功地伪装它们的蛋而不被发现。从CS的特性可以看出,通过将其引入基本HHO,位置向量上的某些维度的数据可以通过孵卵策略进行随机变异,从而使变异后的位置向量仍然保持原始位置的优越特性。判断是否能找到鸟蛋的公式如下:
k
=
J
u
d
g
e
D
>
θ
(3)
k=Judge^D>\theta\tag{3}
k=JudgeD>θ(3)其中,
J
u
d
g
e
D
Judge^D
JudgeD是一行
D
D
D维随机数,
θ
\theta
θ是用于决定是否放弃当前鸟巢的概率,
k
k
k表示将所判断的每个维度与
θ
\theta
θ进行比较的结果,用于决定数据的哪个维度将发生变异。
当鸟巢的主人发现了这些外来的蛋时,布谷鸟会随机地走到下一个被认为是昂贵的地方。布谷鸟的随机运动策略如下所示:
C
=
k
⋅
L
F
(
D
)
(4)
C=k\cdot LF(D)\tag{4}
C=k⋅LF(D)(4)其中,
C
C
C是CS算子,
k
k
k确定向量的哪个维度将被变异,
L
F
LF
LF是Levy飞行公式,其定义已在原始HHO中解释。
(3)提出的GCHHO
在本小节中,将高斯变异策略和布谷鸟搜索机制引入原始HHO,即GCHHO。具体来说,在HHO正常执行后,根据上述两种机制,随机选择群体中的两个个体,根据两个个体之间的差别产生变异。然后,加入当前搜索位置以获得新的位置向量。最后,我们比较了新的和旧的位置向量,并保留了更好的位置向量。该过程的计算公式如下所示:
X
n
e
w
=
X
r
a
w
+
O
⋅
C
(5)
X_{\rm new}=X_{\rm raw}+O\cdot C\tag{5}
Xnew=Xraw+O⋅C(5)
X
(
t
+
1
)
=
{
X
n
e
w
if
F
(
X
n
e
w
)
<
F
(
X
r
a
w
)
X
r
a
w
e
l
s
e
(6)
X(t+1)=\begin{dcases}X_{\rm new}\quad \text{if}\,\,F(X_{\rm new})<F(X_{\rm raw})\\X_{\rm raw}\quad \rm else\end{dcases}\tag{6}
X(t+1)={XnewifF(Xnew)<F(Xraw)Xrawelse(6)其中,
X
r
a
w
X_{\rm raw}
Xraw表示原始HHO的搜索结果,
X
n
e
w
X_{\rm new}
Xnew表示变异操作后的新位置,
O
O
O和
C
C
C分别由式(2)和(4)计算得出,
F
F
F表示适应度函数。所提出算法的流程图如图1所示。
从图1可以看出,添加的机制在原始算法搜索可行解之后重新处理位置信息。它巧妙地结合了上述两种策略,不仅增加了种群的多样性,而且提高了求解过程的效率;同时,改进后的算法并没有使原算法的结构复杂化。总体上,GCHHO的伪码描述如图2所示。
二、仿真实验与结果分析
将GCHHO与HHO、WOA、MFO和SCA进行对比,设置种群规模为30,最大迭代次数为10000,以文献[1]中IEEE CEC 2017[2]测试函数F1、F3、F8、F9、F16、F17、F25、F29为例,维度为30,结果显示如下:
函数:F1
GCHHO:最优值: 3094.4157
HHO:最优值: 16567401942.9725
WOA:最优值: 5017175.8812
MFO:最优值: 16017630721.743
SCA:最优值: 15157270395.9507
函数:F3
GCHHO:最优值: 2997.2357
HHO:最优值: 68813.1388
WOA:最优值: 212257.0996
MFO:最优值: 94199.1229
SCA:最优值: 34791.7194
函数:F8
GCHHO:最优值: 936.3087
HHO:最优值: 1026.8504
WOA:最优值: 988.3895
MFO:最优值: 1019.5817
SCA:最优值: 1036.5593
函数:F9
GCHHO:最优值: 4901.9067
HHO:最优值: 5744.7218
WOA:最优值: 12309.0445
MFO:最优值: 5715.0659
SCA:最优值: 5749.6204
函数:F16
GCHHO:最优值: 2916.2254
HHO:最优值: 3452.4407
WOA:最优值: 3621.7162
MFO:最优值: 2995.4419
SCA:最优值: 3714.009
函数:F17
GCHHO:最优值: 2648.3002
HHO:最优值: 2813.1504
WOA:最优值: 2328.3612
MFO:最优值: 2183.7633
SCA:最优值: 2386.896
函数:F25
GCHHO:最优值: 2899.2562
HHO:最优值: 3361.8303
WOA:最优值: 2908.9673
MFO:最优值: 2962.4549
SCA:最优值: 3178.4707
函数:F29
GCHHO:最优值: 4011.1331
HHO:最优值: 7438.1632
WOA:最优值: 4265.6218
MFO:最优值: 3841.2102
SCA:最优值: 4926.7322
实验结果表明:GCHHO与原始HHO以及其他成熟的优化算法相比,具有优异的性能。
三、参考文献
[1] Shiming Song, Pengjun Wang, Ali Asghar Heidari, et al. Dimension decided Harris hawks optimization with Gaussian mutation: Balance analysis and diversity patterns[J]. Knowledge-Based Systems, 2020, 215: 106425.
[2] Guohua Wu, R. Mallipeddi, P. N. Suganthan. Problem Definitions and Evaluation Criteria for the CEC 2017 Competition and Special Session on Constrained Single Objective Real-Parameter Optimization[R]. Technical Report, Nanyang Technological University, Singapore, November 2016. (Single objective, constrained case)