面向应急任务的多星分布式协同重调度方法与流程

文档序号:21185856发布日期:2020-06-20 18:07阅读:263来源:国知局
面向应急任务的多星分布式协同重调度方法与流程
本发明属于卫星任务规划调度领域,尤其涉及一种面向应急任务的多星分布式协同重调度方法。
背景技术
:对地观测卫星(earthobservationsatellite,eos)作为空间图像采集的主要平台,其主要任务是根据用户需求获取地球表面的观测信息,由于其具有覆盖范围广、成像时间长、不受国境限制等优势,对地观测卫星在经济发展、灾害救援和应急监测等任务中发挥着越来越重要的作用。近年来,随着卫星技术的发展,新一代卫星已经具有一定的计算和处理能力,这使得卫星管控减少人为干预、进行自主决策成为可能。当前针对自主卫星的研究,已经有数颗正在服役的自主卫星:美国国家航空航天局(nasa)的earthobserving-1(eo-1)是一颗自主卫星,能够自主发现地球表面的科学事件,包括火山爆发、洪水灾害等,其自主管理能力可以每年节省超过一百万美元的管控费用,同时发现价值超过一百八十万美元的科学事件。其他较为知名的自主卫星还包括美国空军的tacsat、德国航空航天中心(dlr)的firebird、以及法国国家空间研究中心(cnes)的pleiades等。我国针对自主卫星的研究仍处于起步阶段。在2008年汶川地震救援等非作战军事行动中,我国的对地观测卫星系统虽然发挥了重要作用,但由于快速响应能力的欠缺,不能快速有效的获得灾情状况,错失了很多关键信息,如何提高卫星对不确定性突发事件的响应速度,及时获取突发事件的情报信息,为后续决策提供有力的信息保障,成为卫星调度领域一个亟待解决的问题。针对考虑应急任务等难以预测的不确定性的问题,由于事件的不可预测性,通常采用在线调度(或反应式调度)方法,在事件发生时在线修改离线调度结果来提高收益。在机器调度领域,许多在线调度方法没有考虑算法的运行时间,这些文献中作者使用非常复杂的方法,如混合整数规划和遗传算法等。但对于考虑应急任务的卫星在线重调度问题,计算时间不可忽略。何永明分析了进行卫星任务重调度的难度:任务的可见时间窗口通常很短,如果不及时完成重调度,可能会浪费部分观测机会;此外,卫星与地面之间的通信窗口有限,如果有应急任务到达,计算通常在卫星上完成,但是,卫星的星载计算机性能通常仅为地面典型计算机性能的十分之一。采用模因算法和遗传算法等方法需要数百秒至数小时才能完成重调度,其他精确求解的在线重调度方法运行时间更长,难以满足此类问题的时间约束。因此,对于卫星在线重调度等问题,挑战在于平衡求解质量和在线运行时间。wang等人考虑了任务的在线随机到达并提出了一种简单但快速的启发式调度算法,他们进一步提出了一种任务合并方法,该方法将应急任务与调度方案中的任务合并。wu等人提出了一种蚁群优化算法,用于求解类似的问题。li等人在考虑多类不确定性事件时,使用模糊神经网络来决定何时触发重调度过程并使用aco方法进行重调度。李超、li等人和刘嵩提出了类似的方法决定是否触发重调度,并使用简单的在线启发式方法进行重调度。何永明提出一种基于算法选择的星上重调度方法,该方法包含一种应急插入方法、一种贪婪重调度方法以及一种动态规划方法,系统在重调度时选择效果最好的作为重调度结果。chien等人使用启发式方法来提高星载计算机对不确定事件的响应能力,但无法保证求解质量。beaumet等人提出了一种在线反应随机贪婪算法。qiu等人和liao等人使用滚动周期将问题分解为几个静态子问题。chu等人提出了一个精确的分支定界方法,但该方法采用一种anytime策略,以便在达到重调度的运行时间限制时提供及时的解决方案。damiani等人的动态规划方法也使用了anytime的思想。但是现有方法中对于对时效性要求很高的在线重调度问题,由于其采用的方法通常是贪婪且简单的,或者是anytime形式,为了及时响应而牺牲一定的求解质量。在线求解方法中,通常采用修复离线方案的方法进行重调度,因为可以节省一定的计算时间,同时可以保持解的稳定性。进行完全重调度可能会实现更好的求解质量,但也需要更多的计算时间。在线重调度的另一个难点在于多颗卫星之间以及卫星和地面之间的通信限制下多星的协同调度问题。使用集中式的协同方法,由于卫星和地面之间的通信窗口限制,在考虑应急任务的随机到达问题中,会丧失大量的观测机会;另一种分布式协同,当前比较常见的方法包括多agent的合同网架构、利用信息素图的方式进行协同等,但这些方法过度依赖频繁的星间通信,所消耗的成本较高。而skobelev等人采用的贪婪的搜索策略由于各卫星在决策时缺乏全局信息,生成的解之间容易存在冲突和重复观测,难以提高收益。本文的研究目标是提出一种分布式协同机制,使得多星在不进行星间通信的情况下,也能生成优势互补且互不冲突的调度方案。技术实现要素:本发明要解决的技术问题是针对卫星在线重调度过程中怎样既能节省计算时间又能避免重复观测,并在时效性要求较高的在线重调度过程中,求得与地面离线调度方案解质量接近的解,提高观测收益,提出了一种面向应急任务的多星分布式协同重调度方法。为解决该问题,本发明所采取的技术方案是:一种面向应急任务的多星分布式协同重调度方法,包括以下步骤:步骤1:在地面生成多个离线可行解;步骤2:将所述离线可行解发送给解训练器,所述解训练器根据离线可行解进行训练得到各卫星在面对应急任务插入的各种不同状态时选择怎样执行动作的最优调度策略;步骤3:将所述离线可行解和最优调度策略上传给卫星;步骤4:当卫星接收到应急任务时,判断应急任务是否可以插入多个离线可行解,计算应急任务插入后的可行解的收益;步骤5:根据各可行解的收益使用评估器评估当前卫星的状态,将该状态与最优调度策略所对应的状态进行匹配;步骤6:根据所匹配的状态从最优调度策略中选择一个最优动作;步骤7:使所述最优动作更新当前执行的可行解,完成重调度。进一步地,所述解训练器根据离线可行解进行训练得到最优调度策略的方法是:步骤2.1:建立基于多agent马尔可夫决策过程的最优协同方法的线性规划模型:目标函数为:约束条件为:式(1)为目标函数,表示最大化全部动作的收益之和;其中,为决策变量,代表第i颗卫星在第h次决策,状态为s时,执行动作a的概率,ri(s,a):表示第i颗卫星的收益矩阵,当第i颗卫星在状态为s时,执行动作a的收益,收益的值等于可行解的收益值,ai:第i颗卫星的动作空间,第i颗卫星的动作空间用一个2×n的矩阵表示,其中,矩阵的行编号1或2表示是否执行应急任务;矩阵的列编号表示是否选择某一个可行解,可选的动作数量为2n;si:第i颗卫星的状态空间,第i颗卫星的状态空间使用一个n×(n+1)的矩阵表示,矩阵的行编号表示当前执行的解;矩阵的列编号中,前n列表示当前应急任务插入第n个解时收益最高,最后一列(n+1)表示应急任务无法插入到任何一个解中;约束(2)和(3)是维持状态转移概率的约束,其中ti(s,a,s'):表示第i颗卫星的状态转移矩阵,代表第i颗卫星在状态为s,执行动作a时,状态转移到s'的概率,t1,i(s)代表初始状态概率,si表示第i颗卫星的状态集;约束(4)和约束(5)确保卫星不会进行重复观测,其中约束(4)限制的是对于应急任务的观测次数,而约束(5)限制的是对于每个普通任务的观测次数,m表示对于一个任务所允许的最大观测次数,h表示规划周期,h∈h,每到达一个应急任务进行一次决策;t为任务集合,pi(t,a)为中间变量,定义如下:约束(6)表示在应急任务无法插入时,卫星不会选择观测应急任务;约束(7)表示的是决策变量的取值范围;步骤2.2:对所述线性规划模型进行求解,得到卫星在面对应急任务到达时的不同状态时,选择执行各种动作的概率进一步地,步骤5中所述评估器评估应急任务到达时卫星的状态方法是:步骤5.1:在卫星执行当前解时,比较应急任务插入各可行解后的各可行解的收益,得到插入后收益最高的可行解的编号;步骤5.2:根据插入后收益最高的可行解的编号,或者应急任务无法插入所有可行解的情况,从预先定义的状态空间中找到应急任务到达时卫星的状态并输出。进一步地,步骤6中根据所匹配的状态从最优调度策略中选择一个最优动作的方法是:根据所匹配的状态,从最优调度策略中找到卫星执行各种动作的概率,使用轮盘赌的方法从预先定义的动作空间中选择一个动作来执行。进一步地,本方法可以通过多星之间的定期沟通,提高最优策略的准确性,进而提高收益。在使用定期沟通时,基于多agent马尔可夫决策过程的最优协同方法的线性规划模型中的目标函数修改为:约束(3)则替换为符合当前的状态:其中,为沟通周期,hcom为沟通的时刻,scom为沟通时的准确状态信息。目标函数(8)表示寻找沟通周期内的最优策略。本发明还提供了另外一种面向应急任务的多星分布式协同重调度方法,包括以下步骤:步骤100:在地面生成多个可行的离线可行解并发送给卫星;步骤200:当卫星接收到应急任务时,判断应急任务是否可以插入到多个可行解中,将应急任务插入离线可行解后的解集作为可行解集;步骤300:从所述可行解集中选择一个最优可行解;步骤400:使所述最优可行解更新当前执行的可行解,完成重调度。进一步地,步骤300中选择最优可行解的方法是基于混合整数规划的最优选择方法。进一步地,所述最优选择方法的方法是:步骤301:建立规划模型:目标函数为:约束条件为:其中:xia∈{0,1}为决策变量,表示是否选择可行解a,表示第i颗卫星;ri(a):第i颗卫星的收益矩阵,表示第i颗卫星执行可行解a的收益,即可行解a对应的收益值;pi(t,a)为中间变量,表示选择可行解a时,任务t是否被执行;gt代表的是任务t的收益值;目标函数(10)的前半部分的目标是最大化全部所选择的解的收益之和,后半部分表示将全部重复观测的任务的收益被减去;约束(11)表示在决策时每颗卫星只能选择一个可行解;约束(12)指出了决策变量的取值范围;步骤302:对所述规划模型进行求解,使整个星座收益最大的可行解作为最优可行解。进一步地,在地面生成多个离线可行解的方法是:步骤1.1:将任务集根据自适应任务分配的大邻域搜索算法a-alns(adaptivetaskassignmentbasedadaptivelargeneighborhoodsearch)分配至不同卫星,得到一个起始解;步骤1.2:根据所述起始解将被成功调度的任务分配给相应的卫星;步骤1.3:将未成功调度的任务分配给全部卫星形成各卫星的新任务集合;步骤1.4:对于每颗卫星上的新任务集合,使用单星求解的混合自适应大邻域搜索算法alns/tpf(adaptivelargeneighborhoodsearchwithtabusearch,partialsequencedominanceandfastinsertionstrategy)进行求解,求解过程中,除得到收益最高的可行解之外,还保存其余n-1个收益较高的可行解。与现有技术相比,本发明所取得的有益效果是:本发明提供的第一种面向应急任务的多星分布式协同重调度方法,通过在地面生成多个可行解,同时利用地面的强大计算能力,使用多个可行解对解训练器进行训练,得到各卫星在面对应急任务插入的各种可能的状态时选择怎样执行动作的最优调度策略,然后将多个可行解和最优调度策略发送给卫星,在星上,当卫星接收到应急任务时,判断应急任务是否可以插入多个可行解,计算应急任务插入后的可行解的收益,根据各可行解的收益使用评估器评估当前卫星的状态,将该状态与最优调度策略所对应的状态进行匹配,根据所匹配的状态,从最优调度策略中得到在不同的应急任务状态下,执行各种动作的概率,使用轮盘赌的方法从预先定义的动作空间中选择一个动作来执行。在星上,只需利用星上有限的计算时间计算应急任务插入各可行解的收益,评估卫星的状态,然后使用最优调度策略进行选择即可。本发明将复杂的星上重调度问题转换为可行解的选择问题,星上求解的复杂度被降低,使得星上利用较短时间取得不差于地面的求解质量成为可能,解决了对时效性要求较高的在线重调度问题。与传统集中式协同方法相比,该分布式协同方法降低了星间通信成本,提高了自主卫星对应急任务的响应速度。本发明提供的第二种重调度方法,通过将多个可行解发送到卫星上,当遇到应急任务时,判断应急任务是否可以插入各可行解,并将应急任务插入到可以插入的可行解,更新可行解集,然后采用基于混合整数规划方法选择最优可行解,使得整个星座收益的最大化,本方法同样将复杂的计算多个可行解的过程放在地面来进行,同时保留了n个可行解,在星上,当卫星遇到应急任务时,判断应急任务是否可以插入多个可行解,并将应急任务插入到可以插入的可行解,更新可行解集,调用基于混合整数规划方法选择使整个星座收益最大的可行解来执行,同时通过约束条件避免了重复观测,相比于星上完全重调度,重调度时间更短,提高了观测收益。附图说明图1为为每颗卫星计算多个离线可行解示意图;图2本发明实施例一基于多agent马尔可夫决策过程的最优协同方法算法框图;图3为本发明实施例二基于混合整数规划的最优选择方法框图;图4为对比实施例三基于贪婪策略的可行解选择方法框图;图5为在卫星数量为1时重调度结果对比图;图6为在卫星数量为2时重调度结果对比图;图7为在卫星数量为3时重调度结果对比图;图8为不同可行解数量对求解质量的影响示意图;图9为不同通讯次数对求解质量的影响示意图。具体实施方式下面通过具体的实施例来说明本发明一种面向应急任务的多星分布式协同重调度方法的具体实施过程。实施例一:一种面向应急任务的多星分布式协同重调度方法,如图2所示,包括以下步骤:步骤1:在地面生成多个离线可行解;生成多个离线可行解的方法是:步骤1.1:将任务集根据自适应任务分配的大邻域搜索算法a-alns(adaptivetaskassignmentbasedadaptivelargeneighborhoodsearch)分配至不同卫星,得到一个起始解;如图1(a)所示;步骤1.2:根据所述起始解将被成功调度的任务分配给相应的卫星;步骤1.3:将未成功调度的任务分配给全部卫星形成各卫星的新任务集合;步骤1.4:对于每颗卫星上的新任务集合,使用单星求解的混合自适应大邻域搜索算法alns/tpf(adaptivelargeneighborhoodsearchwithtabusearch,partialsequencedominanceandfastinsertionstrategy)进行求解,求解过程中,除得到收益最高的可行解之外,还保存其余n-1个收益较高的可行解。a-alns方法是采用文献1“hel,liux,laporteg,etal.animprovedadaptivelargeneighborhoodsearchalgorithmformultipleagilesatellitesscheduling[j].computers&operationsresearch,2018,100(1):12-25”中介绍的方法,其主要面向多星调度,生成一个将任务分配至不同卫星的起始解;该“起始解”的定义与常见启发式方法中的“初始解”有所不同,该起始解是使用a-alns算法找到的最佳解,它的目的是将任务分配至不同的卫星,再使用单星算法在每颗卫星的任务集合上生成多个可行解,实现对解空间的有效覆盖。但是,多颗卫星的多个可行解之间可能会存在观测同一任务的情况,重复的观测会导致收益降低。为了避免这种现象,本方法仅将a-alns中未被调度的任务分配至不同卫星,其他a-alns成功调度的任务,仅在其选择的卫星上执行,在后续的调度中不会改变执行卫星。图1(b)中,未被调度的任务被分配至不同卫星,每颗卫星上的任务集合改变形成新的任务集合,此时利用alns/tpf方法对新的任务集合进行求解,并保留求解过程中收益最高的n-1个可行解。最终,在每颗卫星上,共生成了n个可行解。这些可行解中,除了a-alns未调度的任务外,其他任务之间不会存在重复观测。alns/tpf算法是采用文献2“hel,deweerdtm,yorke-smithn.tabu-basedlargeneighbourhoodsearchfortime/sequence-dependentschedulingproblemswithtimewindows[c].proceedingsof29thinternationalconferenceonautomatedplanningandscheduling(icaps'19),berkeley,ca,2019:186-194.”中介绍的方法。由于未调度的任务可以存在多个可行解中,每颗卫星选择的可行解可能包含已由其他卫星观测的某些任务。为了能够协调多颗卫星选择的可行解,本发明使用两种方法选择最优可行解,即基于多agent马尔可夫决策过程的最优协同机制和基于混合整数规划的最优选择机制。步骤2:将所述离线可行解发送给解训练器,所述解训练器根据离线可行解进行训练得到各卫星在面对应急任务插入的各种不同状态时选择怎样动作的最优调度策略;本实施例中,解训练器根据离线可行解进行训练得到最优调度策略的方法是:步骤2.1:建立基于多agent马尔可夫决策过程mmdp(multi-agentmarkovdecisionprocess)的最优协同方法的线性规划模型:目标函数为:约束条件为:式(1)为目标函数,表示最大化全部动作的收益之和;其中,为决策变量,代表第i颗卫星在第h次决策,状态为s时,执行动作a的概率;ri(s,a):表示第i颗卫星的收益矩阵,表示第i颗卫星在状态为s时,执行动作a的收益,收益的值等于可行解的收益值,ai:第i颗卫星的动作空间,第i颗卫星的动作空间用一个2×n的矩阵表示,其中,矩阵的行编号1或2表示是否执行应急任务;矩阵的列编号表示是否选择某一个可行解,可选的动作为数量为2n;动作空间示意如表1所示;表1当保留2个可行解时,卫星的动作空间选择解1选择解2插入应急任务动作1动作2不插入应急任务动作3动作4si:第i颗卫星的状态空间,第i颗卫星的状态空间使用一个n×(n+1)的矩阵表示,矩阵的行编号表示当前执行的解;矩阵的列编号中,前n列表示当前的应急任务插入第n个解时收益最高,最后一列(n+1)表示应急任务无法插入到任何一个解中;状态空间示意如表2所示;约束(2)和(3)是维持状态转移概率的约束,其中ti(s,a,s'):表示第i颗卫星的状态转移矩阵,代表第i颗卫星在状态为s时,执行动作a,状态转移到s'的概率,t1,i(s)代表初始状态概率,si表示第i颗卫星的状态集;约束(4)和约束(5)确保卫星不会进行重复观测,其中约束(4)限制的是对于应急任务的观测次数,而约束(5)限制的是对于每个普通任务的观测次数,m表示对于一个任务所允许的最大观测次数,h表示规划周期,h∈h,每到达一个应急任务进行一次决策;t为任务集合,pi(t,a)为中间变量,定义如下:约束(6)表示在应急任务无法插入时,卫星不会选择观测应急任务;约束(7)表示的是决策变量的取值范围。步骤2.2:对所述线性规划模型进行求解,得到卫星在面对应急任务的不同状态时,选择执行各种动作的概率步骤3:将所述离线可行解和最优调度策略上传给卫星;步骤4:当卫星接收到应急任务时,判断应急任务是否可以插入多个离线可行解,计算应急任务插入后的可行解的收益;本实施例中,判断应急任务是否可以插入的方法采用文献2中介绍的快速插入方法,快速判断每个任务是否可以插入。步骤5:根据各可行解的收益使用评估器评估当前卫星的状态,将该状态与最优调度策略所对应的状态进行匹配;本实施例中,评估器评估当前卫星的状态使用的方法是:步骤5.1:在卫星执行当前解时,比较应急任务插入后的各可行解的收益,确定插入后收益最高的离线可行解的编号;步骤5.2:根据插入后收益最高的离线可行解的编号,或者应急任务无法插入所有离线可行解的情况,从预先定义的状态空间中找到应急任务到达时卫星的状态并输出。如表2所示,共保留了2个可行解,当应急任务到达时,如果卫星正在执行的是解1,且星上评估器发现如果将应急任务插入解2时收益最高,则会返回状态2;如果应急任务到达时,卫星正在执行的是解2,且星上评估器发现应急任务无法插入任何一个解,则会返回状态6。表2当保留2个可行解时,卫星的状态空间插入解1收益最高插入解2收益最高无法插入任何解当前执行解1状态1状态2状态3当前执行解2状态4状态5状态6步骤6:根据所匹配的状态从最优调度策略中选择一个最优动作;根据所匹配的状态,从最优调度策略中找到卫星执行各种动作的概率,使用轮盘赌的方法从预先定义的动作空间中选择一个动作来执行。根据所匹配的状态,各卫星则根据离线已经训练好的最优策略,返回一个动作,对应的是选择某个可行解,且是否将任务插入。最优策略由上述线性规划模型的计算结果表示,代表第i个agent在第h次决策,状态为s时,执行动作a的概率。如表1所示,假如当第一个卫星在第3次决策,状态为6时,说明该卫星此时选择动作3的概率为80%,即选择解1,且不插入应急任务的概率为80%,执行其他三个动作的概率之和是20%。步骤7:使所述最优动作更新当前的执行的可行解,完成重调度。本发明一种面向应急任务的多星分布式协同重调度方法,通过在地面生成多个可行解,同时利用地面的强大计算能力,使用多个可行解对解训练器进行训练,得到各卫星在面对应急任务插入的各种可能的状态时选择怎样执行的最优调度策略,然后将多个可行解和最优调度策略发送给卫星,在星上,当卫星接收到应急任务时,判断应急任务是否可以插入多个可行解,计算应急任务插入后的可行解的收益,根据各可行解的收益使用评估器评估当前卫星的状态,将该状态与最优调度策略所对应的状态进行匹配,根据所匹配的状态,从最优调度策略中得到在不同的应急任务状态下,执行各种可行解的概率,使用轮盘赌的方法从预先定义的动作空间中选择一个动作来执行。在星上,只需利用星上有限的计算时间计算应急任务插入各可行解的收益,评估卫星的状态,然后使用最优调度策略进行选择即可。本发明将复杂的星上重调度问题转换为可行解的选择问题,星上求解的复杂度被降低,使得星上利用较短时间取得不差于地面的求解质量成为可能,解决了对时效性要求较高的在线重调度问题。与传统集中式协同方法相比,该分布式协同方法降低了星间通信成本,提高了自主卫星对应急任务的响应速度。上述基于多agent马尔可夫决策过程的最优协同方法要求每颗卫星能够在不保留其他卫星的可行解信息、同时不依赖频繁的信息交互的情况下独立的做出决策。但随着决策步数的增长,各个卫星对于其他卫星的决策推理的准确率会下降。因此,如果引入一个周期性的沟通机制,让卫星之间可以获取到准确的状态信息,做出决策的准确率可以提高。在通信时,地面站收集来自卫星的信息,并在下一个通信阶段之前计算卫星的新的最优策略。本实施例中,通过多星之间的定期沟通,提高最优策略的准确性,进而提高收益。在使用定期沟通时,将基于多agent马尔可夫决策过程的最优协同方法中的目标函数修改为:约束(3)则替换为符合当前的状态:其他约束条件不变。其中,为沟通周期,hcom为沟通的时刻,scom为沟通时的准确状态信息。目标函数(8)表示寻找沟通周期内的最优策略。通过修改目标函数和约束条件,可以通过定期通信提高解的质量。实施例二:一种面向应急任务的多星分布式协同重调度方法,如图3所示,包括以下步骤:步骤100:在地面生成多个离线可行解并发送给卫星;在地面生成多个离线可行解的方法与实施例一中的相同。步骤200:当卫星接收到应急任务时,判断应急任务是否可以插入到多个离线可行解中,将应急任务插入离线可行解后的解集作为可行解集;本实施例中,判断应急任务是否可以插入到离线可行解中的方法是采用文献2中介绍的快速插入方法,快速判断每个任务是否可以插入。步骤300:从所述可行解集中选择一个最优可行解;选择最优可行解的方法是基于混合整数规划的最优选择方法mip(mixed-integerprogramming)。步骤301:建立规划模型:目标函数为:约束条件为:其中:xia∈{0,1}为决策变量,表示第i颗卫星是否选择可行解a;本实施例中,可行解a指的是步骤200中可行解集中的解。ri(a):第i颗卫星的收益矩阵,表示第i颗卫星执行可行解a的收益,即可行解a对应的收益值;pi(t,a)为中间变量,表示选择可行解a时,任务t是否被执行;pi(t,a)的定义与实施例一中的定义相同,gt代表的是任务t的收益值;目标函数(10)的前半部分的目标是最大化全部所选择的解的收益之和,后半部分表示将全部重复观测的任务的收益被减去;约束(11)表示在决策时每颗卫星只能选择一个可行解;约束(12)指出了决策变量的取值范围;步骤302:对所述规划模型进行求解,将使整个星座收益最大的可行解作为最优可行解;本实施例通过将多个离线可行解发送到卫星上,当遇到应急任务时,判断应急任务是否可以插入各离线可行解,将应急任务插入到可以插入的离线可行解中,并使用插入后的可行解更新可行解集,然后采用基于混合整数规划方法选择使整个星座收益最大的可行解,本方法同样将复杂的计算多个可行解放在地面来进行,同时保留了n个可行解,在星上,当卫星遇到应急任务时,判断应急任务是否可以插入多个可行解,将应急任务插入到可以插入的可行解,并更新可行解集,,调用基于混合整数规划方法选择使整个星座收益最大的可行解来执行,同时通过约束条件避免了重复观测,相比于星上完全重调度,重调度时间更短,提高了观测收益。对比实施例三:选择最优可行解的方法是贪婪策略。即:计算每个可行解的收益,选择收益最高的可行解为执行的可行解。如图4所示,这是一种最简单的选择方法,每颗卫星仅记录自身多个可行解,当应急任务到达时,每颗卫星计算应急任务插入到每个可行解上的收益,选择收益最高的执行。该方法能够快速选择一个可行解,但难以避免同一任务被多颗卫星同时观测的情况。也就是贪婪选择策略不能解决重复观测的问题。步骤400:使所述选择的最优可行解更新当前执行的可行解,完成重调度。下面通过实验来验证本发明所提方法的有效性。实验使用c#语言编写,使用intelcorei5-34703.20ghzcpu,8gb内存进行实验,运行环境为64位windows7系统。基于多智能体马尔可夫决策过程mmdp构建出的线性规划(linearprogramming,lp)模型和基于混合整数规划mip模型采用ibmilogcplex12.8求解。本发明设计并生成了多个算例以评估本发明。在全球范围内随机生成点目标,共包含12个算例,任务数量从100到400不等,增量步长为100,分别包含1~3颗卫星。为了使算例包含应急任务,从每个算例中随机选择20%的任务作为应急任务,当任务数量大于200时,仅选择40个任务作为应急任务。测试算例的调度时间范围从2017/04/2000:00:00到2017/04/2024:00:00,在此时间段内,每颗卫星约包含15~16条轨道。卫星的六个轨道参数分别是半长轴(a)、偏心率(e)、倾角(i)、近地点角(ω)、升交点赤经(raan)和真近点角(m)。使用的所有3颗卫星的初始轨道参数如表1所示。表1卫星轨道参数卫星半长轴a偏心率e倾角i近地点角ω升交点赤经raan真近点角m卫星172000000.00062796.5760175.720.075卫星272000000.00062796.5760145.7230.075卫星372000000.00062796.5760115.7260.075·生成备用可行解的个数:n=5;·基于mmdp重调度方法规划周期:h=40,每到达一个应急任务进行一次规划,因此规划周期的长度应大于应急任务的数量;·基于mmdp重调度方法每次决策对于一个任务的观测限制:m=2。在下面的实验中,共比较了以下五种方法,完全重调度算法(fullrescheduling,fr):每次有新任务到达时,都调用a-alns重新生成新的可行解;基于单个可行解的在线修复算法(single-solutionrepair:ssr);本发明实施例一中的基于多agent马尔可夫决策过程mmdp的最优协同策略机制mmdpop;本发明实施例二中的基于混合整数规划mip的最优选择机制mips;基于贪婪选择方法(greedyscheduling,gs)的重调度方法。需要指出的是,本实验目的是验证提出的多可行解机制的有效性,同时比较多种多星协同机制的性能,因此在这里的星上重调度方法采用了一种简单的插入策略:即仅采用插入策略,快速判断任务插入的可行性,若无法插入,则放弃任务,不考虑取消已成功调度的任务。每种方法运行10次,图5-图9中的结果是10次运行的平均值。图5展示了卫星数量为1时不同算法的重调度情况。图5(a)表示100任务时几种方法的重调度对比,图5(b)表示200任务时的对比情况,图5(c)表示300任务时的对比情况,图5(d)表示400任务时的对比情况,在卫星数量为1时,mips和gs算法相同,因此算法收益几乎相同。mmdpop由于agent有时会保守的选择不观测应急任务,收益相对其他两个算法会略低。而ssr算法由于仅包含单个可行解,当任务数量增大时,应急任务插入的概率降低,但由于没有其他可行解代替,其收益与其他算法的差距逐渐增大,这也证明了本文提出的采用多个备用可行解的算法框架的有效性。fr算法由于在应急任务到达时,完全对算例进行重调度,因此具有更大的自由度,理论上若给予充足的计算时间,应当拥有最高的收益值。但可以观察到,fr算法仅在100和200任务时展现出优势,而对于300和400任务的大规模算例,生成多个可行解并合成的收益值超过了在单个解上搜索的收益值。需要指出的是,采用fr的计算时间小于其他算法的离线计算时间,因为其他算法需要计算多个可行解,搜索了更多的解空间,同时,fr算法属于一种集中式重调度方法,属于一种理想化的方法,要求每次应急任务到达时对全部卫星上的任务进行重调度,这对卫星的测控和通信系统提出了极大要求,在当前的技术条件下并不适用。图6显示了在卫星数量为2时,图6(a)表示100任务时几种方法的重调度对比,图6(b)表示200任务时的对比情况,图6(c)表示300任务时的对比情况,图6(d)表示400任务时的对比情况。由于能被观测的任务数量增多,单颗卫星上可以插入应急任务的空间较大,因此ssr算法的表现相对于只有单颗卫星时更好,而这种情况也在卫星数量为3时更加明显,如图7所示,甚至在规模较小算例上超过了mmdpop算法。图7(a)、7(b)、7(c)、7(d)分别表示100任务、200任务、300任务、400任务时几种方法的重调度对比情况。mips算法相对于其他算法的优势,尤其是相对于gs的优势,在卫星数量较多时体现的较为明显,可以看到,在6(d)和图7(d)上,mips算法的表现远超gs算法,平均提高收益2.32%和1.91%,甚至超过了fr算法,这说明提出的基于mip最优选择机制的有效性,但mips算法的弊端是,需要在应急任务到达时,每颗卫星上都进行任务插入和mip求解操作,在线的计算时间略长,但相比于传统的星上完全调度方法来说,重调度时间更短,提高了观测收益。mmdpop尽管无需重新求解最优策略,但其收益值并未明显优于gs算法,仅在任务数量和卫星数量较大时,体现出一定优势。由于gs算法属于贪婪的选择可行解,当任务数量和卫星数量增加时,可行解之间的重复率提高,此时使用mmdpop算法训练的最优策略可以在一定程度上防止重复观测,因此表现更好。各个算法在不同算例上进行一次在线重调度所使用的平均时间如表2所示,其中fr算法由于是完全重调度,消耗的时间最长;而mmdpop,gs,ssr算法由于仅在在线阶段插入并根据训练好的策略选择解,因此计算时间很短;mips由于需要在线求解mip模型,消耗时间相对更长。星载计算机通常比地面常规的计算机慢10~1000倍。即使按照1000倍计算,mips算法最长的重调度时间为46秒,仍在可以接受的范围,而fr算法则最长消耗10744.4秒,近三个小时。提出的mmdpop方法和mips方法相对于fr方法的平均计算速度分别提升了70000倍以上和264倍以上。显然,fr算法尽管拥有最好的解质量,但由于其要求卫星与地面间的实时通信,同时计算时间过长,不适合求解该问题。表2重调度在线平均计算时间对比(s)卫星数量任务数量frmmdpopgsmipsssr11001.6698<0.0001<0.00010.0082<0.000112004.0864<0.0001<0.00010.0134<0.000113007.0089<0.0001<0.00010.0174<0.000114009.9342<0.0001<0.00010.0238<0.000121001.4958<0.0001<0.00010.0087<0.000122003.96230.00010.00010.0171<0.000123007.20680.00010.00010.02800.0001240010.74440.00010.00010.03790.000131001.45470.00010.00010.0086<0.000132003.58890.00010.00010.01830.000133006.62470.00010.00010.02950.0001340010.12030.00020.00020.04600.0001平均值5.65070.00010.00010.02390.0001图8展示了不同备用可行解数量对解的收益的影响。图8中展示的是2颗卫星,200个任务算例中mips算法的收益和计算时间。图8(a)表示解收益,图8(b)表示在线求解时间,从8(a)中可以看出,随着可行解数量的增加,解的收益也不断提高,但在线求解的时间也变得更长,如图8(b)所示。由于本文使用的在线修复算法仅考虑任务的插入,未考虑已经安排任务的删除,因此当保留备用可行解增加时,收益较低但插入空间较大的可行解也被保留,可以在在线重调度中插入更多的解。图9展示了不同通讯次数对mmdpop方法的求解质量的影响,可以看出随着通讯次数的提高,mmdpop方法的解的质量也逐渐提高。提出了一种基于多解合成的重调度框架,能够利用地面强大的计算能力,生成多个可行解,将复杂的星上重调度问题转换为可行解的选择问题,使得星上利用较短时间取得不差于地面的求解质量成为可能;提出了基于多agent马尔可夫决策过程(mmdp)以及混合整数规划(mip)的多星分布式协同策略,这些方法使得卫星能够在在轨运行中独立决策、生成优势互补而互不冲突的解。与传统集中式协同方法相比,该分布式协同方法降低了星间通信成本,提高了自主卫星对应急任务的响应速度。通过多组仿真实验,证明了本文提出的多解合成框架以及分布式协同策略对于星上重调度问题的有效性。同时,实验发现基于mmdp的最优协同策略机制计算时间较短,求解质量较差,但其求解质量可以通过定期通讯并训练更准确的最优协同策略得到提高;而基于mip的最优选择机制需要更长的在线计算时间,但其解质量较好,在一些大规模算例上,求解质量超过了完全重调度方法。以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1