- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB遗传算法工具箱及其应用要点
Page ? * 汕头大学工学院 MATLAB遗传算法工具箱函数及其应用 学号: 姓名: 学院 201年月日 内容提要 遗传算法流程回顾 遗传算法工具箱结构 遗传算法工具箱通用函数 遗传算法工具箱应用 一、遗传算法流程回顾 遗传算法基本流程框图 生成初始种群 计算适应度 选择-复制 交叉 变异 生成新一代种群 终止 ? 结束 个体 染色体 基因 二、遗传算法工具箱结构 本节介绍的是英国苏菲尔德大学开发的遗传算法工具箱。 由于MATLAB高级语言的通用性,对问题用M文件编码,与此配对的是MATLAB先进的数据分析、可视化工具、特殊目的的应用领域工具箱和展现给使用者具有研究遗传算法可能性的一致环境。 GA工具箱本质是个函数包,用户只要安装了这个工具箱或者软件自带了这个工具箱,就可以调用这些函数命令,从而编写出强大的MATLAB遗传算法程序。 二、遗传算法工具箱结构 1、种群表示和初始化函数:crtbase,crtbp,crtp。 GA工具箱支持二进制、整数和浮点数的基因表示。二进制和整数种群可以使用工具箱中的crtbp建立二进制种群。crtbase是附加的功能,它提供向量描述整数表示。种群的实值可用crtrp进行初始化。在二进制代码和实值之间的变换可使用函数bs2rv,它支持格雷码和对数编码。 二、遗传算法工具箱结构 2、适应度计算:ranking,scaling。 适应度函数用于转换目标函数值,给每一个个体一个非负的价值数。这个工具箱支持Goldberg的偏移法和比率法以及贝克的线性评估算法。另外,ranking函数支持非线性评估。 二、遗传算法工具箱结构 3、选择函数:reins,rws,select,sus。 这些函数根据个体的适应度大小在已知种群中选择一定数量的个体,对它的索引返回一个列向量。现在最合适的是轮盘赌选择法(即rws函数)和随机遍历抽样(即sus函数)。高级入口函数select为选择程序,特别为多种群的使用提供了一个方便的接口界面。在这种情况下,代沟是必需的,即整个种群在每一代中没有被完全复制。reins能使用均匀的随机数或基于适应度的重新插入。 二、遗传算法工具箱结构 4、交叉算子:recdis,recint,reclin,recmut,recombin,xovdp,xovdprs,xovmp,xovsh,xovshrs,xovsp,xovsprs。 交叉是通过给定的概率重组一对个体而产生后代的。单点、两点和洗牌交叉是由xovsp、xovdp和xovsh函数分别完成的。缩小代理交叉函数分别是:xovdprs、xovshrs和xovsprs。通用的多点交叉函数是xovmp,它提供均匀交换的支持。函数recmut提供具有突变特征的线性重组。而函数recombin是一高级入口函数,对所有交叉操作提供多子群支持入口。 二、遗传算法工具箱结构 5、变异算子:mut,mutate,mutbga。 二进制和整数变异操作由mut完成。实值的变异使用育种函数mutbga是有效的。mutate对变异操作提供一个高级接口。 二、遗传算法工具箱结构 6、多子群支持:migrate。 遗传算法工具箱通过高层遗传操作函数migrate对多子群提供支持,它的一个功能是在子群中交换个体。一个单一种群通过使用工具箱中的函数修改数据结构,使其分为许多子种群,这些子种群被保存在连续的数据单元块中。高层函数(如select和reins)可独立地操作子种群,包含在一个数据结构中的每一个种群允许独自向前衍化。 三、遗传算法工具箱通用函数 几个典型工具箱函数的介绍 创建初始种群函数crtbp 二进制串到实值转换函数bs2rv 轮盘赌选择函数rws 三、遗传算法工具箱通用函数 1、函数crtbp 功能:创建初始种群。 格式:? ? ? 说明:遗传算法第一步是创建由任意染色体组成的 原始种群。crtbp创建一元素为随机数的矩阵Chrom。 向量 个体数量 个体长度 三、遗传算法工具箱通用函数 例3.11 使用函数crtbp创建初始种群的应用举例。 创建一个长度为9、有6个个体的随机种群(这里前四个基因位是基本字符{0,1,2,3,4,5,6,7},后五个基因位是基本字符{0,1,2,3}): BaseV=crtbase([4 5],[8 4]); [Chrom,Lind,BaseV]=crtbp(6,BaseV); 或 [Chrom,Lind,BaseV]=crtbp([6,9],[8 8 8 8 4 4 4 4 4 ]);运行得 Lind=9; BaseV=[8
文档评论(0)