文章目录
一、理论基础
1、鲸鱼优化算法(WOA)
请参考这里。
2、耦合中心游移和双权重因子的鲸鱼优化算法(C-A-WWOA)
WOA存在初始种群多样性差、收敛速度慢、后期易陷于局部最优等问题。针对上述问题,本文提出了三点改进措施:第一使用中心游移种群初始化和边界邻域更新策略,保持种群的多样性;第二利用收敛因子 a a a调控并优化算法参数;第三模仿PSO的权重因子避免WOA后期种群陷于局部最优的问题。
2.1 耦合中心游移初始化及边界邻域更新策略(C-WOA)
2.1.1 耦合中心游移的初始化策略
WOA的种群初始化方式是随机生成,该方法的种群个体质量往往会降低,会影响算法的求解速度。反向学习策略已被证实是提高随机优化算法初始解质量的一个重要策略,其通过生成对立点,进行初始解的择优选择。本文通过中心游移公式对初始解进行随机偏移,以此分隔定位寻优空间,并实现鲸鱼个体当前最优位置的多点同步搜索,从而提升种群多样性。该初始化流程为:生成初始解 ( x i , r t ) (x_{i,r}^t) (xi,rt)并计算其反向点(式1);再根据式2对初始解进行中心游移,并通过其适应度值贪婪选择。 x i , o t = u p + d o w n − x i , r t (1) x_{i,o}^t=up+down-x_{i,r}^t\tag{1} xi,ot=up+down−xi,rt(1) x i , c t = x i , r t + δ ⋅ x i , o t (2) x_{i,c}^t=x_{i,r}^t+\delta\cdot x_{i,o}^t\tag{2} xi,ct=xi,rt+δ⋅xi,ot(2)其中, x i , o t x_{i,o}^t xi,ot为第 t t t次迭代反向学习生成的第 i i i个个体; u p up up为搜索空间的上界, d o w n down down为搜索空间的下界; x i , c t x_{i,c}^t xi,ct为第 t t t次迭代中心游移生成第 i i i个个体; δ \delta δ为游移系数, δ = 0.618 \delta=0.618 δ=0.618。
2.1.2 耦合边界邻域更新的修正策略
在迭代过程中,WOA对于越界鲸鱼的处理方式通常是使用临近界限值代替。该方法在越界鲸鱼数量较少时对种群影响较小;但若存在大量越界鲸鱼时,采用以上处理方式就会降低种群多样性及寻优效率。故本文提出通过边界邻域更新方式对越界鲸鱼位置进行修正,该方法通过在边界内一段邻域内生成随机且均匀的点,来保持种群的多样性。具体修正公式如下: x i t = { u p ⋅ U ( 0.8 , 1 ) , x i t > u p d o w n + ( u p − d o w n ) ⋅ U ( 0 , 0.1 ) , x i t < d o w n (3) x_i^t=\begin{dcases}up\cdot U(0.8,1),\quad\quad\quad\quad\quad\quad\quad\quad\,\,\,\,\,\, x_i^t>up\\[2ex]down+(up-down)\cdot U(0,0.1),\quad\, x_i^t<down\end{dcases}\tag{3} xit=⎩ ⎨ ⎧up⋅U(0.8,1),xit>updown+(up−down)⋅U(0,0.1),xit<down(3)其中, U ( a , b ) U(a,b) U(a,b)表示在区间 ( a , b ) (a,b) (a,b)上的均匀分布随机数。
2.2 耦合非线性收敛因子的改进策略(A-WOA)
为了更好的WOA的平衡全局和局部寻优能力,本文采取多项式形式对 a a a进行曲线拟合,通过对多项式参数进行测试和优化,以大幅度提高收敛精度。具体表达式如下: a = α ⋅ ( t / T max ) 3 + β ⋅ ( t / T max ) 2 + γ ⋅ ( t / T max ) + λ (4) a=\alpha\cdot(t/T_{\max})^3+\beta\cdot(t/T_{\max})^2+\gamma\cdot(t/T_{\max})+\lambda\tag{4} a=α⋅(t/Tmax)3+β⋅(t/Tmax)2+γ⋅(t/Tmax)+λ(4)其中, α , β , γ , λ \alpha,\beta,\gamma,\lambda α,β,γ,λ为多项式参数,采用逐次逼近法依次对算法参数进行求解,其最优取值为 α = − 3.6 , β = 7.8 , γ = − 6.2 \alpha=-3.6,\beta=7.8,\gamma=-6.2 α=−3.6,β=7.8,γ=−6.2和 λ = 2.0 \lambda=2.0 λ=2.0。
2.3 耦合双权重因子的随机更新策略(W-WOA)
本文借鉴粒子群算法(PSO)的权重因子( ω \omega ω)策略,提出一种双权重因子的随机扰动策略。该策略通过两个反向变化的权重因子( ω 1 \omega_1 ω1和 ω 2 \omega_2 ω2)更新鲸鱼,其中: ω 1 \omega_1 ω1采用非线性递减,使得其它鲸鱼在最优鲸鱼方向动态更新,进而一定程度上增大了种群多样性。 ω 2 \omega_2 ω2采用非线性递增,随着迭代过程的进行,其它鲸鱼获得更大的随机更新步长,以满足其在大范围内随机移动,增强其跳出局部最优的能力。相较于单权重因子的PSO,本文的双权重因子策略其优势是:从最优鲸鱼和随机步长两方面进行随机扰动,进一步增强了后期鲸鱼种群的更新能力,以实现鲸鱼种群在可行域内的广度与深度覆盖。改进后的包围捕食和螺旋气泡更新公式如下: x i t + 1 = ω 1 ⋅ x b e s t t − ω 2 ⋅ A ⋅ ∣ C ⋅ x b e s t t − x i t ∣ (5) x_i^{t+1}=\omega_1\cdot x_{best}^t-\omega_2\cdot A\cdot\left|C\cdot x_{best}^t-x_i^t\right|\tag{5} xit+1=ω1⋅xbestt−ω2⋅A⋅∣ ∣C⋅xbestt−xit∣ ∣(5) x i t + 1 = ω 1 ⋅ x b e s t t + ω 2 ⋅ D ′ ⋅ e b l ⋅ cos ( 2 π l ) (6) x_i^{t+1}=\omega_1\cdot x_{best}^t+\omega_2\cdot D'\cdot e^{bl}\cdot\cos(2\pi l)\tag{6} xit+1=ω1⋅xbestt+ω2⋅D′⋅ebl⋅cos(2πl)(6)本文简单测试了正弦、线性、多项式和指数4种曲线变化策略,最终发现正弦反向变化策略对算法精度的提升最大,其具体公式如下: ω 1 = 1 − sin ( π ⋅ t / ( 2 ⋅ t max ) ) (7) \omega_1=1-\sin\left(\pi\cdot t/\left(2\cdot t_{\max}\right)\right)\tag{7} ω1=1−sin(π⋅t/(2⋅tmax))(7) ω 2 = 1 + sin ( π ⋅ t / ( 2 ⋅ t max ) ) (8) \omega_2=1+\sin\left(\pi\cdot t/\left(2\cdot t_{\max}\right)\right)\tag{8} ω2=1+sin(π⋅t/(2⋅tmax))(8)
2.4 算法流程
本文从初始种群方式、算法参数、后期种群个体的随机扰动三个方面着手,对WOA进行改进,提出了C-A-WWOA,其算法步骤如下:
Step 1: 种群初始化:设定维数(
D
D
D)、种群规模(
N
N
N)、当前迭代数(
t
t
t)和最大迭代数(
T
max
T_{\max}
Tmax)。通过随机更新初始化种群
x
i
,
r
t
x_{i,r}^t
xi,rt,通过(式1)生成种群中每个初始鲸鱼的对立点鲸鱼
x
i
,
o
t
x_{i,o}^t
xi,ot,同时对初始鲸鱼采取中心游移策略(式2)进行游移,生成游移鲸鱼
x
i
,
c
t
x_{i,c}^t
xi,ct;进而根据
x
i
,
r
t
x_{i,r}^t
xi,rt、
x
i
,
o
t
x_{i,o}^t
xi,ot和
x
i
,
c
t
x_{i,c}^t
xi,ct的适应度进行比较,保留其中的最优鲸鱼,完成种群的初始化。
Step 2: 迭代更新过程:第
t
t
t次迭代中,首先计算适应度值,得出最优鲸鱼
x
b
e
s
t
t
x_{best}^t
xbestt;并根据对应公式更新算法参数(包括:
a
a
a、
A
A
A、
C
C
C、
ω
1
\omega_1
ω1、
ω
2
\omega_2
ω2和
p
p
p)。在此基础上,根据
p
p
p和
∣
A
∣
|A|
∣A∣值,每个鲸鱼分别进行包围捕食、随机或螺旋气泡的迭代更新策略。具体更新方式为:当
p
<
0.5
,
∣
A
∣
≤
1
p<0.5,|A|\leq1
p<0.5,∣A∣≤1,采用(式5)进行包围捕食更新;当
p
<
0.5
,
∣
A
∣
>
1
p<0.5,|A|>1
p<0.5,∣A∣>1,根据原始算法公式进行随机更新;当
p
≥
0.5
p\geq0.5
p≥0.5,采用(式6)进行螺旋气泡更新。随后,根据边界邻域公式(式3)对越界的鲸鱼进行修正更新,得到第
t
+
1
t+1
t+1代的种群。
Step 3: 判断迭代条件:当
t
≤
T
max
t\leq T_{\max}
t≤Tmax时,重复Step 2,直至退出迭代过程,输出最优鲸鱼及最优适应度值。
二、仿真实验与结果分析
为分析每个改进策略的算法有效性,本文将C-A-WWOA与基本鲸鱼优化算法WOA、耦合中心游移和边界邻域更新的C-WOA、耦合非线性收敛因子的A-WOA和基于双权重因子的W-WOA进行对比,实验设置种群规模为30,最大迭代次数为500,每种算法独立运行30次,以文献[1]中表1的F3、F4(单峰函数/30维)、F9、F10(多峰函数/30维)、F15、F16(固定维数多峰函数/3维、4维)为例,结果显示如下:
函数:F3
WOA:最差值: 57374.6452, 最优值: 11367.0676, 平均值: 38540.6466, 标准差: 12023.535
C-WOA:最差值: 8885.9849, 最优值: 1576.6814, 平均值: 5746.4879, 标准差: 1759.4474
A-WOA:最差值: 56427.6646, 最优值: 8371.6758, 平均值: 35656.5155, 标准差: 12467.1939
W-WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
C-A-WWOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F4
WOA:最差值: 87.2773, 最优值: 2.5285, 平均值: 48.8454, 标准差: 28.3662
C-WOA:最差值: 33.1135, 最优值: 0.016378, 平均值: 20.8396, 标准差: 10.3923
A-WOA:最差值: 87.7277, 最优值: 0.098058, 平均值: 50.6239, 标准差: 29.5504
W-WOA:最差值: 9.1348e-290, 最优值: 0, 平均值: 3.0451e-291, 标准差: 0
C-A-WWOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F9
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 4.0856e-15, 标准差: 2.5294e-15
C-WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 4.5593e-15, 标准差: 2.7174e-15
A-WOA:最差值: 1.5099e-14, 最优值: 8.8818e-16, 平均值: 5.3883e-15, 标准差: 3.085e-15
W-WOA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0
C-A-WWOA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0
函数:F10
WOA:最差值: 0.37147, 最优值: 0, 平均值: 0.022632, 标准差: 0.077814
C-WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
A-WOA:最差值: 1.1102e-16, 最优值: 0, 平均值: 3.7007e-18, 标准差: 2.027e-17
W-WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
C-A-WWOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F15
WOA:最差值: -3.8233, 最优值: -3.8628, 平均值: -3.858, 标准差: 0.0080886
C-WOA:最差值: -3.8534, 最优值: -3.8628, 平均值: -3.8612, 标准差: 0.0018884
A-WOA:最差值: -3.0897, 最优值: -3.8628, 平均值: -3.817, 标准差: 0.14463
W-WOA:最差值: -3.777, 最优值: -3.8627, 平均值: -3.8435, 标准差: 0.02248
C-A-WWOA:最差值: -3.7815, 最优值: -3.8628, 平均值: -3.8494, 标准差: 0.018538
函数:F16
WOA:最差值: -2.6299, 最优值: -10.151, 平均值: -8.6747, 标准差: 2.4632
C-WOA:最差值: -5.0549, 最优值: -10.1526, 平均值: -9.1186, 标准差: 2.0666
A-WOA:最差值: -2.5919, 最优值: -10.1404, 平均值: -7.1988, 标准差: 2.7891
W-WOA:最差值: -0.88197, 最优值: -10.1522, 平均值: -9.5231, 标准差: 1.9135
C-A-WWOA:最差值: -9.2392, 最优值: -10.1484, 平均值: -9.9387, 标准差: 0.18436
结果表明:改进算法具有更高的收敛精度,很好地解决了易陷入局部最优的问题。
三、参考文献
[1] 程浩淼, 王梦磊, 汪靓, 等. 耦合中心游移和双权重因子的鲸鱼算法及应用[J]. 计算机工程与应用, 2022, 58(13): 74-84.