1.摘要
作为一种新兴的群体智能优化算法,麻雀搜索算法(SSA)已广泛应用于许多现实世界问题中。然而, SSA存在一些缺陷,比如收敛精度低和易陷入局部最优等问题。为了解决这些问题,我们提出了一种基于三种策略的增强型多策略麻雀搜索算法(EMSSA),这些策略专门针对 SSA 的局限性:1)在均匀性-多样化定向策略中,我们提出了一种Adaptive-Tent混沌映射,以增加初始种群中的多样性和随机性;2)在危险感知转移策略中,我们基于生长函数构建了一种加权正弦余弦算法,以避免陷入局部最优停滞状态;3)在动态进化策略中,我们设计了相似的扰动函数并引入了三角相似性理论,以提高探索能力。
2.麻雀搜索算法SSA原理
3.改进策略
均匀性-多样化定向策略
麻雀搜索算法(SSA)在生成初始种群时存在种群分布不均、优化搜索范围狭窄以及缺乏多样性等问题。,为了解决这些问题,本文提出了均匀性-多样化定向策略(UDOS),旨在使初始种群更均匀分布,同时保持多样性。通过引入Adaptive-Tent混沌映射,UDOS可以实现更具随机性和多样性的初始种群:
original
_
tent
_
status
_
value
i
+
1
=
{
2
∗
s
t
a
t
u
s
_
value
i
0
<
s
t
a
t
u
s
_
valu
e
i
<
0.5
2
∗
(
1
−
s
t
a
t
u
s
_
valu
e
i
)
0.5
≤
s
t
a
t
u
s
_
valu
e
i
≤
1
\left.\text{original}\_\text{tent}\_\textit{status}\_\textit{value}_{i+1}=\left\{\begin{array}{cc}2^*status\_\text{value}_i&0<status\_\text{valu}e_i<0.5\\2^*(1-status\_\text{valu}e_i)&0.5\leq status\_\text{valu}e_i\leq1\end{array}\right.\right.
original_tent_status_valuei+1={2∗status_valuei2∗(1−status_valuei)0<status_valuei<0.50.5≤status_valuei≤1
当前一状态值为0时,Tent混沌映射的反馈机制表现不明显,导致在接近0的位置的分布不均匀,并容易形成短周期状态。为了改进这一点,文本提出了Adaptive-Tent混沌映射:
adaptive
_
t
e
n
t
_
s
t
a
t
u
s
_
v
a
l
u
e
i
+
1
=
{
1
−
δ
∗
r
a
n
d
(
0
,
1
)
s
t
a
t
u
s
_
ν
a
l
u
e
i
=
0
1
−
2
∗
s
t
a
t
u
s
_
ν
a
l
u
e
i
0
<
s
t
a
t
u
s
_
ν
a
l
u
e
i
<
0.5
2
∗
(
1
−
s
t
a
t
u
s
_
ν
a
l
u
e
i
)
0.5
≤
s
t
a
t
u
s
_
ν
a
l
u
e
i
≤
1
\left.\text{adaptive}\_tent\_status\_value_{i+1}=\left\{\begin{array}{ll}1-\delta^*\mathrm{rand}(0,1)&status\_\nu alue_i=0\\1-2^*status\_\nu alue_i&0<status\_\nu alue_i<0.5\\2^*(1-status\_\nu alue_i)&0.5\leq status\_\nu alue_i\leq1\end{array}\right.\right.
adaptive_tent_status_valuei+1=⎩
⎨
⎧1−δ∗rand(0,1)1−2∗status_νaluei2∗(1−status_νaluei)status_νaluei=00<status_νaluei<0.50.5≤status_νaluei≤1
危险感知转移策略
在麻雀觅食过程中,一些麻雀被识别为危险感知者,当感知到附近的危险时,它们会优先移动到更安全的地方。同时,种群中的麻雀被分为生产者和觅食者,这两种角色是动态的,可以相互转变。危险感知者通过识别危险并移动到更安全的位置,帮助找到解空间中的最优解。
为了解决由于移动距离受限而导致的局部最优问题,提出了危险感知转移策略(HATS)。当麻雀具有最优适应度时,其会移动到靠近其当前位置的地方,移动距离由最优与最差位置及适应度之间的比例决定。为此,本文提出了基于生长函数模型的加权正弦余弦算法,并构建了相应的调节因子:
r
f
=
λ
1
+
exp
(
(
α
.
∗
t
)
2
max
−
i
t
e
r
2
)
\begin{aligned}\mathrm{rf}&=\frac\lambda{1+\exp\left(\frac{(\alpha.*\mathrm{t})^2}{\max_{-}\mathrm{iter}^2}\right)}\end{aligned}
rf=1+exp(max−iter2(α.∗t)2)λ
为了更好地平衡算法的探索和开发能力,我们选择了生长函数的Pearle模型来构建调节因子:
w
f
=
α
.
∗
(
1
−
μ
∗
t
max
i
t
e
r
)
+
1
\mathrm{wf}=\alpha_.^*\left(1-\frac{\mu^*t}{\max_iter}\right)+1
wf=α.∗(1−maxiterμ∗t)+1
将调节因子和权重因子与正弦余弦算法相结合,将组合算法引入到危险感知者的位置更新:
p
o
s
i
i
,
d
t
+
1
=
{
w
f
.
∗
p
o
s
i
b
e
s
t
′
+
r
f
.
∗
s
i
n
(
r
2
)
.
∗
∣
r
3.
∗
p
o
s
i
i
,
d
t
−
p
o
s
i
b
e
s
t
t
∣
f
i
t
n
e
s
s
i
≠
f
i
t
n
e
s
s
g
w
f
.
∗
p
o
s
i
i
,
d
t
+
r
f
.
∗
c
o
s
(
r
2
)
.
∗
∣
r
3.
∗
p
o
s
i
i
,
d
t
−
p
o
s
i
w
o
r
s
t
t
∣
f
i
t
n
e
s
s
i
=
f
i
t
n
e
s
s
g
\mathrm{posi}_{i,d}^{t+1}=\begin{cases}\mathrm{~wf.}^{*}posi_{{\mathrm{best}}}^{\prime}+\mathrm{rf.}^{*}\mathrm{sin}(r_{2})_{.}^{*}\left|\mathrm{r}_{3.}^{*}\mathrm{posi}_{i, d}^{t}-posi_{{\mathrm{best}}}^{t}\right|&fitness_{i}\neq fitness_{g}\\\mathrm{~wf.}^{*}\mathrm{posi}_{i, d}^{t}+\mathrm{rf.}^{*}\mathrm{cos}(r_{2})_{.}^{*}\left|\mathrm{r}_{3.}^{*}\mathrm{posi}_{i, d}^{t}-posi_{{\mathrm{worst}}}^{t}\right|fitness_{i}&=fitness_{g}&&\end{cases}
posii,dt+1={ wf.∗posibest′+rf.∗sin(r2).∗
r3.∗posii,dt−posibestt
wf.∗posii,dt+rf.∗cos(r2).∗
r3.∗posii,dt−posiworstt
fitnessifitnessi=fitnessg=fitnessg
动态进化策略
根据SSA的基本原理,当麻雀种群不断更新生产者、觅食者和危险感知者的位置时,整个种群会逐渐接近解空间中的最优位置。然而,在迭代后期,个体容易聚集在局部最优解附近,从而导致算法陷入局部最优状态。为了解决这一问题,本文提出了动态进化策略DES,以增强算法在后期迭代中的搜索能力。
DES的基础是三角相似性理论,通过该理论,当前最优麻雀个体可以被搜索到相似的对应个体。首先,需要确定当前维度的搜索上限ub和搜索下限lb,其摄动奇异点:
p
−
s
=
u
b
+
l
b
2
\mathrm{p}_-\mathrm{s}=\frac{ub+lb}2
p−s=2ub+lb
假设扰动奇点映射到二维空间中的坐标
(
p
s
,
y
)
(p_s,y)
(ps,y),当前最优麻雀个体在二维空间中的坐标为
(
x
2
,
y
+
d
)
(x_2,y+d)
(x2,y+d),两点之间直线斜率为:
k
=
d
x
2
−
u
b
+
l
b
2
\mathrm{k}=\frac d{x_2-\frac{ub+lb}2}
k=x2−2ub+lbd
文设计的扰动函数的基本原理是保持函数图形与扰动奇点和当前最优个体之间的直线垂直,扰动函数的表达式:
f
p
−
f
(
x
)
=
u
b
+
l
b
−
2
∗
x
2
2
∗
d
∗
x
+
y
−
(
u
b
+
l
b
)
2
−
2
∗
x
2
∗
(
u
b
+
l
b
)
4
d
\mathrm{f}_{\mathrm{p}_-\mathrm{f}}(x)=\frac{ub+lb-2^*x_2}{2^*d}*x+y-\frac{\left(ub+lb\right)^2-2^*x_2^*(ub+lb)}{4d}
fp−f(x)=2∗dub+lb−2∗x2∗x+y−4d(ub+lb)2−2∗x2∗(ub+lb)
根据三角相似原理:
x
1
=
(
τ
+
1
)
∗
(
u
b
+
l
b
)
−
2
∗
x
2
2
∗
τ
\mathrm{x}_1=\frac{(\tau+1)^*(ub+lb)-2^*x_2}{2^*\tau}
x1=2∗τ(τ+1)∗(ub+lb)−2∗x2
流程图
4.结果展示
CEC2005
4.参考文献
[1] Ma J, Hao Z, Sun W. Enhancing sparrow search algorithm via multi-strategies for continuous optimization problems[J]. Information Processing & Management, 2022, 59(2): 102854.