一种基于改进遗传与萤火虫组合算法的多卫星多点目标观测任务规划方法

文档序号:26139209发布日期:2021-08-03 14:22阅读:158来源:国知局
一种基于改进遗传与萤火虫组合算法的多卫星多点目标观测任务规划方法

本发明属于卫星观测领域,特别是涉及一种基于改进遗传与萤火虫组合算法的多卫星多点目标观测任务规划方法。



背景技术:

在卫星规划问题的研究中,根据所采用的方法可以大体上分为两类:采用智能优化算法的研究方法和使用深度学习进行优化的研究方法。如果要求卫星观测资源充分利用、目标按照优先级合理分配观测资源,就需要使用智能优化算法来解决这一类问题。因为深度学习的解决方法是使用给定卫星的历史调度数据,训练基于增广拓扑协同神经进化的预测模型来预测不同卫星完成任务的概率,最终提出一种数据驱动的并行规划方法。这一方法的问题在于过度依赖历史数据,最终结果受历史数据的优劣影响较大,而且大量历史数据的获取较为困难。因此,在当前研究下,使用智能优化算法是一种成本更低且更稳定的有效方案。

多卫星多点目标观测任务规划方案的目的是能够在多因素约束下找到不同优先级目标的较均衡观测组合。在现有的多卫星多点目标观测任务规划方案中,常用的算法有遗传算法、模拟退火算法、粒子群算法、蚁群算法等。但是在实际运用中,由于多卫星多点目标观测任务规划问题的特性,即解空间中多数解为不可行解,因此单纯的某种算法往往不能得出较好的结果,会得出大量无效解,即使得出有效解,算法自身的某个流程效率不高,没有发挥充分的寻优功能也会降低结果可用性。

遗传算法是最多用于卫星观测任务规划的可行方法,但其自身运用到这一问题上时,自身的不定向变异流并不能起到很好的寻优作用,且随着算法逐渐收敛,算法在局部范围的寻优性能较差。本发明对传统遗传算法进行改进,改进后的遗传算法能根据种群个体差异进行不同操作。由于萤火虫算法具有后期较好的局部性,能够明显改善遗传算法的寻优能力,因此本发明提出将萤火虫算法与改进后的遗传算法进行结合一起用于多卫星多目标观测任务规划。



技术实现要素:

本发明针对现有技术的不足,提供一种基于改进遗传与萤火虫组合算法的多卫星多点目标观测任务规划方法。首先使用0-1编码法随机生成200个卫星观测任务序列,并根据观测任务序列是否是可行解计算其适应度,然后对不可行解和适应度较低的可行解执行萤火虫的靠近过程,并计算靠近后的个体适应度,接着使用精英保留法与轮盘赌法选择个体进行交叉,最后按照个体是否可行解和相应的变异概率进行变异操作。

为了达到上述目的,本发明提供的技术方案是一种基于改进遗传与萤火虫组合算法的多卫星多点目标观测任务规划方法,包括以下步骤:

步骤1,使用0-1编码对卫星观测任务序列进行随机生成,形成种群;

步骤2,遍历种群,根据是否是可行解计算适应度;

步骤3,对不可行解和适应度低的可行解进行萤火虫的靠近过程,并计算靠近后的个体适应度;

步骤4,对执行靠近过程后的种群个体进行“交叉”操作;

步骤5,根据是否是可行解分别以不同的概率对基因点位进行“变异”操作;

步骤6,判断当前种群是否满足退出迭代的要求,若满足则输出结果,否则重复步骤2-步骤5。

而且,所述步骤1是将模拟仿真场景内卫星对目标的所有重访条目视为基因点位,并按照卫星-时间顺序进行二重排列,即先把所有的条目先按照卫星名称排序,然后再在卫星名称相同的条目集合内部按照时间先后排序,二重排列后的所有基因构成一条染色体。对于需要执行的观测任务,其在染色体对应位置上的基因被置为1,否则置为0。种群的初始化即随机产生200个染色体个体。

而且,所述步骤2中为了实现高优先级目标更多的被观测,同时又不让高优先级目标完全挤占低优先级目标的观测窗口,定义公式(1)和公式(2)计算出各染色体的适应度。对于相同观测次数的目标,高优先级目标可以提供更大的适应度值,但随着观测次数增多,目标的适应度值增长速度逐渐下降,这样就保证了当高优先级目标被观测到一定次数后,会给低优先级目标“让路”。根据染色体序列(即卫星观测任务序列)中各观测任务是否都能执行,将染色体序列分为可行解和不可行解。若卫星观测任务序列中存在有执行冲突的任务,则这个观测任务序列为不可行解。将公式(2)得到的可行解的适应度乘以一个较大的系数得到最终的适应度,然后根据最终适应度对染色体进行由大到小排序,这样便保证可行解在种群的头部,而不可行解在次一级的位置。最终的计算公式如下:

其中,fitness(n)是单个目标n提供的适应度,target_count为场景内点目标个数,fi为染色体i中所有目标提供的适应度之和,priorn为目标n的优先级,countn为目标n被观测次数,为染色体的最终适应度,式(3)将可行解的适应度乘以系数5,保证其处在种群的头部,更有可能传播到下一代。

而且,所述步骤3中不同个体间的吸引度在原萤火虫算法中由“亮度”和“距离”两个因素共同决定,亮度低的个体向亮度高的个体靠近,个体之间的吸引度由下述公式得到:

其中,β(r)表示当两个个体距离为r时,较亮个体对另一个体的吸引度;λ为吸引度系数,通常设置为β(0)为距离为0时的吸引度,一般设置为1。

最终,被吸引个体移动的距离与吸引度大小有关,原算法中萤火虫个体位置更新的计算方式如下:

其中,xi为萤火虫个体i的位置,xj为亮度比个体i更高的个体j的位置,α为常数,rand()是一个随机函数,表示萤火虫个体i被吸引后的新位置,由其原位置向新个体移动的距离和最后的随机方向扰动共同决定。

将萤火虫算法和遗传算法组合后,每个染色体的适应度即代表了“亮度”,即适应度低的染色体会向适应度高的染色体靠近。由于0-1编码染色体的每一维度上变量较少而维度整体较多,因此可以使用每个个体在所有维度上差异的总和作为两个个体间的“距离”。例如染色体a和染色体b间只有一个基因点位不同,则这两者之间“距离”就为1。基于这个“距离”与公式(4)的思想,可以设计得到组合算法中的吸引度公式(6),也就是适应度低的染色体各差异基因点位向适应度高的染色体定向变异的概率,具体如下:

p=e-λk(6)

其中,λ为吸引度系数,通常设置为k为差异个数。

得到染色体定向变异概率后,根据染色体定向变异概率对适应度低的染色体的差异基因点位进行定向异变,然后对执行靠近过程后的各染色体重新计算其适应度。

而且,所述步骤4中遗传算法的交叉选择部分使用了轮盘赌选择法与精英保留法的结合方法。精英保留法是在遗传算法的执行过程中,直接将每次迭代中生成的最优子代个体直接“保送”下一代,从而保证其优良特性。而轮盘赌法中个体被选中的概率与其对环境的适应度成正比,即适应度越高的个体越容易被选中进入下一代。本发明先使用精英保留法从步骤3定向变异后的染色体选出适应度最大的前10个染色体,然后再用轮盘赌选择法从步骤3定向变异后的染色体随机选出两个染色体进行“交叉”操作,得到新的190个染色体。“交叉”操作即为对选中的两个染色体随机选择相对应的点位进行基因互换。

而且,所述步骤5是对遗传算法进行改进的关键部分,即改进遗传算法对于个体的变异方式。“变异”算子作用于单个染色体,其原意是用于产生一定的扰动,适当降低收敛速度,从而跳出局部最优达成全局最优解。对于本发明变异过程不只是扩大搜索范围,更是寻找可行解乃至最优解的重要部分,因此设计不同的变异策略和参数来进行这一过程。对于可行解,将0点位的基因按照中等概率pm反转为1,同时为了降低反转后该染色体个体变为不可行解的概率,以一个小于pm的概率pl将1点位的基因反转为0。而对于不可行解,对1点位基因以一个大于pm的概率ph反转为0,然后同样以较低概率pl将0反转为1。其中,pm、pl、ph为经验值。

而且,所述步骤6中设置了两个并行的退出条件,当满足其中任一条件即可完成算法迭代,输出结果。

(1)当算法种群迭代次数达到500代后,算法退出,解码最优染色体,生成卫星观测任务序列;

(2)当算法种群连续100代没有产生新的最优个体时,算法退出,解码最优染色体,生成卫星观测任务序列。

与现有技术相比,本发明的优点和有益效果:1、本发明提出的改进遗传算法比起传统遗传算法具有更强的针对性,通过先行判别规划方案的可行与否,并据此对任务序列进行分别处理,能够较传统遗传算法更快的跳出不可行解区域,找到可行解,从而进入之后的选择过程。2、本文对改进后的遗传算法引入了之前尚未被使用在这一问题上的萤火虫算法,用于提升遗传算法中交叉、变异过程的筛选寻优能力。单纯的改进遗传算法针对卫星规划问题过度依赖变异过程来产生更优个体,而变异过程的随机性太强,单次实验的结果优劣难以预料,萤火虫算法较好的局部性恰好弥补了遗传算法这方面的不足,通过让多数不良个体定向向最优个体靠拢,加大了算法在最优解附近的搜索能力,同时让交叉过程更多地发生在较优个体中,显著提升了算法性能。3、本发明采用的是非机器学习的仿真模拟优化方案,摆脱了卫星规划对于往期大量规划数据的需求,不受过往较差规划方案的影响;同时,通过仿真,能够摆脱时间的约束,提前对卫星的规划作出决策与评估,降低了成本。

附图说明

图1是本发明实施例的流程图。

图2是本发明实施例改进遗传算法变异过程的流程图。

具体实施方式

本发明提供一种基于改进遗传与萤火虫组合算法的多卫星多点目标观测任务规划方法,首先使用0-1编码法随机生成200个卫星观测任务序列,并根据观测任务序列是否是可行解计算其适应度,然后对不可行解和适应度低的可行解执行萤火虫的靠近过程,并计算靠近后的个体适应度,接着使用精英保留法与轮盘赌法选择个体进行交叉,最后按照个体是否可行解和相应的变异概率进行变异操作。

下面结合附图和实施例对本发明的技术方案作进一步说明。

如图1所示,本发明实施例的流程包括以下步骤:

步骤1,使用0-1编码对卫星观测任务序列进行随机生成,形成种群。

将模拟仿真场景内卫星对目标的所有重访条目视为基因点位,并按照卫星-时间顺序进行二重排列,即先把所有的条目先按照卫星名称排序,然后再在卫星名称相同的条目集合内部按照时间先后排序,二重排列后的所有基因构成一条染色体。对于需要执行的观测任务,其在染色体对应位置上的基因被置为1,否则置为0。种群的初始化即随机产生200个染色体个体。

步骤2,遍历种群,根据是否是可行解计算适应度。

为了实现高优先级目标更多的被观测,同时又不让高优先级目标完全挤占低优先级目标的观测窗口,定义公式(1)和公式(2)计算出各染色体的适应度。对于相同观测次数的目标,高优先级目标可以提供更大的适应度值,但随着观测次数增多,目标的适应度值增长速度逐渐下降,这样就保证了当高优先级目标被观测到一定次数后,会给低优先级目标“让路”。根据染色体序列(即卫星观测任务序列)中各观测任务是否都能执行,将染色体序列分为可行解和不可行解。若卫星观测任务序列中存在有执行冲突的任务,则这个观测任务序列为不可行解。将公式(2)得到的可行解的适应度乘以一个较大的系数得到最终的适应度,然后根据最终适应度对染色体进行由大到小排序,这样便保证可行解在种群的头部,而不可行解在次一级的位置。最终的计算公式如下:

其中,fitness(n)是单个目标n提供的适应度;target_count为场景内点目标个数;fi为染色体i中所有目标提供的适应度之和;priorn为目标n的优先级,countn为目标n被观测次数;为染色体的最终适应度;式(3)将可行解的适应度乘以系数5,保证其处在种群的头部,更有可能传播到下一代。

步骤3,对不可行解和适应度低的可行解执行萤火虫的靠近过程,并计算靠近后的染色体适应度。

不同个体间的吸引度在原萤火虫算法中由“亮度”和“距离”两个因素共同决定,亮度低的个体向亮度高的个体靠近,个体之间的吸引度由下述公式得到:

其中,β(r)表示当两个个体距离为r时,较亮个体对另一个体的吸引度;λ为吸引度系数,通常设置为β(0)为距离为0时的吸引度,一般设置为1。

最终,被吸引个体移动的距离与吸引度大小有关,原算法中萤火虫个体位置更新的计算方式如下:

其中,xi为萤火虫个体i的位置,xj为亮度比个体i更高的个体j的位置,α为常数,rand()是一个随机函数,表示萤火虫个体i被吸引后的新位置,由其原位置向新个体移动的距离和最后的随机方向扰动共同决定。

将萤火虫算法和遗传算法组合后,每个染色体的适应度即代表了“亮度”,即适应度低的染色体会向适应度高的染色体靠近。由于0-1编码染色体的每一维度上变量较少而维度整体较多,因此可以使用每个个体在所有维度上差异的总和作为两个个体间的“距离”。例如染色体a和染色体b间只有一个基因点位不同,则这两者之间“距离”就为1。基于这个“距离”与公式(4)的思想,可以设计得到组合算法中的吸引度公式(6),也就是适应度低的染色体各差异基因点位向适应度高的染色体定向变异的概率,具体如下:

p=e-λk(6)

其中,λ为吸引度系数,通常设置为k为差异个数。

得到染色体定向变异概率后,根据染色体定向变异概率对适应度低的染色体的差异基因点位进行定向异变,然后对执行靠近过程后的各染色体重新计算其适应度。

步骤4,对执行靠近过程后的种群个体进行“交叉”操作。

本发明中,在遗传算法的交叉选择部分使用了轮盘赌选择法与精英保留法的结合方法。精英保留法是在遗传算法的执行过程中,直接将每次迭代中生成的最优子代个体直接“保送”下一代,从而保证其优良特性。而轮盘赌法中个体被选中的概率与其对环境的适应度成正比,即适应度越高的个体越容易被选中进入下一代。本发明先使用精英保留法从步骤3定向变异后的染色体选出适应度最大的前10个染色体,然后再用轮盘赌选择法从步骤3定向变异后的染色体随机选出两个染色体进行“交叉”操作,得到新的190个染色体。“交叉”操作即为对选中的两个染色体随机选择相对应的点位进行基因互换。

步骤5,根据是否是可行解分别以不同的概率对基因点位进行“变异”操作。

本步骤是对遗传算法进行改进的关键部分,即改进遗传算法对于个体的变异方式。“变异”算子作用于单个染色体,其原意是用于产生一定的扰动,适当降低收敛速度,从而跳出局部最优达成全局最优解。对于本发明变异过程不只是扩大搜索范围,更是寻找可行解乃至最优解的重要部分,因此设计不同的变异策略和参数来进行这一过程。

对于可行解,变异过程意味着将这一个体变异为适应度更高的个体。可行解意味着对应染色体序列生成的卫星观测任务序列中,各个目标之间不会发生冲突。要在这样的个体中寻找适应度更好的变异结果,就需要在序列中插入更多的任务,或者将一定量的低适应度任务换成高适应度任务,对应到染色体编码上,就是需要将0点位的基因按照中等概率pm反转为1,同时为了降低反转后该染色体个体变为不可行解的概率,要以一个小于pm的概率pl将1点位的基因反转为0。其中,pm、pl为经验值。本文根据场景大小、染色体长短分别修改设置变异概率这一参数,最终可以收敛得到一个较好的结果。

而对于不可行解,变异过程意味着从多数不可行解中获取可行染色体。与可行解相反,不可行解意味着解码后的卫星任务序列中有目标观测发生了冲突,导致有任务无法完成。解决这一问题的方法为删除序列中的部分任务,然后再随机插入少量任务,得到可行解。对应的染色体操作为:对1点位基因以一个大于pm的概率ph反转为0,然后同样以较低概率pl将0反转为1。其中,ph为经验值。

步骤6,判断当前种群是否满足退出迭代的要求,若满足则输出结果,否则重复步骤2-5。

本发明中设置了两个并行的退出条件,当满足其中任一条件即可完成算法迭代,输出结果。

(1)当算法种群迭代次数达到500代后,算法退出,解码最优染色体,生成卫星观测任务序列;

(2)当算法种群连续100代没有产生新的最优个体时,算法退出,解码最优染色体,生成卫星观测任务序列。

以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案,都落入本发明的保护范围。

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