CN104063748B - 一种用于解决面向成像卫星的时间依赖型调度问题的算法 - Google Patents
一种用于解决面向成像卫星的时间依赖型调度问题的算法 Download PDFInfo
- Publication number
- CN104063748B CN104063748B CN201410298315.9A CN201410298315A CN104063748B CN 104063748 B CN104063748 B CN 104063748B CN 201410298315 A CN201410298315 A CN 201410298315A CN 104063748 B CN104063748 B CN 104063748B
- Authority
- CN
- China
- Prior art keywords
- task
- msub
- sequence
- observation
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Processing (AREA)
Abstract
本发明涉及一种用于解决面向成像卫星的时间依赖型调度问题的算法,面向成像卫星的时间依赖型调度问题是对传统卫星调度问题的扩展,本发明针对任务收益与成像时刻之间的时间依赖关系对问题进行建模,提出了求解该问题的启发式算法。本发明在传统卫星调度问题中加入对时间依赖的考虑可以提高成像质量,降低产生无用产品的可能性,而且提出的启发式算法的求解效果要优于IBM公司约束规划算法引擎ILOG CP Optimizer。
Description
技术领域
本发明涉及一种用于解决面向成像卫星的时间依赖型调度问题的算法。
背景技术
成像卫星是一类用于从太空中获取地面遥感信息的对地观测卫星,可以根据用户需求实时、快速地获取有价值的地面数据,具有覆盖区域广、运行时间长、不受国界和空域限制等优势,已逐渐成为各领域获取地面信息的重要手段。随着“高分辨率对地观测系统”、“载人航天与探月工程”等国家重大专项的相继展开,用户对成像卫星的需求不再仅仅是“量”的增长,而是追求“质”的提升。这种需求的转变使得成像质量与成像时刻之间的这种时间依赖关系变得越来越明显,时间依赖问题日益突出,因此研究成像卫星时间依赖型调度问题更具有现实意义。
成像卫星时间依赖型调度问题与传统的成像卫星调度问题不同,后者被证明是NP-hard问题,而前者比后者更加复杂,求解更为困难。所以针对后者的调度算法无法直接应用于前者,必须探索新的求解算法。目前国内外关于成像卫星时间依赖型调度问题的研究很少,但时间依赖型TSP(Traveling Salesman Problem,简称TSP)问题和时间依赖型VRP(Vehicle Routing Problem)问题已经得到了很深入的研究。本发明在上述相关文献的基础上从成像卫星时间依赖型调度问题的描述入手建立了问题的数学模型,采用启发式算法对其进行优化求解,并通过具体的仿真实验验证了算法的有效性。
发明内容
本发明的目的是根据背景技术中存在的缺点和问题加以改进,提供一种能够提高成像质量,降低产生无用产品的可能性,且求解效果好的用于解决面向成像卫星的时间依赖型调度问题的算法。
本发明的技术方案是提供一种用于解决面向成像卫星的时间依赖型调度问题的算法,包括以下步骤:
步骤S101:设定输入要素:
采用三元组<SatelliteItme,StationItme,TaskItme>来描述;其中SatelliteItme,StationItme,TaskItme分别表示卫星信息,地面站信息和任务信息;
步骤S102:设定输出要素:
采用二元组<ObserveItme,TransmissionItem>来描述。其中ObserveItme,TransmissionItem分别表示观测调度方案属性和回传调度方案属性;
步骤S103:设定任务的优化目标是使得完成成像并数传的任务累积收益最大,并设定任务动态收益函数:
wj是目标j的最大观测收益,j∈J,J为观测任务集,t0、t5为目标j在卫星圈次能被观测的最早开始时刻和最晚开始时刻,每个观测时间窗口都被平均划分为5个时间段;
步骤S104:设定任务的求解算法的框架:
采用启发式方法构建算法框架,该算法框架由任务存取模块、预处理模块、观测活动确定模块、约束检查模块、回传活动确定模块、时间窗口维护模块和收益计算及方案生成模块构成;
所述任务存取模块,主要完成对卫星观测任务文件进行读取操作,并将任务信息转换成指定格式进行存储,为其它模块操作提供数据支持;
所述预处理模块,依据排序规则对任务进行排序,并按照任务队列次序依次将任务信息提交给观测活动确定模块;
所述观测活动确定模块,根据每个任务的可用观测时间窗口情况,选择任务的观测开始时刻,并提交给约束检查模块,再根据约束检查模块的反馈结果确定任务的观测开始时刻;
所述约束检查模块,根据任务的观测开始时刻计算卫星固存情况,判断任务观测开始时刻是否合理,并将检查结果提交给观测活动确定模块和回传活动确定模块;
所述回传活动确定模块,根据当前任务的可用回传时间窗口情况,确定该任务的回传开始时刻,并确保回传开始时刻必须在该任务观测结束时刻之后;
所述时间窗口维护模块,利用卫星的已用时间窗口对观测目标可用时间窗进行裁剪,更新观测目标可用时间窗口信息;
所述收益计算及方案生成模块,根据任务动态收益函数Fj(t)确定每个任务的动态收益,并计算当前方案的总收益,最终输出最优的观测调度方案和回传调度方案。
本发明还提供了一种用于解决面向成像卫星的时间依赖型调度问题的算法,所述方法包括以下步骤:
步骤1:读入三元组<SatelliteItme,StationItme,TaskItme>,并初始化迭代次数等参数,其中SatelliteItme,StationItme,TaskItme分别表示卫星信息,地面站信息和任务信息;
步骤2:对观测任务集J中的任务进行排序,生成任务队列Sequence,Sequence中包含I个任务,I=N,Sequence[1]表示队列的首任务;
步骤3:判断I是否等于0,如果I=0,转至步骤12;
步骤4:对Sequence[1]的可用观测时间窗口进行裁剪;
步骤5:判断Sequence[1]是否有可用观测时间窗口,如果没有,则将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤6:为Sequence[1]确定观测开始时刻t;
步骤7:针对Sequence[1]的观测开始时刻进行约束检查,如果Mt>M,则将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3,其中,M为卫星固存的最大值,Mt:为观测开始时刻t的卫星固存占用值;
步骤8:对Sequence[1]的回传时间窗口进行裁剪;
步骤9:判断是否有可用回传时间窗口,如果没有,则将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤10:为Sequence[1]确定回传开始时刻,然后将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤11:判断是否满足终止条件,如果不满足,转至步骤2;
步骤12:根据J中各任务的成像时刻计算方案总收益,并依据方案的总收益生成最优调度方案,算法结束,
其中,设定任务的优化目标是使得完成成像并数传的任务累积收益最大,并设定任务动态收益函数:
wj是目标j的最大观测收益,j∈J,J为观测任务集,t0、t5为目标j在卫星圈次能被观测的最早开始时刻和最晚开始时刻,每个观测时间窗口都被平均划分为5个时间段。
本发明具有以下优点:
面向成像卫星的时间依赖型调度问题是对传统卫星调度问题的扩展,本发明针对任务收益与成像时刻之间的时间依赖关系对问题进行建模,提出了求解该问题的启发式算法。实验结果表明,在传统卫星调度问题中加入对时间依赖的考虑可以提高成像质量,降低产生由于分辨率太低无法清晰显示观测目标的卫星图片的无用产品的可能性,而且本发明提出的启发式算法的求解效果要优于IBM公司约束规划算法引擎ILOG CP Optimizer。
附图说明
图1为成像卫星对地观测过程示意图。
图2为地面分辨率计算示意图。
图3为成像卫星对同一地面目标进行观测示意图。
图4为任务j的收益函数。
图5为算法基本框架图。
图6为算法流程图。
图7(a)-7(d)为使用本算法且任务规模分别为10、25、50、100时对考虑时间依赖前后的任务完成率对比曲线图。
图8(a)-8(d)为使用本算法任务规模分别为10、25、50、100时对考虑时间依赖前后的运算时间对比曲线图。
图9(a)-9(d)为使用本算法任务规模分别为10、25、50、100时对考虑时间依赖前后的观测时刻分布情况对比曲线图。
图10(a)-10(d)为任务规模分别为10、25、50、100时使用ILOG CP Optimizer算法与使用本算法运算结果对比曲线图。
图11为基于不同排序规则的任务完成率对比曲线图。
图12为基于不同排序规则的运算时间对比曲线图。
图13为在时间段3内不同排序规则的成像任务比例对比曲线图。
具体实施方式
一、对地观测分辨率
成像卫星只能对其观测区域内的地面目标进行观测。观测区域由成像卫星的星下点、侧摆角、俯仰角、视场角共同确定,如图1所示。作为衡量成像质量的重要指标,地面分辨率由卫星的轨道高度和遥感器的焦距共同决定。假设遥感设备像元尺寸为d,焦距为f,卫星轨道高度为h,那么当卫星在星下点处进行对地观测时,地面分辨率计算公式为:
如果成像卫星成像时进行了侧摆或是俯仰,那么假设卫星与地面目标的连线和地面水平线的夹角为α(卫星姿态机动指向角),地面投影与飞行方向的夹角为如图2所示,可以得到卫星的侧摆角为俯仰角
星载遥感器推扫方向的分辨率为:
星载遥感器线阵方向的分辨率为:
由以上公式可知,如果星上遥感器的性能参数一定,那么成像时的轨道高度和卫星姿态将直接影响成像质量。由于地面目标的地理位置固定不变,所以成像时卫星的轨道高度和侧摆角是一定的,那么只有俯仰角随时间动态变化,所以地面分辨率仅取决于成像时卫星的俯仰角,俯仰角度越大,分辨率也就越低,图像质量自然也就越差。
二、问题描述
成像卫星在同一个规划周期内,即在从规划方案最早可以开始执行至最晚必须结束执行的全部时间内,对于某个观测目标可能会有多个观测机会,但每个轨道圈次最多只有一次机会对该目标进行观测,每次观测将得到一定的任务收益即该目标成像任务的优先级。由于成像卫星具有三个方向的自由度(偏航、侧视、俯仰),如图3所示,所以对于同一个目标而言,可以在一个相对较长的时间窗口内任意选择观测的开始时刻。对地观测过程中,对于同一个观测目标,不同的观测开始时刻需要不同的俯仰角,而俯仰角又决定了地面分辨率,所以成像质量时间依赖于观测开始时刻。因此成像卫星时间依赖型调度问题可以描述为,在满足时间窗口要求和其它约束条件的同时,根据成像质量随观测开始时刻动态变化的特点,制定成像卫星任务规划调度方案,在保证成像质量的同时,实现以尽可能少的资源消耗获得最大的任务收益。
(1)基本假设
为便于研究,在不影响成像卫星主要需求的前提下,进行如下假设:
1)对卫星资源的假设。只考虑携带一个遥感器的单颗成像卫星。不考虑卫星机动成像,假设星上存储器具备数据随机存取能力;
2)对目标的假设。不区分点目标和区域目标,因为点目标可以认为是单个条带的区域目标;
3)对地面站资源的假设。只考虑固定地面站,并且只考虑地面站回传时间窗口约束;
4)对观测任务的假设。不考虑气象条件对观测任务的影响,不考虑立体成像任务;
5)不考虑卫星能量约束。
(2)问题模型
模型中各参数定义:
J:观测任务集;
N:观测任务数量;
Mj:能够观测目标j的卫星圈次集合,j∈J;
Wj:能够回传目标j的观测数据的卫星圈次集合,j∈J;
wj:目标j的最大观测收益,j∈J;
Fj(t):任务收益函数,表示t时刻的任务收益值;
pj:观测目标j所需的持续时间,j∈J;
dj:回传目标j的观测数据所需的持续时间,j∈J;
M:卫星固存的最大值;
Mt:t时刻卫星固存占用值。
wsjk,wejk:目标j在卫星圈次k能被观测的最早开始时刻和最晚开始时刻,wsjk≥0,wejk≥wsjk,j∈J,k∈Mj;
rwsjk,rwejk:目标j在卫星圈次k被观测的开始时刻和结束时刻,rwsjk≥wsjk,rwejk≤wejk,j∈J,k∈Mj;
dsjm,dejm:目标j的观测数据在卫星圈次m能被回传的最早开始时刻和最晚开始时刻,dsjm≥0,dejm≥dsjm,j∈J,m∈Wj;
rdsjm,rdejm:目标j的观测数据在卫星圈次m被回传的开始时刻和结束时刻,rdsjm≥dsjm,rdejm≤dejm,j∈J,m∈Wj;
决策变量:
xjk:布尔变量,j∈J,k∈Mj,如果卫星在圈次k对目标j进行观测,则xjk=1,否则xjk=0;
yjm:布尔变量,j∈B,m∈Wj,如果卫星在圈次m对目标j的观测数据进行回传,则yjm=1,否则yjm=0;
问题模型:
xjk≥yjm,j∈J,k∈Mj,m∈Wj ⑺
wsjk≤rwsjk<rwejk≤wejk,j∈J,k∈Mj ⑻
dsjm≤rdsjm<rdejm≤dejm,j∈J,m∈Wj ⑼
Mt≤M (10)
rwejk≤rdsjm,j∈J,k∈Mj,m∈Wj (11)
其中,目标函数(4)指出问题的优化目标是使得完成成像并数传的任务累积收益最大;约束(5)限定了每个观测目标最多只能被观测一次;约束(6)限定了每个观测目标的观测数据最多只能被回传一次;约束(7)限定了只有完成观测的任务,其观测数据才会被回传;约束(8)限定了每个成像任务必须在其相应的时间窗口内执行;约束(9)限定了每个回传任务必须在其相应的时间窗口内执行;约束(10)限定了观测数据不能超过卫星最大固存限制;约束(11)限定了一个目标的数传动作的开始时间应该不早于其成像动作的开始时间。
卫星在成像过程中,当成像时刻位于观测目标的可见时间窗口的中间时所需俯仰角度最小,所以根据地面分辨率计算公式可知,只要保证能在可见时间窗口的中部对观测目标进行观测,就能够保证成像质量相对较好。相反,如果在靠近可见时间窗口的两端处对观测目标进行观测,那么成像质量将相对较差。因此我们考虑任务收益函数Fj(t)是分段函数的情况,其形式如下:
[t0,t5]是任务收益函数Fj(t)的定义域,t0=wsjk,t5=wejk。每个观测时间窗口都被平均划分为5个时间段,图4给出了任务j的收益函数的例子。
(3)输入要素
成像卫星时间依赖型调度问题的输入要素可以采用三元组<SatelliteItme,StationItme,TaskItme>来描述。其中SatelliteItme,StationItme,TaskItme分别表示卫星信息,地面站信息和任务信息,具体情况如下:
1)卫星信息:SatelliteItme=<ID,Name,MaxCapacity>。
ID:卫星编号;
Name:卫星名称;
MaxCapacity:卫星最大固存容量。
2)地面站信息:StationItme=<ID,Name,Window>。
ID:地面站编号;
Name:地面站名称;
Window=<Start,End>:地面站的回传时间窗口,包括最早允许回传时刻和最晚允许回传时间End。
3)系统属性:TaskItme=<ID,Name,User,SubmitTime,Type,ExpWindow,Duration,Value,Capacity>。
ID:任务编号;
Name:任务名称;
User:任务提交单位;
SubmitTime:任务提交时间;
Type:任务类型,用于标记任务是普通任务还是应急任务;
ExpWindow=<Start,End>:任务的期望窗口,包括最早允许观测时刻Start和最晚允许观测时间End;
Duration=<ContinueTime,DurationTime>:任务的持续时间需求,包括持续观测时间需求ContinueTime和持续回传时间需求DurationTime;
Value:任务的价值属性,用于量化元任务执行所产生的收益;
Capacity:任务所占固存大小。
(4)输出要素
成像卫星时间依赖型调度问题的输出要素可以采用二元组<ObserveItme,TransmissionItem>来描述。其中ObserveItme,TransmissionItem分别表示观测调度方案属性和回传调度方案属性,具体情况如下:
1)观测调度方案属性:ObserveItme=<ID,Window>。
ID:任务编号;
Window=<Start,End>:卫星执行观测任务的时间窗口,包括开始观测时刻和观测结束时刻。
2)回传调度方案属性:TransmissionItme=<ID,Window>。
ID:任务编号;
Window=<Start,End>:卫星执行回传任务的时间窗口,包括开始回传时刻和回传结束时刻。
三、求解算法
(1)基本框架
为保证求解效率,本算法采用启发式方法进行优化求解,算法框架主要包括7个模块:任务存取模块,预处理模块,观测活动确定模块,约束检查模块,回传活动确定模块,时间窗口维护模块和收益计算及方案生成模块,具体如图5所示。
任务存取模块主要完成对卫星观测任务文件进行读取操作,并将任务信息转换成指定格式进行存储,为其它模块操作提供数据支持。
预处理模块依据排序规则对任务进行排序,并按照任务队列次序依次将任务信息提交给观测活动确定模块。
观测活动确定模块根据每个任务的可用观测时间窗口情况,选择任务的观测开始时刻,并提交给约束检查模块,再根据约束检查模块的反馈结果确定任务的观测开始时刻。
约束检查模块根据任务的观测开始时刻计算卫星固存情况,判断任务观测开始时刻是否合理,并将检查结果提交给观测活动确定模块和回传活动确定模块。
回传活动确定模块根据当前任务的可用回传时间窗口情况,确定该任务的回传开始时刻,并确保回传开始时刻必须在该任务观测结束时刻之后。
时间窗口维护模块利用卫星的已用时间窗口对观测目标可用时间窗进行裁剪,更新观测目标可用时间窗口信息。
收益计算及方案生成模块根据任务动态收益函数Fj(t)确定每个任务的动态收益,并计算当前方案的总收益,最终输出最优的观测调度方案和回传调度方案。另外,本算法也可以不使用任务动态收益函数Fj(t),而是将任务收益作为一个常量,不考虑时间依赖问题。
(2)任务序列的生成
任务序列是指以观测任务编号为元素构成的一个一维数组。本算法设计了7种排序规则,排序时随机选取一种规则,并基于轮盘赌思想构造任务序列,这样既充分考虑了概率指标对排序的影响,又保证了序列的多样性。7种排序规则分别是:按优先级高低顺序排序规则PF,短观测时间任务优先规则ST,长观测时间任务优先规则LT,按观测机会先后顺序排序规则OT,按照优先级除以观测时间与回传时间之和的比率又可以分为小比率优先规则SP和大比率优先规则LP,以及随机排序规则RS。当以上排序规则中出任务之间的排序指标相同时,采用随机方式进行选择。
任务序列构造过程中,首先根据排序规则确定排序指标,然后计算每个观测任务的排序指标值fj。每个任务的选择概率为Pj。将一个假想的圆盘按任务数进行分割,其中第j个扇形的中心角为。构造任务序列时,首先产生一个随机数r,若P1+P2+…+Pj-1<r<P1+P2+…+Pj,则选择任务j。如果任务j是第一个被选中的任务,那么任务序列中的第一个元素为j,Sequence[1]=j,然后在剩余任务中重新计算每个任务的选择概率挑选出第2个任务,以此类推最终可以构造出一个完整的任务序列Sequence。
(3)时间窗的分类裁剪
为了保证每一个观测活动或是回传活动所占用的时间窗口之间不存在重叠,必须在确定时间窗口之前对每一个活动的可选时间窗口进行裁剪,以便将其它活动已经计划使用的时间窗口去除掉,这样才能保证每个活动所将占用的时间窗口都是真实可用的。假设已经执行的观测活动或回传活动所占用的时间窗为[Ts,Te],待裁剪的时间窗为[Ws,We],那么就有以下4种情况需要考虑,如表1所示。
表1时间窗裁剪的4情况
这种分类考虑的方式不但使得时间窗的裁剪更加容易实施,而且能够最大限度的利用一切可用时间窗,使可行解更接近最优。时间窗裁剪算法伪代码中分别采用NWINS和WINSj保存当前已经使用和任务j可以使用的时间窗口集合,每个集合均包括观测时间窗口和回传时间窗口两类。用NWS和NWE分别表示集合NWINS中各时间窗口的开始和结束时间。
(4)算法步骤
步骤1:读入三元组<SatelliteItme,StationItme,TaskItme>,并初始化迭代次数等参数;
步骤2:对J进行排序,生成任务队列Sequence,Sequence中包含I个任务,I=N,Sequence[1]表示队列的首任务;
步骤3:判断I是否等于0,如果I=0,转至步骤12;
步骤4:对Sequence[1]的可用观测时间窗口进行裁剪;
步骤5:判断Sequence[1]是否有可用观测时间窗口,如果没有,则将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤6:为Sequence[1]确定观测开始时刻t;
步骤7:针对Sequence[1]的观测开始时刻进行约束检查,如果Mt>M,则将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤8:对Sequence[1]的回传时间窗口进行裁剪;
步骤9:判断是否有可用回传时间窗口,如果没有,则将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤10:为Sequence[1]确定回传开始时刻,然后将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤11:判断是否满足终止条件,如果不满足,转至步骤2;
步骤12:根据J中各任务的成像时刻计算方案总收益,并依据方案的总收益生成最优调度方案,算法结束。
算法流程如图6所示
四、实验结果及分析
实验计算机配置为Pentium(R)Dual-CoreE5700@3.00GHz,内存为4G,操作系统为WindowsXP,编程环境为Microsoft Visual Studio 2010,开发语言是C语言。本实验场景包括1颗卫星和5个地面站,每个地面站拥有1个天线。所有卫星、地面站天线频段均相同,即每个地面站天线均可接收卫星的数传数据。由于没有标准的测试集,因此采用随机方式生成观测任务,生成规则如下:
1)确定观测和回传时间窗口所在时间区间为2004-07-01T 12:00:00至2004-07-02T 12:00:00;
2)为每个观测任务随机产生观测和回传持续时间,选择时间范围为0-300sec;
3)为每个观测任务随机生成若干个观测机会,机会数量范围为1-5,并随机生成观测机会的开始和结束时间,不同的观测机会不可以重叠;
4)生成10个卫星回传窗口,并随机生成回传窗口的开始和结束时间;
5)为每个观测任务随机产生一个优先级,优先级范围为1-20;
6)为每个观测任务随机产生一个固存占用值,固存占用值范围为0-60GB;
7)卫星固存小于所有任务固存占用值之和的三分之一;
8)观测和回传活动每秒分别增加和减少1GB卫星固存。
表2部分任务信息
为验证本发明提出算法的有效性,按上述规则随机生成了4组实验数据,表2是卫星观测任务的部分数据信息,表内信息时间单位为秒。每组实验数据均由10个任务集构成。第1组数据中的每个任务集有10个观测任务,第2组每个任务集有25个观测任务,第3组的每个任务集有50个观测任务,第4组每个任务集有100个观测任务。实验以任务完成率、运算时间和观测时刻分布情况作为主要评价指标,对考虑时间依赖前后的实验结果进行了对比。同时使用IBM公司约束规划算法引擎ILOG CP Optimizer对4组数据进行求解,并与本发明提出的启发式算法进行比较,ILOG求解时间设为600秒。为了消除随机性对算法结果的影响,提高实验的准确性,令算法迭代次数G=100,并对每组数据的每个任务集均求解100次,然后采用100次计算结果的平均值作为最终的实验结果,实验结果如图6至图12所示。
由图6-12可得出如下结论:
1)随着任务规模的不断增加,考虑时间依赖前后的任务完成率都会随之逐渐降低。这是因为在卫星资源不变的情况下,任务数量的增加会使观测任务之间的冲突加剧,所以与小规模任务集相比,大规模任务集中会有更多的观测任务无法纳入观测计划。从图7中还可以看到,考虑时间依赖以后的任务完成率要比之前的任务完成率低,而且随着任务规模的不断增加,这种差距也越来越大。这是因为考虑时间依赖以后要对每个观测任务的观测开始时刻进行调整,力求保证成像质量,这样做的后果是使观测任务的可用时间窗口变小,所以观测任务之间的冲突更加明显,导致任务完成率下降。当任务规模小时,各观测任务可选择的时间窗口比较多,所以对时间依赖的考虑对任务完成率的影响不大,但是在大规模任务集中,本来观测任务之间的冲突就比较多,再对观测时刻进行调整,就会导致更多的任务无法纳入观测计划。
2)考虑时间依赖以后的运算时间要比之前有所增加,而且随着任务规模的增加,考虑时间依赖前后的运算时间都会随之逐渐增加。这是由于考虑时间依赖以后要考虑成像时刻与成像质量之间依赖关系,要对成像时刻多次进行调整,所以增加了运算时间。另外当任务规模增加时,实际上是扩大了解的搜索空间,所以需要更多的计算时间。
3)不考虑时间依赖时,在成像质量最好的时间段3内成像的任务大约占33%左右,而在成像质量较差的时间段1和时间段5内成像的任务大约占19%左右。考虑时间依赖以后,在时间段3内成像的任务数量有了大幅提升,而在时间段1和时间段5内成像的任务数量有了大幅下降。这是由于本算法充分考虑了成像时刻与成像质量之间的时间依赖关系,当成像时刻在时间段1或时间段5内时,会得到较低的任务收益值,而在时间段3内成像会得到任务收益的最高值,因此算法在选择高收益的观测方案的同时,也保证了更多的任务在时间段3内成像。
由图10可以得出如下结论:
使用IBM ILOG CP Optimizer对本文提出的成像卫星时间依赖型调度问题模型进行求解并不能得到让人满意的调度方案。从图中可以看到,调度方案中观测任务的成像时刻主要集中在时间段1内,没有达到改善成像质量的目的。与ILOG CP Optimizer相比,本文所设计的启发式算法更具有针对性,因此能够得到较好的实验结果。
由图11至图13可以得出如下结论:
针对相同数量的任务,采用不同排序规则的运算时间非常接近。但是任务完成率和观测时刻分布情况,各种排序规则针对不同数量的任务都有不同的表现。10个任务时,规则PF的任务完成率最高,而规则ST在最佳成像时间段成像任务比例最高。25个任务时,规则LP的任务完成率最高,而规则OT在最佳成像时间段成像任务比例最高。50个任务时,规则RS的任务完成率最高,而规则OT在最佳成像时间段成像任务比例最高。100个任务时,规则OT的任务完成率最高,而规则LP在最佳成像时间段成像任务比例最高。可以认为没有一种排序规则可以在所有的任务集中,针对各种评价指标都能够得到最好的结果,因此算法中使用随机的方式选择排序规则是合理有效的。
面向成像卫星时间依赖型调度问题相比传统的成像卫星调度问题更具有现实意义。时间依赖的特性,使得传统的理论和算法不再适用。本发明提出一种基于时间依赖的调度算法,并通过实例验证了其在对任务完成率和运算时间影响不大的情况下,能够使得更多的任务在最佳成像时间段进行观测,更少的任务在相对较差的成像时间段进行观测,从而提升任务完成质量。本发明所述的算法的复杂度适中,假设条件比较理想。
本发明所述的实施例仅仅是对本发明的优选实施方式进行的描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中工程技术人员对本发明的技术方案作出的各种变型和改进,均应落入本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。
Claims (1)
1.一种用于解决面向成像卫星的时间依赖型调度问题的算法,其特征在于:其包括以下步骤:
步骤1:读入三元组<SatelliteItme,StationItme,TaskItme>,并初始化迭代次数,其中SatelliteItme,StationItme,TaskItme分别表示卫星信息,地面站信息和任务信息;
步骤2:对观测任务集J中的任务进行排序,生成任务队列Sequence,Sequence中包含I个任务,I=N,Sequence[1]表示队列的首任务;
步骤3:判断I是否等于0,如果I=0,转至步骤11;
步骤4:对Sequence[1]的可用观测时间窗口进行裁剪;
步骤5:判断Sequence[1]是否有可用观测时间窗口,如果没有,则将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤6:为Sequence[1]确定观测开始时刻t;
步骤7:针对Sequence[1]的观测开始时刻t进行约束检查,如果Mt>M,则将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3,其中,M为卫星固存的最大值,Mt:为观测开始时刻t的卫星固存占用值;
步骤8:对Sequence[1]的回传时间窗口进行裁剪;
步骤9:判断是否有可用回传时间窗口,如果没有,则将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤10:为Sequence[1]确定回传开始时刻,然后将Sequence[1]从Sequence中删除,I=I-1,并转至步骤3;
步骤11:计算收益并生成当前方案,判断是否满足迭代终止条件,如果不满足,转至步骤2;
步骤12:依据方案的总收益生成最优调度方案,算法结束,
其中,设定任务的优化目标是使得完成成像并数传的任务累积收益最大,并设定任务动态收益函数:
<mrow>
<msub>
<mi>F</mi>
<mi>j</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mn>0.6</mn>
<mo>*</mo>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
<mo>,</mo>
<msub>
<mi>t</mi>
<mn>0</mn>
</msub>
<mo>&le;</mo>
<mi>t</mi>
<mo><</mo>
<msub>
<mi>t</mi>
<mn>1</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mn>0.8</mn>
<mo>*</mo>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
<mo>,</mo>
<msub>
<mi>t</mi>
<mn>1</mn>
</msub>
<mo>&le;</mo>
<mi>t</mi>
<mo><</mo>
<msub>
<mi>t</mi>
<mn>2</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
<mo>,</mo>
<msub>
<mi>t</mi>
<mn>2</mn>
</msub>
<mo>&le;</mo>
<mi>t</mi>
<mo><</mo>
<msub>
<mi>t</mi>
<mn>3</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mn>0.8</mn>
<mo>*</mo>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
<mo>,</mo>
<msub>
<mi>t</mi>
<mn>3</mn>
</msub>
<mo>&le;</mo>
<mi>t</mi>
<mo><</mo>
<msub>
<mi>t</mi>
<mn>4</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mn>0.6</mn>
<mo>*</mo>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
<mo>,</mo>
<msub>
<mi>t</mi>
<mn>4</mn>
</msub>
<mo>&le;</mo>
<mi>t</mi>
<mo>&le;</mo>
<msub>
<mi>t</mi>
<mn>5</mn>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
</mrow>
wj是目标j的最大观测收益,j∈J,J为观测任务集,t0、t5为目标j在卫星圈次能被观测的最早开始时刻和最晚开始时刻,每个观测时间窗口都被平均划分为5个时间段,
其中,在步骤2中,任务序列是指以观测任务编号为元素构成的一个一维数组,任务序列构造过程中,首先根据排序规则确定排序指标,每个任务的选择概率为Pj,构造任务序列时,首先产生一个随机数r,若P1+P2+…+Pj-1<r<P1+P2+…+Pj,则选择任务j,如果任务j是第一个被选中的任务,那么任务序列中的第一个元素为j,Sequence[1]=j,然后在剩余任务中重新计算每个任务的选择概率挑选出第2个任务,以此类推最终构造出一个完整的任务序列Sequence。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410298315.9A CN104063748B (zh) | 2014-06-28 | 2014-06-28 | 一种用于解决面向成像卫星的时间依赖型调度问题的算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410298315.9A CN104063748B (zh) | 2014-06-28 | 2014-06-28 | 一种用于解决面向成像卫星的时间依赖型调度问题的算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063748A CN104063748A (zh) | 2014-09-24 |
CN104063748B true CN104063748B (zh) | 2017-12-15 |
Family
ID=51551448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410298315.9A Expired - Fee Related CN104063748B (zh) | 2014-06-28 | 2014-06-28 | 一种用于解决面向成像卫星的时间依赖型调度问题的算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104063748B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331627A (zh) * | 2014-11-11 | 2015-02-04 | 中国科学院空间科学与应用研究中心 | 硬x射线调制望远镜卫星任务规划处理方法 |
CN105787173A (zh) * | 2016-02-25 | 2016-07-20 | 中国地质大学(武汉) | 一种多星对地观测任务的调度规划方法及装置 |
CN105955812B (zh) * | 2016-05-03 | 2020-04-24 | 合肥工业大学 | 一种地球观测卫星任务调度的方法及系统 |
CN106228261A (zh) * | 2016-07-14 | 2016-12-14 | 中国人民解放军空军装备研究院雷达与电子对抗研究所 | 一种多颗对地观测卫星间任务的协同调度方法和装置 |
CN106647262B (zh) * | 2016-11-28 | 2020-01-21 | 中国人民解放军国防科学技术大学 | 一种面向敏捷卫星多目标任务规划的差分进化方法 |
CN107300924B (zh) * | 2017-04-27 | 2020-05-29 | 中国人民解放军国防科学技术大学 | 一种敏捷卫星调度方法 |
CN107491591B (zh) * | 2017-07-23 | 2020-07-21 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 快速生成敏捷成像卫星对地观测需求筹划的方法 |
CN107608793B (zh) * | 2017-09-13 | 2021-08-13 | 航天恒星科技有限公司 | 快速搜索的敏捷卫星任务规划方法 |
CN108333922B (zh) * | 2017-12-26 | 2021-02-02 | 佛山科学技术学院 | 一种基于智能优化与约束推理的单星自主任务规划方法 |
CN108090631B (zh) * | 2018-01-22 | 2020-10-09 | 合肥工业大学 | 卫星应急任务动态规划方法及装置 |
CN109034531B (zh) * | 2018-06-19 | 2021-08-17 | 上海卫星工程研究所 | 一种考虑多时间窗口约束的卫星成像多源任务动态规划方法 |
CN112183929B (zh) * | 2018-11-07 | 2024-04-26 | 长沙天仪空间科技研究院有限公司 | 一种遥感卫星的成像系统 |
CN109728845B (zh) * | 2018-11-07 | 2021-04-13 | 长沙天仪空间科技研究院有限公司 | 一种卫星高效调度星座及调度方法 |
CN109919378B (zh) * | 2019-03-06 | 2023-01-06 | 合肥工业大学 | 一种卫星星载自主规划系统 |
CN111913786B (zh) * | 2020-06-10 | 2022-09-30 | 合肥工业大学 | 基于时间窗分割的卫星任务调度方法和系统 |
CN111651905A (zh) * | 2020-07-09 | 2020-09-11 | 中国人民解放军国防科技大学 | 考虑时间依赖转换时间的敏捷卫星调度方法 |
CN112498746B (zh) * | 2020-11-16 | 2022-06-28 | 长光卫星技术股份有限公司 | 一种自主规划卫星沿经线推扫时间及姿态的方法 |
CN113315563B (zh) * | 2021-03-22 | 2022-05-17 | 中国科学院微小卫星创新研究院 | 全球组网协同星座应急调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606529B1 (en) * | 2000-06-09 | 2003-08-12 | Frontier Technologies, Inc. | Complex scheduling method and device |
CN103400197B (zh) * | 2013-07-03 | 2017-02-22 | 中国人民解放军国防科学技术大学 | 基于动态规划的前瞻启发式卫星任务规划算法 |
-
2014
- 2014-06-28 CN CN201410298315.9A patent/CN104063748B/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
scheduling jobs with values dependent on their completion times;Janiak A, et al.;《International Journal of Production Economics》;20120131;第135卷(第1期);第3-4部分 * |
基于启发式算法的成像卫星星地联合调度问题研究;孙凯;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;20100515(第5期);第2.2章,第3.1-3.2节,第4.1-4.2节,第5章 * |
成像侦察卫星调度问题研究;贺仁杰;《中国优秀博硕士学位论文全文数据库(博士)工程科技Ⅱ辑》;20050615(第2期);第3.2.1节 * |
Also Published As
Publication number | Publication date |
---|---|
CN104063748A (zh) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063748B (zh) | 一种用于解决面向成像卫星的时间依赖型调度问题的算法 | |
Shavarani et al. | A congested capacitated multi-level fuzzy facility location problem: An efficient drone delivery system | |
CN108388958B (zh) | 一种二维姿态机动卫星任务规划技术研究的方法及装置 | |
CN105512479B (zh) | 一种多星对地观测任务规划算法的评价方法及装置 | |
CN105095643B (zh) | 面向动态环境的成像卫星自主任务规划方法 | |
Waiming et al. | A two-phase genetic annealing method for integrated earth observation satellite scheduling problems | |
CN109933842A (zh) | 一种基于约束满足遗传算法的移动目标单星任务规划方法 | |
CN108256822A (zh) | 一种适用于气象信息辅助卫星成像任务规划系统及方法 | |
CN104063749A (zh) | 一种基于滚动时域控制的成像卫星自主任务规划算法 | |
CN108804220A (zh) | 一种基于并行计算的卫星任务规划算法研究的方法 | |
CN107515003B (zh) | 一种规划飞机巡视输电线路飞行航线的方法 | |
US20120029812A1 (en) | Method and system for automatically planning and scheduling a remote sensing satellite mission | |
CN109074622A (zh) | 确定运输服务路线的系统及方法 | |
CN105512747A (zh) | 物流智能优化调度系统 | |
He et al. | Scheduling multiple agile earth observation satellites with an edge computing framework and a constructive heuristic algorithm | |
CN106647787A (zh) | 一种卫星星上自主规划任务的方法及系统 | |
CN109933423A (zh) | 一种协同执行复杂任务的多卫星资源规划方法 | |
CN111309046A (zh) | 异构无人机编队地震灾后勘察的任务分配方法 | |
CN113935227A (zh) | 一种基于实时气象云图的光学卫星智能任务规划方法 | |
Eddy et al. | A maximum independent set method for scheduling earth-observing satellite constellations | |
CN112529317A (zh) | 卫星成像任务规划方法、装置、电子设备及存储介质 | |
JP5471620B2 (ja) | 観測計画装置、観測計画方法、および観測計画プログラム | |
CN111967734A (zh) | 微纳遥感网对地观测需求筹划方法 | |
Niu et al. | Multi-satellite observation scheduling for large area disaster emergency response | |
Shao et al. | NSGA-II-based multi-objective mission planning method for satellite formation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171215 Termination date: 20200628 |