1.本发明涉及敏捷成像卫星任务规划领域,具体涉及一种基于独立指针网络的敏捷成像卫星任务规划方法。
背景技术:
2.敏捷成像卫星相比于普通成像卫星具有更强的姿态机动能力,具备沿俯仰轴侧摆的能力,对于地面观测目标可产生更长的可观测时间窗口。随着敏捷成像卫星应用领域的不断扩大,用户任务需求也在不断增加。如何对大量的用户任务需求进行规划,制订出合理有效的任务观测序列,对充分发挥卫星的空间位置优势,提升敏捷成像卫星的工作效率具有重要的作用。敏捷成像卫星任务规划问题可以描述为在满足一定约束的条件下,将获得的观测任务收益作为优化目标,对一组待观测任务进行选取、排序和确定任务执行开始时间的过程。
3.针对敏捷成像卫星任务规划问题,目前国内外已经展开了丰富的研究。邱涤珊等人在期刊航空学报发表的论文《敏捷成像卫星多星密集任务调度方法》中面向应急任务规划场景,综合考虑敏捷成像卫星时间约束和资源约束,借鉴蚂蚁系统和最大最小蚂蚁系统提出一种改进蚁群算法,对敏捷成像卫星任务规划问题进行求解。在寻优策略、信息素更新策略、任务转移概率上分别进行了针对性的设计。张铭在期刊计算机应用发表的文章《基于改进烟花算法的密集任务成像卫星调度方法》中对密集观测场景下的敏捷成像卫星观测任务进行合成约束分析,考虑时间窗口约束和资源约束建立基于任务合成的多星密集任务调度问题模型,利用精英选择策略对烟花算法进行了改进,保证种族多样性并提高了算法的收敛速度。相比于无任务合成的任务算法,获取了更高的收益率和求解效率。耿远卓在期刊控制与决策发表的文章《敏捷凝视卫星密集点目标聚类与最优观测规划》中针对密集点目标,基于考虑顶点度的团划分算法进行任务聚类。综合考虑任务优先级、任务可见时间窗口和任务之间转移时间对原始蚁群算法进行改进,解决了蚁群优化算法易陷入局部最优、收敛速度慢的问题。最后,对提出的改进启发式蚁群算法在大规模密集问题实例上进行了验证。kananub s等人在期刊computer integrated manufacturing systems中发表的文章《agile earth observing satellites mission scheduling based on decomposition optimization algorithm》考虑多时间窗口约束对敏捷成像卫星任务规划问题进行建模。首先,将敏捷成像卫星任务规划问题分解为两阶段问题进行求解,首先进行任务资源分配,然后进行单星任务规划。针对资源分配问题,提出一种新型可学习遗传算法,知识模型从迭代过程中学习和获取知识,进行反馈来指导算法的搜索过程。针对单星任务规划问题,设计了后向时间松弛和最优位置搜索方法。
4.敏捷成像卫星任务规划问题是一类多约束组合优化问题,模型的求解空间大,目前国内外普遍采用智能启发式优化算法对敏捷成像卫星任务规划问题进行求解。比如蚁群算法、遗传算法、模拟退火算法和禁忌搜索算法。这些算法虽然实现了对敏捷成像卫星任务规划问题有效的求解,但是存在着启发式因子设计困难、状态转移复杂和迭代求解带来的
寻优速度慢的问题。近几年来,出现了一些基于深度强化学习求解组合优化问题的研究。vinyals等人在2015年的nips会议上发表的《pointer networks》论文中提出pointer networks(pn)求解了一些经典的组合优化问题,比如旅行商问题(traveling salesman problem,tsp)和背包问题(knapsack problem,kp),使用注意力机制计算得到softmax概率分布,作为指针(pointer)指向输入序列中的元素,对输入序列进行组合,最后使用有监督方法对模型进行训练。bello等人在发表的论文《neural combinatorial optimization with reinforcement learning》中,使用actor critic强化学习算法对pn进行训练,在节点长度为100的tsp问题上获得了近似最优解,解决了有监督训练中训练数据获取困难、精度不足的问题。nazari等人在发表的论文《reinforcement learning for solving the vehicle routing problem》中,对bello等人所使用算法模型中的encoder部分进行了改进,用一个嵌入层替换掉了pn的编码器部分。这使得输入序列中的动态元素发生改变时,可以并行地对encoder进行更新,减小了计算的复杂度,最后对交通路线规划问题(vehicle routing problem,vrp)进行了求解。本发明对上述基于深度强化学习求解组合优化的问题展开研究,综合考虑时间窗口约束、资源约束对敏捷成像卫星任务规划问题进行建模,并提出一种独立指针网络(independently pointer networks,ind
‑
pn)实现对敏捷成像卫星任务规划问题的求解。
技术实现要素:
5.本发明针对敏捷成像卫星任务规划问题求解空间大、输入任务序列长度较长的特点,基于深度强化学习求解组合优化的思路,公开了一种基于独立指针网络的敏捷成像卫星任务规划方法。综合考虑时间窗口约束、任务转移时卫星姿态调整时间、存储约束和电量约束对敏捷成像卫星任务规划问题进行建模。提出一种融合indrnn和pointer networks的算法模型(ind
‑
pn)对敏捷成像卫星任务规划问题进行求解,使用多层的indrnn结构作为算法模型的解码器。基于actor critic强化学习算法对算法模型进行训练,以获得最大的观测收益率。该方法实现了对敏捷成像卫星任务规划问题的有效求解,相比于传统优化算法具有更快的求解速度和获得更高的收益,对于较长的输入任务序列,ind
‑
pn算法收敛速度更快,可获得更高的观测收益率。
6.基于独立指针网络的敏捷成像卫星任务规划方法包括以下步骤:
7.(1)综合考虑时间窗口约束和资源约束对敏捷成像卫星任务规划问题进行建模;
8.(2)建立序列到序列的ind
‑
pn算法模型结构,分为编码器和解码器部分;
9.(3)在解码器的每个解码时间步骤t时,依次更新动态元素和mask向量来考虑敏捷成像卫星任务规划问题所要满足的约束;
10.(4)基于actor critic强化学习算法对ind
‑
pn算法模型进行训练。
11.在步骤(1)中,在对敏捷成像卫星任务规划问题的建模过程中,敏捷成像卫星在执行观测任务时,每个地面观测任务都有可见的时间窗口,卫星通过侧摆和在轨运行完成任务间转移时需要消耗时间和电量,每个地面目标的观测也要消耗电量和存储量。在进行敏捷成像卫星任务规划时,需综合考虑以下约束:
12.(1
‑
1)时间窗口约束:卫星在对地面目标进行观测时,观测任务执行的时间区间要位于任务可观测时间窗口之内。由于卫星的机动能力是有限的,要同时考虑任务执行所需
要的时间和任务转移时卫星进行姿态调整消耗的时间。为了提高卫星的资源利用效率,所有的任务不重复执行;
13.(1
‑
2)存储量约束:在执行每个观测任务时,需要消耗卫星的存储空间。本发明考虑无数据下传状态下的任务规划,完成所有规划出的观测任务所需消耗的存储空间不能超过卫星所提供的存储总容量;
14.(1
‑
3)电量约束:卫星在执行观测任务及在任务间进行姿态机动转移时,需要消耗卫星的电量。本发明仅考虑无在轨充电的过程,完成所有规划的观测任务所需消耗的电量不能超过卫星所提供的总电量。
15.在步骤(2)中,将输入任务集合x={x1,x2,...,x
m
}中的每个任务x
i
分为两部分,分别是静态元素集合s
i
和动态元素集合其中m为输入候选任务的长度。本发明基于序列到序列的结构,提出一种ind
‑
pn的算法模型,分为编码器和解码器部分:
16.(2
‑
1)编码器部分:使用一维卷积层作为嵌入层(embedding layer,el)并作为算法模型的编码器,将输入序列中每个任务的静态元素和动态元素分别映射为高维向量(通常为256
‑
2048维)。即对每个任务i∈[1,m],el将其映射为向量i∈[1,m];
[0017]
(2
‑
2)解码器部分:使用l层的indrnn结构作为算法模型的解码器。y
t
为在解码时间步骤t时所选择要执行的任务序号,将其对应的静态元素经el映射后得到的向量作为编码器的输入。l∈[1,l]为解码器在解码时间步骤t时第l层的隐含层状态。
[0018]
在步骤(3)中,在每个解码时间步骤t时,根据编码器的输出向量i∈[1,m]、解码器最后一层的隐含层状态和mask向量计算得到指向输入序列各个节点的softmax概率分布,选择概率最大的节点y
t 1
作为下一解码时间步骤t 1时的输出。根据所选择的输出节点y
t 1
,依次对输入序列中的动态元素i∈[1,m]和mask向量进行更新。
[0019]
在步骤(4)中,针对设定的敏捷成像卫星任务规划场景,对数据集中的任务元素进行设定,制作数据集。以任务规划可获得的收益为优化目标,基于actor critic强化学习算法对算法模型进行训练,其由两个神经网络构成,分别为actor网络和critic网络组成。其中,actor网络即ind
‑
pn算法模型,根据输入任务序列计算得到对应输入任务序列各节点的概率分布。critic网络为由三层一维卷积构成的前向网络,根据输入任务序列计算得到规划可获得收益率的评估值。
[0020]
上述步骤(3)中所述的更新具体如下:
[0021]
每个任务x
i
的静态元素集合s
i
={ws
i
,ang
i
,we
i
,con
i
,r
i
,m
i
,e
i
},其中,ws
i
为任务可观测时间窗口的开始时间,ang
i
为敏捷成像卫星在执行任务观测时沿滚转轴方向侧摆的角度,we
i
为任务可观测时间窗口的结束时间,con
i
为任务执行所需要的时间,r
i
为任务执行可获得的收益,m
i
为任务执行所需消耗的存储空间,e
i
为任务执行所需消耗的电量;每个任务x
i
的动态元素集合为其中,在每个解码时间步骤t时,标记当前任务是否满足时间窗口约束,标记当前任务是否已执行过,记
录卫星当前的存储量剩余,记录卫星当前的电量剩余,记录上一解码时间步骤时卫星所执行的任务序号,记录卫星对当前任务执行观测的开始时间。
[0022]
首先根据静态元素s和动态元素d
t
,获取时间步骤t时的信息:y
t
,
[0023]
根据任务序号y
t
,计算得到
[0024]
根据静态元素s,获取每个任务i的信息:con
i
,ang
i
,we
i
[0025]
使用遍历每个任务i,选择满足时间窗口约束的任务;
[0026]
将所有满足时间窗口约束的任务中动态元素进行置1,其他不满足时间窗口约束的任务中动态元素进行置0;
[0027]
将y
t 1
对应任务的动态元素进行置0;
[0028]
使用y
t 1
对动态元素进行更新,将其更新为y
t 1
;
[0029]
使用y
t 1
对动态元素进行更新,将其更新为
[0030]
根据y
t 1
获取并对动态元素进行更新,将其更新为
[0031]
根据y
t 1
获取并结合和对动态元素进行更新,将其更新为其中e
s
为任务转移时卫星进行姿态调整单位角度消耗的电量;
[0032]
根据对动态元素进行更新,将其更新为
[0033]
将mask向量初始化为[1,1,...1];
[0034]
根据动态元素将mask向量中已经访问过的任务对应的位置置0;
[0035]
根据动态元素将mask向量中不满足时间窗口约束的任务对应的位置置0;
[0036]
根据动态元素判断如果存储空间耗尽,将mask向量中所有位置置0;
[0037]
根据动态元素判断如果电量耗尽,将mask向量中所有位置置0。
[0038]
采用本发明的方法可以实现对敏捷成像卫星任务规划问题的有效求解,而且相比于传统优化算法,本发明提出的方法具有更快的求解速度并且可获得更高的收益。对于较长的输入任务序列,所提出的独立指针网络模型相比于一般指针网络模型收敛速度更快,可获得更高的观测收益率。
附图说明
[0039]
图1为敏捷成像卫星任务规划问题所要满足时间窗口约束的示意图;
[0040]
图2为本发明所提出的ind
‑
pn算法模型的结构示意图;
[0041]
图3为ind
‑
pn算法模型训练过程收敛曲线;
[0042]
图4为ind
‑
pn算法模型推理结果示意图;
[0043]
图5为长度为200时,训练过程中不同算法模型的收敛曲线对比;
[0044]
图6为长度为400时,训练过程中不同算法模型的收敛曲线对比。
具体实施方式
[0045]
下面结合附图和具体实施方式对本发明做进一步阐述和说明。
[0046]
将输入任务集合定义为x={x1,x2,...,x
m
},其中m为输入候选任务的个数。将输入任务集合中的每个任务x
i
分为两部分,分别为静态元素集合s
i
和动态元素集合其中,静态元素始终保持不变,用来存储任务序列中各个任务的基本信息,动态元素在每个解码时间步骤t时发生动态变化,用来记录任务序列中各个任务实时的状态。此时,可将输入任务集合重新定义为将规划所得的输出任务集合定义为y={y1,y2,...,y
n
},其中n为规划结果中要执行的任务个数,y
t
为在每个解码时间步骤t时所选择要执行的任务序号。
[0047]
将每个任务x
i
的静态元素集合定义为s
i
={ws
i
,ang
i
,we
i
,con
i
,r
i
,m
i
,e
i
},其中,ws
i
为任务可观测时间窗口的开始时间,ang
i
为成像卫星在执行任务观测时沿滚转轴方向侧摆的角度,we
i
为任务可观测时间窗口的结束时间,con
i
为任务执行所需要的时间,r
i
为任务执行可获得的收益,m
i
为任务执行所需消耗的存储空间,e
i
为任务执行所需消耗的电量。将每个任务x
i
的动态元素集合定义为其中,在每个解码时间步骤t时,标记当前任务是否满足时间窗口约束,标记当前任务是否已执行过,记录卫星当前的存储量剩余,记录卫星当前的电量剩余,记录上一解码时间步骤时卫星所执行的任务序号,记录卫星对当前任务执行观测的开始时间;
[0048]
如图1所示,为敏捷成像卫星任务规划问题所要满足的时间窗口约束示意图,其中横轴表示时间,纵轴表示成像卫星在执行任务观测时沿滚转轴方向侧摆的角度。假设y
t
和y
t 1
分别为在解码时间步骤t和t 1时所选择要执行的任务序号。在任务y
t
的可观测时间窗口中,为任务可观测时间窗口的开始时间,为任务执行的开始时间,为任务执行的结束时间,为任务可观测时间窗口的结束时间。假设任务转移时卫星进行姿态调整消耗的时间为t
slew
,任务转移时卫星进行姿态调整单位角度消耗的时间为t
s
。
[0049]
对于敏捷成像卫星任务规划问题,任务y
t 1
的执行开始时间的计算分两种不同的情况,其中:1)情况一中时间窗口间的关系如图1的子图(a)所示,任务y
t
在执行结束后,进行姿态调整转移至任务y
t 1
,此时位于任务y
t 1
的时间窗口之内,则任务y
t 1
立即开始执行;2)情况二中时间窗口间的关系如图1的子图(b)所示,任务y
t
在执行结束后,进行姿态调整转移至任务y
t 1
,此时位于任务y
t 1
的时间窗口之前,则任务y
t 1
在任务y
t 1
的时间窗口开始时间开始执行。综上两种情况,的计算公式为:
[0050][0051]
式中,和t
slew
的计算公式为:
[0052]
[0053][0054]
如果任务y
t 1
的时间窗口为可选择的时间窗口,任务y
t 1
执行的时间区间要位于任务y
t 1
可观测的时间窗口之内,则需要满足的时间窗口约束为:
[0055][0056]
假设卫星的总存储空间为m
total
,卫星的总电量为e
total
,任务转移时卫星进行姿态调整消耗的电量为e
slew
,任务转移时卫星进行姿态调整单位角度消耗的电量为e
s
,决策函数l(y
t
)表示在解码时间步骤t时任务y
t
被执行。敏捷成像卫星任务规划所要满足的存储约束和电量约束为:
[0057][0058][0059][0060][0061]
综合考虑各类约束,本发明将收益率r
rate
(y|x0)作为优化的目标,定义目标函数为:
[0062][0063]
如图2所示,为本发明所提出的ind
‑
pn算法模型的结构示意图。使用一维卷积层作为el并作为算法模型的编码器,使用l层的indrnn结构作为算法模型的解码器。假设在每个解码时间步骤t时第l层的隐含层状态l∈[1,l],则其在解码过程中的更新公式为:
[0064][0065]
式中,w为权重矩阵,u为权重向量,b为偏置向量,
⊙
表示hadamard乘积运算,relu为relu激活函数,其表达式为:
[0066]
relu(x)=max(0,x)
[0067]
l∈[1,l
‑
1]为在解码时间步骤t时第l层的输入向量,其在层间连接中的计算公式为:
[0068][0069]
式中,bn
(l
‑
1)
表示在第l
‑
1层进行批量归一化(batch normalization,bn)操作。
[0070]
第一层输入向量的计算公式为:
[0071]
[0072]
式中,y
t
为在解码时间步骤t时所选择要执行的任务序号,为y
t
对应的静态元素经el映射后得到的高维向量。
[0073]
最后一层隐含层状态的计算公式为:
[0074][0075]
式中,“ ”表示最后一层的隐含层状态输出和第一层输入向量之间的残差连接(residual connection,res)。
[0076]
pn机制的具体计算过程为:1)首先,将和拼接并进行非线性映射,计算中间向量(middle vector)u
t
,计算公式为:式中,w
a
为权重矩阵,tanh为激活函数,“;”表示向量之间进行拼接;2)然后,中间向量u
t
经映射后得到对齐向量(alignment vector)a
t
,计算公式为:式中,v
a
为权重矩阵;3)最后,计算得到下一时间步骤t 1时,输出节点y
t 1
的softmax概率分布p(y
t 1
|y
t
,x
t
),计算公式为:p(y
t 1
|y
t
,x
t
)=softmax(a
t
log(mask)),式中,x
t
和y
t
分别为时间步骤t时的输入任务集合和输出任务集合,mask为mask向量。
[0077]
表1
[0078][0079]
本发明使用mask向量来考虑成像卫星任务规划问题中的各类约束,其长度和输入序列的长度相等,每位的取值为0或1。当mask向量中某位的值为0时,将计算所得的softmax概率分布对应位的概率值为0,可将对应的任务排除。在每个解码时间步骤t时,根据pn机制选择得到的输出节点y
t 1
,依次对输入序列中的动态元素d
t
和mask向量进行更新,更新算法
的伪代码如表1所示。本文将mask向量初始化为[1,0,...,0],以保证从第一个任务开始执行。当mask向量为[0,0,...,0]时,说明此时已经满足终止条件:1)所有的任务均不满足时间窗口约束;2)存储空间耗尽;3)电量耗尽。此时结束解码的过程,完成本次的任务规划并得到最终的输出序列y={y1,y2,...,y
n
}。
[0080]
表2
[0081][0082]
本发明使用actor critic算法对ind
‑
pn算法模型进行训练,训练过程的伪代码如表2所示,actor critic算法由两部分神经网络构成,分别为:
[0083]
1)actor网络:即ind
‑
pn算法模型,根据输入任务序列计算得到对应输入任务序列各节点的概率分布:
[0084][0085]
式中,θ为ind
‑
pn算法模型的参数,b为每批训练样本的数量,为每批训练样本中的第i个训练样本序列,y
i
为ind
‑
pn算法模型根据训练样本序列得到的输出任务序列,为ind
‑
pn算法模型根据训练样本序列得到输出序列y
i
的概率,为ind
‑
pn算法模型对训练样本序列进行规划所得的收益率;
[0086]
2)critic网络:根据输入任务序列计算得到规划可获得收益率的评估值。critic网络的优化目标为均方误差,对于参数的梯度计算公式为:
[0087][0088]
式中,为critic网络的参数,为critic网络对训练样本序列可获得收益率的估计值。
[0089]
每个任务的静态元素、动态元素和场景参数的设定如表3所示,其中,[a,b]表示对
应元素随机产生,并且满足a到b之间的均匀分布。
[0090]
表3
[0091]
元素参数设定数据类型ws
i
[0,4.0]浮点变量ang
i
[
‑
0.25,0.25]浮点变量we
i
[ws
i
0.03,ws
i
0.08]浮点变量con
i
[0.01,0.02]浮点变量r
i
[0.1,0.9]浮点变量m
i
[0,0.01]浮点变量e
i
[0.1,0.01]浮点变量win
i
初始设定为1整型变量,0/1acc
i
初始设定为1整型变量,0/1mem
i
初始设定为0.5浮点变量pow
i
初始设定为0.5浮点变量pos
i
初始设定为0浮点变量t
s
设定为0.2浮点常量e
s
设定为0.01浮点常量
[0092]
训练数据集的设定如下:样本序列的长度为200,训练样本的数量为1e5。模型训练的超参数设定如下:每批训练样本的数量为40,训练的轮次(epoch)数为10,actor网络的学习率为5e
‑
4,critic网络的学习率为5e
‑
4,学习率的衰减步长为1000,学习率的衰减比率为0.8,优化器为adam。模型的超参数设定如下:el的隐含层维度为256,indrnn的隐含层维度为256,indrnn的层数为4,pn机制的隐含层维度为256,模型的dropout比率为0.1。实验环境的设定如下:操作系统为ubuntu16.04,cpu为intel xeon e5
‑
2620,gpu为rtx2080ti,深度学习框架为pytorch。基于actor critic强化学习算法,对ind
‑
pn算法模型进行训练。如图3所示,为ind
‑
pn算法模型训练过程收敛曲线。其中,最上方线条为actor网络的loss收敛曲线,中间线条为模型所获得收益率的收敛曲线,最下方线条为critic网络的reward收敛曲线。模型所获得收益率最终收敛至46.3%。
[0093]
如图4所示,为ind
‑
pn算法模型推理结果示意图。基于已经训练好的ind
‑
pn算法模型,可直接对长度为200的输入样本序列进行推理。推理结果中,横轴表示时间,纵轴表示成像卫星在执行任务观测时沿滚转轴侧摆的角度,每个横条表示任务可观测的时间窗口,时间窗口中的两个点分别表示任务的执行开始时间和执行结束时间,时间窗口间的连线表示在任务转移时卫星进行姿态调整的过程。卫星从start位置开始依次对规划目标进行观测,到达end位置时结束本次过境的观测。根据模型的推理结果,完成观测目标数量为66个,获得的收益率为46.8%。
[0094]
表4
[0095]
序列长度解码器层数epoch数收益率200gru11045.7%200gru21045.5%200indrnn bn res21045.4%
200indrnn bn res41046.1%
[0096]
将训练数据集中样本序列的长度设置为200,分别使用不同层数的indrnn和门控循环单元(gate recurrent unit,gru)作为算法模型的解码器,训练过程中模型收益率的收敛曲线对比如图5所示。当算法模型使用4层的indrnn结构作为解码器,并进行bn和res操作时,模型在训练时可以更快地收敛,并且获得更高的收益率。当训练数据集中样本序列的长度为200时,模型获得收益率的对比如表4所示。当算法模型使用gru作为解码器时,将层数由1层加深至2层,收益率产生了下降。当算法模型使用indrnn作为解码器时,将层数由2层加深至4层,收益率产生了增加。当算法模型使用4层的indrnn结构作为解码器,并进行bn和res操作时,可获得最高的收益率为46.1%。
[0097]
表5
[0098]
序列长度解码器层数epoch数收益率400gru1102.3%400gru2102.8%400indrnn2103.0%400indrnn bn res2101.8%400indrnn bn res41020.6%
[0099]
将训练数据集中样本序列的长度设置为400,训练过程中模型收益率的收敛曲线对比如图6所示。当算法模型使用4层的indrnn结构作为解码器,并进行bn和res操作时,模型在训练时可以更快地收敛,并且获得更高的收益率。模型获得收益率的对比如表5所示。由于仿真场景中任务分布的时间跨度是固定的,当序列长度增加时任务间的分布变得更加密集,从而产生了更多时间窗口冲突的任务。所以当样本序列的长度为400时,对于使用不同解码器的算法模型来说,可获得的收益率都产生了明显下降。当算法模型使用4层的indrnn结构作为解码器,并进行bn和res操作时,可获得最高的收益率为20.6%。
[0100]
本发明的相关研究获得中央高校基本科研业务费专项资金资助。
技术特征:
1.一种基于独立指针网络的敏捷成像卫星任务规划方法,其特征在于,该方法首先综合考虑时间窗口约束、资源约束对敏捷成像卫星任务规划问题进行建模,然后基于独立指针网络建立序列决策算法模型,最后基于actor critic强化学习算法对算法模型进行训练,具体包括如下:(1)综合考虑时间窗口约束、存储量约束和电量约束对敏捷成像卫星任务规划问题进行建模;(2)建立序列到序列的ind
‑
pn算法模型结构,分为编码器和解码器部分;利用融合indrnn和pointer networks的ind
‑
pn算法模型对敏捷成像卫星任务规划问题进行求解,使用多层的indrnn结构作为算法模型的解码器;(3)在解码器的每个解码时间步骤,依次更新动态元素和mask向量来考虑敏捷成像卫星任务规划问题所要满足的约束;(4)基于actor critic强化学习算法对算法模型进行训练。2.根据权利要求1所述的基于独立指针网络的敏捷成像卫星任务规划方法,其特征在于,在步骤(1)中进行敏捷成像卫星任务规划时,需综合考虑以下约束:(1
‑
1)时间窗口约束:由于敏捷成像卫星机动能力有限,要同时考虑任务执行时间和任务转移时间的约束,下一个任务执行的开始时间必须大于当前任务执行结束时间和卫星侧摆机动时间之和;(1
‑
2)存储量约束:在执行每个观测任务时,需要消耗卫星的存储空间,考虑无数据下传状态下的任务规划,则完成所有规划出的观测任务所需消耗的存储空间不能超过卫星所提供的存储总容量;(1
‑
3)电量约束:卫星在执行观测任务及在任务间进行姿态机动转移时,需要消耗卫星的电量,仅考虑无在轨充电的过程,完成所有规划的观测任务所需消耗的电量不能超过卫星所提供的总电量。3.根据权利要求1所述的基于独立指针网络的敏捷成像卫星任务规划方法,其特征在于,在步骤(2)中,将输入任务集合x={x1,x2,...,x
m
}中的每个任务x
i
分为两部分,分别是静态元素集合s
i
和动态元素集合基于序列到序列的结构,建立一种ind
‑
pn的算法模型,分为编码器和解码器部分:(2
‑
1)编码器部分:使用一维卷积层作为嵌入层el并作为算法模型的编码器,将输入序列中每个任务的静态元素和动态元素分别映射为高维向量,即对每个任务采用el将其映射为向量(2
‑
2)解码器部分:使用l层的indrnn结构作为算法模型的解码器,y
t
为在解码时间步骤t时所选择要执行的任务序号,将其对应的静态元素经el映射后得到的向量作为编码器的输入,解码器在解码时间步骤t时第l层的隐含层状态为4.根据权利要求3所述的基于独立指针网络的敏捷成像卫星任务规划方法,其特征在于,在步骤(3)中,在每个解码时间步骤t时,根据编码器的输出向量
解码器最后一层输出的隐含层状态和mask向量计算得到指向输入序列各个节点的softmax概率分布,选择概率最大的节点作为下一解码时间步骤t 1时的输出任务序号y
t 1
,依次对输入序列中的动态元素和mask向量进行更新。5.根据权利要求4所述的基于独立指针网络的敏捷成像卫星任务规划方法,其特征在于,所述的对动态元素和mask向量进行更新,具体如下:每个任务x
i
的静态元素集合s
i
={ws
i
,ang
i
,we
i
,con
i
,r
i
,m
i
,e
i
},其中,ws
i
为任务可观测时间窗口的开始时间,ang
i
为敏捷成像卫星在执行任务观测时沿滚转轴方向侧摆的角度,we
i
为任务可观测时间窗口的结束时间,con
i
为任务执行所需要的时间,r
i
为任务执行可获得的收益,m
i
为任务执行所需消耗的存储空间,e
i
为任务执行所需消耗的电量;每个任务x
i
的动态元素集合为其中,在每个解码时间步骤t时,标记当前任务是否满足时间窗口约束,标记当前任务是否已执行过,记录卫星当前的存储量剩余,记录卫星当前的电量剩余,记录上一解码时间步骤时卫星所执行的任务序号,记录卫星对当前任务执行观测的开始时间;首先根据静态元素s和动态元素d
t
,获取时间步骤t时的信息:y
t
,根据任务序号y
t
,计算得到根据静态元素s,获取每个任务i的信息:con
i
,ang
i
,we
i
使用遍历每个任务i,选择满足时间窗口约束的任务;将所有满足时间窗口约束的任务中动态元素进行置1,其他不满足时间窗口约束的任务中动态元素进行置0;将y
t 1
对应任务的动态元素进行置0;使用y
t 1
对动态元素进行更新,将其更新为y
t 1
;使用y
t 1
对动态元素进行更新,将其更新为根据y
t 1
获取并对动态元素进行更新,将其更新为根据y
t 1
获取并结合和对动态元素进行更新,将其更新为其中e
s
为任务转移时卫星进行姿态调整单位角度消耗的电量;根据ang
yt 1
对动态元素进行更新,将其更新为将mask向量初始化为[1,1,...1];根据动态元素将mask向量中已经访问过的任务对应的位置置0;根据动态元素将mask向量中不满足时间窗口约束的任务对应的位置置0;根据动态元素判断如果存储空间耗尽,将mask向量中所有位置置0;根据动态元素判断如果电量耗尽,将mask向量中所有位置置0。
6.根据权利要求1所述的基于独立指针网络的敏捷成像卫星任务规划方法,其特征在于,在步骤(4)中,针对设定的敏捷成像卫星任务规划场景,对数据集中的任务元素进行设定,制作数据集;以任务规划可获得的收益为优化目标,基于actor critic强化学习算法对算法模型进行训练,其由两个神经网络构成,分别为actor网络和critic网络组成;其中,actor网络即ind
‑
pn算法模型,根据输入任务序列计算得到对应输入任务序列各节点的概率分布,critic网络为由三层一维卷积构成的前向网络,根据输入任务序列计算得到规划可获得收益率的评估值。
技术总结
本发明公开了一种基于独立指针网络的敏捷成像卫星任务规划方法。综合考虑时间窗口约束、任务转移时卫星姿态调整时间、存储约束和电量约束对敏捷成像卫星任务规划问题进行建模。提出一种融合IndRNN和Pointer Networks的算法模型(Ind
技术研发人员:赵凡宇 马一凡 金仲和 王春晖 王鑫
受保护的技术使用者:浙江大学
技术研发日:2021.03.18
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-15178.html