Matlab遗传算法工具箱的应用
^工●砷化聩件技m0.I.Automation2005年第24卷第6期Softwwe1khnjque2005。VbI.24。No.6文章蚺号l10D6一】,76(2D05)06一0115一02
Matlab遗传算法工具箱的应用
曾日波
(江西财经大学电子学院,江西南昌330013)
摘要:Matlab遗传算法(GA)优化工具籀是基于基本操作及终止条件、二进制和十进制相互转换等搛作的综合函数库。其实现步骤包括:通过输入及输出函数求出遗传算法主函数、初始种群的生成函数,采用选择、交叉、变异操作求得基本遗传捧作函数。以函数仿真为倒.对谊函数优化和GA改进,只需改写函数m文件形式即可。
关键词:遗传算法;Matlab;遗传算法工具箱;仿真
中围分类号:TP391.9文献标识码:A
ApplicationofGeneticAlgoritllmTbolboxBasedonMatlab
ZENGRi-bo
(C011egeofFinaⅡce卸dEconomicsElectronics,Jlang五University,Nanch锄g330013.China)
Abstract:TheoptimizationtooIboxofMatlabgeneticaIgorimm(GA)isaexcelkntgeneralizedfuncnonlIbraryistobases0nb勰icOpcrntiOnandtermiⅡatetc邛口.tlleinter-cOnverslOnbelweenblnarysystemaⅡdtcn8ystemthe8ystemetc,Itsstepincludes:themainfunctiOnofGAandthecrcationfunctionsofinjtialpopulationwascalculatedthroughi“putting皿dOutputtingfunctiOⅡs.andthebasicfunctiOnsofgene虹cOperaⅡOnwascomputedbychoOsing,inten8ci“g,andaber啪ce
functionstoreallzethesystem.Taketllefunctionsimulationasa11example。theoptimizationoffunctionandimproVementofGAwefeachievedbymodincationthe行1efo皿atofmfunction.
Keywords:GeneticalgoriIhm;Matl曲;Op虹mizationtoolbox;Simulation
1引言如Ⅱction【pop]=initialize98
(num’bounds,eevalFN,eevalop&.opnons)
遗传算法(GA:GeneticAlgoritllm)是对生物输出参数:pop一生成的初始种群。
进化过程进行的数学方式仿真。将Matlab引入遗输入参数:num一种群中的个体数目,bounds传算法,在Matlab平台上开发遗传算法的优化工一代表变量的上下界的矩阵,eevalFN一适应度函具箱(GAOT,GeneticAlgorithmforOptimization数,eevalOps一传递给适应度函数的参数,optionsToolbox).可更好地认识GA,改进GA。一选择编码形式(浮点编码或是二进制编码)2基于Matlab的优化工具箱【precisionF—or_B】,precision一变量进行二进制编码
遗传算法的优化工具箱(GAoT)是从遗传算时指定的精度,F—Ⅲ一B一为l时选择浮点编码,否法的基本结构出发,考虑到基本操作及终止条件、则为二进制编码,由precision指定精度)。二进制和十进制的相互转换等操作的综合函数库。2.3基本遗传操作函数
2.1遗传算法主函数(1)选择
function【newP0p]=Select(oldPop,options)
参数说明:newPop一由父代种群选出的新的种群,oldPop一当前的种群(即父代种群),options
一选择概率。
输入参数;bounds一变量上下界的矩阵,(2)交叉
evalFN一适应度函数,evalOps一传递给适应度函数fuⅡction[cl,c2】=crossover(p1.p2’bounds,ops)的参数,stam'op一初始种群,termFN一终止函数的参数说明:pl一第一个父代个体,p2一第二个父代个体,bounds一可行域的边界矩阵,cl、c2一一选择函数的名称.selectOps一传递个选择函数的产生的两个新的子代。
参数,xOverFNs一交叉函数名称表,以空格分开,(3)变异
function【child】=Mutation(par'bounds,genInf0,0ps)异函数表,mutOps一传递给交叉函数的参数表。变异操作是由一个父代产生单个子代。2.2初始种群的生成函数3仿真实例与分析
收稿日期,2005—06—15;修回日期;2005—08—07
作者简介:曾日渡(19“一)。男。江西人,2000年获华中科技大学工程硕士学位。从事嵌入式系统的应用研究。・115・万 方数据
^工●动化软件接m
SonwareTechniqueo.I.Automation2005。V01.24,No.62005年第24卷第6期
3.1仿真实例
基于Matlab的GAOT进行函数优化和GA改
进,只需改写函数m文件形式。以求解函数“x)=
x+10sin5x+7cos4x在区间[o,9】的极大值为例:按照
工具箱函数,取popsize=10、maxGen—Tenn=25,
几何规划排序选择、算术交叉、非统一变异,其中
pc=0.95、pm=O.08。即当x=7.8569时,“x)=
24.8554。仿真结果如图l:x轴表示遗传算法进化
的代数,y轴表示种群中染色体的适应度值,实线
代表种群个体中当前最优值的轨迹,虚线代表种群
中个体的平均值的轨迹。迭代过程如表1。
图1仿真结果
表1迭代过程
3.2传统遗传算法与GAOT的应用比较
采用自适应遗传算法即变固定的交叉率和变
异率为自适应变化,以加快其收敛性。图2、3是传
统遗传算法和GAOT的比较。
围2传统遗传算法
仿真实验既利用了GAOT本身提供的m函数文
件,也将改进的GA算法编成m文件在GAoT中运
行。通过仿真图能够直观地反映GA,与其他传统
寻优方法相比,它具有明显优势,同时直观显示改
进GA比传统GA具有收敛速度快、不易陷入局部
极小、精度高等特性。
・116・万 方数据围3GAOT应用基于Matlab的遗传算法优化工具箱提供了一[1】周明。孙树栋.遗传算法原理厦应用【M].北京:国防工业出版社.1999【2]张志涌,徐彦琴Matl曲教程[M】.北京:北京航空航天大学出版社.200l【3]ChnstopherRH叩ck,Jef诧ryAJoin08.MichadGKay.AgenetlcaloorithmforFunctionOPlimization:AvatlabImplementation[Z].虚拟现实在火工品生产培训中的作用袁志国,刘有智(中北大学化学工程系,山西太原030051)摘要:虚拟现实技术是由多媒体技术与仿真技术相结ApplicationofVirtualReality1色chn0109yinPowderandDetonatorProduce7rrainingYUANZhi—guo。LIUYou—zhi(Dept.ofChemicalEngineering,NorthUⅡiversityofChina,Taiyuan030051.China)Abstract:ThevirtIlalrealitvtechnol02vw拈createdbvtheofmulti-mediatechnolo卫yandsimulationItincIudesmulti.sensationfeature,immersionfeature.autonOmvfea佃reandsO0n.Thercalityt∞hnologycanbedividedintOdesktoptypereality,immersiontypevirtuaIrcality'increa3ing.tvpevirm出realitv,anddistrmutedtyperealhy.ItwasappliedinproducetrainiⅡgofpoweranddetOnator.technologvhastheeffectsasfollows:multi—sensatiOn,thetralnlngeftect,andsaVlngtrnlnlng
cost.4结束语个标准的、可扩展的、简单的算法,利用Mauab的强大的矩阵运算能力,使用者可以避免维护遗传算法种群和染色体的数据结构的繁重编程工作,将精力集中在遗传算法的改进和具体问题的应用中去。参考文献:合而生成的。它具有多感知性、沉浸特性、交互性和自主性等特征。分为桌面型虚拟现实、沉浸型虚拟现实、增强现实型虚拟现实和分布式共享型虚拟现实等四种类型。并广泛应用在火工品生产培训中,起着多感知性、强化培训效果和节约培训成本等作用。cooDeratIonfeature,interactiOntechn0109y.virtualvirtualrealitYwidelyThis1mpf0Vlng
Matlab遗传算法工具箱的应用
作者:
作者单位:
刊名:
英文刊名:
年,卷(期):
引用次数:曾日波, ZENG Ri-bo江西财经大学电子学院,江西,南昌,330013兵工自动化ORDNANCE INDUSTRY AUTOMATION2005,24(6)3次
参考文献(3条)
1.周明.孙树栋 遗传算法原理及应用 1999
2.张志涌.徐彦琴 Matlab教程 2001
3.Christopher R Houck.Jeffery A Joines.Michael G Kay Agenetical Gorithm for Function Optimization:AVatlab Implementation
相似文献(10条)
1.期刊论文 何正大.许玫.HE Zheng-da.XU Mei 基于Matlab遗传算法和神经网络结合的函数逼近实现和测试 -电脑知识与技术2009,5(35)
为了开发对科研实验数据的非线性关系精确建模工具,该文讨论了将遗传算法GA和神经网络算法结合,并使用Matlab软件实现计算过程.针对一个非线性测试函数逼近问题,设计了Madab软件的GA算法的实现过程,并实验测试分析了GADS工具箱算子选择和参数设置.比较了单纯GA方法和GA结合Levenberg-Marquardt BP方法局部寻优的效果.结果表明实验中设计的基于Matlab的GA神经网络计算方案是一种有效的高精度模型,算法设计实现过程有指导意义,能为各领域提供有力复杂非线性建模工具.
2.期刊论文 刘勇.刘宝坤.李光泉 基于MATLAB平台的遗传算法工具包 -天津大学学报(自然科学与工程技术版)2001,34(4)
在分析遗传算法要素的基础上,编写了基于Matlab的遗传算法工具包(GA Toolbox).该工具包具有运行稳定,结构灵活,扩展方便的特点,并易与
Matlab的其他工具包结合使用.给出了Matlab遗传算法工具包的三个成功应用实例:1)采用遗传算法工具包构造递阶遗传算法,2)基于遗传算法的径向基神经网络学习算法,3)遗传算法优化化工过程操作条件.说明Matlab遗传算法工具包的稳定性和实用性.
3.学位论文 吴瑞 基于遗传算法的模糊神经网络控制器的优化以及MATLAB与VC数据交换的研究 2007
智能控制系统是一种模拟人类智能的高级控制系统,神经网络、模糊控制和遗传算法已成为21世纪人工智能技术最具有发展前途的三个重要领域.将三者有效地结合起来,不仅在理论上显示出诱人的前景,在实际中也得到了广泛应用.
MATLAB是一种以Matrix和Array为基本编程单元的,拥有完整的控制语句、控制结构、函数编写与调用格式和输入输出功能的,具有面向对象程序设计特征,集命令翻译、科学计算于一身的交互式软件.将MATLAB应用于实际控制系统近年来也得到许多研究人员的重视.
本文主要研究工作有:
1、采用自适应交叉、变异概率以及调整遗传操作顺序对遗传算法寻优性能进行改进;
2、采用自然数与实数相结合的方法,基于改进后的遗传算法对模糊控制器的控制规则和隶属函数参数进行了优化研究;
3、将遗传算法和BP算法相结合,对模糊神经网络控制器进行了优化研究;
4、将MATLAB和VC++相结合,基于混合编程的思想,设计了MATLAB与VC++的接口程序,实现VC++对MATLAB神经网络工具箱函数的调用;
5、在实现了VC++对MATLAB神经网络工具箱函数的调用的基础上,建立了基于MATLAB优化神经网络参数,VC++完成控制器计算的控制系统仿真模型,并进行了仿真研究.
4.期刊论文 刘爱丽.银彦鹏.LIU Ai-li.YIN Yan-peng matlab遗传算法在泵送混凝土成本优化中的应用 -山西建筑2010,36(3)
通过对C40泵送混凝土施工特性的研究,归纳总结出设计C40泵送混凝土时的组分约束条件,以1m3混凝土的成本为优化目标,将线性约束条件转化成约束矩阵,并设定为遗传算法的各项操作参数,最后通过matlab遗传算法工具箱进化计算获得最优解.
5.期刊论文 陈秋莲.王成栋.CHEN Qiulian.WANG Chengdong 基于Matlab遗传算法工具箱的优化计算实现 -现代电子技术2007,30(2)
遗传算法是一种基于生物自然选择与遗传机理的随机搜索与优化方法.遗传算法求解复杂优化问题的巨大潜力及其在工业工程领域的成功应用,而受到了广泛关注.Matlab的遗传算法工具箱具有使用简单方便,计算可靠,快捷高效和图形结果可视化等特点,具有广阔的应用前景.主要介绍了基于Matlab遗传算法工具箱,深入分析其编码方式、初始群体、选择、交叉、变异操作及适应度函数的实现方法.最后给出应用实例,验证了Matlab遗传算法优化工具的有效性.
6.期刊论文 丁庆新.孙广斌.王刚庆.赵宏林.李德俭 三偏心蝶阀优化设计的遗传算法及Matlab实现 -石油机械2009,37(11)
传统复合形算法在快速构造初始复合形、有效进行一维搜索、合理构造新复合形等方面存在不足,不再适应三偏心蝶阀密封副新的设计要求,为此提出一种基于工程遗传算法的三偏心蝶阀密封副主结构参数优化设计思想.在分析蝶阀结构原理的基础上建立了密封副优化模型,并利用Matlab遗传算法优化工具箱对问题进行了求解.结果认为,三偏心蝶阀摩擦特性最优化模型为多维约束优化问题,且目标函数和约束函数为非线性的;遗传算法对目标函数和约束条件复杂程度没有过多要求,且能在较大的概率和有效时间内求得整体最优解.
7.学位论文 王瑞 基于组件的演化函数优化平台的研究与设计 2008
演化计算是智能计算科学的一个重要组成部分,是一种优化算法。它是模拟自然界生物演化过程,采用某种编码技术表示问题的可能解,并通过对编码表示进行遗传操作和自然选择来解决问题。由于演化计算具有自组织、自适应、自学习等智能特征,且描述简单、使用灵活、易于操作和问题要求
的限制条件少,以及适合于大规模并行计算等特点,它已在复杂优化问题求解、及其学习和众多工程领域中取得了很大成功,成为许多科学关注的一个热点。其中函数优化是演化算法的应用方向之一。
本文以演化算法函数优化组件库的设计为背景,借助于MATLAB遗传算法工具箱中的函数,对演化算法的发展情况及各种相关技术进行了全面的分析,并把软件复用思想和组件实现技术应用到演化算法函数优化组件库的设计和开发当中。同时对演化算法函数优化组件库的设计进行了深入的研究。
一、以MATLAB遗传算法工具箱中的函数为封装对象。
1.MATLAB有着丰富的由世界著名专家、学者开发出的各种工具箱,MATLAB的优化工具箱提供了对各种优化问题的一个完整的解决方案,而且已在30个广泛的应用领域得到了很好的测试。因此,本文借助于MATLAB遗传算法工具箱的思想来开发。
2.分析了MATLAB的外部编程接口各种技术,最后决定采用MATLAB引擎技术来实现与外界沟通。因为MATLAB引擎的最大优点就是可以充分利用MATLAB的功能,包括调用工具箱函数和图形函数。
3.由于MATLAB遗传算法工具箱是一个完成演化算法大部分重要功能的程序的集合,包括写好的优秀程序,所以本文对工具箱中的函数进行封装,缩短了开发周期,提高了开发效率。
二、采用软件复用技术来分析、设计和实现演化函数优化平台。
随着软件开发方法学的演变和发展,特别是软件模式、软件组件等概念的提出,给软件重用度、软件的可扩充性、软件的鲁棒性及软件开发效率的提高,提供了一个诱人的前景。
1.采用面向对象技术和以设计模式为指导思想进行演化函数优化平台的总体设计和详细设计。
因为面向对象技术是一个优秀的软件复用技术,而且采用面向对象技术设计的结果很容易封装为COM组件对象,所以本文采用面向对象技术进行平台的设计。
设计模式是一些面向对象软件设计和开发的经验总结,在软件开发中,合理地采用设计模式,有助于更快速地得到问题的正确解决方案。把设计模式作为指导思想是可行的。
2.采用COM组件技术通过MATLAB引擎对MATLAB遗传算法工具箱中的函数实现调用和封装实现。由于COM提供的是面向对象的组件模型,COM组件提供给客户的是以对象形式封装起来的实体,对MATLAB遗传算法工具箱函数程序集合的特点相吻合。
COM组件封装MATLAB遗传算法工具箱中函数基本思路是:首先封装MATLAB引擎函数;其次通过继承引擎接口实现各种算子的封装:最后在组件对象中实现这些接口的方法。
该平台具有高效、灵活、易用、易扩充等特点。达到了可重用性、可扩展性及可移植性的目的。
8.学位论文 金芬 遗传算法在函数优化中的应用研究 2008
遗传算法是一种借鉴生物界自然选择和遗传机制的高度并行、随机、自适应的全局优化概率搜索算法。国内外都非常重视遗传算法的理论和应用研究,并取得了令人瞩目的进展,遗传算法的应用成果已渗入到许多领域。但遗传算法的理论和方法尚未成熟,算法自身的一些不足也有待于进一步地改进和完善,而函数优化问题是对遗传算法进行性能评价的常用算例,为此,本课题选择了用遗传算法求解函数优化问题为研究对象,分析了遗传算法的运行机理,对适应度函数和遗传操作进行了深入细致的研究,并针对基本遗传算法和一般的实数遗传算法难以有效地求解复杂函数的全局优化问题,对遗传算法的适应度函数及遗传算子进行了改进,并在MATLAB环境中实现了遗传算法求解函数优化问题,最后选择了一些典型的多维或高维复杂函数进行仿真测试,通过和其它方法比较,证明本文提出的改进算法不仅能有效地避免“早熟”现象,提高了算法的收敛速度和收敛概率,而且所求得的解达到或以相当高的精度逼近最优解。
本文对遗传算法的主要改进及工作如下:
1.遗传算法引导搜索的主要依据就是个体的适应度值,本文将适应度函数作为重点研究对象之一。深入分析了适应度指数变换的特点及遗传过程中种群目标值的变化规律,提出了基于指数变换、指数系数随进化代数增加而逐渐增加的动态变化的适应度函数。并通过数值实验,和Goldberg的线性拉伸法及一般的指数变换法进行了比较,结果表明本文提出的适应度函数能极大地提高算法的优化精度、收敛速度和收敛概率。
2.对遗传算子的改进也是一种常用的改善遗传性能的方法,本文提出了对多个遗传算子进行改进的实数遗传算法。本文详细分析了各种选择方法的优缺点,提出采用随机遍历抽样选择、最优保存策略和子代淘汰父代选择结合的混合选择策略;研究了实数遗传算法中离散重组杂交算子和算术杂交算子的搜索特点,提出了基于适应度的线性逼近交叉策略,该交叉策略能充分利用当代群体的有利信息,可以使得子代快速地向更高适应度的区域移动;选择和交叉操作中,个体的适应度由线性排序分配获得,这样即使进化后期个体目标值接近,但个体适应度仍成合适的级差,有效防止进化后期因交叉不起作用而收敛于局部最优值,也有利于选择操作,使算法具有较好的鲁棒性;分析了变异概率对算法的影响,提出了采用变异概率随进化代数增加而逐渐减小的动态变化的实值变异策略。最后,分别用该改进算法和其它三种算法求解了16个典型的复杂函数,实验结果表明该改进算法的性能明显优于其它三种遗传算法,它不但能较好地求解低维函数,还能非常有效地求解了30维、100维、400维,甚至更高维数的多种无约束测试函数。
3.利用MATLAB的遗传算法工具箱有效地求解了函数优化问题。为了测试本文提出的改进是否有效和是否具有一定的通用性,选择了16个测试函数,并采用多种算法进行了测试,通过大量的实验及对实验结果的分析与比较,给出了结论。
最后,通过对研究工作的总结,指出本文改进算法的优点与不足,为遗传算法的进一步研究提供一定的参考价值。
9.期刊论文 姚文俊 基于Matlab的遗传算法的工具箱的研究及改进 -现代电子技术2004,27(9)
介绍了使用Matlab语言编程实现的遗传算法,并建立遗传算法工具箱.通过仿真实验说明该工具箱具有运行稳定、结构灵活、扩展方便等特点,能直观显示改进后的GA,比标准GA具有收敛速度快、不易陷入局部极小、精度高等特性.
10.学位论文 陈飞婷 基于遗传算法的变幅机构的设计 2004
优化设计是近年来发展起来的一门新科学,也是一项新的技术,它在工程设计的各个领域得到了广泛的应用.机械设计与最优化技术、电子计算机技术相结合,形成了机械优化设计这一新领域."最优化"是每一个工程或产品设计者所追求的目标.任何一项工程或一个产品的设计,都需要根据设计要求,合理选择方案,确定各种参数,以期达到最佳的设计目标.正因为如此,优化设计在机械设计领域有着非常广大的发展及应用前景.遗传算法[Genetic
Algorithms,简称G A]是近些年来出现的一种模仿自然选择与进化的基于种群数目的随机搜索算法,是优化领域的一个新成员.与常规优化算法相比,遗传算法具有隐含并行性和全局搜索特性这两大显著特征,并具有一些常规优化算法所无法拥有的优点,如不需梯度运算等.门机变幅系统优化设计是将优化设计方法应用于工程设计中的产物,但由于设计工程问题的复杂性,采用传统的优化设计方法优化的成功率及效果并不理想.该文以单臂架变幅机构导向滑轮补偿系统和杠杆一一活对重臂架自重平衡系统的独立模型及综合模型为研究对象,考虑了滑轮和卷筒处包绕的钢丝绳长度变化,从而提高了优化模型的精度,同时引进一种新型优化算法一一遗传算法,紧密结合工程实际,较为圆满的解决优化过程中存在的问题.程序设计采用MATLAB的遗传算法工具箱,使设计更多集中在优化问题的本身,而不是过多地纠缠在具体的算法实现上.为了系统操作方便,在VB6.0中利用ActiveX自动化技术调用和操作Matlab的方法,通过这种混合编程实现了VB的可视化界面与Matlab强大的数值分析能力的结合.该文的工作具有以下两方面的意义:1.结合门座起重机变幅机构的设计,建立了导向滑轮补偿系统和杠杆一一活对重臂架自重平衡系统独立模型和综合模型的未平衡力矩最小的优化问题,结合遗传算法对它进行了优化,结果证实了该算法的有效性和可行性,表明了综合优化比独立优化更能提高优化的准确性.同时编制了通用的优化程序,为变幅机构的设计提供了一个高效实用的工具.2.实现VB的可视化界面与Matlab强大的数值分析能力的结合.
引证文献(3条)
1.王福昌.万永革 利用余震震源分布确定主震断层面的方法研究[期刊论文]-内陆地震 2007(01)
2.白向东.刘福水.李向荣.孙柏刚 柴油机排放的遗传算法优化研究[期刊论文]-北京理工大学学报 2007(06)
3.贾国丽 面向产能柔性的装饰布企业综合生产计划模型研究[学位论文]硕士 2006
本文链接:http://d.g.wanfangdata.com.cn/Periodical_bgzdh200506056.aspx
下载时间:2010年5月25日