常见的寻优算法对于各种约束的处理有两种方式,一种是将其作为寻优的目标函数,第二种方式是限定约束条件的范围,如发射时间窗口限制和转移时间限制。对于轨道设计中的寻优问题,目前采用的寻优策略是全局寻优+局部寻优的方法,即通过全局寻优算法初步确定最优值所在的区域,再通过局部寻优方法确保解的极值性。局部寻优算法局部寻优算法需要给定初值,寻优算法根据目标函数的性质寻找附近的极值。常用的局部寻优算法有Nelder-Mead算法和序列二次规划,优点是不需要任何目标函数或是约束条件的梯度信息,可保证最终逼近最优值,但其收敛较慢,计算量大。序列二次规划算法利用梯度信息,寻找最优解,其优点是在极值附近时能够快速收敛。序列二次规划算法的计算量集中在Hessian矩阵上,计算量随自变量维数非线性增加,因此有了一些简化Hessian矩阵的计算方法,比较有名的(BFGS-LBFGS)即是一种通过一阶偏导数来计算Hessian矩阵的算法。全局寻优算法局部寻优算法的优势是高效率和高精度,然而无法保证全局最优,因此其寻优能力具有局限性。对于深空轨道设计问题,不同极值之间性能指标相差较大,如图。。中最大极值为3.7km/s,最小极值为2.1km/s,可见仅仅局部极值是无法满足设计要求的。经分析,适合在轨道设计中使用的全局搜寻算法主要有遗传算法(GA)、差分进化法(DE)、粒子群算法(PSO)和模拟退火法(ASA)等,下面对各个算法进行简要的说明并通过仿真算例来说明不同算法间的特点。遗传算法(GA):遗传算法(GeneticAlgorithm,GA)由美国J.H.Holland教授首次提出的、以达尔文自然进化论和Mendel遗传变异理论为基础的求解复杂全局寻优问题的仿生型算法。GA基于适者生存,优胜劣汰的进化原则,对包含可能解的群体反复使用遗传学的基本操作进行迭代,不断进化群体,同时以全局并行的搜索技术来搜索寻优全体中的最优个体,以求得满足约束的最优解或准最优解。GA应用广泛,在深空轨道设计中逐渐得到重视[1,4]。作为一种新的全局寻优搜索算法,遗传算法具有简单通用,鲁棒性强,适用于并行处理以及应用范围广的显著特点。差分进化算法(DE):差分进化法是一种新的进化算法,由Storn和Price在1995年提出[5],是一种随机的启发式搜索算法,主要特点是算法简单、收敛速度快,所需专业领域知识少。通过国内外大量研究发现,DE算法具有很强的收敛能力,比较适合于解决复杂的寻优问题。当然差分进化算法也有一些自身的不足,由于DE算法的关键步骤“变异操作”是基于群体的差异向量信息来修正各个体的值,随着进化代数的增加,各个体之间的差异化信息在逐渐缩小,以至于后期收敛速度变慢,甚至有时会陷入局部极值点。针对这一问题文献[6]总结了几种改进方法,改进的方法主要是自适应调整编译因F和交叉概率CR上。粒子群(PSO)算法:一种启发式全局寻优算法,模拟生物群体的社会行为进行进化,充分利用群体内部各个个体之间的关系。粒子群算法最早是由Kennedy和Eberhart于1995年[7]提出。受到人工生命的研究结果启发,PSO的基本概念源于对鸟群捕食行为的研究。PSO在函数寻优等领域蕴含着广阔的应用前景,在Kennedy和Eberhart之后很多学者都进行了这方面的研究。目前已提出了多种PSO改进算法[8,9,10],并应用于深空轨道设计中,具体可参考文献[2]。自适应模拟退火法(ASA):基于热力学理论,即对于高温熔体,分子在其中的运动时不规则的随机的。然而当温度下降到熔点附近时,分子的运动就会受到一定的限制并逐渐趋于低能状态,当能量最小时能量便产生了结晶。Kirkpatrick在1983年基于以上过程提出了模拟退火法,基本模拟退火法不是一个群体寻优算法,文献[11]将模拟退火法转化成一种群体算法,显著地增加其全局寻优性能。基本的模拟退火算法由于收敛精度问题,搜索速度比较慢。目前改进的方法有将其和遗传算法相结合的方法以及采用自适应机制调整控制参数的自适应模拟退火法(AdaptiveSimulatedAnnealing),本文采用自适应模拟退火法。多目标函数寻优方法多目标函数寻优方法可在深空轨道设计将速度增量和转移期这两个不同指标同时作为目标函数,便于在各个目标之间进行权衡,使目标性能尽可能达到Pareto意义下的最优。NSGA2是目前用得最多的一种解决多目标寻优问题的方法,由Deb等在2000年在NSGA基础上进行改进而来,其特点是采用非优超排序和排挤机制。其中非优超排序机制保证搜索过程向Pareto最优收敛,排挤机制保证了Pareto最优解的多样性。原始的NSGA算法复杂度为O(mN3),而采用快速非优超排序后,NSGAII算法复杂度将为O(mN2)。
常见的寻优算法
对于各种约束的处理有两种方式,一种是将其作为寻优的目标函数,第二种方式是限定约束条件的范围,如发射时间窗口限制和转移时间限制。对于轨道设计中的寻优问题,目前采用的寻优策略是全局寻优+局部寻优的方法,即通过全局寻优算法初步确定最优值所在的区域,再通过局部寻优方法确保解的极值性。局部寻优算法局部寻优算法需要给定初值,寻优算法根据目标函数的性质寻找附近的极值。常用的局部寻优算法有Nelder-Mead算法和序列二次规划,优点是不需要任何目标函数或是约束条件的梯度信息,可保证最终逼近最优值,但其收敛较慢,计算量大。序列二次规划算法利用梯度信息,寻找最优解,其优点是在极值附近时能够快速收敛。序列二次规划算法的计算量集中在Hessian矩阵上,计算量随自变量维数非线性增加,因此有了一些简化Hessian矩阵的计算方法,比较有名的(BFGS-LBFGS)即是一种通过一阶偏导数来计算Hessian矩阵的算法。全局寻优算法局部寻优算法的优势是高效率和高精度,然而无法保证全局最优,因此其寻优能力具有局限性。对于深空轨道设计问题,不同极值之间性能指标相差较大,如图。。中最大极值为3.7km/s,最小极值为2.1km/s,可见仅仅局部极值是无法满足设计要求的。经分析,适合在轨道设计中使用的全局搜寻算法主要有遗传算法(GA)、差分进化法(DE)、粒子群算法(PSO)和模拟退火法(ASA)等,下面对各个算法进行简要的说明并通过仿真算例来说明不同算法间的特点。遗传算法(GA):遗传算法(GeneticAlgorithm,GA)由美国J.H.Holland教授首次提出的、以达尔文自然进化论和Mendel遗传变异理论为基础的求解复杂全局寻优问题的仿生型算法。GA基于适者生存,优胜劣汰的进化原则,对包含可能解的群体反复使用遗传学的基本操作进行迭代,不断进化群体,同时以全局并行的搜索技术来搜索寻优全体中的最优个体,以求得满足约束的最优解或准最优解。GA应用广泛,在深空轨道设计中逐渐得到重视[1,4]。作为一种新的全局寻优搜索算法,遗传算法具有简单通用,鲁棒性强,适用于并行处理以及应用范围广的显著特点。差分进化算法(DE):差分进化法是一种新的进化算法,由Storn和Price在1995年提出[5],是一种随机的启发式搜索算法,主要特点是算法简单、收敛速度快,所需专业领域知识少。通过国内外大量研究发现,DE算法具有很强的收敛能力,比较适合于解决复杂的寻优问题。当然差分进化算法也有一些自身的不足,由于DE算法的关键步骤“变异操作”是基于群体的差异向量信息来修正各个体的值,随着进化代数的增加,各个体之间的差异化信息在逐渐缩小,以至于后期收敛速度变慢,甚至有时会陷入局部极值点。针对这一问题文献[6]总结了几种改进方法,改进的方法主要是自适应调整编译因F和交叉概率CR上。粒子群(PSO)算法:一种启发式全局寻优算法,模拟生物群体的社会行为进行进化,充分利用群体内部各个个体之间的关系。粒子群算法最早是由Kennedy和Eberhart于1995年[7]提出。受到人工生命的研究结果启发,PSO的基本概念源于对鸟群捕食行为的研究。PSO在函数寻优等领域蕴含着广阔的应用前景,在Kennedy和Eberhart之后很多学者都进行了这方面的研究。目前已提出了多种PSO改进算法[8,9,10],并应用于深空轨道设计中,具体可参考文献[2]。自适应模拟退火法(ASA):基于热力学理论,即对于高温熔体,分子在其中的运动时不规则的随机的。然而当温度下降到熔点附近时,分子的运动就会受到一定的限制并逐渐趋于低能状态,当能量最小时能量便产生了结晶。Kirkpatrick在1983年基于以上过程提出了模拟退火法,基本模拟退火法不是一个群体寻优算法,文献[11]将模拟退火法转化成一种群体算法,显著地增加其全局寻优性能。基本的模拟退火算法由于收敛精度问题,搜索速度比较慢。目前改进的方法有将其和遗传算法相结合的方法以及采用自适应机制调整控制参数的自适应模拟退火法(AdaptiveSimulatedAnnealing),本文采用自适应模拟退火法。多目标函数寻优方法多目标函数寻优方法可在深空轨道设计将速度增量和转移期这两个不同指标同时作为目标函数,便于在各个目标之间进行权衡,使目标性能尽可能达到Pareto意义下的最优。NSGA2是目前用得最多的一种解决多目标寻优问题的方法,由Deb等在2000年在NSGA基础上进行改进而来,其特点是采用非优超排序和排挤机制。其中非优超排序机制保证搜索过程向Pareto最优收敛,排挤机制保证了Pareto最优解的多样性。原始的NSGA算法复杂度为O(mN3),而采用快速非优超排序后,NSGAII算法复杂度将为O(mN2)。
仿真算例
以从地球发射至小行星阿波菲斯为例,研究不同寻优算法在简单双脉冲问题中的应用。以地球-地球-木星转移轨道为例,说明算法在带行星借力的多脉冲星际转移轨道中的应用。研究在两种不同转移策略下各种算法的性能,主要为目标函数调用次数、寻优消耗时长、多目标函数寻优方法的适用性。地球-阿波菲斯转移方案搜索首先考虑直接从地球出发前往小行星阿波菲斯,转移方式为双脉冲方式,因此寻优的自变量为发射时间0t和飞行时间1T,目标函数选择两次速度增量之和,即:(式略)窗口搜索范围设为2017年1月1日~2021年1月1日,分别采用GA、DE、PSO、ASA四种寻优算法,得到仿真结果。从表中可得到GA算法的表现最好,其函数调用次数和耗时最少,并且成功地进行了寻优。总之对于简单的双脉冲转移而言,四种算法都较好地完成了寻优。由计算结果可知,除粒子群算法PSO外,其他三种算法均成功收敛于飞行时间与速度增量的Pareto解集。最短飞行时间为180天,对应的速度增量需求为5.1km/s;最小速度增量需求为4.90km/s,对应的飞行时间为290天。综上所述,对于简单的单目标函数-双脉冲星际转移问题,四种算法均能寻找到最优的转移窗口。对于多目标函数的情况,粒子群算法PSO收敛性差,无法完成转移窗口设计,其他三种算法则能够用来处理这类问题。