目录
- 1.算法原理
- 2.改进点
- 3.结果展示
- 4.参考文献
- 5.代码获取
1.算法原理
【智能算法】麻雀搜索算法(SSA)原理及实现
2.改进点
精英反向学习策略
将精英反向学习策略应用到初始化阶段, 通过反向解的生成与精英个体的选择, 不仅使算法搜索范围得到扩大, 提高了全局搜索的能力, 也能够提高算法规避局部最优的能力:
(
x
i
j
′
)
t
=
k
(
l
b
j
t
+
u
b
j
t
)
−
x
i
j
t
(1)
(x_{ij}^{\prime})^t=k(lb_j^t+ub_j^t)-x_{ij}^t\tag{1}
(xij′)t=k(lbjt+ubjt)−xijt(1)
阶段性控制步长策略
提出一种基于警戒值的螺旋式搜索策略,用于在扩大搜索范围的同时逼近最优解。为了提升搜索精度和收敛速度,引入了非线性衰减因子μ,使得算法初期可以广泛搜索不同区域,而中后期则集中优化已知区域。改进后的发现者位置更新:
x
i
,
j
t
+
1
=
{
x
b
j
t
+
∣
x
i
,
j
t
−
x
b
j
t
∣
×
e
l
×
cos
(
2
π
l
)
R
2
<
0.5
x
i
,
j
t
×
μ
,
0.5
⩽
R
2
<
S
T
′
x
i
,
j
t
+
Q
,
R
2
⩾
S
T
′
(2)
x_{i,j}^{t+1}=\begin{cases}xb_j^t+|x_{i,j}^t-xb_j^t|\times\mathrm{e}^l\times\cos(2\pi l)\\[2ex]R_2<0.5\\[2ex]x_{i,j}^t\times\mu,0.5\leqslant R_2<\mathrm{S}T^{\prime}\\[2ex]x_{i,j}^t+Q,R_2\geqslant\mathrm{S}T^{\prime}\end{cases}\tag{2}
xi,jt+1=⎩
⎨
⎧xbjt+∣xi,jt−xbjt∣×el×cos(2πl)R2<0.5xi,jt×μ,0.5⩽R2<ST′xi,jt+Q,R2⩾ST′(2)
各参数表述为:
l
=
(
a
−
1
)
×
r
a
n
d
+
1
a
=
(
−
t
i
t
e
r
max
)
−
1
μ
=
1
a
×
t
i
t
e
r
max
e
(3)
l=(a-1)\times rand+1\\a=\left(-\frac t{iter_{\max}}\right)-1\\\mu=\frac1{a\times\frac t{iter_{\max}}}\\\mathrm{e}\tag{3}
l=(a−1)×rand+1a=(−itermaxt)−1μ=a×itermaxt1e(3)
混沌余弦变化因子
在发现者寻找到最优解并引领种群收敛的情况下, 其余跟随者的迅速靠拢是跳跃式的, 这会导致算法陷入局部最优, 降低了算法的多样性。 在跟随者的位置更新中引入混沌余弦变化因子, 通过在不同阶段调整, 加强跟随者对未知区域的广泛探索, 降低陷入局部最优的概率:
η
=
e
(
δ
×
cos
(
π
2
u
)
u
=
1
−
t
i
t
e
r
m
a
x
(4)
\begin{aligned}\eta&=\mathrm{e}^{\left(\delta\times\cos\left(\frac\pi2u\right.\right)}\\\\u&=1-\frac t{iter_{\mathrm{max}}}\end{aligned}\tag{4}
ηu=e(δ×cos(2πu)=1−itermaxt(4)
采用 Circle 混沌映射生成相关参数:
y
i
+
1
=
m
o
d
(
y
i
+
0.2
−
(
0.5
2
π
)
sin
(
2
π
y
i
)
,
1
)
(5)
y_{i+1}=\mathrm{mod}\left(y_i+0.2-\left(\frac{0.5}{2\pi}\right)\sin\left(2\pi y_i\right),1\right)\tag{5}
yi+1=mod(yi+0.2−(2π0.5)sin(2πyi),1)(5)
改进后的跟随者位置更新:
x
i
,
j
t
+
1
=
{
Q
×
exp
(
x
w
j
′
−
x
i
,
j
′
i
2
)
,
i
>
n
2
x
b
j
t
+
1
+
∣
x
i
,
j
′
−
x
b
j
t
+
1
∣
×
L
×
A
+
×
η
×
cos
(
2
π
k
)
,
i
⩽
n
2
(6)
x_{i,j}^{t+1}=\begin{cases}Q\times\exp\Bigl(\frac{xw_j^{\prime}-x_{i,j}^{\prime}}{i^2}\Bigr) ,i>\frac{n}{2}\\xb_j^{t+1}+\bigl| x_{i,j}^{\prime}-xb_j^{t+1} \bigr|\times\\\boldsymbol{L}\times\boldsymbol{A}^{+}\times\eta\times\cos(2\pi\boldsymbol{k} ) ,i\leqslant\frac{n}{2}\end{cases}\tag{6}
xi,jt+1=⎩
⎨
⎧Q×exp(i2xwj′−xi,j′),i>2nxbjt+1+
xi,j′−xbjt+1
×L×A+×η×cos(2πk),i⩽2n(6)
自适应选择机制的 Lévy 飞行
提出一种自适应选择机制的 Lévy 飞行策略, 通过随迭代次数不断减小的自适应因子p , 随机选择麻雀个体进行 Lévy 飞行扰动, 增强麻雀位置的多样性。自适应选择因子:
p
=
1
−
t
i
t
e
r
max
e
i
t
e
r
max
−
t
i
t
e
r
max
(7)
p=1-\frac t{iter_{\max}}\mathrm{e}^{\frac{iter_{\max}-t}{iter_{\max}}}\tag{7}
p=1−itermaxteitermaxitermax−t(7)
Lévy 飞行的位置更新:
(
x
i
′
)
t
=
x
i
t
+
m
⊕
L
e
v
y
(
λ
)
(8)
(x_i^{\prime})^t=x_i^t+m\oplus Levy(\lambda)\tag{8}
(xi′)t=xit+m⊕Levy(λ)(8)
3.结果展示
比较困难的F7,F8
4.参考文献
[1] 李江华,王鹏晖,李伟.一种混合多策略改进的麻雀搜索算法[J].计算机工程与科学,2024,46(02):303-315.
5.代码获取
【资源清单】代码资源清单导航~