
遗传算法实验一.ppt
38页§4.1 遗传算法工具箱的安装遗传算法工具箱的安装第一步:将文件夹gatbx拷贝至Matlab的工具箱目录下或硬盘任一目录中; 2021/3/1112021/3/112第二步:启动Matlab,并设置路径2021/3/113单击Add Floder…按钮或Add With Subfloder…按钮弹出对话框2021/3/114找到遗传算法工具箱放置的位置,单击确找到遗传算法工具箱放置的位置,单击确定铵钮2021/3/115单击Save按钮2021/3/116单击Close按钮2021/3/117§4.2 创建种群创建种群1、创建基向量——crtbase2021/3/1181、创建基向量1、创建基向量——crtbase调用格式调用格式 basev=crtbase(lind,base)功 能功 能 利用基本字符集利用基本字符集base产生由向量产生由向量lind的元素确定字符的元素确定字符长度的串,以说明染色体中基因座的等位基因数量长度的串,以说明染色体中基因座的等位基因数量例例1:在命令窗口中输入:在命令窗口中输入>> basev=crtbase([4 6],[5 8]);basev = 5 5 5 5 8 8 8 8 8 82021/3/1192021/3/11102、创建二进制初始种群2、创建二进制初始种群——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确定2021/3/1111[chrom,lind,basev]=crtbp(nind,lind);例2:在命令窗口中输入>> [Chrom,lind,basev]=crtbp(3,5)Chrom = 0 1 1 1 1 1 0 1 1 0 0 0 0 0 1lind = 5basev = 2 2 2 2 22021/3/11122021/3/1113[chrom,lind,basev]=crtbp(nind, basev);例4:在命令窗口中输入>> basev=crtbase([4 6],[5 8])basev = 5 5 5 5 8 8 8 8 8 8再输入以下命令>> [chrom,lind,basev]=crtbp(6,basev)2021/3/1114[chrom,lind,basev]=crtbp(nind, basev);chrom = 3 4 1 0 7 1 3 0 0 3 2 2 4 1 4 4 6 4 6 1 2 4 3 3 3 6 5 0 7 5 3 0 0 1 4 4 3 3 7 2 3 4 0 2 2 5 4 2 6 7 3 1 4 0 3 1 6 6 3 5lind = 10basev = 5 5 5 5 8 8 8 8 8 82021/3/11152021/3/11163、创建实值初始种群3、创建实值初始种群——crtrp调用格式chrom=crtrp(nind,FieldDR)功 能 创建一个大小为nind×nvar的随机实值矩阵,其中nind指定了种群的规模,nvar确定了每个个体的变量个数,FieldDR是一个大小2×nvar的矩阵,包含每个个体变量的边界,第一行为上界,第二行为下界。
u需要注意的是在利用chrom=crtrp(nind,FieldDR)之前先定义变量的边界2021/3/1117例例3:在命令窗口中输入:在命令窗口中输入>> FieldDR=[-2 0 4 1 -3;3 4 5 6 7]FieldDR = -2 0 4 1 -3 3 4 5 6 7再输入以下命令>> chrom=crtrp(3,FieldDR)chrom = 0.2571 1.2507 4.6831 4.0620 -2.8365 -1.7805 0.0515 4.0928 4.0427 -1.0993 -1.8641 1.5359 4.0353 1.0788 2.86922021/3/11182021/3/1119§4.3 区域描述器区域描述器2021/3/1120区域描述器区域描述器FieldD的结构如下:的结构如下: 2021/3/1121区域描述器区域描述器FieldD中各参量的含义中各参量的含义2021/3/1122区域描述器区域描述器FieldD中各参量的含义中各参量的含义2021/3/1123二进制串到实值的转换函数二进制串到实值的转换函数——bs2rv l调用格式 Phen=bs2rv(Chrom,FieldD)l功能 根据区域描述器FieldD将二进制串矩阵Chrom转换为实值矩阵,返回矩阵Phen包含对应的种群表现型。
2021/3/1124例1:在命令窗口中输入例1:在命令窗口中输入>> Chrom=crtbp(4,8) %创建一个初始种群,种群规模为4,编码长度为8Chrom = 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 12021/3/11252021/3/1126建立区域描述器建立区域描述器>> FieldD=[8;-1;10;1;0;1;1]FieldD = 8 % 子串长度为8 -1 % 每个子串的下边界为-1 10 % 每个子串的上边界为10 1% 用标准的二进制编码 0% 每个子串使用算术刻度 1% 每个变量的范围包含下边界 1% 每个变量的范围包含上边界2021/3/11272021/3/1128将二进制串转化为实值将二进制串转化为实值>> Phen=bs2rv(chrom,FieldD)Phen = 6.5490 3.7882 7.5843 1.15692021/3/11292021/3/1130重新建立区域描述器重新建立区域描述器>> FieldD=[8;1;10;1;1;0;0]FieldD = 8% 子串长度为8 1% 每个子串的下边界为1 10 % 每个子串的上边界为10 1% 用标准的二进制编码 1% 每个子串使用对数刻度 0% 每个变量的范围不包含下边界 0% 每个变量的范围不包含上边界2021/3/11312021/3/1132重新译码重新译码>> Phen=bs2rv(chrom,FieldD)Phen = 4.8398 2.7277 6.0008 1.57922021/3/11332021/3/1134多变量区域描述器多变量区域描述器>> FieldD=[5 7;-1 1;10 5;1 1;0 0;1 0;0 1]FieldD = 5 7 -1 1 10 5 1 1 0 0 1 0 0 12021/3/11352021/3/1136译码译码>> Phen=BS2RV(Chrom,FieldD)Phen = 6.2188 1.1875 3.4688 1.3125 7.2500 4.9375 1.0625 2.25002021/3/11372021/3/1138。
