赞
踩
基础乌鸦搜索算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108800505
针对CSA位置更新策略一存在的盲目性,引入代际 信息交流机制,将原始算法中乌鸦个体
i
i
i追随位置随机 产生的乌鸦
j
j
j的位置更新策略改为乌鸦个体
i
i
i以第
i
i
i只乌鸦的在上一次迭代时的食物藏匿点
M
i
T
M_i^T
MiT为导向的位 置追踪更新策略,即改进后的乌鸦
i
i
i位置更新公式如下:
X
i
(
T
+
1
)
=
{
X
i
T
+
r
1
×
L
i
T
×
(
M
i
T
−
X
i
T
)
,
r
2
⩾
A
P
a rand position, otherwise
\boldsymbol{X}_{i}^{(T+1)}=\left\{XTi+r1×LTi×(MTi−XTi),r2⩾AP a rand position, otherwise \right.
Xi(T+1)={XiT+r1×LiT×(MiT−XiT),r2⩾AP a rand position, otherwise
对乌鸦搜索算法进行的这种改进调整在一定程度 上避免了
r
2
≥
A
P
r_2 ≥ AP
r2≥AP 情况下的乌鸦个体位置更新的盲目 性,使得乌鸦 i 每次向着上一代个体最优位置移动,从 而提高算法收敛速度。
CSA 参数少、结构简单,使用时一般将
A
P
AP
AP和
L
i
T
L^T_i
LiT 设置为固定值,缺乏动态参数,算法缺乏适应性。经实验本文取
A
P
=
0.1
AP = 0.1
AP=0.1 、
L
i
T
=
2
L^T_i = 2
LiT=2 ,
A
P
=
0.1
AP = 0.1
AP=0.1 使得算法倾向于 局部搜索,这虽然可以加快收敛速度,但也会使得种群 个体在解的空间内迅速的聚集,从而陷入局部最优。
L
i
T
=
2
L^T_i = 2
LiT=2时,算法倾向于全局搜索,但也使得算法的收敛性降低,导致搜索效率 不高。固定的参数设置使得 CSA 的搜索能力受限,为 进一步优化 CSA算法协调全局的探索与局部开发的能 力,本文引入正弦余弦指引机制,将正弦余弦算法 (Sine Cosine Algorithm,SCA)作为局部优化算子嵌 入乌鸦搜索算法,即在迭代后期对整个乌鸦个体进行正 弦余弦的操作指引乌鸦个体更新到新的乌鸦位置,操作方式为:
X
i
(
T
+
1
)
=
{
X
i
T
+
R
1
×
sin
(
R
2
)
×
∣
R
3
×
M
i
T
−
X
i
T
∣
,
R
4
⩽
0.5
X
i
T
+
R
1
×
cos
(
R
2
)
×
∣
R
3
×
M
i
T
−
X
i
T
∣
,
R
4
>
0.5
\boldsymbol{X}_{i}^{(T+1)}=\left\{XTi+R1×sin(R2)×|R3×MTi−XTi|,R4⩽0.5XTi+R1×cos(R2)×|R3×MTi−XTi|,R4>0.5\right.
Xi(T+1)=⎩⎨⎧XiT+R1×sin(R2)×∣∣∣R3×MiT−XiT∣∣∣,R4⩽0.5XiT+R1×cos(R2)×∣∣∣R3×MiT−XiT∣∣∣,R4>0.5
式中存在四个参数$R_1 、R_2 、R_3 $和
R
4
R_4
R4 ,
R
1
R_1
R1 决定下一次 迭代第
i
i
i个个体的位置更新方向,不同的
R
1
R_1
R1 对解的搜 索范围有着不同的影响,
R
1
=
a
−
T
×
a
/
T
m
a
x
R_1 = a - T × a/T_{max}
R1=a−T×a/Tmax ,随着迭代次 数自适应调整,缩小乌鸦个体的搜索范围,保证了算法 的收敛性,使之最终收敛于一个最优解,
a
a
a为常数,本文中取
a
=
2
a = 2
a=2 ;
R
2
R_2
R2 是属于[0,2π]的随机数,决定下一次迭代 中个体的移动距离;
R
3
R_3
R3 为随机权重取值范围为[0,2],
R
3
>
1
R_3 > 1
R3>1 时,
M
i
T
M_i^T
MiT 对下一次迭代中个体位置有较明显的影响,否则无明显影响效果;
R
4
∈
[
0
,
1
]
R_4 ∈ [0,1]
R4∈[0,1]为一个随机数,其 大小决定位置更新方式选择余弦还是正弦操作。
正弦余弦指引机制的引入,一方面可以极大地弥补 CSA算法位置更新策略存在盲目性缺点,这是由于不管 是正弦操作还是余弦操作,乌鸦个体都会与最优个体进 行信息交流,促进信息在种群中快速传播,每一个乌鸦 个体都可以充分吸收自身与最优个体的位置差信息,以 引导一般个体逐步接近最优个体,在这个过程中参数 R 1 R_1 R1 和 R 2 R_2 R2 ,也可以有效控制个体的搜索方向和距离。另 一方面,正弦余弦指引机制使得乌鸦个体进 一步在同一个空间的不同区域范围内进行全局搜索和 局部寻优,并最终收敛于同一个最优解即目标函数值。 正弦操作保证全局搜索避免错过潜在最优解以减少余 弦开发的寻优盲点,减少个体在局部最优中停滞的可能 性,而余弦操作促进局部开发弥补正弦全局搜索收敛速 度慢的缺陷,提高搜索效率,加快收敛速度。正弦余弦 相互配合,共同促进算法性能的改进。
算法流程图如下:
[1]肖子雅,刘升,韩斐斐,于建芳.正弦余弦指引的乌鸦搜索算法研究[J].计算机工程与应用,2019,55(21):52-59.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。