您好,欢迎访问三七文档
§4.1遗传算法工具箱的安装第一步:将文件夹gatbx拷贝至Matlab的工具箱目录下或硬盘任一目录中;第二步:启动Matlab,并设置路径单击AddFloder…按钮或AddWithSubfloder…按钮弹出对话框找到遗传算法工具箱放置的位置,单击确定铵钮。单击Save按钮单击Close按钮§4.2创建种群1、创建基向量——crtbase1、创建基向量——crtbase调用格式basev=crtbase(lind,base)功能利用基本字符集base产生由向量lind的元素确定字符长度的串,以说明染色体中基因座的等位基因数量。例1:在命令窗口中输入basev=crtbase([46],[58]);basev=55558888882、创建二进制初始种群——crtbp调用格式:①[chrom,lind,basev]=crtbp(nind,lind);②[chrom,lind,basev]=crtbp(nind,basev);③[chrom,lind,basev]=crtbp(nind,lind,basev);功能:①创建一个以二进制编码的种群,nind指定种群规模,lind确定染色体的长度。②返回一个长度为lind的染色体结构,染色体的等位基因的基本字符由基本向量basev确定。③用于产生一个数量为nind的种群,染色体的长度为lind,染色体等位基因的基本字符由基本向量basev确定。[chrom,lind,basev]=crtbp(nind,lind);例2:在命令窗口中输入[Chrom,lind,basev]=crtbp(3,5)Chrom=011111011000001lind=5basev=22222[chrom,lind,basev]=crtbp(nind,basev);例4:在命令窗口中输入basev=crtbase([46],[58])basev=5555888888再输入以下命令[chrom,lind,basev]=crtbp(6,basev)[chrom,lind,basev]=crtbp(nind,basev);chrom=341071300322414464612433365075300144337234022542673140316635lind=10basev=55558888883、创建实值初始种群——crtrp调用格式chrom=crtrp(nind,FieldDR)功能创建一个大小为nind×nvar的随机实值矩阵,其中nind指定了种群的规模,nvar确定了每个个体的变量个数,FieldDR是一个大小2×nvar的矩阵,包含每个个体变量的边界,第一行为上界,第二行为下界。需要注意的是在利用chrom=crtrp(nind,FieldDR)之前先定义变量的边界。例3:在命令窗口中输入FieldDR=[-2041-3;34567]FieldDR=-2041-334567再输入以下命令chrom=crtrp(3,FieldDR)chrom=0.25711.25074.68314.0620-2.8365-1.78050.05154.09284.0427-1.0993-1.86411.53594.03531.07882.8692§4.3区域描述器区域描述器FieldD的结构如下:ubinlbinscalecodeublblenFieldD区域描述器FieldD中各参量的含义len指明包含在矩阵Chrom的每个子串的长度;lb和ub为行向量,分别指明每个变量使用的下界和上界;code是二进制行向量,指明每个子串是怎样编码的,1)(icode表明子串i按标准的二进制编码;0)(icode表明子串i按灰度编码;scale是二进制行向量,指明每个子串是否使用对数或算术刻度。区域描述器FieldD中各参量的含义1)(icode表明子串i使用对数刻度;0)(icode表明子串i使用算术刻度;lbin和ubin是二进制行向量,表明由lb和ub所指定的每个变量的范围中是否包含边界,取值为0表明去掉边界;取值为1表明包含边界。二进制串到实值的转换函数——bs2rv调用格式Phen=bs2rv(Chrom,FieldD)功能根据区域描述器FieldD将二进制串矩阵Chrom转换为实值矩阵,返回矩阵Phen包含对应的种群表现型。例1:在命令窗口中输入Chrom=crtbp(4,8)%创建一个初始种群,种群规模为4,编码长度为8Chrom=11111000010110001010010000101011建立区域描述器FieldD=[8;-1;10;1;0;1;1]FieldD=8%子串长度为8-1%每个子串的下边界为-110%每个子串的上边界为101%用标准的二进制编码0%每个子串使用算术刻度1%每个变量的范围包含下边界1%每个变量的范围包含上边界将二进制串转化为实值Phen=bs2rv(chrom,FieldD)Phen=6.54903.78827.58431.1569重新建立区域描述器FieldD=[8;1;10;1;1;0;0]FieldD=8%子串长度为81%每个子串的下边界为110%每个子串的上边界为101%用标准的二进制编码1%每个子串使用对数刻度0%每个变量的范围不包含下边界0%每个变量的范围不包含上边界重新译码Phen=bs2rv(chrom,FieldD)Phen=4.83982.72776.00081.5792多变量区域描述器FieldD=[57;-11;105;11;00;10;01]FieldD=57-1110511001001译码Phen=BS2RV(Chrom,FieldD)Phen=6.21881.18753.46881.31257.25004.93751.06252.2500
本文标题:遗传算法实验一
链接地址:https://www.777doc.com/doc-4684402 .html