一种基于分治策略的多星观测分层调度方法及系统与流程

文档序号:16392375发布日期:2018-12-25 19:26阅读:259来源:国知局
一种基于分治策略的多星观测分层调度方法及系统与流程
本发明涉及卫星调度
技术领域
,尤其涉及一种基于分治策略的多星观测分层调度方法及系统。
背景技术
对地观测卫星(earthobservingsatellites,eoss)绕地球飞行,能够获取地球表面指定区域的图像信息以满足用户的观测需求,在环境监控、情报侦察等领域扮演了关键角色。为了充分利用稀缺的卫星资源,研究高效的观测调度方法以提高卫星应用水平,具有重要的意义。由于用户的对地观测需求通常超过现有卫星资源的观测能力,因此卫星观测调度问题(satelliteobservationschedulingproblem,sosp)是一类过度订阅(oversubscribed)问题。早期与sosp相关的研究侧重于单颗卫星的调度。vasquez和hao将卫星观测调度问题转化为经典背包模型,提出了一种禁忌搜索算法求解该模型。在另一篇论文中,vasquez和hao提出了基于分解的方法来获得优化问题最小上界,以评估禁忌搜索算法求解所得卫星观测调度方案的质量。bensana等将spot5卫星的调度转化为约束满足问题,并利用精确或近似算法分别对该问题进行求解。gabrel和vanderpooten提出了一种无环图模型来描述spot5卫星的调度问题,首先生成多条有效路径,然后从中选定一条最好的路径。lin等采用数学规划方法来获得近似最优卫星观测调度方案。baek等采用一种新的遗传算法模拟卫星实际观测调度问题。miguel等基于在节点打包和3-正则独立系统的有效不等式,为spot5卫星的日常成像调度提供规划方案。卫星观测调度是要在满足一系列观测任务需求和约束条件下,确定每颗卫星在每个轨道圈次上的观测活动,实现观测收益的最大化,是提高卫星使用效率的关键。传统的多星调度算法以每颗卫星为调度单位,但是如果调度时间区间较大,一颗卫星会绕地球飞行多个轨道圈次(例如成像侦察卫星一般每天绕地飞行14轨道圈次左右),不同的卫星可能观测到相同的目标,且同一颗卫星在其不同的轨道圈次上可能可以观测到相同的目标,造成观测冲突更加复杂(一般假定一个目标只需观测一次),尤其在大规模多星观测调度问题时的求解程度更加复杂。技术实现要素:针对现有技术存在的不足,本发明的目的是提供一种基于分治策略的多星观测分层调度方法及系统,该方法有效降低了问题求解的复杂度,尤其在求解大规模多星观测调度问题时表现出卓越的性能。本发明在进行多星观测分层调度时,首先将卫星分解到轨道圈次,把每个轨道圈次看成是具备对地观测能力的资源,即将多星多轨道圈次调度问题转化为多轨道圈次调度问题。设集合o中包含一般性的具有对地观测能力轨道圈次资源,o={oj|j=1,2,...,m},m为集合的基,即是调度问题中轨道圈次资源的数量。设集合t是待观测的目标集合,包括点目标和分解后的条带目标,t={ti|i=1,2,...,n},n表示任务数量。0-1变量xij用来表示在调度方案中任务ti是否在轨道圈次oj上完成:任务ti在轨道圈次oj上完成时xij=1,否则xij=0。多星观测调度的目标是最大化观测收益,为所有完成任务的收益之和,即:式中,pi是完成任务ti可获得的收益。调度过程中需要满足复杂的约束条件,包括唯一性约束、能量约束、存储容量约束和测摆时间约束,具体如下:唯一性约束:每个任务只需最多完成一次,即:能量约束:轨道圈次oj上,观测活动和传感器侧摆活动消耗的能量不能多于该该轨道圈次上允许消耗的最大能量:式中,eoj表示在轨道圈次oj上卫星和传感器观测活动消耗能量的速率;tei表示任务ti的结束时间;tsi表示任务ti的开始时间;yih是1-0变量,表示ti是否先于th完成,先于则取1,否则取0;esj表示在轨道圈次oj上传感器侧摆活动消耗能量的速率;θi表示在轨道oj上观测任务ti时传感器所需测摆的角度;θh表示在轨道oj上观测任务th时传感器所需测摆的角度;ej表示轨道圈次oj的允许消耗的最大储能量。存储容量约束:在轨道圈次oj上,观测活动获取对地观测数据并进行星上存储,但是消耗的存储资源不能超过该轨道圈次上所能允许的最大存储容量:式中,wj表示轨道圈次oj上观测活动消耗存储资源的速率;wj表示轨道圈次oj的允许消耗最大存储容量。侧摆时间约束:卫星在观测不同目标时,需要重新开机,同时由于相对的空间几何关系发生变化,需要调整传感器的侧摆角度以对准观测目标。因此同一个轨道圈次上,相邻的两个观测任务之间,需要充足的时间让卫星传感器进行开机和校准(调整侧摆角度):tsh-tei≥aj+|θh-θi|/vj,i,h=1,2,...,n,yih=1,j=1,2,...m式中,tsh表示任务th的开始时间;aj表示在轨道oj上在对某个目标进行观测之前的传感器开机时间。假定一个多星调度问题考虑n个任务,m个轨道圈次,则变量数为n·m,约束条件的数量为n+3m。真实场景的卫星调度问题一般都问题规模很大,考虑一般规模的调度问题:例如待观测目标数(包括分解后的观测条带)为500,考虑5颗卫星,调度周期为一天,每颗卫星绕地飞行14圈,则共有大约70个轨道圈次,则变量的规模为500x70=35000,约束条件的规模为500+3x70=710。不难发现多星观测调度问题是一个复杂的离散优化问题,如何快速高效的求解这个问题,需要设计有效的调度框架和算法。综上,本发明采用的技术方案是:一种基于分治策略的多星观测分层调度方法,包括以下步骤:s1、利用分配算法把任务分配至各轨道圈次上,形成各轨道圈次的任务集;s2、利用近似优化算法求解各轨道圈次上任务集的调度序列;s3、分配算法根据各轨道圈次调度序列反馈的未生成调度序列的任务重新更新分配算法的分配方案,进而形成新的各轨道圈次的新的任务集;s4、重复步骤s1、s2、s3直至达到多星观测分层调度的终止条件。作为上述技术方案的进一步改进,步骤s2中,所述近似优化算法为模拟退火算法。作为上述技术方案的进一步改进,所述模拟退火算法获取当前轨道圈次的初始调度序列的步骤包括:s211、将单轨道圈次任务集中的待规划调度任务根据权重从大到小依次排列,形成单轨道圈次未被调度的初始任务集u;s212、从u中选择权重最大的任务tk,应用插入和删除邻域结构变换,把tk加入到局部解s中生成新的局部解s′,若s′的适应度高于s,则对s进行更新,令s=s′,否则不对s进行更新,同时将tk从u中移除至uj中,其中uj表示在轨道圈次上未被调度的初始任务集;s213、重复步骤s212直至u中的任务全部遍历完成,获取当前轨道上的调度序列s与当前轨道上未被调度的任务集uj。作为上述技术方案的进一步改进,所述模拟退火算法的领域搜索结构包括基于贪婪准则的邻域搜索结构与基于概率搜索的邻域搜索结构,所述模拟退火算法包括邻域搜索结构动态选择策略:根据两种邻域搜索结构在之前分配方案内的优化性能,决定在后续分配方案中领域搜索结构的选择。作为上述技术方案的进一步改进,基于贪婪准则的邻域搜索结构的模拟退火算法具体包括:s221、获取当前轨道圈次的调度序列s与当前轨道圈次未被调度的任务集uj;s222、在uj中取出一个尚未调度的权重最大的任务tk,令uj=uj-tk;s223、将tk插入到当前轨道圈次的调度序列s中去,判断是否满足侧摆时间约束,若满足则直接形成新的调度序列s″,若不满足则删除与tk冲突的任务后形成新的调度序列s″,其中删除的任务存入su中,su是所有轨道圈次未被调度的任务集合;s224、判断新的调度序列是否满足能量约束和存储容量约束:若满足,则重复步骤s221、s222、s223、s224直至uj中所有的任务都遍历完成,获取当前轨道上的最终调度序列s″并将当前轨道未被调度的任务存入集合su中;若不满足,则依次删除权重最小的任务直到满足能量约束和存储容量约束后重复步骤s221、s222、s223、s224直至uj中所有的任务都遍历完成,获取当前轨道上的最终调度序列s″并将当前轨道未被调度的任务存入集合su中,其中su是所有轨道圈次未被调度的任务集合。作为上述技术方案的进一步改进,基于概率搜索的邻域搜索结构的模拟退火算法具体包括:s231、获取当前轨道圈次的调度序列s与当前轨道圈次未被调度的任务集uj;s232、在uj中取出任一任务tk的概率为其中indexk为任务tk优先级指标,令uj=uj-tk;s233、将tk插入到当前轨道圈次的调度序列s中去,判断是否满足侧摆时间约束,若满足则直接形成新的调度序列s″,若不满足则删除与tk冲突的任务后形成新的调度序列s″,其中删除的任务存入su中,su是所有轨道圈次未被调度的任务集合;s234、判断新的调度序列是否满足能量约束和存储容量约束:若满足,则重复步骤s231、s232、s233、s234直至uj中所有的任务都遍历完成,获取当前轨道上的最终调度序列s″并将当前轨道未被调度的任务存入集合su中;若不满足,则删除任务tj的概率为其中indexj为任务tj优先级指标,直到满足能量约束和存储容量约束后重复步骤s231、s232、s233、s234直至uj中所有的任务都遍历完成,获取当前轨道上的最终调度序列s″并将当前轨道未被调度的任务存入集合su中,其中su是所有轨道圈次未被调度的任务集合。作为上述技术方案的进一步改进,所述分配算法为蚁群优化算法。作为上述技术方案的进一步改进,步骤s3中具体包括:s31、根据各轨道圈次调度序列获取所有轨道圈次未被调度的任务集合su;s32、从su中选择一个权重最高的任务,将其插入到冲突权重最小的轨道圈次上,若该任务的冲突权重小于该任务自身的权重,则插入成功并更新分配方案,否则不更新分配方案;s33、重复步骤s32直至su中所有的未被调度的任务都遍历完成。作为上述技术方案的进一步改进,步骤s4中,所述多星观测分层调度的终止条件为计算时间达到时间预设值或迭代次数达到次数预设值。本发明还公开了一种基于分治策略的多星观测分层调度系统,其采用的技术方案是:一种基于分治策略的多星观测分层调度系统,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。本发明的有益技术效果:本发明通过分配算法把任务分到不同的轨道圈次上去,每个轨道圈次对应一个任务集,此为本方法的任务分配层,随后通过近似优化算法得到每个轨道圈次上卫星的观测方案,此为本方法的任务调度层,最终根据各轨道圈次调度序列的反馈重新更新分配算法的分配方案,进而形成新的各轨道圈次的新的任务集。反复迭代直至满足算法终止条件,把一个复杂的组合优化问题进行有效的分解简化,变成一个双层规划,有效降低了问题求解的复杂度,尤其在求解大规模多星观测调度问题时表现出卓越的性能。附图说明图1是本实施例的框架结构图。具体实施方式为了便于本发明的实施,下面结合具体实例作进一步的说明。如图1所示的一种基于分治策略的多星观测分层调度方法,包括以下步骤:s1、利用分配算法把任务分配至各轨道圈次上,形成各轨道圈次的任务集;s2、利用近似优化算法求解各轨道圈次上任务集的调度序列;s3、分配算法根据各轨道圈次调度序列反馈的未生成调度序列的任务重新更新分配算法的分配方案,进而形成新的各轨道圈次的新的任务集;s4、重复步骤s1、s2、s3直至达到多星观测分层调度的终止条件,多星观测分层调度的终止条件为计算时间达到时间预设值或迭代次数达到次数预设值。步骤s2中,近似优化算法为模拟退火算法,模拟退火算法获取当前轨道圈次的初始调度序列的步骤包括:s211、将单轨道圈次任务集中的待规划调度任务根据权重从大到小依次排列,形成单轨道圈次未被调度的初始任务集u;s212、从u中选择权重最大的任务tk,应用插入和删除邻域结构变换,把tk加入到局部解s中生成新的局部解s′,若s′的适应度高于s,则对s进行更新,令s=s′,否则不对s进行更新,同时将tk从u中移除至uj中,其中uj表示在轨道圈次上未被调度的初始任务集,其中插入和删除邻域变换表示先插入任务,再删除与新插入任务冲突任务的一种邻域搜索方式,局部解是指的有潜力继续加任务的解,适应度衡量解的好坏,这里的解即所需求取的初始调度序列;s213、重复步骤s212直至u中的任务全部遍历完成,获取当前轨道圈次的调度序列s与当前轨道圈次未被调度的任务集uj。本实施例中模拟退火算法的领域搜索结构包括基于贪婪准则的邻域搜索结构与基于概率搜索的邻域搜索结构,模拟退火算法包括邻域搜索结构动态选择策略:根据两种邻域搜索结构在之前分配方案内的优化性能,决定在后续分配方案中领域搜索结构的选择:在对问题优化求解过程中,不同的邻域结构搜索策略可能具有不同的优势,因此本实施例提出一种自适应机制实现两种不同邻域搜索结构的动态调整,根据每种邻域搜索结构在之前分配方案内的优化性能,即之前给定迭代次数内的优化性能,决定他们在后续迭代过程中被选择的概率,这是一种基于强化学习的思想。假定pro1和pro2分别表示为选择基于贪婪准则的邻域搜索结构和基于概率搜索的邻域搜索结构的概率,在算法初始化时,设定proi=0.5,i=1,2,每隔一定的迭代次数itr,通过以下规则更新每个邻域结构的选择概率:proi=proi′/∑i=1,2proi′式中,proi′表示中间变量;η为惯性权重因子,表示邻域结构之前的选择概率所占的比重;(1-η)表示当前最新历史搜索经验对更新选择概率的权重;seli为最近itr次迭代过程中,第i个邻域结构被选中的次数;suci表示利用第i个邻域结构产生了更高质量的解的次数。最后对不同邻域结构的选择概率进行标准化。上述邻域结构选择概率的更新规则表明,能够产生更好解的邻域结构,将会得到更大的选择概率。从而实现在优化算法运行过程中邻域结构的动态自适应选择。在邻域结构搜索中,插入/删除邻域是一种经典有效的邻域结构,又通常被称为交换邻域。每次从未被调度且尚未遍历的任务集合中选择权重最大的任务,插入到当前的观测调度序列中,如果在调度序列中存在与插入任务冲突的任务,则把冲突任务全部删除,因此基于贪婪准则的邻域搜索结构的模拟退火算法具体包括:s221、获取当前轨道圈次的调度序列s与当前轨道圈次未被调度的任务集uj;s222、在uj中取出一个尚未调度的权重最大的任务tk,tk未包含在禁忌表中,令uj=uj-tk,其中tk未包含在禁忌表中表示一种算法机制,即放在禁忌表中的任务不参与邻域结构搜索;s223、将tk插入到当前轨道圈次的调度序列s中去,判断是否满足侧摆时间约束,若满足则直接形成新的调度序列s″,若不满足则删除与tk冲突的任务后形成新的调度序列s″,其中删除的任务存入su中,su是所有轨道圈次未被调度的任务集合;s224、判断新的调度序列是否满足能量约束和存储容量约束:若满足,则重复步骤s221、s222、s223、s224直至uj中所有的任务都遍历完成,获取当前轨道上的最终调度序列s″并将当前轨道未被调度的任务存入集合su中;若不满足,则依次删除权重最小的任务直到满足能量约束和存储容量约束后重复步骤s221、s222、s223、s224直至uj中所有的任务都遍历完成,获取当前轨道上的最终调度序列s″并将当前轨道未被调度的任务存入集合su中,其中su是所有轨道圈次未被调度的任务集合。基于贪婪准则的邻域搜索结构有利于局部搜索。为了提高解的多样性,还设计了一种基于概率搜索的邻域搜索结构,在该邻域结构中,不但考虑了任务的权重,还考虑完成每个任务需潜在消耗的侧摆资源和时间窗口资源。综合权重、侧摆角度和时间窗口,在插入和替换邻域结构变换过程中,为每个任务tk计算一个优先级指标indexk,首先分别计算权重指标,时间窗口指标和侧摆角度指标:权重指标为:式中,iwk为权重指标;wk是第k个任务的权重;wi是第i个任务的权重;nj是uj任务数量。时间窗口指标为:式中,itk为时间窗口指标;spank为tk的时间窗口长度;spani为ti的时间窗口长度。侧摆角度指标为:式中,itk为侧摆角度指标;θi在轨道oj上观测任务ti时传感器所需测摆的角度;θk在轨道oj上观测任务tk时传感器所需测摆的角度。优先级指标indexk最终表示为:indexk=iwkα·itkβ·iθkγ式中,α,β,γ分别表示不同要素的影响因子,由用户针对具体问题具体设置。基于概率搜索的邻域搜索结构的模拟退火算法具体包括:s231、获取当前轨道圈次的调度序列s与当前轨道圈次未被调度的任务集uj;s232、在uj中取出任一任务tk的概率为其中indexk为任务tk优先级指标,tk未包含在禁忌表中,令uj=uj-tk;s233、将tk插入到当前轨道圈次的调度序列s中去,判断是否满足侧摆时间约束,若满足则直接形成新的调度序列s″,若不满足则删除与tk冲突的任务后形成新的调度序列s″,其中删除的任务存入su中,su是所有轨道圈次未被调度的任务集合;s234、判断新的调度序列是否满足能量约束和存储容量约束:若满足,则重复步骤s231、s232、s233、s234直至uj中所有的任务都遍历完成,获取当前轨道上的最终调度序列s″并将当前轨道未被调度的任务存入集合su中;若不满足,则删除任务tj的概率为其中indexj为任务tj优先级指标,直到满足能量约束和存储容量约束后重复步骤s231、s232、s233、s234直至uj中所有的任务都遍历完成,获取当前轨道上的最终调度序列s″并将当前轨道未被调度的任务存入集合su中,其中su是所有轨道圈次未被调度的任务集合。分配算法为蚁群优化算法,步骤s3中具体包括:s31、根据各轨道圈次调度序列获取所有轨道圈次未被调度的任务集合su;s32、从su中选择一个权重最高的任务,将其插入到冲突权重最小的轨道圈次上,若该任务的冲突权重小于该任务自身的权重,则插入成功并更新分配方案,否则不更新分配方案;s33、重复步骤s32直至su中所有的未被调度的任务都遍历完成。其中,在步骤s1中采用蚁群优化算法第一次把任务分配至各轨道圈次上时,蚁群算法会根据参数设置进行初始分配,直接形成第一次的分配方案。作为上述技术方案的进一步改进,步骤s4中,算法终止条件为计算时间达到时间预设值或迭代次数达到次数预设值。本实施例还公开了一种基于分治策略的多星观测分层调度系统,其采用的技术方案是:一种基于分治策略的多星观测分层调度系统,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述方法的步骤。为了评估基于本实施例中分治策略的aco-sa算法的性能,将其与禁忌搜索(ts),遗传算法(ga),模拟退火(sa)最高优先级优先调度算法(hpfs)和带局部搜索的蚁群优化算法进行对比(aco-ls)。aco-ls利用蚁群优化算法与局部搜索策略结合,生成多星规划调度问题的解,但是在该算法中没有用到分而治之的策略,而是把调度问题看成一个整体进行求解。为了全面更加全面的评估算法的性能,本实施例提出了六个仿真场景。所使用卫星包含两组,第一组是8颗资源和尖兵系列侦察卫星,第二组是16颗侦察卫星。每颗卫星绕地球运行一圈的时间约100分钟,一天运行14个轨道圈次。传感器的横向侧摆角度范围为[-330,330]。调度周期是24小时。运用专业软件stk计算得到卫星与目标的可见时间窗口和侧摆角度。六个场景分别是:第一个场景8颗卫星对大兴安岭林区的观测;第二个场景是8颗卫星对长白山林区的观测;第三个场景是8颗卫星对大兴安岭林区和长白山林区的观测;第四个场景16颗卫星对大兴安岭林区的观测;第五个场景是16颗卫星对长白山林区的观测;第六个场景是16颗卫星对大兴安岭林区和长白山林区的观测。使用c++语言编程实现该算法,并在intelcore(tm)i7-4810mq@2.8ghzcpu、16.0gbram的windows7系统的电脑上运行实验。第一组仿真实验场景至第六组仿真实验场景的计算结果如表1到表6中的数据所示。通过对实验数据的观测,不难发现如下几个现象:1.aco-sa在每一组实验中都稳定地表现出最佳性能,显示出采用分治策略集成蚁群算法和模拟退火算法可以有效的解决多星观测调度问题。尤其是aco-sa算法总是比aco-ls生成更好的观测调度方案,表明分治策略对于求解大规模卫星观测调度问题具有显著优势;2.在8颗卫星的仿真场景下,对森林区域的观测覆盖率显著小于16颗卫星仿真场景下对森林区域的观测覆盖率,表明适当增加卫星观测资源是提高森林观测覆盖能力的重要手段;3.通过第三组仿真实验的数据可以发现,8颗卫星24小时内难以有效完成对大兴安岭和长白山地区的有效观测覆盖,采用最高效的aco-sa算法亦只能达到大概50%的覆盖率。16颗卫星24小时内则基本可以有效观测覆盖长白山地区的森林资源,观测完成率达到97%以上;4.多星观测规划调度的时效性看,aco-sa的时效性处在中间水平,aco-sa生成卫星观测方案的时间随着任务数和卫星数量规模的增长呈近似线性增长,在最大规模(第六组仿真场景)下,能够在900秒内得到高质量的规划调度方案,表明aco-sa算法的适用性。表1不同卫星观测调度算法在第一组试验场景的计算结果算法ctntcov(%)time(s)ts1862121565.22%321.52ga1862124466.52%425.62sa1862119862.12%564.24aco-ls1862125467.25%368.45aco-sa1862135172.65%388.78表2不同卫星观测调度算法在第二组试验场景的计算结果算法ctntcov(%)time(s)ts1456102570.40%280.25ga1456108574.52%355.32sa145698767.79%451.52aco-ls1456110275.69%298.12aco-sa1456120383.24%326.45表3不同卫星观测调度算法在第三组试验场景的计算结果算法ctntcov(%)time(s)ts3318142542.95%582.35ga3318152445.93%565.15sa3318132439.90%684.60aco-ls3318158846.85%535.40aco-sa3318165850.02%606.66表4不同卫星观测调度算法在第四组试验场景的计算结果算法ctntcov(%)time(s)ts1862162587.27%541.12ga1862167890.12%655.45sa1862159885.82%743.15aco-ls1862169991.25%524.36aco-sa1862174293.56%560.65表5不同卫星观测调度算法在第五组试验场景的计算结果算法ctntcov(%)time(s)ts1456135593.06%482.32ga1456138294.92%505.24sa1456127587.57%661.32aco-ls1456139896.02%458.55aco-sa1456141897.39%500.48表6不同卫星观测调度算法在第六组试验场景的计算结果上表中技术术语aco-sa为本发明算法,ts为禁忌搜索,ga为遗传算法,sa为模拟退火,aco-ls为利用蚁群优化算法与局部搜索策略结合,生成多星规划调度问题的解的算法。本实施例提出的分而治之框架具有通用性,适用于很多类型的规划调度,例如无人机调度和车辆路径规划等。后续的工作是进一步研究敏捷卫星和超敏卫星的调度问题,以及成像和数传的一体化调度问题。以上包含了本发明优选实施例的说明,这是为了详细说明本发明的技术特征,并不是想要将
发明内容限制在实施例所描述的具体形式中,依据本
发明内容主旨进行的其他修改和变型也受本专利保护。本
发明内容的主旨是由权利要求书所界定,而非由实施例的具体描述所界定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1