1.背景
2022年,M Mirrashid等人受到天体运动规律启发,提出了凌日搜索算法(Transit Search, TS)。
2.算法原理
2.1算法思想
TS模拟了天体运行状态,具有星系阶段、恒星阶段、凌日阶段、行星阶段、邻居阶段和开发阶段。
2.2算法过程
星系阶段:
首先随机生成一个d维向量Lr作为星系中心,然后在其周围选取ns*SN个d维候选向量作为候选星系:
L
R
=
{
L
G
a
l
a
x
y
+
c
1
L
G
a
l
a
x
y
−
L
r
−
N
o
i
s
e
i
f
z
=
1
L
G
a
l
a
x
y
+
c
1
L
G
a
l
a
x
y
+
L
r
−
N
o
i
s
e
i
f
z
=
2
(1)
\boldsymbol{L}_R=\begin{cases}\boldsymbol{L}_{Galaxy}+c_1\boldsymbol{L}_{Galaxy}-\boldsymbol{L}_r-Noise&\quad\mathrm{if}z=1\\\boldsymbol{L}_{Galaxy}+c_1\boldsymbol{L}_{Galaxy}+\boldsymbol{L}_r-Noise&\quad\mathrm{if}z=2\end{cases}\tag{1}
LR={LGalaxy+c1LGalaxy−Lr−NoiseLGalaxy+c1LGalaxy+Lr−Noiseifz=1ifz=2(1)
对每个向量计算适应度函数。最后从中选择值最小的ns个作为初始集进行更新,从而获得ns个d维星体的群体:
L
S
=
{
L
R
+
c
3
L
R
−
c
2
L
r
−
N
o
i
s
e
i
f
z
=
1
L
R
+
c
3
L
R
+
c
2
L
r
−
N
o
i
s
e
i
f
z
=
2
(2)
\boldsymbol{L}_S=\begin{cases}\boldsymbol{L}_R+\boldsymbol{c}_3\boldsymbol{L}_R-\boldsymbol{c}_2\boldsymbol{L}_r-\boldsymbol{Noise}&\quad\mathrm{if}z=1\\\boldsymbol{L}_R+\boldsymbol{c}_3\boldsymbol{L}_R+\boldsymbol{c}_2\boldsymbol{L}_r-\boldsymbol{Noise}&\quad\mathrm{if}z=2&\end{cases}\tag{2}
LS={LR+c3LR−c2Lr−NoiseLR+c3LR+c2Lr−Noiseifz=1ifz=2(2)
搜索阶段:
Transit阶段:对星系阶段的初始集进行更新,计算光度值Li。如果新的光度值小于原始光度值,则确定为凌日发生:
L
i
=
R
i
/
n
s
(
d
i
)
2
i
=
1
,
…
,
n
s
(3)
L_i=\frac{R_i/n_s}{\left(d_i\right)^2}\quad i=1,\ldots,ns\tag{3}
Li=(di)2Ri/nsi=1,…,ns(3)
di 是随机值代表观测点 LT ,在优化过程中保持不变,用于计算与第 i 个解的距离。
如果凌日发生,执行行星阶段:多次计算式(4)取平均值确定位置:
L
z
=
(
c
4
L
T
+
R
L
L
S
)
/
2
i
=
1
,
…
,
n
s
L
P
=
{
L
z
+
c
5
L
r
i
f
z
=
1
L
z
−
c
5
L
r
i
f
z
=
2
L
z
+
c
6
L
r
i
f
z
=
3
(4)
\begin{aligned}&\boldsymbol{L}_z=\left(c_4\boldsymbol{L}_T+R_L\boldsymbol{L}_S\right)/2\quad i=1,\ldots,\boldsymbol{n}_s\\&\boldsymbol{L}_P=\begin{cases}L_z+c_5\boldsymbol{L}_r&\mathrm{~if~}z=1\\L_z-c_5\boldsymbol{L}_r&\mathrm{~if~}z=2\\L_z+\boldsymbol{c}_6\boldsymbol{L}_r&\mathrm{~if~}z=3&\end{cases}\end{aligned}\tag{4}
Lz=(c4LT+RLLS)/2i=1,…,nsLP=⎩
⎨
⎧Lz+c5LrLz−c5LrLz+c6Lr if z=1 if z=2 if z=3(4)
如果凌日没有发生,执行邻域阶段:则根据式(5)对周围进行邻域搜索,对𝐿𝑛取运行SN次的平均值作为最终位置:
L
z
=
(
c
7
L
s
+
c
7
L
r
)
/
2
L
P
=
{
L
z
−
c
8
L
r
i
f
z
=
1
L
z
+
c
8
L
r
i
f
z
=
2
L
z
+
c
9
L
r
i
f
z
=
3
(5)
\begin{aligned}&\boldsymbol{L}_z=\left(c_7\boldsymbol{L}_s+c_7\boldsymbol{L}_r\right)/2\\&\boldsymbol{L}_P=\begin{cases}\boldsymbol{L}_z-c_8\boldsymbol{L}_r&\quad\mathrm{if}z=1\\\boldsymbol{L}_z+c_8\boldsymbol{L}_r&\quad\mathrm{if}z=2\\\boldsymbol{L}_z+\boldsymbol{c}_9\boldsymbol{L}_r&\quad\mathrm{if}z=3&\end{cases}\end{aligned}\tag{5}
Lz=(c7Ls+c7Lr)/2LP=⎩
⎨
⎧Lz−c8LrLz+c8LrLz+c9Lrifz=1ifz=2ifz=3(5)
探索阶段:
L
E
=
{
c
11
L
p
+
c
10
(
c
12
)
P
L
r
i
f
c
k
=
1
c
11
L
p
−
c
10
(
c
12
)
P
L
r
i
f
c
k
=
2
L
p
−
c
10
(
c
12
)
P
L
r
i
f
c
k
=
3
L
p
+
c
10
(
c
12
)
P
L
r
i
f
c
k
=
4
(6)
\boldsymbol{L}_E=\begin{cases}c_{11}\boldsymbol{L}_p+c_{10}\left(\boldsymbol{c}_{12}\right)^P\boldsymbol{L}_r&\quad\mathrm{if}c_k=1\\c_{11}\boldsymbol{L}_p-c_{10}\left(\boldsymbol{c}_{12}\right)^P\boldsymbol{L}_r&\quad\mathrm{if}c_k=2\\\boldsymbol{L}_p-c_{10}\left(\boldsymbol{c}_{12}\right)^P\boldsymbol{L}_r&\quad\mathrm{if}c_k=3\\\boldsymbol{L}_p+c_{10}\left(\boldsymbol{c}_{12}\right)^P\boldsymbol{L}_r&\quad\mathrm{if}c_k=4&\end{cases}\tag{6}
LE=⎩
⎨
⎧c11Lp+c10(c12)PLrc11Lp−c10(c12)PLrLp−c10(c12)PLrLp+c10(c12)PLrifck=1ifck=2ifck=3ifck=4(6)
最后,在所有迭代最佳星体中选择适应度最优者作为最终星体。
伪代码:
3.结果展示
4.参考文献
[1] Mirrashid M, Naderpour H. Transit search: An optimization algorithm based on exoplanet exploration[J]. Results in Control and Optimization, 2022, 7: 100127.