一、理论基础
1、基本鲸鱼优化算法
请参考这里。
2、改进的鲸鱼优化算法
为提高WOA算法的寻优性能,对WOA算法的三个方面进行改进,首先利用拉丁超立方体抽样方法初始化种群,增强WOA算法的种群多样性;再将非线性收敛因子取代基本WOA算法中的线性收敛因子,进一步提高算法寻优能力;最后将非线性惯性权重引入WOA算法中。以下将改进的鲸鱼优化算法记为LTWWOA算法。
(1)LHS方法初始化种群
请参考这里。
(2)收敛因子的改进
本文提出一种非线性收敛因子,其数学表达式如下:
a
=
2
−
2
⋅
tan
(
π
⋅
t
4
⋅
t
max
)
(1)
a=2-2\cdot\tan(\frac{\pi\cdot t}{4\cdot t_{\max}})\tag{1}
a=2−2⋅tan(4⋅tmaxπ⋅t)(1)其中,
t
max
t_{\max}
tmax为最大迭代次数。本文取
t
max
=
500
t_{\max}=500
tmax=500时,将改进的收敛因子
a
a
a与基本WOA算法中的收敛因子
a
a
a进行对比,对比图如图1所示。
由图1和式(1)可看出,基本WOA算法的收敛因子 a a a随算法迭代次数的增加呈线性递减,而本文提出的非线性收敛因子 a a a随算法迭代次数的增加呈非线性递减。这种方式,在算法前期收敛因子 a a a以较小的速度减小,保证了收敛系数 A A A前期值较大,使得座头鲸游走步长大,加快算法全局搜索,到算法迭代后期,收敛因子 a a a以较大的速度减小,使得收敛系数 A A A后期值较小,从而座头鲸游走步长小,使其能在最优解附近进行精确搜索,从而有效的平衡了算法的前期搜索和后期寻优能力。
(3)非线性惯性权重
受粒子群算法启发,为提高WOA算法的性能,避免其陷入局部最优解,将非线性惯性权重引入WOA算法,非线性惯性权重数学表达式如下:
w
=
(
w
s
t
−
w
e
n
d
−
k
)
e
1
1
+
t
t
max
u
(2)
w=(w_{st}-w_{end}-k)e^{\frac{1}{1+\frac{t}{t_{\max}}u}}\tag{2}
w=(wst−wend−k)e1+tmaxtu1(2)其中,
w
s
t
w_{st}
wst是初始惯性权重,
w
e
n
d
w_{end}
wend为最大迭代次数时的惯性权重,
k
k
k和
u
u
u是控制系数,对
w
w
w的范围起调节作用。经大量测试,
w
s
t
w_{st}
wst和
w
e
n
d
w_{end}
wend分别取0.98和0.4,
k
k
k和
u
u
u分别取0.21和11.2时,能使得LTWWOA算法表现性能较好。
根据WOA算法的三个位置更新公式,将非线性惯性权重
w
w
w引入WOA算法,得到LTWWOA算法的三个位置更新公式如下:
X
‾
(
t
+
1
)
=
w
⋅
X
‾
∗
(
t
)
−
A
‾
⋅
D
‾
∣
A
‾
∣
<
1
,
P
<
0.5
(3)
\overline X(t+1)=w\cdot\overline X^*(t)-\overline A\cdot\overline D\quad |\overline A|<1,P<0.5\tag{3}
X(t+1)=w⋅X∗(t)−A⋅D∣A∣<1,P<0.5(3)
X
‾
(
t
+
1
)
=
w
⋅
D
‾
′
⋅
e
b
l
cos
(
2
π
l
)
+
X
‾
∗
(
t
)
P
≥
0.5
(4)
\overline X(t+1)=w\cdot\overline D'\cdot e^{bl}\cos(2\pi l)+\overline X^*(t)\quad P≥0.5\tag{4}
X(t+1)=w⋅D′⋅eblcos(2πl)+X∗(t)P≥0.5(4)
X
‾
(
t
+
1
)
=
w
⋅
X
‾
r
a
n
d
(
t
)
−
A
‾
⋅
D
‾
∣
A
‾
∣
<
1
,
P
<
0.5
(5)
\overline X(t+1)=w\cdot\overline X_{rand}(t)-\overline A\cdot\overline D\quad |\overline A|<1,P<0.5\tag{5}
X(t+1)=w⋅Xrand(t)−A⋅D∣A∣<1,P<0.5(5)
(4)改进的鲸鱼优化算法流程
综合上述,对基本鲸鱼优化算法的三方面进行了改进,首先采用LHS方法进行初始化种群;再将非线性收敛因子替代基本WOA算法中的线性收敛因子,最后将非线性惯性权重引入鲸鱼优化算法中。LTWWOA算法详细流程如下图所示:
二、仿真实验测试与分析
为验证LTWWOA算法的性能,将WOA算法、樽海鞘群算法(SSA)和灰狼优化算法(GWO)与LTWWOA算法根据选取的测试函数进行测试对比,以文献[1]中表1函数为例,各函数的维度均为30。为保证对比的公平性,各算法的最大迭代次数为1000,种群规模均为40,每个算法均独立运行40次。
结果显示如下:
函数:F1
WOA:最差值: 2.4738e-161,最优值:3.4054e-180,平均值:8.5554e-163,标准差:3.8499e-162
LTWWOA:最差值: 0,最优值:0,平均值:0,标准差:0
SSA:最差值: 1.6559e-08,最优值:6.5066e-09,平均值:1.0687e-08,标准差:2.4082e-09
GWO:最差值: 8.7944e-65,最优值:3.4793e-68,平均值:9.4437e-66,标准差:1.5777e-65
函数:F2
WOA:最差值: 4.5399e-106,最优值:4.8123e-117,平均值:1.3265e-107,标准差:7.1955e-107
LTWWOA:最差值: 0,最优值:0,平均值:0,标准差:0
SSA:最差值: 2.6399,最优值:0.0015081,平均值:0.68045,标准差:0.61859
GWO:最差值: 2.3579e-37,最优值:7.116e-39,平均值:3.2767e-38,标准差:4.1236e-38
函数:F3
WOA:最差值: 29090.287,最优值:358.5828,平均值:13371.7949,标准差:7610.7016
LTWWOA:最差值: 0,最优值:0,平均值:0,标准差:0
SSA:最差值: 327.8526,最优值:25.3843,平均值:109.7107,标准差:66.3778
GWO:最差值: 2.0466e-15,最优值:4.9261e-23,平均值:7.1214e-17,标准差:3.3837e-16
函数:F4
WOA:最差值: 0.0085325,最优值:2.3736e-06,平均值:0.0017882,标准差:0.0019982
LTWWOA:最差值: 0.00028729,最优值:1.3961e-07,平均值:6.4447e-05,标准差:6.8105e-05
SSA:最差值: 0.12179,最优值:0.01857,平均值:0.071069,标准差:0.028372
GWO:最差值: 0.0011999,最优值:0.00016006,平均值:0.0005802,标准差:0.00029682
函数:F5
WOA:最差值: 0.11363,最优值:0,平均值:0.0055237,标准差:0.021352
LTWWOA:最差值: 0,最优值:0,平均值:0,标准差:0
SSA:最差值: 0.061363,最优值:2.6283e-08,平均值:0.010275,标准差:0.013024
GWO:最差值: 0.040096,最优值:0,平均值:0.002609,标准差:0.0074935
函数:F6
WOA:最差值: 0,最优值:0,平均值:0,标准差:0
LTWWOA:最差值: 0,最优值:0,平均值:0,标准差:0
SSA:最差值: 87.5561,最优值:25.8689,平均值:55.6181,标准差:15.6909
GWO:最差值: 17.9903,最优值:0,平均值:0.5641,标准差:2.917
函数:F7
WOA:最差值: 7.9936e-15,最优值:8.8818e-16,平均值:3.8192e-15,标准差:2.3985e-15
LTWWOA:最差值: 8.8818e-16,最优值:8.8818e-16,平均值:8.8818e-16,标准差:0
SSA:最差值: 3.6819,最优值:2.1198e-05,平均值:1.7724,标准差:0.78803
GWO:最差值: 1.8652e-14,最优值:7.9936e-15,平均值:1.4833e-14,标准差:1.6852e-15
函数:F8
WOA:最差值: 0.023204,最优值:0.00028612,平均值:0.0025857,标准差:0.004087
LTWWOA:最差值: 0.0077721,最优值:0.00023959,平均值:0.0019399,标准差:0.0018902
SSA:最差值: 12.1504,最优值:0.37243,平均值:5.1611,标准差:2.5836
GWO:最差值: 0.065793,最优值:0.012647,平均值:0.030318,标准差:0.013688
结果表明,LTWWOA算法在收敛速度、精度和稳定性上相比于基本WOA算法都得到了提高,同时验证了本文提出的对基本WOA算法的三个方面改进策略是十分有效的。
三、参考文献
[1] 陈玉, 韩波, 许高齐, 等. 改进鲸鱼优化算法的空间直线度误差评定[J/OL]. 机械科学与技术: 1-11 [2021-07-27].