杨梅花,夏露,张欣,米百刚
(西北工业大学 航空学院,西安 710072)
基于粒子群和人工蜂群混合算法的气动优化设计
杨梅花,夏露,张欣,米百刚
(西北工业大学 航空学院,西安 710072)
现代启发式智能算法存在全局与局部搜索能力的平衡问题,针对此问题,采用双种群进化策略和信息交流机制,提出一种基于粒子群算法和人工蜂群算法相结合的新型混合优化算法——MABCPSO,并分别进行函数测试和翼型的气动优化设计验证。结果表明:MABCPSO新型混合优化算法具有更好的寻优能力,相比粒子群算法和人工蜂群算法,该算法能以更少的进化代数分别提高1.7%和2.2%的减阻效果。
粒子群算法;人工蜂群算法;混合算法;气动优化设计
随着计算机技术和计算流体力学的快速发展,采用数值优化方法进行飞行器的气动设计,可以大幅提高优化设计的效率并节约设计成本。然而,传统的基于目标函数梯度信息的算法都属于局部优化方法,难以满足实际工程对全局最优解的需要。现代启发式智能算法虽然具有比传统方法更好的全局性,但其求得的全局最优与局部最优之间却多存在严重的冲突[1]。因此,探索发展具有良好的全局/局部搜索平衡能力的优化算法十分必要。
目前,被广泛应用的、具有代表性的启发式智能算法主要包括粒子群算法(Particle Swarm Optimization,简称PSO)和人工蜂群算法(Artificial Bee Colony,简称ABC)。粒子群算法是J.Kennedy和R.Eberhart[2]于1995年提出的进化算法,该算法作为一种基于群体智能的新型演化计算技术,具有简单易实现、设置参数少、优化能力强等优点;但在进化后期,粒子群算法侧重于开采能力,其局部搜索能力强,却存在种群多样性消失及早熟停滞等现象,从而陷入局部最优的缺陷。为了克服粒子群算法的上述缺点,国内外又先后提出了大量改进的粒子群优化算法,例如,具有繁殖子群能力的粒子群优化算法[3]、基于细菌觅食性的改进粒子群优化算法[4]、基于社会模型改进的粒子群优化算法[5]等。人工蜂群算法是D.Karaboga等[6-8]于2005年提出的一种模拟蜜蜂蜂群智能搜索行为的新型全局寻优算法,具有操作简单、设置参数少、鲁棒性高、收敛速度快、收敛精度高等优点;但其牺牲了算法的开采能力,侧重于提高开发探索能力,局部搜索能力弱但全局搜索能力较强[9]。针对人工蜂群算法的缺点,国内外也提出了一些改进算法,例如,基于局部搜索的人工蜂群算法[10]、基于粒子群和人工蜂群的混合算法[11]、基于混沌局部搜索算子的人工蜂群算法[12]等。总体来看,对粒子群算法和人工蜂群算法的改进研究在一定程度上改善了原算法的固有缺陷,在全局/局部搜索能力之间做了一定的平衡。但是仍然存在优化后期全局/局部搜索能力相互冲突,容易陷入局部最优等问题。
针对现代启发式智能算法在全局/局部搜索能力之间存在的如何相互平衡问题,本文提出一种基于PSO算法和ABC算法的新型混合优化算法——MABCPSO,并通过函数测试和RAE2822跨音速翼型减阻优化设计对MABCPSO算法进行分析验证。
1.1 粒子群算法
粒子群优化算法通过模拟鸟群的飞行觅食行为,将解空间中的设计变量看作一群没有体积和质量的“鸟”(也称为“粒子”),将所求问题的最优解看作鸟群寻找的“食物”,所有粒子通过不断改变飞行方向和距离,并以个体极值pbest和群体极值gbest来引导自己调整飞行状态,更新速度和位置,从而趋向问题的最优解。PSO算法的流程如图1所示。
粒子可根据式(1)~式(2)来更新:
(1)
(2)
式中:x为粒子当前的位置;v为粒子的速度;w为惯性权重因子,它是影响算法性能的重要参数,其大小决定了粒子对当前速度继承的多少,w的取值范围通常为[0.4,0.9],其在进化过程中采用线性递减策略;c1、c2为学习因子,用来调节粒子飞向pbest和gbest的步长;r1、r2为产生于(0,1)的随机数;下标i和j为第i个粒子和第j维;上标t为进化代数。
1.2 人工蜂群算法
人工蜂群算法包含三个组成部分:采蜜蜂、观察蜂和侦察蜂,采蜜蜂和观察蜂执行开采过程,侦察蜂执行探索过程。每个蜜源的位置代表一个可能解,每个蜜源的花蜜量代表相应解的质量或适应度。首先,随机产生初始群体P,即SN个初始解,SN为采蜜蜂的数量或蜜源数量(采蜜蜂的数量=蜜源数量)。每个解xi(i=1,2,3,...,SN)是一个D维向量(D为搜索空间的维数)。初始化之后,以初始解为基础,采蜜蜂、观察蜂和侦察蜂开始进行循环搜索。采蜜蜂记住以前的最优解,在采蜜源的邻域内搜索产生新解,搜索公式为
(3)
式中:k为不同于i的蜜源;j为随机选择的下标;φij为随机数,其范围是[-1,1],控制着xij邻域内蜜源位置的产生。
采蜜蜂采用贪婪准则,当搜索解优于记忆最优解时,替换记忆解;反之,则保持记忆解不变。采蜜蜂完成搜索过程后,将记忆中的蜜源信息与观察蜂共享。观察蜂按照与花蜜量相关的概率选择一个蜜源位置,并像采蜜蜂一样对记忆中的位置做一定的改变,并检查新候选位置的花蜜量,若新位置优于记忆中的位置,则用新位置替换原来的蜜源位置,否则保留原位置。一个观察蜂选择某个蜜源的概率为
(4)
式中:fiti为解xi的适应度值。
假如蜜源位置xi经过“limit”次采蜜蜂和观察蜂的循环搜索后,无法被改进,那么该位置将被放弃,此时采蜜蜂转变为侦察蜂,并随机搜索一个蜜源替换原蜜源。侦察蜂搜索新蜜源的操作公式为
(5)
1.3MABCPSO混合优化算法
通过分析上述两种算法可以看出:PSO算法在进化后期,侧重于开采能力,局部搜索能力强,易陷入局部最优;而ABC算法牺牲了开采能力,侧重于提高开发探索能力,局部搜索能力弱但全局搜索能力较强。
本文结合PSO算法和ABC算法的优势,提出一种新的混合优化算法——MABCPSO。MABCPSO将种群随机地等分为两组,一组种群中的个体按照PSO算法进化寻优,另一组种群中的个体按照ABC算法进行寻优。为了保证该算法的探索开发能力,同时提高开采能力、加快寻优速度,在ABC算法中提出新的搜索方程:
(6)
式中:φij为随机数,其范围是[0,1.5];pij为个体极值;pg为群体极值。
新的搜索方程由于有群体极值pg的引导,在保证探索开发能力的同时也提高了其开采能力。MABCPSO混合优化算法在全局搜索能力和局部搜索能力之间建立一个相对较好的平衡。
MABCPSO算法在进化过程,利用一种信息交流机制来交流搜寻信息,使信息能够在两个种群中传递,有助于个体避免错误的信息判断而陷入局部最优。
两个种群的信息交流机制如下:
(1) 式(1)中的gbest用两个种群中的最优个体来替换;(2) 式(6)中的xkj从采用PSO算法进化的种群中随机选取;(3) 式(6)中的pij、pg用两个种群中的最优个体来替换。
MABCPSO算法的具体步骤如下:
(1) 设置群体规模N,最大迭代次数maxgen,限定循环次数limit,学习因子c1、c2,惯性权重的初始值w1和终值w2;
(2) 将群体等分为两个种群,种群1中的个体按照PSO算法寻优进化,种群2中的个体按照改进的ABC算法寻优进化;
(3) 设置初始迭代步数iter=0;
(4) 种群1和种群2分别按照式(1)、式(2)和式(6)产生新解,并计算其适应度的值,利用信息交流机制交换信息;
(5) 更新种群1中的pbest和gbest,如果种群2中新解的适应度值优于xi,则用其替换xi,否则不变。
(6) 计算xi的适应度值,并根据式(4)计算概率pi;观察蜂根据pi选择蜜源,并按照式(6)产生新解,如果新解的适应度值优于xi,则用其替换xi,否则不变;
(7) 经过limit次循环后,判断是否有需要丢弃的解,若有,则根据式(5)产生满足约束条件的新解;
(8) 更新迭代步数iter=iter+1,并记录当前整个群体中的最佳个体,如果满足精度要求或进化已达到最大迭代次数,则终止算法,否则转至步骤(4)。
为了测试并分析算法的寻优能力,分别对PSO算法、ABC算法和MABCPSO算法进行函数测试。选取的测试函数,为函数测试中常用的基准测试函数,基准测试函数共有12个[13-15],本文选取三个典型的测试函数。
(1)Sphere函数:
全局最优值:minf1(x)=f1(0,0,…,0)
该函数为非线性对称单峰函数,大多数算法都能轻松达到优化效果,主要用于测试算法的寻优精度。
(2)Rastrigin函数
(-5.12≤xi≤5.12)
全局最优值:min f2(x)=f2(0,0,…,0)
该函数具有大量正弦拐点并且排列得很深的局部最优点,优化算法很容易在通往全局最优点的路径上陷入一个局部最优点。
(3)Ackley函数
(-32≤xi≤32)
全局最优值:min f3(x)=f3(0,0,…,0)
该函数为多峰函数,存在大量局部最优点,优化算法很容易陷入局部最优。
测试中,三个函数的变量取15维,三种算法的种群规模均为60,惯性权重因子w采用线性递减策略随进化代数由0.9线性递减到0.4[16],c1=c2=2,limit=100,分别用三种算法进行100次优化,每次优化算法各自进化400代,统计这100次优化的平均目标函数值和搜索到的最小目标函数值。函数测试结果如表1所示。
表1 函数测试结果
从表1可以看出:在调用目标函数次数相同的情况下,采用MABCPSO算法所求得的平均值和最小值,其精度都更高,收敛效果更好,表明该新型混合算法具有更好的寻优能力。
为了探索MABCPSO新型混合算法在高维问题中的寻优能力,将三个测试函数的变量取40维,三种算法的种群规模均为90,惯性权重因子w采用线性递减策略随进化代数由0.9线性递减到0.4,c1=c2=2,limit=100,分别用三种算法进行100次优化,每次优化算法各自进化400代,统计这100次优化的平均目标函数值和搜索到的最小目标函数值。函数测试结果如表2所示。
表2 高维函数测试结果
从表2可以看出:在高维寻优问题中,三种算法的寻优精度都不同程度地降低,但是在调用目标函数次数相同的情况下,采用MABCPSO算法所求得的平均值和最小值,其精度仍然是三种算法中最高的,收敛效果也最好,表明该新型混合算法对于高维问题仍然有较好的寻优能力。
将MABCPSO新型混合算法应用于实际二维翼型气动优化设计中,进一步分析和验证其优化效果。
优化设计模型包括三个基本要素:目标函数、约束和设计变量。对于翼型的气动优化设计而言,一般确定了设计点后,可选取表示升阻特性或力矩特性的气动系数作为目标函数,对翼型的厚度和面积等进行限制作为约束,将翼型的几何形状作为设计变量。
3.1 翼型的几何表示
翼型的几何表示方法会直接影响到翼型优化设计的结果,采用CST参数化方法[17]描述翼型的几何形状。用12个设计变量进行翼型的几何表示,上下翼面各有6个设计变量进行控制。用CST方程直接表示翼型的几何坐标,CST方程的表达式为
上表面
yu=C(x)·Su(x)+x·yTEu
下表面
yl=C(x)·Sl(x)+x·yTEl
式中:下标u、l分别为翼型的上下表面;yTEu、yTEl分别为上下表面后缘的y坐标。
类函数C(x)定义为
C(x)=xN1·(1-x)N2
型函数S(x)定义为
对于一般的翼型,类函数C(x)中的N1和N2分别取0.5和1.0;Si(x)为Bernstein多项式函数;Aui和Ali为待定系数,只要确定了Aui和Ali,即确定了整个翼型。
3.2 翼型优化模型及约束处理
以RAE2822跨音速翼型为研究对象,考虑其在11km高空的巡航能力,对其进行单点减阻优化设计。设计状态为:Ma=0.73,迎角α=2.3°,Re=5.51×106[18-20]。
优化目标为:最小化翼型阻力系数CD;约束条件为:翼型的面积、最大厚度不减小,力矩系数不减小,升力系数CL基本保持不变。气动特性的分析计算采用基于多重网格的可压缩N-S方程数值解法。一般的,处理约束条件的方法有:惩罚函数法、解码器法、修补法、算法修正法和可行解搜索法等,目前使用最广泛的是惩罚函数法,即罚函数法[21],故本文采用罚函数法来处理约束问题。
3.3 优化算法
分别采用PSO算法、ABC算法和MABCPSO算法进行翼型优化。三种算法的种群规模均为60且初始种群相同,进化代数为50代,即三种算法经过相同次数的流场计算,惯性权重因子w随进化代数由0.9线性递减到0.4,c1=c2=2,limit=100。
3.4 优化结果及分析
三种算法计算得到的阻力系数的优化时间历程如图2所示,可以看出:在相同的初始种群下,仅经过一代进化,即从第一代起,MABCPSO算法的寻优结果就明显优于PSO算法和ABC算法;在之后的进化过程中,MABCPSO算法在达到给定的阻力系数时,所需进化的代数明显少于PSO算法和ABC算法;MABCPSO算法收敛到的最优值也明显优于PSO算法和ABC算法。表明MABCPSO算法收敛速度更快、效率更高、寻优能力更强。
优化后翼型的几何形状与初始翼型的对比如图3所示,可以看出:优化后的翼型,其上表面顶点向后移动,PSO算法优化后的翼型最大厚度位置较初始翼型向后,MABCPSO算法和ABC算法优化后的翼型最大厚度位置与初始翼型基本相同。
优化前后翼型的表面压力分布如图4所示,可以看出:优化后,前加载和后加载增大,翼型上表面压力过渡更为平滑,在很大程度上减弱了激波,其中MABCPSO算法得到的翼型上表面压力分布过渡得最为平滑,显著地消除了激波,表现出更好的气动性能。
三种算法的优化效果对比如表3所示,可以看出:在相同的计算量下,采用PSO算法进行优化,阻力系数降低了13.9%;采用ABC算法进行优化,阻力系数降低了13.4%;而采用本文提出的MABCPSO算法,阻力系数降低了15.6%。
表3 优化效果对比
综上所述,与初始翼型相比,三种算法均能达到减阻目的,且均满足规定的约束要求;对于像气动设计这样高复杂性和强非线性的问题,MABCPSO算法将粒子群算法与改进的人工蜂群算法有机地结合起来,共享最优信息,保持种群的多样性,使得该算法能够有效地跳出局部最优,加快收敛速度,在全局/局部搜索能力之间展现出很好的平衡,具有更好的寻优性能。
(1) 本文提出的基于PSO算法和ABC算法相结合的新型混合优化算法——MABCPSO,在全局和局部搜索能力之间建立了一个良好的平衡,该算法在进化过程中,利用改进的ABC算法的开发能力和波动性,保持了种群的多样性,避免种群陷入局部最优;同时,利用PSO算法的开采能力,重点搜索具有较高适应度值的个体,加快了收敛速度。
(2)MABCPSO新型混合优化算法能够很好地应用于二维翼型的跨声速气动优化设计,相比传统优化方法,该算法能够更加快速地得到阻力更小的新翼型。
(3)MABCPSO新型混合优化算法尽管寻优性能良好,但是对于像气动设计这样的强非线性复杂问题,还需进一步明确其内在机理,寻求改进,建立更为高效的优化模型。
[1] 李丁, 夏露. 改进的粒子群优化算法在气动设计中的应用[J]. 航空学报, 2012, 33(10): 1809-1816.LiDing,XiaLu.Applicationofimprovedparticleswarmoptimizationalgorithmtoaerodynamicdesign[J].ActaAeronauticaetAstronauticaSinica, 2012, 33(10): 1809-1816.(inChinese)
[2]KennedyJ,EberhartR.Particleswarmoptimization[C]∥IEEEInternationalConferenceonNeuralNetworks. 1995(4): 1942-1948.
[3]LvbjergM,GroupEP,RasmussenTK,etal.Hybridparticleswarmoptimiserwithbreedingandsubpopulations[EB/OL]. (2001)[2017-02-11].https:∥www.researchgate.net/publication/2490119_Hybrid_Particle_Swarm_Optimiser_with_Breeding_and_Subpopulations.
[4] 夏露, 李丁. 基于细菌觅食性的改进粒子群优化算法翼型设计[J]. 空气动力学学报, 2012, 30(4): 533-538.XiaLu,LiDing.Animprovedparticleswarmoptimizationbasedonbacterialforagingtoairfoildesign[J].ActaAerodynamicaSinica, 2012, 30(4): 533-538.(inChinese)
[5] 夏露, 孙腾腾, 李丁. 基于社会模型改进粒子群算法的翼型优化设计[J]. 航空计算技术, 2013, 43(5): 1-6.XiaLu,SunTengteng,LiDing.Airfoilaerodynamicoptimizationdesignusingimprovedparticleswarmoptimizationbasedonsocialmodel[J].AeronauticalComputingTechnique, 2013, 43(5): 1-6.(inChinese)
[6]KarabogaD.Anideabasedonhoneybeeswarmfornumericaloptimization[R].TechnicalReport-TR06, 2005.
[7]KarabogaD,BasturkB.Apowerfulandefficientalgorithmfornumericalfunctionoptimization:artificialbeecolony(ABC)algorithm[J].JournalofGlobalOptimization, 2007, 39(3): 459-471.
[8]KarabogaD,BasturkB.Artificialbeecolony(ABC)optimizationalgorithmforsolvingconstrainedoptimizationproblems[J].FoundationsofFuzzyLogic&SoftComputing, 2007, 11(3): 789-798.
[9] 余胜威.MATLAB优化算法案例分析与应用[J]. 北京: 清华大学出版社, 2014.YuShengwei.Matlaboptimizationalgorithmcaseanalysisandapplication[M].Beijing:TsinghuaUniversityPress, 2014.(inChinese)
[10] 刘三阳, 张平, 朱明敏. 基于局部搜索的人工蜂群算法[J]. 控制与决策, 2014(1): 123-128.LiuSanyang,ZhangPing,ZhuMingmin.Artificialbeecolonyalgorithmbasedonlocalsearch[J].Control&Decision, 2014(1): 123-128.(inChinese)
[11] 王志刚. 基于粒子群和人工蜂群算法的混合优化算法[J]. 科学技术与工程, 2012, 12(20): 4921-4925.WangZhigang.Hybridoptimizationalgorithmbasedonparticleswarmoptimizationandartificialbeecolonyalgorithm[J].ScienceTechnology&Engineering, 2012, 12(20): 4921-4925.(inChinese)
[12] 王翔, 李志勇, 许国艺, 等. 基于混沌局部搜索算子的人工蜂群算法[J]. 计算机应用, 2012, 32(4): 1033-1036.WangXiang,LiZhiyong,XuGuoyi,etal.Artificialbeecolonyalgorithmbasedonchaoslocalsearchoperator[J].JournalofComputerApplications, 2012, 32(4): 1033-1036.(inChinese)
[13] 栾丽君, 谭立静, 牛奔. 一种基于粒子群优化算法和差分进化算法的新型混合全局优化算法[J]. 信息与控制, 2007, 36(6): 708-714.LuanLijun,TanLijing,NiuBen.Anovelhybridglobaloptimizationalgorithmbasedonparticleswarmoptimizationanddifferentialevolution[J].Information&Control, 2007, 36(6): 708-714.(inChinese)
[14] 高鹰, 谢胜利. 基于模拟退火的粒子群优化算法[J]. 计算机工程与应用, 2004, 40(1): 47-50.GaoYing,XieShengli.Particleswarmoptimizationalgorithmsbasedonsimulatedannealing[J].ComputerEngineering&Applications, 2004, 40(1): 47-50.(inChinese)
[15] 周丹, 葛洪伟, 张欢庆, 等. 基于健康度的人工蜂群粒子群算法[J]. 计算机工程与应用, 2016, 52(18): 62-67.ZhouDan,GeHongwei,ZhangHuanqing,etal.Particlehealthdegreebasedartificialbeecolonyparticleswarmoptimization[J].ComputerEngineering&Applications, 2016, 52(18): 62-67.(inChinese)
[16] 胡建秀, 曾建潮. 微粒群算法中惯性权重的调整策略[J]. 计算机工程, 2007, 33(11): 193-195.HuJianxiu,ZengJianchao.Selectiononinertiaweightofparticleswarmoptimization[J].ComputerEngineering, 2007, 33(11): 193-195.(inChinese)
[17] 卜月鹏, 宋文萍, 韩忠华, 等. 基于CST参数化方法的翼型气动优化设计[J]. 西北工业大学学报, 2013, 31(5): 829-836.BuYuepeng,SongWenping,HanZhonghua,etal.AerodynamicoptimizationdesignofairfoilbasedonCSTparameterizationmethod[J].JournalofNorthwesternPolytechnicalUniversity, 2013, 31(5): 829-836.(inChinese)
[18] 王伟, 白俊强, 张扬, 等. 基于人工鱼群算法及Hicks-Henne型函数的翼型优化设计研究[J]. 科学技术与工程, 2011, 11(24): 5870-5874.WangWei,BaiJunqiang,ZhangYang,etal.AerodynamicoptimizationdesignofairfoilbasedonAFSAandHicks-Henneshapefunction[J].ScienceTechnology&Engineering, 2011, 11(24): 5870-5874.(inChinese)
[19] 李丁, 夏露. 一种混合粒子群优化算法在翼型设计中的应用[J]. 航空计算技术, 2010, 40(6): 66-71.LiDing,XiaLu.Applicationofahybridparticleswarmoptimizationtoairfoildesign[J].AeronauticalComputingTechnique, 2010, 40(6): 66-71.(inChinese)
[20] 刘南, 白俊强, 邱亚松, 等. 基于本征正交分解的气动外形设计空间重构方法研究[J]. 西北工业大学学报, 2015, 33(2): 171-177.LiuNan,BaiJunqiang,QiuYasong,etal.Investigatingaerodynamicshapedesignspacereconstructionusingproperorthogonaldecomposition(POD)[J].JournalofNorthwesternPolytechnicalUniversity, 2015, 33(2): 171-177.(inChinese)
[21] 张利彪. 基于粒子群优化算法的研究[D]. 长春: 吉林大学, 2004.ZhangLibiao.Researchbasedonparticleswarmoptimization[D].Changchun:JilinUniversity, 2004.(inChinese)
(编辑:马文静)
Aerodynamic Optimization Design Based on Hybrid Optimization Algorithm of Particle Swarm Optimization and Artificial Bee Colony Algorithm
Yang Meihua, Xia Lu, Zhang Xin, Mi Baigang
(School of Aeronautics, Northwestern Polytechnical University, Xi’an 710072, China)
The modern intelligent algorithm is of the balance problem of global and local search ability. Because of this, a new hybrid optimization algorithm based on particle swarm optimization and artificial bee colony algorithm(it is called hybrid method of ABC and PSO-MABCPSO) is proposed, which is based on the two-group evolutionary strategy and information sharing mechanism, and the function tests and airfoil aerodynamic optimization design validation are carried out respectively. The results show that MABCPSO new hybrid optimization algorithm has better searching ability, which can improve the drag reduction effect by 1.7% and 2.2% with less evolutionary algebra than particle swarm optimization(PSO) and artificial bee colony algorithm(ABC) algorithm respectively.
particle swarm optimization(PSO); artificial bee colony algorithm(ABC); hybrid algorithm; aerodynamic optimization design
2017-02-11;
2017-04-12
杨梅花,541620411@qq.com
1674-8190(2017)02-182-08
V211.4
A
10.16615/j.cnki.1674-8190.2017.02.010
杨梅花(1992-),女,硕士研究生。主要研究方向:飞行器设计。
夏 露(1977-),女,副教授,硕导。主要研究方向:飞行器总体设计、飞行器气动外形隐身一体化设计。
张 欣(1993-),男,硕士研究生。主要研究方向:飞行器设计。
米百刚(1989-),男,博士研究生。主要研究方向:飞行器气动设计、数值模拟。