传统优化算法与遗传算法的比较_精品文档.pdf
《传统优化算法与遗传算法的比较_精品文档.pdf》由会员分享,可在线阅读,更多相关《传统优化算法与遗传算法的比较_精品文档.pdf(4页珍藏版)》请在冰豆网上搜索。
![传统优化算法与遗传算法的比较_精品文档.pdf](https://file1.bdocx.com/fileroot1/2022-10/14/48fdc6da-81f8-4e57-84ef-9ecc77de7ab3/48fdc6da-81f8-4e57-84ef-9ecc77de7ab31.gif)
第22卷第3期湖北工业大学学报2007年06月Vol.22No.3JournalofHubeiUniversityofTechnologyJun.2007收稿日期2007-03-20作者简介罗述全(1958-),男,湖北武汉人,武汉理工大学讲师,研究方向:
物流信息化.文章编号1003-4684(2007)03-0032-04传统优化算法与遗传算法的比较罗述全(武汉理工大学物流工程学院,湖北武汉430063)摘要论述了优化模型及其传统的优化算法,同时介绍了一种现代优化设计方法遗传算法的原理、特点,首先比较了两者间求解方式上的特点,并就单纯的遗传算法、改进后的遗传算法与传统优化算法间求解效果进行了比较,认为结合遗传算法和传统优化算法间的优点将会越来越得到重视,效果将越来越好.关键词优化;遗传算法;罚函数法中图分类号TP312文献标识码A1优化模型优化设计理论与方法用于工程设计是在20世纪60年代后期开始的,我国从20世纪70年代中期才开始有关研究.30余年的工程优化设计理论与方法的研究,使传统的工程设计方法发生了根本性的变革.从而把经验的、感性的、类比的传统设计方法转变为科学的、理性的、立足于计算分析的设计方法1.最优化模型一般包括变量、约束条件和目标函数三要素:
1)变量:
指最优化问题中待确定的某些量.变量可用x=(x1,x2,xn)T表示.2)约束条件:
指在求最优解时对变量的某些限制,包括技术上的约束、资源上的约束和时间上的约束等.列出的约束条件越接近实际系统,则所求得的系统最优解也就越接近实际最优解.约束条件可用gi(x)0表示,i=1,2,m,m表示约束条件数;或xIR(R表示可行集合).3)目标函数:
最优化有一定的评价标准.目标函数就是这种标准的数学描述,一般可用f(x)来表示,即f(x)=f(x1,x2,xn).要求目标函数为最大时可写成maxxIRf(x);要求最小时则可写成maxxIRf(x).目标函数可以是系统功能的函数或费用的函数.它必须在满足规定的约束条件下达到最大或最小.根据其适用模型性态的不同,这些算法可以分为:
线性优化方法和非线性优化方法;无约束优化方法和约束优化方法;连续变量优化方法和离散优化方法等.工程优化问题大都为约束非线性优化问题,2优化算法一般来说,优化问题的传统求解方法可以分成解析法、数值计算法两大类2.解析法.即利用数学分析的方法,根据目标函数导数的变化规律与函数极值的关系,求目标函数的极值点.根据多元函数存在极值的充分必要条件可知,利用解析法寻求极值点时,需要求解由目标函数的偏导数所组成的方程组.以便找出稳定点,然后还要用Hessian矩阵对所找到的稳定点进行判断,看它是否是最优点.在目标函数比较简单时,求解上述方程组及用Hessian矩阵进行判断并不困难,但当目标函数比较复杂或为非凸函数时,应用这种数学分析方法就会带来麻烦,有时甚至很难解出由目标函数各项偏导数所组成的方程组,更不用说用Hes-sian矩阵进行判断时的困难了,在这种情况下,可以尝试采用另一种方法,即数值计算方法.数值计算方法.这是一种数值近似计算方法,它是根据目标函数值的变化规律,以适当的步长沿着能使目标函数值下降的方向,逐步向目标函数值的最优点进行探索,逐步逼近到目标函数的最优点.最优化方法是与近代电子计算机的发展紧密联系的,数值计算方法比解析法更能适应电子计算机的工作特点,因为数值计算的迭代方法具有以下特点:
a)是数值计算而不是数学分析方法;b)具有简单的逻辑结构并能进行反复的同样的算术运算;c)最后得出的是逼近精确解的近似解.该数学模型求解的具体过程可概括如下:
)给定初始点x(0)和一个足够小的收敛精度e0,并置计数单元k=0;)选取搜索方向S(k);)确定最优步长因子ak,并由x(k+1)=x(k)+akS(k)计算得到新的迭代点x(k+1);)最优解判断:
若点x(k+1)满足收敛精度要求,亦称终止准则,则以x(k+1)作为最优解,输出计算结果并终止迭代;否则,以x(k+1)为新的起点,即令k=k+1,转进行下一轮迭代.不难看出,优化算法必须解决以下3个基本问题.选择合适的搜索方向,不同的搜索方向构成不同的迭代算法;寻找最优步长因子和新的迭代点,一般采用一维搜索算法;给定适当的终止判断准则.由此根据搜索方向和最优步长因子选取方法的不同,出现了许多优化算法,如可行方向法、线性逼近法、序列二次规划法、罚函数法和直接法等.这些数值优化方法,各有优缺点.例如罚函数通过构造包含了原有目标函数及约束条件并称作/惩罚函数0的新的无约束目标函数,将原来的约束最优化问题,转化为一系列无约束优化问题,然后求其最优解,这种方法被称为惩罚函数.根据罚函数的构造不同,它又可分为内点罚函数法、外点罚函数法和混合罚函数法.用罚函数法求得的最优解,趋于原问题的最优解,同时又满足了原有的约束条件.转化为无约束问题后,求解比较简单,是一种行之有效的方法,亦常用于解带有不等式约束的最优化问题,并属于不等式约束最优化问题的间接解法.但由于它是通过求解一系列无约束问题的极值点来收敛于最优点,使计算速度受到影响,并且在寻优后期,罚函数往往出现病态,给求解带来困难.3遗传算法随着优化要面对的问题规模和复杂程度的逐渐增大,以及传统优化方法易出现局部最优解等的局限性,设计工作者吸取其他学科的知识,产生了新的思路,提出了新的算法,如遗传算法.遗传算法(GA)是一种模拟自然进化过程搜索最优解的方法,它是演化算法最初发展的三大分支之一,亦是非数值算法中最优秀的算法之一3.遗传算法是一个迭代过程,在每次迭代中都保留一组候选解,按其解的优劣进行排序,并按某种指标从中选出一些解,利用遗传算子对其进行运算,产生新一代的一组候选解,重复此过程,直到满足某种收敛指标为止.遗传算法是以自然选择和遗传理论为基础,将生物进化过程中适者生存规则与群体内部染色体的随机信息交换机制相结合的搜索算法.它在搜索之前,先将变量以某种形式进行编码(编码后的变量称为染色体),不同的染色体构成一个群体.对于群体中的染色体,将以某种方法评估出其适值.在每一代中用适值来测量染色体的好坏,生成的下一代染色体称为后代,后代是由前一代染色体通过交叉或者变异运算形成的.在新一代的形成过程中,根据适值的大小选择部分后代,淘汰部分后代,从而保持种群大小是常数.适值高的染色体被选中的概率较高.这样经过若干代之后,算法收敛于最好的染色体.它很可能就是问题的最优解或次优解.GA的基本执行过程如下:
1)随机选择N个初始点组成一个群体,群体内的每个点叫一个个体,或叫染色体.群体内个体的数量N就是群体规模.群体内每个染色体必须以某种编码形式表示.编码的内容可以表示染色体的某些特征,随着求解问题的不同,它所表示的内容也不同.通常染色体表示被优化的参数,每个初始个体就表示着问题的初始解.2)按照一定的选择策略选择合适的个体,选择体现/适者生存0的原理.根据群体中每个个体的适值,从中选择最好的M个个体作为父代重新繁殖下一代群体.3)杂交或交叉是两个染色体之间随机交换信息的一种机制.以事先给定的杂交概率Pc在选择出的M个个体中任意选择两个个体进行杂交运算或重组运算,产生两个新的个体,重复此过程直到所有要求杂交的个体杂交完毕.4)变异运算增加了遗传算法找到最优解的能力.根据需要可以以事先给定的变异概率Pm在M个个体中选择若干个体,并按一定的策略对选中的个体进行变异运算.5)检验停机条件,若满足收敛条件或固定迭代次数则停机;若不满足条件则转2)重新进行进化过程.每一次进化过程就产生新一代的群体.群体内个体所表示的解经过进化最终达到最优解.33第22卷第3期罗述全传统优化算法与遗传算法的比较4求解特点的比较1)遗传算法以编码形式工作,可以并行搜索多个峰值而不是一个点.遗传算法是从初始群体开始搜索的,而不是从单点开始搜索的,具有较高效率的并行性.许多传统优化方法都是从搜索空间的单点出发,通过某些转换规则确定下一点.这种点到点的搜索方法在多峰值优化问题中,首先找到的可能不是全局最优解,容易陷入局域最优解;而遗传算法是以点集开始的寻优过程,初始群体是随机地在搜索空间中选取的,这样在搜索过程中达到最优解的概率远大于点到点的方法.2)遗传算法把问题的参数集表示成个体,并以编码的形式运行,而不是对参数本身进行求解,具有良好的可操作性.遗传算法处理的对象是染色体,因而要求把所要优化问题的基本参数转化成定长的有限符号的染色体.3)遗传算法用概率传递规则代替确定性规则.遗传算法使用概率转换规则而不用确定性规则,具有全局寻优的特点.遗传算法使用概率转换规则来调整其搜索方向,各代群体间没有统一的联系.使用概率转换规则并不意味着遗传算法属于随机算法的范畴,它只是使用随机转换作为工具以保证搜索过程在不断改进的区域内进行.4)遗传算法只使用目标函数信息,而不使用推导过程或其他辅助知识.遗传算法在搜索过程中只使用适应度函数信息,而不用导数或其它辅助信息,具有较强的通用性.对于不同类型的优化问题,传统方法需要不同形式的辅助信息,没有通用的规则能适合所有问题.遗传算法在优化过程中,放弃使用这些辅助信息,具有较广泛的适用性.由上述可知,GA鲜明地具有其它算法所没有的鲁棒性、自适应性、全局优化性和隐含并行性.5求解效果的比较熊雪峰在文献4中对装载机的设计进行了多目标的优化,以得到铲斗的最大铲掘力,动臂油缸的最大举升力,据各种约束条件建立了8个等式约束和24个不等式约束.在发动机的功率不变并且满足技术要求的情况下,经过标准遗传算法优化后的动力性能比混合罚函数法提高了大约5%,执行效率大约是混合惩罚函数法的2倍.周继惠5对一长度L0=600cm,宽度b=60cm,厚度ts=0.5cm.翼板厚度为tfcm的箱形盖板进行设计,以它承受最大的单位载荷q=0.01MPa.要求在满足强度、刚度和稳定性等条件下,得到一个最轻的结构方案,模型中设翼板厚度、盖板厚度为x1、x2,其惩罚函数为5(x,rk),rk为惩罚因子.其优化过程如表1所示.表1用内点惩罚函数法求解盖板问题rkx1x25(x*,rk)31.000030.0000157.56892.10.651933.3545127.16971.470.646032.1997122.18861.0290.639130.2894115.00500.72030.637329.5106112.43600.50420.636128.8327110.36700.17290.634827.3077106.25120.04150.634926.1520103.56640.44810-20.634525.5091102.03640.23110-40.636624.9685101.3803遗传算法的优化过程(x1,x2为遗传算法中将变量编码换算后对应的值).初始值x1=0.6336,x2=25.6154,min=101.6417100代x1=0.6333,x2=25.3147,min=101.3077200代x1=0.6333,x2=25.3147,min=101.3077300代x1=0.6333,x2=25.3146,min=101.3058从这两个例子可以看出单纯的GA方法未必比其它搜索算法更好,一些对比实验表明,如果兼顾收敛速度和解的品质两个指标,单纯的GA方法未必比其它搜索算法更好6.针对这一特性,在工程应用中,人们不断地探索遗传算法与其他优化算法的结合,并改造遗传算法的自身结构,发展出了许多不同的遗传算法变体,一种结合方式是遗传算法同传统的优化方法的结合,如将遗传算法同局部爬山相结合,这些方