自学习策略和Levy飞行的正弦余弦优化算法
摘要:针对正弦余弦算法(SCA,sine cosine algorithm)局部搜索能力差的缺陷,提出自学习策略和Levy飞 行的正弦余弦优化算法 (SCASL,sine cosine optimization algorithm with self learning strategy and levy flight) 。首先,提出正弦余弦算法自学习策略和非线性权重因子,使搜索个体记忆自身历史最优位置,在寻优过程中指导搜索个体更新位置,提高SCA的局部搜索能力;算法寻优后期,当搜索陷入局部最优时,采用基于Levy飞行的停滞扰动策略使算法跳出局部最优,提高SCA 的局部最优规避能力。
1.正余弦算法
基础正余弦优化算法算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107762654
2. 改进的正弦余弦优化算法
2.1 自学习策略
通过对SCA种群更新模型分析,算法在整个寻优迭代过程中,搜索个体的位置更新对于搜索个体本身位置的依赖程度始终不变,导致算法在寻优前期的全局搜索能力不强;算法种群在整个迭代过程中主要受当前最优解的指导,致使迭代后期种群多样性急剧下降,易于陷入局部最优,出现早熟收敛现象。鉴于此,受粒子群算法中惯性权重控制参数启发,引入非线性调整参数 ω 用于调节种群迭代过程中搜索个体对当前自身位置信息的依赖,以提高算法的全局搜索能力。迭代前期,搜索个体的位置更新应低程度地依赖自身位置信息,以便于搜索更大的空间,提高算法的全局搜索能力;迭代后期应高程度地依赖自身位置信息与当前最优解位置信息,以提高算法的收敛速度,得到全局最优解。非线性调整参数 ω 更新公式为:
ω
=
(
t
/
t
max
)
2
(3)
\omega=\left(t / t_{\max }\right)^{2} \tag{3}
ω=(t/tmax)2(3)
此外,针对种群迭代过程中只依赖于当前种群最优解易于陷入局部最优的缺陷,对比粒子群算法中“自学习环节”和“社会学习环节”,SCA种群更新模型中只包含“社会学习环节”,研究在每次迭代过程中将每个个体搜索到的历史最优解保存下来,引入“自学习环节”提高种群多样性,避免陷入局部最优,改进算法的搜索性能。引入非线性权重因子和“自学习环节”后的搜索个体位置更新公式为:
X
i
t
+
1
=
{
ω
⋅
X
i
t
+
r
1
⋅
sin
(
r
2
)
⋅
(
∣
X
∗
−
X
i
t
∣
+
∣
X
i
∗
−
X
i
t
∣
)
,
r
4
<
0.5
,
ω
⋅
X
i
t
+
r
1
⋅
cos
(
r
2
)
⋅
(
∣
X
∗
−
X
i
t
∣
+
∣
X
i
∗
−
X
i
t
∣
)
,
r
4
⩾
0.5
,
(4)
X_{i}^{t+1}=\left\{\begin{array}{l} \omega \cdot X_{i}^{t}+r_{1} \cdot \sin \left(r_{2}\right) \cdot\left(\left|X^{*}-X_{i}^{t}\right|+\left|X_{i}^{*}-X_{i}^{t}\right|\right), r_{4}<0.5, \\ \omega \cdot X_{i}^{t}+r_{1} \cdot \cos \left(r_{2}\right) \cdot\left(\left|X^{*}-X_{i}^{t}\right|+\left|X_{i}^{*}-X_{i}^{t}\right|\right), r_{4} \geqslant 0.5, \end{array}\right. \tag{4}
Xit+1={ω⋅Xit+r1⋅sin(r2)⋅(∣X∗−Xit∣+∣Xi∗−Xit∣),r4<0.5,ω⋅Xit+r1⋅cos(r2)⋅(∣X∗−Xit∣+∣Xi∗−Xit∣),r4⩾0.5,(4)
式中
X
i
∗
X^*_i
Xi∗为第 i 个搜索个体搜索到的历史最优位置。
2.2 停滞扰动策略
Levy 过程是一个连续时间的随机过程,该理论最早是由法国科学家提出。研究人员通过对Lévy 过程的研究发现,自然界中很多动物的活动规律均与 Lévy 过程的特点吻合,反过来,研究人员通过对多种动物基于Lévy 过程的觅食活动特点研究,提出了Lévy 飞行觅食理论。 Lévy 飞行的特点为长时间以较小步长随机游走,偶尔以较大步长进行方向突变跳跃,与智能优化算法中的全局搜索和局部搜索特征相似。因此,Lévy 飞行被研究人员广泛应用在各种优化算法中,用于产生随机步长,在种群搜索个体更新过程中施加一个扰动量,丰富种群多样性,提高算法的搜索能力 。 Lévy 飞行的随机游走步长服从一个重尾的概率分布,称之为Lévy 分布,其幂律分布的形式为:
L
(
s
)
∼
∣
s
∣
−
1
−
β
,
β
∈
(
0
,
2
)
,
(5)
L(s) \sim|s|^{-1-\beta}, \beta \in(0,2),\tag{5}
L(s)∼∣s∣−1−β,β∈(0,2),(5)
式中:s 为随机步长;β 为指数参数,决定 Lévy 分布的形状, β 值越大,生成的随机步长越小。该分布形式直接使用简单的 Matlab 程序语言难以实现。因此,采用 Mantegna所提出的生成 Lévy 飞行随机搜索路径L ( λ )的方法生成Lévy 飞行随机步长 ,其模型为:
s
=
u
/
∣
v
∣
1
β
,
(6)
s=u /|v| \frac{1}{\beta}, \tag{6}
s=u/∣v∣β1,(6)
{ σ u = [ Γ ( 1 + β ) ⋅ sin ( π ⋅ β / 2 ) Γ ( ( 1 + β ) / 2 ) ⋅ β ⋅ 2 ( β − 1 ) / 2 ] 1 β , σ v = 1 , (7) \left\{\begin{array}{l} \sigma_{u}=\left[\frac{\Gamma(1+\beta) \cdot \sin (\pi \cdot \beta / 2)}{\Gamma((1+\beta) / 2) \cdot \beta \cdot 2^{(\beta-1) / 2}}\right]^{\frac{1}{\beta}}, \\ \sigma_{v}=1, \end{array}\right. \tag{7} ⎩⎨⎧σu=[Γ((1+β)/2)⋅β⋅2(β−1)/2Γ(1+β)⋅sin(π⋅β/2)]β1,σv=1,(7)
式中: s s s为随机游走步长, u u u和 v v v均为服从正态分布的参数,即 u ~ N ( 0 , , σ u 2 ) u~N(0,,σ_u^2 ) u~N(0,,σu2), v ~ N ( 0 , σ v 2 ) v~N(0,\sigma_v^2) v~N(0,σv2), Γ ( x ) Γ(x) Γ(x) 为 gamma函数。
易于陷入局部最优,出现早熟收敛现象是大多数智能优化算法所面临的问题,SCA 由于其架构特点更是如此。随着寻优过程中迭代次数的增加,当种群所有个体搜索到的历史最优个体的适应度值均值连续5次迭代不再变化,则认为搜索陷入停滞,此时采用Lévy 飞行随机游走策略更新种群搜索个体的位置,提高种群多样性,使算法跳出局部最优。基于Lévy 飞行的停滞扰动策略模型为:
X
i
t
+
1
=
X
∗
+
randn
⋅
Levy
(
X
i
)
+
randn
⋅
∣
X
i
∗
−
X
i
t
∣
,
(8)
X_{i}{ }^{t+1}=X^{*}+\operatorname{randn} \cdot \operatorname{Levy}\left(X_{i}\right)+\operatorname{randn} \cdot\left|X_{i}{ }^{*}-X_{i}{ }^{t}\right|, \tag{8}
Xit+1=X∗+randn⋅Levy(Xi)+randn⋅∣∣Xi∗−Xit∣∣,(8)
Levy ( X i ) = α ⋅ s ⋅ ( X ∗ − X i t ) , (9) \operatorname{Levy}\left(X_{i}\right)=\alpha \cdot s \cdot\left(X^{*}-X_{i}{ }^{t}\right), \tag{9} Levy(Xi)=α⋅s⋅(X∗−Xit),(9)
式中:randn为服从正态分布的随机量; α ∈ [ − 1 , 1 ] α\in [-1,1] α∈[−1,1]为比例因子。
算法:自学习策略和Lévy 飞行的正弦余弦算法
Step1 :设置算法的基本参数:种群数目 N ,最大迭代次数
t
m
a
x
tmax
tmax ,问题维度
D
D
D ,比例因子
α
α
α , Lévy 飞行指数
参数 β ;
Step2:随机初始化初始种群搜索个体在搜索空间的位置信息,并进行边界控制;
Step3 :计算每个个体的适应度值,更新当前搜索到的最优个体位置信息以及每个搜索个体搜索到的历
史最优位置信息;
Step4:判断搜索是否陷入停滞,如果停滞,执行Step5;否则,执行Step6 ;
Step5 :采用停滞扰动策略更新种群搜索个体的位置,执行Step7 ;
Step6:更新控制参数
r
1
r_1
r1 ,
r
2
r_2
r2 ,
r
4
r_4
r4,
w
w
w ,采用式( 4 )更新种群搜索个体的位置;
Step7:对新个体位置进行边界控制,对越界值进行随机初始化;
Step8:计算每个个体的适应度值,更新当前搜索到的最优个体位置信息以及每个搜索个体搜索到的历
史最优位置信息;
Step9:判断是否满足算法结束条件,不满足,则执行Step4 ;否则,输出得到的最优值,算法寻优结束。
3.实验结果
4.参考文献
1]李银通,韩统,赵辉,王骁飞.自学习策略和Lévy飞行的正弦余弦优化算法[J].重庆大学学报,2019,42(09):56-66.