多星多站测控任务的改进遗传规划方法
文献发布时间:2024-04-29 00:47:01
技术领域
本发明涉及一种多星多站测控任务的改进遗传规划方法,属于航空航天技术领域。
背景技术
卫星测控是指地面站利用无线电遥控设备向卫星发射遥控指令,从而控制卫星的运动和动作状态,卫星测控对卫星正常在轨运行和日常管理具有至关重要的作用。然而,随着航天事业的发展、卫星数量的增加等因素,加剧了卫星测控资源的匮乏,必须考虑如何根据用户需求对多星多站进行合理分配调度从而最大化卫星效能。多星多站测控任务规划即在满足约束条件情况下,综合考虑测控任务需求、卫星资源等因素,为每颗卫星的测控任务分配测控资源,制定有效的测控方案,使测控收益最大化。
多星多站测控任务规划问题属于组合优化问题,目前提出的解决方法主要分为数学规划算法、启发式算法和智能算法三大类。数学规划算法是利用整数规划、线性/非线性规划等模型解决问题,但模型的表述能力有限,因此仅适用于小规模较简单问题的求解。启发式算法通过提取启发式信息有效提高了算法效率,通常能够得到可行解,但是容易陷入局部最优。智能算法主要包括蚁群算法、遗传算法等。智能算法全局寻优能力强,然而,随着测控规模增大,求解空间规模扩大,已有算法难以满足测控约束和效率需求。目前,遗传算法已被应用于解决小规模卫星测控任务规划问题,对于大规模卫星测控任务规划问题仍有待深入研究。
发明内容
为应对多星多站测控任务规划问题中星多站少、星地测控弧段冗余量大的问题,同时,提高问题求解效率和求解质量,本发明提供一种多星多站测控任务的改进遗传规划方法,根据多星多站测控任务规划特征,采用整数类型与哈希表类型组合的字典表示测控任务,以保证其在多次读取和删除操作下的计算效率;采用实数编码形式建立包含收益值和规划解的结构体类型表示染色体,设定任务优先级为遗传算法优化指标,计算任务的时间窗口冲突字典,进而设计考虑时间窗口冲突的染色体生成方法,筛选部分优势任务生成初始种群,从而辅助后续迭代优化方向的探索,缩短了种群优化时长;建立考虑时间窗口冲突的交叉与变异算子,同时使用并行化提高了算法运行效率,通过选择、交叉、变异算子的迭代不断优化种群最终获得测控任务规划解。本发明不仅结合多星多站测控任务规划模型建立了测控任务与染色体的表示方法,而且在遗传算法过程中考虑时间窗口冲突因素,同时使用并行化操作,缩小了解空间规模,提高了搜索效率和规划解的质量。
本发明的目的是通过下述技术方案实现的。
本发明公开的多星多站测控任务的改进遗传规划方法,包括如下步骤:
步骤一、根据多星多站测控任务规划问题特征,建立整数类型与哈希表类型组合的字典表示测控任务和冲突任务,提高测控任务与冲突任务在被多次读取或删除操作下的计算效率。
定义输入测控任务集为T=[T
T
其中,i表示测控任务编号,t
按照卫星编号对测控任务集进行分类,定义测控任务字典D为:
其中,′1′,′2′,…,′n′表示卫星编号,n为卫星总数,t
测控任务时间窗口冲突约束是指同一时刻一颗卫星、一个地面站只能进行一个测控任务,因此冲突任务判断条件为测控任务i、j的卫星编号相同,且测控任务开始时刻到结束时刻存在时间重叠;或者,测控任务i、j的地面站编号相同,且测控任务开始时刻到结束时刻存在时间重叠,即
其中
根据上述冲突判断标准,定义冲突任务字典C为:
其中,′1′,′2′,…,′m′表示测控任务编号,m为测控总数,c
步骤二、根据任务集及步骤一中建立的测控任务字典及冲突任务字典,采用实数编码形式建立包含收益值和规划解的结构体类型表示染色体,设计考虑时间窗口冲突的染色体生成方法,为考虑时间冲突的交叉变异算子的建立提供基础。
首先对测控任务字典D进行复刻,复刻后测控任务字典为D
其中,[t
初始化染色体中规划解序列为[0,0,…,0],序列长度为预设值l。规划解序列生成按照卫星编号进行,Tasks
t
其中random.Next(k
从第1颗卫星开始选择测控任务代替规划解序列中第1个0值,在测控任务字典D
步骤三,根据步骤二中建立染色体G,构建染色体基因与卫星编号对应关系,为种群的迭代优化奠定基础,设计筛选部分优势任务生成初始种群的方法,从而辅助迭代优化方向的探索,缩短了种群优化时长,缩小了规划解的探索空间,并使用并行化操作,提高了算法运行效率。
按照任务优先级筛选T中优势任务集T
Pop
步骤四,计算种群中每个染色体的收益值即fitness,并对种群使用选择算子,按照fitness的值对染色体进行降序排序,并选择预设百分比数量的染色体组成新种群Pop
根据多星多站测控任务规划特征,设置染色体收益值fitness为规划解序列中所有任务编号对应的任务优先级之和,其表示如式(9),其中pri
按照fitness的值对染色体进行降序排序,并选择预设百分比数量的染色体组成新种群Pop
步骤五,建立考虑时间窗口冲突的交叉算子,在考虑时间窗口约束的条件下进行染色体规划解片段的交换,既满足了测控任务规划约束,又保证了探索可达域的范围和种群多样性,同时缩小了解空间规模,提高了算法运行效率。
先对测控任务字典D进行复刻,复刻后测控任务字典为D
CrossPoint=random.Next(p
初始化子代染色体为child,染色体中规划解序列为[0,0,…,0],序列长度为预设值l;
子代染色体CrossPoint前的规划解序列与第一个染色体保持一致,对该部分序列中的每一个任务序号进行冲突任务删除,即在测控任务字典D
CrossPoint后且规划解序列中位置为v的基因值t
若测控任务字典D
按照基因位置前后依次对子代染色体child中的规划解序列进行替代,每个位置基因值确定后,均需根据冲突任务字典C进行对应任务删除,即在测控任务字典D
步骤六,建立考虑时间冲突的变异算子,在满足约束条件下,提高种群多样性,减小搜索空间,提高了算法运行效率。根据预设变异率对步骤五中生成的子代染色体child进行变异算子操作,得到变异个体。
变异算子操作为:
预设变异率为R
random.NextDouble() 则先对测控任务字典D进行复刻,复刻后测控任务字典为D MutatePoint=random.Next(p 对child规划解序列中非变异基因位置的其余任务序号依次进行任务删除操作,即child中非变异基因位置的所有测控任务及其冲突任务在测控任务字典D 根据变异基因位置MutatePoint得到该位置对应卫星编号为sat′ 判断测控任务字典为D 若不满足式(14),则变异个体child′即为染色体child。 步骤七,采用并行形式重复步骤五、步骤六,产生一定数量的新个体构成新种群Pop 新种群Pop 步骤八,重复步骤四、步骤五、步骤六、步骤七至终止,终止条件为达到预设迭代次数,得到多星多站测控任务规划解为种群Pop 有益效果: 1、本发明公开的多星多站测控任务的改进遗传规划方法,采用实数编码形式建立包含收益值和规划解的结构体类型表示染色体,设计了考虑时间窗口冲突的染色体生成方法,建立染色体基因与卫星编号的对应关系,为考虑时间冲突的交叉变异算子的建立及种群的迭代优化奠定基础。 2、本发明公开的多星多站测控任务的改进遗传规划方法,通过建立考虑时间窗口冲突的交叉算子和变异算子,在考虑时间窗口约束的条件下进行染色体规划解片段的交换及部分基因的替换,既满足了测控任务规划约束,又保证了探索可达域的范围和种群多样性,同时缩小了解空间规模,提高了算法运行效率。 3、本发明公开的多星多站测控任务的改进遗传规划方法,设计了筛选部分优势任务生成初始种群的方法,有效辅助迭代优化方向的探索,缩短了种群优化时长。 4、本发明公开的多星多站测控任务的改进遗传规划方法,建立整数类型与哈希表类型组合的字典表示测控任务和冲突任务,采用哈希表对测控任务进行分类,保证测控任务与冲突任务在被多次读取或删除操作下的计算效率。 5、本发明公开的多星多站测控任务的改进遗传规划方法,在种群初始化步骤和交叉变异步骤加入并行化操作,使用并行锁保护多线程的染色体生成,提高了大规模测控任务规划问题的求解速度。 附图说明 图1是本发明公开的本发明公开的多星多站测控任务的改进遗传规划方法流程图。 图2是本发明公开的本发明公开的多星多站测控任务的改进遗传规划方法每次迭代最优个体收益值曲线图。 图3是本发明公开的多星多站测控任务的改进遗传规划方法与常规遗传算法的收益值对比曲线,其中(a)为常规遗传算法的收益值曲线,(b)为多星多站测控任务的改进遗传规划方法的收益值曲线。 具体实施方式 为了更好的说明本发明的目的和优点,下面结合附图和实施例对发明内容做进一步说明。 为了验证方法的可行性,设定如下的任务背景:24颗卫星,20地面站,卫星轨道类型为圆轨道,轨道高度为600km,轨道数量为3,地面站选择青岛、成都等地的20个地面测控站,场景的调度起止时间为2023/11/24 00:00:00到2023/11/25 00:00:00,共一天。由上述场景在STK中计算每个测控站与每颗卫星的可见时间段,产生共2949个测控任务。 如图1所示,本实施例公开的多星多站测控任务的改进遗传规划方法,具体实现步骤如下: 步骤一,根据多星多站测控任务规划特征,建立整数类型与哈希表类型组合的字典表示测控任务和冲突任务,保证测控任务与冲突任务在被多次读取或删除操作下的计算效率。 定义输入测控任务集为T=[T T 按照卫星编号对测控任务集进行分类,定义测控任务字典D为: 其中,′1′,′2′,…,′24′表示卫星编号,t 测控任务时间窗口冲突约束是指同一时刻一颗卫星、一个地面站只能进行一个测控任务,因此冲突任务判断条件为测控任务i、j的卫星编号相同,且测控任务开始时刻到结束时刻存在时间重叠;或者,测控任务i、j的地面站编号相同,且测控任务开始时刻到结束时刻存在时间重叠,即 其中 根据上述冲突判断标准,定义冲突任务字典C为: 其中,′1′,′2′,…,′2949′表示测控任务编号,c 步骤二,根据任务集及步骤一中建立的测控任务字典及冲突任务字典,采用实数编码形式建立包含收益值和规划解的结构体类型表示染色体,设计考虑时间窗口冲突的染色体生成方法,为考虑时间冲突的交叉变异算子的建立奠定基础。 首先对测控任务字典D进行复刻,复刻后测控任务字典为D 其中,[t 初始化染色体中规划解序列为[0,0,…,0],序列长度为预设值720。规划解序列生成按照卫星编号进行,Tasks t 其中random.Next(k 从第1颗卫星开始选择测控任务代替规划解序列中第1个0值,在测控任务字典D 步骤三,根据步骤二中建立的染色体结构体,构建染色体基因与卫星编号的对应关系,为种群的迭代优化奠定基础,设计筛选部分优势任务生成初始种群Pop 按照任务优先级筛选T中优势任务集T Pop 步骤四,计算种群中每个染色体的收益值即fitness,并对种群使用选择算子,按照fitness的值对染色体进行降序排序,并选择预设百分比数量的染色体组成新种群Pop 根据多星多站测控任务规划特征,设置染色体收益值fitness为规划解序列中所有任务编号对应的任务优先级之和,其表示如式(9),其中pri Pop 按照fitness的值对染色体进行降序排序,并选择预设百分比数量的染色体组成新种群Pop 步骤五,建立考虑时间窗口冲突的交叉算子,在考虑时间窗口约束的条件下进行染色体规划解片段的交换,既满足了测控任务规划约束,又保证了探索可达域的范围和种群多样性,同时缩小了解空间规模,提高了算法运行效率。 先对测控任务字典D进行复刻,复刻后测控任务字典为D CrossPoint=random.Next(p 初始化子代染色体为child,染色体中规划解序列为[0,0,…,0],序列长度为预设值720。 子代染色体CrossPoint前的规划解序列与染色体G CrossPoint后且规划解序列中位置为v的基因值t 若测控任务字典D 按照基因位置前后依次对子代染色体child中的规划解序列进行替代,每个位置基因值确定后,均需根据冲突任务字典C进行对应任务删除,即在测控任务字典D 步骤六,建立考虑时间冲突的变异算子,在满足约束条件下,提高种群多样性,减小搜索空间,提高了算法运行效率。根据预设变异率对步骤五中生成的子代染色体child进行变异操作,得到变异个体。 预设变异率为0.2,若满足式(13),其中random.NextDouble()表示在[0,1)范围内生成随机值。 random.NextDouble()<0.2 (13) 则先对测控任务字典D进行复刻,复刻后测控任务字典为D MutatePoint=random.Next(p 对child规划解序列中非变异基因位置的其余任务序号依次进行任务删除操作,即child中非变异基因位置的所有测控任务及其冲突任务在测控任务字典D 根据变异基因位置MutatePoint得到该位置对应卫星编号为sat′ 判断测控任务字典为D 若不满足式(13),则变异个体child′即为染色体child; 步骤七,采用并行形式重复步骤五、步骤六产生一定数量的新个体构成新种群Pop 交叉变异得到的新种群Pop Pop 步骤八,重复步骤四、步骤五、步骤六、步骤七至终止,终止条件为达到预设迭代次数500,最终得到多星多站测控任务规划解为种群Pop 在相同问题背景下下选取常规遗传算法与本发明公开的多星多站测控任务的改进遗传规划方法对比相同迭代次数下的任务收益值及收敛性能,常规遗传算法对时间约束的处理为给予惩罚值,从图3中可以看出,本文提出的多星多站测控任务的改进遗传规划方法任务收益明显高于遗传算法,收敛速度略慢于常规遗传算法,但显然常规遗传算法收敛于局部最优值,解的质量过差,说明多星多站测控任务的改进遗传规划方法具有更高的求解效率,规划结果更优。 以上所述的具体描述,对发明的目的、技术方案和有益效果进行进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 基于遗传迭代搜索的多星多阶段观测任务规划方法和系统
- 一种基于四层结构遗传算法的多星任务规划方法