一种多星应急观测任务规划方法、装置和计算机设备
文献发布时间:2023-06-19 09:35:27
技术领域
本申请涉及卫星的应急任务规划技术领域,特别是涉及一种多星应急观测任务规划方法、装置和计算机设备。
背景技术
随着卫星观测技术不断发展,对地观测卫星已成为获取地震、洪涝、海啸等突发事件灾情的重要手段,观测信息可以帮助地面人员在第一时间掌握灾区受灾情况。当面临较为密集的观测请求时,单颗对地观测卫星往往效能不足,而多星协同观测能够有效响应观测需求。在应急条件下,多星任务规划不仅需要考虑复杂的约束因素(星载存储空间、星上能源消耗、侧摆角等等),而且还应考虑观测任务的强时效性,任务必须在规定的时限内完成,否则任务就会失效。目前关于卫星应急任务规划的研究多是单独优先规划应急任务,虽然保证了应急任务的响应时间但牺牲了常规任务的完成度,使整体规划收益受到较大影响。如何在兼顾收益与效率的前提下,完成多星应急观测任务规划成为当前亟需解决的问题。
当前基于优化分解的多星任务规划方法多采用启发式算法进行求解,在兼顾收益的同时,规划效率得到了很大地提升,但是启发式算法的优化方向具有一定程度的随机性,且算法的初始解通常采用随机方式生成,解的搜索空间较大,影响计算的效率。因此,现有技术存在效率低、稳定性差的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决卫星应急任务规划方法效率低、稳定性差问题的一种多星应急观测任务规划方法、装置和计算机设备。
一种多星应急观测任务规划方法,所述方法包括:
获取卫星任务规划系统中待规划的观测任务集合;所述观测任务集合中包含多个观测任务的任务特征信息;
将所述任务特征信息输入到第一机器学习模型中,得到任务可调度性决策信息;所述第一机器学习模型是通过历史调度数据构建的训练集训练得到的;所述历史调度数据中包含观测任务的执行信息;
将所述任务特征信息和所述任务可调度性决策信息输入到第二机器学习模型中,得到第一任务分配信息;所述第二机器学习模型是通过历史分配数据构建的训练集训练得到的;所述历史分配数据中包含观测任务的分配信息;
将所述第一任务分配信息输入基于随机爬山的约束修正算法进行修正,得到第二任务分配信息,根据所述第二任务分配信息对所述观测任务集合中的观测任务进行卫星指派。
在其中一个实施例中,还包括:所述第一机器学习模型是基于Transformer的第一预测模型;将所述任务特征信息输入到基于Transformer的第一预测模型中,得到任务可调度性决策信息。
在其中一个实施例中,还包括:所述第二机器学习模型是基于Transformer的第二预测模型;将所述任务特征信息和所述任务可调度性决策信息输入到基于Transformer的第二预测模型中,得到第一任务分配信息。
在其中一个实施例中,还包括:获取卫星任务规划系统中待规划的观测任务集合;根据待规划观测任务集合中每一项待规划观测任务,得到每一项任务对应的任务特征信息;将所述每一项任务对应的任务特征信息组合得到所述任务特征信息。
在其中一个实施例中,还包括:在获取卫星任务规划系统中待规划的观测任务集合之前,设置多星任务规划建模的约束条件;根据所述约束条件确定所述任务特征信息。
在其中一个实施例中,还包括:任务特征信息包括:任务的优先级信息、任务观测时长需求信息、任务在各卫星对应的观测时间窗信息、任务在各卫星对应的存储消耗信息、任务在各卫星实际对应的观测时长信息以及相同卫星中相邻任务时间窗的时间间隔信息。
在其中一个实施例中,还包括:所述基于Transformer的第一预测模型或所述基于Transformer的第二预测模型包括:多层Transformer Layer和全连接层;其中TransformerLayer由多头注意力机制、求和与归一化、前馈神经网络三种结构组成,上一层的输出传递到下一层,叠加多次。
一种多星应急观测任务规划装置,所述装置包括:
待规划观测任务集合获取模块,用于获取卫星任务规划系统中待规划的观测任务集合;所述观测任务集合中包含多个观测任务的任务特征信息;
任务可调度性决策信息获取模块,用于将所述任务特征信息输入到第一机器学习模型中,得到任务可调度性决策信息;所述第一机器学习模型是通过历史调度数据构建的训练集训练得到的;所述历史调度数据中包含观测任务的执行信息;
第一任务分配信息获取模块,用于将所述任务特征信息和所述任务可调度性决策信息输入到第二机器学习模型中,得到第一任务分配信息;所述第二机器学习模型是通过历史分配数据构建的训练集训练得到的;所述历史分配数据中包含观测任务的分配信息;
第二任务分配信息获取模块,用于将所述第一任务分配信息输入基于随机爬山的约束修正算法进行修正,得到第二任务分配信息,根据所述第二任务分配信息对所述观测任务集合中的观测任务进行卫星指派。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取卫星任务规划系统中待规划的观测任务集合;所述观测任务集合中包含多个观测任务的任务特征信息;
将所述任务特征信息输入到第一机器学习模型中,得到任务可调度性决策信息;所述第一机器学习模型是通过历史调度数据构建的训练集训练得到的;所述历史调度数据中包含观测任务的执行信息;
将所述任务特征信息和所述任务可调度性决策信息输入到第二机器学习模型中,得到第一任务分配信息;所述第二机器学习模型是通过历史分配数据构建的训练集训练得到的;所述历史分配数据中包含观测任务的分配信息;
将所述第一任务分配信息输入基于随机爬山的约束修正算法进行修正,得到第二任务分配信息,根据所述第二任务分配信息对所述观测任务集合中的观测任务进行卫星指派。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取卫星任务规划系统中待规划的观测任务集合;所述观测任务集合中包含多个观测任务的任务特征信息;
将所述任务特征信息输入到第一机器学习模型中,得到任务可调度性决策信息;所述第一机器学习模型是通过历史调度数据构建的训练集训练得到的;所述历史调度数据中包含观测任务的执行信息;
将所述任务特征信息和所述任务可调度性决策信息输入到第二机器学习模型中,得到第一任务分配信息;所述第二机器学习模型是通过历史分配数据构建的训练集训练得到的;所述历史分配数据中包含观测任务的分配信息;
将所述第一任务分配信息输入基于随机爬山的约束修正算法进行修正,得到第二任务分配信息,根据所述第二任务分配信息对所述观测任务集合中的观测任务进行卫星指派。
上述多星应急观测任务规划方法、装置和计算机设备,通过获取卫星任务规划系统中待规划的观测任务集合,将观测任务集合中包含的任务特征信息输入到预先训练的第一机器学习模型中,得到任务可调度性决策信息,将任务特征信息和任务可调度性决策信息输入到预先训练的第二机器学习模型中,得到第一任务分配信息,将第一任务分配信息输入基于随机爬山的约束修正算法进行修正,得到第二任务分配信息,根据第二任务分配信息对观测任务进行任务规划。采用本方法可以通过机器学习模型为传统任务规划算法提供初始解,既利用了机器学习方法学习能力强,预测速度快的优势,又发挥了传统任务规划算法适用性好的优点,效率高,稳定性好。
附图说明
图1为一个实施例中多星应急观测任务规划方法的流程示意图;
图2为一个实施例中多星应急观测任务规划方法的算法流程图;
图3为一个实施例中基于Transformer的第一预测模型和所述基于Transformer的第二预测模型的结构框图;
图4为一个实施例中多星应急观测任务规划装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的多星应急观测任务规划方法,可以应用于如下所示的应用环境中。获取卫星任务规划系统中待规划的观测任务集合,将观测任务集合中包含的任务特征信息输入到用卫星观测历史任务规划数据预先训练的第一机器学习模型中,得到任务可调度性决策信息,将任务特征信息和任务可调度性决策信息输入到用卫星观测历史任务规划数据预先训练的第二机器学习模型中,得到第一任务分配信息,将第一任务分配信息作为初始解,输入到随机爬山的约束修正算法中进行修正,得到第二任务分配信息,根据第二任务分配信息对观测任务进行任务规划。采用本方法可以通过机器学习模型为传统任务规划算法提供初始解,既利用了机器学习方法学习能力强,预测速度快的优势,又发挥了传统任务规划算法适用性好的优点,效率高,稳定性好。
在一个实施例中,如图1所示,提供了一种多星应急观测任务规划方法,包括以下步骤:
步骤102,获取卫星任务规划系统中待规划的观测任务集合;卫星观测任务集合中包含多个观测任务的任务特征信息。
卫星任务规划系统中待规划的观测任务集合中包含多个观测任务,每个观测任务需求不一样,对要执行任务的卫星资源占用需求也不一样,因此,每一项任务都有其对应的任务特征信息,所有任务的任务特征信息组合起来构成待规划观测任务集合对应的任务特征信息。
步骤104,将任务特征信息输入到第一机器学习模型中,得到任务可调度性决策信息。
第一机器学习模型是通过历史调度数据构建的训练集训练得到的;历史调度数据中包含观测任务的执行信息。
历史调度数据是基于约束条件集合和观测卫星集合的多星对地观测历史任务规划数据,历史调度数据中包含观测任务的执行信息,执行信息包括执行任务和不执行任务两种情形。
第一机器学习模型用于预测任务的可调度性,预测的是二分类问题,输出的是任务可调度性决策信息,包括执行任务和不执行任务两种情形。将任务特征信息输入到第一机器学习模型中,可以得到预执行任务集合和不执行任务集合。
步骤106,将任务特征信息和任务可调度性决策信息输入到第二机器学习模型中,得到第一任务分配信息。
第二机器学习模型是通过历史分配数据构建的训练集训练得到的;历史分配数据中包含观测任务的分配信息。
历史分配数据是基于约束条件集合和观测卫星集合的多星对地观测历史任务规划数据,历史分配数据中包含观测任务的分配信息,即具体由卫星集合中的哪一个卫星执行观测任务中的哪几个任务的信息。
第二机器学习模型用于预测预执行任务集合中的任务由卫星集合中的哪一颗卫星来执行,预测的是多分类问题,输出的是第一任务分配信息,是将任务分配到卫星的初始规划解。将任务特征信息和任务可调度性决策信息作为第二机器学习模型的输入,可以根据任务可调度性决策信息将不执行任务排除在外,只对预执行任务进行任务分配。采用这样的方式可以减少后续方案优化算法中要处理的一部分数据量,提高方法效率。
步骤108,将第一任务分配信息输入基于随机爬山的约束修正算法进行修正,得到第二任务分配信息,根据第二任务分配信息对卫星观测任务集合中的观测任务进行卫星指派。
第一任务分配信息是观测任务规划的初始解,将第一任务分配信息输入基于随机爬山的约束修正算法进行修正,可以在初始解的邻域范围内搜索最优解,采用这样的方式可以大大缩小随机爬山算法的搜索范围,以较快的速度搜索到最佳节点,得到第二任务分配信息。
通过基于随机爬山的约束修正算法实现对任务观测规划方案的进一步优化,包括任务冲突消除、任务分配优化、超限任务剔除和空缺任务补充,得到第二任务分配信息,再根据第二任务分配信息对卫星观测任务集合中的观测任务进行卫星指派,采用这种方式能够提升了方法的准确性和适用性。
上述多星应急观测任务规划方法中,通过获取任务规划系统中卫星的待规划观测任务集合,将观测任务集合中包含的任务特征信息输入到预先训练的第一机器学习模型中,得到任务可调度性决策信息,将任务特征信息和任务可调度性决策信息输入到预先训练的第二机器学习模型中,得到第一任务分配信息,将第一任务分配信息输入基于随机爬山的约束修正算法进行修正,得到第二任务分配信息,根据第二任务分配信息对观测任务进行任务规划。采用本方法可以通过机器学习模型为传统任务规划算法提供初始解,既利用了机器学习方法学习能力强,预测速度快的优势,又发挥了传统任务规划算法适用性好的优点,效率高,稳定性好。
在其中一个实施例中,如图2所示,由多星任务规划历史调度数据训练集训练得到第一机器学习模型,第一机器学习模型用于预测任务的可调度性;由多星任务规划历史分配数据训练集训练得到第二机器学习模型,第二机器学习模型用于预测任务的卫星分配。将待规划的观测任务集合输入到第一机器学习模型中,将观测任务集合分为预执行任务集合和不执行任务集合;将预执行任务集合输入到第二机器学习模型中,得到第一任务分配信息,第一任务分配信息对应初始规划方案,再通过优化算法对初始规划方案进行优化,得到第二任务分配信息,用第二任务分配信息对应的任务规划方案对观测任务集合中的观测任务进行卫星指派。
在其中一个实施例中,第一机器学习模型是基于Transformer的第一预测模型,将任务特征信息输入到基于Transformer的第一预测模型中,得到任务可调度性决策信息;第二机器学习模型是基于Transformer的第二预测模型,将任务特征信息和任务可调度性决策信息输入到基于Transformer的第二预测模型中,得到第一任务分配信息。
从机器学习角度分析,多星任务规划问题是一个序列预测序列问题。该问题的输入是由多个观测任务组成的序列,输出结果也是由相应任务类别组成的序列。当前应用于“序列-序列”问题的主流架构有:卷积神经网络、循环神经网络。卷积神经网络易于并行化,却不适合捕捉变长序列内的依赖关系,循环神经网络适合捕捉长距离变长序列的依赖,但是却难以实现并行化处理序列。选用基于注意力机制的Transformer模型来构建基于Transformer的第一预测模型作为任务可调度性预测模型,和基于Transformer的第二预测模型作为任务分配模型,通过注意力机制去捕获观测任务与其他任务之间的依赖关系来实现对每个任务分类的预测,并且模型训练时可以进行并行化计算。
在其中一个实施例中,获取卫星任务规划系统中待规划的观测任务集合;根据待规划观测任务集合中每一项待规划观测任务,得到每一项任务对应的任务特征信息;将每一项任务对应的任务特征信息组合得到任务特征信息。在获取卫星任务规划系统中待规划的观测任务集合之前,设置多星任务规划建模的约束条件,根据约束条件确定所述任务特征信息。
多星观测任务规划问题可描述为在规定调度时间内,已知有若干组基于约束条件集合和观测卫星集合的多星对地观测历史任务规划数据,对一组待规划的观测任务集合进行调度,要求在满足约束条件的前提下,安排卫星收益最大化地执行集合中的观测任务。对多星观测任务规划问题进行如下合理假设:每个观测任务只能执行一次,不允许重复执行;每个卫星同一时间只能执行一个观测任务;卫星执行的观测任务不允许拆分;忽略卫星观测任务间转换时间。
在以上假设的基础上,多星任务规划建模的约束条件主要有:多星任务规划的优化目标是在满足所有约束条件的情况下,卫星集合收益最大化地执行待观测任务集合;卫星执行观测任务的观测时长要与用户的观测时长需求一致,不允许任务拆分;卫星在调度时间内观测总时长不大于卫星最长工作时间;卫星在调度时间内存储总消耗不大于最大存储消耗;每颗卫星同一时间只能执行一个任务,相同卫星的观测时间窗不能重叠。
任务特征信息选取的好坏对规划结果的影响至关重要,根据约束条件确定任务特征信息可以在进行任务执行预测时充分考虑到约束条件,提升规划方案的收益。
在其中一个实施例中,任务特征信息包括:任务的优先级信息、任务观测时长需求信息、任务在各卫星对应的观测时间窗信息、任务在各卫星对应的存储消耗信息、任务在各卫星实际对应的观测时长信息以及相同卫星中相邻任务时间窗的时间间隔信息。任务的特征信息包含了任务本身信息和任务在各个卫星上需要占用的时间资源、存储资源信息等信息。任务的特征信息是以任务编号和卫星编号为索引的二维矩阵。
在其中一个实施例中,如图3所示,基于Transformer的第一预测模型或所述基于Transformer的第二预测模型包括:多层Transformer Layer和全连接层;其中TransformerLayer由多头注意力机制、求和与归一化、前馈神经网络三种结构组成,上一层的输出传递到下一层,叠加多次。多头注意力机制目的是对输入任务特征进行更全面的抽取;求和可以帮助网络提升训练效果,关注训练前后差异部分变化;对求和结果标准化的目的是对神经元输入进行标准化,使得均值方差一致,加快网络收敛。
基于Transformer的第一预测模型和基于Transformer的第二预测模型运用了相同的网络结构,但存在如下不同:输入特征不同:基于Transformer的第一预测模型输入为任务特征信息;而基于Transformer的第二预测模型输入包含任务特征信息,此外还包含任务的可调度性决策信息;预测问题不同:基于Transformer的第一预测模型预测二分类问题,而基于Transformer的第二预测模型预测多分类问题;测试数据不同:基于Transformer的第一预测模型在训练或者测试时,输入特征均为已知,基于Transformer的第一预测模型在训练时,任务可调度性特征为已知数据,来自于历史规划数据,基于Transformer的第二预测模型测试时,任务可调度性决策信息为未知数据,来自于基于Transformer的第一预测模型的预测结果。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种多星应急观测任务规划装置,包括:待规划观测任务集合获取模块、任务可调度性决策信息获取模块、第一任务分配信息获取模块和第二任务分配信息获取模块,其中:
待规划观测任务集合获取模块402,用于获取卫星任务规划系统中待规划的观测任务集合;卫星观测任务集合中包含多个观测任务的任务特征信息;
任务可调度性决策信息获取模块404,用于将任务特征信息输入到第一机器学习模型中,得到任务可调度性决策信息;第一机器学习模型是通过历史调度数据构建的训练集训练得到的;历史调度数据中包含观测任务的执行信息;
第一任务分配信息获取模块406,用于将任务特征信息和所述任务可调度性决策信息输入到第二机器学习模型中,得到第一任务分配信息;第二机器学习模型是通过历史分配数据构建的训练集训练得到的;历史分配数据中包含观测任务的分配信息;
第二任务分配信息获取模块408,用于将第一任务分配信息输入基于随机爬山的约束修正算法进行修正,得到第二任务分配信息,根据第二任务分配信息对卫星观测任务集合中的观测任务进行卫星指派。
任务可调度性决策信息获取模块404还用于将任务特征信息输入到基于Transformer的第一预测模型中,得到任务可调度性决策信息。
第一任务分配信息获取模块406还用于将任务特征信息和任务可调度性决策信息输入到基于Transformer的第二预测模型中,得到第一任务分配信息。
待规划观测任务集合获取模块402还用于获取卫星任务规划系统中待规划的观测任务集合;根据待规划观测任务集合中每一项待规划观测任务,得到每一项任务对应的任务特征信息;将所述每一项任务对应的任务特征信息组合得到所述任务特征信息。
待规划观测任务集合获取模块402还用于在获取卫星任务规划系统中待规划的观测任务集合之前设置多星任务规划建模的约束条件,根据约束条件确定所述任务特征信息。
关于多星应急观测任务规划装置的具体限定可以参见上文中对于多星应急观测任务规划方法的限定,在此不再赘述。上述多星应急观测任务规划装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种多星应急观测任务规划方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 一种多星应急观测任务规划方法、装置和计算机设备
- 一种面向灾害应急的多星协同观测任务规划方法及装置