1.背景
2022年,MH Qais等人受到圆圈集合特征启发,提出了圆圈搜索算法(Circle Search Algorithm, CSA)。
2.算法原理
2.1算法思想
CSA基于圆圈几何特征设计,圆具有各种特征,包括直径、中心、周长和切线,半径与切线段的比值是与正交半径相对的角的正交函数。CSA在一个随机圆圈内寻找最优解,以扩大搜索范围。以圆心为目标点,切线接触点与圆周长的夹角逐渐减小,直至接近圆心。为了避免陷入局部最优解,切线接触点的角度会随机改变。
2.2算法过程
根据评估的最佳位置Xc更新搜索代理Xt的位置:
X
t
=
X
c
+
(
X
c
−
X
t
)
×
tan
(
θ
)
(1)
\mathbf{X_t}=\mathbf{X_c}+(\mathbf{X_c}-\mathbf{X_t})\times\tan(\theta)\tag{1}
Xt=Xc+(Xc−Xt)×tan(θ)(1)
角θ在CSA的探索和开发中起平衡作用:
θ
=
{
w
×
r
a
n
d
I
t
e
r
>
(
c
×
M
a
x
i
t
e
r
)
(escape from local stagnation)
w
×
p
otherwise
(2)
\theta=\left\{\begin{array}{ll}w\times rand&Iter>(\text{c}\times Maxiter)\text{(escape from local stagnation)}\\w\times p&\text{otherwise}\end{array}\right.\tag{2}
θ={w×randw×pIter>(c×Maxiter)(escape from local stagnation)otherwise(2)
参数表述为:
w
=
w
×
r
a
n
d
−
w
a
=
π
−
π
×
(
I
t
e
r
M
a
x
i
t
e
r
)
2
p
=
1
−
0.9
×
(
I
t
e
r
M
a
x
i
t
e
r
)
0.5
(3)
w=w\times rand-w\\a=\pi-\pi\times(\frac{Iter}{Maxiter})^{2}\\p=1-0.9\times(\frac{Iter}{Maxiter})^{0.5}\tag{3}
w=w×rand−wa=π−π×(MaxiterIter)2p=1−0.9×(MaxiterIter)0.5(3)
流程图
伪代码
3.结果展示
使用测试框架,测试CSA性能 一键run.m
CEC2017-F8
4.参考文献
[1] Qais M H, Hasanien H M, Turky R A, et al. Circle search algorithm: A geometry-based metaheuristic optimization algorithm[J]. Mathematics, 2022, 10(10): 1626.