《使用MATLAB遗传算法工具实例(详细).docx》由会员分享,可在线阅读,更多相关《使用MATLAB遗传算法工具实例(详细).docx(69页珍藏版)》请在优知文库上搜索。
1、最新发布的MAT1.AB7.()Re1.ease14已经包含f一个特地设计的遗传算法与干脆搜寻工具箱(GeneticA1.gorithmandDirectSearchToo1.box.GADS.运用遗传算法与干腑搜寻:具箱,可以扩展MAT1.B及其优化工具箱在处理优化同时方面的实力,可以处理传统的优化技术难以解决的问胞,包括那线难以定义或不便于数学建模的问题,可以解决目标函数较尚难的问题,比如目标函数不连续、或具有高度非线性、随机性以及目标函数没有导数的状况.本苑8节首先介绍这个遗传算法与干脆搜寻工具箱,其余各节分别介绍该工具箱中的遗传算法工具及其运用方法。8.1遗传算法与干脆搜寻工具箱概述本
2、节介绍MNr1.AB的GADS(遗传算法与干腌搜寻)工具箱的特点、图形用户界面及运行要求,说明如何编写待优化函数的M文件,且通过举例加以阐明,工具箱的特点G,DS工具箱是系列函数的煲合,它们扩展了优化工具箱和MAT1.AB数做计能环境的性能。遇传算法马干腌搜寻工具箱包含了要运用遗传算法和干脆搜寻修法来求解优化何题的一些例程。这些算法使我们能第求斛那些标准优化工具箱范用之外的各种优化问题。全部工具箱函数都是MAT1.AB的M文件.这些文件的实现特定优化算法的MAT1.AB语句所写成.运用语用typefunc1.in-name就可以看到这些函数的MAT1.AB代码.我们也可以通过焉写自己的M文件先
3、实现来扩展遗传尊法和干脆搜寻工具箱的性能.也可以符该具箱,jMAT1.AB的其他工具箱或Simu1.ink结合运用,来求解优化问冽.工具箱函数可以通过图形界面或MAT1.AB吩咐行来访问,它们是用MAT1.AB语言编写的,对用户开放,因此可以查看算法、修改源代眄或生成用户函数“遗传算法与干脆搜寻工具箱可以帮助我们求解而些不易用传统方法解淡的问时,警如火杳找问题等.遗传算法与干脆搜寻工具箱有一个细心设计的图形用户界面,可以帮助我们由观、便利、快速地求斜场优化问鹿,.1功能特点遗传算法与干脆搜寻工具箱的功能特点如下:(I)图形用户界面和吩咐行函数可用来快速地描述何时、设置算法选项以及监控进程.(2
4、)具有多个选项的遗传算法工具可用于问题创建、适应度计匏、选择、交叉和变异.(3)干脆搜寻工具实现了一种模式搜寻方法,其选项可用于定义网格尺寸、去袂方法和搜寻方法。(4)遗传算法与干脆搜寻工具箱函数可与MAT1.AB的优化工具箱或其他的MATI.AB程序结合运用.(5)支持自动的M代码生成.2图形用户界面和吩咐行曲数遗传打法工具函数可以通过吩咐行和图形用户界面来运用遗传算法.干脆搜寻工具函数也可以通过吩咐行和图形用户界面来进行访问。图形用户界面可用来快速地定义问题、设置算法选项、对优化问他进行具体定义。遗传算法与干脆搜寻工具箱还同时供应了用于优化管理、性能监控及终止准则定义的工具,同时还供应大麻
5、标准算法选项.在优化运行的过程中,可以通过修改选项来细化最优解,更新忤能结果.用户也可以供应自己的算法选项来定制工具箱.3运用其他遢数和求解4遗传算法与干脆搜寻工具箱与MAT1.AB及优化工具箱是膝密结合在一起的.用户可以用遗传贪法或干脆搜寻算法来找寻最佳起始点,然后利用优化J1.具箱或用MAT1.AB程序来进一步找寻最优解,通过结合不同的算法,可以充分地发挥MAT1.AB和工具箱的功能以提高求解的质量,而于某些特定问题,运用这种方法还可以得到全局(最优解.4显示、监拄和出结果遗传笄法与干脆搜寻工具箱还包括一系列绘图函数用来可视化优化结果。这叫可视化动能宜观地故示了优化的过程.并且允许在执行过
6、程中进行修改.工具箱还包括一系列绘图的数用来可视化优化结果.这些可视化功能直观地显示了优化的过程,并且允许在执行过程中进行修改.该工具箱还供应了一些特殊绘图函数.它们不仅适用于遗传眸法,还适用于干腌搜寻算法。适用于遗传算法的函数包括函数依、适应度值和函数估计。适用于干脆搜寻算法的函数包括函数值、分值H方图、系谙、适应度假、网格尺寸和函数估计.这些函数可以将多个绘图一并显示可出观便利地选取最优曲线.另外,用户也可以添加自己的绘图函数.运用输出函数可以将结果写入文件,产生用户自己的终止准则,也可以写入用户自己的图形界面来运行工具箱求解器除此之外,还可以将问题的算法选项导出,以便日后再将它们导入到图
7、形界面中去.5所需的产品支持遗传算法与干脆搜寻工具箱作为其他优化方法的补充,可以用来找寻最佳起始点,然后可以再通过运用传统的优化技术来进一步找学最优斛.工具箱须要如下产品支持:(I)MAT1.AB.(2)优化工具箱.6相关产品与遗传算法与干脆搜寻工具箱相关的产品有:(I)统计工具箱应用统计算法和概率模式.(2)神经网络工具箱设计和仿真神势网络,(3)模糊逻轼工具箱设计和仿真基于模糊逻轼的系统。(4)金融工具箱分析金融数据和开发金融舞法.7所需的系统及平台遗传舞法和干脆搜寻工具箱对于对于运行环境、支持平台和系统的需求,可随时通过访问网站:/了耨最新发布的信息.这里介绍的MAT1.AB7.0ReI
8、eaSe14所需的最低配置是:Windows系列操作系统,PentiumIII500CPU、61MBRAM.空闲硬做空间600MB以上.编写待优化函数的V文件为了运用遗传算法和干脆搜寻工具箱,首先必需编写一个M文件,来确定想要优化的函数.这个M文件应当接受一个行向埴,并旦返回一个标量。行向量的长度就是目标函数中独立变量的个数.本节将通过实例说明如何彘写这种M文件.1耳M文件举例下面的例子展示了如何为一个想要优化的函数漏写M文件.假定我们想要计算下面函数的及小但:/(x1.x,)=2-2r1x,+61.Vi+Xj-6%M文件确定这个函数必需接受一个长度为2的行向量X.分别与变盘X1.和x2相对应
9、,并且返I可一个标属X,其伯等于该函数的依.为了编写这个M文件.执行如下步骡:(I)在MAT1.AB的Fi1.e菜单中选齐NeW菜单叫(2)选择M-Fik将在编辑器中打开一个新的M文件.(3)在该M文件中输入下面两行代码:functionz=myjun(x)Z=X(DA22*x*x+6*x(1.)+x(2)2-6*x(2):(4)在MAT1.AB路径指定的节目中保存该M文件。为了查看该M文件是否返回正确的值.可键入myjun(23)ans=-5留意:在运行遗传算法工具或模式搜斗工具时,不要运用编辑器或谓试器来网试目标函数的M文件,否则会导致在吩咐窗口出现JaVa异样消息,并且使调试更加困碓,.
10、2大化与量小化遗传尊法和干脆搜寻工具箱中的优化函数总是使目标函数或适应度函数最小化.也就是说,它们求解如下形式的问SS:minimizef(x)X假如我们想要求出函数代灯的最大值可以转而求取函数观r1=一凡。的最小值,因为的如X)最小但出现的地方与函数凡D最大位出现的地方相同.例如,假定想要求前面所描述的函数T)=-2%X,+6r1.+尺-6.V,的最大(ft,这时,我们应当端写一个M文件来计算.求函数g(x)-(x1.V;)-(-2,Xj+6x1.+*-6x?)的呆小值.3自动代码生成遗传簿法与干脆搜寻工具箱供应了自动代码生成特性,可以自动生成求解优化问题所须要的M文件。例如,图8.1所示的
11、就是运用遗传算法工具的自动代码生成特性所产生的M文件.另外,图形用户界面所输出的优化结果可以作为时来自吩咐行圜用代码的一种说明,这些代码还用于使例程和爱护工作自动化。functionunensMfiiewastoQeneratedtodoOptimzationwtnrn?gomicaiqoitrwyiDirectsercnoooox.u5eGWTiOhStortnedefau1.tGAoptionsstructure.*strttndefau1.toptionsoptcm三Qioptions;wxtifysoeparameter*OPtIan三optcns三optc三optcns三A1.gcc
12、tftnopb)rVBraiKh)I1.c0cQaoptionsicptiofYs1.ePopu1.itionsue4101011;gaoptonsoptions.*MigratIonDirectxon,Dot);g;OPtKnS三otonsctom.,PiotFctts.(OgtpiotDestfgitscores):optt1.ATION.SCORES)三Q(9CUyfC11.5.opt1.OM)图81if1.1修法M文件代闪的自动生成8.2运用遗传算法工具初步遗传算法与干脆搜寻工具箱包含遗传算法工具和干脆搜寻工具,从本节至章末,将主要介绍其中的遗传算法工具及其运用方法.本节主要介绍遗传算
13、法工具运用的初步学问,内容包括:遗传算法运用规则,遗传算法工具的运用方式,举例说明如何运用遗传算法来求解一个优化问题,说明遗传算法的一些基本术语,最终阐述遗传算法的工作原理与工作过程.遗传第法运用规则遗传算法是一种独于自然选择、生物进化过程来求解问题的方法.遗传算法反复修改时于个体解决方案的种群,在每一步,遗传算法随机地从当前种群中选择若干个体作为父辈,井口运用它们产生下一代的子种群.在连续若干代之后,种祥朝岩优化解的方向进化.我们可以用遗传獴法来求解各种不相宜于用标准优化籁法求解的优化问题,包括目标函数不连续、不行微、随机或高度非线性的问题。遗传舞法在每一步运用下列三类规则从当前种群来创建下
14、一代:(I)选择规则(SdeC1.ionru1.es,选择对下一代种群有贡献的个体,称为父辈.(2)交叉规则(Crossoverru1.es),将两个父辈结合起来构成下一代的子辈种群.(3)变异规则(Mutationru1.es),施加随机变更给父辈个体来构成子球.遗传算法与标准优化算法主要在两个方面有所不同,它们的比较状况归纳于表8.1中.表8.1遗传株法。配准优化算法比较标准算法遗传算法柘次送代产生.个小点.点的中列靠近个优化解好次迭代产生个种饼.种群靠近个优化解通过确定性的计惶在该序列中选择下个点通过Ia机进化选择计。来选择下代种群遗传算法运用方式遗传算法工具有两种运用方式:(1)以吩咐行方式调用遗传算法函数ga.(2)运用遗传算法工具,从图形用户界面到遗传算法.本节对这些方式做一个简要的介绍。.1在吩咐行用函数XH对于在吩咐行运用遗传匏法,可以用下列语法调用遗传算法函数ga:IXfva1.=ga(fitnessfun.nvars.options)其中:(Sfi1.nessfun是适应度函数句柄:nvars是适应度函数的独立变W的个数:opions是一个包含遗传算法选项参数的结构.赦如不传递选项参数.则即运用它本身的缺省选项值.函数所给出的结果:fva1.适应度函数的最终值:X最终值到达的点,我们可以特别便利擒把遗传算法