基于自适应调整权重和搜索策略的鲸鱼优化算法
文章目录
摘要:针对鲸鱼优化算法( WOA) 收敛速度慢、收敛精度低、易陷入局部最优的问题,提出一种基于自适应调整权重和搜索策略的鲸鱼优化算法( AWOA) . 设计一种随着鲸鱼种群变化情况而自适应调整权重的方法,提高了算法的收敛速度; 设计一种自适应调整搜索策略,提高了算法跳出局部最优的能力。
1.鲸鱼优化算法
基础鲸鱼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107559167
2. 改进鲸鱼优化算法
2.1 自适应调整权重
惯性权重作为鲸鱼优化算法中一个重要的参 数, 对目标函数的优化求解起到了很大的作用. 合 适的权重值对算法寻优能力的提升有很大帮助. 由于
W
O
A
\mathrm{WOA}
WOA 在优化求解的过程中, 线性的惯性权 重调整策略若选择不合适, 将影响算法的收敛速 度. 因此, 本文提出了一种根据当前鲸鱼种群分布 情况来自适应改变权值的大小, 公式如下:
w
=
d
1
⋅
(
P
i
worst
−
P
i
ibest
)
+
d
2
⋅
(
x
i
upper
−
x
i
lower
)
/
n
g
⋅
(5)
w=d_{1} \cdot\left(\boldsymbol{P}_{i \text { worst }}-\boldsymbol{P}_{i \text { ibest }}\right)+d_{2} \cdot\left(x_{i}^{\text {upper }}-x_{i}^{\text {lower }}\right) / n_{\mathrm{g}} \cdot \tag{5}
w=d1⋅(Pi worst −Pi ibest )+d2⋅(xiupper −xilower )/ng⋅(5)
(5) 式中:
n
g
n_{\mathrm{g}}
ng 表示当前种群的迭代次数;
x
i
upper
x_{\mathrm{i}}^{\text {upper }}
xiupper 和
x
i
lower
x_{\mathrm{i}}^{\text {lower }}
xilower 分别为变量
x
i
x_{i}
xi 的上界和下界;
P
iwort
\boldsymbol{P}_{\text {iwort }}
Piwort 和
P
ibest
\boldsymbol{P}_{\text {ibest }}
Pibest 分别为 当前鲸鱼种群中最差鲸鱼的位置向量和最优鲸鱼 的位置向量;
d
1
d_{1}
d1 和
d
2
d_{2}
d2 是两个常数. 因此, 当前鲸鱼 个体自适应调整权重收缩包围更新位置和自适应 调整权重螺旋更新位置公式如下:
X
(
t
+
1
)
=
w
⋅
X
∗
(
t
)
−
A
⋅
D
(6)
\boldsymbol{X}(t+1)=w \cdot \boldsymbol{X}^{*}(t)-A \cdot \boldsymbol{D} \tag{6}
X(t+1)=w⋅X∗(t)−A⋅D(6)
X ( t + 1 ) = w ⋅ X ∗ ( t ) + D p ′ ⋅ e b ⋅ ⋅ cos ( 2 π l ) (7) \boldsymbol{X}(t+1)=w \cdot \boldsymbol{X}^{*}(t)+\boldsymbol{D}_{p}^{\prime} \cdot \mathrm{e}^{b \cdot} \cdot \cos (2 \pi l) \tag{7} X(t+1)=w⋅X∗(t)+Dp′⋅eb⋅⋅cos(2πl)(7)
在引人自适应调整权重搜索策略后, 算法可 以根据当前鲸鱼种群的分布情况自适应地改变权 值的大小. 在算法迭代初期, 若鲸鱼种群陷人局部 最优解, 并且最优解和最差解差别不大时, d 2 ⋅ ( x i upper − x i lower ) / n g d_{2} \cdot\left(x_{i}^{\text {upper }}-x_{i}^{\text {lower }}\right) / n_{\mathrm{g}} d2⋅(xiupper −xilower )/ng 的值并不受种群分布情况的 影响, 这部分的设计依然可以得到较大的权重值 w w w, 避免了算法在迭代初期就陷人小范围搜索的 缺陷; 随着鲸鱼种群迭代次数的增加, d 2 ⋅ ( x i upper − d_{2} \cdot\left(x_{i}^{\text {upper }}-\right. d2⋅(xiupper − x i lower ) / n g \left.x_{i}^{\text {lower }}\right) / n_{\mathrm{g}} xilower )/ng 的值会逐渐变小, 其对权重 w w w 的影响减 小,若此时算法并末得到最优解, d 1 ⋅ ( P iworst − d_{1} \cdot\left(\boldsymbol{P}_{\text {iworst }}-\right. d1⋅(Piworst − P ibest ) \left.\boldsymbol{P}_{\text {ibest }}\right) Pibest ) 的设计就可以对权重值 w w w 起到主导作用, 可以使算法以较大的步长寻优. 这样设计自适应 调整权重 w w w 的好处在于, 其值由两部分决定, 前 半部分对种群迭代次数过大时起主要调节作用, 后半部分对种群陷人局部最优时起主要调节作 用. 权重 w w w 前后两部分会根据当前种群位置的变 化情况而发生变化, 不拘于某种固定的形式, 具 有很强的自适应性.
2.2 自适应调整搜索策略
为防止算法陷入局部最优,随机搜索阶段,个体根据概率阈值 Q 来选取随机搜索的更新方式概率阈值定义为
Q
=
∣
f
ˉ
−
f
min
∣
∣
f
max
−
f
min
∣
(8)
Q=\frac{\left|\bar{f}-f_{\min }\right|}{\left|f_{\max }-f_{\min }\right|} \tag{8}
Q=∣fmax−fmin∣∣
∣fˉ−fmin∣
∣(8)
式中:
f
ˉ
\bar{f}
fˉ 表示当前鲸鱼种群的平均适应度值;
f
min
f_{\text {min }}
fmin 为当前鲸鱼种群中最好的适应度值;
f
max
f_{\max }
fmax 为当前鲸 鱼种群中最差的适应度值. 对于每个鲸鱼个体, 以 一个
[
0
,
1
]
[0,1]
[0,1] 之间的随机数
q
q
q 与计算出的概率阈值
Q
Q
Q 进行数值比较. 若
q
<
Q
q<Q
q<Q, 随机选取的鲸鱼个体
X
rand
\boldsymbol{X}_{\text {rand }}
Xrand 根据式( 9) 更新其位置, 其他鲸鱼个体位置不 变; 否则, 其他鲸鱼个体根据式 (4) 更新其位置. 这样设计使得算法在迭代前期能以较大的概率在 全局范围内随机产生一组解, 避免鲸鱼因聚集在 一起而导致种群多样性的缺失, 增强了算法的全 局搜索能力.
X
rand
=
X
j
min
+
r
⋅
(
X
j
max
−
X
j
min
)
(9)
\boldsymbol{X}_{\text {rand }}=\boldsymbol{X}_{j \text { min }}+r \cdot\left(\boldsymbol{X}_{\boldsymbol{j} \text { max }}-\boldsymbol{X}_{\boldsymbol{j} \text { min }}\right) \tag{9}
Xrand =Xj min +r⋅(Xj max −Xj min )(9)
式中:
r
r
r 为
[
0
,
1
]
[0,1]
[0,1] 之间的随机数;
X
min
,
X
max
\boldsymbol{X}_{\text {min }}, \boldsymbol{X}_{\text {max }}
Xmin ,Xmax 分别为 变量
X
rand
\boldsymbol{X}_{\text {rand }}
Xrand 取值的最小值和最大值.
3.实验结果
4.参考文献
[1]孔芝,杨青峰,赵杰,熊浚钧.基于自适应调整权重和搜索策略的鲸鱼优化算法[J].东北大学学报(自然科学版),2020,41(01):35-43.