- 基于混沌权重和精英引导的鲸鱼优化算法
- 1.鲸鱼优化算法
- 2. 改进鲸鱼优化算法
- 2.1 精英个体引导机制
- 2.2 混沌动态权重因子
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.Python代码
摘要: 针对鲸鱼优化算法( WOA) 存在收敛精度低和收敛速度慢的问题,提出基于混沌权重和精英引导的先进鲸鱼优化算法( AWOA) 。考虑算法前期搜索的随机性对收敛速度的影响,引入精英个体引导机制,利用精英个体的进化反馈信息及时调整种群的搜索方向,加强算法的全局搜索能力。在算法后期引入混沌动态权重因子加强算法的局部搜索能力,提高算法的收敛精度。 1.鲸鱼优化算法
基础鲸鱼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107559167
2. 改进鲸鱼优化算法 2.1 精英个体引导机制在基本的 WOA 中,鲸鱼游走阶段的个体位置是通过选取随机个体来引导更新, 虽然能增加种群的搜索范围, 但 完全依靠随机性, 增加了种群无效搜索的次数, 影响收玫速 度。为了加快对猎物搜索的速度, 提出一种精英个体引导 机制。选取当前种群最优个体作为精英个体引导种群位置 更新,位置更新公式变为
X
(
t
+
1
)
=
X
p
(
t
)
−
d
i
r
⋅
A
⋅
D
(7)
boldsymbol{X}(t+1)=boldsymbol{X}_{p}(t)-boldsymbol{d i r} cdot boldsymbol{A} cdot boldsymbol{D} tag{7}
X(t+1)=Xp(t)−dir⋅A⋅D(7)
式中
X
p
(
t
)
X_{mathrm{p}}(t)
Xp(t) 为第
t
t
t 次迭代时,种群适应度最优的个体位 置。dir 为种群搜索方向因子, 比较当前种群最优个体的适 应度值 fit
(
X
p
(
t
)
)
left(boldsymbol{X}_{mathrm{p}}(t)right)
(Xp(t)) 与上一代种群最优个体适应度
f
i
t
(
X
p
f i tleft(boldsymbol{X}_{mathrm{p}}right.
fit(Xp
(
t
−
1
)
)
(t-1))
(t−1)), 若
f
i
t
(
X
p
(
t
)
)
>
f
i
t
(
X
p
(
t
−
1
)
)
f i tleft(boldsymbol{X}_{mathrm{p}}(t)right)>f i tleft(boldsymbol{X}_{mathrm{p}}(t-1)right)
fit(Xp(t))>fit(Xp(t−1)), 则
dir
operatorname{dir}
dir 为单位向 量, 否则
dir
operatorname{dir}
dir 向量的每一维通过下式得到
d
i
r
j
=
{
−
1
,
A
j
⋅
[
X
p
j
(
t
)
−
X
p
j
(
t
−
1
)
]
>
0
1
,
其他
(8)
d i r_{j}=left{begin{array}{l} -1, boldsymbol{A}_{j} cdotleft[boldsymbol{X}_{p}^{j}(t)-X_{p}^{j}(t-1)right]>0 \ 1, text { 其他 } end{array}right. tag{8}
dirj={−1,Aj⋅[Xpj(t)−Xpj(t−1)]>01, 其他 (8)
由式 (7)、式 (8) 可知, 精英个体使种群朝靠近最优解 位置进行搜索, 搜索方向因子则利用最优个体的进化反馈 信息对种群的搜索方向进行调整, 两者的加入使种群搜索 更具有目的性, 避免了因随机个体与搜索矢量
A
A
A 的随机性 而导致收玫速度较慢的问题。值得注意的是, 精英个体的 引入使得最优鲸鱼个体在鲸鱼种群搜索中扮演着领导者的 角色, 所以, 其位置的好坏决定了种群的搜索效率, 为了提 高领导者的质量, 在每次迭代中, 对精英个体进行一次随机 扰动与反向搜索操作
[
15
]
{ }^{[15]}
[15], 得到两个新的个体
X
p
∗
,
X
p
∗
∗
X_{mathrm{p}}^{*}, X_{mathrm{p}}^{* *}
Xp∗,Xp∗∗, 其 求解公式如下
X
p
∗
=
X
min
+
r
⋅
(
X
max
−
X
min
)
,
X
p
∗
k
=
X
max
+
X
min
−
X
p
∗
(9)
boldsymbol{X}_{mathrm{p}}^{*}=boldsymbol{X}_{min }+boldsymbol{r} cdotleft(boldsymbol{X}_{max }-mathrm{X}_{min }right), boldsymbol{X}_{p}^{* k}=boldsymbol{X}_{max }+boldsymbol{X}_{min }-boldsymbol{X}_{mathrm{p}}^{*} tag{9}
Xp∗=Xmin+r⋅(Xmax−Xmin),Xp∗k=Xmax+Xmin−Xp∗(9)
式中
X
min
,
X
max
X_{text {min }}, X_{text {max }}
Xmin ,Xmax 分别为搜索空间的上界和下界,
r
r
r 为
[
0
,
1
]
[0,1]
[0,1] 区间的随机向量。将得到的
X
p
∗
,
X
p
∗
k
X_{mathrm{p}}^{*}, boldsymbol{X}_{mathrm{p}}^{* k}
Xp∗,Xp∗k 替换种群中适应度最 差的两个个体, 并更新当前种群最优个体
X
p
X_{p}
Xp 。
鲸鱼算法在进入气泡网攻击阶段后, 为了加快对全局 最优值的搜索采取收缩包围机制, 然而这种机制末充分利 用全局最优解的位置信息, 只能使鲸鱼个体缓慢靠近局部 最优解, 无法在猎物附近进行快速精细搜索, 导致算法收玫 速度较慢、收敛精度较低。文献 提出非线性自适 应权重策略, 提高了 WOA 的局部寻优能力, 算法寻优速度 得到了提高, 但同时也增加了算法的计算复杂度。本文引 入一种计算简单的动态混沌权重因子, 其表达式如下
ω
(
t
+
1
)
=
4
ω
(
t
)
⋅
(
1
−
ω
(
t
)
)
,
t
=
1
,
⋯
,
t
max
(10)
omega(t+1)=4 omega(t) cdot(1-omega(t)), t=1, cdots, t_{max }tag{10}
ω(t+1)=4ω(t)⋅(1−ω(t)),t=1,⋯,tmax(10)
式中
ω
(
1
)
omega(1)
ω(1) 取
[
0
,
1
]
[0,1]
[0,1] 区间的随机数, 将式 (10) 代入式 (6), 并引入一个随迭代次数变化的收㪉因子
λ
lambda
λ, 改进后的位置 更新
X
(
t
+
1
)
=
ω
(
t
)
⋅
λ
⋅
X
best
−
A
⋅
D
,
λ
=
(
t
max
−
t
)
/
t
max
(11)
boldsymbol{X}(t+1)=omega(t) cdot lambda cdot boldsymbol{X}_{text {best }}-boldsymbol{A} cdot boldsymbol{D}, lambda=left(t_{max }-tright) / t_{max }tag{11}
X(t+1)=ω(t)⋅λ⋅Xbest −A⋅D,λ=(tmax−t)/tmax(11)
从式 (10) 中可知, 本文选取 Logistic 混沌映射, 利用其随机性、遍历性等优点动态调整惯性权重,使鲸鱼个体能在猎物周围进行更加精细、彻底地搜索,加快了算法的收敛速度,同时也降低了算法陷入局部最优的概率。其次,参数 λ随着迭代次数的增加而自适应的减小,能有效控制权重因子混沌变化的范围,缩小鲸鱼种群的寻优区域,使算法迅速收敛于全局最优解,保证了算法的收敛性。
改进算法步骤:
初始化参数。设置种群规模大小为
N
N
N, 解空间维度为
d
d
d, 最大迭代次数为
t
max
t_{max }
tmax, 产生初始化鲸鱼种群
{
X
i
,
i
=
1
,
2
left{boldsymbol{X}_{i}, i=1,2right.
{Xi,i=1,2,
⋯
,
N
}
cdots, N}
⋯,N};
while
(
t
<
t
max
)
left(t
for
i
=
1
i=1
i=1 to
N
N
N do
按式 (3) 更新
a
a
a 的值, 更新其他参数
A
,
C
,
l
A, C, l
A,C,l 和
p
p
p;
if
(
∣
A
∣
⩾
1
)
(|A| geqslant 1)
(∣A∣⩾1) do
根据式 (7)、式 (8) 更新当前个体位置;
else if
(
∣
A
∣
<
1
)
(|A|<1)
(∣A∣<1) do
if
(
p
⩾
0.5
)
d
o
(p geqslant 0.5) mathrm{do}
(p⩾0.5)do
根据式 (11) 更新当前个体位置;
else if
(
p
<
0.5
)
(p<0.5)
(p<0.5) do
根据式 (5) 更新当前个体的位置;
end if
end if
end for
t
=
t
+
1
t=t+1
t=t+1
ω
(
t
+
1
)
=
4
ω
(
t
)
⋅
(
1
−
ω
(
t
)
)
;
omega(t+1)=4 omega(t) cdot(1-omega(t)) ;
ω(t+1)=4ω(t)⋅(1−ω(t));
end while
[1]黄辉先,张广炎,陈思溢,胡拚.基于混沌权重和精英引导的鲸鱼优化算法[J].传感器与微系统,2020,39(05):113-116.
5.Matlab代码 6.Python代码


