资源描述:
《遗传算法实验一.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、§4.1遗传算法工具箱的安装第一步:将文件夹gatbx拷贝至Matlab的工具箱目录下或硬盘任一目录中;第二步:启动Matlab,并设置路径单击AddFloder…按钮或AddWithSubfloder…按钮弹出对话框找到遗传算法工具箱放置的位置,单击确定铵钮。单击Save按钮单击Close按钮§4.2创建种群1、创建基向量——crtbase1、创建基向量——crtbase调用格式basev=crtbase(lind,base)功 能利用基本字符集base产生由向量lind的元素确定字符长度的串,以说明染色体中基因座的等位基因数量。例1:在命令窗口中输入>>basev=cr
2、tbase([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,
3、染色体等位基因的基本字符由基本向量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]
4、=crtbp(nind,basev);chrom=341071300322414464612433365075300144337234022542673140316635lind=10basev=55558888883、创建实值初始种群——crtrp调用格式chrom=crtrp(nind,FieldDR)功 能创建一个大小为nind×nvar的随机实值矩阵,其中nind指定了种群的规模,nvar确定了每个个体的变量个数,FieldDR是一个大小2×nvar的矩阵,包含每个个体变量的边界,第一行为上界,第二行为下界。需要注意的是在利用chrom=crtrp(nind,Fi
5、eldDR)之前先定义变量的边界。例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的结构如下:区域描述器FieldD中各参量的含义区域描述器FieldD中各参量的含义二进制串到实值的转换函数——bs2rv调用格式Ph
6、en=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%每个变量的范围包含上
7、边界将二进制串转化为实值>>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