一、理论基础
1、哈里斯鹰优化算法(HHO)
请参考这里。
2、非线性的混沌哈里斯鹰优化算法(NCHHO)
NCHHO主要是通过两种方式提高基本HHO算法的性能:第一种是将HHO与混沌映射相结合,第二种是使用非线性控制参数作为探索和开发阶段之间的调整算子。基本HHO使用混沌映射的行为来提高算法探索搜索空间的强度,同时使用非线性控制参数通过调整探索和开发阶段来改进HHO的性能。
使用混沌映射值的主要目的是在探索阶段为NCHHO生成的值,而不是随机值。与原始算法相比,在所提出的方法中使用混沌加快了其性能。考虑到这些优点,在HHO探索阶段之前,使用混沌值。因此,HHO全局探索阶段位置更新公式改进如下:
X
i
(
t
+
1
)
=
{
X
r
a
n
d
(
t
)
−
c
m
1
∣
X
r
a
n
d
(
t
)
−
2
c
m
2
X
i
(
t
)
∣
q
≥
0.5
(
X
∗
(
t
)
−
X
m
(
t
)
)
−
c
m
3
(
l
b
+
c
m
4
(
u
b
−
l
b
)
)
q
<
0.5
(1)
X_i(t+1)=\begin{dcases}X_{rand}(t)-cm_1|X_{rand}(t)-2cm_2Xi(t)|\quad\quad\,\,\,\,\, q≥0.5\\(X^*(t)-X_m(t))-cm_3(lb+cm_4(ub-lb))\quad q<0.5\end{dcases}\tag{1}
Xi(t+1)={Xrand(t)−cm1∣Xrand(t)−2cm2Xi(t)∣q≥0.5(X∗(t)−Xm(t))−cm3(lb+cm4(ub−lb))q<0.5(1)其中,
c
m
cm
cm是基于在每次迭代中生成的选定映射的混沌数,本文选择Sine映射。
探索和开发水平不仅受各种潜在解决方案的影响,还受不同算子的控制,这些算子在不同阶段控制搜索强度。虽然混沌值的使用改善了HHO的探索阶段,但为了获得合理的结果,在元启发式方法的探索和开发阶段之间取得平衡是非常重要的。因此,改进的HHO算法中使用了一个非线性控制参数,以平衡探索和开发,该参数定义如下:
c
=
2
e
−
(
8
t
T
)
2
(2)
c=2e^{-\left(\frac{8t}T\right)^2}\tag{2}
c=2e−(T8t)2(2)其中,
t
t
t是当前迭代次数,
T
T
T是最大迭代次数。
累速俯冲式软围攻公式更新如下:
X
i
(
t
+
1
)
=
{
Y
(
t
)
i
f
F
(
Y
(
t
)
)
<
F
(
X
i
(
t
)
)
Z
(
t
)
i
f
F
(
Z
(
t
)
)
<
F
(
X
i
(
t
)
)
(3)
X_i(t+1)=\begin{dcases}Y(t)\quad if\,\,F(Y(t))<F(X_i(t))\\Z(t)\quad if\,\,F(Z(t))<F(X_i(t))\end{dcases}\tag{3}
Xi(t+1)={Y(t)ifF(Y(t))<F(Xi(t))Z(t)ifF(Z(t))<F(Xi(t))(3)
Y
(
t
)
=
c
X
∗
(
t
)
−
E
∣
J
×
X
∗
(
t
)
−
X
i
(
t
)
∣
(4)
Y(t)=cX^*(t)-E|J\times X^*(t)-X_i(t)|\tag{4}
Y(t)=cX∗(t)−E∣J×X∗(t)−Xi(t)∣(4)
Z
(
t
)
=
c
Y
(
t
)
+
S
×
L
F
(
D
)
(5)
Z(t)=cY(t)+S\times LF(D)\tag{5}
Z(t)=cY(t)+S×LF(D)(5)累速俯冲式硬围攻公式更新如下:
X
i
(
t
+
1
)
=
{
Y
′
(
t
)
i
f
F
(
Y
′
(
t
)
)
<
F
(
X
i
(
t
)
)
Z
′
(
t
)
i
f
F
(
Z
′
(
t
)
)
<
F
(
X
i
(
t
)
)
(6)
X_i(t+1)=\begin{dcases}Y'(t)\quad if\,\,F(Y'(t))<F(X_i(t))\\Z'(t)\quad if\,\,F(Z'(t))<F(X_i(t))\end{dcases}\tag{6}
Xi(t+1)={Y′(t)ifF(Y′(t))<F(Xi(t))Z′(t)ifF(Z′(t))<F(Xi(t))(6)
Y
′
(
t
)
=
c
X
∗
(
t
)
−
E
∣
J
×
X
∗
(
t
)
−
X
m
(
t
)
∣
(7)
Y'(t)=cX^*(t)-E|J\times X^*(t)-X_m(t)|\tag{7}
Y′(t)=cX∗(t)−E∣J×X∗(t)−Xm(t)∣(7)
Z
′
(
t
)
=
c
Y
′
(
t
)
+
S
×
L
F
(
D
)
(8)
Z'(t)=cY'(t)+S\times LF(D)\tag{8}
Z′(t)=cY′(t)+S×LF(D)(8)NCHO算法在理论上的计算复杂度与HHO算法相同,因为主要使用混沌映射和非线性参数来代替随机值。因此,在不增加算法计算量的情况下进行了改进。
NCHHO算法的伪代码如下图所示:
二、仿真实验与结果分析
将NCHHO与HHO、MVO、MFO、SSA和GWO进行对比,实验设置种群规模为30,最大迭代次数为500,每个算法独立运行30次,以文献[1]中F1、F2(30维/单峰函数)、F11、F12(30维/多峰函数)、F20、F21(6维、4维/固定维度多峰函数)为例,结果显示如下:
函数:F1
HHO:最差值: 4.7004e-93, 最优值: 1.8802e-117, 平均值: 1.5692e-94, 标准差: 8.5813e-94, 秩和检验: 1.2118e-12
NCHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
MVO:最差值: 2.0452, 最优值: 0.53859, 平均值: 1.2, 标准差: 0.3897, 秩和检验: 1.2118e-12
MFO:最差值: 20000.5778, 最优值: 0.81471, 平均值: 3005.4523, 标准差: 5347.5923, 秩和检验: 1.2118e-12
SSA:最差值: 3.2801e-07, 最优值: 4.5204e-08, 平均值: 1.2821e-07, 标准差: 8.1041e-08, 秩和检验: 1.2118e-12
GWO:最差值: 1.8912e-26, 最优值: 5.4755e-29, 平均值: 1.9138e-27, 标准差: 3.8175e-27, 秩和检验: 1.2118e-12
函数:F2
HHO:最差值: 1.256e-49, 最优值: 3.3845e-59, 平均值: 6.5444e-51, 标准差: 2.4587e-50, 秩和检验: 3.0199e-11
NCHHO:最差值: 2.5196e-224, 最优值: 1.1431e-243, 平均值: 1.8234e-225, 标准差: 0, 秩和检验: 1
MVO:最差值: 53.8984, 最优值: 0.47752, 平均值: 4.6101, 标准差: 11.6499, 秩和检验: 3.0199e-11
MFO:最差值: 70.0088, 最优值: 0.07491, 平均值: 36.0947, 标准差: 20.7238, 秩和检验: 3.0199e-11
SSA:最差值: 9.1289, 最优值: 0.039426, 平均值: 1.9297, 标准差: 1.9047, 秩和检验: 3.0199e-11
GWO:最差值: 4.0088e-16, 最优值: 1.8523e-17, 平均值: 1.2412e-16, 标准差: 9.5235e-17, 秩和检验: 3.0199e-11
函数:F11
HHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
NCHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
MVO:最差值: 1.0175, 最优值: 0.70789, 平均值: 0.87659, 标准差: 0.079521, 秩和检验: 1.2118e-12
MFO:最差值: 91.0084, 最优值: 0.53563, 平均值: 9.9526, 标准差: 27.4152, 秩和检验: 1.2118e-12
SSA:最差值: 0.062, 最优值: 0.0003254, 平均值: 0.019851, 标准差: 0.014157, 秩和检验: 1.2118e-12
GWO:最差值: 0.046356, 最优值: 0, 平均值: 0.0030708, 标准差: 0.0094746, 秩和检验: 0.041926
函数:F12
HHO:最差值: 2.0305e-05, 最优值: 1.1182e-07, 平均值: 4.6835e-06, 标准差: 4.6871e-06, 秩和检验: 4.084e-05
NCHHO:最差值: 5.365e-06, 最优值: 1.2678e-08, 平均值: 1.0281e-06, 标准差: 1.3341e-06, 秩和检验: 1
MVO:最差值: 4.4017, 最优值: 0.062592, 平均值: 1.9771, 标准差: 1.043, 秩和检验: 3.0199e-11
MFO:最差值: 84467.7084, 最优值: 1.8699, 平均值: 2824.0641, 标准差: 15420.0238, 秩和检验: 3.0199e-11
SSA:最差值: 15.743, 最优值: 2.3578, 平均值: 6.9041, 标准差: 3.2738, 秩和检验: 3.0199e-11
GWO:最差值: 0.10581, 最优值: 0.017165, 平均值: 0.049289, 标准差: 0.022836, 秩和检验: 3.0199e-11
函数:F20
HHO:最差值: -3.164, 最优值: -3.3219, 平均值: -3.2757, 标准差: 0.062019, 秩和检验: 1.7769e-10
NCHHO:最差值: -1.5654, 最优值: -3.2847, 平均值: -2.839, 标准差: 0.32453, 秩和检验: 1
MVO:最差值: -3.1784, 最优值: -3.322, 平均值: -3.2723, 标准差: 0.062096, 秩和检验: 1.6132e-10
MFO:最差值: -3.1376, 最优值: -3.322, 平均值: -3.218, 标准差: 0.057344, 秩和检验: 8.1803e-10
SSA:最差值: -3.1563, 最优值: -3.322, 平均值: -3.2391, 标准差: 0.065282, 秩和检验: 1.287e-09
GWO:最差值: -3.0313, 最优值: -3.322, 平均值: -3.2373, 标准差: 0.09928, 秩和检验: 5.9673e-09
函数:F21
HHO:最差值: -5.055, 最优值: -5.0552, 平均值: -5.0551, 标准差: 4.0653e-05, 秩和检验: 1.3594e-07
NCHHO:最差值: -5.0228, 最优值: -7.4811, 平均值: -5.1298, 标准差: 0.44417, 秩和检验: 1
MVO:最差值: -2.6305, 最优值: -10.1531, 平均值: -7.7107, 标准差: 2.9221, 秩和检验: 7.043e-07
MFO:最差值: -2.6305, 最优值: -10.1532, 平均值: -6.56, 标准差: 3.5201, 秩和检验: 0.088569
SSA:最差值: -2.6305, 最优值: -10.1532, 平均值: -7.4001, 标准差: 3.4952, 秩和检验: 0.0090688
GWO:最差值: -4.0926, 最优值: -10.1528, 平均值: -9.1074, 标准差: 2.1309, 秩和检验: 8.891e-10
实验结果表明:在大多数测试函数中,NCHHO与HHO和其他优化算法相比具有优越性。
三、参考文献
[1] Amin Abdollahi Dehkordi, Ali Safaa Sadiq, Seyedali Mirjalili, et al. Nonlinear-based Chaotic Harris Hawks Optimizer: Algorithm and Internet of Vehicles application[J]. Applied Soft Computing, 2021, 109: 107574.