CN104618495B - 卫星接收任务分配方法 - Google Patents
卫星接收任务分配方法 Download PDFInfo
- Publication number
- CN104618495B CN104618495B CN201510079205.8A CN201510079205A CN104618495B CN 104618495 B CN104618495 B CN 104618495B CN 201510079205 A CN201510079205 A CN 201510079205A CN 104618495 B CN104618495 B CN 104618495B
- Authority
- CN
- China
- Prior art keywords
- task
- individual
- satellite
- phenotype
- decimal system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Radio Relay Systems (AREA)
Abstract
一种卫星接收任务分配方法,包括采用分治法对卫星接收任务规划问题进行分解,将大任务量的卫星数据接收任务问题分解为多个小任务量的子问题;对每一冲突任务集合,考虑星地资源约束,利用遗传算法优化配置每个卫星数据接收任务的地面接收资源,达到充分利用地面接收资源的目的。本发明的方法一方面采取分而治之的并行策略,大大提高了卫星接收任务规划的效率;另一方面对每个小任务量的卫星接收任务规划问题采用遗传算法,快速且充分分配地面接收资源,获取优化的卫星接收任务规划方案。本发明方法采用自动的方式,解放了操作员的脑力,大大提高了规划效率和对应急任务响应能力。
Description
技术领域
本发明涉及航天地面接收领域,更具体地涉及一种卫星接收任务分配方法。
背景技术
卫星接收任务规划针对各个卫星机构下达的卫星数据接收任务,在地面接收资源有限的条件下,综合利用分治法和遗传算法的对卫星数据接收任务进行地面接收资源冲突消解,形成无冲突和优化的卫星数据接收任务规划方案,以达到充分利用地面接收资源的目的。
传统的卫星数据接收任务分配靠操作员手动分配地面接收资源,这种方法存在两方面的缺陷。其一,地面接收资源的利用率较低,尤其在卫星数据接收任务量较多且冲突的前提下,靠手动分配资源在很大程度上不能充分发挥地面接收资源的接收能力。其二,操作员的效率低,操作员需要实时考虑卫星数据接收任务的资源占用情况,且需要对资源做验证处理,这都需要耗费大量的时间和精力,导致传统的卫星数据接收任务分配方法效率低下,不能及时响应任务的突发情况。
发明内容
有鉴于此,本发明的主要目的之一在于提供一种卫星接收任务分配方法,在综合考虑地面接收资源的前提下,利用分治法将大任务量的卫星数据接收任务分配问题分解为多个小任务量的子问题;而利用遗传算法针对每个小任务量的子问题进行求解以快速形成无冲突和优化的卫星数据接收任务分配方案,从而达到充分利用地面接收资源的目的。
为了实现上述目的,本发明提供了一种卫星接收任务分配方法,包括以下步骤:
步骤1、采用分治法对卫星接收任务规划问题进行分解,将大任务量的卫星数据接收任务问题分解为多个小任务量的子问题;
步骤2、对每一冲突任务集合,考虑星地资源约束,利用遗传算法优化配置每个卫星数据接收任务的地面接收资源,达到充分利用地面接收资源的目的。
其中,所述步骤1中采用分治法将大任务量的卫星数据接收任务分配问题分解的步骤如下:
(a)将TASK中的卫星数据接收任务按照计划开始时间planStart由小到大排序,排序后的冲突任务集合重新置于TASK中:
TASK={taski|i∈[0,n-1],n>1,planStarti≥planStarti-1};
其中,TASK为卫星数据接收任务,用7元组表示如下:
task=(taskNum,sat,planStart,planEnd,antenna,taskSetNum,weight);
其中,taskNum代表作业任务编号,即每个卫星数据接收任务的唯一标识号;sat代表任务所属卫星;planStart代表任务的计划开始时间,卫星机构确定的可接收的开始时间;planEnd代表任务的计划结束时间,卫星机构确定的可接收的结束时间;antenna代表任务安排的天线资源,即遗传算法规划完毕的天线资源;taskSetNum代表任务的冲突任务集序号;weight代表以数字表示的任务权重;
(b)设置初始的任务集序号initTaskSetNum=0,设置待比较的最晚结束时间latestEndToCompare=planEnd0+switchTime,其中planEnd0为TASK中第1个任务的计划结束时间,switchTime为地面接收天线的切换时间;
(c)由第2个任务开始直至顺序遍历完毕TASK中的所有任务,依次比较当前任务的计划开始时间planStartcurr(curr∈[1,n-1])与latestEndToCompare的大小关系;若planStartcurr小于latestEndToCompare,则说明当前任务与遍历过的任务在时间上有冲突,设置当前任务的任务集序号taskSetNumcurr=initTaskSetNum;同时比较当前任务的计划结束时间planEndcurr与latestEndToCompare的大小关系,若planEndcurr大于latestEndToCompare,重置latestEndToCompare=planEndcurr+switchTime;若planStartcurr不小于latestEndToCompare,则说明当前任务与遍历过的任务在时间上没有冲突,则需要对initTaskSetNum进行加1操作,即initTaskSetNum=initTaskSetNum+1,同时设置当前任务的任务集序号taskSetNumcurr=initTaskSetNum;
(d)具备相同的taskSetNum的卫星数据接收任务归结为一子问题,划分为一冲突任务集合COLLTASK:
COLLTASK={taski|i∈[0,l-1],l>1},其中l代表冲突任务集合中任务的个数。
其中,所述步骤2包括:
(a)抽取COLLTASK中每个卫星数据接收任务的作业任务编号taskNum至一列表COLLTASKNUMLIST中,其中COLLTASKNUMLIST={taskNumi|i∈[0,l-1],l>1};
(b)将任务集合内的所有卫星数据接收任务采用随机算法生成表现型种群;
(c)根据表现型初始种群映射生成十进制型编码初始种群,作为迭代进化的个体;
(d)采用双保险决策方法判定群体迭代是否终止,所述双保险决策方法的判断条件为:群体迭代已达用户配置的群体迭代进化代数;或者,已达用户配置的种群无优化迭代数;
(e)对十进制型个体解码生成表现型个体:
(f)针对种群内的每个表现型个体进行资源分配,分配的原则是“先来先服务”,根据表现型个体内的染色体排列的先后顺序安排地面接收资源,地面接收资源主要考虑天线资源;
(g)计算个体的适应度,确定评价函数;
(h)保留最优表现型个体和十进制型个体;
(i)对十进制型群体进行遗传操作。
其中,所述的每个表现型个体的生成方法包括以下步骤:
将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表TEMPTASKNUMLIST中,其中COLLTASKNUMLIST={taskNumi|i∈[0,l-1],l>1};
计算TEMPTASKNUMLIST中任务的个数chromNum,采用随机算法获取TEMPTASKNUMLIST中的元素索引taskIndex=Random(chromNum),其中Random(.)表示随机选择索引的操作;
从TEMPTASKNUMLIST中获取索引为taskIndex的作业任务编号做为表现型染色体,同时在TEMPTASKNUMLIST删除此索引的作业任务编号;当chromNum为零时,表现型个体生成结束;每个表现型个体表示如下:
INDIVIDUALPRESEN=
{taskNumPresen|taskNumPresen∈COLLTASKNUMLIST}。
其中,所述的根据表现型初始种群INDIVIDUALPRESENi映射生成十进制型编码初始种群INDIVIDUALDECIMALi的步骤包括:
(1)将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表TEMPTASKNUMLIST中;
(2)依次获取INDIVIDUALPRESENi中的作业任务编号,根据作业任务编号获取其在TEMPTASKNUMLIST中的索引,每次获取完毕后将此作业任务编号在TEMPTASKNUMLIST中删除,直至INDIVIDUALPRESENi遍历完毕;将获取的索引按照先后顺序形成十进制型个体:
INDIVIDUALDECIMALi=
{num|num∈[0,m],m>0},i∈[0,popSize-1]。
其中,步骤(e)所述的对十进制型个体解码生成表现型个体的步骤包括:
将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表TEMPTASKNUMLIST中;
依次获取INDIVIDUALDECIMALi中的十进制索引,从TEMPTASKNUMLIST中获取相应索引位置的作业任务编号,每次获取完毕后将此作业任务编号在TEMPTASKNUMLIST中删除,直至INDIVIDUALDECIMALi遍历完毕;
将获取的作业任务编号按照先后顺序形成表现型个体INDIVIDUALPRESENi。
其中,步骤(f)所述的分配地面天线资源的步骤包括:
(1)针对每个表现型个体INDIVIDUALPRESENi,i∈[0,popSize-1]依次获取其中的表现型基因,即作业任务编号taskNumj,j∈[0,l-1];
(2)根据taskNumj获取相应卫星数据接收任务taskj的卫星代号satj;
(3)在SATTOANTENNA中获取与satj具备资源约束关系的天线资源ANTENNARES,设satj所在SATTOANTENNA中的第k列,则ANTENNARES表示如下:
ANTENNARES={antennai|i∈[0,n-1],aik=1},其中n代表所有天线的个数;
设与卫星数据接收任务taskj冲突的其他任务占用的天线资源为ANTENNARES_COLL=
{antennai|i∈[0,n-1],antennai被冲突的任务占用};
则taskj可使用的无冲突的天线资源ANTENNARES_ENABLE表示如下:
ANTENNARES_ENABLE=ANTENNARES∩ANTENNARES_COLL;
若ANTENNARES_ENABLE为非空集合,则采用随机算法设置taskj的天线antennaj=Random(ANTENNARES_ENABLE);
若ANTENNARES_ENABLE为空集合,则taskj分配资源失败。
其中,步骤(g)中所述每个个体的评价函数兼顾卫星数据接收任务的满足度和权重,计算公式如下:
其中E(n)代表第n个个体的评价值,l代表个体中任务的个数,recEndi代表第i个任务规划完毕的接收结束时间,recStarti代表第i个任务规划完毕的接收开始时间,planEndi代表第i个任务的计划开始时间,planStarti代表第i个任务的计划结束时间,weighti代表第i个任务的权重。
其中,步骤(h)所述的保留最优表现型个体和十进制型个体的步骤包括:
根据当前代所有个体的适应度,找出适应度的最大值fitnessMax及其相应的最优表现型个体和十进制型个体;
根据当前代所有个体的适应度,找出适应度的最小值fitnessMin及其相应的最差表现型个体和十进制型个体;
对比当前代的最优个体与前代的最优个体,若当前代的最优个体优于前代的最优个体,则替换前代的最优个体;
替换当前代的最差个体为前代的最优个体,包括表现型个体和十进制型个体。
其中,步骤(i)所述的对十进制型群体进行遗传操作的步骤包括:
根据轮盘赌选择算子从父群体中获取两个待交叉的十进制型个体INDIVIDUALDECIMALx和INDIVIDUALDECIMALy;
对INDIVIDUALDECIMALx和INDIVIDUALDECIMALy采用单点交叉方式进行交叉操作,在两个个体中随机选择一个交叉点,按照交叉概率pc利用伯努利试验函数确定两个个体是否交叉操作;
在交叉的过程中采用均匀变异算子按照变异概率pm进行变异操作;采用均匀变异算子,变异后的十进制型基因gi(i=0,1,2,...,n)所对应的等位基因只能从{0,1,2,...,n-i+1},其中i代表基因在十进制型个体中的位置;
遗传操作完毕后跳转到步骤(d)。
从上述技术方案可知,本发明具有以下有益效果:本发明提供的综合使用分治法和遗传算法的卫星接收任务规划方法,一方面利用分治法对大任务量的卫星接收任务规划问题进行分解,采取分而治之的并行策略,大大提高了卫星接收任务规划的效率;另一方面对每个小任务量的卫星接收任务规划问题采用遗传算法,合理设置交叉算子、选择算子以及变异算子,依据其本身求解问题的并行性和“生成+检测”的机制,快速且充分分配地面接收资源,获取优化的卫星接收任务规划方案。此方法摒弃传动的手工卫星接收任务规划方法,对接收任务进行资源分配以及资源验证方面都采用自动的方式,无需人工手动分配地面接收资源,解放了操作员的脑力,大大提高了规划效率和对应急任务响应能力。
附图说明
图1是本发明的综合使用分治法和遗传算法的卫星接收任务分配方法的主流程图;
图2是图1中采用分治法对大任务量任务分配问题进行分解的方法的流程图;
图3是图1中采用遗传算法对每个小任务量问题进行求解的方法的流程图;
图4是图3中初始化表现型群体方法流程图;
图5是图3中初始化十进制型群体方法流程图;
图6是图3中对十进制群体进行解码至表现型群体的方法的流程图;
图7是图3中对表现型群体进行地面接收资源分配的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明提供了一种综合使用分治法和遗传算法的卫星接收任务分配方法,包括以下步骤:
步骤1、采用分治法对卫星接收任务规划问题进行分解,将大任务量的卫星数据接收任务问题分解为多个小任务量的子问题。
设卫星数据接收任务task,用7元组表示。
task=(taskNum,sat,planStart,planEnd,antenna,taskSetNum,weight);
taskNum代表作业任务编号,即每个卫星数据接收任务的唯一标识号;
sat代表任务所属卫星;
planStart代表任务的计划开始时间,卫星机构确定的可接收的开始时间;
planEnd代表任务的计划结束时间,卫星机构确定的可接收的结束时间;
antenna代表任务安排的天线资源,即遗传算法规划完毕的天线资源;
taskSetNum代表任务的冲突任务集序号;
weight代表以数字表示的任务权重。
卫星机构下达的所有卫星数据接收任务TASK。
TASK={taski|i∈[0,n-1],n>1},其中n代表所有卫星数据接收任务总数。
采用分治法将大任务量的卫星数据接收任务规划问题分解步骤如下:
a)将TASK中的卫星数据接收任务按照计划开始时间planStart由小到大排序,排序后的冲突任务集合重新置于TASK中。
TASK={taski|i∈[0,n-1],n>1,planStarti≥planStarti-1};
b)设置初始的任务集序号initTaskSetNum=0,设置待比较的最晚结束时间latestEndToCompare=planEnd0+switchTime,其中planEnd0为TASK中第1个任务的计划结束时间,switchTime为地面接收天线的切换时间。
c)由第2个任务开始直至顺序遍历完毕TASK中的所有任务,依次比较当前任务的计划开始时间planStartcurr(curr∈[1,n-1])与latestEndToCompare的大小关系。若planStartcurr小于latestEndToCompare,则说明当前任务与遍历过的任务在时间上有冲突,设置当前任务的任务集序号taskSetNumcurr=initTaskSetNum。同时比较当前任务的计划结束时间planEndcurr与latestEndToCompare的大小关系,若planEndcurr大于latestEndToCompare,重置latestEndToCompare=planEndcurr+switchTime。若planStartcurr不小于latestEndToCompare,则说明当前任务与遍历过的任务在时间上没有冲突,则需要对initTaskSetNum进行加1操作,即initTaskSetNum=initTaskSetNum+1,同时设置当前任务的任务集序号taskSetNumcurr=initTaskSetNum。
d)具备相同的taskSetNum的卫星数据接收任务归结为一子问题,划分为一冲突任务集合COLLTASK。
COLLTASK={taski|i∈[0,l-1],l>1},其中l代表冲突任务集合中任务的个数。
步骤2、对每一冲突任务集合,考虑星地资源约束,利用遗传算法优化配置每个卫星数据接收任务的地面接收资源,达到充分利用地面接收资源的目的。
步骤如下:
(a)抽取COLLTASK中每个卫星数据接收任务的作业任务编号taskNum至一列表COLLTASKNUMLIST中,其中COLLTASKNUMLIST={taskNumi|i∈[0,l-1],l>1}
(b)将任务集合内的所有卫星数据接收任务采用随机算法生成表现型种群。设群体大小为popSize,popSize>0。
表现型种群表示如下:
POPPRESEN=
{INDIVIDUALPRESENi|i∈[0,popSize-1],popSize>1,popSize%2=0}。
INDIVIDUALPRESENi代表第i个表现型个体。每个表现型个体中的染色体以作业任务编号形式存在,表现型个体是进行资源分配的依据。
每个表现型个体生成方法如下:
将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表TEMPTASKNUMLIST中。
计算TEMPTASKNUMLIST中任务的个数chromNum,采用随机算法获取TEMPTASKNUMLIST中的元素索引taskIndex=Random(chromNum),其中Random(.)表示随机选择索引的操作。
从TEMPTASKNUMLIST中获取索引为taskIndex的作业任务编号做为表现型染色体,同时在TEMPTASKNUMLIST删除此索引的作业任务编号。当chromNum为零时,表现型个体生成结束。每个表现型个体表示如下:
INDIVIDUALPRESEN=
{taskNumPresen|taskNumPresen∈COLLTASKNUMLIST}
(c)根据表现型初始种群映射生成十进制型编码初始种群,作为迭代进化的个体。
十进制型种群的表示方法。
POPDECIMAL=
{INDIVIDUALDECIMALi|i∈[0,popSize-1],popSize>1,popSize%2=0}。
INDIVIDUALDECIMALi代表第i个十进制型个体。十进制型个体同表现型个体具有映射关系,两者可以互相转化。十进制型个体中的染色体以十进制数字存在,其意义在于是进行交叉变异的基础。
根据INDIVIDUALPRESENi生成INDIVIDUALDECIMALi,i∈[0,popSize-1],其步骤如下:
(1)将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表TEMPTASKNUMLIST中。
(2)依次获取INDIVIDUALPRESENi中的作业任务编号,根据作业任务编号获取其在TEMPTASKNUMLIST中的索引,每次获取完毕后将此作业任务编号在TEMPTASKNUMLIST中删除,直至INDIVIDUALPRESENi遍历完毕。将获取的索引按照先后顺序形成十进制型个体。
INDIVIDUALDECIMALi=
{num|num∈[0,m],m>0},i∈[0,popSize-1]。
(d)采用双保险决策方法判定群体迭代是否终止,其一,群体迭代已达用户配置的群体迭代进化代数。其二,已达用户配置的种群无优化迭代数。
(e)对十进制型个体解码生成表现型个体。
步骤如下:
将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表TEMPTASKNUMLIST中。
依次获取INDIVIDUALDECIMALi中的十进制索引,从TEMPTASKNUMLIST中获取相应索引位置的作业任务编号,每次获取完毕后将此作业任务编号在TEMPTASKNUMLIST中删除,直至INDIVIDUALDECIMALi遍历完毕。将获取的作业任务编号按照先后顺序形成表现型个体INDIVIDUALPRESENi。
(f)针对种群内的每个表现型个体进行资源分配,分配的原则是“先来先服务”,根据表现型个体内的染色体排列的先后顺序安排地面接收资源,地面接收资源主要考虑天线资源。
卫星和天线资源的约束关系描述如下:
其中antennap代表第p个天线,satq代表第q个卫星。
分配地面天线资源步骤如下:
(1)针对每个表现型个体INDIVIDUALPRESENi,i∈[0,popSize-1]依次获取其中的表现型基因,即作业任务编号taskNumj,j∈[0,l-1]。
(2)根据taskNumj获取相应卫星数据接收任务taskj的卫星代号satj。
(3)在SATTOANTENNA中获取与satj具备资源约束关系的天线资源ANTENNARES,设satj所在SATTOANTENNA中的第k列。那么ANTENNARES表示如下:
ANTENNARES={antennai|i∈[0,n-1],aik=1},其中n代表所有天线的个数。
设与卫星数据接收任务taskj冲突的其他任务占用的天线资源为ANTENNARES_COLL=
{antennai|i∈[0,n-1],antennai被冲突的任务占用}。
那么taskj可使用的无冲突的天线资源ANTENNARES_ENABLE表示如下:
ANTENNARES_ENABLE=ANTENNARES∩ANTENNARES_COLL。
若ANTENNARES_ENABLE为非空集合,则采用随机算法设置taskj的天线antennaj=Random(ANTENNARES_ENABLE)
若ANTENNARES_ENABLE为空集合,则taskj分配资源失败。
(g)计算个体的适应度,确定评价函数
每个个体的评价函数兼顾卫星数据接收任务的满足度和权重,其计算如下:
其中E(n)代表第n个个体的评价值,l代表个体中任务的个数,recEndi代表第i个任务规划完毕的接收结束时间,recStarti代表第i个任务规划完毕的接收开始时间,planEndi代表第i个任务的计划开始时间,
planStarti代表第i个任务的计划结束时间,weighti代表第i个任务的权重。
每个十进制型个体的适应度计算如下:
f(m)代表第m个个体的适应度,E(m)代表第m个个体的评价值。
(h)保留最优表现型个体和十进制型个体
操作步骤如下:
根据当前代所有个体的适应度,找出适应度的最大值fitnessMax及其相应的最优表现型个体和十进制型个体。
根据当前代所有个体的适应度,找出适应度的最小值fitnessMin及其相应的最差表现型个体和十进制型个体。
对比当前代的最优个体与前代的最优个体,若当前代的最优个体优于前代的最优个体,则替换前代的最优个体。
替换当前代的最差个体为前代的最优个体,包括表现型个体和十进制型个体。
(i)对十进制型群体进行遗传操作
步骤如下:
根据轮盘赌选择算子从父群体中获取两个待交叉的十进制型个体INDIVIDUALDECIMALx和INDIVIDUALDECIMALy。
对INDIVIDUALDECIMALx和INDIVIDUALDECIMALy采用单点交叉方式进行交叉操作,在两个个体中随机选择一个交叉点,按照交叉概率pc利用伯努利试验函数确定两个个体是否交叉操作。
在交叉的过程中采用均匀变异算子按照变异概率pm进行变异操作。卫星接收任务规划针对变异算子的要求是,对十进制型个体进行变异后,所产生的新个体是一个具有实际意义的个体,也就是说变异后的十进制个体在解码后形成的表现型个体中不应存在两个或多个相同的作业任务编号。
采用均匀变异算子,变异后的十进制型基因gi(i=0,1,2,...,n)所对应的等位基因只能从{0,1,2,...,n-i+1},其中i代表基因在十进制型个体中的位置。
遗传操作完毕后转到步骤(d)。
下面结合附图对本发明做进一步的阐述说明。
如图1所示,图1是按照本发明实施例的综合使用分治法和遗传算法的卫星接收任务规划的方法主流程图,该方法包含以下步骤:
步骤一:采用分治法对大规模卫星接收任务规划问题进行分解,如图2所示。该采用分治法对大规模卫星接收任务规划问题进行分解具体包含以下4个步骤:
步骤A:对大规模的卫星数据接收任务(TASK,实施例中的的任务个数为10)按其计划开始时间由小到大排序。
步骤B:获取TASK中的第一个任务tsk0。
步骤C:设置初始任务集序号initTaskSetNum=0。
步骤D:设置比较的最晚时间latestEndToComp。
步骤E:判读TASK中的任务是否遍历完毕,若遍历完毕,则根据相同的任务集序号对TASK中的任务进行分组,每个分组做为一个小规模的子问题;若没有遍历完毕,则需要继续遍历,具体步骤如下:
步骤E1:对比当前任务的计划开始时间与latestEndToComp,若前者小于后者,则转到步骤E11;否则转到步骤E12。
步骤E11:设置当前任务的任务集序号=initTaskSetNum,同时对比当前任务的计划结束时间与latestEndToComp,若前者不大于后则,则继续遍历;否则根据当前任务的计划结束时间重置latestEndComp=当前任务的计划结束时间+天线切换时间(实施例中,天线切换时间为240秒)。
步骤E2:设置initTaskSetNum加1操作,同时设置当前任务的任务集序号=initTaskSetNum。
步骤二:采用遗传算法对每个小规模问题进行求解,如图3所示,该采用遗传算法对每个小规模问题进行求解具体包含以下7个步骤:
步骤A:初始化表现型群体,如图4所示,该初始化群体操作(群体大小popSize=100)具体包含以下7个步骤.
步骤A1:案顺序抽取接收任务的作业任务编号做为标杆列表。
步骤A2:复制标杆列表至一临时列表。
步骤A3:判断临时列表是否遍历结束,若遍历结束,则终止;否则转到步骤A4。
步骤A4:随机获取临时列表的索引taskIndex。
步骤A5:获取临时列表taskIndex位置的作业任务编号。
步骤A6:将获取的表现型作业任务编号追加至表现型个体。
步骤A7:在临时列表中删除taskIndex位置的作业任务编号。
步骤B:初始化十进制型群体,如图5所示,该初始化十进制群体具体包含以下6个步骤。
步骤B1:案顺序抽取接收任务的作业任务编号做为标杆列表。
步骤B2:复制标杆列表至一临时列表。
步骤B3:判断表现型个体中的染色体是否遍历结束,若遍历结束,则终止;否则进行步骤B4。
步骤B4:获取表现型个体中的当前染色体,即作业任务编号taskNumCurr。
步骤B5:获取临时列表taskNumCurr的索引,将索引追加至十进制型个体。
步骤B6:在临时列表中删除taskIndex位置的作业任务编号。
步骤C:判断是否算法停止准则,准则一:群体迭代已达用户配置的群体迭代进化代数;准则二:已达用户配置的种群无优化迭代数。若满足算法停止准则,则转到步骤D,否则算法结束。
步骤D:对十进制群体进行解码至表现型群体,如图6所示,对十进制群体进行解码至表现型群体具体包含以下6个步骤:
步骤D1:按顺序抽取接收任务的作业任务编号做为标杆列表。
步骤D2:复制标杆列表至一临时列表。
步骤D3:清空表现型个体中的染色体。
步骤D4:判断十进制型个体中的染色体是否遍历结束,若结束则终止;走则,转到步骤D5。
步骤D5:获取十进制个体中的当前染色体,即索引taskIndex,将临时列表taskIndex位置的作业任务编号作为表现型染色体并追加至表现型个体。
步骤D6:在临时列表中删除taskIndex位置的作业任务编号。
步骤E:对表现型群体进行地面接收资源分配,如图7所示,对表现型群体进行地面接收资源分配具体包含以下几个步骤:
步骤E1:判断表现型个体中的染色体是否遍历结束,若结束,则终止;否则转到E2。
步骤E2:获取表现型个体中的当前染色体,即作业任务编号taskNumCurr。
步骤E3:根据taskNumCurr获取相应的接收任务taskCurr的卫星satCurr。
步骤E4:根据satCurr与接收资源的约束关系获取当前任务可使用的天线资源ANTENNARES。
步骤E5:获取冲突任务占用的天线资源ANTENNARES_COLL。
步骤E6:获取ANTENNARES和ANTENNA_COLL的交集ANTENNARES_ENABLE。
步骤E7:判断ANTENNARES_ENABLE是否为空,若为空,说明资源不满足,继续进行遍历;否则采用随机算法获取ANTENNARES_ENABLE的一天线作为当前任务的接收天线。
步骤F:评价群体并根据评价值计算群体适应度。
步骤G:进行遗传操作。实施例中交叉概率=0.95,变异概率=0.005。
实施例
大规模的卫星数据接收任务如下:
卫星与地面接收资源的约束如下:
卫星 | MY12_1 | KS12_1 | KS12_2 |
ZY-03 | 是 | 是 | 是 |
ZY-02C | 否 | 是 | 是 |
CBERS-04 | 是 | 是 | 是 |
HJ-1C | 是 | 是 | 是 |
HJ-1B | 否 | 是 | 是 |
HJ-1A | 是 | 是 | 是 |
SJ-9A | 是 | 是 | 是 |
SJ-9B | 是 | 是 | 是 |
采用分治法对任务分组如下:
每一组通过遗传算法获得最优的地面接收资源分配结果如下:
上述应用实例结果表明,本发明提供的综合使用分治法和遗传算法的卫星接收任务规划方法首先利用分治法将卫星数据接收任务按照计划起止时间冲突关系划分为多个任务集合,然后在考虑星地资源约束的基础上,利用遗传算法针对每个任务集合求解快速形成无冲突和优化的卫星数据接收规划方案,达到充分利用地面接收资源的目的。整个过程无需人工手动分配地面接收资源,对地面接收资源的分配依赖遗传算法进行,大大提高了任务规划的效率。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种卫星接收任务分配方法,包括以下步骤:
步骤1、采用分治法对卫星接收任务规划问题进行分解,将大任务量的卫星数据接收任务问题分解为多个小任务量的子问题;
步骤2、对每一冲突任务集合,考虑星地资源约束,利用遗传算法优化配置每个卫星数据接收任务的地面接收资源,达到充分利用地面接收资源的目的;其中,所述步骤2具体包括以下子步骤:
(a)抽取COLLTASK中每个卫星数据接收任务的作业任务编号taskNumi至一列表COLLTASKNUMLIST中,其中,COLLTASK={taski|i∈[0,l-1],l>1},其中l代表冲突任务集合中任务的个数,COLLTASKNUMLIST={taskNumi|i∈[0,l-1],l>1},i代表任务的索引,即第几个任务,用7元组表示如下:taski=(taskNumi,sati,planstarti,planendi,anennai,taskSetNumi,weighti);taskNumi代表第i个任务的作业任务编号,即每个卫星数据接收任务的唯一标识号;sati代表第i个任务所属卫星;planstarti代表第i个任务的卫星机构确定的可接收的开始时间;planendi代表第i个任务的卫星机构确定的可接收的结束时间;antennai代表第i个任务安排的天线资源,即遗传算法规划完毕的天线资源;taskSetNumi代表第i个任务的冲突任务集序号;weighti代表以数字表示的第i个任务权重;
(b)将任务集合内的所有卫星数据接收任务采用随机算法生成表现型种群;
(c)根据表现型种群映射生成十进制型编码初始种群,作为迭代进化的个体;
(d)采用双保险决策方法判定群体迭代是否终止,所述双保险决策方法的判断条件为:群体迭代已达用户配置的群体迭代进化代数;或者,已达用户配置的种群无优化迭代数;
(e)对十进制型个体解码生成表现型个体:
(f)针对种群内的每个表现型个体进行资源分配,分配的原则是“先来先服务”,根据表现型个体内的染色体排列的先后顺序安排地面接收资源,地面接收资源主要考虑地面天线资源;
(g)兼顾卫星数据接收任务的满足度和权重,确定评价函数;
(h)保留最优表现型个体和十进制型个体;
(i)对十进制型群体进行遗传操作。
2.根据权利要求1所述的卫星接收任务分配方法,其中所述步骤1中采用分治法将大任务量的卫星数据接收任务分配问题分解的步骤如下:
(a)将TASK中的卫星数据接收任务按照计划开始时间planStart由小到大排序,排序后的冲突任务集合重新置于TASK中:
TASK={taski|i∈[0,n-1],n>1,planStarti≥planStarti-1};
其中,TASK为卫星数据接收任务集合,n代表卫星数据接收任务集合的个数;
(b)设置初始的任务集序号initTaskSetNum=0,设置待比较的最晚结束时间latestEndToCompare=planEnd0+switchTime,其中planEnd0为TASK中第1个任务的计划结束时间,switchTime为地面接收天线的切换时间;
(c)由第2个任务开始直至顺序遍历完毕TASK中的所有任务,依次比较当前任务的计划开始时间planStartcurr(curr∈[1,n-1])与latestEndToCompare的大小关系;若planStartcurr小于latestEndToCompare,则说明当前任务与遍历过的任务在时间上有冲突,设置当前任务的任务集序号taskSetNumcurr=initTaskSetNum;同时比较当前任务的计划结束时间planEndcurr与latestEndToCompare的大小关系,若planEndcurr大于latestEndToCompare,重置latestEndToCompare=planEndcurr+switchTime;若planStartcurr不小于latestEndToCompare,则说明当前任务与遍历过的任务在时间上没有冲突,则需要对initTaskSetNum进行加1操作,即initTaskSetNum=initTaskSetNum+1,同时设置当前任务的任务集序号taskSetNumcurr=initTaskSetNum;
(d)具备相同的taskSetNum的卫星数据接收任务归结为一子问题,划分为一冲突任务集合COLLTASK:
COLLTASK={taski|i∈[0,l-1],l>1},其中l代表冲突任务集合中任务的个数。
3.根据权利要求1所述的卫星接收任务分配方法,其中所述的每个表现型个体的生成方法包括以下步骤:
将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表TEMPTASKNUMLIST中,其中COLLTASKNUMLIST={taskNumi|i∈[0,l-1],l>1};
计算TEMPTASKNUMLIST中任务的个数chromNum,采用随机算法获取TEMPTASKNUMLIST中的元素索引taskIndex=Random(chromNum),其中Random(.)表示随机选择索引的操作;
从TEMPTASKNUMLIST中获取索引为taskIndex的作业任务编号做为表现型染色体,同时在TEMPTASKNUMLIST删除此索引的作业任务编号;当chromNum为零时,表现型个体生成结束;每个表现型个体表示如下:
INDIVIDUALPRESEN=
{taskNumPresen|taskNumPresen∈COLLTASKNUMLIST}。
4.根据权利要求1所述的卫星接收任务分配方法,其中所述的根据表现型种群映射生成十进制型编码初始种群的步骤包括:
(1)将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表TEMPTASKNUMLIST中;
(2)依次获取表现型种群INDIVIDUALPRESENi中的作业任务编号,根据作业任务编号获取其在TEMPTASKNUMLIST中的索引,每次获取完毕后将此作业任务编号在TEMPTASKNUMLIST中删除,直至INDIVIDUALPRESENi遍历完毕;将获取的索引按照先后顺序形成十进制型个体:
十进制型编码初始种群INDIVIDUALDECIMALi=
{num|num∈[0,m],m>0},i∈[0,popSize-1];
其中m代表遗传算法中个体的长度,popSize代表遗传算法中群体大小。
5.根据权利要求4所述的卫星接收任务分配方法,其中步骤(e)所述的对十进制型个体解码生成表现型个体的步骤包括:
将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表TEMPTASKNUMLIST中;
依次获取INDIVIDUALDECIMALi中的十进制索引,从TEMPTASKNUMLIST中获取相应索引位置的作业任务编号,每次获取完毕后将此作业任务编号在TEMPTASKNUMLIST中删除,直至INDIVIDUALDECIMALi遍历完毕;
将获取的作业任务编号按照先后顺序形成表现型个体INDIVIDUALPRESENi。
6.根据权利要求1所述的卫星接收任务分配方法,其中步骤(f)分配资源中的分配地面天线资源的步骤包括:
(1)针对每个表现型个体INDIVIDUALPRESENi,i∈[0,popSize-1]依次获取其中的表现型基因,即作业任务编号taskNumj,j∈[0,l-1],其中popSize代表遗传算法中群体大小;
(2)根据taskNumj获取相应卫星数据接收任务taskj的卫星代号satj;
(3)在SATTOANTENNA中获取与satj具备资源约束关系的天线资源ANTENNARES,设satj所在SATTOANTENNA中的第k列,则ANTENNARES表示如下:
ANTENNARES={antennai|i∈[0,n-1],saik=1},其中n代表所有天线的个数;
代表卫星和天线资源的约束关系;
其中antennap代表第p个天线,Satq代表第q个卫星;
设与卫星数据接收任务taskj冲突的其他任务占用的天线资源为ANTENNARES_COLL=
{antennai|i∈[0,n-1],antennai被冲突的任务占用};
则taskj可使用的无冲突的天线资源ANTENNARES_ENABLE表示如下:
ANTENNARES_ENABLE=ANTENNARES∩ANTENNARES_COLL;
若ANTENNARES_ENABLE为非空集合,则采用随机算法设置taskj的天线antennaj=Random(ANTENNARES_ENABLE);
若ANTENNARES_ENABLE为空集合,则taskj分配资源失败。
7.根据权利要求1所述的卫星接收任务分配方法,其中步骤(g)中所述兼顾卫星数据接收任务的满足度和权重,确定评价函数的计算公式如下:
其中E(n)代表第n个个体的评价值,l代表个体中任务的个数,recEndi代表第i个任务规划完毕的接收结束时间,recStarti代表第i个任务规划完毕的接收开始时间,planEndi代表第i个任务的计划开始时间,planStarti代表第i个任务的计划结束时间,weighti代表第i个任务的权重。
8.根据权利要求1所述的卫星接收任务分配方法,其中步骤(h)所述的保留最优表现型个体和十进制型个体的步骤包括:
根据当前代所有个体的适应度,找出适应度的最大值fitnessMax及其相应的最优表现型个体和十进制型个体;
根据当前代所有个体的适应度,找出适应度的最小值fitnessMin及其相应的最差表现型个体和十进制型个体;
对比当前代的最优个体与前代的最优个体,若当前代的最优个体优于前代的最优个体,则替换前代的最优个体;
替换当前代的最差个体为前代的最优个体,包括表现型个体和十进制型个体。
9.根据权利要求1所述的卫星接收任务分配方法,其中步骤(i)所述的对十进制型群体进行遗传操作的步骤包括:
根据轮盘赌选择算子从父群体中获取两个待交叉的十进制型个体INDIVIDUALDECIMALx和INDIVIDUALDECIMALy;
对INDIVIDUALDECIMALx和INDIVIDUALDECIMALy采用单点交叉方式进行交叉操作,在两个个体中随机选择一个交叉点,按照交叉概率pc利用伯努利试验函数确定两个个体是否交叉操作;
在交叉的过程中采用均匀变异算子按照变异概率pm进行变异操作;采用均匀变异算子,变异后的十进制型基因gi(i=0,1,2,...,n-1)所对应的等位基因只能从{0,1,2,...,n-i}中取,其中i代表基因在十进制型个体中的位置,n代表个体中基因的个数,即个体的长度;
遗传操作完毕后跳转到步骤(d)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510079205.8A CN104618495B (zh) | 2015-02-13 | 2015-02-13 | 卫星接收任务分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510079205.8A CN104618495B (zh) | 2015-02-13 | 2015-02-13 | 卫星接收任务分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618495A CN104618495A (zh) | 2015-05-13 |
CN104618495B true CN104618495B (zh) | 2019-01-15 |
Family
ID=53152770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510079205.8A Active CN104618495B (zh) | 2015-02-13 | 2015-02-13 | 卫星接收任务分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618495B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915482B (zh) * | 2015-05-27 | 2018-08-28 | 中国科学院遥感与数字地球研究所 | 一种卫星数据接收仿真分析平台 |
CN105068549B (zh) * | 2015-08-18 | 2017-09-29 | 航天东方红卫星有限公司 | 一种卫星任务自主连续规划方法 |
CN105182819A (zh) * | 2015-08-25 | 2015-12-23 | 航天恒星科技有限公司 | 一种卫星任务规划的系统及方法 |
CN106059652B (zh) * | 2016-05-30 | 2018-09-14 | 中国电子科技集团公司第五十四研究所 | 一种启发式快速卫星数据接收资源联合分配方法 |
CN106681807B (zh) * | 2016-11-28 | 2020-04-14 | 中国人民解放军国防科学技术大学 | 一种基于Spark的成像卫星任务预处理并行化方法 |
CN106611292A (zh) * | 2016-12-20 | 2017-05-03 | 中国电子科技集团公司第五十四研究所 | 一种基于可配置通用约束处理规则的卫星任务规划方法 |
CN106779431A (zh) * | 2016-12-26 | 2017-05-31 | 航天恒星科技有限公司 | 一种通信卫星的任务规划方法及系统 |
CN106845792A (zh) * | 2016-12-27 | 2017-06-13 | 中国电子科技集团公司第五十四研究所 | 基于星地资源模型的任务规划通用平台 |
CN106656308B (zh) * | 2017-01-05 | 2019-11-12 | 清华大学 | 空间信息网络中任务的规划方法和装置 |
CN107480814B (zh) * | 2017-07-28 | 2020-09-29 | 中国资源卫星应用中心 | 一种预测海量卫星观测需求满足度的方法 |
CN107609803B (zh) * | 2017-10-27 | 2021-03-26 | 国网河南省电力公司商丘供电公司 | 一种网络用户需求调度方法及装置 |
CN108090631B (zh) * | 2018-01-22 | 2020-10-09 | 合肥工业大学 | 卫星应急任务动态规划方法及装置 |
CN108880732B (zh) * | 2018-04-18 | 2019-10-22 | 中国电子科技集团公司第五十四研究所 | 一种基于分治算法的卫星导航系统扩频码互相关优化方法 |
CN108880663B (zh) * | 2018-07-20 | 2020-09-22 | 大连大学 | 基于改进遗传算法的天地一体化网络资源分配方法 |
CN109814999B (zh) * | 2019-01-23 | 2020-10-30 | 中国科学院遥感与数字地球研究所 | 一种地面站资源调度方法 |
CN109960268B (zh) * | 2019-03-29 | 2021-12-07 | 航天恒星科技有限公司 | 面向遥感卫星接收站的异构设备资源动态调度方法及系统 |
CN111162831B (zh) * | 2019-12-24 | 2020-12-15 | 中国科学院遥感与数字地球研究所 | 地面站资源调度方法 |
CN113553721A (zh) * | 2021-07-30 | 2021-10-26 | 中国电子科技集团公司第五十四研究所 | 一种对地观测卫星任务排程方法 |
CN116225668B (zh) * | 2023-05-08 | 2023-07-21 | 中国科学院空天信息创新研究院 | 高轨多星定位任务组合调度方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101975946A (zh) * | 2009-11-23 | 2011-02-16 | 北京遥感信息研究所 | 采用病毒进化遗传算法进行多星任务规划的搜索处理方法 |
CN103345504A (zh) * | 2013-07-03 | 2013-10-09 | 邢立宁 | 单星调度的算子构建方法 |
CN104008443A (zh) * | 2014-05-13 | 2014-08-27 | 中国科学院遥感与数字地球研究所 | 一种陆地观测卫星数据地面接收站网的任务规划调度系统 |
CN104113368A (zh) * | 2014-07-01 | 2014-10-22 | 中国科学院遥感与数字地球研究所 | 基于接收资源能力约束的地面接收资源分配方法 |
-
2015
- 2015-02-13 CN CN201510079205.8A patent/CN104618495B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101975946A (zh) * | 2009-11-23 | 2011-02-16 | 北京遥感信息研究所 | 采用病毒进化遗传算法进行多星任务规划的搜索处理方法 |
CN103345504A (zh) * | 2013-07-03 | 2013-10-09 | 邢立宁 | 单星调度的算子构建方法 |
CN104008443A (zh) * | 2014-05-13 | 2014-08-27 | 中国科学院遥感与数字地球研究所 | 一种陆地观测卫星数据地面接收站网的任务规划调度系统 |
CN104113368A (zh) * | 2014-07-01 | 2014-10-22 | 中国科学院遥感与数字地球研究所 | 基于接收资源能力约束的地面接收资源分配方法 |
Non-Patent Citations (1)
Title |
---|
多星多站对地观测任务规划技术研究;冯阳;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20130515;正文第3.1、3.3小节、第47页第1-5段 * |
Also Published As
Publication number | Publication date |
---|---|
CN104618495A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618495B (zh) | 卫星接收任务分配方法 | |
Long et al. | Rural restructuring under globalization in eastern coastal China: what can be learned from Wales? | |
CN112766813B (zh) | 一种空天协同观测复杂任务调度方法 | |
CN105046338B (zh) | 移动平台上的智能快递配送方法 | |
CN106203893A (zh) | 一种众包环境下的基于遗传算法的任务分配方法 | |
CN101441580B (zh) | 分布式并行计算平台系统及其计算任务分配方法 | |
Qi et al. | A spatiotemporal partitioning approach for large-scale vehicle routing problems with time windows | |
CN109447317A (zh) | 一种基于多人同时拣货的仓库最短路径优化方法 | |
CN105825303B (zh) | 一种甩挂运输的任务分配方法 | |
CN103744733A (zh) | 成像卫星资源调用配置方法 | |
CN109409773A (zh) | 一种基于合同网机制的对地观测资源动态规划方法 | |
CN109933842A (zh) | 一种基于约束满足遗传算法的移动目标单星任务规划方法 | |
CN104657795A (zh) | 多卫星对地协同观测的待观测任务确定方法及装置 | |
CN104063749A (zh) | 一种基于滚动时域控制的成像卫星自主任务规划算法 | |
CN105205052B (zh) | 一种数据挖掘方法及装置 | |
Ribas et al. | A micro-genetic algorithm for multi-objective scheduling of a real world pipeline network | |
Zarghami et al. | Urban water resources planning by using a modified particle swarm optimization algorithm | |
Allahi et al. | An integrated AHP-GIS-MCLP method to locate bank branches | |
CN109615188A (zh) | 一种预分配结合匈牙利算法的多机器人任务分配方法 | |
CN104680238A (zh) | 多卫星对地协同观测的待观测任务确定方法 | |
CN106651277A (zh) | 一种基于区域物流信息的网络传输系统及数据分析方法 | |
CN104842564A (zh) | 一种基于nsga-ii的三维打印多任务优化调度方法 | |
CN103200242A (zh) | 基于物联网构建跨层面数据分析枢纽的方法 | |
CN109948940A (zh) | 一种基于启发式算法的Web服务众包测试任务分配方法 | |
CN109239735A (zh) | 虚拟星座协作观测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |