使用maab遗传算法工具实例详细

上传人:大米 文档编号:564574067 上传时间:2022-12-16 格式:DOCX 页数:51 大小:900.43KB
返回 下载 相关 举报
使用maab遗传算法工具实例详细_第1页
第1页 / 共51页
使用maab遗传算法工具实例详细_第2页
第2页 / 共51页
使用maab遗传算法工具实例详细_第3页
第3页 / 共51页
使用maab遗传算法工具实例详细_第4页
第4页 / 共51页
使用maab遗传算法工具实例详细_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《使用maab遗传算法工具实例详细》由会员分享,可在线阅读,更多相关《使用maab遗传算法工具实例详细(51页珍藏版)》请在金锄头文库上搜索。

1、,GADS。使用遗传算法与直接搜索工Genetic Algorithm and Direct Search Toolbox具箱,可以扩展MATLABt其优化工具箱在处理优化问题方面的能力,可以处理传统的优化技术难以解决的问题,包括那些难以定义或不便于数学建模的问题, 可以解决目标函数较复杂的问题,比如目标函数不连续、或具有高度非线性、随机性以及目标函数没有导数的情况。本章节首先介绍这个遗传算法与直接搜索工具箱, 其余各节分别介绍该工具箱中的遗传 算法工具及其使用方法。遗传算法与直接搜索工具箱概述本节介绍MATLA的GADS遗传算法与直接搜索)工具箱的特点、图形用户界面及运行 要求,解释如何编写

2、待优化函数的 M文件,且通过举例加以阐明。8.1.1工具箱的特点GADST具箱是一系列函数的集合,它们扩展了优化工具箱和MATLA敢值计算环境的性能。遗传算法与直接搜索工具箱包含了要使用遗传算法和直接搜索算法来求解优化问题的一 些例程。这些算法使我们能够求解那些标准优化工具箱范围之外的各种优化问题。所有工具箱函数都是MATLA的M文件,这些文件由实现特定优化算法的 MATLAB1句所写成。使用语句type function_name就可以看到这些函数的一 MATLA战码。我们也可以通过编写自己的 M文件来实现来扩展遗传 算法和直接搜索工具箱的性能,也可以将该工具箱与MATLAB勺其他工具箱或S

3、imulink结合 使用,来求解优化问题。工具箱函数可以通过图形界面或 MATLABT令行来访问,它们是用 MATLA酷言编写的, 对用户开放,因此可以查看算法、修改源代码或生成用户函数。遗传算法与直接搜索工具箱可以帮助我们求解那些不易用传统方法解决的问题,譬如表查找问题等。遗传算法与直接搜索工具箱有一个精心设计的图形用户界面,可以帮助我们直观、方便、快速地求解最优化问题。8.1.1.1 功能特点遗传算法与直接搜索工具箱的功能特点如下:(1)图形用户界面和命令行函数可用来快速地描述问题、设置算法选项以及监控进程。(2)具有多个选项的遗传算法工具可用于问题创建、适应度计算、选择、交叉和变异。(3

4、)直接搜索工具实现了一种模式搜索方法,其选项可用于定义网格尺寸、表决 方法和搜索方法。(4)遗传算法与直接搜索工具箱函数可与MATLA的优化工具多!或其他的MATLAB程序结合使用。(5)支持自动的M代码生成。遗传算法工具函数可以通过命令行和图形用户界面来使用遗传算法。 直接搜索工具函数也可以通过命令行和图形用户界面来进行访问。 图形用户界面可用来快速地定义问题、 设置 算法选项、对优化问题进行详细定义。遗传算法与直接搜索工具箱还同时提供了用于优化管理、 性能监控及终止准则定义的工具,同时还提供大量标准算法选项。在优化运行的过程中,可以通过修改选项来细化最优解,更新性能结果。用户也可以提供自己

5、的算法选项来定制工具箱。8.1.1.3 使用其他函数和求解器遗传算法与直接搜索工具箱与MATLA服优化工具箱是紧密结合在一起的。用户可以用遗传算法或直接搜索算法来寻找最佳起始点,然后利用优化工具箱或用MATLAB1序来进一步寻找最优解。通过结合不同的算法,可以充分地发挥MATLAB和工具箱的功能以提高求解 的质量。对于某些特定问题,使用这种方法还可以得到全局(最优)解。8.1.1.4 显示、监控和输出结果遗传算法与直接搜索工具箱还包括一系列绘图函数用来可视化优化结果。 这些可视化功能直观地显示了优化的过程,并且允许在执行过程中进行修改。工具箱还包括一系列绘图函数用来可视化优化结果。 这些可视化

6、功能直观地显示了优化的过程,并且允许在执行过程中进行修改。该工具箱还提供了一些特殊绘图函数,它们不仅适用于遗传算法,还适用于直接搜索算法。适用于遗传算法的函数包括函数值、适应度值和函数估计。适用于直接搜索算法的函数包括函数值、分值直方图、系谱、适应度值、网格尺寸和函数估计。这些函数可以将多个绘图一并显示,可直观方便地选取最优曲线。另外,用户也可以添加自己的绘图函数。使用输出函数可以将结果写入文件, 产生用户自己的终止准则, 也可以写入用户自己的图形界面来运行工具箱求解器。除此之外,还可以将问题的算法选项导出,以便日后再将它们导入到图形界面中去。8.1.1.5 所需的产品支持遗传算法与直接搜索工

7、具箱作为其他优化方法的补充, 可以用来寻找最佳起始点, 然后 可以再通过使用传统的优化技术来进一步寻找最优解。工具箱需要如下产品支持: (1) MATLAB。 (2) 优化工具箱。8.1.1.6 相关产品与遗传算法与直接搜索工具箱相关的产品有:(1) 统计工具箱应用统计算法和概率模式。(2) 神经网络工具箱设计和仿真神经网络。(3) 模糊逻辑工具箱设计和仿真基于模糊逻辑的系统。(4) 金融工具箱分析金融数据和开发金融算法。8.1.1.7 所需的系统及平台遗传算法和直接搜索工具箱 对于对于运行环境、支持平台和系统的需求,可随时通过访问网站了解最新发布的信息。这里介绍的MATLAB Release

8、 14所需的最低配置是:Windows系列操作系统,Pentium III 500 CPU、64MB RAM 空闲硬盘空间 600MBO上。8.1.2编写待优化函数的MC件为了使用遗传算法和直接搜索工具箱,首先必须编写一个M文件,来确定想要优化的函 数。这个M文件应该接受一个行向量,并且返回一个标量。行向量的长度就是目标函数中独 立变量的个数。本节将通过实例解释如何编写这种M文件。8.1.2.1 编写M文件举例下面的例子展示了如何为一个想要优化的函数编写帔件。假定我们想要计算下面函数的最小值:M文件确定这个函数必须接受一个长度为 2的行向量X,分别与变量x1和x2相对应,并且 返回一个标量X,

9、其值等于该函数的值。为了编写这个 Mt件,执行如下步骤:(1)在MATLAB File菜单中选择NeWI单项。(2)选择M-File ,将在编辑器中打开一个新的M文件。(3)在该M仪件中,输入下面两行代码:function z = my_fun(x)z = x(1)A2 - 2*x(1)*x(2) + 6*x(1) + x(2)A2 - 6*x(2);(4)在MATLAB径指定的目录中保存该M文件。为了查看该MC件是否返回正确的值,可键入my_fun(2 3)ans =-5注意:在运行遗传算法工具或模式搜索工具时,不要使用编辑器或调试器来调试目标函数的M文件,否则会导致在命令窗口出现 Java

10、异常消息,并且使调试更加困难。8.1.2.2 最大化与最小化遗传算法和直接搜索工具箱中的优化函数总是使目标函数或适应度函数最小化。也就是说,它们求解如下形式的问题:如果我们想要求出函数f(x)的最大值,可以转而求取函数g(x)= f(x)的最小值,因为 函数g(x)最小值出现的地方与函数f(x)最大值出现的地方相同。例如,假定想要求前面所描述的函数f(xi,x2) x; 2x1x2 6x1 x2 6x2的最大值,这时,我们应当编写一个MC件来计算,求函数 的最小值。8.1.2.3 自动代码生成遗传算法与直接搜索工具箱提供了自动代码生成特性,可以自动生成求解优化问题所需要的M文件。例如,图所示的

11、就是使用遗传算法工具的自动代码生成特性所产生的M文件。另外,图形用户界面所输出的优化结果可以作为对来自命令行调用代码的一种解释,这些代码还用于使例程和保护工作自动化。图 遗传算法Me件代码的自动生成使用遗传算法工具初步遗传算法与直接搜索工具箱包含遗传算法工具和直接搜索工具。从本节至章末,将主要介绍其中的遗传算法工具及其使用方法。本节主要介绍遗传算法工具使用的初步知识,内容包括:遗传算法使用规则,遗传算法工具的使用方式,举例说明如何使用遗传算法来求解一个优化问题,解释遗传算法的一些基本术语,最后阐述遗传算法的工作原理与工作过程。8.2.1 遗传算法使用规则遗传算法是一种基于自然选择、 生物进化过

12、程来求解问题的方法。 遗传算法反复修改对 于个体解决方案的种群。在每一步,遗传算法随机地从当前种群中选择若干个体作为父辈, 并且使用它们产生下一代的子种群。在连续若干代之后,种群朝着优化解的方向进化。我们 可以用遗传算法来求解各种不适宜于用标准优化算法求解的优化问题,包括目标函数不连 续、不可微、随机或高度非线性的问题。遗传算法在每一步使用下列三类规则从当前种群来创建下一代:(1)选择规则(Selection rules ),选择对下一代种群有贡献的个体,称为父辈。(2)交叉规则(Crossover rules ),将两个父辈结合起来构成下一代的子辈种群。(3)变异规则(Mutation ru

13、les ),施加随机变化给父辈个体来构成子辈。遗传算法与标准优化算法主要在两个方面有所不同,它们的比较情况归纳于表中。表遗传算法与标准优化算法比较标准算法遗传算法每次迭代产生一个单点,点的序列 逼近一个优化解每次迭代产生一个种群,种群逼近 一个优化解通过确定性的计算在该序列中选 择下一个点通过随机进化选择计算来选择下 一代种群8.2.2 遗传算法使用方式遗传算法工具有两种使用方式:(1)以命令行方式调用遗传算法函数ga。(2)使用遗传算法工具,从图形用户界面到遗传算法。本节对这些方式做一个简要的介绍。8.2.2.1 在命令行调用函数ga对于在命令行使用遗传算法,可以用下列语法调用遗传算法函数g

14、a:x fval = ga(fitnessfun, nvars, options)其中:fitnessfun 是适应度函数句柄;nvars是适应度函数的独立变量的个数;options是 一个包含遗传算法选项参数的结构。如果不传递选项参数,则ga使用它本身的缺省选项值。函数所给出的结果:fval 适应度函数的最终值;x最终值到达的点。我们可以十分方便地把遗传算法工具输出的结果直接返回到MATLABworkspace (工作空间),或以不同的选项从Mt件多次调用函数ga来运行遗传算法。调用函数ga时,需要提供一个选项结构options 。后面的有关章节对于在命令行使用函数ga和创建选项结构opti

15、ons提供了详细的描述。8.2.2.2 通过GUI使用遗传算法遗传算法工具有一个图形用户界面 GUI,它使我们可以使用遗传算法而不用工作在命令行方式。为了打开遗传算法工具,可键入gatool打开的遗传算法工具图形用户界面如图所示。输入适应度函数输入适应度函数的变量数目开始遗传算法显示结果显示参数描述图遗传算法工具为了使用遗传算法工具,首先必须输入下列信息:(1) Fitness function (适应度函数)欲求最小值的目标函数。输入适应度函数的形式为fitnessfun ,其中是计算适应度函数的M仪件。在前面“编写待优化 函数的M文件” 一节里已经解释了如何编写这种M文件。符号工生一个对于函数fitnessfun 的函数句柄。(2) Number of variables(变量个数)适应度函数输入向量的长度。对于“编写待优化函数的M文件” 一节所描述的函数My_fun,这个参数是2。点击Start按钮,运行遗传算法,将在 Status and Results(状态与结果)窗格中显示出相应的运行结果。在Options窗格中可以改变遗传算法的选项。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号