遗传算法学习笔记.pptx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
遗传算法学习笔记2016、9常用函数1.创建种群函数crtbp:创建任意离散随机种群[Chrom,Lind,BaseV]=crtbp(Nind,Lind,Base)创建一个大小为Nind*Lind的随机矩阵,返回种群编码Chrom和染色体基因位的基本字符向量BaseVNind为种群个体数,Lind为个体长度Base决定个体的每位编码的进制数,其列为Lind2.适应度计算函数ranking:基于排序的适应度分配FitnV=ranking(ObiV,Rfun,SUBPOP)按照个体的目标值ObjV(列向量)由小到大的顺序对个体进行排序,并返回个体适应度值FitnV的列向量。SUBPOP是任选参数,指明在ObjV中子种群的数量,默认为1RFun的三种情况:(1)若RFun是一个在[1,2]去见内的标量,则采用先行排序,这个标量制定选择的压差。(2)若Rfun是一个具有两个参数的向量则:RFun(2):制定排序方法,0为线性排序,1为非线性排序。 RFun(1):对线性排序,标量指定的选择压差RFun(1)必须在[1,2]之间;对非先行排序, RFun(1)必须在[1,length(ObjV)-2]区间;如果为NAN,则RFun(1)假设为2(3)若RFun是长度为length(ObjV)的向量,则它包含对每一行的适应度值计算。常用函数常用函数3.选择函数select:从种群中选择个体SelCh=select(SEL_F,Chrom,FitnV,GGAP,SUBPOP)SEL_F字符串,包含一个低级选择函数名FitnV列向量,包含种群Chrom中个体的适应度值,表明每个个体被选择的预期概率。GGAP(可选参数)代沟部分种群被复制,默认值为1SUBPOP (可选参数)决定Chrom中子种群的数量,默认值为1常用函数4.交叉算子函数recombin:重组个体NewChrom=recombin(REC_F,Chrom,RecOpt,SUBPOP)REC_F包含低级重组函数名的字符串,比如recdis或xovspRecOpt指明交叉概率SUBPOP (可选参数)决定Chrom中子种群的数量,默认值为15.变异算子函数mut:离散变异算子NewChrom=mut(OldChrom,Pm,BaseV)OldChrom当前种群Pm变异概率,默认0.7/LindBaseV指明染色体个体元素的变异的基本字符(默认为二进制)常用函数6.重插入函数reins:重插入子代到种群[Chrom,ObiVCh]=reins(Chrom,SelCh,SUBPOP,InsOpt, ObiVCh, ObiVSel)Chrom为父代种群,SelCh为子代种群,SUBPOP(可选参数)指明Chrom和SelCh中子种群的个数,默认值为1InsOpt(1)是一个标量,指明用子代代替父代的方法,0均匀选择,1基于适应度的选择,默认为0; InsOpt(2)是一个在[0,1]区间的标量,表示每个子种群中重插入的子代个体在整个子种群中个体的比率,默认为1. ObiVCh(可选列向量)包括Chrom中个体的目标值,但是对基于适应度的重插入是必须的。ObiVSel(可选参数)包含SelCh中个体的目标值,如果子代的数量大于重插入种群中的子代数量则是必须的,此时按照适应度大小选择插入。1.bs2rv:二进制到十进制的转换Phen=bs2rv(Chrom,FieldD)译码矩阵FieldD结构为:len包含在Chrom中的每个子串的长度sum(len)=size(Chrom,2)Lb和ub分别是每个变量的下界和上界code指明子串是怎样编码的,1为标准的二进制编码,0为格雷编码。scale指明每个子串所使用的刻度,0表示算术刻度,1表示对数刻度。lbin和ubin指明表示范围中是否包含边界,0不包含边界,1表示包含边界。2.rep:矩阵复制MatOut=rep(MatIn,REPN)REPN指明复制的次数,REPN(1)表示纵向复制次数,REPN(2)表示水平方向复制次数。实用函数

文档评论(0)

yanpan1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档