掌桥专利:专业的专利平台
掌桥专利
首页

基于约束层次网络的任务时间逻辑约束推理方法及装置

文献发布时间:2023-06-19 19:30:30


基于约束层次网络的任务时间逻辑约束推理方法及装置

技术领域

本申请涉及空间站在轨运营任务规划的技术领域,特别是涉及一种基于约束层次网络的任务时间逻辑约束推理方法及装置。

背景技术

空间站短期任务主要受到功耗、散热、站上资源、航天员工作时间和天地通信数据窗口等约束,且任务间存在复杂的时间约束和逻辑约束,而短期规划的首要任务即是根据任务间复杂的时间约束和逻辑约束来确定任务的执行区间。因此需要分别设计特定的约束冲突化解方法,在时间线环境中对不同任务的执行情况进行统筹规划,得到满足约束需求的执行方案。

在工程实际中,由于短期属于超前规划,一般需要提前6个月制定基线计划,这导致了任务相关时间属性的不确定性,使得任务的具体执行时间范围不能提前预测出,为准确地描述任务的执行序列以及可执行时间区间,大多数任务采用相对时间关系描述方式进行时间信息设置,对任务的可执行时间区间进行计算。然而在目前已有的任务规划研究中,对于任务间的相对时间约束一般采用迭代修复的策略进行处理,这种处理方式会增加约束判断次数和处理次数,影响规划效率。因此,如何将任务调整对后续关联任务的影响考虑进约束化解策略中,并设计出快捷有效的约束推理方法是需要解决的难点之一。

发明内容

基于此,有必要针对上述技术问题,提供一种能够通过对任务方案的时间逻辑进行有效推理,并得到满足时间逻辑约束一次性的基于约束层次网络的任务时间逻辑约束推理方法及装置。

一种基于约束层次网络的任务时间逻辑约束推理方法,所述方法包括:

获取空间站短期任务规划场景中的多个待规划任务,以及与各所述待规划任务相关时间信息;

根据各所述待规划任务间的时间约束关系以及逻辑约束关系,构建时间逻辑约束层次网络,所述时间逻辑约束层次网络包括多条任务时序链,并根据各条任务时序链上任务所在位置将网络划分为不同任务层级;

在所述时间逻辑约束层次网络中选取一个待处理任务以及该选取任务所在任务时序链上的全部后续任务;

对选取的待处理任务进行时间约束一致性检查,若该待处理任务时间约束不一致,则将其裁剪,并将处于同一任务时序链上的全部后续任务裁剪,若该待处理任务时间约束一致,则根据赋值策略对待处理任务的任务起始时间进行赋值;

根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断,若判断结果为满足逻辑约束一致性,则保留该待处理任务的任务起始时间,若判断结果为不满足逻辑约束一致性,则根据冲突化解策略调整所述待处理任务的任务起始时间,或将所述待处理任务裁剪,同时将处于同一任务时序链上的全部后续任务裁剪;

对任务起始时间赋值成功的待处理任务所在任务时序链上的全部后续任务按照任务层级顺序进行依次处理,直至该条任务时序链上的任务全部处理完毕;

同时处理所述时间逻辑约束层次网络中各条任务时序链中属于同一任务层级的任务,并按照任务层级的顺序依次处理每一级任务层级中的任务,直至所述时间逻辑约束层次网络中的所有任务全部处理完毕,则输出各条任务时序链上各任务的时间约束一致性检查结果、逻辑约束一致性判断结果以及任务起始点时间;

根据各所述任务的任务起始点时间进行规划得到满足时间逻辑约束一致性的空间站短期任务规划方案。

在其中一实施例中,各所述待规划任务间的时间约束关系根据各待规划任务的任务变量点的取值区间进行描述,并表示为:

在上式中,

在其中一实施例中,当对标称时间进行描述时,包括绝对时间或相对时间两种表示方式;

所述相对时间表示方式包括:相对特征时间点表示方式以及相对任务变量点表示方式,其中所述相对特征时间点表示方式为任务与特征时间点之间的约束,所述相对任务变量点表示方式为任务与任务之间的约束;

其中,以相对任务变量点对标称时间

在上式中,

在其中一实施例中,所述待规划任务间的逻辑约束关系包括独占、互斥以及共存。

在其中一实施例中,所述时间逻辑约束层次网络为描述各待规划任务间的时间逻辑关系的一种单向、无回路网络,表示为:

在上式中,

在其中一实施例中,所述对选取的待处理任务进行时间约束一致性检查包括:

对所述待处理任务进行显示错误检查,若所述待处理任务存在显示错误,则将该待处理任务以及处于同一任务时序链上的全部后续任务进行裁剪;

若不存在显示错误,则根据约束关系计算所述待处理任务的有效可执行时间区间,若该待处理任务不存在有效可执行时间区间,则将该待处理任务以及处于同一任务时序链上的全部后续任务进行裁剪;

若该待处理任务存在有效可执行时间区间,则根据赋值策略在所述有效可执行时间区间内对待处理任务的任务起始时间进行赋值。

在其中一实施例中,所述根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断包括:

若所述待处理任务满足独占约束、互斥约束以及共存约束的一致性,则保留该待处理任务的任务起始时间;

若所述待处理任务不满足独占约束或互斥约束一致性,则根据冲突化解策略在所述待处理任务的有效可执行时间区间内调整任务起始时间,若在该任务的有效可执行时间区间内搜索不到合适的时间点,使得该任务的独占约束或互斥约束一致性得到满足,则将该待处理任务以及处于同一任务时序链上的全部后续任务裁剪;

若所述待处理任务不满足独共存约束一致性,并将该待处理任务以及处于同一任务时序链上的全部后续任务裁剪。

一种基于约束层次网络的任务时间逻辑约束推理装置,所述装置包括:

待规划任务获取模块,用于获取空间站短期任务规划场景中的多个待规划任务,以及与各所述待规划任务相关时间信息;

时间逻辑约束层次网络构建模块,用于根据各所述待规划任务间的时间约束关系以及逻辑约束关系,构建时间时间逻辑约束层次网络,所述时间时间逻辑约束层次网络包括多条任务时序链,并根据各条任务时序链上任务所在位置将网络划分为不同任务层级;

待处理任务选取模块,用于在所述时间逻辑约束层次网络中选取一个待处理任务以及该选取任务所在任务时序链上的全部后续任务;

时间约束检查模块,用于对选取的待处理任务进行时间约束一致性检查,若该待处理任务时间约束不一致,则将其裁剪,并将处于同一任务时序链上的全部后续任务裁剪,若该待处理任务时间约束一致,则根据赋值策略对待处理任务的任务起始时间进行赋值;

逻辑约束检查模块,用于根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断,若判断结果为满足逻辑约束一致性,则保留该待处理任务的任务起始时间,若判断结果为不满足逻辑约束一致性,则根据冲突化解策略调整所述待处理任务的任务起始时间,或将所述待处理任务裁剪,同时将处于同一任务时序链上的全部后续任务裁剪;

任务时序链处理模块,用于对任务起始时间赋值成功的待处理任务所在任务时序链上的全部后续任务按照任务层级顺序进行依次处理,直至该条任务时序链上的任务全部处理完毕;

逻辑约束层次网络处理模块,用于同时处理所述逻辑约束层次网络中各条任务时序链中属于同一任务层级的任务,并按照任务层级的顺序依次处理每一级任务层级中的任务,直至所述时间逻辑约束层次网络中的所有任务全部处理完毕,则输出各条任务时序链上各任务的时间约束一致性检查结果、逻辑约束一致性判断结果以及任务起始点时间;

短期任务规划方案得到模块,用于根据各所述任务的任务起始点时间进行规划得到满足时间逻辑约束一致性的空间站短期任务规划方案。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取空间站短期任务规划场景中的多个待规划任务,以及与各所述待规划任务相关时间信息;

根据各所述待规划任务间的时间约束关系以及逻辑约束关系,构建时间逻辑约束层次网络,所述时间逻辑约束层次网络包括多条任务时序链,并根据各条任务时序链上任务所在位置将网络划分为不同任务层级;

在所述时间逻辑约束层次网络中选取一个待处理任务以及该选取任务所在任务时序链上的全部后续任务;

对选取的待处理任务进行时间约束一致性检查,若该待处理任务时间约束不一致,则将其裁剪,并将处于同一任务时序链上的全部后续任务裁剪,若该待处理任务时间约束一致,则根据赋值策略对待处理任务的任务起始时间进行赋值;

根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断,若判断结果为满足逻辑约束一致性,则保留该待处理任务的任务起始时间,若判断结果为不满足逻辑约束一致性,则根据冲突化解策略调整所述待处理任务的任务起始时间,或将所述待处理任务裁剪,同时将处于同一任务时序链上的全部后续任务裁剪;

对任务起始时间赋值成功的待处理任务所在任务时序链上的全部后续任务按照任务层级顺序进行依次处理,直至该条任务时序链上的任务全部处理完毕;

同时处理所述时间逻辑约束层次网络中各条任务时序链中属于同一任务层级的任务,并按照任务层级的顺序依次处理每一级任务层级中的任务,直至所述时间逻辑约束层次网络中的所有任务全部处理完毕,则输出各条任务时序链上各任务的时间约束一致性检查结果、逻辑约束一致性判断结果以及任务起始点时间;

根据各所述任务的任务起始点时间进行规划得到满足时间逻辑约束一致性的空间站短期任务规划方案。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取空间站短期任务规划场景中的多个待规划任务,以及与各所述待规划任务相关时间信息;

根据各所述待规划任务间的时间约束关系以及逻辑约束关系,构建时间逻辑约束层次网络,所述时间逻辑约束层次网络包括多条任务时序链,并根据各条任务时序链上任务所在位置将网络划分为不同任务层级;

在所述时间逻辑约束层次网络中选取一个待处理任务以及该选取任务所在任务时序链上的全部后续任务;

对选取的待处理任务进行时间约束一致性检查,若该待处理任务时间约束不一致,则将其裁剪,并将处于同一任务时序链上的全部后续任务裁剪,若该待处理任务时间约束一致,则根据赋值策略对待处理任务的任务起始时间进行赋值;

根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断,若判断结果为满足逻辑约束一致性,则保留该待处理任务的任务起始时间,若判断结果为不满足逻辑约束一致性,则根据冲突化解策略调整所述待处理任务的任务起始时间,或将所述待处理任务裁剪,同时将处于同一任务时序链上的全部后续任务裁剪;

对任务起始时间赋值成功的待处理任务所在任务时序链上的全部后续任务按照任务层级顺序进行依次处理,直至该条任务时序链上的任务全部处理完毕;

同时处理所述时间逻辑约束层次网络中各条任务时序链中属于同一任务层级的任务,并按照任务层级的顺序依次处理每一级任务层级中的任务,直至所述时间逻辑约束层次网络中的所有任务全部处理完毕,则输出各条任务时序链上各任务的时间约束一致性检查结果、逻辑约束一致性判断结果以及任务起始点时间;

根据各所述任务的任务起始点时间进行规划得到满足时间逻辑约束一致性的空间站短期任务规划方案。

上述基于约束层次网络的任务时间逻辑约束推理方法及装置,通过梳理空间站短期任务间不同类型的时间逻辑约束,根据任务规划层级的划分原则,构建时间逻辑约束层次网络,并依据层次网络的一致性检查与约束传播方法,实现由时间确定任务向时间不确定任务逐层约束判断,避免了传统规划算法中因约束迭代判断导致的计算资源浪费,实现对任务方案时间逻辑约束的有效推理。

附图说明

图1为一个实施例中基于约束层次网络的任务时间逻辑约束推理方法的流程示意图;

图2为一个实施例中

图3为一个实施例中时间逻辑约束层次网络示意图;

图4为一个实施例中任务时间冲突示意图;

图5为一个实施例中关联任务调整导致时间约束冲突示意图;

图6为一个实施例中任务与独占任务冲突示意图;

图7为一个实施例中时间约束与互斥区间冲突示意图;

图8为一个实施例中短期任务起始点取值区间示意图;

图9为一个实验仿真中各任务起始点取值区间示意图;

图10为一个实验仿真中两种约束传播算法10次独立计算时间对比示意图;

图11为一个实施例中基于约束层次网络的任务时间逻辑约束推理装置的结构框图;

图12为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,提供了一种基于约束层次网络的任务时间逻辑约束推理方法,包括以下步骤:

步骤S100,获取空间站短期任务规划场景中的多个待规划任务,以及与各所述待规划任务相关时间信息;

步骤S110,根据各所述待规划任务间的时间约束关系以及逻辑约束关系,构建时间逻辑约束层次网络,所述时间逻辑约束层次网络包括多条任务时序链,并根据各条任务时序链上任务所在位置将网络划分为不同任务层级;

步骤S120,在所述时间逻辑约束层次网络中选取一个待处理任务以及该选取任务所在任务时序链上的全部后续任务;

步骤S130,对选取的待处理任务进行时间约束一致性检查,若该待处理任务时间约束不一致,则将其裁剪,并将处于同一任务时序链上的全部后续任务裁剪,若该待处理任务时间约束一致,则根据赋值策略对待处理任务的任务起始时间进行赋值;

步骤S140,根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断,若判断结果为满足逻辑约束一致性,则保留该待处理任务的任务起始时间,若判断结果为不满足逻辑约束一致性,则根据冲突化解策略调整所述待处理任务的任务起始时间,或将所述待处理任务裁剪,同时将处于同一任务时序链上的全部后续任务裁剪;

步骤S150,对任务起始时间赋值成功的待处理任务所在任务时序链上的全部后续任务按照任务层级顺序进行依次处理,直至该条任务时序链上的任务全部处理完毕;

步骤S160,同时处理所述时间逻辑约束层次网络中各条任务时序链中属于同一任务层级的任务,并按照任务层级的顺序依次处理每一级任务层级中的任务,直至所述时间逻辑约束层次网络中的所有任务全部处理完毕,则输出各条任务时序链上各任务的时间约束一致性检查结果、逻辑约束一致性判断结果以及任务起始点时间;

步骤S170,根据各所述任务的任务起始点时间进行规划得到满足时间逻辑约束一致性的空间站短期任务规划方案。

在步骤S100中,先获取需要进行规划的所有任务以及相关时间信息,其中相关时间信息包括预设的任务开始时间点,结束时间点,任务时长,以及开始时间点以及结束时间点可提早或推迟的前后偏移量。

在获取待规划任务的同时,还需要获取预设的各任务之间的逻辑关系信息。

在步骤S110中,在空间站短期任务规划过程中,时间约束源自任务本身与其他任务或时间点产生的时间关联关系,同一任务可具备多个时间约束,每一个时间约束代表着一段任务变量点(起始点或终止点)的取值区间。为对该区间进行描述,引入了标称时间点概念,将取值区间拆解为“标称时间点+前、后偏移量”的形式,用一个四元组即可表示为:

在上式中,

在本实施例中,当对标称时间进行描述时,包括绝对时间或相对时间两种表示方式。其中,相对时间表示方式包括:相对特征时间点表示方式以及相对任务变量点表示方式,其中相对特征时间点表示方式为任务与特征时间点之间的约束,相对任务变量点表示方式为任务与任务之间的约束。

具体的,为描述

而在实际规划中,由于任务一般需要提前数月进行规划,造成了时间上的不确定性,增加了绝对时间的获取难度,因此大多数任务采用相对时间的

进一步的,相对任务变量点的

每一个任务在时间线都可拆解为任务起始点

相对任务变量点的

在上式中,

这样,任务间相对时间约束可表示:

将任务的各个时间约束取交集就可得到该任务的有效的可执行时间区间:

当上式交集不为空时,则说明该任务时间约束自洽,存在有效的可执行时间区间,为可规划状态;否则,说明该任务违反时间约束,需进行调整。

进一步的,特征时间点即为轨道特征时刻,包括轨道高度、姿态、航天器距离、圈号、天数、进阴影、进光照、近地点、远地点等,均可在月计划规划前根据飞行计划、轨道方案、发射窗口等计算获得。特征时间点分为绝对时间特征点时间点与相对时间特征点,相对时间特征点以其他特征点为基准点,利用时间关系可推导出对应时刻,如“XX系统主机加电点”在“XX系统开机”后30s,因此可由“XX系统开机”时间推算出“XX系统主机加电点”具体时间。特征时间点之间的推导工作需在规划预处理时完成,在规划过程中默认各个特征点为绝对时间。

在本是实施例中,待规划任务间的逻辑约束关系包括独占、互斥以及共存。

具体的,在短期任务规划过程中,除了时间约束外,还需要考虑逻辑约束对任务可执行时间区间的影响。目前在规划中考虑了三种逻辑关系,分别是:独占(

(1)独占:在该任务的时间区间内不得安排其他任务,该任务独占该时间段内全部资源。

在月计划规划中,任务间若无明确的时序关系或资源冲突的情况下,允许任务并行执行。而对于某些重大任务或特殊任务,为保证其成功的执行,则需要在时间以及资源上给予完全支持,这类任务即为独占任务。

(2)互斥:两个任务在某一时间段内不可同时执行。

互斥的约束范围只限定于相关的两任务间,且互斥区间定义以主任务开始点

在上式中,

(3)共存:两个任务必须同时存在或不存在于任务方案中。

两任务间存在强相关关系,如:“出舱任务准备(舱外服及舱载支持设备、环控设备等检查与测试等)”与“出舱任务”。当一个任务因为约束无法满足被裁剪时,另一个任务也直接被裁剪,以保证方案的合理性。

在步骤S120中,先根据各任务的时间约束以及逻辑约束构建多条任务时序链,且每一条任务时序链的起点即为整条链所有任务的源任务。并且同一规划场景中包括多条任务时序链,为了清晰地描述各链之间关系,构建由多条任务时序链形成的时间逻辑约束层次网络,如图 3所示。

具体的,时间逻辑约束层次网络为描述各待规划任务间的时间逻辑关系的一种单向、无回路网络。且整个网络依据各任务在任务时序链上的位置被划分不同层级。任务间时间逻辑约束等信息以图形化形式直观展示,图中节点和有向边采用一个六元组表示为:

在上式中,

具体的,待规划任务起始时间的节点集合

在时间逻辑约束层次网络中包含了两个虚拟任务,即“开始”和“结束”任务,分别用

具体的,特征时间点的节点结合

具体的,任务与任务、或任务与特征时间点之间的时序关系有向边集合

具体的,特征时间点之间的时序关系的有向边集合

具体的,互斥约束关系的有向边集合

具体的,共存约束关系的有向边集合

在本实施例中,关于时间逻辑约束层次网络还进行如下说明:

(1)网络中只得出现一个“开始”任务和一个“结束”任务,且“开始”必须在所有任务和特征时间点之前,“结束”必须在所有任务和特征时间点之后;

(2)在描述时序关系的有向边中,左侧的为前序节点,右侧的为后续节点,两者之间的实际执行顺序取决于 ,并非前序节点一定先执行,后续节点后执行;

(3)每一个任务和特征时间点只出现一次,若需重复出现则视为不同节点;

(4)时间逻辑约束层次网络中不存在回路;

(5)时间逻辑约束层次网络只依据任务时间约束类型划分层次,且层级值是连续的,每一层级至少存在一个任务或特征时间点;

(6)任务时序链以及任务层级只是表明任务间的约束处理顺序,图中横轴非时间轴,因此不能像项目调度问题(Project Scheduling Problem, PSP)那样可以用链路长度估算方案的执行时长。

在通过多条任务时序链构建网络之后,还对网络中的任务根据层次划分原则进行层次划分,具体如下:

(1)当任务只具备单时间约束,且该约束为绝对时间点约束或相对特征时间点约束时,该任务所属层级为Level-1;

(2)当任务只具备单时间约束,且该约束为相对任务变量点约束时,则该任务所属层级为其相对任务所属层级+1。如图 3所示,任务0所属层级为Level-1,则任务2所属层级为Level-2;

(3)当任务具备多时间约束,则取时间约束中最高层级+1,作为该任务所属层级。如图 3所示,任务9与任务6、任务4之间存在时间约束,取任务6的Level-3为最高层级,则任务9所属层级为Level-4。

其中,单时间约束是指任务只具有一个时间约束关系时。

在得到时间逻辑约束层次网络之后,需要对其进行时间逻辑约束一致性的检查。

在规划中,如果当设计变量赋值

具体的,在约束层次网络中显示错误主要包括:

(1)当时间约束为相对任务变量点约束时,关联任务未出现在短期任务集中,即:

(2)当时间约束为相对特征点约束时,关联特征点未出现在短期特征点集中,即:

(3)当逻辑约束为共存关系时,关联任务未出现在短期任务集中,即:

(4)时间约束边界值设置矛盾,即:

显示错误主要集中在参数设置上,需在规划前进行检测,并通过人为修改相关参数进行直接修正,并再次进行一致性检查,以确保参数设置的正确性。其中,参数设置包括:预设的特征时间点、相关任务的开始点、相关事件的结束点、相对时间关系以及相对时间量的配置。

具体的,隐式错误多发生于规划过程中,主要为时间、逻辑约束之间产生冲突,导致任务无可执行时间区间,可分为以下几种情况:

(1)任务具备多时间约束时,时间约束设置冲突无交集,不存在有效时间段,如图4所示;

(2)任务具备多时间约束时,由于关联任务被调整或被裁剪,导致时间约束冲突无交集,不存在有效时间段,如图 5所示;

(3)任务与独占任务冲突,导致执行时间调整超出有效时段,如图 6所示;

(4)任务时间约束与互斥区间冲突,导致执行时间调整超出有效时段,如图 7所示;

(5)逻辑约束为共存关系的两任务中,某一任务因故被裁剪,而另一任务仍存在于网络中。

隐式错误主要是因为前序任务不断增加,导致时间资源不断被占用,后续任务的排布相继受到影响,所以需要利用约束传播对各类隐式错误进行检查。

基于上述两种时间逻辑约束层次网络容易出现的错误,需要建立一种时间逻辑约束传播方法。

约束传播即是根据约束中参数的变化,对设计变量、值域约束等进行迭代修改,检测和删除违反约束的设计变量。约束传播的主要作用是处理短期任务规划中大量的相对时间约束,其基本思想是以任务间时间关系所形成的处理顺序,依次确定前序任务起始点的取值区间并进行赋值,随后更新后续任务的起始点取值区间,通过不断地迭代,完成对全方案任务起始点取值区间的确定、检测及赋值。如图 8所示,给出了短期任务规划中约束传播的调用流程。规划方案一旦形成,首先检查该方案是否符合任务约束(包括逻辑约束和资源约束),若方案中某个任务违反了约束,则根据相应策略对该任务起始点进行修正,并对其后续任务通过时间约束传播方式更新起始点取值区间。

在本实施例中,基于时间逻辑约束层次网络的约束传播算法,利用时间逻辑约束层次网络将任务按照时间约束划分为不同层级的特性,使得规划可以由时间确定任务向时间不确定任务层层递推,实现对每一层级任务的一致性检查与起始点取值区间获取。这是一种以空间换时间的策略,能够避免在规划过程中反复搜索计算,可有效提升计算效率。

具体的,在约束传播算法中,先进行时间约束一致性检查(步骤S130所述),再进行逻辑约束一致性判断(步骤S140所述),而在进行处理时,根据当前选择的一个任务节点开始处理,通常选择处在层级Level-1中的任务节点进行处理,先确定任务开始时间点在前的任务时间,再往后对后续任务的任务开始时间进行确定。

具体的,对选取的待处理任务进行时间约束一致性检查包括:对待处理任务进行显示错误检查,若待处理任务存在显示错误,则将该待处理任务以及处于同一任务时序链上的全部后续任务进行裁剪。若不存在显示错误,则根据约束关系计算待处理任务的有效可执行时间区间,若该待处理任务不存在有效可执行时间区间,则将该待处理任务以及处于同一任务时序链上的全部后续任务进行裁剪。若该待处理任务存在有效可执行时间区间,则根据赋值策略在有效可执行时间区间内对待处理任务的任务起始时间进行赋值。

其中,在根据约束关系计算待处理任务的有效可执行时间区间包括:预处理任务时间约束信息,将相对绝对时间点约束、相对任务变量点约束以及相对特征时间点约束转化为时间段信息。再对各时间段取交集,获取任务起始点有效取值区间。

其中,赋值策略可以采用包括标称时间点赋值策略、取值区间起始点赋值策略等,一般需视目标进行选取。

在本实施例中,采用标称时间点赋值策略,具体包括:当任务的时间约束标称时间点在执行时间点取值区间内时,优先选择该点进行赋值,否则选取取值区间起始点。

具体的,根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断包括:若待处理任务满足独占约束、互斥约束以及共存约束的一致性,则保留该待处理任务的任务起始时间。若待处理任务不满足独占约束或互斥约束一致性,则根据冲突化解策略在所述待处理任务的有效可执行时间区间内调整任务起始时间,若在该任务的有效可执行时间区间内搜索不到合适的时间点,使得该任务的独占约束或互斥约束一致性得到满足,则将该待处理任务以及处于同一任务时序链上的全部后续任务裁剪。若待处理任务不满足独共存约束一致性,并将该待处理任务以及处于同一任务时序链上的全部后续任务裁剪。

在本实施例中,冲突化解策略包括延迟发生策略和取消执行策略,对需要冲突调整的事件采用延迟发生策略和取消执行策略进行冲突化解。

(1)延迟发生策略

根据约束冲突判断事件是否可执行,若不可执行,则在事件执行时间区间内逐步延迟事件的开始时间,并继续判断能否执行,直至冲突结束。

(2)取消执行策略

根据约束冲突判断事件是否可执行,若不可执行则直接取消该事件,将其进行裁减。

在本实施例中,还提供了一种时间逻辑约束层次网络的约束传播算法如算法1所示,其具体步骤包括:

算法1

Step 0: 输入全部任务,完成重复任务拆解和任务时间约束统一时间点处理等操作,划分任务层级,构建时间逻辑约束层次网络;

Step 1: 获取待处理任务所处任务时序链上的全部后续任务;

Step 2: 若待处理任务因显示错误导致一致性检查结果为不一致,则该任务被裁剪,其后续任务因前序任务缺失,造成一致性检查结果为不一致被裁剪;

Step 3: 若待处理任务不存在显示错误,则依照任务层级顺序依次处理每一层级后续任务:

(1)预处理任务时间约束信息,将相对绝对时间点约束、相对任务变量点约束以及相对特征时间点约束转化为时间段信息;

(2)对各时间段取交集,获取任务起始点有效取值区间;

(3)若任务不存在有效的可执行时间区间,则该任务时间约束不一致,被裁剪,其后续任务因前序任务缺失,造成一致性检查结果为不一致被裁剪;

(4)若任务存在有效的可执行时间区间,则保存该时间段,同时根据赋值策略,在任务可执行时间区间范围内对任务起始点赋值。

Step 4: 若待处理任务存在有效的可执行时间区间,则根据任务的起始时间,判断各类逻辑约束的一致性是否满足:

(1)若任务的独占约束、互斥约束以及共存约束一致性满足,则保存该任务起始时间点;

(2)若任务的独占约束或互斥约束一致性不满足,则根据冲突化解策略调整任务的起始时间,若在任务的可执行时间区间内搜索不到合适的时间点,使得任务的独占约束或互斥约束一致性得到满足,则裁剪该任务,其后续任务因前序任务缺失,造成一致性检查结果为不一致被裁剪;若搜索到合适的时间点使得任务的独占约束或互斥约束一致性得到满足,则保存该任务起始时间点;

(3)若任务的共存约束一致性不满足,则裁剪该任务,其后续任务因前序任务缺失,造成一致性检查结果为不一致被裁剪。

Step 5: 判断后续任务是否全部处理完毕,如果未处理完毕则重复Step 2;

Step 6: 后续任务全部处理完毕后,输出待处理任务时间逻辑约束一致性检查结果以及其后续任务的一致性检查结果、取值区间、起始点赋值。

针对该算法,有几点说明如下:

(1)时间、逻辑约束属于硬约束,是在规划中必须满足的硬性约束条件。在规划中,时间约束将推导出任务的可执行时间区间,因此一旦时间约束不满足,则说明该任务在整个规划过程中无可执行时间区间,需要被裁剪。而任务的逻辑约束则需要根据任务的起始时间进行一致性判断,若任务的逻辑约束不满足,则需要在任务的可执行时间区间搜索可满足任务逻辑约束的时间点,若该时间点存在则设置为任务的起始时间;若该时间点不存在则任务需要被裁剪。

(2)Step 3严格按照任务层级顺序由小到大逐级处理所有任务。在短期规划过程中,由于Level-1级任务时间约束与绝对时间点相关,因此优先处理该级任务可直接在时间线上推导任务的起始点取值区间,而后利用约束传播算法推理出后续任务的起始点取值区间。

(3)上文提出的约束传播算法主要应用于初始方案生成以及约束冲突解耦时相关任务起始点修正。在进行约束冲突判断过程中,任务起始点会根据冲突类型而作出相应的修正,由算法1可知,在同一任务时序链中,前序任务起始点发生变化,后续任务起始点取值空间势必依次修改:对于单时间约束任务,取值区间在时间线上位置发生改变但区间长度不变;对于多时间约束任务,则可能出现时间约束冲突无交集的情况。

(4)经过约束传播处理后的方案为局部方案即规划过程中的临时方案,该方案可能不满足全部约束,需通过不断地迭代修正,进行约束推理,生成最终方案。

在本实施例中,在对各条任务时序链进行处理时,同时处理各条任务时序链中属于同一任务层级的任务,并按照任务层级的顺序依次同时处理每一级任务层级中的任务,直至时间逻辑约束层次网络中的所有任务全部处理完毕。这样可以加快规划过程,有效提高推理速度。

在本文中,还根据本文中所提方法进行实验仿真以证明本文方法的有效性。

实施例一:

S0,输入参数

输入下述空间站运营规划场景参数:

本文以时间跨度为2022-03-01 14:10:45至2022-09-31 14:10:59的某短期任务规划场景作为算法验证,本节算例暂不考虑资源约束对规划的影响。场景中包含时间特征点7个,具体信息由表 1给出。

表1特征时间点信息

/>

表2短期算例任务重复属性信息列表(时间单位:天)

该空间站短期任务规划场景中涉及短期任务177件,其中重复任务21件,任务重复属性参数如表2所示,包括重复任务ID、重复类型(1:固定间隔重复、2:无固定间隔重复、3:周期无固定间隔重复)、重复总次数、重复周期、重复时间区间、重复任务最大时间间隔以及最小时间间隔等。经重复任务拆解处理后,变成为289个任务。

场景中包含独占任务10件,共存任务6件、互斥任务4件,设置任务逻辑约束参数如表3、表4和表5所示,包括独占任务ID、共存任务ID、关联任务ID、互斥区间前偏移量和后偏移量等。

表3短期算例中独占任务信息

表4短期算例中共存任务信息

表5短期算例中互斥任务信息(时间单位:小时)

根据本文方法对上述获取的待规划任务信息进行处理,根据各待规划任务间的时间约束关系,逻辑约束关系,并根据任务规划层级划分原则,构建对应的时间逻辑约束层次网络。再基于该网络进行时间逻辑一致性检查与约束传播方法,是想由时间确定任务向时间不确定任务逐层约束判断,得到满足时间逻辑约束的任务规划方案。

计算结果如下:

根据任务时间约束信息,共梳理出23条任务时序链(每条链任务数≥2),划分成64级,如表6和表7所示,其中15级至64级皆只有一个任务。

表6任务时序链划分

表7任务层级划分

利用提出的约束层次网络推理方法对本算例进行推理,其中任务起始点赋值策略选取“标称时间点赋值策略”,即当任务的时间约束标称时间点在执行时间点取值区间内时,优先选择该点进行赋值,否则选取取值区间起始点。经过推理,271个任务获取合理的起始点取值区间,图 9和表 8分别给出了166个原始任务(非重复拆解任务)的起始点取值区间推理结果(表中时间量取与场景起始点的相对时间),参数时间单位为小时。由图中和表中信息可知,大部分任务由于取值长度为0,导致任务可调整时间冗余度为0,在后续考虑资源约束时,可能会造成大量任务因约束冲突而被裁剪,因此需要建议各工程系统重新设置较为合理的任务时间约束调整区间。

表 8(a)各任务起始点取值区间详细信息(时间单位:小时)

表 8(b)各任务起始点取值区间详细信息(时间单位:小时)

在推理过程中,18个任务因约束冲突被裁剪,涉及到4条任务时序链,如表 9所示。被裁剪任务时序链分别是“83、82、11、16、12、15、17”,“143、220、221”,“171、287、288”、“162、222、223”,源任务分别为83、143、171和162,其中任务83在设置时间约束时,关联到了一个不存在的特征点289,在推理过程中因找不到相关时间信息而被裁剪掉;任务143是由于设置时间约束时要求既在CPoint_1时执行又在CPoint_4执行,导致约束冲突被裁剪;任务171和任务162由于与独占任务127冲突,导致无可行取值区间被裁剪。链中其余任务则是由于源任务缺失而被裁剪。除此之外,任务155的时间约束要求其在任务148开始前一周,在任务149开始后4天执行,而在推理过程中,任务148和149的起始点分别为2022-08-23 12:00:00和2022-08-16 12:00:00,导致任务时间约束无合适的时间交集而被裁剪。任务159是由于与独占任务64冲突而被裁剪。

表9裁剪任务信息

为进一步分析本文提出的基于时间逻辑约束层次网络的约束传播算法的计算效率,在不考虑资源约束的前提下,分别采用本节算法与空间站在轨任务规划领域约束传播计算方法对上述算例进行10次独立运算,计算环境为AMD Ryzen 5 4600U (2.10 GHz 6核12线程),16G DDR4内存,开发环境为Visual Studio 2015,编程语言为C++。表10和图10分别给出了两种算法计算结果对比和10次独立运算时间对比。

表10两种约束传播算法计算结果比较

两种约束传播算法获得了相同的计算结果,但在计算时间上,本文提出的算法要优于空间站在轨任务规划领域约束传播计算方法。通过进一步分析可知,空间站在轨任务规划领域约束传播计算方法只是考虑了当前任务调整对相邻任务执行时间的影响,并且在每处理一个任务时,需要单独判断其时间、逻辑约束是否满足,若不满足则需要进行约束修复处理,这无疑增加了约束判断次数及处理次数,降低了计算效率。而本节提出的约束传播算法是根据时间约束类型划分任务的处理批次,通过由时间确定任务向时间不确定任务层层递推的方式实现约束传播,省略了大量的约束判断次数及处理次数,在计算效率上更具优势。

上述基于约束层次网络的任务时间逻辑约束推理方法中,通过梳理空间站短期任务间不同类型的时间逻辑约束,根据任务规划层级的划分原则,构建时间逻辑约束层次网络,并依据层次网络的一致性检查与约束传播方法,实现由时间确定任务向时间不确定任务逐层约束判断,避免了传统规划算法中因约束迭代判断导致的计算资源浪费,实现对任务方案时间逻辑约束的有效推理。并且本方法采用根据层级逐级处理的约束传播方法使得在冲突解耦过程中相关任务的修正过程在一次扫描中便能完成,减少了循环步骤,这其中任务层级信息起到了至关重要的作用。

应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图11所示,提供了一种基于约束层次网络的任务时间逻辑约束推理装置,包括:待规划任务获取模块200、时间逻辑约束层次网络构建模块210、待处理任务选取模块220、时间约束检查模块230、逻辑约束检查模块240、任务时序链处理模块250、时间逻辑约束层次网络处理模块260和短期任务规划方案得到模块270,其中:

待规划任务获取模块200,用于获取空间站短期任务规划场景中的多个待规划任务,以及与各所述待规划任务相关时间信息;

时间逻辑约束层次网络构建模块210,用于根据各所述待规划任务间的时间约束关系以及逻辑约束关系,构建时间逻辑约束层次网络,所述时间逻辑约束层次网络包括多条任务时序链,并根据各条任务时序链上任务所在位置将网络划分为不同任务层级;

待处理任务选取模块220,用于在所述时间逻辑约束层次网络中选取一个待处理任务以及该选取任务所在任务时序链上的全部后续任务;

时间约束检查模块230,用于对选取的待处理任务进行时间约束一致性检查,若该待处理任务时间约束不一致,则将其裁剪,并将处于同一任务时序链上的全部后续任务裁剪,若该待处理任务时间约束一致,则根据赋值策略对待处理任务的任务起始时间进行赋值;

逻辑约束检查模块240,用于根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断,若判断结果为满足逻辑约束一致性,则保留该待处理任务的任务起始时间,若判断结果为不满足逻辑约束一致性,则根据冲突化解策略调整所述待处理任务的任务起始时间,或将所述待处理任务裁剪,同时将处于同一任务时序链上的全部后续任务裁剪;

任务时序链处理模块250,用于对任务起始时间赋值成功的待处理任务所在任务时序链上的全部后续任务按照任务层级顺序进行依次处理,直至该条任务时序链上的任务全部处理完毕;

时间逻辑约束层次网络处理模块260,用于同时处理所述时间逻辑约束层次网络中各条任务时序链中属于同一任务层级的任务,并按照任务层级的顺序依次处理每一级任务层级中的任务,直至所述时间逻辑约束层次网络中的所有任务全部处理完毕,则输出各条任务时序链上各任务的时间约束一致性检查结果、逻辑约束一致性判断结果以及任务起始点时间;

短期任务规划方案得到模块270,用于根据各所述任务的任务起始点时间进行规划得到满足时间逻辑约束一致性的空间站短期任务规划方案。

关于基于约束层次网络的任务时间逻辑约束推理装置的具体限定可以参见上文中对于基于约束层次网络的任务时间逻辑约束推理方法的限定,在此不再赘述。上述基于约束层次网络的任务时间逻辑约束推理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于约束层次网络的任务时间逻辑约束推理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取空间站短期任务规划场景中的多个待规划任务,以及与各所述待规划任务相关时间信息;

根据各所述待规划任务间的时间约束关系以及逻辑约束关系,构建时间逻辑约束层次网络,所述时间逻辑约束层次网络包括多条任务时序链,并根据各条任务时序链上任务所在位置将网络划分为不同任务层级;

在所述时间逻辑约束层次网络中选取一个待处理任务以及该选取任务所在任务时序链上的全部后续任务;

对选取的待处理任务进行时间约束一致性检查,若该待处理任务时间约束不一致,则将其裁剪,并将处于同一任务时序链上的全部后续任务裁剪,若该待处理任务时间约束一致,则根据赋值策略对待处理任务的任务起始时间进行赋值;

根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断,若判断结果为满足逻辑约束一致性,则保留该待处理任务的任务起始时间,若判断结果为不满足逻辑约束一致性,则根据冲突化解策略调整所述待处理任务的任务起始时间,或将所述待处理任务裁剪,同时将处于同一任务时序链上的全部后续任务裁剪;

对任务起始时间赋值成功的待处理任务所在任务时序链上的全部后续任务按照任务层级顺序进行依次处理,直至该条任务时序链上的任务全部处理完毕;

同时处理所述时间逻辑约束层次网络中各条任务时序链中属于同一任务层级的任务,并按照任务层级的顺序依次处理每一级任务层级中的任务,直至所述时间逻辑约束层次网络中的所有任务全部处理完毕,则输出各条任务时序链上各任务的时间约束一致性检查结果、逻辑约束一致性判断结果以及任务起始点时间;

根据各所述任务的任务起始点时间进行规划得到满足时间逻辑约束一致性的空间站短期任务规划方案。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取空间站短期任务规划场景中的多个待规划任务,以及与各所述待规划任务相关时间信息;

根据各所述待规划任务间的时间约束关系以及逻辑约束关系,构建时间逻辑约束层次网络,所述时间逻辑约束层次网络包括多条任务时序链,并根据各条任务时序链上任务所在位置将网络划分为不同任务层级;

在所述时间逻辑约束层次网络中选取一个待处理任务以及该选取任务所在任务时序链上的全部后续任务;

对选取的待处理任务进行时间约束一致性检查,若该待处理任务时间约束不一致,则将其裁剪,并将处于同一任务时序链上的全部后续任务裁剪,若该待处理任务时间约束一致,则根据赋值策略对待处理任务的任务起始时间进行赋值;

根据赋值后的任务起始时间对所述待处理任务进行逻辑约束一致性判断,若判断结果为满足逻辑约束一致性,则保留该待处理任务的任务起始时间,若判断结果为不满足逻辑约束一致性,则根据冲突化解策略调整所述待处理任务的任务起始时间,或将所述待处理任务裁剪,同时将处于同一任务时序链上的全部后续任务裁剪;

对任务起始时间赋值成功的待处理任务所在任务时序链上的全部后续任务按照任务层级顺序进行依次处理,直至该条任务时序链上的任务全部处理完毕;

同时处理所述时间逻辑约束层次网络中各条任务时序链中属于同一任务层级的任务,并按照任务层级的顺序依次处理每一级任务层级中的任务,直至所述时间逻辑约束层次网络中的所有任务全部处理完毕,则输出各条任务时序链上各任务的时间约束一致性检查结果、逻辑约束一致性判断结果以及任务起始点时间;

根据各所述任务的任务起始点时间进行规划得到满足时间逻辑约束一致性的空间站短期任务规划方案。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

技术分类

06120115938644