一、理论基础
1、基本正弦余弦算法
请参考这里。
2、混合策略改进的正弦余弦算法(MI-SCA)
(1)曲线调节因子
提出一种前期下降慢、后期下降快的凸形正切曲线函数作为调节因子,使算法的全局搜索和局部开发得到更好的平衡。调节因子为 R 1 = 1 − β × t a n h ( a T × ( t T ) 4 ) (1) R_1=1-\beta×tanh(\frac aT×\left(\frac tT\right)^4)\tag{1} R1=1−β×tanh(Ta×(Tt)4)(1)其中, a a a是常数,取值为 a = 2 a=2 a=2; β \beta β是调节系数,经过多次实验得知 β \beta β为0.05时算法在基准函数中取得的优化结果为最优,因此本文将其取值为 β = 0.05 \beta=0.05 β=0.05。
(2)自适应权重系数
受文献[2]中母狮移动方式的启发,提出一种自适应权重 w w w,使个体位置在算法中对个体的移动方向和距离产生较大的影响,有效提高算法开发能力。其中 w w w的数学模型为 w = μ × s i n h ( 1 − 20 t T ) 8 (2) w=\mu×sinh(1-20\frac tT)^8\tag{2} w=μ×sinh(1−20Tt)8(2)其中, μ \mu μ是权重因子,加入权重系数的正弦余弦算法位置更新公式为 X i d ( t + 1 ) = { w ( X i d ( t ) + R 1 × s i n ( R 2 ) × ∣ R 3 P b e s t d ( t ) − X i d ( t ) ∣ ) R 4 < 0.5 w ( X i d ( t ) + R 1 × c o s ( R 2 ) × ∣ R 3 P b e s t d ( t ) − X i d ( t ) ∣ ) R 4 ≥ 0.5 (3) X_i^d(t+1)=\begin{dcases}w(X_i^d(t)+R_1×sin(R_2)×|R_3P_{best}^d(t)-X_i^d(t)|)\quad R_4<0.5\\w(X_i^d(t)+R_1×cos(R_2)×|R_3P_{best}^d(t)-X_i^d(t)|)\quad R_4≥0.5\end{dcases}\tag{3} Xid(t+1)={w(Xid(t)+R1×sin(R2)×∣R3Pbestd(t)−Xid(t)∣)R4<0.5w(Xid(t)+R1×cos(R2)×∣R3Pbestd(t)−Xid(t)∣)R4≥0.5(3)
(3)逐维交叉学习策略
SCA每一次迭代通过正弦和余弦函数的变化来逐维更新个体的位置,但是忽略了最优个体的引导作用。所以本文引入了逐维交叉学习策略,作用于最优个体位置,使其能够摆脱局部最优的约束,增加种群多样性,提高算法全局寻优能力。
定义
\quad
逐维交叉学习。在
d
d
d维搜索空间中,假设
V
=
(
v
1
,
v
2
,
⋯
,
v
d
)
\boldsymbol V=(v^1,v^2,\cdots,v^d)
V=(v1,v2,⋯,vd)是最优个体的位置,
u
d
u^d
ud是空间中随机选取的某一维的分量,则按交叉概率随机产生新的最优个体位置
P
=
(
p
1
,
p
2
,
⋯
,
p
d
)
P=(p^1,p^2,\cdots,p^d)
P=(p1,p2,⋯,pd)定义为
p
d
=
{
u
d
+
(
v
d
−
u
d
)
t
T
r
a
n
d
>
c
r
v
d
o
t
h
e
r
w
i
s
e
(4)
p^d=\begin{dcases}u^d+(v^d-u^d)\frac tT\quad rand>cr\\v^d\quad\quad\quad\quad\quad\quad\quad\, otherwise\end{dcases}\tag{4}
pd=⎩⎨⎧ud+(vd−ud)Ttrand>crvdotherwise(4)其中,
c
r
cr
cr是交叉概率,随着迭代次数的增加,自适应地调整交叉概率的大小。算法前期交叉概率较大,有利于全局探索,后期交叉概率较小,有利于局部开发,加快寻优速度,表达式为
c
r
=
1
−
0.5
×
l
g
(
t
T
)
(5)
cr=1-0.5×lg(\frac tT)\tag{5}
cr=1−0.5×lg(Tt)(5)随后利用了贪婪原则判断是否更新最优个体位置,即当更新后的位置优于原位置,才进行位置更新,否则保留原位置。
v
d
=
{
p
d
f
(
p
d
)
<
f
(
v
d
)
v
d
o
t
h
e
r
w
i
s
e
(6)
v^d=\begin{dcases}p^d\quad f(p^d)<f(v^d)\\v^d\quad otherwise\end{dcases}\tag{6}
vd={pdf(pd)<f(vd)vdotherwise(6)基于贪婪原则的判断使改进算法能够充分利用迭代过程中的最优位置引导其他个体位置更新,有效地提高算法收敛速度。
二、算法流程图
三、实验仿真与分析
将蚁狮算法(ALO)、樽海鞘算法(SSA)、原始SCA与M-SCA作比较,验证本文改进算法的有效性,其中ALO、SSA、SCA、MI-SCA的共有参数统一设置,ALO和SSA的其他参数设置与提出文献一致。以文献[1]的测试函数为例。
仿真实验结果表明本文MI-SCA寻优精度和寻优速度均有大幅度提升,并且相对于其他改进算法仍具有明显竞争力,证明了MI-SCA在求解优化函数时具有更好的优化性能。
四、参考文献
[1] 林杰, 何庆. 混合策略改进正弦余弦算法[J]. 计算机应用研究, 2020, 37(12): 3612-3617.
[2] 刘生建, 杨艳, 周永权. 一种群体智能算法——狮群算法[J]. 模式识别与人工智能, 2018, 31(5): 431-441.