发明内容
本发明的目的是提供一种能够给出卫星如何进行调度的方案并提高卫星资源利用率的成像卫星资源调用配置方法。
为了实现上述目的,本发明提供一种成像卫星资源调用配置方法,该方法的具体步骤如下:
(1)根据成像卫星资源的不同和对任务分配问题特征的抽取,将任务分配问题分为容量过载问题、能量过载问题、能量和容量均过载问题、能量和容量均不过载问题中的一种;
(2)利用算法引擎进行求解,求解过程中根据问题算子知识库中记录的同一类型问题的历史求解算子的不同绩效,实现求解该问题的算子的快速选择,所述问题算子知识库是由(问题分类-算子设计规则-得分)三元组构成,记录每种算子设计在求解每类问题时的历史绩效,从而为今后新的具体问题的求解提供算子设计决策支持;
所述步骤(1)中,任务分配问题的分类具体方式为:
1)分析卫星资源信息和卫星任务信息,并根据卫星任务信息确定卫星对任务的可见时间窗,所述卫星资源信息包括载荷类型、载荷分辨率、观测角度信息、姿态机动能力、存储容量和能力供应,所述卫星任务信息包括需求时间信息、任务优先级、图像质量需求和图像类型需求;
2)基于1)中的分析,对任务分配问题进行分类,依据分解优化的思想,任务分配问题的分类首先是从存储容量和能量方面根据卫星能力和任务需求的供需关系进行分类,然后,是从姿态机动角度将卫星分为敏捷卫星和非敏捷卫星,对于一个确定的卫星调度问题则是进一步的根据任务的分布情况将其分解为均匀分布和块状分布两类,其中,卫星能力只考虑载荷类型、分辨率、容量限制和能量的限制,对于成像卫星任务的需求主要体现在对图像类型和成像质量的需求,成像质量的需求体现为对执行该任务的分辨率和观测角度的需求,根据图像对数据量的需求和卫星容量和能量能力的匹配情况可以将任务分配问题分为能量过载、容量过载,能量和容量均不过载,能量和容量均过载四类。
所述步骤(2)中算法引擎为蚁群算法引擎,所述蚁群算法引擎构建方式包括:
A)构建问题域:
(a)问题参数:
T:观测任务集合;
TaskNum:目标数量;
Pt∈[1,10]:目标t的优先级;
目标t需要的观测的数据类型包括:光学、红外、多光谱、SAR,数值代表相应类型成像的分辨率;
S:卫星集合;
SatNum:卫星数量;
卫星s携带的遥感器类型以及能提供的最小分辨率。
MCs:卫星s的最大固存容量;
MEs:卫星s最大电量;
MSs:卫星s最大侧摆角度;
cs,t:任务t对卫星s消耗的固存;
es,t:任务t对卫星s消耗的能量;
sws,t:卫星s对任务t的侧摆;
(b)决策变量:
xs,t:任务t分配给卫星s,则xs,t=1,否则xs,t=0;
(c)优化目标:
优化目标主要有三个,如式(2-1)-(2-3)所示,(2-1)式表示完成任务的优先级总和最高,体现了用户需求的满足程度,(2-2)式和(2-3)式体现资源负载的均衡性,用方差来表示均衡性,(2-2)描述的是卫星容量消耗的方差,(2-3)式描述的是卫星能量消耗的方差,负载均衡性体现在最小化这两个方差上,
(d)问题约束:
其中约束(2-4)表示卫星能提供的最小分辨率应该小于所安排的任务需要的分辨率;约束(2-5)表示卫星对所安排的任务的侧摆要在卫星最大侧摆范围内;这两个约束属于固定约束,由卫星的物理能力限制,约束违反情况不随方案的改变而变化,约束(2-6)、(2-7)分别表示任务对所分配的卫星的容量和能量消耗情况应在卫星的最大能力范围内,这两个约束的违反情况则根据具体分配方案的不同而不同,约束(2-8)表示每个任务最多只能分配给一颗卫星,约束(2-9)是01约束;
优选地,所述蚁群算法引擎构建方式还包括:
B)构建规则库:
(e)蚂蚁位置初始化:
蚂蚁位置的初始化包括行的选择和列的选择,其中选择规则又可分为随机选择和规则式的选择。因此在初始化蚂蚁位置算子的设计上可分为以下四类:
(Ⅰ)根据任务优先级进行轮盘赌,优先选择优先级较高的任务,卫星随机选择;
(Ⅱ)根据卫星可以观测的任务数进行轮盘赌,优先选择能力受限的卫星,任务随机选择;
(Ⅲ)任务,卫星均随机选择;
(Ⅳ)综合Ⅰ、Ⅱ规则,即任务和卫星均按规则选择;
(f)可行解构造:
可行解构造主要分为可行域构造和选择目标规则。其中可行域构造有问题的约束决定,选择目标规则的重点是启发因子的设计,具体设计如下:
对于能量和容量均过载的情况,资源的合理分配使得资源最大程度的发挥作用对于最终观测任务的观测情况起着重要的作用,因此,启发因子主要考虑卫星容量和能量情况,如η1所示,
capacitycost(t,s)表示任务t在卫星s上观测时所占的容量,eleccost(t,s)表示任务t在卫星s上观测时需要消耗的电量,
表示在任意卫星上观测任务s所占的最小容量,表示在任意卫星上观测任务s所消耗的最小电量,
对于能量过载的情况,由于任务无法全部安排,因此优先级成为一个主要的影响因素,考虑到容量大小也是直接影响卫星容纳情况的重要因素,因此启发因子的设计还应考虑任务对卫星的容量占据情况,如η2所示,同理,对于能量过载问题,启发因子主要考虑优先级和能量占据情况,如η3所示。
对于能量和容量均不过载的情况,应该综合考虑优先级,占据容量大小和占据能量大小,即以优先级,相对容量大小,和相对能量大小为指标,采用基于绝对理想点的TOPSIS评分法进行评分,将得分作为启发因子,
RCs为卫星s剩余的容量,REs.为卫星s剩余的能量,
所述基于绝对理想点的TOPSIS评分法如下:
Step1:计算每个指标的绝对正负理想点
Step2:计算每个解的3个指标与正负理想点的距离
Step3:计算得分
其中,决策矩阵为Dn×3,其中n为待评价的解的数量,3列指标分别为优先级总和totalp,容量方差CV,能量方差EV。
与现有技术相比,本发明所提供的成像卫星资源调用配置方法,具有以下优点:
1、在任务问题分析的基础上,将问题的求解分解为任务分配子问题和若干单星调度子问题的求解,通过求解两类子问题最终求解成像卫星调度问题,从而提高卫星资源利用率;
2、使用超启发式算法(Hyper-heuristic),从一个基础解出发(该解通常由启发式算法得到),对该解进行少量的改动,使得出的解更接近最优解,与meta-heuristic相比,hyper-heuristic的随机扰动更具有智能性,它带有一定的学习机制,能够通过学习各种启发规则的历史求解绩效对启发式规则的设计和选择提供反馈,与一般的启发式算法相比,超启发式算法更具有对不同问题求解的适应性,从而更加适应目前成像卫星调度问题的多样性特点,并具体以蚁群算法来设计蚁群算法引擎,即用蚁群算法的迭代框架作为算子运行的逻辑环境,并通过问题域和规则库实现问题、算法和决策者知识的交流与融合;
3、设计由(问题分类-算子设计规则-得分)三元组构成的问题算子知识库,记录每种算子设计在求解每类问题时的历史绩效,从而为今后新的具体问题的求解提供算子设计决策支持。
综上所述,本发明所提供的成像卫星资源调用配置方法,能够给出卫星如何进行调度的方案并提高卫星资源利用率。
具体实施方式
本发明的目的是提供一种能够给出卫星如何进行调度的方案并提高卫星资源利用率的成像卫星资源调用配置方法。
为了使本领域技术人员更好地理解本发明的技术方案,下面结合附图对本发明进行详细描述,本部分的描述仅是示范性和解释性,不应对本发明的保护范围有任何的限制作用。
在一种实施例中,如图1所示,将多星调度问题通过任务的预分配分解为若干个单星调度子问题分别进行求解,即将成像卫星调度问题分解为任务分配子问题和单星调度子问题,在规划之前根据卫星能力和任务需求对任务进行预先分配,将任务分配给合适的卫星,每个卫星再调用与其能力相匹配的单星调度器进行求解。任务分配子问题可以描述如下:地面待观测目标数量众多,在执行卫星任务规划之前,可根据卫星平台能力预估对任务进行预分配。分配在不违反卫星能力范围的前提下要尽可能多的完成任务并保证卫星负载的均衡性。单星调度子问题依托于任务分配的结果,每颗卫星根据分配的任务基于求解框架进行求解。单星调度问题可以描述如下:给定一组对地观测卫星和地面目标,每个地面目标有各自的观测收益,卫星轨道参数已知,与地面目标间的可见时段可以通过数据预处理得到。卫星对地面目标的观测动作必须在可见时间窗内执行。卫星在执行一个观测任务到下一个观测任务之间必须具备足够的转换时间,在一个规划周期内,卫星对地面目标的可见时间窗可能有多个,但一个飞行圈次内只有一个可见时间窗。卫星不具备同时观测多个地面目标的能力,地面目标最多只能被其中一颗卫星在一个可见时间窗内观测。调度的结果是要为选择观测目标提供决策。其中非敏捷卫星的调度问题本质上是任务选择问题,敏捷卫星的调度相对较为复杂,在任务选择的基础上还需要进一步确定观测的具体时间。
如图2所示,超启发式算法的设计由问题域、规则库、搜索技术,迭代框架四个要素确定,卫星问题的复杂性与多样性带来问题的日新月异而算法的设计又依赖于问题特征的抽取。尤其是一个好的算法,不仅要能够针对问题特征进行算子设计,还需要很好地体现决策者的偏好,本实施例中设计一种基于问题特征分类的算子自动推荐技术,实现针对一类问题可以根据历史信息,能够自动推荐合适的算子设计,从而实现对于一个新的问题的求解,可以通过对该问题的归类,寻找该类问题历史的求解算子信息,快速有效地推荐出该问题的求解算子。如图3所示,推荐框架主要由问题分类器,算法引擎和问题算子知识库构成。算法引擎是推荐框架的核心部件,提供算子运行的逻辑环境,并支持问题、算法和决策者信息的交流。本实施例中以蚁群算法为例来设计蚁群算法引擎,即用蚁群算法的迭代框架作为算子运行的逻辑环境,并通过问题域和规则库实现问题、算法和决策者知识的交流与融合。问题分类器是算法引擎的输入,是根据对问题特征的抽取进行构建的,如对于任务分配问题,根据卫星能力的不同可以分为容量过载问题,能量过载问题,能量和容量均过载问题,能量和容量均不过载问题。首先通过问题分类器进行归类,然后利用算法引擎进行求解,求解过程中根据问题算子知识库中记录的同一类型问题的历史求解算子的不同绩效,实现求解该问题的算子的快速选择。所谓问题算子知识库是由(问题分类-算子设计规则-得分)三元组构成,记录每种算子设计在求解每类问题时的历史绩效,从而为今后新的具体问题的求解提供算子设计决策支持。
问题模型的建立要明确问题要求中涉及的所有对象,并分析所涉及对象的属性和对象间的关系。而卫星调度问题涉及的对象包括卫星资源和任务两大类,对象的属性和关系就对应于调度的各种约束,如图4所示。其中任务信息中的需求时间信息是指用户对信息的需求时间范围,图像质量需求包括图像类型、分辨率和最小数据量需求,结合卫星采集速率即可确定卫星对任务的最小成像时间。卫星信息中的姿态机动能力包括最大侧摆能力,如果是敏捷卫星则还包括俯仰侧摆的能力。能量供应信息包括单圈最大开机次数,最大成像时间等需求。配对信息中的成像时间需求包括卫星对任务的可见时间窗以及最小成像时间需求,观测角度需求包括根据预处理的结果得到的卫星对任务的侧摆信息以及规划结果中卫星对任务的俯仰信息。
基于对调度问题对象的分析,可以对调度问题进行分类。依据分解优化的思想,问题分类模型的建立也是基于双层来考虑的。第一阶段的任务分配问题的分类是从存储容量和能量方面根据卫星能力和任务需求的供需关系进行分类。第二阶段的单星调度子问题是从姿态机动角度将卫星分为敏捷卫星和非敏捷卫星,对于一个确定的卫星调度问题则是进一步的根据任务的分布情况将其分解为均匀分布和块状分布两类。基于这种分解优化的思想得到问题分类模型如图5所示。其中卫星能力有很多方面,在本文中只考虑最基本的四种能力指标,载荷类型(常见的有可见光,红外,SAR),分辨率,容量限制和能量的限制。对于成像卫星任务的需求主要体现在对图像类型和成像质量的需求,成像质量的需求体现为对执行该任务的分辨率和观测角度的需求。在第一阶段的任务分配问题中主要是根据图像的成像类型和质量要求进行分配。根据图像对数据量的需求和卫星容量和能量能力的匹配情况可以将任务分配问题分为能量过载、容量过载,能量和容量均不过载,能量和容量均过载四类。对于单星调度器,分类的依据很多,从资源的角度出发,根据载荷类型分类可以分为光学卫星和SAR卫星,根据卫星姿态能力分类可以分为敏捷卫星和非敏捷卫星。对于一个特定的调度器而言,其分类可以依据所分配的任务的分布形式进行分类求解,如分为均匀分布的任务和块状分布的任务。
蚁群算法引擎包括迭代框架以及与问题和决策者进行信息交流的接口,可以应用一些搜索技术来提高解的质量并加速迭代过程。如图6所示,搜索技术是嵌套在迭代框架中,可以将搜索技术抽象为框架中的一个算子。而规则库的构架则是用于充实迭代框架中的各个算子的,是算子的具体实现。蚁群算法迭代框架中的主要算子包括蚂蚁位置初始化、可行解构造、解的评价搜索技术和信息素更新。相应的规则库的构建也根据算子进行分类,分为位置初始化规则集、目标选择规则集、评价规则集、搜索策略集和信息素更新方式集。问题域是算法与问题的接口,通过将问题按照上述所归纳的问题四要素进行抽象整理,从而将各式各样复杂的问题转换为算法可识别的形式。如通过对决策变量的编码可以确定蚂蚁所行走的地图形式,问题的约束定义了算法搜索的可行域,问题的优化目标则定义了算法评价的准则,问题参数会影响算法参数的确定。具体的蚁群算法的引擎如图所示。此外,通过对问题的特征进行抽取还可以指导规则库的构建。如目标选择规则、局部搜索技术等规则的设计就要严重依赖对问题特征的抽取。
如图7所示,基于问题分类和问题算子知识库的推荐机制如下:
初始算子池的建立是基于给定问题域下的算子全集,其中同类问题历史推荐算子概率较高,其它算子的概率均为初始水平。对于算子全集样本数过多的情况下可以依托实验设计(如均匀设计)的方法选择有代表性的样本构成初始算子池。基于初始算子池,以100代为一个单元,在迭代初始(前100代)在初始算子池中概率选择算子,计算算子对求解的平均贡献增幅,即算子对解质量提高的平均贡献程度。根据平均增幅排序情况更新算子组合的选择概率。在每次概率更新后进行算子池的自演化:即保留选择概率高的,对选择概率低的进行交叉变异产生新的组合类型,被赋予群体的平均概率,参与下一单元的迭代实验。
蚁群算法引擎构建方式如下:
A)构建问题域:
(a)问题参数:
T:观测任务集合;
TaskNum:目标数量;
Pt∈[1,10]:目标t的优先级;
目标t需要的观测的数据类型包括:光学、红外、多光谱、SAR,数值代表相应类型成像的分辨率;
S:卫星集合;
SatNum:卫星数量;
卫星s携带的遥感器类型以及能提供的最小分辨率。
MCs:卫星s的最大固存容量;
MEs:卫星s最大电量;
MSs:卫星s最大侧摆角度;
cs,t:任务t对卫星s消耗的固存;
es,t:任务t对卫星s消耗的能量;
sws,t:卫星s对任务t的侧摆;
(b)决策变量:
xs,t:任务t分配给卫星s,则xs,t=1,否则xs,t=0;
(c)优化目标:
优化目标主要有三个,如式(2-1)-(2-3)所示,(2-1)式表示完成任务的优先级总和最高,体现了用户需求的满足程度,(2-2)式和(2-3)式体现资源负载的均衡性,用方差来表示均衡性,(2-2)描述的是卫星容量消耗的方差,(2-3)式描述的是卫星能量消耗的方差,负载均衡性体现在最小化这两个方差上,
(d)问题约束:
其中约束(2-4)表示卫星能提供的最小分辨率应该小于所安排的任务需要的分辨率;约束(2-5)表示卫星对所安排的任务的侧摆要在卫星最大侧摆范围内;这两个约束属于固定约束,由卫星的物理能力限制,约束违反情况不随方案的改变而变化,约束(2-6)、(2-7)分别表示任务对所分配的卫星的容量和能量消耗情况应在卫星的最大能力范围内,这两个约束的违反情况则根据具体分配方案的不同而不同,约束(2-8)表示每个任务最多只能分配给一颗卫星,约束(2-9)是01约束;
B)构建规则库:
(e)蚂蚁位置初始化:
蚂蚁位置的初始化包括行的选择和列的选择,其中选择规则又可分为随机选择和规则式的选择。因此在初始化蚂蚁位置算子的设计上可分为以下四类:
(Ⅰ)根据任务优先级进行轮盘赌,优先选择优先级较高的任务,卫星随机选择;
(Ⅱ)根据卫星可以观测的任务数进行轮盘赌,优先选择能力受限的卫星,任务随机选择;
(Ⅲ)任务,卫星均随机选择;
(Ⅳ)综合Ⅰ、Ⅱ规则,即任务和卫星均按规则选择;
(f)可行解构造:
可行解构造主要分为可行域构造和选择目标规则。其中可行域构造有问题的约束决定,选择目标规则的重点是启发因子的设计,具体设计如下:
对于能量和容量均过载的情况,资源的合理分配使得资源最大程度的发挥作用对于最终观测任务的观测情况起着重要的作用,因此,启发因子主要考虑卫星容量和能量情况,如η1所示,
对于能量过载的情况,由于任务无法全部安排,因此优先级成为一个主要的影响因素,考虑到容量大小也是直接影响卫星容纳情况的重要因素,因此启发因子的设计还应考虑任务对卫星的容量占据情况,如η2所示,同理,对于能量过载问题,启发因子主要考虑优先级和能量占据情况,如η3所示。
对于能量和容量均不过载的情况,应该综合考虑优先级,占据容量大小和占据能量大小,即以优先级,相对容量大小,和相对能量大小为指标,采用基于绝对理想点的TOPSIS评分法进行评分,将得分作为启发因子,
所述基于绝对理想点的TOPSIS评分法如下:
Step1:计算每个指标的绝对正负理想点
Step2:计算每个解的3个指标与正负理想点的距离
Step3:计算得分
其中,决策矩阵为Dn×3,其中n为待评价的解的数量,3列指标分别为优先级总和totalp,容量方差CV,能量方差EV。
为了加速算法的收敛性,根据解的三个指标设计了分别针对优先级,容量均衡性和能量均衡性的局部搜索算子。局部搜索的目标本质上是增加安排任务的优先级之和,提高资源使用的均衡性。考虑到容量均衡性和能量均衡性都是指资源的使用均衡性,与之相关的局部搜索策略是类似的,因此,本实施例中以容量消耗为例来说明对于提高资源使用均衡性的设计方法。设计的局部搜索设计策略归结起来可分为2类,一类是主要考虑任务优先级的,即按列置换的邻域搜索;另一类是考虑资源均衡性的,即按矩阵置换的邻域搜索。局部搜索算子的触发条件是当解连续几代没有得到改进时,可以根据当前获得全局最优解的三个指标在历史最优解中的排序情况进行选择局部搜索策略。两种局部搜索方法的具体设计策略如下:
符号定义:RCs为卫星s剩余的容量,AvgC为平均每颗星的剩余容量,VarC为每颗星剩余容量的方差,δs表示调整后的卫星s剩余容量的增量,cs,t表示任务t对卫星s的容量消耗量,n为卫星的数量。
(1)按列置换的邻域搜索
A、邻域结构特征:如图8所示,其中ti为未被安排的任务,tj为已分配给卫星s的任务,且
B、按列置换的操作:交换ti和tj。
C、选择偏好:对于卫星和任务的选择,应该偏好于选择剩余容量与卫星平均剩余容量的差与变换后卫星剩余容量的增量之比,即尽量小的卫星和相应的任务进行交换的两个任务实施变换。
证明:易知
交换任务ti和tj后的剩余容量均值为:
方差为如式(2-14)所示。
由式(2-14)可得为了使变换后卫星容量的方差增加尽量小,甚至达到减小方差的目的,(RCl-AvgC)δl<0,且|δl|应尽量小,|RCl-AvgC|应尽量大。即D、置换效果预计:变换后会增加优先级总和,但对方差有影响。
(2)矩阵置换的邻域搜索
A、邻域结构:如图9所示,其中l表示剩余容量(能量)比较大的卫星,m表示剩余容量(能量)比较小的卫星。即RCm<RCl,且
B、矩阵置换的操作:交换主对角和副对角的元素
C、选择偏好:对于卫星的选择,若按剩余容量进行排序,则偏好于选择序列两端的卫星;对于任务的选择,偏好于选择所选卫星下容量消耗情况相近的两个任务,即卫星s下|δs|尽量小的任务。
证明:变换后的剩余容量均值为:
方差如式(2-15)所示。
由式(2-15)可得为了使变换后卫星容量的方差增加尽量小,甚至达到减小方差的目的,RCm-AvgC<0,RCl-AvgC>0且|RCl-AvgC|和|RCm-AvgC|应尽量大,应尽量小。
D、置换效果预计:该置换后不改变分配方案中优先级总和,会影响方差。
(3)基于解迭代特征的局部搜索算子推荐策略
在迭代过程中,可根据解的三个指标距离历史迭代中相应的最优值的距离来确定不同算子的推荐因子
其中表示指标wl的历史最好值,表示指标wl的历史最差值。每个局部搜索算子wl以的概率被选择加入到当代的算法框架中。
对蚂蚁位置初始化和可行解构造这两个算子分别设计了四种策略,两个算子不同策略的组合共16种情况。对上述生成的16个算例分别进行16种规则组合下的实验。注意到蚁群算法的随机性,对于每个规则重复计算5次,取5次计算的均值得到结果如图10-图13所示。其中每个图分别代表一种类型的四种规模的算例在16种规则下的平均实验结果。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括哪些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。以上所述仅是本发明的优选实施方式,应当指出,由于文字表达的有限性,而客观上存在无限的具体结构,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进、润饰或变化,也可以将上述技术特征以适当的方式进行组合;这些改进润饰、变化或组合,或未经改进将发明的构思和技术方案直接应用于其它场合的,均应视为本发明的保护范围。