三种常见现代优化算法的比较

(整期优先)网络出版时间:2014-09-19
/ 2

三种常见现代优化算法的比较

郝思齐池慧

郝思齐HAOSi-qi曰池慧CHIHui(华北水利水电大学,郑州450011)(NorthChinaUniversityofWaterResourcesandElectricPower,Zhengzhou450011,China)

摘要院现代最优化算法比较常见的有遗传算法、蚁群算法、粒子群算法、鱼群算法和模拟退火算法。这些算法主要是解决优化问题中的难解问题。文章主要是对遗传算法、粒子群算法和模拟退火算法三个算法的优化性能进行比较。首先介绍了三个算法的基本思想,以此可以了解三种算法有着自身的特点和优势,而后用这三种算法对典型函数进行计算,并对优化结果比较分析,提出了今后研究的方向。

Abstract:Modernoptimizationincludesgeneticalgorithm(GA),antcolonyalgorithm(ACO),particleswarmalgorithmoptimization(PSO),fish-swarmalgorithmandsimulatedannealingalgorithm(SA)andsoon.Theyaremainlyappliedtosolvesomedifficultoptimizationproblems.ThepapermainlymakesacomparativestudyoftheoptimizationperformanceofGA,PSOandSA.Firstthebasicprinciplesofthethreealgorithmsareintroduced,andthecharacteristicsandadvantagesofthesealgorithmsareunderstood.Atlast,thethreealgorithmsareusedfortypicalfunctionscalculation,andcomparativeanalysisismadetotheresults.Andthefutureresearchdirectionsareputforward.关键词院遗传算法;粒子群算法;模拟退火算法;比较;优化Keywords:geneticalgorithm(GA);particleswarmalgorithmoptimization(PSO);simulatedannealingalgorithm(SA);comparison;optimization中图分类号院TP301.6文献标识码院A文章编号院1006-4311(2014)27-0301-02

0引言传统的优化算法在优化时可以解决一些比较简单的线性问题,但优化一些非线性的复杂问题时,往往会需要很长时间,并且经常不能优化到最优解,甚至无法知道所得解同最优解的近似程度。而一些现代优化算法就能很好地解决这些问题。

20世纪60年代,学者们开始对遗传进化感兴趣,进而形成遗传算法。人们将搜索和优化过程模拟成生物体的进化过程,用搜索空间中的点模拟自然界中的生物个体,将求解问题的目标函数度量成生物体对环境的适应能力,将生物的优胜劣汰过程类比为搜索和优化过程中用好的可行解取代较差可行解的迭代[1]。

粒子群优化算法也是一类基于群智能的随机优化算法,是受到自然界中鸟群的社会行为得到而启发产生的。

算法模拟鸟群飞行和觅食的行为,通过鸟之间的集体协作使群体达到最优。

而模拟退火算法与它们不同,它是来源于固体退火的原理,将固体加温至充分高,再让其缓慢降温(即退火),使之达到能量最低点。而缓慢降温时粒子渐趋有序,在每个温度上都达到平衡态,最后在常温时达到基态,内能减为最小。

1三种算法的基本原理1.1遗传算法由Michigan大学的J.H.Holland借助达尔文的生物进化学说的启发提出了遗传算法(GA)这个概念[2]。遗传算法把问题的解表示成“染色体”,在算法中用一系列编码的串来表示。并且,在执行遗传算法之前,给出一群初代的“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过交叉,变异等一系列的过程,产生更适应环境的新一代“染色体”群。这样,一代一代地进化,最后就会收敛出最适应环境的一个“染色体”上,即问题的最优解。

1.2粒子群算法[3]由Eberhart博士和kennedy博士发明。与遗传算法类似,是一种基于叠代的优化工具。系统初始化为一组随机解,即一群随机粒子,通过叠代搜寻最优值。每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。在每一次叠代中,粒子通过跟踪两个“极值”来更新自己。

1.3模拟退火算法算法在20世纪80年代初提出,其思想基于固体退火的过程。是模拟熔化状态下物体由逐渐冷却至最终达到结晶状态的物理过程。模拟退火算法是利用问题的求解过程与熔化物体退火过程的相似性,采用随机模拟物体退火过程来完成问题的求解,也就是在控制参数(温度)的作用下对参数的值进行调整,直到所选取的参数值最终使能量函数达到全局极小值[4][5]。

2对函数的优化结果比较分析函数1:y=x12+x22+x23+x24,其中,x1,x2,x3,x4沂[0,1]求y的最小值。这个函数很容易就看出了,最优解为(0,0,0,0),那么用这三种算法对函数进行优化的结果如下表一。其中遗传算法中除了上下限之外,其余的变量保留为软件默认值;模拟退火算法的初始值为了公平起见,用0.1*randn(1,4)设计为由matlab产生的一组在[0,1]上的随机数组:(0.0332,0.0185,0.1837,0.0139),粒子群算法跟遗传算法近似,通常情况下设c1=c2=2,w=0.7其余也是都选择默认值。

下面列举一个实际的例子,对单级直齿圆柱齿轮减速器(如图1)的参数进行优化。已知其输入轴的扭矩为T=150N·m,齿数比为滋=3.2,工作寿命要求达到72000h,原动机采用电动机,工作载荷均为平稳。小齿轮材料为40Cr,调质后表面淬火,齿面硬度HB=235耀275,[啄H]1=650MPa,[啄F]1=290MPa。大齿轮材料为45Cr,调质,齿面硬度为HB=217耀255,[啄H]2=210MPa,[啄F]2=210MPa,载荷系数k=1.48。要求在满足工作要求的前提下使两齿轮的重量最轻。

经过计算和迭代,最后算出目标函数为f=8.8279*x(1)赞3*x(2)赞3*x(3),其中;2燮x1燮10;17燮x2燮35;0.8燮x3燮1.4。

各个算法中的默认值同上述计算时一样保持不变,模拟退火算法的初始值还是系统随机生成的,为(18.2260,33.8653,1.2730)。

通过表1的优化结果可以看出对于一般的无约束的优化问题,这三种常用的优化算法在实际运行过程中只能算出最接近最优解的可行解或者可接受解;而且因为自身特点的不同,迭代次数也是有明显的区别的;从表2可以看出对于有约束的实际优化问题,这三种算法都可以计算出实际的最优解,只是迭代的次数有差别。

综上可以看出,这三种优化算法中,遗传算法的运行速度是最快的,粒子群算法的速度次之,模拟退火算法的速度最差。这主要是因为这三种算法的主要是优化原理不同,从而使优化的方法不尽相同;而且在对优化过程中的结果的处理也是不同的,这些都促使它们在面对不同的问题时有着不同的优势。

3结束语三种算法在解决不同的问题时都有各自的优势和缺陷,都具有很大的改进空间,遗传算法可以在选择方法、交叉方法及概率算子上做改进。粒子群算法可以在权值和学习因子方面进行适应性改进。而模拟退火算法可以在允许的接受概率等方面进行改进,并可与多种模型进行组合,以达到解决问题的最佳效果。当然针对不同的寻优对象所要进行的改进是不同,改进后的效果也各异,因此在应用中十分的灵活,需要针对不同的问题具体分析。

参考文献院[1]沈斌,江维,胡中功.三种现代优化算法的比较研究[J].自动化与仪器仪表,2009,3:111-113.[2]HollandJ.H.AdaptioninNatureandArtificialSystem.MITPress,1991.[3]曾建潮,介婧,崔志华.微粒群算法[M].第一版.北京:科学出版社,2004.[4]徐宁,李春光等.几种现代优化算法的比较研究[J].系统工程与电子技术,2002,24(12):100-103.[5]冯玉荣.模拟退火算法的研究及其应用[D].云南:昆明理工大学,2005.

来源期刊

价值工程