一种多目标果蝇算法及其在全弹道优化设计中的应用

  • 格式:pdf
  • 大小:822.46 KB
  • 文档页数:4

收稿日期:2018-04-05修回日期:2018-05-07基金项目:国家自然科学基金资助项目(51575279)作者简介:曹岩枫(1988-),男,山西应县人,博士研究生,讲师。研究方向:复杂机械系统建模、仿真与优化。徐诚(1962-),男,教授,博导。研究方向:复杂机械系统建模、仿真与优化。

*

摘要:提出了一种改进的多目标果蝇算法,对搜索空间及味道浓度判定值进行了改进,引入了快速非支配排序及拥挤距离排序方法,提高了果蝇优化算法解决实际工程问题的能力。并且将改进的多目标果蝇算法应用到全弹道优化设计当中,结果表明该算法能够有效的解决多目标工程优化问题。关键词:果蝇优化算法,多目标优化,全弹道,优化设计中图分类号:TP301.6曰TJ012文献标识码:ADOI:10.3969/j.issn.1002-0640.2019.05.008引用格式:曹岩枫,徐诚.一种多目标果蝇算法及其在全弹道优化设计中的应用[J].火力与指挥控制,2019,44(5):34-37.

一种多目标果蝇算法及其在全弹道优化设计中的应用*

曹岩枫,徐诚(南京理工大学机械工程学院,南京210094)

ANovelMulti-objectiveFruitFlyOptimizationAlgorithmandApplicationtoWholeTrajectoryOptimizationDesign

CAOYan-feng,XUCheng(SchoolofMechanicalEngineering,NanjingUniversityofScienceandTechnology,Nanjing210094,China)

Abstract:Animprovedmulti-objectivefruitflyoptimizationalgorithmisproposedinthispaper.Inordertoimprovetheabilityoffruitflyoptimizationalgorithmstosolvepracticalengineering

problems,thesearchingspaceandtheexpressionforsmellconcentrationjudgementvalueareimprovedandthefastnon-dominatedsortingandcrowding-distancesortingtechniqueareintroducedtotheimprovedalgorithm.Andtheimprovedmulti-objectivefruitflyalgorithmisappliedtothewholetrajectoryoptimizationdesign.Theresultsshowthatthealgorithmcaneffectivelysolvethemulti-objectiveengineeringoptimizationproblem.

Keywords:fruitflyoptimizationalgorithm,multi-objectiveoptimization,wholetrajectory,optimiza-tiondesignCitationformat:CAOYF,XUC.Anovelmulti-objectivefruitflyoptimizationalgorithmandapplicationtowholetrajectoryoptimizationdesign[J].FireControl&CommandControl,2019,44(5):34-37.

0引言果蝇优化算法[1]是中国台湾学者潘文超提出的一种基于果蝇觅食行为的全局优化算法。果蝇优化算法和其他优化算法相比,具有算法简单、程序实现容易、调节参数较少、计算量小、能够实现全局寻优且收敛快等特点。近年来,一些学者针对防止算法早熟收敛进行了改进[2-4],果蝇优化算法在广义回归神经网络参数优化与支持向量机参数优化等领域应用较多[5-7],但目前果蝇优化算法在多目标工程问题领域的应用还较少。本文在搜索空间、味道浓度判定值定义以及寻优策略等方面,对原始的果蝇优化算法进行改进,提出了改进的多目标果蝇算法,使得改进后的算法性能大大提高。并将改进的多目标果蝇优化算法成功应用于全弹道优化设计中,效果较好。

文章编号:1002-0640(2019)05-0034-04Vol.44,No.5May,2019火力与指挥控制FireControl&CommandControl第44卷第5期2019年5月

34··(总第44-)1果蝇优化算法果蝇优化算法是一种源于对果蝇觅食行为模拟的全局优化算法。果蝇拥有优于其他物种的嗅觉及视觉,能够通过嗅觉器官搜集空气中的各种气味,飞近食物后再用灵敏的视觉确定食物的位置,最后飞向食物。根据果蝇搜寻食物的特性,果蝇优化算法可归纳为以下几个必要的步骤:1)初始化种群规模N,最大迭代次数gmax,随机初始化果蝇种群初始位置(Xaxis,Yaxis);2)随机设定果蝇个体的搜索方向Rrandom和搜索距离h:Xi=Xaxis+2h×(Rrandom-0.5)Yi=Yaxis+2h×(Rrandom-0.5)(1)其中,Rrandom为0到1之间的随机数。3)由于无法得知食物源的位置,因此,先估算果蝇个体与原点的距离D,再求倒数计算得到味道浓度判定值S:Di=X2i+Y2i姨(2)Si=1Di(3)4)将味道浓度判定值S代入味道浓度判定函数,计算出果蝇个体当前位置的味道浓度:Smelli=Function(Si)(4)5)找出果蝇种群中味道浓度最佳的果蝇:[bestSmellbestIndex]=max(Smell)(5)6)保留果蝇群体的最佳味道浓度及其对应的坐标,此时果蝇群体利用视觉定位后飞向该位置:Smellbest=bestSmellXaxis=X(bestIndex)(6)Yaxis=Y(bestIndex)7)进入迭代寻优,重复执行步骤2)~5),并判断最佳味道浓度是否优于前一迭代最佳味道浓度,若是则执行步骤6)。果蝇优化算法利用果蝇寻找食物的群体协作和信息共享机制搜索最优解,全局寻优能力较强;算法采用实数编码,程序简单,计算量较小;果蝇优化算法需要调节的参数只有3个,与其他优化算法相比明显减少了由于参数选取不当对算法性能产生影响的机会。尽管果蝇优化算法自提出以来就得到了国内外学者的广泛关注,并在一些工程应用中表现良好,但仍存在一些缺陷需要改进。原始的果蝇优化算法中味道浓度判定值S定义为果蝇个体与原点的距离D的倒数,D为坐标X和Y的算术平方根,如此定义的S存在2个缺陷:1)由于果蝇飞行的坐标系是对称的,对称位置的坐标计算得到的味道浓度判定值S是相等的,这会导致浪费计算时间;2)由于S>0,因此,果蝇优化算法不能求解定义域包含负数的优化问题。原始的果蝇优化算法会将每一代果蝇群体中最佳味道浓度个体对应的坐标作为下一代群体的起始位置,并且只有一个群体,这在解决复杂问题时会导致陷入局部最优。此外,实际工程问题往往要考虑多个优化目标,原始的果蝇优化算法不能很好地适应多目标优化问题。2改进的多目标果蝇优化算法2.1算法改进针对以上的缺陷,本文对原始的果蝇优化算法做了如下改进:1)原始果蝇优化算法中果蝇的飞行空间是对称的,整个空间可以分为8个部分。为了减少重复的计算结果,节省计算时间,仅保留图1中阴影部分所示的一个部分作为果蝇的飞行空间。果蝇个体的位置由式(7)确定:Xi=1,Xi≤1Xaxis+2h×(Rrandom-0.5),Xi>1Yi=aiXi(7)其中,ai=0,ai≤1aaxis+2×(Rrandom-0.5),0<ai<11,ai≥1扇墒设设设设设缮设设设设设。图1改进后的果蝇飞行空间2)原始的果蝇优化算法中,味道浓度判定值S不能取负值并且不能约束取值范围,不能够适应实际工程问题求解的需求。改进后的味道浓度判定值S由式(8)确定:Si=L+1Disti(U-L)(8)其中,[L,U]为Si的取值范围。3)原始的果蝇优化算法在找出果蝇种群中味道浓度最佳的果蝇位置后,果蝇群体利用视觉定位后飞向该位置,算法只有一个果蝇种群,这使得在曹岩枫,等:一种多目标果蝇算法及其在全弹道优化设计中的应用35··0781(总第44-)火力与指挥控制2019年第5期

求解复杂问题时搜索全局最优解的表现不够理想。本文引入若干个子种群代替单一的果蝇种群,每个子种群都在飞行空间中独立地搜索味道浓度最佳的位置,从而有效提高算法全局搜索的能力。在求解多目标优化问题时,引入多个子种群可以有效提高最优解集中解的多样性。4)求解多目标优化问题的过程就是寻找Pareto最优解的过程。本文将快速非支配排序以及拥挤距离排序的方法引入果蝇优化算法。快速非支配排序能够帮助算法提高收敛速度,拥挤距离排序的方法能够避免早熟以及提高最优解集中解的多样性。2.2算法步骤基于以上改进,能够解决多目标优化问题的改进果蝇优化算法的步骤如下:1)初始化子种群数Ns,各子种群的个体数Np,最大迭代次数gmax,在设计空间中均匀随机初始化果蝇各子种群初始位置(Xi_axis,Yi_axis),初始非支配前沿解集F0=覫;2)随机设定果蝇个体的搜索方向Rrandom和搜索距离h,计算出第i个子种群中第j个果蝇个体的位置(Xij,Yij):Xij=1,Xij≤1Xi_axis+2h×(Rrandom-0.5),Xij>1Yij=aijXij(9)其中,ai=0,aij≤0ai_axis+2×(Rrandom-0.5),0<aij<11,aij≥1扇墒设设设设设缮设设设设设。3)计算果蝇个体的味道浓度判定值Sij:Sij=L+1Disti(U-L)=L+1X2ij(1+a2ij)姨(U-L)(10)其中,(L,U)为Sij的取值范围。4)将果蝇个体的味道浓度判定值Sij代入味道浓度判定函数,计算出果蝇个体当前位置的味道浓度Smellij:Smellij=Function(Sij)=(f1(Sij),f2(Sij),…,fM(Sij))(11)其中,M为目标函数的数量。5)对每个子种群中的个体进行非支配排序,将第g代所有子种群的非支配解存放到Qg中,将Qg与上一代非支配前沿解集Fg-1合并产生Tg;Tg=Qg∪Fg-1(12)6)对集合Tg中的个体进行非支配排序,得到的非支配解存放到新的非支配前沿解集Fg中。然后对Fg中的个体进行拥挤距离排序,取排序得到的前Ns个个体的位置作为各子种群新的起始位置;7)进入迭代寻优,如果g≥gmax,输出Fgmax作为Pareto最优解集;否则,重复执行步骤2)~6)。3全弹道优化问题