一种二维姿态机动卫星任务规划技术研究的方法及装置与流程

文档序号:15145616发布日期:2018-08-10 20:24阅读:253来源:国知局

本发明涉及卫星任务规划领域,尤其涉及一种二维姿态机动卫星任务规划技术研究的方法与装置。



背景技术:

伴随着航天遥感卫星技术的快速发展,卫星传感器分辨率的提高,卫星应用范围越来越广,对空间信息需求的用户也越来越多。敏捷卫星能够以俯仰、滚动以及偏航灵活的姿态机动调整能力获得更大范围、更加高效的对地观测能力倍受各国青睐,成为研究的重点。

敏捷卫星的工作任务首先要求卫星要具有大角度姿态快速机动的能力,例如遥感卫星对目标区域的快速扫描、沿星下点轨迹的左右侧摆成像、三轴稳定卫星从对日定向到对地捕获等姿态机动控制过程。由于具有敏捷姿态机动能力,这些卫星不仅能够沿轨道前进方向进行前视和后视成像,一次过境即可对星下点轨迹上的区域目标进行多方位扫描,进一步经过数据处理就可得到无明显时间差的立体图像;而且同时还能够以一定角度进行左右侧视或侧摆成像,从而获得所需的非星下点目标数据,这就大大提高了工作效率,相当于延长了卫星工作寿命。

随着敏捷卫星数量的增加、用户数目和用户类型的不断增多、用户任务需求量的快速增大,敏捷卫星任务规划问题需要进行更多的研究。对敏捷卫星进行任务规划是在有限的规定时间内对任务进行合理分配,任务规划算法是敏捷卫星任务规划的核心内容,也是很多学者的研究重点,进一步研究敏捷卫星任务规划算法依然是十分必要的。



技术实现要素:

针对上述存在的技术问题,本发明对二维姿态机动卫星观测任务进行智能规划。针对具有二维姿态机动能力(俯仰、侧摆)的卫星,综合考虑各种约束、目标的优先级别、接收资源、任务观测要求、用户特定要求等因素,利用任务规划方法,为在轨运行的卫星制定合理的载荷调度方案,形成相应的对策模式,给出最佳规划方案;并基于不同的算法实现一个二维姿态机动卫星任务规划软件,以可视化的方式对这些算法进行分析和比较。

第一方面,本发明为解决上述技术问题所采用的一种技术方案为:一种二维姿态机动卫星任务规划技术研究的方法,包括如下步骤:

步骤s1:构建卫星任务规划相关的数据库;

步骤s2:读取所述数据库中的数据,并对所述数据进行预处理;

步骤s3:对所述数据库中的数据及卫星关系数据进行抽象,获取逻辑资源数据;

步骤s4:定义约束变量;

步骤s5:基于所述约束变量和任务调度模型的假设,建立任务调度模型;

步骤s6:在所述任务调度模型中应用规划算法,执行所述规划算法的迭代过程,对所述逻辑资源数据进行约束处理;

步骤s7:当执行所述迭代过程满足所述规划算法的终止准则时,获取满足所述规划算法的终止准则对应的最优解,把解码所述最优解得到的规划方案作为二维姿态机动卫星任务规划的最优方案。

第二方面,本发明为解决上述技术问题所采用的一种技术方案为:一种二维姿态机动卫星任务规划技术研究的装置,包括数据库模块、任务规划模块、算法比较分析模块和约束检验模块,

所述数据库模块中存储着任务规划所需的数据,为任务规划提供数据支撑;

所述任务规划模块利用规划算法进行任务规划,具体包括:读取所述数据库模块中的数据,并对所述数据进行预处理;对所述数据库模块中的数据及卫星关系数据进行抽象,获取逻辑资源数据;定义约束变量;基于所述约束变量和任务调度模型的假设,建立任务调度模型;在所述任务调度模型中应用规划算法,执行所述规划算法的迭代过程,对所述逻辑资源数据进行约束处理;当执行迭代过程满足所述规划算法的终止准则时,获取满足所述规划算法的终止准则对应的最优解,把解码所述最优解得到的规划方案作为二维姿态机动卫星任务规划的最优方案;

所述算法比较分析模块用于比较所述规划算法的性能,对不同的规划算法分别规划完成后所得的规划方案,从运算时间、收敛变化情况以及综合评价值三方面对各个规划算法的性能进行比较;

所述约束检验模块用于对所述规划方案进行检验,对所述规划方案进行约束变量的检验。

本发明提供的技术方案带来的有益效果是:(1)采用四种不同的规划算法进行任务规划,为在轨运行的卫星制定合理的载荷调度方案,给出最佳的规划方案;(2)从运算时间、收敛变化情况以及综合评价值三方面对不同的规划算法的性能进行比较,得出评价结论;(3)任务规划完成后,对规划结果进行约束检验,有利于得到更优的规划方案。

附图说明

图1是本发明的逻辑架构设计;

图2是本发明二维姿态机动卫星任务规划技术研究的方法流程图;

图3a是本发明中任务、载荷与卫星之间的关系;

图3b是本发明中卫星、地面及其天线之间的关系;

图4是本发明中卫星实际观测任务与可见时间窗口关系;

图5是本发明的算法优化流程;

图6是本发明的算法优化流程;

图7是本发明的约束处理流程;

图8是本发明的任务条带覆盖情况;

图9是本发明的条带插入示例图;

图10是本发明的线段树示意图;

图11是本发明的选择策略;

图12是本发明中基于时间轴贪婪算法处理示意图;

图13是本发明中基于时间轴贪婪算法处理流程示意图;

图14是本发明中基于成像质量选取策略处理示意图;

图15是本发明中成像片段和观测元任务位置关系示意图;

图16是本发明中成像片段和观测元任务位置关系示意图;

图17是本发明中成像片段和观测元任务位置关系示意图;

图18是本发明中成像片段和观测元任务位置关系示意图;

图19是本发明中成像片段和观测元任务位置关系示意图;

图20是本发明的数传模式约束消解图;

图21是本发明中单圈次工作时间示意图;

图22是本发明中约束检验处理流程;

图23是本发明中主从式模型的并行演化计算架构图;

图24是本发明中孤岛模型的并行演化计算架构图;

图25是本发明中二维姿态机动卫星任务规划软件;

图26是本发明中数据库配置示意图;

图27是本发明中批号选择示意图;

图28是本发明中按时间查看批号数据示意图;

图29是本发明中算法参数设置示意图;

图30是本发明中按预案时间甘特图显示预案信息示意图;

图31是本发明中稳定性分析选择图;

图32是本发明中稳定性分析结果图;

图33是本发明装置的组成示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,进一步方便本领域普通技术人员更好地理解本发明的实质,下面将结合附图对本发明实施方式作进一步地描述。

如图1所示,本发明的总体方案可以从数据层、模型层、算法层、应用层四个层次进行实施。

数据层:提供二维姿态机动卫星任务规划所必需的物理数据。卫星任务规划需要大量的数据输入输出,为提高运算效率,需提供具有一定独立性的数据管理方法。为此构建卫星任务规划相关的数据库,其中以目标特性库、载荷特性库、卫星特性库为主体,此外也包括一些辅助性的数据。模型层:实现二维姿态机动卫星任务规划所需的建模过程。首先完成物理数据访问模型的构建,提供对下层物理数据的基本操作运算,也即访问数据库以获取数据;其次完成逻辑资源抽象模型,对资源库中各种物理数据信息及其关系数据进行抽象,统一描述为逻辑资源数据;最后建立面对逻辑资源的卫星任务规划模型,该模型也是演化计算所直接作用的模型。算法层:实现针对二维姿态机动卫星任务规划的智能求解方法。通过模型层提供的规划模型,将任务规划转化为适用于任务规划算法求解的优化问题,利用4种优化算法进行求解,包括差分演化算法、禁忌搜索算法、模拟退火算法、粒子群算法;同时在优化算法中嵌套贪心算法等算法来求解观测任务之间的指令模板冲突问题。内容主要包括:基础算法的选取、解的编码方式、进化算子的设计等。此外,在算法层还提供并行计算模式,以提高算法规划的效能。应用层:实现在解决实际任务规划问题时的应用性计算模式。软件以人机交互的方式实现一个示范性软件,用于验证二维姿态机动卫星任务规划算法的正确性,并对其各种算法的规划结果进行性能评价。

如图2所示,本发明提供一种二维姿态机动卫星任务规划技术研究的方法,具体包括如下步骤:

步骤s1:构建卫星任务规划相关的数据库;

步骤s2:读取所述数据库中的数据,并对所述数据进行预处理;

步骤s3:对所述数据库中的数据及卫星关系数据进行抽象,获取逻辑资源数据;

步骤s4:定义约束变量;

步骤s5:基于所述约束变量和任务调度模型的假设,建立任务调度模型;

步骤s6:在所述任务调度模型中应用规划算法,执行所述规划算法的迭代过程,对所述逻辑资源数据进行约束处理;

步骤s7:当执行所述迭代过程满足所述规划算法的终止准则时,获取满足所述规划算法的终止准则对应的最优解,把解码所述最优解得到的规划方案作为二维姿态机动卫星任务规划的最优方案。

本发明的方法所需的数据以数据库的形式存放,数据库中既包含描述卫星、载荷、目标的特性数据,也包含任务规划所需的逻辑数据,这些数据是进行任务规划的基本数据支撑。在步骤s1中,构建卫星任务规划相关的数据库,本发明将数据库中的资源数据划分为两类:基础资源数据和扩展资源数据。基础资源数据包含基本的卫星数据、载荷数据和目标特性数据;扩展资源数据则包括任务规划级的各种元数据和预案、方案信息、能源信息。

基础数据表主要用于存放基础资源数据,包括但不限于:观测元任务信息表、接收元任务信息表、地影区信息表、元任务俯仰角表、用户需求管理_用户观测需求表。这些数据用于为卫星对地观测任务规划算法的可行性、正确性验证提供数据支撑。

观测元任务信息表,存放任务规划中的描述观测任务的基本数据单位——观测元任务基本信息,包括观测元任务编号、任务处理批号、观测需求编号、卫星代号、优先级、区域类型、中心经度、中心纬度、左上角经度、左上角纬度、右上角经度、右上角纬度、左下角经度、左下角纬度、右下角经度、右下角纬度、轨道圈号、访问开始时间、访问结束时间、中心点访问时间、星下点侧视角、指定观测次数(多方位拍摄次数)、强制要求所指定的观测次数、指定观测俯仰角(立体成像)等字段。接收元任务信息表,存放任务规划中的描述接收任务的基本数据单位——接收元任务的基本信息包括接收元任务编号、任务处理批号、卫星代号、地面站代号、轨道圈号、进站时间、接收开始时间、接收结束时间、出站时间、入库时间等字段。地影区信息表,用于存放地影区的基本信息,包括地影区编号、任务处理批号、卫星代号、轨道圈号、地影开始时间、地影结束时间等字段。元任务俯仰角表,用于存放元任务每个时刻俯仰角信息包括元任务俯仰角编号、观测元任务编号、观测点时间、俯仰角、侧视角、太阳高度角、卫星代号、任务处理批号等字段。用户需求管理_用户观测需求表,用于存放对应需求编号区域的坐标信息包括需求编号、区域类型、左上角经度、左上角纬度、右上角经度、右上角纬度、左下角经度、左下角纬度、右下角经度、右下角纬度、中心点经度、中心点纬度等字段。

扩展数据表主要用于存放任务规划中所需的包含各种约束信息的复杂工程性数据。这些数据用于为二维姿态机动卫星对地观测任务规划算法的应用性、有效性、其面对复杂约束的性能验证提供数据支撑。

任务处理配置信息表,用于得到本次规划时段等信息包括任务处理批号、处理开始时间、处理结束时间、参与卫星代号、参与地面站代号、入库时间等字段。任务规划优化参数表,用于优化目标的设计,表示各个指标在综合评价值计算时所占的权重包括完成任务数、优先级、观测时长等字段。任务规划预案信息表,用于存放任务规划预案的基本信息,描述任务规划的结果包括方案编号、方案评价值、任务完成数量、任务完成率、方案描述等字段。充电任务规划预案表,表示某个方案编号相应的充电计划包括充电任务编号、方案编号、充电开始时间、充电结束时间、卫星代号、入库时间等字段。观测任务规划预案信息表,存放算法完成后任务规划的结果信息,即观测任务预案配置信息包括子项序号(惟一标识:主键)、方案编号、卫星代号、轨道圈号、数传模式、观测开始时间、观测结束时间、观测元任务编号、侧视角、入库时间、需求编号、观测元任务子编号、开始时刻俯仰角、结束时刻俯仰角等字段。接收任务规划预案信息表,存放算法完成后任务规划的结果信息,即接收任务预案配置信息包括子项序号、方案编号、观测元任务编号、接收资源代号、卫星代号、轨道圈号、接收开始时间、接收结束时间、数传模式、观测元任务子编号、入库时间等字段。任务规划配置表,用于通过任务规划批号得到某个方案的规划时段等信息包括任务规划批号、任务规划起始时间、任务规划结束时间、参与卫星代号、参与地面站接收资源代号、状态等字段。观测任务规划方案表,用于得到相应任务规划批号相应的观测方案信息包括子项序号、任务规划批号、卫星代号、轨道圈号、数传模式、观测开始时间、观测结束时间、观测元任务编号、侧视角、入库时间、需求编号、左上角经度、左上角纬度、右上角经度、右上角纬度、左下角经度、左下角纬度、右下角经度、右下角纬度、开始时刻俯仰角、结束时刻俯仰角等字段。接收任务规划方案表,用于得到相应任务规划批号相应的接收方案信息包括子项序号、任务规划批号、观测元任务编号,多个时以半角逗号分隔、地面站代号、卫星代号、轨道圈号、接收开始时间、接收结束时间、数传模式、入库时间等字段。充电任务规划方案表,通过方案编号可以知道相应的充电计划包括充电任务编号、方案编号、充电开始时间、充电结束时间、卫星代号、入库时间等字段。初始能源表,可以得到卫星初始能源信息包括处理批号、初始能源等字段。结束能源表,可以得到某个方案剩余能源信息包括方案编号、剩余能源等字段。

在步骤s2中,读取所述数据库中的数据,并对所述数据进行预处理。例如获取到了原始的点目标任务和原始的区域目标任务,为了更多的观测到点目标和区域目标,可以合并多个原始的点目标任务为一个,也可以切割一个原始的区域目标任务为多个,有些数据也可以直接过滤掉。

本发明的规划对象是逻辑资源数据,即观测元任务集和接收元任务集——元任务,逻辑资源数据的实质是一系列具有特定时间窗口的观测能力或接收能力的抽象,其形成过程实际是由任务列表到资源能力表的数据查询和转换,最终形成逻辑资源列表。在步骤s3中,对所述数据库中的数据及卫星关系数据进行抽象,获取逻辑资源数据。所述卫星关系数据是指卫星的基本属性,例如载荷、相机、地面站信息等。

对于观测任务的逻辑资源,通常涉及的要素有:观测任务、载荷类型要求及卫星时间窗口。假设待成像的任务集为task={task1,task2,…taskn},卫星个数为k,载荷个数为m,对每个成像任务,如果具有可用资源和可见时间窗口(可见时间窗口一般不止一个),调度预处理后,可以建立如图3a的映射关系(其中m≥k):在图3a中,如果任务和时间窗口之间存在路径,则表示这个时间窗口在任务的可选时间窗口集中。将所有的可选时间窗口集定义为观测元任务集。同样的,对于接收任务的逻辑资源,通常涉及的要素包含卫星已观测的任务、地面站天线接收时间窗。假设卫星个数为k,地面站个数为g,天线个数为q,对每个地面站,如果它与卫星之间存在可见的时间窗口,则可以执行数据下传,调度预处理后,可以建立如图3b的映射关系(其中q≥g):在图3b中,如果卫星和地面站天线时间窗口之间存在路径,则表示这个时间窗口在可选接收时间窗口集中。将所有的可选接收时间窗口集定义为接收元任务集。

卫星根据用户提出的观测任务需求对地面目标进行观测,在卫星的视场范围内利用星载遥感观测设备来进行数据采集。对于正常飞行的卫星,由于其具备侧摆和俯仰能力,卫星对观测目标的访问时段比较大,对与地理位置上靠近的观测目标,这样的访问时段会有所重叠或靠得很近,因此,观测任务之间很有可能存在冲突。卫星进行观测时需要消耗资源,无法长时间持续观测,在单圈次内有一个最大观测时长约束。对地面目标进行观测时,如果不是采用实时下传模式,则需要将观测所得的图像信息暂时存储于星载的大容量存储器上,然后通过一定的途径下传至地面站。由于地面站天线接收能力的限制,存在一个单次最大接收时长约束。数据下传跟数据采集一样,需要在一定的接收时间窗口才能进行,但这样的接收时间窗口资源是有限的,当观测任务成像生成的数据比较多又不能及时下传时,会导致星载存储容量被完全占用,后面的观测任务成像数据就无法存储,这就是卫星任务规划存在卫星最大存储能力的约束。此外,卫星受到能源约束限制,当蓄电池电量不足时,会影响卫星任务执行,只有当卫星处在阳照区时才能进行充电。为了保证资源的最大化利用,必须合理地安排充电方案。面对卫星如此众多的约束条件,如何进行规划以及约束处理,并使得效益最优是本发明研究的重点内容之一。

卫星任务规划的建模与优化往往涉及到诸多的约束条件,且大部分约束条件十分复杂,往往涉及到多个学科领域的专业知识,要想完全考虑所有约束条件往往十分困难,需要结合具体的卫星特点进行定制。但是,大多数约束条件具有普遍性,卫星一般都会具有这些固有约束,对它们的处理具有通用性。在步骤s4中定义的约束变量,只需要考虑与所研究问题直接相关的约束条件,主要包括数传固存约束、数传模式、指令模板、工作时间(分为观测、接收两个部分)、能源约束。对相关约束与冲突定义如表1所示。

表1约束与冲突表

下面对其中几个主要的约束变量进行具体介绍:

(1)数传固存约束:卫星使用固存来存储数据,受到最大可存储容量限制。(2)数传模式:数传模式有很多种,本发明的数据下传模式只考虑实传、记录以及回放模式。实传模式是指在地面站可视范围内,卫星处于正常飞行姿态,或者侧摆飞行姿态,或者俯仰飞行姿态,相机成像,同时将接收到的图像、辅助数据按规定格式要求处理后实时发送至地面站。记录模式是指在地面站可视范围外,卫星处于正常飞行姿态,或者侧摆飞行状态,或者俯仰飞行姿态,相机成像,数传将接收到的数据处理后送至固态记录,以文件的形式存储,文件的大小为观测时长与上传码率的乘积,再择机回放。记录模式是最灵活最常用模式,由于先将数据存储在固存中,然后执行下传,所以观测的时间不要求在接收元任务的时间窗口内。回放模式是指在地面站可视范围内(阳照或阴影区),卫星处于正常飞行姿态,相机和压缩编码器不工作,通过数传信道将固存存储的数据回放至地面站。一个文件只允许在某个地面站回放,一次回放可以回放多个文件。(3)指令模板冲突:卫星的一次观测过程或者数传过程,都是在一系列的卫星指令操控下执行的。指令模板即为卫星执行一次观测或者数传过程中的指令操作序列。每个卫星任务执行,都对应有卫星指令模板。指令模板冲突体现在上一个任务的指令模板还未执行结束,下一个任务的指令模板却已开始,即指令模板时间上产生冲突。本发明的卫星比较灵活,卫星相机从一个角度状态变化到另一个角度状态的过程需要一定的模板时间间隔要求,为了使得前后两个成像任务都能够执行,前一个成像的结束时刻和后一个成像的开始时刻的时间差必须大于或等于它们的模板时间间隔要求。(4)工作时间:由于卫星工作能力和能量的限制,卫星在单圈次内有一个最大观测时长约束,单圈次中所有观测任务的时长之和不能超出这个限制。此外,对于地面站接收也有限制,在单圈次中有一个最大接收时长约束,单圈次中所有接收任务的时长之和同样不能超出这个限制。(5)能源约束:卫星有一个初始能源,是一个定值,卫星在运行时会有姿态机动耗能、载荷动作耗能。卫星任务姿态机动耗能可以只考虑与侧摆角有关,侧摆角越大,耗能越大。载荷动作耗能与载荷观测时间或者数传时间正相关,可以假设为线性关系。当卫星蓄电池电量不足时,会影响卫星任务执行,特别是卫星姿态机动时。所以,当卫星电量不足时,需要进行充电操作。

本发明考虑的约束项中有少数约束是可以提前处理的,对于最大侧摆角约束,可以在任务规划之前就进行预处理,将不满足侧摆角约束的观测元任务直接删除。观测任务规划中主要考虑的是任务之间的冲突。得到无任务冲突和约束的观测元任务集合,提供给数传规划。对于冲突的处理是作为规划算法的一个优化目标,在规划过程中进行处理。

在数传规划设计中,要考虑的约束较多,包括有效载荷工作时间约束、指令模板冲突、数传固存约束、数传方式约束、接收元任务窗口冲突。这些约束之间都存在一定的联系,比如数传的方式,决定了有效载荷工作时间约束和指令模板冲突。

本发明的观测任务类型为点目标和区域目标。对于点目标来说,日规划任务中同一点目标只可能有一个访问时段。点目标观测需要持续一段很短的时间,可以假定为一个固定值(5s或者10s)。这段观测时间必须在观测可见时间窗口内,如图4所示,为避免冲突,实际观测片段可以在观测可见时间窗口内自由滑动。这里需要说明的是,为了绘图方便,这里对于每个观测可见时间窗口只选择了一个成像片段,在实际的需求中可能需要选择多个成像片段,每个片段之间都要求有足够的间隔时间。一个观测可见时间窗口对应着一个观测元任务,需求中的每个点目标对应着一个观测元任务,这些观测元任务有着固定的时间顺序,规划的目标是对于每个观测元任务选择合适的实际观测片段。

对于区域目标来说,和点目标的处理方式有所不同,只需要确定区域目标的元任务是否安排,无需再选择观测时间片段,区域目标的观测元任务一旦确定安排,则在整个元任务的时间窗口内都进行成像。不同的是,区域目标的安排需要考虑对有效覆盖的影响。有效覆盖是指观测条带在安排后对相应需求区域的新增覆盖面积,由于需求区域可能在之前的观测中已经覆盖了一部分面积,重复覆盖已经覆盖的地方可能效果不佳。因此,规划过程中需要考虑覆盖情况,保证有效覆盖面积最大化。

在步骤s5中,建立任务调度模型的假设及约束变量的定义:

1)调度开始时间为ts,调度截至时间为te;

2)假设有n个要完成的任务,记为a={a1,a2,…an},每个任务的优先级为p={p1,p2,…pn},成像角度为ia={ia1,ia2,…ian};

3)定义观测元任务决策变量xj,如果元任务能够完成,则xj=1,反之,xj=0;

4)第j个观测元任务的开始时间变量记为sj,结束时间变量为ej,第j个元任务的实际开始时间为saj,实际结束时间为eaj;

5)指令模板间隔计算a代表卫星的姿态调整速度,dmin表示最小切换时间,卫星的每个时刻都有一个姿态,姿态使用侧摆角和俯仰角εi-1综合来表示。假设前一个任务时的角度状态为做下一个任务的角度状态为则指向角为:卫星的运行速度为v,俯仰角由公式计算得到。

6)假设现共有m个接收可视时间窗口,记为时间窗口wi的开始时间和结束时间分别为si和ei。

7)定义一个任务数传模式变量pj,如果任务做记录模式,则pj=1,如果任务做实传模式,则pj=0;

8)定义接收任务决策变量ki,如果接收元任务能够执行接收,则ki=1,反之,ki=0;

9)第i个接收任务的开始时间变量记为swi、,结束时间变量为ewi;

10)单圈次最大观测时长为t0,单圈次最大接收时长为tr;

11)卫星最大固存为m,单位时间的观测数据占用固存为mj,假设在第j个记录文件放入固存之前固存占用量为mj;

12)假设卫星电池初始电量为eg。

基于模型的假设,建立如下的任务调度模型。

规划目标:

其中iam为任务成像的允许最大角度,是一个定值。

max:m=α*f1(a)+β*f2(a)+γ*f3(a),xj={0,1}(4)

其中α、β、γ为影响因子,并且α+β+γ=1。

考虑约束:

ts≤sj≤te,ts≤ej≤te,1≤j≤n(5)

对于满足saj≥sj且eaj≤ej(6)

对于如果pj=0,则使得saj≥si,1≤j≤n,1≤i≤m(7)

对于如果pj=0,则使得eaj≤ei,1≤j≤n,1≤i≤m(8)

其中:jh、jb分别表示观测元任务序列中前后两个相邻的任务序号。

mj+xj(ej-sj)mj≤m,1≤j≤n,mj<m(10)

其中:s、e表示单圈次中第一个和最后一个任务的序号。

其中:s'、e’表示单圈次中第一个和最后一个任务的序号。

公式(1)表示完成任务的优先级之和最大;

公式(2)表示完成元任务数最多,即完成目标数量最多;

公式(3)表示完成任务的成像角度之和最小;

公式(4)表示结合(1)、(2)和(3),对三个目标设置不同的权重得到新的规划目标;

公式(5)表示所有任务的开始和结束时间必须在规定的时间段[ts,te]之内;

公式(6)表示所有的观测元任务的实际观测片段必须在观测可见时间窗口内;

公式(7)表示当aj做实传模式时如果任务在时间窗口wi内执行,那么任务的开始时间必须在相应的时间窗口的开始时间之后;

公式(8)表示当aj做实传模式时任务的结束时间必须在相应的时间窗口的结束时间之前。公式(5)、(6)限定做实传的任务必须在对应的时间窗口之内完成;

公式(9)表示后一个任务的开始时刻和前一个任务的结束时刻之间的间隔时间必须不小于它们之间角度姿态调整需要的时间;

公式(10)表示固存占用量加上当前记录文件固存占用量必须不超过最大固存;

公式(11)表示单圈次中观测元任务总的时长必须不超过单圈次最大观测时长;

公式(12)表示单圈次中接收任务总的时长必须不超过单圈次最大接收时长。

在步骤s6中,本发明利用的规划算法主要有:差分演化算法、禁忌搜索算法、模拟退火算法和粒子群算法,具体如下:

1.差分演化算法

本发明的演化算法选用差分进化算法:差分进化算法(differentialevolution,de)是一种基于群体智能理论的优化算法,它通过群体内个体间的合作与竞争产生的群体智能指导优化搜索。

基于演化算法的任务规划算法优化流程图如图5所示。演化算法为卫星任务规划算法提供算法上的依据,编码设计确定如何将元任务映射为染色体的形式,以及如何从染色体解析出对应的任务规划方案;算子设计确定进化计算方式,主要为染色体的交叉、变异、选择等;评价设计确定算法演化过程中面向具体应用的评价方法,各评价指标权重值可以修改,使得算法具备良好的智能交互性。假设有300个观测点目标和30个接收元任务,则观测部分有300个基因位,接收部分有30个基因位,拼接就构成了一条330个基因位的染色体。

(1)编码设计

在基于演化计算的卫星任务规划算法中,染色体是反映具体规划方案的实体,也是演化算法进化操作的直接承载者,是算法的核心,因此应进行合理的染色体编码设计。演化算法中,编码实现了决策变量空间到个体空间的映射。通过将问题的解(方案)用一种码表示,把问题状态空间与编码空间相对应,优化搜索过程不是直接作用在问题参数本身,而是在一定编码机制对应的编码空间上进行,编码选择是影响算法性能与效率的重要因素。染色体结构由观测点目标的编码和接收元任务的编码拼接得到,根据任务规划需求,对观测点目标序列和接收元任务序列,均采用整数编码的方式。

对于观测部分,本发明中卫星与一个点目标可能只可能存在一次可见时间窗口,所以对于一个观测元任务需要确定这个观测元任务安排或者不安排。因此,算法设计结合这一特点,采用整数编码的方式进行编码。一个点目标的基因位取值范围取决于任务是否安排。假设观测部分一共形成了n个观测元任务,那么观测部分这n个观测元任务对应的基因位取值都只能是0到1两种,0代表对应的该点目标没有被选中,1代表该点目标会被安排,进行观测成像。

对于接收部分,每一个基因位的取值只能是0、1或2,0代表对应的接收元任务没有被选中,1代表对应的接收元任务被选中并且做回放模式,2代表对应的接收元任务被选中且做实传模式。所有观测点目标和接收元任务的数量之和即为染色体的长度。

(2)演化算子设计

演化算法的算子设计主要分为变异算子、选择操作、边界处理三个方面。

1)变异算子

de算法中,变异算子的设计和具体的求解问题紧密相关,要求其既不能过多地破坏性能表现优良的个体编码,又能够有效的产生新的个体。此外,需要将变异算子和染色体编码的设计进行综合考虑,保证染色体的合法性与多样性。针对上节中的编码设计,采用整数编码,则de算法的染色体的变异操作为:对于每个基因位,随机选取另外三个不同的基因位置,采用演化策略公式进行计算。例如,采用以下公式(13)计算:

2)选择操作

产生新的子个体以后需要判断它是否较之前的个体更优,如公式(14)所示,如果更优,则用它替换掉之前的个体,使得较优个体进入到下一代种群中,通过这种处理来使得种群中的个体向最优目标接近。

3)越界处理

上述过程中de算法产生的子个体,可能会导致部分自变量超过其相应的边界约束(观测元任务序列对应的基因位取值只能0或1;接收元任务序列对应的基因位取值只能0-8),本发明对于这种情况采用了一定的修复方法对其进行修复。采用的如下规则进行修复:

其中ndim为染色体长度,m_min和m_max数组分别保存的是每个基因位取值的上下界,solution数组保存的经过了变异和选择之后产生的染色体的基因位取值。

改进后的de算法对种群中的每个个体进行排序,评价值较高的个体将获得更大的差分变异概率,其中个体权重的设置使用二次方模型(quadraticmodel),如公式(15)所示:

weights[i]=pow((double)(i+0)/s_size,2.0)(15)

其中,i是按照个体适应值从小到大的顺序排列,适应值越大的个体被选中的概率越大。采用这种基于排序的变异方式,将种群个体进行适应度排序后,进行迭代更新,能够维持局部搜索和全局搜索的平衡。

2.禁忌搜索算法

禁忌搜索算法(tabusearch或taboosearch,简称ts算法)是局部邻域搜索算法的推广,是一种全局逐步寻优算法,是人工智能在组合优化算法中的一个成功应用,其特点是采用了禁忌技术。所谓禁忌就是禁止重复前面的工作。局部邻域搜索是基于贪婪思想持续地在当前的邻域中进行搜索,虽然算法通用易实现,且容易理解,但其搜索性能受邻域结构和初始解的影响较大,容易陷入局部最优。为了回避局部邻域搜索易陷入局部最优的主要不足,禁忌搜索算法引入一个禁忌列表(tabulist)记录已经搜索过的局部最优点,在下一次搜索中,利用禁忌列表中的信息搜索候选解,以此挑出局部最优点,最终实现全局优化。

禁忌搜索算法的搜索速度和搜索质量是应用中两个最重要的衡量算法的指标,这些指标会受到算法的很多构成要素的影响,下面依次给出本课题中禁忌搜索算法的几个构成要素的介绍,包括:算法的编码方式、适值函数、初始解、邻域结构、禁忌表和禁忌长度、选择策略、特赦准则和终止准则等。

(1)编码方式

禁忌搜索算法中解的编码方式与模拟退火算法中解的编码方式相同,也是采用整数编码,一个解由观测元任务序列和接收元任务序列拼接组成。观测元任务序列部分的分量的值只能取0或1,0表示对应位置的观测元任务未被选中,1表示该元任务被选中执行观测;接收元任务序列部分的分量的值只能取0、1或2,0表示该接收元任务被删除,1表示该接收元任务被选中用来回放文件,2表示该任务是实传模式对应的接收窗口。

本发明将所有影响卫星观测任务的因素均抽象为具备确定时间窗口的逻辑资源,在进行解的编码设计时,一个解的分量应代表一个具体的逻辑资源,一个解就代表一个确定的逻辑资源序列即任务规划模式,包括观测预案和接收预案。在本发明中,禁忌搜索算法中解的编码方式与演化算法中染色体的编码方式相同,根据任务规划需求,对观测点目标序列和接收元任务序列,均采用整数编码的方式。

对于观测部分,卫星与一个点目标可能只存在一次可见时间窗口,所以对于一个观测元任务,在数据设计部分,已经介绍了对每个点目标需要选择这个观测元任务安排或者不安排。因此,算法设计结合这一特点,采用整数编码的方式进行编码。一个点目标的解分量取值范围取决于任务是否安排。假设观测部分一共形成了n个观测元任务,那么观测部分这n个观测元任务对应的解分量取值都只能是0到1两种,0代表对应的该点目标没有被选中,1代表该点目标会被安排,进行观测成像。

对于接收部分,每一个解分量的取值只能是0、1或2,0代表对应的接收元任务没有被选中,1代表对应的接收元任务被选中并且做回放模式,2代表对应的接收元任务被选中且做实传模式。所有观测点目标和接收元任务的数量之和即为解向量的长度。假设有300个观测点目标和30个接收元任务,则观测部分有300个解分量,接收部分有30个解分量,拼接就构成了一个330个解分量的解向量。

(2)适值函数

适值函数是用来对搜索状态进行评价的,本发明直接将目标函数作为适值函数,即将本发明规划模型节中的公式(1)、公式(2)、公式(3)和公式(4)作为适值函数。

(3)初始解

禁忌搜索算法对初始解的依赖性比较强,所以给定一个较好的初始解,会较快地找到全局最优解。在本发明中,禁忌搜索算法的初始解可以由随机函数产生,即解的观测元任务序列部分的解分量通过随机产生集合{0,1}中的值来确定各分量的值,接收元任务序列部分的解分量通过随机产生集合{0,1,2}中的值来确定各分量的值,最终得到的一个解向量就是ts算法的初始解。初始解也可以用启发式信息来产生,即可以经过多次产生挑选出一个较优的解作为初始解或通过其他的启发式信息产生。

(4)邻域结构

邻域结构在很大程度上影响到禁忌搜索对整个解空间的探索能力和效率。针对本发明特点,考虑单点修改法,即随机选择解中的一个分量,并修改该分量的值,得到一个新的解。如果修改的是观测元任务序列,那么直接将该分量的值取反,即若为0,取反为1,若为1,则取0;如果修改的是接收元任务序列,则从{0,1,2}中随机产生一个异于当前分量的值来替换当前值。如果随机选择的分量表示的是观测元任务,则直接将该分量对应的值取反,即当前解中该分量的值是1,产生的邻域解中该分量的值为0。

(5)禁忌表和禁忌长度

禁忌表模拟了人类记忆的功能,把历史上近期访问过的对象加标记并存储起来,在最近的几次迭代中不允许对已标记的对象再次进行操作,利用这种方式可以有效地避免算法进入循环搜索。禁忌表的大小在很大程度上影响搜索速度和解的质量。在禁忌表的设计中应注意两个因素:一是禁忌对象,二是禁忌长度。

禁忌对象。禁忌对象就是存放在禁忌表中的一些元素,在本发明中,禁忌对象有两个:选择的较优的解及其适应值。

禁忌长度。禁忌长度要根据问题规模和邻域大小来设定。对于本发明,禁忌长度的设计有两种方法:将禁忌长度设定为一个固定的常数;根据邻域大小来确定禁忌长度,可以设为禁忌长度的大小其中n为邻域的个数。

(6)特赦准则

在禁忌搜索算法的迭代过程中,会出现候选解集中的全部候选解都被禁忌,或因为禁止一个移动导致多个高质量的解被禁止访问。在这样的情况下,为了达到全局的最优,会让一些禁忌对象重新可选,这种方法称为特赦,相应的规则称为特赦准则。本发明设计的禁忌搜索过程,采用两种特赦准则:将某个当前处于禁忌状态的解经过解析、约束冲突处理以及解的修正调整后,计算得到其适应值,如果其值优于当前解的适应值,那么可以接受向该禁忌解的移动;如果候选解集中全部候选解都被禁忌,而程序无法继续下去,此时从候选解集中选一个质量最好的解禁。

(7)选择策略

在禁忌搜索的每一步迭代过程中,都需要比较候选解集中全部候选解的质量,并且接受的都是候选解集中满足特赦准则的最佳候选解或是非禁忌的最佳候选解。从所有邻域解中选择候选解时,首先计算所有邻域解的适应值,然后将其按适应值大小排序,选择前适应值最好的k个邻域解作为候选解。k的取值根据邻域大小确定。

(8)终止准则

本发明设计的禁忌搜索过程采用两条准则来判断搜索是否应该终止:判断当前解的邻域是否不包含任何可行的候选解,若是,则停止搜索过程;判断目前迭代次数是否大于最大迭代次数限制,如大于,则终止禁忌搜索过程。这里最大迭代次数限制可根据问题规模来设置。

3.模拟退火算法

模拟退火算法(simulateanneal算法,简称sa算法)以组合优化问题与物理系统退火过程的相似性为基础。用固体退火模拟最优化问题,将内能e模拟为目标函数值f,温度t设计成控制参数t,就得到解最优化问题的模拟退火算法。模拟退火算法包括三函数两准则,即状态产生函数、状态接受函数、温度更新函数、内循环终止准则和外循环终止准则,这些环节的设计将决定模拟退火算法的优化性能。

(1)编码方式

在本发明中,模拟退火算法中解的编码方式与禁忌搜索算法中解的编码方式相同,都是采用整数编码。

假设观测部分一共形成了n个观测元任务,那么观测部分这n个观测元任务对应的解分量取值都只能是0到1两种,0代表对应的该点目标没有被选中,1代表该点目标会被安排,进行观测成像。

对于接收部分,每一个解分量的取值只能是0、1或2,0代表对应的接收元任务没有被选中,1代表对应的接收元任务被选中并且做回放模式,2代表对应的接收元任务被选中且做实传模式。

所有观测点目标和接收元任务的数量之和即为解向量的长度。

(2)邻域结构(状态产生函数)

在本发明中,邻域解的产生有三种方法:两交换法,即随机交换解中两个分量对应的取值,这种方法要对观测元任务和接收元任务分开处理,分别对两部分进行两两交换;逆序法,即将解中两不同随机位置间的分量对应的取值逆序,这种方法同样需要对观测部分和接收部分分别进行逆序操作;单点修改法,即随机选择某个分量,对其进行修改,如果选择的分量表示的是观测元任务,则直接将该分量的值取反,即若为0就取反为1,若为1就取反为0,如果选择的是接收部分的分量,则从{0,1,2}中随机生成一个异于当前分量的值去替换当前值。具体使用哪种方法来产生邻域解,可根据随机数来选择。

(3)状态接收函数

状态接受函数是算法产生突跳能力的关键,能在分布机制指导下避免局部极小。在本发明中,目标函数都是求最大值,所以是否接受新解要根据metropolish准则来确定。

metropolish准则:假设在状态xold时,系统受到某种扰动而使其状态变为xnew。与此相对应,系统的能量也从e(xold)变成e(xnew),系统由状态xold变为状态xnew的接受概率p如公式(16)所示:

(4)温度更新函数

理论上,温度应以很慢的速度下降,如对数的倒数方式,但为了避免过于冗长的搜索过程,较好地折衷兼顾优化质量和时间性能,指数退温函数是最常用的退温策略,即tk+1=λtk,λ为退温速率,一般取值区间为(0.6,1)。在本发明中,λ取经验值0.9。

(5)内循环终止准则

内循环终止准则,也称metropolis抽样准则,用于决定在各温度下产生候选解的数目。常用的抽样稳定准则有:检验目标函数的均值是否稳定;连续若干步的目标值变化较小;按一定的步数抽样。本发明按照一定的抽样步数来判断内循环是否终止。

(6)外循环终止准则

算法的外循环终止准则有很多种,本发明综合使用三种方法:零度法,即当温度下降至小于某小正数ε时,算法停止;循环总数控制法,即总的温度下降次数为一定值k,当温度迭代次数达到k时,算法停止;不改进规则控制法,在某一温度,给定次数内没有改进当前的局部最优解,算法停止。只要满足其中任意一种规则,就停止搜索过程。

采用模拟退火算法,为得到一个好的近似最优解,需要进行反复迭代运算,当问题规模增大时,算法的耗时相当长。因此,本课题针对模拟退火算法解的质量与求解时间长之间的矛盾,将遗传算法与模拟退火算法结合起来,提出了一种改进的遗传模拟退火算法。

改进遗传模拟退火算法的基本思想是:与传统的模拟退火算法总体运行过程相类似,从一组随机产生的初始解(初始种群)开始全局最优解的搜索过程,通过选择、交叉、变异等遗传操作来产生候选解,然后对候选解采用metropolis准则判断是否接受其作为下一代种群中的个体,这个运行过程反复迭代进行,直到满足终止条件。

遗传模拟退火算法将遗传算法和模拟退火算法的优点充分结合起来,大大提高了算法的效率。其求解过程如下:

步骤1:给定种群大小、交叉概率、变异概率、初始温度、退温速率以及迭代次数;

步骤2:随机产生初始种群,并计算每个个体的适应值,保留最优个体;

步骤3:采用轮盘赌方法选择进行交叉的个体;

步骤4:对选择的个体按交叉概率执行交叉操作;

步骤5:对交叉后的个体按变异概率进行变异操作;

步骤6:计算交叉变异后的个体适应值,根据metropolis准则判断是否接受经交叉变异后的新解,产生下一代种群;

步骤7:执行退温操作;

步骤8:判断是否满足终止准则,若不满足,继续执行步骤3-7的操作,若满足,则停止计算,输出最优解。

4.粒子群算法

粒子群优化(particleswarmoptimization,pso)算法是一种基于群体智能的全局随机搜索算法。pso与其他进化算法一样,也是基于“种群”和“进化”的概念,通过个体间的协作与竞争,实现复杂空间最优解的搜索;同时,它是将群体(swarm)中的个体看作是在d维搜索空间中没有质量和体积的粒子(particle),每个粒子以一定的速度在解空间运动,并向自身历史最佳位置pbest和邻域历史最佳位置ibest聚集,实现对候选解的进化。

基于粒子群算法的任务规划算法优化流程图如图6所示。粒子群算法为卫星任务规划算法提供算法上的依据,编码设计确定将元任务映射为粒子的形式,以及从粒子解析出对应的任务规划方案;评价设计确定算法演化过程中面向具体应用的评价方法,各评价指标权重值可以修改。粒子群算法的重要步骤在于更新学习样本和更新粒子,更新学习样本主要是对粒子自身最优历史位置和种群中运行最优的粒子。

(1)编码方式

在本发明中,粒子群算法中解的编码方式与差分演化算法中染色体的编码方式相同,采用整数编码。观测部分每个维度映射一个观测元任务,可以取值为1或0,分别表示任务做或者不做。接收部分每一个解分量的取值可以是0、1或2,分别表示对应的接收元任务不做,接收做回放模式,接收做实传模式。观测元任务和接收元任务的数量之和即为粒子的长度。具体编码设计见本发明差分演化节的编码设计部分。

(2)处理流程

在本发明中,一个粒子可以通过解码、约束处理,最终得到一个规划预案。首先根据元任务数据得到粒子的基本算法参数,然后产生粒子种群,通过粒子解析得到选择安排的任务和拟安排的数传模式,然后根据任务最终完成情况进行粒子修正和粒子评价。在达到算法终止条件之前,需要产生下一代粒子种群,首先是更新学习样本,然后利用学习样本更新粒子,得到下一代粒子。当算法达到终止条件时算法给出最优粒子信息,反馈给调用算法模块,通过解析最优粒子,得到最优规划预案。

根据标准pso算法的性能分析,随着算法迭代运行,粒子变得越来越相似,算法缺少多样性,从而影响算法的全局搜索能力。改进的粒子群算法的基本思想是:根据每条染色体的基因位与最优染色体进行比较,计算出每条染色体与最优染色体的相似度,然后根据相似度计算出每一代种群的聚集度。随着迭代运行,标准pso算法会越来越聚集在一起,因为粒子最终都向最优点粒子靠近。改进的粒子群通过相似度和聚集度,在染色体变异过程中,当种群聚集度大的时候,增加染色体的变异概率,从而使种群的多样性增加,有利于寻找到更优的结果。

改进的粒子群算法不仅优化结果较好,而且运行速度也比较快,设微粒数为n,最大迭代数为tmax,其求解过程如下:

步骤1:初始化:随机产生n个粒子位置及其初始速度;

步骤2:评价每个粒子的适应值;

步骤3:确定迄今为止每个粒子找到的最好位置;

步骤4:确定迄今为止整个群体找到的最好位置;

步骤5:重新计算粒子的速度和位置;

步骤6:计算每个微粒与最优粒子的相似度,并计算粒子群的聚集度,再依概率随机变异粒子位置;

步骤7:若条件没有满足且未达最大迭代tmax,则转向步骤2。

演化算法将点目标的观测任务和接收元任务集进行了结合,拼接两部分形成统一的逻辑规划对象。该逻辑规划对象的前部分是观测元任务集(均按照时间排好序),由于同一个点目标可能存在1个观测元任务,所以每个观测元任务对应一个点目标,对应一个基因位,对每个基因位用数字0、1分别表示任务不做或者不做;后半部分是接收元任务集(均按照开始时间排好序),每一个窗口用数字0、1、2表示任务不做、做回放或者做实传。

卫星任务规划是一个带约束的优化问题,需要考虑诸多约束。在采用演化算法求解卫星任务规划问题时,算法运行过程中产生的逻辑规划对象很有可能是不合法的,必须要对这样的逻辑规划对象进行处理,才能保证规划算法最终得到的解是有效的。对这样的逻辑规划对象进行处理的办法有两种:第一种是直接丢弃,再随机生成一个逻辑规划对象,但生成的逻辑规划对象又有可能是不合法的,这样下去,算法可能会陷入死循环,至少会浪费大量的机器时间;第二种办法是对逻辑规划对象进行修正,采用人工调整的方法使逻辑规划对象合法化。

演化算法在产生逻辑规划对象后均需要对各个约束条件进行处理,调整不满足约束条件的逻辑规划对象,对组合元任务集进行处理,得到新的满足约束的组合元任务集。然后通过编码,生成对应的修正的逻辑规划对象,即规划结果。本发明要考虑卫星的能量约束,所以将卫星充电作为应急任务安排在观测任务中。在算法迭代操作结束后,通过对最终的逻辑规划对象进行解码即可以得到具体的规划方案和充电方案。

在步骤s6中,约束处理流程如图7所示,可以依次按照以下顺序进行约束处理:观测时间冲突约束、数传模式约束、指令模板约束、工作时间约束、文件下传约束、能源约束。下面对约束处理的操作流程进行具体介绍。

组合元任务集由逻辑规划对象解码得到,是按照元任务开始时间排序的组合元任务构成。组合元任务包含观测元任务的下标,以及对应的接收元任务下标(记录模式下保存一个默认值)。逻辑规划对象结构的前部分对应的是观测任务序列,后部分对应的是接收元任务序列。如果任务是“实传”模式的任务,则需要确定“实传”的观测元任务对应的接收元任务,得到该接收元任务在所有接收元任务列表中的下标。组合元任务中保存了做实传模式的观测元任务下标和对应的接收元任务下标。

假设组合元任务集设定为c={c1,c2,c3…cl},l为总的任务个数,k,q均为其中一个任务下标,k∈{1,2,3,...,l},q∈{1,2,3,...,l}。

1.元任务冲突约束

由于卫星具备侧摆和俯仰能力,卫星对观测目标的访问时段比较长,对于地理位置上靠近的观测目标,这样的访问时段会有所重叠或靠得很近,因此存在冲突的可能性较大,主要体现在卫星指令模板冲突上。为了避免卫星任务冲突可以删除其中的任务,或者对两个任务的观测时间进行调整,以保证两个任务之间有足够的时间进行指令切换。本发明采用两种贪心算法及一种演化编码策略进行观测时间冲突处理。本发明采用的贪心策略有两种形式,一种是基于冲突量的贪心策略,另一种是基于时间轴的贪心策略;采用的演化编码策略是基于目标观测次数的演化编码策略。

(1)基于冲突量的贪心策略

对于冲突量,此处定义为某时刻时,任务条带覆盖的数量。当有多个任务比较密集时,不同的任务之间的条带会有重叠的时刻,这些时刻就是冲突量高的时刻,而有些任务比较稀疏的时候,任务之间的条带没有或只有很少的条带重叠。如图8所示,其中带状标记为观测任务的时间条带,t为整体时间轴。对于此处的三个条带,他们在整体时间轴上的范围是有交集的,有交集的地方为冲突量高的地方。

对于冲突量的求解,此处使用线段树来进行求解。线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个结点。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为olog(n)。对于计算冲突量,首先建立线段树。然后对于每一个条带构造节点后,放入线段树中。在插入时会进行判断,若与现有节点有交集则先分割后插入,插入完毕后更新所有节点的信息。最终,所有条带插入后线段树构建完毕。此处以三个条带举例,如图9所示。

对于此条带,构造线段树如图10所示,线段树中每一个节点都带有冲突量信息,即为此线段的冲突量信息。在查找任意区间的时候都可以快速的给出此区间的冲突量为多少。查找方式采用递归,首先判断查找线段[a,b]是否被节点包含,若包含则继续查找左右节点,直到不被包含为止。此时将线段分割后继续查找,直至找到相等区间,然后将节点的冲突量信息向父级相加,最终得出需要查找的线段[a,b]的冲突量。

对于所有任务的冲突量求解后,将进行任务具体位置的放置,此处采用的策略是:首先安排优先级别高的任务,对于每个任务,选择对应任务条带范围内冲突量小的位置。在选择的时候,为了保证尽量多的任务数,会优先安排一段独立时间内的两端冲突量最小的位置。考虑到一个窗口内多个任务的情况时,将任务尽量排在时间靠前的位置。这种选择策略如图11所示。此时就可以选完成任务数比较多的方案。

(2)基于时间轴的贪心策略

在本发明中,处理指令模板冲突时,为了使得完成任务数最大,需要尽可能的避免模板上的冲突。基于时间轴的贪婪算法策略就是针对观测元任务尽量选取靠前的成像片段来减少它对后面任务的影响。基于时间轴贪婪算法处理示意图如图12所示:从图中可以看到,一个长条带代表一个可见时间窗口,长条带上的短片段是选择出来的实际成像片段。假设图中点目标要求的观测次数为2次、2次、1次,单次成像时长为t。对于每个观测元任务,尽可能的在时间早的地方选取成像时间。例如,第一个任务,选择可见时间窗口的开始时间作为第一个成像片段,然后从后面找到一个允许的最早开始时间作为第二个成像片段。然后在选择第二个任务的成像片段时,按照相同的思想搜索出一个允许的最早开始时间安排成像,依次类推。

在选择成像片段的时候需要考虑卫星姿态调整需要的间隔时间,图中t1、t2、t3、t4即为相邻两个成像片段时间必须满足的最小模板间隔切换时间。对于某个元任务,针对它指定的观测次数,在选取成像片段的时候尽可能多的选择使之达到这个次数。如果能够选择出来的片段数量小于任务所指定的任务时,则检测任务是否强制要求安排所指定的观测次数,如果是强制要求的则删除该元任务,如果不是则尽量多的选择片段即可。处理流程示意图如图13所示。

(3)基于成像质量的选取策略

考虑到访问时段的成像质量,本发明又提出了一种优先考虑成像质量的选取策略,这种策略是基于成像质量,即选取的成像片段俯仰角较小。在本发明中,处理指令模板冲突时,为了使得成像质量最好,需要尽可能的使选取的成像片段俯仰角最小。基于成像质量的选取策略就是针对观测元任务尽量选取靠中点时刻的成像片段来提高它的成像质量。基于成像质量的选取策略处理示意图如图14所示:

从图中可以看到,一个长条带代表一个可见窗口,长条带上的短片段是选择出来的实际成像片段。其中可见窗口是按优先级排序,即优先级高的的可见窗口先观测,假设条带1的优先级为8,条带2的优先级为7,条带3的优先级为5。对于每个观测元任务,尽可能的在中点时刻选取成像时间。例如,假设条带一和条带二都已经安排了成像片段,现在需要选取条带三上可安排的成像片段。因为在选择成像片段的时候需要考虑卫星姿态调整需要的间隔时间,所以所做的处理就是在条带3上选取一个时间段,使它的最早开始时间和最晚结束时间都满足相邻两个成像片段时间必须满足的最小模板间隔切换时间要求,即要满足和t1和t2时间间隔,命名为s1,确定了s1的时间范围后,然后就在这个时间范围内选取成像片段,当然这个范围内选取的成像片段也要满足最小模版间隔切换时间,且使它们的开始时间尽量接近中点时刻,即成像质量最好。对于某个元任务,针对它指定的观测次数,在选取成像片段的时候尽可能多的选择使之达到这个次数。如果能够选择出来的片段数量小于任务所指定的任务时,则检测任务是否强制要求安排所指定的观测次数,如果是强制要求的则删除该元任务,如果不是则尽量多的选择片段即可。

当然关于选取的成像片段和未观测的元任务之间的关系,图14只是一种情况,还有其他的五种情况见图15至图19,处理方式和图14大致一样,只是选取的时间范围不一样。

(4)基于目标观测次数的演化编码策略

由于在卫星观测过程中,一个观测时间窗口中可能需要选择多个成像片段,这就需要在指定时间窗口内对目标进行多次观测。观测的次数在元任务的属性中指定,并且保留一个字段标识是否强制要求必须观测所指定的次数。另外卫星对观测目标的访问时段比较长,对于地理位置上靠近的观测目标,访问时段会有所重叠或靠得很近,因此存在冲突的可能性较大。这样确定目标的观测次数较为复杂,因此可以在演化过程的种群初始化中根据是否强制要求观测所指定的次数来随机生成观测次数,减少元任务冲突处理的复杂度。这就需要调整演化算法的染色体编码设计。

染色体结构由观测点目标的编码和接收元任务的编码拼接得到,根据任务规划需求,对观测点目标序列和接收元任务序列,均采用整数编码的方式。这里重点介绍观测部分的编码设计。对于观测部分,本发明中的一个点目标只可能存在一次可见时间窗口,在这个观测时间窗口中卫星可能观测多次。因此,算法设计结合这一特点,采用整数编码的方式进行编码。一个点目标的基因位取值范围取决于点目标的观测次数。假设观测元任务的观测次数为n,同时强制要求必须观测所指定的次数,那么该观测元任务对应的基因位取值只能是0或n两种,0代表对应的该点目标没有被选中,1代表该点目标会被观测n次。如果没有强制要求必须观测所指定的次数,那么该观测元任务对应的基因位取值都只能是0到n共n+1种。假设有300个观测点目标,则观测部分有300个基因位。从图中可以看出点目标3是强制要求观测5次,而点目标1、2、300没有强制要求观测次数。

2.数传模式约束

本发明在数传模式上,考虑最常见的三种数传模式,分别为“记录”、“实传”、“回放”。假设“实传”模式,该观测元任务实际观测开始时间为ts,实际观测结束时间为te,对应的接收元任务的起止时间分别为ws、we,则必须满足:ws≤ts,we≥te,且ts<te,ws<we,即实际观测元任务窗口必须在接收元任务窗口时间范围内,只有这样才能实时拍摄、实时下传。“记录”模式将接收到数据处理后送至固态记录,择机回放,所有不能做实传模式的任务,其观测的时间不要求在接收元任务的时间窗口内。所以在检测数传模式约束时,只需要对做实传模式的任务进行检测。

为了弄清楚这一处理过程,需要定义一些变量方便表示。

1)假设现共有n个观测元任务,记为a={o1,o2,…,on};时间窗口oi的实际观测开始时间和实际观测结束时间分别为osi和oei;2)假设现共有m个接收元任务,记为b={r1,r2,…,rm};时间窗口rj的开始时间和结束时间分别为rsj和rej,数传模式为mj;其在“元任务映射链”中对应位置的取值为2时,则mj=2(实传),取值为1时,则mj=1(回放)。

如图20所示,展示了数传模式约束冲突判断和冲突消解的处理流程。首先,令i=0、j=0,即选择第一个观测元任务和第一个接收元任务,然后比较他们的开始时间,判断观测元任务的实际观测开始时间是否大于或等于接收元任务的开始时间,如果不满足,则选择下一个观测元任务,重新进行比较,直到满足比较条件。满足上述条件后,继续比较观测元任务的实际观测结束时间是否小于或等于接收元任务的结束时间,如果满足,则通过约束检测;如果不满足,则查看接收元任务设置的数传模式是否为实传,如果不是,则不存在冲突,否则就不满足约束,需要将其修改为回放模式。遍历后面所有的接收元任务,执行相同的操作,从而消除数传模式约束冲突。

3.指令模板约束

在上述针对元任务冲突约束的处理已经消解了观测与观测之间的模板时间要求,此处的指令模板约束是指接收与观测之间的指令模板约束冲突。组合元任务集中的每个任务都被设定了特定的数传模式,按照开始时间排好序。指令模板约束的检测和冲突消解是在组合元任务集的基础上进行的。依次遍历组合元任务集的过程中,当遇到组合元任务为回放模式时,对于任务添加指令模板,检测它与前面的观测或接收任务、后面的观测任务的时间覆盖关系,判断是否与前后的任务存在指令模板冲突。如果存在冲突,则通过压缩当前接收任务的时间窗口来消解冲突,如果冲突量过大,则接收元任务可能被完全删除。

4.能源约束

能源约束需要考虑的因素包括卫星初始能源、姿态机动耗能、载荷动作耗能等。处理过程如下:依次遍历组合元任务集c={c1,c2,c3…cl}中的每个任务,如果任务安排,则安排后,首先检测卫星是否在阳照区,然后检测其与后一个任务之间是否可以插入充电任务,如果可以,则安排充电。反之,如果任务不安排,判断能源是否已满,如果不是,则安排充电。

5.工作时间约束

工作时间约束包括单圈次最大观测时长和单圈次最大接收时长。由于这两者的处理方法相同,所以下面只介绍单圈次最大观测时长约束的冲突判断和处理方法。在计算单圈次最大观测工作时间约束时,找出属于同一个轨道圈次的观测任务,统计每个轨道圈次的观测任务工作时间,从而判断是否满足约束。当同一个轨道圈次的观测任务的工作时间超出约束时,需要通过删除部分任务来消除冲突。

6.文件下传约束

文件下传约束需要考虑的因素包括卫星最大固存、接收元任务窗口限制、回放规则设定等。处理过程如下:依次遍历组合元任务集c={c1,c2,c3…cl}中的每个任务,检测其数传模式,根据不同的数传模式执行不同的操作。如图21所示,展示了整个操作的处理流程。如果是“记录”模式,则首先检测剩余固存容量是否可以放下该记录文件,如果不能放下,则删去当前“记录”模式的任务;否则,将该文件放入固存中,并更新剩余可用固存大小。如果是“回放”模式,则从固存中按照文件优先级大小或者最小文件优先下传等规则选择回放文件,回放了某个或者某几个文件后,更新待回放文件列表。如果是“实传”模式,则拍摄的数据实时下传,不存在记录文件,故不占用固存容量。需要注意的是固存在管理的时候还需要进行清空,清空只需要在任务之间留出足够的时长即可。当固存中的文件已经全部下传后才可以执行清空操作。

本发明二维姿态机动卫星任务规划方法还包括对所述规划方案的约束检验,根据任务规划方案编号从数据库中获取任务规划预案下的观测任务与接收任务数据,然后对规划预案进行各类约束项的检验,包括最小观测时长检测、侧摆角检测、观测元任务检测、地面天线接收约束检测、指令模板检测、单圈侧摆次数检测、组合任务有效荷载工作时间检测、最大固存限制检验,最终给出预案是否满足各类约束的检验结果,写入数据库。

约束检验是对预案进行检验,检验规划的结果是否满足约束条件。根据输入的预案号获取观测预案和接收预案信息,首先需要将观测预案和接收预案按照数传模式、时间窗口关系转化为组合任务,获得组合任务集信息。然后,依次遍历组合任务,进行各项约束的检验。如果满足所有约束则检验通过,反之,给出检测不通过原因,将检测结果写入数据库。示意图如图22所示。

在步骤s6中利用规划算法进行约束处理时,本发明可以采用多线程或多进程的并行方式,采用单机多核并行技术,保证多个实例的运行互不干扰,充分利用计算机多核计算资源。多个实例计算完成后,将不同的计算结果返回到不同的调用进程。随着计算机硬件技术的不断发展,处理器已经从单核处理器向多核与众核处理器发展。对今天的用户而言,正面临着如何利用多核处理器优势的挑战。由于智能算法的内在并行性,其并行处理方式是很自然的解决途径。并行演化算法的实现可以分为三类:

(1)全局型——主从式模型(mast-slavemodel)并行系统分为一个主处理器和若干个从处理器。主处理器监控整个染色体种群,并基于全局统计执行算法的选择和进化操作;各个从处理器接受来自主处理器的个体进行评价计算,再把计算结果回传给主处理器。这样级别的并行由于采用整体选择方式,所以群体的演化要实行严格的同步限制。主从式模型适用于适应度评价很费时且远远超过通信时间的情况。

(2)独立型——孤岛模型(islandmodel)将种群分为若干个子群并分配给各自对应的处理器,每个处理器不仅独立计算适应度,而且独立进行选择、重组交叉和变异操作,还要定期地相互传送适应度最好的个体,从而加快满足终止条件的要求。孤岛模型属于分布式演化计算,是目前应用最广泛的一种并行演化算法。孤岛模型对并行系统平台要求不高,可以是松散耦合并行系统,主要开发群体之间的并行性。

(3)分散型——领域模型(neighborhoodmodel)采用个体级的并行,将群体均匀分布在一个二维平面(或环面)网格中。格点中每个个体分配一个处理器,每个处理器进行适应度的计算;选择、重组交叉和变异的操作仅在与之相邻的一个处理器之间互相传递个体中进行。基因的传播是通过向相邻格点的扩散来实现的。整个演化过程无需进行全局性控制,从而是完全异步的。

本发明中,卫星任务的规划算法在并行模式上采用全局型和独立型,其中全局型——主从式模型,将算法的每一次迭代中需要对多个解的评价操作分配到对应的处理器,每个处理器独立计算解的适应值,然后将其返回给调用线程。主从式模型示意图如图23。

独立型——孤岛模型(islandmodel)进行并行处理,多个解用“种群”表示,将“种群”分为若干个“子种群”分配给对应的处理器,每个处理器不仅独立计算适应度,而且独立进行选择、重组交叉和变异操作。每次迭代完成以后,选择“种群”中所有解的评价值中最高的解作为当前最优解。判断这个解是否满足终止条件的要求,满足则退出,不满足则继续迭代。孤岛式模型示意图如图24。

本发明还涉及一种二维姿态机动卫星任务规划装置,如图33所示,包括数据库模块10,任务规划模块20,算法比较分析模块30以及约束检验模块40。所述数据库模块10中存储着任务规划所需的数据,为任务规划提供数据支撑。所述任务规划模块20利用规划算法进行任务规划,具体包括:读取所述数据库模块10中的数据,并对所述数据进行预处理;对所述数据库模块10中的数据及卫星关系数据进行抽象,获取逻辑资源数据;定义约束变量;基于所述约束变量和任务调度模型的假设,建立任务调度模型;在所述任务调度模型中应用规划算法,执行所述规划算法的迭代过程,对所述逻辑资源数据进行约束处理;在迭代过程满足所述规划算法的终止准则时,获取满足所述规划算法的终止准则对应的最优解,把解码所述最优解得到的规划方案作为二维姿态机动卫星任务规划的最优方案。所述算法比较分析模块30用于比较所述规划算法的性能,对不同的规划算法分别规划完成后得到的规划方案,从运算时间、收敛变化情况以及综合评价值三方面对各个规划算法的性能进行比较。所述约束检验模块40用于对任务规划方案进行检验,对所述规划方案进行约束变量的检验。

如图25,本发明旨在实现一个二维姿态机动卫星任务规划软件,整个软件系统为三页样式布局,按左中右三列分布。软件左侧与右侧提供所有菜单选项,中部为数据显示及结果显示区域。软件系统的中央区域是系统的主显示区域。用户点击此左侧区域的按钮,可以切换系统中央区域的显示内容。左侧边栏提供数据库配置、批号选择、任务数据查看、参数设置及各算法规划功能。右侧边栏提供算法规划结果、比较分析部分的比较对象选择,以及约束检验功能,用户点击相应图标时,结果会在中央系统中显示。

下面对二维姿态机动卫星任务规划软件的功能和界面设置做详细的说明:

1)系统启动时,用户需要连接数据库,获取规划数据,开始任务调度。用户需要点击右侧边栏中的“数据库配置”,以此连接数据库。数据库配置界面如图26所示。连接数据库时,需要在界面上输入用户名、密码、数据库ip地址以及服务名。

2)连接数据库后,用户从数据库中选择需要进行任务规划的数据,点击右侧边栏中的“批号选择”,出现如图27的页面,输入规划批号点击“确定”按钮,就可以获取到观测元任务和接收元任务数据,在系统中央区域进行显示。此外,仍提供按时间查看任务数据功能,点击“批号选择”后,将显示区域定位到第二页,选择规划开始时间和结束时间,可查看对应时间内的相应批号数据信息,如图28所示。点击确定后,中央区域显示对应时间内的批号数据,可方便用户根据时间选择需要规划的批号。

3)系统提供算法的默认参数,用户可以根据需要自行设置不同的参数,以及评价权重。算法参数设置界面如图29所示。提供了差分演化算法、粒子群算法、模拟退火算法以及禁忌搜索算法的相关参数以及评价权重设置。针对每种算法,用户可以任意设置算法参数使算法运行。差分演化算法的参数包括种群大小、迭代次数、变异概率和拉伸因子。粒子群算法的参数包括迭代次数、种群大小、自主学习因子、社会学习因子、最大速度。模拟退火算法的参数有最大迭代次数、退火迭代次数、初始温度和温度衰减系数。禁忌搜索算法的参数包括最大迭代次数、候选解个数以及邻域解个数。权重设置参数包括总任务数权值、优先级权值、俯仰角权值、观测时长权值。

4)所述任务规划模块20采用四种规划算法对任务进行规划,用户选择不同的规划算法进行规划,在规划过程中,界面底部设置了进度条显示规划算法正在运行,规划结果在系统中央区域中显示,规划结果分为三部分,分别是按预案类型显示预案信息,包括观测预案、接收预案以及充电预案;按预案时间显示预案信息,将所有预案进行汇总合并,对预案开始时间进行排序,更清晰地展示一天中各预案先后时间顺序;按预案时间甘特图显示预案信息,将排序后的预案信息做纵轴,以预案当前时间为横轴,以秒为时间单位,对有相应预案信息的位置绘制线段图,更加形象地展示各预案之间时间先后及对应时间的预案信息,图30所示。用户点击左侧栏中的规划结果部分,可以选择查看不同算法的规划结果,以上所述三种预案显示方法。所述任务规划模块20是本平台的一个核心所在。而该模块中的关键设计在于规划算法的设计。求解任务调度规划的规划算法评价函数与项目需求相关。根据对项目需求的分析,对任务优化目标的性能指标,提供了几种优化指标供用户选择:任务优先级之和最大,任务完成观测时长之和最大,任务数完成最多,平均俯仰角最小。

算法比较分析是本平台的另一个核心所在。四种规划算法分别规划完成后,用户可以在所述算法比较分析模块30对比较对象进行选择,可以从运算时间、收敛变化情况以及综合评价值三方面对各个规划算法的性能进行比较。系统还提供了算法规划结果的比较,将四种规划算法的规划结果以表格形式进行展示,同时给出一个规划报告,说明了对于哪批数据哪种规划算法的规划效果最好。规划结果和规划报告在系统中央区域进行显示。系统除针对各个规划算法不同方面进行横向比较分析外,还针对单个规划算法进行多次运行并给出其稳定性图,选择稳定性分析算法及运行代数如图31所示,结果显示图如图32所示。

本发明提供的技术方案带来的有益效果是:(1)采用四种不同的规划算法进行任务规划,为在轨运行的卫星制定合理的载荷调度方案,给出最佳的规划方案;(2)从运算时间、收敛变化情况以及综合评价值三方面对不同的规划算法的性能进行比较,得出评价结论;(3)任务规划完成后,对规划结果进行约束检验,有利于得到更优的规划方案。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1