请参考这里。
作为改善种群多样性的有效方法,反向学习(Opposition-based learning, OBL)策略被广泛应用于改进智能算法。OBL的主要思想是同时考虑候选解和反向解的相对优点,选择更好的解进入下一代种群,从而更好地提高算法的收敛速度和求解精度。
定义:设
X
=
(
x
1
,
x
2
,
⋯
,
x
D
)
X=(x_1,x_2,\cdots,x_D)
X=(x1,x2,⋯,xD)是
D
D
D维空间中的一个点,其中
x
j
∈
[
L
b
j
,
U
b
j
]
,
j
=
1
,
2
,
⋯
,
D
x_j\in[Lb_j,Ub_j],j=1,2,\cdots,D
xj∈[Lbj,Ubj],j=1,2,⋯,D,将
X
X
X的反向点设为
X
˘
=
(
x
˘
1
,
x
˘
2
,
⋯
,
x
˘
D
)
\breve X=(\breve x_1,\breve x_2,\cdots,\breve x_D)
X˘=(x˘1,x˘2,⋯,x˘D),准反向点设为
X
~
=
(
x
~
1
,
x
~
2
,
⋯
,
x
~
D
)
\tilde X=(\tilde x_1,\tilde x_2,\cdots,\tilde x_D)
X~=(x~1,x~2,⋯,x~D),准反射点设为
X
ˉ
=
(
x
ˉ
1
,
x
ˉ
2
,
⋯
,
x
ˉ
D
)
\bar X=(\bar x_1,\bar x_2,\cdots,\bar x_D)
Xˉ=(xˉ1,xˉ2,⋯,xˉD),其中:
x
˘
j
=
L
b
j
+
U
b
j
−
x
j
(1)
\breve x_j=Lb_j+Ub_j-x_j\tag{1}
x˘j=Lbj+Ubj−xj(1)
x
~
j
=
r
a
n
d
[
(
L
b
j
+
U
b
j
2
)
,
(
L
b
j
+
U
b
j
−
x
j
)
]
(2)
\tilde x_j=rand\left[\left(\frac{Lb_j+Ub_j}{2}\right),(Lb_j+Ub_j-x_j)\right]\tag{2}
x~j=rand[(2Lbj+Ubj),(Lbj+Ubj−xj)](2)
x
ˉ
j
=
r
a
n
d
[
(
L
b
j
+
U
b
j
2
)
,
x
j
]
(3)
\bar x_j=rand\left[\left(\frac{Lb_j+Ub_j}{2}\right),x_j\right]\tag{3}
xˉj=rand[(2Lbj+Ubj),xj](3)根据HHO算法开发阶段的四种更新方法,当
r
≥
0.5
,
∣
E
∣
≥
0.5
r\geq0.5,|E|\geq0.5
r≥0.5,∣E∣≥0.5时,鹰群个体需要在大范围内搜索以捕捉猎物。此时,为了扩大搜索范围,在使用原始公式进行位置更新后,对第
i
i
i个个体
X
i
o
l
d
(
t
+
1
)
X_i^{old}(t+1)
Xiold(t+1)采用准反向学习策略。因此,它在远离候选解的邻域中生成一个准反向解
X
~
i
(
t
+
1
)
\tilde X_i(t+1)
X~i(t+1)。贪婪选择策略用于从准反向解和原始个体中选择父代个体以进入下一代,如式(4)所示。
X
i
(
t
+
1
)
=
{
X
i
o
l
d
(
t
+
1
)
,
if
F
(
X
i
o
l
d
(
t
+
1
)
)
<
F
(
X
~
i
(
t
+
1
)
)
X
~
i
(
t
+
1
)
,
otherwise
(4)
X_i(t+1)=
本文提出对数非线性能量衰减策略,其对应的能量方程为:
a
(
t
)
=
1
−
ln
(
1
+
t
(
e
−
1
)
T
)
(6)
a(t)=1-\ln\left(1+\frac{t(e-1)}{T}\right)\tag{6}
a(t)=1−ln(1+Tt(e−1))(6)
E
=
2
E
0
a
(
t
)
(7)
E=2E_0a(t)\tag{7}
E=2E0a(t)(7)其中,
e
e
e是自然常数,
t
t
t是当前迭代次数,
T
T
T是最大迭代次数,
E
0
E_0
E0是初始逃逸能量。
随着迭代次数
t
t
t的增加,收敛因子
a
(
t
)
a(t)
a(t)从1非线性减小到0,
(
1
−
t
/
T
)
(1-t/T)
(1−t/T)和
a
(
t
)
a(t)
a(t)的变化曲线如图1所示。图1表明,与
(
1
−
t
/
T
)
(1-t/T)
(1−t/T)的线性变化相比,
a
(
t
)
a(t)
a(t)的非线性变化使其在迭代的早期下降较快,在后期下降较慢。由于HHO算法的种群多样性在迭代的早期更好,因此有必要在迭代的后期确保强大的局部开发能力。因此,本文给出的调整参数可以更好地满足早期探索和后期开发之间更稳定的过渡,使算法能够确保探索和开发之间的平衡,进一步提高HHO算法的收敛速度和求解精度。
为了提高HHO算法的收敛速度和计算精度,对当前最优解进行变异是一种简单有效的方法。操作的实质是在当前最优解的可见范围内进行精细开发,以实现当前开发范围内的进一步优化。无迹sigma点变换使用关于随机变量
x
ˉ
\bar x
xˉ的均值
x
x
x和方差
P
x
P_x
Px的信息来生成
2
D
+
1
2D+1
2D+1个点,用于估计随机变量
x
x
x给定函数的均值和方差。无迹sigma点的生成原理如式(8)所示:
{
ξ
0
′
=
x
ˉ
ξ
0
′
=
x
ˉ
+
(
(
D
+
κ
)
P
x
)
i
i
=
1
,
2
,
⋯
,
D
ξ
i
+
D
′
=
x
ˉ
−
(
(
D
+
κ
)
P
x
)
i
i
=
1
,
2
,
⋯
,
D
(8)
本文以当前最优个体的位置作为均值,以当前种群的方差作为域范围。UT生成的点位于超椭球体上,每个方向上的两个点与中心的距离相同。当前最优解的随机UT使同一方向上的点更加灵活,快速定位当前最优解以提高算法的计算精度。对当前种群的最优个体
X
∗
o
l
d
(
t
)
X_*^{old}(t)
X∗old(t)随机变异产生
2
D
+
1
2D+1
2D+1突变点,如式(9)所示。
{
X
0
′
=
X
∗
o
l
d
(
t
)
X
i
′
=
X
∗
o
l
d
(
t
)
+
r
(
(
D
+
κ
)
P
x
)
i
i
=
1
,
2
,
⋯
,
D
X
i
+
D
′
=
X
∗
o
l
d
(
t
)
−
r
(
(
D
+
κ
)
P
x
)
i
i
=
1
,
2
,
⋯
,
D
(9)
IHHO算法流程图如图2所示。
将IHHO与GWO、TSA、WOA和HHO进行对比,以常用23个测试函数中的F5、F6(单峰函数/30维)、F9、F10(多峰函数/30维)、F16、F17(固定维度多峰函数/2维、2维)为例,实验设置种群规模为30,最大迭代次数为500,每种算法独立运算30次,结果显示如下:
函数:F5
IHHO:最差值: 0.13865, 最优值: 7.0741e-07, 平均值: 0.015084, 标准差: 0.028063, 秩和检验: 1
GWO:最差值: 28.7782, 最优值: 25.7691, 平均值: 27.1844, 标准差: 0.89806, 秩和检验: 3.0199e-11
TSA:最差值: 28.9205, 最优值: 28.0782, 平均值: 28.656, 标准差: 0.29311, 秩和检验: 3.0199e-11
WOA:最差值: 28.7296, 最优值: 26.995, 平均值: 27.9626, 标准差: 0.5061, 秩和检验: 3.0199e-11
HHO:最差值: 0.06623, 最优值: 6.9462e-06, 平均值: 0.011919, 标准差: 0.015624, 秩和检验: 0.81875
函数:F6
IHHO:最差值: 0.00029011, 最优值: 4.1743e-07, 平均值: 5.8064e-05, 标准差: 7.8979e-05, 秩和检验: 1
GWO:最差值: 2.0136, 最优值: 0.47823, 平均值: 0.85263, 标准差: 0.40313, 秩和检验: 3.0199e-11
TSA:最差值: 7.0002, 最优值: 3.4834, 平均值: 5.9968, 标准差: 0.89309, 秩和检验: 3.0199e-11
WOA:最差值: 0.98535, 最优值: 0.12858, 平均值: 0.44196, 标准差: 0.19807, 秩和检验: 3.0199e-11
HHO:最差值: 0.00073833, 最优值: 1.5022e-09, 平均值: 0.00014427, 标准差: 0.00017396, 秩和检验: 0.033874
函数:F9
IHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
GWO:最差值: 16.578, 最优值: 5.6843e-14, 平均值: 4.0017, 标准差: 5.4482, 秩和检验: 1.2019e-12
TSA:最差值: 162.0057, 最优值: 0, 平均值: 16.2838, 标准差: 44.1385, 秩和检验: 3.4526e-07
WOA:最差值: 104.4303, 最优值: 0, 平均值: 3.481, 标准差: 19.0663, 秩和检验: 0.1608
HHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F10
IHHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
GWO:最差值: 1.4655e-13, 最优值: 6.1284e-14, 平均值: 9.989e-14, 标准差: 1.983e-14, 秩和检验: 1.1738e-12
TSA:最差值: 4.4409e-15, 最优值: 4.4409e-15, 平均值: 4.4409e-15, 标准差: 0, 秩和检验: 1.6853e-14
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 4.5593e-15, 标准差: 2.5523e-15, 秩和检验: 3.858e-09
HHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
函数:F16
IHHO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 8.1181e-11, 秩和检验: 1
GWO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 2.8673e-08, 秩和检验: 3.018e-11
TSA:最差值: -0.99999, 最优值: -1.0316, 平均值: -1.0253, 标准差: 0.012862, 秩和检验: 3.018e-11
WOA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.0089e-09, 秩和检验: 8.2895e-06
HHO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 2.0929e-09, 秩和检验: 0.2062
函数:F17
IHHO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 5.6785e-07, 秩和检验: 1
GWO:最差值: 0.3979, 最优值: 0.39789, 平均值: 0.39789, 标准差: 1.8596e-06, 秩和检验: 5.3124e-09
TSA:最差值: 0.40322, 最优值: 0.39789, 平均值: 0.39939, 标准差: 0.0015405, 秩和检验: 3.5611e-11
WOA:最差值: 0.39791, 最优值: 0.39789, 平均值: 0.39789, 标准差: 5.7596e-06, 秩和检验: 3.0387e-06
HHO:最差值: 0.3979, 最优值: 0.39789, 平均值: 0.39789, 标准差: 1.5509e-06, 秩和检验: 0.0022272
实验结果表明:IHHO算法具有更好的全局探索和局部开发能力,在求解精度和收敛速度方面优于其他比较算法。
[1] Wenyan Guo, Peng Xu, Fang Dai, et al. Improved Harris hawks optimization algorithm based on random unscented sigma point mutation strategy[J]. Applied Soft Computing, 2021, 113: 108012.