一种增强型鲸鱼优化算法
文章目录
摘要:鲸鱼优化算法( whale optimization algorithm,WOA) 具有独特的搜索机制,非常适合解决复杂的优化问题。针对基本鲸鱼优化算法收敛速度慢、容易陷入局部最优的缺点,提出了一种增强型鲸鱼优化算法( enhanced whale optimization algorithm,EWOA ) 。首先通过引入非线性时变的自适应权重,提升了鲸鱼算法在全局探索和局部寻优阶段的性能; 其次在鲸鱼算法的收缩包围阶段引入差分变异微扰因子,避免了算法出现早熟收敛现象; 另外改进了鲸鱼个体的对数螺旋搜索方式,提高了算法遍历求解的能力。
1.鲸鱼优化算法
基础鲸鱼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107559167
2. 改进鲸鱼优化算法
2.1 非线性时变的自适应权重
在基本
W
O
A
\mathrm{WOA}
WOA 算法中, 当
∣
A
∣
≥
1
|\mathrm{A}| \geq 1
∣A∣≥1 时鲸鱼进入搜索受食 阶段, 需要尽可能的扩大搜索范围, 此时较大的 A 值可以使 鲸鱼个体维持较好的探索能力; 在
∣
A
∣
<
1
|\mathrm{A}|<1
∣A∣<1 时, WOA 算法会 根据最优解的位置尽量实现更高的寻优精度, 较小的 A 值会 对应更佳的局部开发能力。也就是说
A
\mathrm{A}
A 值的变化直接影响 着算法不同阶段的全局探索能力和局部开发能力。
在基本鲸鱼优化算法中,
A
A
A 的大小是由控制参数
a
a
a 来决 定, 可以引入一个随迭代次数变化的权重因子来控制
a
a
a 的大 小变化。本文提出了一种非线性时变的自适应权重, 其定义 如下
KaTeX parse error: Expected 'EOF', got '_' at position 82: … t}{\text { Max_̲iter }}\right)\…
式 (11) 中的
k
k
k 为调节系数。
本文所提权重因子在迭代开始阶段下降较缓, 算法能维 持较好的全局探索能力; 在经过一定的迭代次数后权值迅速 下降, 使得算法在局部开发阶段能更精细搜索最优解。另外 在
W
O
A
\mathrm{WOA}
WOA 算法中因子
D
\mathrm{D}
D 和
D
′
\mathrm{D}^{\prime}
D′ 控制着当前个体与目标个体之间 的距离, 由文献 [7] 可知改变 D 和 D 变化时的速率和大小也 能调整算法寻优的精度和速度。
因此引入新的非线性时变自适应权重因子
w
w
w 后的式 (2) 和式 (9) 更新为
X
(
t
+
1
)
=
X
rand
(
t
)
−
w
A
D
(12)
X(t+1)=X_{\text {rand }}(t)-w A D \tag{12}
X(t+1)=Xrand (t)−wAD(12)
X ( t + 1 ) = w D ′ e b l cos ( 2 π l ) + X best ( t ) (13) \begin{gathered} X(t+1)=w D^{\prime} e^{b l} \cos (2 \pi l)+X_{\text {best }}(t) \end{gathered}\tag{13} X(t+1)=wD′eblcos(2πl)+Xbest (t)(13)
2.2 差分变异微扰因子
在收缩包围阶段, 鲸鱼个体主要是利用当前最佳鲸鱼个 体的位置信息并向其靠近, 根据式 (6) 和 (7) 来更新自己的 位置。在算法的求解过程中不断在最优解周围产生新的可 行解, 随着迭代过程的不断进行, 种群多样性会不断损失, 算 法也容易出现早熟收玫现象。
针对基本鲸鱼算法的这个缺点, 本文借鉴了差分进化算 法变异算子的思想, 在收缩包围阶段引入了一个差分变异微 扰因子, 其定义如下
λ
=
F
(
X
b
e
s
t
(
t
)
−
X
(
t
)
)
(14)
\lambda=F\left(X_{b e s t}(t)-X(t)\right)\tag{14}
λ=F(Xbest(t)−X(t))(14)
式中
F
F
F 为变异尺度因子。
引入差分变异微扰因子的 (7) 式更新为
X
(
t
+
1
)
=
X
best
(
t
)
−
A
D
+
λ
(15)
X(t+1)=X_{\text {best }}(t)-A D+\lambda \tag{15}
X(t+1)=Xbest (t)−AD+λ(15)
在鲸鱼的收缩包围阶段通过引入差分变异微扰因子, 可 以使得鲸鱼个体更容易跳出局部最优, 增加群体多样性, 提 高局部寻优时的求解精度。
2.3 改进的螺旋更新方式
基本 WOA 算法在螺旋更新位置阶段, 鲸鱼个体在向当 前最佳鲸鱼个体位置前进时采取的是对数螺旋更新方式, 文 献指出对数螺旋搜索方式并不一定是最佳的,如果螺 旋步进间距超过搜索范围,会使得算法不能遍历整个搜索空 间, 从而降低了算法寻优的各态历经性。本文将对数螺旋搜 索方式替换为阿基米德螺旋更新方式, (13) 式进一步改进 为
X
(
t
+
1
)
=
w
D
′
(
b
l
)
cos
(
2
π
l
)
+
X
b
e
s
t
(
t
)
(16)
X(t+1)=w D^{\prime}(b l) \cos (2 \pi l)+X_{b e s t}(t) \tag{16}
X(t+1)=wD′(bl)cos(2πl)+Xbest(t)(16)
式中
b
b
b 是常量系数,
l
l
l 是
[
−
1
,
1
]
[-1,1]
[−1,1] 之间的随机数。
3.实验结果
4.参考文献
[1]冯文涛,宋科康.一种增强型鲸鱼优化算法[J].计算机仿真,2020,37(11):275-279+357.