【智能算法】凌日搜索算法(TS)原理及实现

本文介绍了MMirrashid等人提出的凌日搜索算法TransitSearch,该算法模拟天体运动,通过星系、恒星等阶段的演化,利用适应度函数优化,寻找可能的行星凌日现象。算法包括星系阶段生成、适应性选择、搜索阶段的凌日检测和位置确定,以及探索阶段的邻域搜索和优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述


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+c1LGalaxyLrNoiseLGalaxy+c1LGalaxy+LrNoiseifz=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+c3LRc2LrNoiseLR+c3LR+c2LrNoiseifz=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+c5LrLzc5LrLz+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= Lzc8LrLz+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)PLrc11Lpc10(c12)PLrLpc10(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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值