卫星接收任务分配方法

文档序号:8301789阅读:566来源:国知局
卫星接收任务分配方法
【技术领域】
[0001] 本发明涉及航天地面接收领域,更具体地涉及一种卫星接收任务分配方法。
【背景技术】
[0002] 卫星接收任务规划针对各个卫星机构下达的卫星数据接收任务,在地面接收资源 有限的条件下,综合利用分治法和遗传算法的对卫星数据接收任务进行地面接收资源冲突 消解,形成无冲突和优化的卫星数据接收任务规划方案,以达到充分利用地面接收资源的 目的。
[0003] 传统的卫星数据接收任务分配靠操作员手动分配地面接收资源,这种方法存在两 方面的缺陷。其一,地面接收资源的利用率较低,尤其在卫星数据接收任务量较多且冲突的 前提下,靠手动分配资源在很大程度上不能充分发挥地面接收资源的接收能力。其二,操作 员的效率低,操作员需要实时考虑卫星数据接收任务的资源占用情况,且需要对资源做验 证处理,这都需要耗费大量的时间和精力,导致传统的卫星数据接收任务分配方法效率低 下,不能及时响应任务的突发情况。

【发明内容】

[0004] 有鉴于此,本发明的主要目的之一在于提供一种卫星接收任务分配方法,在综合 考虑地面接收资源的前提下,利用分治法将大任务量的卫星数据接收任务分配问题分解为 多个小任务量的子问题;而利用遗传算法针对每个小任务量的子问题进行求解以快速形成 无冲突和优化的卫星数据接收任务分配方案,从而达到充分利用地面接收资源的目的。
[0005] 为了实现上述目的,本发明提供了一种卫星接收任务分配方法,包括以下步骤:
[0006] 步骤1、采用分治法对卫星接收任务规划问题进行分解,将大任务量的卫星数据接 收任务问题分解为多个小任务量的子问题;
[0007] 步骤2、对每一冲突任务集合,考虑星地资源约束,利用遗传算法优化配置每个卫 星数据接收任务的地面接收资源,达到充分利用地面接收资源的目的。
[0008] 其中,所述步骤1中采用分治法将大任务量的卫星数据接收任务分配问题分解的 步骤如下:
[0009] (a)将TASK中的卫星数据接收任务按照计划开始时间planStart由小到大排序, 排序后的冲突任务集合重新置于TASK中:
[0010] TASK = Itaski I i e [0, n_l], η > I, PlanStartiS planStart η};
[0011] 其中,TASK为卫星数据接收任务,用7元组表示如下:
[0012] task = (taskNum, sat, planStart, planEnd, antenna, taskSetNum, weight);
[0013] 其中,taskNum代表作业任务编号,即每个卫星数据接收任务的唯一标识号;sat 代表任务所属卫星;planStart代表任务的计划开始时间,卫星机构确定的可接收的开始 时间;pIanEnd代表任务的计划结束时间,卫星机构确定的可接收的结束时间;antenna代 表任务安排的天线资源,即遗传算法规划完毕的天线资源;taskSetNum代表任务的冲突任 务集序号;weight代表以数字表不的任务权重;
[0014] (b)设置初始的任务集序号initTaskSetNum = 0,设置待比较的最晚结束时间 IatestEndToCompare = planEndQ+switchTime,其中 planEnd。为 TASK 中第 1 个任务的计划 结束时间,switchTime为地面接收天线的切换时间;
[0015] (C)由第2个任务开始直至顺序遍历完毕TASK中的所有任务,依次比较当前任 务的计划开始时间 PlanStarteurr(curr e [1,n-1])与 IatestEndToCompare 的大小关 系;若PlanStarteim小于IatestEndToCompare,则说明当前任务与遍历过的任务在时间 上有冲突,设置当前任务的任务集序号taskSetNum。^= initTaskSetNum ;同时比较当 前任务的计划结束时间PlanEndam与IatestEndToCompare的大小关系,若planEnd 大于 IatestEndToCompare,重置 IatestEndToCompare = planEndcurr+switchTime ;若 PlanStartam不小于IatestEndToCompare,则说明当前任务与遍历过的任务在时间上没有 冲突,则需要对 initTaskSetNum 进行加 1 操作,即 initTaskSetNum = initTaskSetNum+1, 同时设置当前任务的任务集序号taskSetNum。^= initTaskSetNum ;
[0016] (d)具备相同的taskSetNum的卫星数据接收任务归结为一子问题,划分为一冲突 任务集合C0LLTASK :
[0017] COLLTASK = ItaskiIi e [0, 1-1],I > 1},其中1代表冲突任务集合中任务的个 数。
[0018] 其中,所述步骤2包括:
[0019] (a)抽取C0LLTASK中每个卫星数据接收任务的作业任务编号taskNum至一列表 COLLTASKNUMLIST 中,其中 COLLTASKNUMLIST = ItaskNumiIi e [0, 1-1],1 > 1};
[0020] (b)将任务集合内的所有卫星数据接收任务采用随机算法生成表现型种群;
[0021] (C)根据表现型初始种群映射生成十进制型编码初始种群,作为迭代进化的个 体;
[0022] (d)采用双保险决策方法判定群体迭代是否终止,所述双保险决策方法的判断条 件为:群体迭代已达用户配置的群体迭代进化代数;或者,已达用户配置的种群无优化迭 代数;
[0023] (e)对十进制型个体解码生成表现型个体:
[0024] (f)针对种群内的每个表现型个体进行资源分配,分配的原则是"先来先服务",根 据表现型个体内的染色体排列的先后顺序安排地面接收资源,地面接收资源主要考虑天线 资源;
[0025] (g)计算个体的适应度,确定评价函数;
[0026] (h)保留最优表现型个体和十进制型个体;
[0027] (i)对十进制型群体进行遗传操作。
[0028] 其中,所述的每个表现型个体的生成方法包括以下步骤:
[0029] 将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表 TEMPTASKNUMLIST 中,其中 COLLTASKNUMLIST = ItaskNumiIi e [0, 1-1],1 > 1};
[0030] 计算TEMPTASKNUMLIST中任务的个数chromNum,采用随机算法获取 TEMPTASKNUMLIST 中的兀素索引 tasklndex = Random(chromNum),其中 RandomC )表不随 机选择索引的操作;
[0031] 从TEMPTASKNUMLIST中获取索引为tasklndex的作业任务编号做为表现型染色 体,同时在TEMPTASKNUMLIST删除此索引的作业任务编号;当chromNum为零时,表现型个体 生成结束;每个表现型个体表示如下:
[0032] INDIVIDUALPRESEN =
[0033] {taskNumPresenItaskNumPresen e COLLTASKNUMLIST}。
[0034] 其中,所述的根据表现型初始种群INDIVIDUALPRESENi映射生成十进制型编码初 始种群INDIVIDUALDECIMAL i的步骤包括:
[0035] (1)将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表 TEMPTASKNUMLIST 中;
[0036] (2)依次获取INDIVIDUALPRESENi中的作业任务编号,根据作业任务编号获取其在 TEMPTASKNUMLIST中的索引,每次获取完毕后将此作业任务编号在TEMPTASKNUMLIST中删 除,直至INDIVIDUALPRESEN i遍历完毕;将获取的索引按照先后顺序形成十进制型个体:
[0037] INDIVIDUALDECIMALi =
[0038] {num I num e [0, m],m > 0}, i e [0, p0pSize-l]。
[0039] 其中,步骤(e)所述的对十进制型个体解码生成表现型个体的步骤包括:
[0040] 将COLLTASKNUMLIST中的所有元素按索引由小到大拷贝至新列表 TEMPTASKNUMLIST 中;
[0041] 依次获
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1