一种多星协同任务规划方法与流程

文档序号:20773400发布日期:2020-05-19 20:31阅读:301来源:国知局
一种多星协同任务规划方法与流程

本发明属于深空探测技术领域,涉及一种卫星任务规划方法,具体涉及一种多星协同任务规划方法。



背景技术:

对地观测卫星(earthobservingsatellite,eos)主要通过星载传感器从太空获取地球表面相关信息,具有运行时间长、覆盖范围广等独特优势。目前,对地观测卫星在灾害防治、气象预报、环境保护、军事侦察、现代农业以及大地测绘等诸多领域都发挥了重要作用,为人类带来了可观的社会和经济效益。当前,对地观测领域的快速发展带来了前所未有的机遇与挑战,用户对遥感信息的依赖日益加深,使得观测目标日趋多样化、观测范围更加广泛,期望对地观测卫星能够完成更加复杂的任务。但是相对于复杂且数量巨大的观测任务需求,对地观测卫星资源仍然十分有限。如何统筹安排对地观测卫星资源,达到充分合理利用航天资源和最大化满足用户需求的目的,已成为目前对地观测领域亟待解决的问题。

在现有的卫星任务规划研究中,大多是将成像卫星任务规划问题建模为优化问题,然后采用各种优化算法进行求解。

每种优化算法在求解多星协同任务规划问题时,都有其优缺点。遗传算法虽然全局搜索能力较强,但是其搜索速度较慢,且局部搜索能力差,在搜素全局最优解时往往会花费较多的时间。对于蚁群算法来说,蚁群算法利用了信息素的正反馈特性,能够较快的时间内搜索到较优解,但是算法易陷入早熟,即某路径的信息素浓度明显高于其他路径时,算法会过快的收敛于该路径。模拟退火算法虽然局部搜索能力强,不易于陷入局部最优解,但是收敛速度慢,执行时间长,算法性能与初始值有关及参数敏感等缺点。粒子群算法虽然有较快逼近最优解的能力。但是,由于所有粒子都向最优解的方向飞去,所有粒子趋于同一化(失去了多样性)使得后期收敛速度明显变慢,同时算法收敛到一定精度时,无法继续优化,所能达到的精度也不高。



技术实现要素:

为了克服现有技术的不足,本发明人进行了锐意研究,提出一种蚁群算法与模拟退火算法相结合的多星协同任务规划方法,针对蚁群算法前期搜索速度较快但是易陷入早熟停滞状态,模拟退火算法的局部搜索能力强但是前期搜索速度较慢等问题,本发明规划方法首先利用蚁群算法进行快速搜索,当陷入局部最优时,改用模拟退火算法进行全局的寻优,保证算法具有快速收敛和全局搜索能力,具有前期搜索速度快,且在搜索后期可以跳出局部最优的优点,从而完成本发明。

本发明的目的在于提供以下技术方案:

本发明提供了一种多星协同任务规划方法,该规划方法包括以下步骤:

步骤1,为多星协同任务设定编码规则;

步骤2,基于编码规则,采用蚁群算法搜索多星协同任务的次优解;

步骤3,蚁群算法搜索陷入局部最优时,使用蚁群算法快速搜索到的次优解作为模拟退火算法的初始解,继续采用模拟退火算法进行搜索,直至达到迭代步数或者达到优化目标,输出结果,确定每个任务对应的执行卫星。

进一步地,数字编码规则为:根据任务数量nt,设定等长的数字编码,编码上的每个元素定义为基因,每个基因有其相对应任务的编号;其基因的值为对应的时间窗口编号;任务的时间窗口与卫星相对应,确定了时间窗口编号,也就确定了此基因对应任务所选择的卫星编号;

基因值为0,相应任务不被执行;当基因值不为0时,需要经过时间窗口约束规划窗口,机动约束规划窗口,资源约束规划窗口以及存储约束规划窗口等限制条件判断,上述约束窗口都是长度为nt的0-1二进制编码;0代表不满足此约束,1代表满足此约束,当任务j所对应的所有规划窗口都为1时,才代表任务j可以执行。

进一步地,步骤2可以通过包括以下的步骤实施:

步骤2.1,初始蚁群算法参数以及信息素模型:将任务安排在某时间窗口内的概率信息定义为信息素,针对每个任务分别构造信息素,初始化信息素;

步骤2.2,构造状态转移矩阵:考虑时间窗口冲突因素,对信息素进行修正,得到修正后任务选择任意时间窗口的概率,即为状态转移矩阵;

步骤2.3,计算出任务对所有窗口的概率后,按照轮盘赌算法对时间窗口进行选择,依次为每个任务选出一个时间窗口,构造出一套任务方案,进一步依次遍历m只蚂蚁,为m只蚂蚁构造出相应的任务方案;

步骤2.4,按照解的任务综合收益大小,从小到大对蚂蚁进行排序;

步骤2.5,根据排序和更新策略进行信息素更新;排序的策略采取基本排序蚁群算法策略,即在每次循环中,只有排名在前ω位的蚂蚁才允许释放信息素;

步骤2.6,依据步骤2.2至2.5进行循环,判断蚁群算法是否陷入局部最优,若没有则转步骤2.2,否则进行模拟退火算法。

进一步地,步骤3可以通过包括以下的步骤实施:

步骤3.1,输出蚁群算法快速搜索到的次优解作为模拟退火算法的初始解;

步骤3.2,初始化模拟退火参数初始温度t0;

步骤3.3,对数字编码进行扰动,产生新解;

步骤3.4,计算旧解与新解所对应的综合目标函数差δt;

步骤3.5,判断新解是否被接受;

步骤3.6,当新解被确定接受时,用新解代替当前解,这只需将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值即可;此时,当前解实现了一次迭代,可在此基础上开始下一轮试验;而当新解被判定为舍弃时,则在原当前解的基础上继续下一轮扰动试验;

步骤3.7,每进行一轮扰动试验,降低一次当前温度,t=t0*q,q为降温系数;

步骤3.8,判断是否满足结束条件,不满足则转步骤3.3,满足转至下一步;

步骤3.9,结束,输出当前解,得到每个任务选择的时间窗口编号,确定每个任务对应的执行卫星。

本发明提供的一种多星协同任务规划方法,带来了有益的技术效果:

本发明提出了一种蚁群算法与模拟退火算法相结合的多星协同任务规划方法,使用蚁群算法快速搜索到的次优解作为模拟退火算法的初始解,使模拟退火算法能在一个较高的起点开始对问题进行寻优,解决了模拟退火前期搜索速度慢以及蚁群算法易陷入最优的缺陷,在提高优化速度的同时,可以寻到更优的解,对任务的规划更优。

附图说明

图1示出本发明一种优选实施方式中多星协同任务规划方法流程示意图。

具体实施方式

下面通过附图和实施例对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。

如图1所示,本发明提供了一种多星协同任务规划方法,该规划方法包括如下步骤:

步骤1,为多星协同任务设定编码规则;

步骤2,基于编码规则,采用蚁群算法搜索多星协同任务的次优解;

步骤3,蚁群算法搜索陷入局部最优时,使用蚁群算法快速搜索到的次优解作为模拟退火算法的初始解,继续采用模拟退火算法进行搜索,直至达到迭代步数或者达到优化目标,输出结果,确定每个任务对应的执行卫星。

步骤1中,本发明提供了一种在多星协同任务规划中的通用数字编码,在求解多星协同任务规划问题时可适用于多种优化算法,如遗传算法、蚁群算法、模拟退火算法、粒子群算法等。

数字编码规则为:根据任务数量nt,设定等长的数字编码,编码上的每个元素定义为基因,每个基因有其相对应任务的编号;其基因的值为对应的时间窗口编号;任务的时间窗口与卫星相对应,确定了时间窗口编号,也就确定了此基因对应任务所选择的卫星编号。

基因值为0(该任务选择的时间窗口与其他任务选择的时间窗口冲突,且该任务的综合收益f较小),相应任务不被执行;当基因值不为0时,需要经过时间窗口约束规划窗口,机动约束规划窗口,资源约束规划窗口以及存储约束规划窗口等限制条件判断,上述约束窗口都是长度为nt的0-1二进制编码;0代表不满足此约束,1代表满足此约束,当任务j所对应的所有规划窗口都为1时,才代表任务j可以执行。

其中,“其基因的值为对应的时间窗口编号”是指:每个基因即每个任务可能对应多个时间窗口,对每个时间窗口予以编号,基因的值可以选择任意一个能够执行该任务的时间窗口的编号。

本发明人了解到,蚁群算法首先通过随机选择生成初始种群,根据初始种群中不同个体选择的路径适应度进行排序,按比例选择适应度高的路径进行信息素更新,由于信息素的正反馈作用,促使算法在较短的时间内搜索到局部最优解,同时由于信息素的正反馈作用,会导致算法陷入局部最优。

模拟退火算法的实现步骤为将实际问题的解空间进行编码,随机生成一个初始解,然后由一个产生函数产生新解,进一步根据需要的优化问题的目标函数来构造适应度函数,判断是否接受新解,若接受新解s′作为新的当前解s(t为当前温度),然后再产生新解,再判断,最终满足结束条件收敛到一个比较好的解。但是该算法存在收敛速度慢,执行时间长,算法性能与初始值有关及参数敏感等缺点。

为此,将蚁群算法与模拟退火算法结合起来应用到多星任务规划。其中,模拟退火算法执行的条件为采用蚁群算法搜索陷入局部最优时,则采用模拟退火算法进行搜索。

多星协同任务规划问题的目的即为:假设有ns颗卫星,nt个任务,如何将nt个任务在规定的调度时间内合理的分配给ns颗卫星,在满足卫星约束的情况下,以尽可能少的资源完成尽可能多的任务,使得规划目标收益最大。

步骤2和步骤3涉及的算法流程图如图1所示。

目标函数1

目标函数2

f=αf1+βf2综合目标函数

f1使卫星观测的目标收益最大,f2使卫星消耗能量最少,xij为决策变量,xij=1表示任务j被卫星i所观测,vj表示任务j的任务收益,rj表示完成任务j所需要的资源消耗。α和β分别表示目标函数1和目标函数2的权重系数,规划实现的最后结果是实现综合收益f最大。

本发明中,步骤2中“基于编码规则,采用蚁群算法搜索多星协同任务的次优解”,通过包括以下的步骤实施:

步骤2.1,初始蚁群算法参数以及信息素模型,将任务安排在某时间窗口内的概率信息定义为信息素,针对每个任务分别构造信息素;假设任务i共有oi个时间窗口,信息素τik表示将任务i安排在窗口k的概率;首先初始化信息素,设为任务选择各时间窗口的初始概率相等都为概率和为1;

初始化信息素:

k∈[1,oi]

步骤2.2,构造状态转移矩阵:对信息素进行修正,得到修正后任务i选择第k个时间窗口的概率,即为状态转移矩阵。为增加收敛速度,增加了一个启发因子ηik,ηik表示任务i的第k个时间窗口与其他任务时间窗口的重叠次数,ηik越大,则任务i选择此时间窗口与其他任务产生冲突的可能性越高,任务完成情况也就越差;

任务i选择第k个时间窗口的概率为:

i∈[1,nt],k∈[1,oi]

α表示信息素启发因子,β表示任务冲突启发因子;

步骤2.3,计算出任务i对所有窗口的概率后,按照轮盘赌算法对时间窗口进行选择,依次为每个任务选出一个时间窗口,构造出一套任务方案,进一步依次遍历m只蚂蚁,为m只蚂蚁构造出相应的任务方案(每套任务方案的确定即相当于确定了一个根据任务设定的数字编码,任务数字编码确定了,任务规划的解也确定了);

步骤2.4,按照解的任务综合收益大小,从小到大对蚂蚁进行排序;

步骤2.5,根据排序和更新策略进行信息素τik更新。排序的策略采取基本排序蚁群算法策略,即在每次循环中,只有排名在前ω位的蚂蚁才允许释放信息素。信息素全局更新的目的是根据当前最优解的特征强化某些路径的信息素,使其更有方向的进行收敛。更新策略如下:

τik(t+1)=ρτik(t)+wrδτ1≤r≤ω

ρ表示遗忘因子,δτ表示信息素增量,wr表示排在第r名解的系数,排名越靠前,wr值越大,t表示循环次数;

其他排名ω位之后的路径乘以遗忘因子ρ即可,τik(t+1)=ρτik(t)1≤r≤ω;

步骤2.6,依据步骤2.2至2.5进行循环,判断蚁群算法是否陷入局部最优,若没有则转步骤2.2,否则进行模拟退火算法;当蚁群算法迭代一定次数后,由于信息素的不断更新,多个时间窗口之间的信息素差异过大,搜索容易陷入局部最优。

本发明中,步骤3通过包括以下具体步骤实施:

步骤3.1,输出蚁群算法快速搜索到的次优解作为模拟退火算法的初始解;

步骤3.2,初始化模拟退火参数,初始温度t0不像基本的模拟退火算法设置太高,而是选一个适中的值,目的是以一个适中的概率(约20%)去接受较差解;优选地,初始温度t0在200~300范围内取值;

步骤3.3,对数字编码进行扰动,产生新解,具体方法为随机选择一个基因位置,对其进行基因变异,变异值大小为1到其基因对应任务的总时间窗口数之间的一个值且不与原值相等;

步骤3.4,计算旧解与新解所对应的综合目标函数差δt;

步骤3.5,判断新解是否被接受,判断的依据是一个接受准则,最常用的接受准则是metropolis准则:若δt>0则接受s′作为新的当前解s,否则以概率exp(δt/t)接受s′作为新的当前解s;

步骤3.6,当新解被确定接受时,用新解代替当前解,这只需将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值即可;此时,当前解实现了一次迭代,可在此基础上开始下一轮试验;而当新解被判定为舍弃时,则在原当前解的基础上继续下一轮扰动试验;

步骤3.7,每进行一轮扰动试验,降低一次当前温度,t=t0*q,q为降温系数;

步骤3.8,判断是否满足结束条件(结束条件可以是迭代步数或者是优化目标),不满足则转步骤3.3,满足转至下一步;

步骤3.9,结束,输出当前解,得到每个任务选择的时间窗口编号,确定每个任务对应的执行卫星。

实施例实施例1

对本发明方法进行仿真验证,采用卫星的数量为3颗,观测目标为20个,表1为每颗卫星对任务的时间窗数目。

表1各卫星对任务的时间窗口数目

最终规划结果的编码基因为[37214321241511321123];

卫星1分别执行任务4、任务7、任务8、任务11、任务13、任务18。

卫星2分别执行任务3、任务5、任务9、任务10、任务12、任务14、任务17、任务19。

卫星3分别执行任务1、任务2、任务6、任务15、任务16、任务20。

以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。

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