张开元, 夏小云, 张先超, 江海, 刘静, 廖伟志
(1. 江西理工大学理学院, 赣州 341000; 2. 嘉兴学院信息科学与工程学院, 嘉兴 314001;3. 嘉兴学院信息网络与智能研究院, 嘉兴 314001; 4. 中国科学院国家天文台, 北京 100012)
1957年10月苏联将第一颗人造卫星“Sputnik 1” 送入太空, 在过去的六十六年时间里, 由于人类各种空间活动产生了数以亿计的空间碎片, 这些碎片主要包括完成任务的火箭、 卫星、探测器、 载人飞船的残骸以及空间物体碰撞产生的碎片等, 是空间环境的主要污染源, 如图1 所示。 根据美国国家航空航天局(NASA) 约翰逊航天中心轨道碎片项目办公室 (Orbital Debris Program Office) 的统计数据显示[1], 截至2023年2月3日, 地球轨道上的太空碎片, 从1966年的大约2000 个上升到2023年的近27000 个, 如图2所示。 大量空间碎片的存在增加了撞击甚至摧毁正常在轨卫星的概率, 而且不同碎片的高速碰撞将产生大量新的空间碎片, 对人类和航天器将产生巨大的威胁。 当前太空碎片还在不断增加, 倘若不采取有效措施, 太空碎片将布满整个轨道。减缓空间碎片的增长速度, 清理已有的太空碎片, 是全球各国共同面临的挑战和难题[2]。
图1 空间碎片Fig.1 Space debris
图2 地球轨道上各类空间碎片数量统计Fig.2 Number of cataloged objects in Earth orbit by object type as of 03 February 2023
当前联合国、 IADC、 ESA 等国际组织相继制定各项太空行为准则, 对各国的太空活动进行约束和规范, 避免人为原因产生更多的碎片。 我们国家也设立了专门的“空间碎片行动计划”, 成立了太空碎片协调组和专家组, 全面开展空间碎片研究工作, 不断加强太空碎片的监测。 当前应对空间碎片的主要措施包括主动清除、 离轨和弃置策略、 监测和预警以及碰撞规避和防护。 对空间碎片进行观测、 跟踪和编目, 从而进行碰撞预警是降低空间碎片撞击风险的关键。 太空望远镜观测是一种典型的空间碎片观测跟踪方法。
为了更好地利用好已有望远镜观测资源, 减少望远镜的观测时间和成本, 最大程度提升望远镜使用效率, 望远镜的观测调度就成为了关键。望远镜的观测调度是将观测任务和观测资源进行合理安排的过程。 望远镜的调度问题实际上就是资源调度问题, 需要考虑多方面的因素。 在实际的望远镜观测中, 观测目标的可见性, 观测目标的优先级, 都是望远镜调度需要考虑的问题。 合理的望远镜调度能够充分利用观测时间, 获得较好的观测质量, 提升观测效率。
目前空间碎片监测网络定期跟踪、 编目的碎片超过3.1 万个, 毫米级以上空间碎片总数达到上亿个, 地球轨道人造物体的总质量超过了9000t。 鉴于空间碎片对航天器运行安全的危害以及近地天体对地球可能造成的撞击威胁, 各国对空间碎片监测预警需求不断提高[3-5]。 为了满足空间观测的需求, 世界各国不断建造空间观测设备[6-8]。 2016年, 我国自主建设的世界上最大最灵敏的单口径射电望远镜 (Five-hundred-meter Aperture Spherical radio Telescope, FAST) 全面建成投入使用, 研究人员将问题建模为最小成本最大流量问题, 设计了一种基于最大匹配边缘检测的方法来减小问题规模, 并提出了一种回溯算法最小化最优调度的转换成本[8]。 相比于单个望远镜, 望远镜阵列通过将多个望远镜同步使用, 使得观测精度与距离大大提高。 2019年, 平方公里射电阵(Square Kilometre Array, SKA) 已全面投入使用, 是目前世界上最大规模的最复杂的射电望远镜阵列, 其对望远镜调度算法的性能需求也更高[9-10]。
太空望远镜调度问题具有多约束、 多目标等特点, 其相当于使用m台望远镜对n个独立观测目标进行观测处理, 等价于作业车间调度问题[11], 也被视为一类NP 难问题。 当观测的目标数较大, 望远镜的分配方式数量也非常大, 问题求解时间往往呈指数级增长。 当前望远镜调度问题求解方法主要分为确定性方法和近似方法。 确定性方法主要包括线性规划、 二次规划和动态规划方法, 适合于求解问题规模比较小的情形。 近似算法主要包括局部搜索、 贪心算法和启发式优化算法等, 适用于求解问题规模较大的情形, 通常考虑在合理的计算时间内找到满意的调度方案。
针对空间碎片和近地小行星编目的不同观测范围、 精度、 时效等要求, 研究望远镜阵列调度模型与算法, 形成适用于具体应用场景的调度策略是也是当前研究热点。 对于大规模的望远镜阵列, 如何设计合理的调度分配方案来调度空间望远镜阵列中的单个望远镜分别完成观测, 从而得到连续性更好的观测数据, 更进一步地提升对空间碎片的观测性能同样是一个重要的研究任务。
太空望远镜的调度过程是一个非常复杂的过程。 在不同的应用场景下如观测设备的不同、 观测需求的不同, 就会衍生出不同的调度问题。 此外, 望远镜观测的良好运行离不开算法合理的优化调度。 随着观测设备的自动化程度不断提高,设备对调度优化算法的性能需求也随之增加, 采用不同算法优化观测计划也是学界研究的热点[12]。 望远镜的调度优化依赖于实际的应用场景执行。 针对不同的观测模式和观测设备, 国内外学者也提出了不同的望远镜观测调度模型。 望远镜调度问题本质是一个带有约束的组合优化问题, 总体的目标是要提升望远镜观测利用率, 使得望远镜观测效率最大化。 本章节围绕望远镜调度的单目标优化、 多目标优化以及观测模式不同, 给出了几个常见的望远镜调度模型以及求解该类型问题的常用算法。 对应不同问题的求解,望远镜调度算法大致分为三类: 一类是确定性算法, 包括线性规划和整数规划等; 第二类是启发式算法; 第三类是基于机器学习的求解方法。
线性规划是一种在线性约束条件下, 求解线性目标函数极值的常用的数学方法, 属于确定性算法。 线性规划方法在望远镜观测调度问题求解上也获得了广泛应用。 与求解许多组合优化问题相同, 研究人员将望远镜观测调度问题抽象为一个整数线性规划模型, 将该模型输入求解软件中使用优化器求解[12-16]。
2015年, 王歆等人针对近地天体望远镜巡天观测问题建立了0 -1 线性规划模型[12]。 该模型以观测科学价值最大化为目标, 通过引入0 -1 变量实现了目标函数和约束条件的线性表达。
定义天区集合为S ={si,i =1,2,3...N} ,观测时间窗口集合为T ={ti,i =1,2,3...Nt} ,共Nt个窗口,ti按时间顺序排列, 已知窗口的开始时刻为w(t) 。 由天区s和时间窗口t可计算得到适应值函数F(t,s) 。
定义决策变量dtofk∈{0,1} , 其中t ∈T、o∈S、f∈S,k∈{1,2,... ,Nk} 。k用于表示小行星巡天轮次,NK是需要的轮次。 近地天体望远镜巡天需要3 轮。d1361=1 表示为: 在t1时间窗口观测s3天区, 下一个时间窗口t2观测s6天区。 巡天的候选天区集合为Ss, 非巡天观测任务所需天区为So,Ss∩So = ϕ。 引入虚拟天区S0, 观测S0表示该时段空闲。
根据上述变量的定义, 建立巡天调度的数学模型, 最大化科学观测价值的目标函数如下:
模型的约束条件如下:
1) 由于引入了虚拟天区, 每个时间窗口都要有天区被观测, 下一个时间窗口的观测天区由决策变量决定。
2) 每个轮次至多观测一个巡天天区一次,巡天天区只有观测NK次才有效, 后面的巡天轮次必须在前面的巡天轮次之后观测, 对非巡天天区无轮次约束。
3) 非巡天天区一般限制观测不超过约定上限。
4) 由于望远镜运动速度有限, 两天区间的跨度不能太大。
5) 最后为了保持一致性, 约束最后时刻观测的下一个观测天区为S0。
最大化观测科学价值的同时, 进一步优化使切换天区时距离最小, 此时将式作为约束条件,不难得到新的目标函数:
在实现了问题的线性化表达后, 王歆等人采用GLPKl (GNU Linear Programming Kit) 软件包定义的MathProg 语言编写了模型, 并通过该软件包将模型转化为线性规划标准的MPS (Mathematical Programming System) 格式, 并采用Gurobi2 软件进行求解。 试验结果表明当模型中一些约束条件发生变化时, 通过数学方法仍可以获得最优解。
为了清晰的介绍上文目标函数的计算过程在此引用文献[12] 中的例子。 巡天观测需要确定每个可观测的时间窗口观测哪个天区, 即将巡天优化调度转换为指派问题。 如图3 所示。
图3 调度问题的示意图Fig.3 The sketch of the scheduling problem
图中每1 行对应1 个天区, 每1 列对应1 个时间窗口, 每个格子中的数值代表该格子的观测价值。 调度就是按照特定规则在图中选取格子,每列至多选择1 个格子, 每行选择3 个格子或者不选择; 相邻两列选择的格子距离不能太远, 每行选择的各个格子之间距离也要满足一定要求,例如图3 中灰色格子就构成了1 个可行的调度方案。 这样的可行调度方案有很多, 可行调度方案选中的格子数值之和越大, 调度方案越优秀。 问题的优化目标为找到最优的调度方案。
根据图3 中的问题实例和调度方案, 函数的总观测价值等于将所有灰色格子中的值相加。 具体过程如下:
1) 根据调度方案得到每一时刻观测的天区和其对应的观测价值。t1时刻观测s4天区观测价值为1;t2时刻观测s2天区观测价值为2;t3时刻观测s1天区观测价值为3;t4时刻观测s4天区观测价值为4;t5时刻观测s2天区观测价值为2;t6时刻观测s1天区观测价值为4;t7时刻观测s2天区观测价值为2;t8时刻观测s4天区观测价值为4;t9时刻观测s1天区观测价值为4。
2) 将上述观测价值相加总和即为总观测价值。 即总观测价值为1+2+3+4+2+4+2+
4+4=26 。
3) 调度过程中望远镜的移动距离, 根据各天区间的距离表计算。 假设各个天区间的距离如表1 所示。
表1 各天区距离表Table 1 The distances between each two sky areas
望远镜移动路径为s4→s2→s1→s4→s2→s1→s2→s4→s1, 得到对应路径之和为2+1+2+2+1+1+2+2=13 。
Sabol、 Alimo 和Kamangar 等人[14]研究了一种混合整数线性规划方法用于求解美国国家航空航天局(NASA) 的深空网络(Deep Space Network,DSN) 调度问题, 他们通过DSN 数据实验验证了算法的有效性。 在该工作的基础上, Claudet、Alimo 和Goh 等人[15]提出了一种改进版的混合整数线性规划方法Δ -MILP, 他们通过引入新的约束集来提供满足DSN 需求且更加可行的调度方案, 同时能够优先考虑特殊的调度任务。 实验结果表明所提的Δ-MILP 方法能够较好地满足调度需求。
戴伟等人[16]将射电望远镜短期观测编排问题建模为混合整数线性规划问题, 并以望远镜寻址时间最小化作为问题的目标函数。 通过使用Gurobi9.1 求解器进行问题求解, 试验结果表明能够较好地满足射电望远镜的短期观测编排需求。
线性规划方法使用方便, 只需将问题抽象为整数线性规划模型, 能够在小规模问题上快速求得最优解。 但随着问题规模的增大, 计算量也随之增加, 使用线性规划求解就变得更困难。
望远镜观测空间碎片的调度过程中, 实际上需要考虑多个目标的同时优化。 传统的做法是对不同的优化目标通过加权的方式转化为单个目标优化问题。 然而, 这种方法最大的问题在于各个目标权重的确定。 由于各个目标之间存在不一致性, 目标本身之间就存在矛盾, 不具备可比性,权重的设置具有较大的主观性。 单目标优化求得的解是唯一的, 而多目标优化得到的是由许多Pareto 最优解构成的解集。 这些Pareto 解集包含了许多有用的信息, 可以获得不同目标之间的相关性, 对模型提供更多的解释, 也方便给用户提供个性化偏好的调度决策。
不失一般性, 多目标优化问题(Multi-objective Optimization Problems, MOPs) 的数学模型可以描述如下。
其中x =(x1,x2,…,xn) ∈S为n维决策向量,S为n维决策空间;f(x) ∈ℝm为具有m个优化目标的目标向量, 其中fi(x) 为目标函数f(x)的第i个目标分量;gi(x) ≤0,(i =1,2,…,p) 定义了p个不等式约束,hj(x)=0,(j =1,2,…,q)定义了q个等式约束。
根据上述定义, 望远镜调度问题就是在满足所有约束条件的前提下, 在变量定义范围内, 同时优化m个不同的目标。 望远镜调度多目标优化的目标向量要根据实际情况和需求进行设置, 如观测目标的观测时长尽可能长, 高等级的观测目标优先观测, 望远镜等待的时间尽可能短等, 总体是要使得望远镜观测效率最大化。
望远镜观测调度执行过程中, 需要满足各类不同的约束条件, 这些约束条件可分为硬约束和软约束。 硬约束是指在望远镜调度过程中不能违背的约束条件, 比如一个望远镜在同一时刻只能观测一个目标就是硬约束, 一般用来衡量调度方案的可行性。 软约束是指在调度过程中尽可能去满足但不是一定要满足的约束条件, 比如观测目标的观测时间尽可能要长就是软约束, 一般用来衡量调度方案的优劣。
鉴于望远镜调度问题的NP 难解性, 确定性算法的求解时间会随问题规模增加而呈指数级增加, 导致用户无法接受。 启发式算法是求解NP难问题时常用的一种方法。 该方法首先产生问题的一个初始解, 然后通过启发式规则进行求解迭代不断改进现有解, 在合理的时间范围内获得优化问题的可接受解。 启发式算法作为求解组合优化问题的热点, 在望远镜观测调度问题中也被广泛应用[17-22]。
Giuliano 和Johnston[22]研究了詹姆斯·韦伯太空望远镜的调度问题, 并将该问题建模为最小化调度时间间隔、 最小化望远镜角动量累积和最小化未被观测的目标数量等三目标优化问题, 同时考虑了观测时间窗和优先级等约束条件。 设计并开发了多目标进化算法用于詹姆斯·韦伯太空望远镜的调度, 实验结果验证了算法的有效性。
Liu 等人[23]为了解决使用聚类方法提高空间碎片观测效率的过程中引起可用观测设备之间的冲突, 增加调度复杂性的问题, 提出了基于模拟退火的冲突避免算法。 Song 等人[24]使用改进粒子群算法求解空间碎片观测最优资源调度问题, 在粒子群算法中引入约束因子, 结合权重因子和学习因子控制粒子的飞行速度, 以获得更好的收敛效果和全局近似最优解。 此外, 还将改进后的算法与传统粒子群算法和标准粒子群算法进行了对比测试, 证明改进后的算法在空间碎片监测资源分配方面能达到令人满意的效果。 Zhao 等人[25]提出自适应遗传算法解决空间碎片观测设备的优化调度问题。 在算法的执行过程中引入精英策略对选择算子进行改进。 改进后的算法与传统算法相比, 能更好地解决局部收敛问题, 并显著加快收敛速度。 随后, Zhao 等人[25]通过各种实验和对比分析验证了改进算法的有效性。
Gómez de Castro 和Yáñez[17]研究了关于邻域搜索算法和遗传算法的望远镜调度优化求解方法, 他们分析了调度过程中不同调度策略对于调度结果的敏感性。 刘琪等人[18]针对2.4m 望远镜时间分配问题, 在经典的哈勃空间望远镜Spike系统框架下, 使用混合式启发算法对望远镜调度问题进行求解优化。 首先, 通过遗传算法在初始解搜索阶段找出具有最大科学价值的时间分配方案。 随后, 采用模拟退火算法有效地避免陷入局部最优。 经2.4m 望远镜工作数据测试, 与传统的Spike 模型相比, 无论是构造最大科学价值方案, 还是用户观测连续性的优化, 混合启发式算法都表现出更好的效果。 这也推动学者们在望远镜调度问题研究上融合不同启发式算法。
尹树成等人[19]以望远镜利用率、 用户获得观测时间的公平性、 望远镜观测的科学价值为优化目标提出了一种混合启发式算法。 在问题求解过程中使用模糊逻辑计算每个目标函数下次迭代在适应值函数中所占的权值。 该算法先是在构造初始种群时采用贪心策略, 使高优先级的申请优先分配到冲突值较小的时间片上。 同时, 采用了一种权重随机策略, 将所有待分配的申请构造成一个权重随机队列, 用每个申请的科学价值作为队列的优先权重, 申请出现在队列靠前位置的概率跟它所具有的权重有关。 随后使用遗传算法求解问题, 采用爬山算法处理问题冲突。
Hengameh 等人[20]在INO340 天文望远镜的调度问题上, 以最大限度地减少INO340 天文望远镜的空闲时间, 降低其机械运动的成本, 同时获得最佳质量的图像结果为优化目标, 提出了一种遗传算法求解。 该算法求解过程中考虑了可预测的影响观测因素如: 环境条件、 地球自转、 地球轨道、 调度策略、 观测策略。 经过测试在实际工作中该算法能够满足INO340 天文望远镜的调度需求。
Wei 等人[21]为了解决云南40m 射电望远镜的短期观测调度需求提出了一种多目标遗传算法。该算法的适应值函数包括最小化转换时间之和与最大化观测科学价值。 在实际测试中简单地考虑了一些约束条件, 例如天气、 接收器和目标的不同优先级, 同时研究发现在该问题上很难得到参数化建模。
启发式算法能够在可接受时间内得到较优解, 然而望远镜观测调度问题作为NP 难问题,启发式算法求解的质量没法得到保证。 此外,启发式算法依赖研究人员根据问题性质手工设计启发式规则, 当望远镜观测调度问题求解目标和约束发生变化时, 算法的编码方式、 适应值函数、 启发式规则都需要研究人员重新进行设计。 因此, 启发式算法求解望远镜调度问题不能确保获得算法的全局最优解, 算法的求解性能取决于具体的调度问题和算法设计人员的经验。
望远镜设备的发展有两种趋势, 一种是建设大型独立的望远镜, 另一种是建立望远镜阵列网络, 以利用天文台的不同位置的望远镜协同完成观测任务。 López-Casado 等人于2022年提出了一种多台望远镜组成的望远镜网络模型 (GLORIA), GLORIA 网络由分布在四大洲的18 台望远镜组成[26], 基于三层结构的GLORIA 调度器架构如图4 所示。
图4 GLORIA 调度器架构Fig.4 GLORIA scheduler architecture
如图4 所示, GLORIA 调度器的上层由一个独特的中心节点组成, 负责接收用户提出的所有观测请求, 并对其进行初步分析, 评估请求中的时间和硬约束是否符合规定。 在评估后, 中心节点就会与本地节点进行通信。 这些节点构成了结构的中间层, 节点直接与网络中的每台望远镜相关联。 它们的主要功能是进行可见性分析, 以检查请求中的可见性约束。 可见性约束的分析结果被送回中心节点, 并通过上述三个约束条件的分析结果创建一个可用望远镜的列表。 随后, 中心节点在该列表中选择将提供观测的望远镜。 观测望远镜由基于不同特征的望远镜调度算法选出。选出执行观测的望远镜后, 中心节点就将决定传达给该望远镜的本地节点。 这个本地节点与望远镜的本地调度器建立直接通信, 将请求引入望远镜的夜间观测计划中。 GLORIA 调度器架构的下层由具体执行观测的望远镜本地调度器构成。
GLORIA 网络与其它望远镜网络不同的一点是观测时间在望远镜所有者和GLORIA 网络之间共享, 所有者通常会为GLORIA 用户分配一段观测时间。 GLORIA 网络的模型中的需要分析的参数是网络的整体接受率, 整体接受率取决于以下三类输入参数: ①观测点位置的条件。 包含天气预报参数和天文能见度参数。 ②目标质量, 通过目标过境高度来测量目标质量信息。 ③望远镜网络反馈, 通过用户反馈得知。
GLORIA 调度程序接收观测请求并将其发送到特定的望远镜。 请求具体发送到哪台望远镜是通过决策算法决定的。 此外, 该模型根据观测请求定义望远镜是否可用, 即满足用户指定的所有约束条件的望远镜为可用望远镜。 该功能通过两个均匀分布的随机变量实现: 第一个变量为可用望远镜的数量, 第二个变量为每个望远镜的标识符。
为了分析望远镜决策算法如何影响网络接受率, 网络中的每个望远镜都接收观测请求, 并决定是否执行。 有多重因素影响观测请求是否被接受, 但最重要的因素是望远镜所在地的天气。 如果天气状况不适合观测, 望远镜控制系统将保持圆顶关闭, 观测请求不会执行。
GLORIA 网络使用了广义线性回归模型构建了响应变量和一个或多个预测因子之间的关系,其中响应变量是指数分布族中的一个特定分布。在望远镜接受请求时, 设响应变量代表决策, 且服从伯努利分布,y∈{0,1} , 望远镜所在地的天气是决定望远镜是否可用的主要因素, 模型将只使用这个变量作为预测因子。 定义如式(4):
其中,μ是对天气预报的平均响应变量,α表示望远镜所在地,a和b被估算的广义线性回归模型参数。 由于响应变量服从伯努利分布, 将平均响应与观测请求结果1 出现的概率相匹配。 对于接收观测请求与其执行或拒绝之间花费的平均时间。 该信息直接从网络日志中获得, 并被计算为所有望远镜请求中的平均时间。
综上所述, 将问题转换一个由目标观测函数和成本函数定义的多目标优化问题, 优化目标为最大化完成的观测请求数量和最小化重新分配过程中的步骤数。 给定一组观测请求
{O1,O2,... ,ON} 和重新分配的最大步骤数S目标观测函数定义为式(5)。
M为={O1,O2,... ,ON} 的重新分配步骤最大值。
随着天文学的发展, 望远镜观测需求增多,仅使用单点观测模式已经逐渐不能满足观测需求, 多望远镜协同组成的望远镜阵列对适应观测需求的复杂化更具有优势。 望远镜调度未来将会是多望远镜协同观测和单点观测协同发展, 新的观测模式将会被引入, 在减少调度时间的同时增加应对观测中产生突发事件的能力。
最近, Zhang、 Yu 和Sun 等人[27]针对更大的观测区域和更高的全时空监测频率要求, 提出了一种分布式时域大面积巡天望远镜阵列的多级调度框架。 通过优化策略自协调地对时变观测条件的贡献进行加权, 从而从全局角度保持均匀覆盖和有效的时间利用。 实验结果表明, 在同时考虑调度时间分配效率和观测区域的覆盖均匀性方面, 该望远镜调度框架能够提供满意的解决方案。
在望远镜观测调度过程中, 除了静态的任务需求之外, 动态望远镜观测调度也成为当前研究人员关注的热点。 在实际任务规划时, 会出现需求变化、 任务中断或者不可预见的突发情况。 在执行任务调度时, 可能会出现任务增加或取消的情况, 也存在望远镜出现故障等情况。 这些不确定性因素给望远镜观测调度增加了新的难度, 对调度模型建立提出了更高的要求。
由于望远镜网络问题的复杂性使得具备优秀表达能力的深度强化学习方法在这一领域广泛使用。 强化学习是通过智能体与环境交互进行计算的一种机器学习方法, 智能体根据环境状态选择动作策略, 环境状态根据智能体的动作进行改变并给智能体反馈。 当状态和动作数量非常大时就需要使用函数拟合方法, 由于神经网络具有强大的表达能力因此常用神经网络表示函数。 深度强化学习方法是将深度学习的感知和强化学习的决策能力相结合的一种方法, 在众多组合优化问题求解中获得了较好的效果, 也是当前学界研究的热点[28]。
Jia 等人[29]将几台广角小口径望远镜组成观测阵列, 用以观测连续天体。 由于需要观测的目标较多, 为此提出了一种最大化科学价值的强化学习算法。 该算法用深度神经网络存储望远镜阵列的观测策略, 通过智能体与环境的交互不断学习观测策略, 在训练过程中使用经验回放机制将训练后的数据存储在缓冲区中, 用于随后的随机采样训练。 实验证明深度强化学习方法在望远镜观测调度问题上能够取得良好的性能, 且具有很强的泛化能力。
地面光学望远镜阵列的观测能力往往受到云、 卫星和天空背景等各种动态因素的制约,需要充分利用已有的遥测数据, 并合理安排望远镜阵列调度。 然而, 望远镜阵列比较复杂而且成本较高, 直接使用物理望远镜阵列设备来测试算法代价太高。 基于此, 研究人员提出了一个模拟望远镜阵列的框架[30], 并采用一种基于分布式强化学习框架的调度策略来优化望远镜阵列观测策略。 实验结果表明所提方法能够有效提升望远镜阵列观测效率。
综上, 求解望远镜调度的几种典型方法如表2 所示。
当前较多文献使用启发式算法求解望远镜观测调度问题, 这类方法往往针对解决某一特定问题提出, 需要研究人员手工设计启发式规则。 与传统的优化技术相比深度强化学习方法具有更强的泛化性, 随着深度强化学习方法研究的不断深入, 未来基于深度强化学习求解该类问题将成为一个热门的研究方向。
国外较早开始了望远镜调度系统的研究, 最有代表性的是用于哈勃空间望远镜HST (Hubble Space Telescope) 调度的Spike 系统[31]。 该系统由美国国家航空和宇宙航行局研究开发, 从1990开始投入使用, 系统采用的核心算法是迭代修正搜索算法。 Spike 调度程序是为哈勃太空望远镜开发的, 但设计时考虑到了通用性和灵活性。 此后, Spike 也被用于解决一些其他天文调度问题,以及与天文学无关的问题。 HST 的调度过程使用互联网以电子方式接收申请, 通过一个提案数据库进行处理。 转换系统会将天文学家的观测计划转换为一系列任务来进行调度。 Spike 负责进行长期调度, 并将调度任务以周为单位划分交给负责短期调度和仪器指令的科学规划调度系统。 Spike系统的软件界面如图5 所示。
图5 Spike 系统的软件界面Fig.5 Software interface of Spike system
第一台完全由计算机控制的光学望远镜是1975年建成的英澳望远镜, 由此形成了望远镜控制系统的概念[32]。 自此, 使用望远镜进行天文观测从传统的天文台运作模式逐步向队列调度模式发展, 望远镜调度系统也随着相关技术的进步得到了飞速的发展[33]。 望远镜调度系统为天文观测研究带来了极大的便利, 不仅节约了时间和费用, 也减少了研究人员的工作量, 提高了望远镜观测的效率。
哈勃望远镜、 ROSAT 天文卫星、 甚大天线阵列(Very Large Array) 较早的使用了望远镜调度系统。 在2007年, 哈勃望远镜的调度系统因为技术的限制仍存在很多需要解决的问题如[33]: 望远镜调度系统还不能自动检查程序完成情况; 研究人员不能直接向队列添加目标或从队列中删除目标等。 2009年位于智利帕瑞纳天文台的可见光和红外巡天望远镜(Visible and Infrared Survey Telescope for Astronomy, VISTA) 开光(开始运行),VISTA 望远镜控制软件主体部分使用了ESOVLT控制软件, 高层控制软件并不直接控制硬件, 而是将命令发送给实际控制硬件的本地控制单元[34]。 VISTA 望远镜的控制软件主体复用了ESO VLT 控制软件, 采用与VLT 控制界面类似的界面和使用感受, 以便望远镜操作员可以轻松地在VLT 和VISTA 之间切换。 该软件主要用C++编写, 在标准Linux PC 上运行。 高级控制软件不直接控制硬件, 而是通过向实际控制硬件的本地控制单元(Local Control Unit, LCU) 发送指令来实现各种功能。 LCU 是运行VXWorks 实时操作系统, 采用C 语言编程的小型磁盘计算机。 每个运动轴或子系统都有一个独立的LCU。 VISTA 望远镜总共有11 个LCU。
(Gravitational-wave Optical Transient Observer,GOTO) 引力波光学瞬态观测仪原型仪器于2017年7月在加那利群岛的拉帕尔马落成[35]。 拉帕尔马的GOTO 原型仪器如图6 所示[35]。
图6 拉帕尔马的GOTO 原型仪器Fig.6 The GOTO prototype instrument on La Palma
GOTO 的望远镜调度系统由多个独立的控制进程组成, 由一个名为‘pilot’ 的主控负责监督其他进程。 观察由即时调度程序决定, 该调度程序指示‘pilot’ 实时观察的目标, 并提供瞬时事件的快速跟进[35]。 GLORIA 望远镜网络的调度程序以最大化总网络接受率和最小化观测提交与结果之间的耗时为目标设计了3 种算法[26]: 第一种算法仅基于望远镜位置的天气预报; 第二种算法基于使用不同输入参数的模糊逻辑; 第三种算法基于对每个望远镜接受观测的条件概率的预测。此后, GLORIA 的研究人员将在新的机器学习方法上进行探索, 如神经网络、 支持向量机等, 将这些方法与上述的三种算法进行比较[26]。
阿尔及利亚的奥勒斯国家天文台(National Aures Observatory, NAO) 中使用了预测类型的调度程序, 该程序使用基于NSGA-II 和帕累托最优的遗传算法求解调度问题[36]。 伊朗国家天文台的INO340 望远镜以最大限度地减少望远镜的空闲时间并降低其机械运动的成本, 同时获得最佳质量的图像结果为目标, 采用遗传算法考虑影响观测条件的可预测因素并获得最优调度方案[20]。
2019年, 目前世界上最大规模的最复杂的射电望远镜阵列平方公里射电阵(Square Kilometre Array, SKA) 已全面投入使用是目前世界上最大规模的最复杂的射电望远镜阵列[9]。 澳大利亚平方公里阵列探路者 (Australian Square Kilometre Array Pathfinder, ASKAP) 是SKA 的前身, 通过ASKAP 的建设研究人员得到了几条重要经验。 在设备建设过程中需将硬件、 软件和软件开发相互关联, 并尽早整合子系统。 一些早期的设计需要根据实际经验进行修改, 因此需要尽快开始科学导向的测试观测。 新射电望远镜的调试工作从子系统测试开始, 到整个系统全部运行结束。 自动化系统在望远镜从调试到运行的过程中发挥了关键作用, 并在ASKAP 的未来运行中至关重要。 在ASKAP 的建设和使用中, 自动化系统可以帮助研究人员发现问题, 并在条件允许的情况下对问题进行修复。 当遇到系统无法修复的问题时, 系统也可以执行有效的变通方法。
国内的望远镜调度系统较国外起步稍晚, 国内的天文工作者通过参与国外的相关项目积累经验为国内望远镜调度系统的建设奠定了基础[37]。2012年3月, 中国第一台专业级程控自主望远镜BOOTES-4 在云南丽江观测站落成[32]。 BOOTES-4程序控制系统结构图如图7 所示[32]。
图7 BOOTES-4 程序控制系统结构图Fig.7 BOOTES-4 program control system structure diagram
BOOTES-4 的整个系统分为用户层、 观测控制层、 设备控制层、 设备层。 设备层由构成望远镜的各个设备组成; 设备控制层负责向设备发送命令、 监测设备状态、 收集数据; 观测控制层控制整个观测流程; 用户层采用本地操作接口和卫星通道两种方式向设备发出指令。
中国的天文工作人员在开源的BOOTES 系列的RTS2 系统基础上再次开发完成了我国第一个程控自主望远镜的系统实现[38]。 2016年, 我国自主建设的世界上最大最灵敏的单口径射电望远镜FAST 全面建成投入使用, 研究人员设计了一种基于最大匹配边缘检测的方法来减小问题规模, 并提出了一种回溯算法用最小转换成本找到完美匹配[8]。 FAST 的调度系统概览如图8 所示。
图8 FAST 调度系统概览Fig.8 The overview of FAST scheduling system
用户向中国虚拟天文台系统(Chinese Virtual Observatory System, China-VO) 所提供的接口提交申请, 提交的申请由天文学家审核, 申请被接受后获得科学优先级。 调度系统将每个申请分成几个最小可调度块(Minimum Schedulable Blocks,MSBs), 每个MSB 包含一个天体。 调度程序读取China-VO 系统的MSB, 然后运行调度算法分配MSB 的观测时间。 在这个过程中, 一些MSB 可能由于限制条件无法获得观测时间被拒绝。 最后,调度程序把生成的观测计划发送到测量和控制系统执行。
2016年, 基于EPICS 和RTS2 的南极望远镜自主测控系统在云南省丽江天文台进行了实际观测测试, 完成了自主观测和控制, 包括望远镜控制、 相机控制、 球机控制、 气象信息获取以及本地和远程操作[39]。 2018年, 南极巡天望远镜AST3 开发了一个定制的调度程序, 这是一个基于优先级队列的调度程序, 同时考虑了与通用机器人望远镜相关的问题和一些特殊条件[40]。 此后,在AST3-1、 AST3-2 两台望远镜的基础上改进的第三台望远镜AST3-3 已于2021年3月在南极洲Dome A 投入使用。 AST3-3 设备部署如图9 所示。2023年, Zhang 等针对时域巡天望远镜阵列调度问题, 提出了一种多级调度模型, 并将功能封装在分层体系结构的软件中开发了一个灵活的框架, 提出了一种优化度量方式从全局的角度保持均匀覆盖和有效的时间利用[41]。
图9 AST3-3 设备部署Fig.9 AST3-3 deployment in dome
虽然国内的望远镜调度系统发展起步稍晚,但国内的相关研究人员学习国外先进技术不断创新, 随着国内的望远镜观测设备越来越好, 国内的望远镜调度系统研究也有了长足的发展。
空间碎片问题已成为全球各国航天界关注的焦点。 望远镜调度是空间碎片观测、 跟踪和编目的必然过程, 吸引了越来越多研究人员的广泛关注, 相关的调度模型和算法也如雨后春笋般相继涌现。 然而不同的模型与算法之间存在较大差异, 造成这些差异的原因主要是以下两点。 第一, 研究工作都是以研究人员使用的天文望远镜设备为基础, 不同研究人员使用的天文望远镜设备存在着极大的差异。 其次, 望远镜调度算法的求解目标不同, 根据实际观测需求存在各种各样的差异。
望远镜观测设备的更新、 空间碎片的增加以及观测范围的不断扩大, 给望远镜调度带来了新的挑战。 当前启发式搜索算法是望远镜观测调度采用的主流方法, 也是各国望远镜观测调度系统中使用的核心算法。 随着深度强化学习在组合优化问题的研究逐步深入, 使用深度强化学习方法以及采用强化学习指导启发式算法求解望远镜调度问题有望成为热点研究方向[42]。 随着计算机算力的不断提升, 观测数据的不断积累, 以及各类算法的迭代升级, 望远镜观测调度将变得更加高效, 人类将会有更多更好的方法、 更加从容地来应对太空碎片的威胁。