遗传算法实验一

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

精品课件
§4.3 区域描述器
精品课件
区域描述器FieldD的结构如下:
len
lb
ub
FieldD
code
scale
lbin
ubin
精品课件
区域描述器FieldD中各参量的含义
len指明包含在矩阵 Chrom 的每个子串的长度; lb 和ub 为行向量,分别指明每个变量使用的下界和 上界; code 是二进制行向量,指明每个子串是怎样编码 的,code(i) 1表明子串i 按标准的二进制编码; code(i) 0表明子串i按灰度编码;scale是二进制行 向量,指明每个子串是否使用对数或算术刻度。
精品课件
单击Save按钮
精品课件
单击Close按钮
精品课件
§4.2 创建种群
1、创建基向量—— crtbase
精品课件
1、创建基向量——crtbase
调用格式 basev=crtbase(lind,base)
功能 利用基本字符集base产生由向量lind的元素确定
字符长度的串,以说明染色体中基因座的等位基因数量。 例1:在命令窗口中输入 >> basev=crtbase([4 6],[5 8]); basev =
确定染色体的长度。 ②返回一个长度为lind的染色体结构,染色体的等位基因的
基本字符由基本向量basev确定。 ③用于产生一个数量为nind的种群,染色体的长度为lind,
染色体等位基因的基本字符由基本向量bas精e品v课确件定。
[chrom,lind,basev]=crtbp(nind,lind);
11111000 01011000 10100100 00101011
精品课件
精品课件
建立区域描述器
>> FieldD=[8;-1;10;1;0;1;1] FieldD =
8 % 子串长度为8 -1 % 每个子串的下边界为-1 10 % 每个子串的上边界为10 1 % 用标准的二进制编码 0 % 每个子串使用算术刻度 1 % 每个变量的范围包含下边界 1 % 每个变量的范围包含上边界
§4.1 遗传算法工具箱的安装
第一步:将文件夹gatbx拷 贝至Matlab的工具箱目录 下或硬盘任一目录中;
精品课件
精品课件
第二步:启动Matlab, 并设置路径
精品课件
单击Add Floder…按钮或 Add With Subfloder…按 钮弹出对话框
精品课件
找到遗传算法工具箱放置的位置,单击确 定铵钮。
5555888888
精品课件
精品课件
2、创建二进制初始种群——crtbp
调用格式: ①[chrom,lind,basev]=crtbp(nind,lind); ②[chrom,lind,basev]=crtbp(nind, basev); ③[chrom,lind,basev]=crtbp(nind,lind,basev); 功能: ①创建一个以二进制编码的种群,nind指定种群规模,lind
例2:在命令窗口中输入 >> [Chrom,lind,basev]=crtbp(3,5) Chrom =
01111 10110 00001 lind = 5 basev = 22222
精品课件
精品课件
[chrom,lind,basev]=crtbp(nind, basev);
例4:在命令窗口中输入 >> basev=crtbase([4 6],[5 8]) basev =
lind = 10
basev = 5555888888
精品课件
精品课件
3、创建实值初始种群——crtrp
调用格式
chrom=crtrp(nind,FieldDR)
功能 创建一个大小为nind×nvar的随机实值矩阵,
其中nind指定了种群的规模,nvar确定了每个个 体的变量个数,FieldDR是一个大小2×nvar的矩 阵,包含每个个体变量的边界,第一行为上界, 第二行为下界。
需要注意的是在利用chrom=crtrp(nind,FieldDR)
之前先定义变量的边界。
精品课件
例3:在命令窗口中输入
>> FieldDR=[-2 0 4 1 -3;3 4 5 6 7] FieldDR =
-2 0 4 1 -3 34567 再输入以下命令 >> 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.精8品6课9件2
5555888888 再输入以下命令 >> [chrom,lind,basev]=crtbp(6,basev)
精品课件
[chrom,lind,basev]=crtbp(nind, basev);
chrom = 3410713003 2241446461 2433365075 3001443372 3402254267 3140316635
精品课件
区域描述器FieldD中各参量的含义
code(i) 1表明子串i使用对数刻度; code(i) 0表明子串i使用算术刻度; lbin 和ubin是二进制行向量,表明由lb和ub所指定 的每个变量的范围中是否包含边界,取值为 0 表 明去掉边界;取值为 1 表明包含边界。
精品课件
二进制串到实值的转换函数——bs2rv
调用格式 Phen=bs2rv(Chrom,FieldD)
功能 根据区域描述器FieldD将二进制串矩阵 Chrom转换为实值矩阵,返回矩阵 Phen包含对应的种群表现型。
精品课件
例1:在命令窗口中输入
>> Chrom=crtbp(4,8) %创建一个初始种群,种群规模为4,编码长度为8 Chrom =
精品课件
精品课件
将二进制串转化为实值
>> Phen=bs2rv(chrom,FieldD) Phen =
6.5490 3.7882 7.5843 1.1569
精品课件
精品课件
重新建立区域描述器
>> FBaidu NhomakorabeaeldD=[8;1;10;1;1;0;0] FieldD =
8 % 子串长度为8 1 % 每个子串的下边界为1 10 % 每个子串的上边界为10 1 % 用标准的二进制编码 1 % 每个子串使用对数刻度 0 % 每个变量的范围不包含下边界 0 % 每个变量的范围不包含上边界
相关文档
最新文档