目录
1.摘要
这项研究介绍了开普勒优化算法(KOA),这是一种基于物理的新元启发式算法,灵感来源于开普勒行星运动定律。KOA通过模拟行星的位置和速度来寻找优化问题的解决方案,其中每个行星代表一个候选解,这些候选解会根据到目前为止最好的解(象征太阳)进行随机更新。KOA通过变化的候选解在不同时间展示与太阳的不同相对位置,以更有效地探索和开发搜索空间。
2.算法原理
定义重力(F)
太阳作为太阳系最大的天体,通过其引力维持行星在椭圆轨道上的运行。行星的轨道速度与其与太阳的距离成反比:距离越近,速度越高。这些动态可以通过万有引力定律来解释,该定律描述了物体间的引力与它们的质量成正比,与距离的平方成反比。太阳XS与任何行星Xi之间的吸引力由万有引力定律定义:
F
g
i
(
t
)
=
e
i
×
μ
(
t
)
×
M
‾
s
×
m
‾
i
R
‾
i
2
+
ε
+
r
1
F_{g_{i}}\left(t\right)=e_{i}\times\mu\left(t\right)\times\frac{\overline{M}_{s}\times\overline{m}_{i}}{\overline{R}_{i}^{2}+\varepsilon}+r_{1}
Fgi(t)=ei×μ(t)×Ri2+εMs×mi+r1
其中,µ 是万有引力常数,ei 是行星轨道的偏心率。
R
‾
\overline{R}
R代表XS 和 Xi 之间的欧几里得距离:
R
i
(
t
)
=
∥
X
S
(
t
)
−
X
i
(
t
)
∥
2
=
∑
j
=
1
d
(
X
S
j
(
t
)
−
X
i
j
(
t
)
)
2
R_i(t)=\left\|X_S(t)-X_i(t)\right\|_2=\sqrt{\sum_{j=1}^d\left(X_{Sj}(t)-X_{ij}(t)\right)^2}
Ri(t)=∥XS(t)−Xi(t)∥2=j=1∑d(XSj(t)−Xij(t))2
计算物体速度
当物体靠近太阳时,由于太阳的强引力,其速度会增加;而当远离太阳时,由于引力减弱,速度会下降,这种动态行为通过 vis-viva 方程建模。KOA包括两部分:调整解间距离来调节靠近太阳的行星速度,以增强搜索多样性;减少这些距离,以降低远离太阳行星的速度,改善解多样性不足的问题。
跳出局部最优
KOA借鉴了太阳系物体绕太阳旋转的自然行为,其引入一个改变搜索方向的标志F,使算法能够有效逃离局部最优区域,增强对搜索空间的全面探索能力。
更新目标位置
KOA通过模拟天体在椭圆轨道上绕太阳的自然运动,分为探索和开发两个阶段。在探索阶段,KOA探索远离太阳的区域以寻找新的解决方案。在开发阶段,KOA则集中于利用靠近太阳的已知解决方案。
X
⃗
i
(
t
+
1
)
=
X
⃗
i
(
t
)
+
F
×
V
⃗
i
(
t
)
+
(
F
g
i
(
t
)
+
∣
r
∣
)
×
U
⃗
×
(
X
⃗
S
(
t
)
−
X
⃗
i
(
t
)
)
\vec{X}_{i}\left(t+1\right)=\vec{X}_{i}\left(t\right)+\mathcal{F}\times\vec{V}_{i}\left(t\right)+\left(\boldsymbol{F}_{\boldsymbol{g}_{i}}\left(t\right)+\left|r\right|\right)\times\vec{U}\times\left(\vec{X}_{\mathcal{S}}\left(t\right)-\vec{X}_{i}\left(t\right)\right)
X
i(t+1)=X
i(t)+F×V
i(t)+(Fgi(t)+∣r∣)×U
×(X
S(t)−X
i(t))
更新与太阳的距离
KOA通过模拟太阳与行星间距离的自然变化来优化探索和开发,其根据调节参数h的值调整操作模式:
其中,参数h定位为:
h
=
1
e
η
r
h=\frac1{e^{\eta r}}
h=eηr1
流程图
伪代码
3.结果展示
4.参考文献
[1] Abdel-Basset M, Mohamed R, Azeem S A A, et al. Kepler optimization algorithm: A new metaheuristic algorithm inspired by Kepler’s laws of planetary motion[J]. Knowledge-based systems, 2023, 268: 110454.