欢迎来到天天文库
浏览记录
ID:23517687
大小:188.05 KB
页数:3页
时间:2018-11-08
《@基于Matlab工具的遗传算法求解有约束最优化问题.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据^工●动把2008年第27卷第11期O.I.Automation2008,V01.27,No.II文章缩号:1006-1576(2008)11—0043-02基于Matlab工具的遗传算法求解有约束最优化问题刘鲭洁,陈桂明。杨旗(第二炮兵工程学院504教研室,陕西西安710025)摘要:采用基于遗传算法的Matlab工具求解有约束的曩优化问题,以函数ga()求解.首先,编写求解的目标函数,再在编写的主程序中加入语句,运行主程序,最后的结果也给出运算寻优过程中,各代的进化信息中得出.结果证明该工具
2、是解决此类问题最有效工具之一.关键词:遗传算法;Matlab;约束;优化中图分类号:TP311.1:0224文献标识码:ASolvingConstrainedOptimizationThroughGeneticAlgorithmBasedonMatlabToolboxLIUQing-jie,CHENGui-ming,YANGQi(No.504StaffRoom,TheSecondArtilleryEngineeringCollege,Xi’an710025。China)Abstract:Matlabto
3、olboxbasedongeneticalgorithm(GA)isusedtosolveconstraintedoptimization,andfunctionga()iSthesolvingway.Firstly,thetargetfunctioniscompile;then,thesentenceisaddedintothemainfunction,furthermorethemainfunctionisran;finally,eachgeneration’sinformationisprovid
4、edduringtherandom—se盯chingprocess.Theresultshowsthatthistoolboxisoneofthemosteffectivewaystosolvethesequestions.Keywords:Geneticalgorithm;Manab:Constraint;Optimization0引言遗传算法的基本思想是从一个代表最优化问题解的一组初始值进行搜索,这组解称为一个群,种群由一定数量、通过基因编码的个体组成,其中每个个体称为染色体,不同个体通过染色体的复
5、制、交叉或变异又生成新的个体,依照适者生存的规则,通过若干代的进化最终得出条件最优的个体。遗传算法不仅可用于无约束最优化问题的求解,还可用于有约束最优化问题的求解。故采用Matlab工具的遗传算法,对有约束最优化问题进行求解。l基于Matlab工具的遗传算法1.1求解步骤遗传算法的一般求解步骤:(1)选择N个个体构成初始种群Po,并求出种一群内各个个体的函数值;(2)设置代数i=1,即设置其为第1代;(3)计算选择函数的值,所谓选择即通过概率的形式从种群中选择若干个个体的方式;(4)通过染色体个体基因的
6、复制、交叉、等创造新个体,构成新的种群Pi+l;(3)继续进化处理。1.2遗传算法工具箱求解最优化问题常用的Matlab遗传算法函数有gaopt(),该函数能求解最大化问题,它最基本的调用格式为:【a,b,c]=gaopt(bound。fun)其中,bound=[xm,xM]为求解的下界和上界构成的矩阵,fun为字符串,表示用户编写的目标函数。返回的a为搜索的结果向量,由搜索的最优x向量与目标函数构成,变为搜索的最终种群,c为搜索中间过程参数。MATLAB7.0T具箱也提供了ga()函数,其基本的调用格
7、式为:【x,f'flag。out]=ga(fun,n,opts)其中,fun为描述目标函数的MATLAB函数,n为自变量个数,opts为遗传算法控制选项,可调用gaoptimset()函数设置各种选项。函数调用结束后,返回的x为搜索结果,若返回的flag大于O,则表示求解成功,否则求解出现问题。变异2有约束最优化问题的求解(5)ifi+l,若终止条件不满足,则转移到步骤如果约束中有等式约束,则可通过等式求解的收稿日期:2008—05—26;修回日期:2008—07—04作者简介t刘鳙洁(1982一),男
8、。河南人,第二炮兵工程学院在读博士研究生。从事武器系统与运用工程研究.·43·万方数据丢工●动亿2008年第27卷第ll期o.I.Automation2008。V01.27,No.11方程式将其中若干个自变量用其他自变量表示。不等式约束则可以通过惩罚函数方法转换到目标函数中,这样可将原始问题转换成无约束最优化问题,或直接将不满足等式约束使得目标函数人为设置成小数,迫使搜索算法脱离这样的值。以Matlab一遗传算法最优化工具箱为主要工具,解决
此文档下载收益归作者所有