精英反向黄金正弦鲸鱼算法
文章目录
摘要:针对鲸鱼优化算法(Whale Optimization Algorithm,WOA)存在的收敛速度慢、寻优稳定性不足等问题,本文提出了精英反向学习的黄金正弦鲸鱼优化算法(Elite Opposition-Based Golden-Sine Whale Optimization Algorithm,EGolden-SWOA).利用精英反向学习策略提高种群的多样性和质量可以有效提升算法的收敛速度,同时引入黄金分割数优化WOA的寻优方式,从而协调算法的全局探索与局部开发能力.
1.鲸鱼优化算法
基础鲸鱼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107559167
2. 改进鲸鱼优化算法
2.1 精英反向学习策略
反 向 学 习 策 略 ( Opposition-Based Learning,OBL)是 Tizhoosh 于 2005 提出的,Tizhoosh 的研究表明反向解更接近全局最优的概率比当前解高出 50% .该策略可以有效增加种群的多样性和质量,防止算法进入 “早熟” 状态, 目前该策略已被应用于多种算法的 改进并取得较好效果, 如夏学文等人将反向学习策略 引入粒子群算法, 有效解决了粒子群算法种群多样性 和收玫性之间的矛盾
[
9
]
{ }^{[9]}
[9]; 魏文红等人将反向学习引入 差分进化算法, 有效提高了算法的多样性和全局收玫 速度
[
10
]
{ }^{[10]}
[10]. 反向学习策略计算并评估当前解的反向解, 从当前解及其反向解中选取最优解个体作为新一代 个体.
定义 1 (反向解) 假设当前种群的一个可行解为
X
=
(
x
1
,
x
2
,
⋯
,
x
d
)
X=\left(x_{1}, x_{2}, \cdots, x_{d}\right)
X=(x1,x2,⋯,xd) (
d
d
d 维搜索空间;
x
j
∈
[
a
j
,
b
j
]
)
\left.x_{j} \in\left[a_{j}, b_{j}\right]\right)
xj∈[aj,bj]), 则其 反向解为
X
ˉ
=
(
x
1
‾
,
x
2
‾
,
⋯
,
x
d
‾
)
\bar{X}=\left(\overline{x_{1}}, \overline{x_{2}}, \cdots, \overline{x_{d}}\right)
Xˉ=(x1,x2,⋯,xd), 其中
x
j
‾
=
ω
(
a
j
+
b
j
)
−
x
j
,
ω
\overline{x_{j}}=\omega\left(a_{j}+b_{j}\right)-x_{j}, \omega
xj=ω(aj+bj)−xj,ω 为在
[
0
,
1
]
[0,1]
[0,1] 上均匀分布的一般化系数.
精英反向学习(Elite Opposition-Based Learning, EOBL)是针对反向学习策略生成的反向解不一定比 当前搜索空间更容易搜索到全局最优解这一问题提 出的, 已成功应用于多种算法的改进研究, 如谢承旺、王志杰等人将动态反向学习策略引入到进化算法提 出了一种新型多目标进化算法
[
1
]
{ }^{[1]}
[1], 谢承旺、许雷等人 还将精英反向学习机制以及烟花爆炸算法引入多目 标优化领域并取得了较好效果
[
12
]
{ }^{[12]}
[12], 周新宇等人将精英 粒子引入粒子群算法增强了算法性能
[
13
]
{ }^{[13]}
[13]. 该策略利用 精英个体比一般个体包含更多有效信息的这一特点, 通过当前种群中的精英个体构造出反向种群以此来 增加种群的多样性, 并从当前种群和反向种群构成的 新种群中选取最优个体作为新一代个体, 进入下一次 的迭代.
定义 2 (精英反向解) 假设当前种群中的一般个 体对应的自身极值点为精英个体
X
i
,
j
e
=
(
X
i
,
1
e
,
X
i
,
2
e
,
⋯
\boldsymbol{X}_{i, j}^{\mathrm{e}}=\left(X_{i, 1}^{\mathrm{e}}, X_{i, 2}^{\mathrm{e}}, \cdots\right.
Xi,je=(Xi,1e,Xi,2e,⋯,
X
i
,
d
e
)
(
i
=
1
,
2
,
3
,
⋯
,
s
;
j
=
1
,
2
,
⋯
,
d
)
\left.X_{i, d}^{\mathrm{e}}\right)(i=1,2,3, \cdots, s ; j=1,2, \cdots, d)
Xi,de)(i=1,2,3,⋯,s;j=1,2,⋯,d), 其反向解
X
i
,
j
e
‾
=
\overline{\boldsymbol{X}_{i, j}^{\mathrm{e}}}=
Xi,je=
(
X
i
,
1
e
‾
,
X
i
,
2
e
‾
,
⋯
,
X
i
,
d
e
‾
)
\left(\overline{X_{i, 1}^{\mathrm{e}}}, \overline{X_{i, 2}^{\mathrm{e}}}, \cdots, \overline{X_{i, d}^{\mathrm{e}}}\right)
(Xi,1e,Xi,2e,⋯,Xi,de), 可以定义为:
X
i
,
j
e
‾
=
K
∗
(
α
j
+
β
j
)
−
X
i
,
j
e
(6)
\overline{\boldsymbol{X}_{i, j}^{\mathrm{e}}}=K^{*}\left(\alpha_{j}+\beta_{j}\right)-\boldsymbol{X}_{i, j}^{\mathrm{e}}\tag{6}
Xi,je=K∗(αj+βj)−Xi,je(6)
其中,
K
K
K 为在
(
0
,
1
)
(0,1)
(0,1) 上的动态系数,
X
i
,
j
e
∈
[
α
j
,
β
j
]
,
α
j
=
X_{i, j}^{\mathrm{e}} \in\left[\alpha_{j}, \beta_{j}\right], \alpha_{j}=
Xi,je∈[αj,βj],αj=
min
(
X
i
,
j
)
,
β
j
=
max
(
X
i
,
j
)
,
α
j
\min \left(X_{i, j}\right), \beta_{j}=\max \left(X_{i, j}\right), \alpha_{j}
min(Xi,j),βj=max(Xi,j),αj 和
β
j
\beta_{j}
βj 为动态边界, 动态边界 克服了固定边界难以保存搜索经验的缺点, 使精英反 向解可以定位在狭窄的搜索空间中, 有利于算法收玫. 若动态边界操作使
X
i
,
j
e
\boldsymbol{X}_{i, j}^{\mathrm{e}}
Xi,je 越过边界成为非可行解, 可以利 用随机生成的方法重置, 重置方式如下:
X
i
,
j
e
‾
=
rand
(
α
i
,
β
j
)
(7)
\overline{\boldsymbol{X}_{i, j}^{\mathrm{e}}}=\operatorname{rand}\left(\alpha_{i}, \beta_{j}\right) \tag{7}
Xi,je=rand(αi,βj)(7)
2.2 精英反向学习的黄金正弦鲸鱼优化算法
针对基本鲸鱼优化算法存在的不足,本文提出了精英反向学习的黄金正弦鲸鱼优化算法( Elite Opposi-tion-Based Golden-Sine Whale Optimization Algorithm,EGolden-SWOA) . 使用精英反向学习策略提高种群的多样性,采用群体选择机制,将当前鲸鱼群体与其反
向群体按适应值排序,从中选择出最优的 s 个个体作为下一代鲸鱼个体以此提高种群的质量. 首先,对于初始种群来说,精英反向学习策略的引入可以提升其多样性,为较好的全局搜索奠定基础; 其次,对于每一代种群,精英反向学习策略可以通过产生远离局部极值点的反向解引导算法跳出局部最优,增强算法的全局寻优能力. 同时,精英反向学习所采用的动态边界的跟踪搜索模式可获得一个逐步缩小的搜索空间,有利于提高全局收敛速度,从而协调算法的全局探索与局部开发能力.
另外, 本文在保留基本鲸鱼优化算法的包围式狩 猎机制和随机狩猎机制的基础上利用黄金正弦算法对 螺旋式狩猎机制进行了改进. 在螺旋式狩猎机制中, 座 头鲸在寻找到猎物后, 向猎物位置移动并通过对数螺 旋式运动捕获猎物, 猎物位置即最优个体的位置
X
p
t
\boldsymbol{X}_{\mathrm{p}}^{t}
Xpt 是 此螺线运动过程中的导向坐标, 这虽然有助于算法后 期收玫速度的提升, 但是该寻优方式易使种群个体在 解空间内迅速集聚, 从而导致群体多样性锐降, 增大陷 入局部最优的可能性. 针对这一问题, 本文引入了黄金 正弦算法对螺旋式狩猎机制进行了改进. EGoldenSWOA 算法中鲸鱼向猎物位置移动并通过黄金正弦螺 旋式运动捕获猎物, 每一次迭代中鲸鱼个体都会与最 优个体进行信息交流, 每个个体都可以充分吸收自身 与最优个体的位置差信息, 同时利用引入黄金分割数 而得到的系数逐步缩小搜索空间, 且通过参数
R
1
R_{1}
R1 和
R
2
R_{2}
R2 控制位置更新距离和方向, 优化了基本 WOA 算法的寻 优方式, 引领个体稳步趋近最优值, 协调算法的全局探 索与局部开发能力, 从而提高算法的寻优精度和速度, 获得理想的寻优结果. 引入黄金正弦算法后该过程的 位置更新公式如下:
X
i
t
+
1
=
X
i
t
∗
∣
sin
(
R
1
)
∣
+
R
2
∗
sin
(
R
1
)
∗
∣
x
1
∗
X
p
t
−
x
2
∗
X
i
t
∣
(8)
\boldsymbol{X}_{i}^{t+1}=\boldsymbol{X}_{i}^{t} *\left|\sin \left(R_{1}\right)\right|+R_{2} * \sin \left(R_{1}\right) *\left|x_{1} * \boldsymbol{X}_{\mathrm{p}}^{t}-x_{2} * \boldsymbol{X}_{i}^{t}\right|\tag{8}
Xit+1=Xit∗∣sin(R1)∣+R2∗sin(R1)∗∣
∣x1∗Xpt−x2∗Xit∣
∣(8)
EGolden-SWOA 具体执行步骤如下:
步骤 1 设置相关参数;
步骤 2 种群初始化, 主要包括初始种群个体数
s
s
s 、 候选解维度
d
d
d 、最大迭代次数
t
max
t_{\text {max }}
tmax ;
步骤 3 根据目标函数计算每一个鲸鱼个体的适
应度值;
步骤 4 反向种群
O
P
=
{
}
\mathrm{OP}=\{\}
OP={};
步骤 5 根据
α
j
=
min
(
X
i
,
j
)
,
β
j
=
max
(
X
i
,
j
)
\alpha_{j}=\min \left(X_{i, j}\right), \beta_{j}=\max \left(X_{i, j}\right)
αj=min(Xi,j),βj=max(Xi,j) 计算个 体的当前搜索边界;
步骤 6 对种群中的每个个体根据式 (5) 生成精英 反向解并添加到反向种群 OP 中;
步骤 7 从当前种群和反向种群中选取适应度值 较好的
s
s
s 个优良个体作为下一代种群, 并将适应度值最 小的个体位置记为猎物位置
X
p
t
\boldsymbol{X}_{\mathrm{p}}^{t}
Xpt;
步骤 8 更新参数
a
、
A
、
C
a 、 A 、 C
a、A、C;
步骤 9 若参数
∣
A
∣
≥
1
|A| \geq 1
∣A∣≥1, 根据式 (4) 进行位置行更新;
步骤 10 若参数
∣
A
∣
<
1
|A|<1
∣A∣<1, 根据式 (9) 对鲸鱼位置进 行更新:
X
i
t
+
1
=
{
X
P
t
−
A
⋅
D
,
p
r
<
0.5
X
i
t
∗
∣
sin
(
R
1
)
∣
+
R
2
∗
sin
(
R
1
)
∗
∣
x
1
∗
X
P
t
−
x
2
∗
X
i
t
∣
,
p
r
≥
0.5
\boldsymbol{X}_{i}^{t+1}=\left\{\begin{array}{rr} \boldsymbol{X}_{\mathrm{P}}^{t}-A \cdot \boldsymbol{D}, & p_{r}<0.5 \\ \boldsymbol{X}_{i}^{t} *\left|\sin \left(R_{1}\right)\right|+R_{2} * \sin \left(R_{1}\right) *\left|x_{1} * \boldsymbol{X}_{\mathrm{P}}^{t}-x_{2} * \boldsymbol{X}_{i}^{t}\right|, \\ p_{r} \geq 0.5 \end{array}\right.
Xit+1=⎩
⎨
⎧XPt−A⋅D,Xit∗∣sin(R1)∣+R2∗sin(R1)∗∣
∣x1∗XPt−x2∗Xit∣
∣,pr≥0.5pr<0.5
(9) ;
步骤 11 利用约束条件检查新位置的可行性, 若 新位置可行则鲸鱼个体更新其位置, 否则鲸鱼个体保 持其原有位置;
步骤 12 重复步骤
3
∼
3 \sim
3∼ 步骤 11 , 直到达到最大迭代 次数
t
max
t_{\max }
tmax 时终止操作.
3.实验结果
4.参考文献
[1]肖子雅,刘升.精英反向黄金正弦鲸鱼算法及其工程优化研究[J].电子学报,2019,47(10):2177-2186.