matlab遗传算法工具箱及其应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
函数crtbase
BaseVec = crtbase(Lind, Base) % This function creates a vector containing the base of the loci crtbase产生向量的元 素对应染色体结构的基因座 BaseVec = crtbase([4,6],[8,5]) %创建一有4个基数为8的基 本字符{0,1,2,3,4,5,6,7}和6个基数为5的基本字符 {0,1,2,3,4}的基本字符向量
6
函数crtbp
crtbp % 创建二进制串染色体 ① [Chrom,Lind,BaseV] = crtbp(Nind,Lind) %创建一大小为 Nind× Lind的随机二元矩阵,这里Nind指定种群中个体的数 量,Lind指定个体的长度。此格式习惯于指定染色体的尺寸 (维度)。 ② [Chrom,Lind,BaseV] = crtbp(Nind,BaseV) %返回长度为 Lind 的染色体结构,染色体基因位的基本字符由向量BaseV 决定 ③ [Chrom,Lind,BaseV] = crtbp(Nind,Lind,Base) %用于产生 基本字符为Base的染色体矩阵。如果Base是向量,Base的 元素值指定了染色体的基因位的基本字符。在这种情况下, 右边的第二个变元可省略,即为格式②。
ranking 常用的基于秩的适应度计算 scaling 比率适应度计算
11
函数 ranking
功能:基于排序的适应度分配。 格式:① FitnV = ranking(ObjV) ② FitnV = ranking(ObjV,RFun) ③ FitnV = ranking(ObjV,RFun,SUBPOP) ranking按照个体的目标值ObjV由小到大的顺序对它们进行 排序,并返回一包含对应个体适应度值FitnV的列向量。这 个函数是从最小化方向对个体进行排序的. RFun是一任选向量,有1、2或length(ObjV)个参数。 (1)如果省略RFun或为NaN,则采用线性排序,选择压差 假设为2。
100 50 30 20] % upper bound Chrom = crtrp(6,FieldDR)
10
二、遗传算法工具箱结构
2、适应度计算:ranking,scaling。 适应度函数用于转换目标函数值,给每一个个体一个非
负的价值数。这个工具箱支持Goldberg的偏移法和比率法 以及贝克的线性评估算法。另外,ranking函数支持非线性 评估。
7
函数crtbp
crtbp % 创建二进制串染色体 ① 创建一个长度为9、有6个个体的随机种群。 [Chrom,Lind,BaseV] = crtbp (6,9)
8
函数crtbp
② 创建一长度为9有6个个体的随机种群,这里前四个基因 位是基本字符{0,1,2,3,4,5,6,7},后五个基因位是 基本字符{0,1,2,3}。 BaseV = crtbase([4 5], [8 4]); [Chrom,Lind,BaseV] = crtbp(6,BaseV) ; 或 [Chrom,Lind,BaseV] = crtbp(6,[8 8 8 8 4 4 4 4 4]);
第四讲 遗传算法工具箱及应用
1
内容提要 • 遗传算法流程回顾 • 遗传算法工具箱结构 • 遗传算法工具箱通用函数 • 遗传算法工具箱应用
2
一、遗传算法流程回顾
个体
生成初始种群 计算适应度
染色体
基因
遗传算法基本流程框图
终止 ? 选择-复制
交叉 变异 生成新一代种群
结束
3
二、遗传算法工具箱结构
本节介绍的是英国谢菲尔德大学开g
SUBPOP是一任选参数,指明在ObjV中子种群的数量。如 果省略SUBPOP或为NaN,则假设SUBPOP=1。在ObjV中 的所有子种群大小必须相同。 如果ranking被调用于多子种群,则ranking独立地对每个子 种群执行。
12
函数 ranking
(2)如果RFun是一在[1,2]内的标量,则是线性排序,这 个标量指定选择的压差。 (3)如果RFun是一具有两个参数的向量,则 RFun(1):对线性排序,标量指定的选择压差RFun(1)必须 在[1,2]之间;对非线性排序,RFun(1)必须在[1, length(ObjV)-2]之间。如果为NaN,则RFun(1)假设为2。 RFun(2):指定排序方法。0为线性排序,1为非线性排序。 (4)如果RFun为长为length(ObjV)的向量,则它包含对每 一行的适应度值计算。
4
二、遗传算法工具箱结构
1、种群表示和初始化函数:crtbase,crtbp,crtp。
crtbase crtbp crtrp
创建种群 创建基向量 创建任意离散随机种群 创建实值初始种群
GA工具箱支持二进制、整数和浮点数的基因表示。二进制 和整数种群可以使用工具箱中的crtbp建立二进制种群。 crtbase是附加的功能,它提供向量描述整数表示。种群的 实值可用crtrp进行初始化。在二进制代码和实值之间的变 换可使用函数bs2rv,它支持格雷码和对数编码。
9
函数 crtrp
Chrom = crtrp(Nind,FieldDR); % 创建元素为均匀分布随机 十进制数染色体 Nind - A scalar containing the number of individuals in the new population.指定了种群中个体的数量 FieldDR - A matrix of size 2 by number of variables describing the boundaries of each variable. FieldDR = [-100 -50 -30 -20; % lower bound
由于MATLAB高级语言的通用性,对问题用 M文件编码,与此配对的是MATLAB先进的数 据分析、可视化工具、特殊目的的应用领域工 具箱和展现给使用者具有研究遗传算法可能性 的一致环境。
GA工具箱本质是个函数包,用户只要安装 了这个工具箱或者软件自带了这个工具箱,就 可以调用这些函数命令,从而编写出强大的 MATLAB遗传算法程序。