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

上传人:re****.1 文档编号:489393791 上传时间:2023-10-02 格式:DOCX 页数:51 大小:840.04KB
返回 下载 相关 举报
使用MATLAB遗传算法工具实例详细_第1页
第1页 / 共51页
使用MATLAB遗传算法工具实例详细_第2页
第2页 / 共51页
使用MATLAB遗传算法工具实例详细_第3页
第3页 / 共51页
使用MATLAB遗传算法工具实例详细_第4页
第4页 / 共51页
使用MATLAB遗传算法工具实例详细_第5页
第5页 / 共51页
点击查看更多>>
资源描述

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

1、使用MATLAB1传算法工具实例(详细)最新发布的 MATLAB 7.0 Release 14已经包含了 一个专门设计的遗传算法与直接搜索工具箱(Genetic Algorithm and Direct Search Toolbox ,GADS)。使用遗传算法与直接搜索工具箱,可以 扩展MATLAB及其优化工具箱在处理优化问题 方面的能力,可以处理传统的优化技术难以解决 的问题,包括那些难以定义或不便于数学建模的 问题,可以解决目标函数较复杂的问题,比如目 标函数不连续、或具有高度非线性、随机性以及 目标函数没有导数的情况。本章8.1节首先介绍这个遗传算法与直接搜 索工具箱,其余各节分别介绍该

2、工具箱中的遗传 算法工具及其使用方法。8.1 遗传算法与直接搜索工具箱概述本节介绍MATLAB 的GADS (遗传算法与 直接搜索)工具箱的特点、图形用户界面及运行 要求,解释如何编写待优化函数的 M文件,且通 过举例加以阐明。8.1.1 工具箱的特点GADS工具箱是一系列函数的集合,它们扩 展了优化工具箱和MATLAB数值计算环境的性 能。遗传算法与直接搜索工具箱包含了要使用遗 传算法和直接搜索算法来求解优化问题的一些例 程。这些算法使我们能够求解那些标准优化工具 箱范围之外的各种优化问题。所有工具箱函数都 是MATLAB的M文件,这些文件由实现特定优 化算法的MATLAB语句所写成。使用语

3、句type function_name就可以看到这些函数的 MATLAB代码。我们也 可以通过编写自己的 M文件来实现来扩展遗传 算法和直接搜索工具箱的性能,也可以将该工具 箱与MATLAB的其他工具箱或Simulink结合使 用,来求解优化问题。工具箱函数可以通过图形界面或MATLAB命令行来访问,它们是用 MATLAB语言编写的, 对用户开放,因此可以查看算法、修改源代码或 生成用户函数。遗传算法与直接搜索工具箱可以帮助我们求 解那些不易用传统方法解决的问题,譬如表查找 问题等。遗传算法与直接搜索工具箱有一个精心设计 的图形用户界面,可以帮助我们直观、方便、快 速地求解最优化问题。8.1.

4、1.1 功能特点遗传算法与直接搜索工具箱的功能特点如下:(1)图形用户界面和命令行函数可用来快速地 描述问题、设置算法选项以及监控进程。(2)具有多个选项的遗传算法工具可用于问题 创建、适应度计算、选择、交叉和变异。(3)直接搜索工具实现了一种模式搜索 方法,其选项可用于定义网格尺寸、表决方 法和搜索方法。(4)遗传算法与直接搜索工具箱函数可与MATLAB的优化工具箱或其他的MATLAB程序结合使用。(5)支持自动的M代码生成。8.1.1.2 图形用户界面和命令行函数遗传算法工具函数可以通过命令行和图形用 户界面来使用遗传算法。直接搜索工具函数也可 以通过命令行和图形用户界面来进行访问。图形

5、用户界面可用来快速地定义问题、 设置算法选项、 对优化问题进行详细定义。遗传算法与直接搜索工具箱还同时提供了用 于优化管理、性能监控及终止准则定义的工具, 同时还提供大量标准算法选项。在优化运行的过程中,可以通过修改选项来 细化最优解,更新性能结果。用户也可以提供自 己的算法选项来定制工具箱。8.L1.3使用其他函数和求解器遗传算法与直接搜索工具箱与MATLAB及优化工具箱是紧密结合在一起的。用户可以用遗 传算法或直接搜索算法来寻找最佳起始点,然后 利用优化工具箱或用MATLAB程序来进一步寻 找最优解。通过结合不同的算法,可以充分地发 挥MATLAB和工具箱的功能以提高求解的质 量。对于某些

6、特定问题,使用这种方法还可以得 到全局(最优)解。8.1.1.4显示、监控和输出结果遗传算法与直接搜索工具箱还包括一系列绘 图函数用来可视化优化结果。这些可视化功能直 观地显示了优化的过程,并且允许在执行过程中 进行修改。工具箱还包括一系列绘图函数用来可视化优 化结果。这些可视化功能直观地显示了优化的过 程,并且允许在执行过程中进行修改。该工具箱 还提供了一些特殊绘图函数,它们不仅适用于遗 传算法,还适用于直接搜索算法。适用于遗传算法的函数包括函数值、适应度值和函数估计。适 用于直接搜索算法的函数包括函数值、分值直方 图、系谱、适应度值、网格尺寸和函数估计。这 些函数可以将多个绘图一并显示,可

7、直观方便地 选取最优曲线。另外,用户也可以添加自己的绘 图函数。使用输出函数可以将结果写入文件,产生用 户自己的终止准则,也可以写入用户自己的图形 界面来运行工具箱求解器。除此之外,还可以将 问题的算法选项导出,以便日后再将它们导入到 图形界面中去。8.L1.5所需的产品支持遗传算法与直接搜索工具箱作为其他优化方法的补充,可以用来寻找最佳起始点,然后可以 再通过使用传统的优化技术来进一步寻找最优 解。工具箱需要如下产品支持:(1) MATLABo (2) 优化工具箱。8.L1.6相关产品与遗传算法与直接搜索工具箱相关的产品有:统计工具箱应用统计算法和概率模式。(3)神经网络工具箱一一设计和仿真

8、神经网 络。(4)模糊逻辑工具箱一一设计和仿真基于模糊 逻辑的系统。(5)金融工具箱一一分析金融数据和开发金融 算法。8.1.1.7所需的系统及平台遗传算法和直接搜索工具箱对于对于运行环 境、支持平台和系统的需求,可随时通过访问网 站 http:/ 了 解最新发布的信息。这里介绍的 MATLAB 7.0 Release 14 所需的 最低配置是:Windows系列操作系统)Pentium III 500 CPU、64MB RAM 空闲硬盘空间 600MB 以上。8.1.2编写待优化函数的M文件为了使用遗传算法和直接搜索工具箱,必须编写一个M文件,来确定想要优化的函数。 这个M文件应该接受一个行

9、向量,并且返回一个 标量。行向量的长度就是目标函数中独立变量的 个数。本节将通过实例解释如何编写这种M文8.1.2.1编写M文件举例下面的例子展示了如何为一个想要优化的函 数编写M文件。假定我们想要计算下面函数的最 小值:22f(x1,x2) x1 2x1x2 6x1 x2 6x2M文件确定这个函数必须接受一个长度为 2 的行向量X,分别与变量x1和x2相对应,并且返回 一个标量X,其值等于该函数的值。为了编写这个 M文件,执行如下步骤:(1) 在MATLAB的File菜单中选择New菜单 项。(2)选择M-File ,将在编辑器中打开一个新的M文件。(3)在该M文件中,输入下面两行代码: f

10、unction z = my_fun(x)z = x(1)八2 - 2*x(1)*x(2) + 6*x(1) + x(2)八2 - 6*x(2);(4)在MATLAB路径指定的目录中保存该 M 文件。为了查看该M文件是否返回正确的值,可键 入my_fun(2 3)ans =-5注意:在运行遗传算法工具或模式搜索工具 时,不要使用编辑器或调试器来调试目标函数的 M文件,否则会导致在命令窗口出现 Java异常消 k 并且使调试更加困难。8.1.2.2 最大化与最小化遗传算法和直接搜索工具箱中的优化函数总 是使目标函数或适应度函数最小化。也就是说, 它们求解如下形式的问题:minimize f (x

11、)x如果我们想要求出函数f(x)的最大值,可以转 而求取函数g(x)= f(x)的最小值,因为函数g(x) 最小值出现的地方与函数f(x)最大值出现的地方 相同。例如,假定想要求前面所描述的函数f(xi,x2) xi2 26x1 x2 6x2的最大值,这时,我们应当编写 一个M文件来计算,求函数g(x) f (xi,x2)(x 2xx2 6x1 x2 6x2)的最小值。8.1.2.3 自动代码生成遗传算法与直接搜索工具箱提供了自动代码 生成特性,可以自动生成求解优化问题所需要的M文件。例如,图8.1所示的就是使用遗传算法 工具的自动代码生成特性所产生的 M文件。另外,图形用户界面所输出的优化结

12、果可以作为对来自命令行调用代码的一种解释,这些代 码还用于使例程和保护工作自动化。TUnUtlUT UiMTllh!* 7his M-file iras auto-go aerated to co optatnizat Lon :b iritn Tie fienetiG Algoritlm a rd Direct Search ToclaQX.% use GAJpriaws tne cjerajit ga options strLctura.lAStart with dpfaj it cp+icrs 3p-tiors - gaoprions;vwost)制口电 aanuetersipTiiir

13、s = apTinnfi(orticms, ppnriu?nons-?p P 10 F );npt1 flifi = oicptlrinfi(opticinfi , MifiraiifinPI rpriTirin Jf/rrh.?ptiwis - g)op:ionG(ofticnt, FC(rorstiorc .- gtopLlonsfoptlcnj, RMula-. jonrcn t(i 1 ;jptiwi& = q士口口:101由 uLmtb, 1“廿 cr以 ” japiQtLwbtr :电城口如tacor氏 );仃,山屉1阿 甲巾出ofuotb = aaoptionstoptions/

14、i-iynrLdRjn .fiirwnc)egg.Cdl to Ovtimirdi m IbcJbtw学ynu pi GarIl X,FVAL,REAON, OLHPUT ? PDPUATI0M MORES - ga( OflCKlfty fCfin6sOp tlOH5 j图8.1遗传算法M文件代码的自动生成8.2使用遗传算法工具初步遗传算法与直接搜索工具箱包含遗传算法工 具和直接搜索工具。从本节至章末,将主要介绍 其中的遗传算法工具及其使用方法。本节主要介绍遗传算法工具使用的初步知 识,内容包括:遗传算法使用规则,遗传算法工 具的使用方式,举例说明如何使用遗传算法来求 解一个优化问题,解释遗

15、传算法的一些基本术语,最后阐述遗传算法的工作原理与工作过程。8.2.1 遗传算法使用规则遗传算法是一种基于自然选择、生物进化过 程来求解问题的方法。遗传算法反复修改对于个 体解决方案的种群。在每一步,遗传算法随机地 从当前种群中选择若干个体作为父辈,并且使用 它们产生下一代的子种群。在连续若干代之后, 种群朝着优化解的方向进化。我们可以用遗传算 法来求解各种不适宜于用标准优化算法求解的优 化问题,包括目标函数不连续、不可微、随机或 高度非线性的问题。遗传算法在每一步使用下列三类规则从当前 种群来创建下一代:(1)选择规则(Selection rules),选择对下一 代种群有贡献的个体,称为父辈。(2)交叉规则(Crossover rules),将两个父 辈结合起来构成下一代的子辈种群。(3)变异规则(Mutation rules ),施加随机变 化给父辈个体来构成子辈。遗传算法与标准优化算法主要在两个方面有 所不同,它们的比较情况归纳于表 8.1中。表8.1遗传算法与标准优化算法比较标准算法遗传算法每次迭代产生一个单点,点的序 列逼近一个优化解每次迭代产生一个种

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

当前位置:首页 > 办公文档 > 演讲稿/致辞

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