MATLAB遗传算法工具箱及其应用

合集下载

matlab遗传算法工具箱关于离散变量优化算例

matlab遗传算法工具箱关于离散变量优化算例

matlab遗传算法工具箱关于离散变量优化算例离散优化问题在实际应用中具有重要意义,其中遗传算法是一种常用的解决离散优化问题的方法。

Matlab遗传算法工具箱提供了一系列强大的函数和工具来帮助开发者实现离散变量优化算法。

本文将介绍如何使用Matlab遗传算法工具箱解决离散变量优化问题,并给出一个算例来演示其应用。

1. 算法背景离散优化问题是指在一组有限离散值中寻找最优解的问题。

这些离散值可能代表不同的决策或选择,例如在某个集合中选取最佳的元素组合。

传统的优化算法无法直接应用于离散变量优化问题,而遗传算法则具有较好的适应性。

遗传算法是一种模拟生物进化过程的优化算法,通过模拟基因的交叉、变异和选择来搜索最优解。

2. Matlab遗传算法工具箱简介Matlab遗传算法工具箱是Matlab平台上用于遗传算法优化设计和问题求解的工具包。

它提供了一系列函数和工具,可以简便地实现离散变量优化算法。

其中常用的函数包括:- ga:用于定义遗传算法的参数和问题函数,进行优化计算。

- gamultiobj:用于多目标优化的遗传算法。

- customSelectionFcn:自定义选择函数,用于指定选择操作。

- customCrossoverFcn:自定义交叉函数,用于指定交叉操作。

- customMutationFcn:自定义变异函数,用于指定变异操作。

3. 算例演示假设我们有一个离散优化问题,要在集合{1, 2, 3, 4, 5}中找到一个长度为5的序列,使得序列中所有元素的和最大。

首先,我们需要定义问题函数和适应度函数。

问题函数用于定义问题的约束条件,适应度函数则计算每个个体的适应度值。

```matlabfunction f = problemFunction(x)f = sum(x);endfunction f = fitnessFunction(x)f = -problemFunction(x); % 求和最大化,所以需要取负值end```接下来,我们可以使用Matlab遗传算法工具箱中的`ga`函数进行优化计算。

matlab遗传算法工具箱函数及实例讲解

matlab遗传算法工具箱函数及实例讲解

核心函数:(1)function [pop]=initializega(num,bounds,eevalFN,eevalOps,options)--初始种群的生成函数【输出参数】pop--生成的初始种群【输入参数】num--种群中的个体数目bounds--代表变量的上下界的矩阵eevalFN--适应度函数eevalOps--传递给适应度函数的参数options--选择编码形式(浮点编码或是二进制编码)[precision F_or_B],如precision--变量进行二进制编码时指定的精度F_or_B--为1时选择浮点编码,否则为二进制编码,由precision指定精度)(2)function [x,endPop,bPop,traceInfo] = ga(bounds,evalFN,evalOps,startPop,o pts,...termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutO ps)--遗传算法函数【输出参数】x--求得的最优解endPop--最终得到的种群bPop--最优种群的一个搜索轨迹【输入参数】bounds--代表变量上下界的矩阵evalFN--适应度函数evalOps--传递给适应度函数的参数startPop-初始种群opts[epsilon prob_ops display]--opts(1:2)等同于initializega的options参数,第三个参数控制是否输出,一般为0。

如[1e-6 1 0]termFN--终止函数的名称,如['maxGenTerm']termOps--传递个终止函数的参数,如[100]selectFN--选择函数的名称,如['normGeomSelect']selectOps--传递个选择函数的参数,如[0.08]xOverFNs--交叉函数名称表,以空格分开,如['arithXover heuristicXover simpl eXover']xOverOps--传递给交叉函数的参数表,如[2 0;2 3;2 0]mutFNs--变异函数表,如['boundaryMutation multiNonUnifMutation nonUnifMutation unifMutation']mutOps--传递给交叉函数的参数表,如[4 0 0;6 100 3;4 100 3;4 0 0]【注意】matlab工具箱函数必须放在工作目录下【问题】求f(x)=x+10*sin(5x)+7*cos(4x)的最大值,其中0<=x<=9【分析】选择二进制编码,种群中的个体数目为10,二进制编码长度为20,交叉概率为0.95,变异概率为0.08【程序清单】%编写目标函数function[sol,eval]=fitness(sol,options)x=sol(1);eval=x+10*sin(5*x)+7*cos(4*x);%把上述函数存储为fitness.m文件并放在工作目录下initPop=initializega(10,[0 9],'fitness');%生成初始种群,大小为10[x endPop,bPop,trace]=ga([0 9],'fitness',[],initPop,[1e-6 1 1],'maxGenTer m',25,'normGeomSelect',...[0.08],['arithXover'],[2],'nonUnifMutation',[2 25 3]) %25次遗传迭代运算借过为:x =7.8562 24.8553(当x为7.8562时,f(x)取最大值24.8553)注:遗传算法一般用来取得近似最优解,而不是最优解。

MATLAB遗传算法工具箱在函数优化中的应用

MATLAB遗传算法工具箱在函数优化中的应用

[x, fval] = ga(fun, 1,,,,,,,, options);
%输出结果
disp(['x = ', num2str(x)]);
disp(['f(x) = ', num2str(fval)]);
在上述代码中,我们首先定义了目标函数,然后设置了遗传算法的参数,包 括种群规模、最大迭代次数、交叉概率和变异概率。接下来,我们使用 optimoptions函数初始化遗传算法,并传入目标函数和参数设置。最后,我们使 用ga函数求解最小值点,并输出结果。
在使用遗传算法工具箱进行函数优化时,需要注意以下问题:
1、适应度函数的设计:适应度函数是评价个体优劣程度的指标,必须合理 设计以满足优化问题的需求。
2、种群规模和迭代次数的设定:种群规模和迭代次数是影响遗传算法性能 的关键参数,需要根据问题规模和复杂度进行合理设定。
3、交叉和变异操作的控制:交叉和变异操作是遗传算法的核心操作,需要 合理控制以保持算法的搜索能力和避免陷入局部最优解。
在定义了目标函数和约束条件之后,我们可以使用Matlab提供的ga函数来运 行遗传算法。ga函数将根据指定的目标函数和约束条件,使用遗传算法搜索最优 解。在运行过程中,我们可以使用Matlab提供的动画功能来实时查看遗传算法的 迭代过程。
除了使用Matlab遗传算法优化工具箱来解决常规的优化问题外,还可以将其 应用于其他领域。例如,在机器学习领域中,可以使用遗传算法来优化神经网络 的连接权值和结构;在控制系统领域中,可以使用遗传算法优化控制系统的参数 和结构;在图像处理领域中,可以使用遗传算法优化图像处理的算法和参数等。
通过本次演示的介绍,希望能使读者更好地理解和应用遗传算法工具箱解决 实际优化问题。

MATLAB遗传算法工具箱及应用(第二版)图文 (1)

MATLAB遗传算法工具箱及应用(第二版)图文 (1)
一旦计算了个体适应度值,种群中适应度高的个体将被 选中并重组,产生下一代。遗传算子直接操作染色体的特征 (基因),使用一般情况下个体的基因代码,产生更适合的个 体。重组算子用在一对个体或一大组个体中交换基因信息。 最简单的重组算子是单点交叉。
第一章 遗传算法概述
考虑两个二进制父代串:
A=10010110 和 B=10111000 I是随机地在1到串长L减1之间(即[1,
在决策变量域中的染色体表现型已被编码,可以估计种 群的个体成员的特性或适应度。通过特征目标函数来估计个 体在问题域中的特性。在自然世界中,这就是个体在现行环 境中的生存能力。因此,目标函数建立的基础是在整个繁殖 过程中选择成对的个体进行交配。
第一章 遗传算法概述
在再生(复制)期间,每个个体均被计算适应度值,它来 自没有加工的原始特性度量,由目标函数给出。这个值用来 在选择中偏向更加适合的个体。相对整个种群,适应度高的 个体具有高的选中参加交配的概率,而适应度低的个体具有 相对低的选中概率。
第一章 遗传算法概述
1.2 遗传算法的特点
遗传算法具有如下优点: (1)对可行解表示的广泛性。遗传算法的处理对象不是参 数本身,而是针对那些通过参数集进行编码得到的基因个体。 此编码操作使得遗传算法可以直接对结构对象进行操作。所谓 结构对象,泛指集合、序列、矩阵、树、图、链和表等各种一 维或二维甚至多维结构形式的对象。这一特点使得遗传算法具 有广泛的应用领域。比如: ①通过对连接矩阵的操作,遗传算法可用来对神经网络或 自动机的结构或参数加以优化。 ②通过对集合的操作,遗传算法可实现对规则集合和知识 库的精炼而达到高质量的机器学习目的。 ③通过对树结构的操作,用遗传算法可得到用于分类的最 佳决策树。 ④通过对任务序列的操作,遗传算法可用于任务规划,而 通过对操作序列的处理,可自动构造顺序控制系统。

matlab遗传算法工具箱函数及实例讲解

matlab遗传算法工具箱函数及实例讲解

matlab遗传算法工具箱函数及实例讲解核心函数:(1)function [pop]=initializega(num,bo unds,eevalFN,eevalOps,optio ns)--初始种群的生成函数【输出参数】pop--生成的初始种群【输入参数】num--种群中的个体数目bo unds--代表变量的上下界的矩阵eevalFN--适应度函数eevalOps--传递给适应度函数的参数op tions--选择编码形式(浮点编码或是二进制编码)[p recision F_o r_B],如p recisio n--变量进行二进制编码时指定的精度F_or_B--为1时选择浮点编码,否则为二进制编码,由p recision指定精度)(2)function [x,endPop,bPop,trace Info] = ga(bounds,evalFN,evalOps,sta rtPop,op ts,...te rmFN,te rmOps,selectFN,selectOps,xOve rFNs,xOve rOps,mutFNs,mutOps)--遗传算法函数【输出参数】x--求得的最优解e ndPop--最终得到的种群bPop--最优种群的一个搜索轨迹【输入参数】bo unds--代表变量上下界的矩阵evalFN--适应度函数evalOps--传递给适应度函数的参数sta rtPop-初始种群op ts[epsilon p rob_ops display]--opts(1:2)等同于initializega的options参数,第三个参数控制是否输出,一般为0。

如[1e-6 1 0]te rmFN--终止函数的名称,如['maxGe nTerm']te rmOps--传递个终止函数的参数,如[100]selectFN--选择函数的名称,如['no rmGeo mSelect']selectOps--传递个选择函数的参数,如[0.08]xOve rFNs--交叉函数名称表,以空格分开,如['arithXover heuristicXove r simple Xove r'] xOve rOps--传递给交叉函数的参数表,如[2 0;2 3;2 0]mutFNs--变异函数表,如['boundaryMuta tio n multiNonU nifMuta tio n nonU nifMutatio n unifMuta tion']mutOps--传递给交叉函数的参数表,如[4 0 0;6 100 3;4 100 3;4 0 0]注意】matlab工具箱函数必须放在工作目录下【问题】求f(x)=x+10*sin(5x)+7*cos(4x)的最大值,其中0<=x<=9【分析】选择二进制编码,种群中的个体数目为10,二进制编码长度为20,交叉概率为0.95,变异概率为0.08【程序清单】%编写目标函数functio n[sol,eval]=fitness(sol,op tio ns)x=sol(1);eval=x+10*sin(5*x)+7*cos(4*x);%把上述函数存储为fitness.m文件并放在工作目录下initPop=initializega(10,[0 9],'fitness');%生成初始种群,大小为10[x e ndPop,bPop,trace]=ga([0 9],'fitness',[],initPop,[1e-6 1 1],'ma xGenTerm',25,'no rmGeo mSelect',...[0.08],['arithXove r'],[2],'no nU nifMuta tio n',[2 25 3]) %25次遗传迭代运算借过为:x =7.8562 24.8553(当x为7.8562时,f(x)取最大值24.8553)注:遗传算法一般用来取得近似最优解,而不是最优解。

《MATLAB遗传算法工具箱及应用》课件第4章

《MATLAB遗传算法工具箱及应用》课件第4章
(3) 非冗余性(Non redundancy): 染色体和候选解一一 对应。
应该注意, 严格满足上述规范的编码方法和提高遗传 算法的效率并无关系。 在有些场合,允许生成致死基因的 编码, 虽然会导致冗余的搜索, 但总的计算量可能反而减 少, 从而可以更有效地找出最优解。 上述的三个策略虽然 具有普遍意义, 但是缺乏具体的指导思想, 特别是满足这 些规范的编码设计不一定能有效地提高遗传算法的搜索效率。 相比之下, De Jong提出了较为客观明确的编码评估准则,
7 自适应柔性分段 群体自适应变化, 提高搜索效率
式动态群体选择
8 无回放式余数随 误差最小
机选择
应用较广
表4.2 选择操作算子
9
均匀排序 与适应度大小差异程度正负无关
10
稳态复制 保留父代中一些高适应度的串
11
随机联赛选择
12
复制评价
13 最优保存策略 全局收敛, 提高搜索效率, 但不 宜于非线性强的问题
5. 多参数交叉编码方法的基本思想是: 将各个参数中起主要作 用的码位集中在一起, 这样它们就不易于被遗传算子破坏掉。 在进行多参数交叉编码时, 可先对各个参数进行分组编码; 然后取各个参数编码串中的最高位连接在一起, 以它们作为个体 编码串的前N位编码, 再取各个参数编码串中的次高位连接在一 起, 以它们作为个体编码串的第二组N位编码……取各个参数编 码串中的最后一位连接在一起, 以它们作为个体编码串的最后几 位。 这样组成的长度为M×N位的编码串就是一个交叉编码串。 其他常用的编码技术有一维染色体编码、 二维染色体编码、 可变染色体长度编码和树结构编码。
表4.2 选择操作算子
序号
名称
特点
备注

Matlab遗传算法优化工具箱GAOT的研究与应用

Matlab遗传算法优化工具箱GAOT的研究与应用

M a tl ab遗传算法优化工具箱(GAO T)的研究与应用3周正武1,丁同梅1,2,田毅红2,3,王晓峰2,4(1.广东省技师学院,广东博罗 516100; 2.天津大学机械工程学院,天津 300072;3.承德技师学院,河北承德 067400;4.郑州职业技术学院,河南郑州 450121)摘 要:介绍遗传算法的基本原理和Matlab的遗传算法优化工具箱(G AOT),分析了优化工具函数。

探讨Matlab遗传算法工具箱在参数优化和非线性规划中的应用。

通过优化实例,说明遗传算法是一种具有良好的全局寻优性能的优化方法。

用Matlab语言及Matlab语言编制的优化工具箱进行优化设计具有语言简单、函数丰富、用法比较灵活、编程效率高等特点。

关键词:遗传算法;Matlab工具箱;优化中图分类号:T H164 文献标识码:A 文章编号:1007-4414(2006)06-0069-03The study and appli ca ti on of geneti c a lgor ith m opti m i za ti on toolbox i n M a tl abZhou Zheng-wu1,D ing T ong-mei1,2,Tian Yi-hong2,3,W ang Xiao-feng2,4(1.College of high-grade technician,B oluo Guangdong 516100,China;2.College of m echanical and engineering,Tianjin university,Tianjin 300072,China;3.Chengde college of high-grade technician,Chengde Hebei 067400,China;4.Zhengzhou vocational college of technology,Zhengzhou Henan 450121,China)Abstract:The paper intr oduces genetic algorith m(G A)and Matlab genetic algorith m op ti m izati on t oolbox and analyses the op ti m izati on t oolbox functi on.The functi on op ti m izati on p r oble m of para meter op ti m izati on and nonlinear has been given t o de monstrate that genetic algorith m is a better gl obal op ti m izati on method.The op ti m izati on design in M atlab and Matlab op ti m i2 zati on t oolbox have si m p le language、abundant functi ons、flexible method and high p r ogramm ing efficiency.Key words:genetic agolrith m;matlab t oolbox;op ti m izati on 遗传算法(G A)是一类借鉴生物界自然选择和遗传原理的随机优化搜索算法。

Matlab遗传算法工具箱函数及应用实例

Matlab遗传算法工具箱函数及应用实例

【‘础蜮over
xoverops
heIlristic)【0ver
simPldovd】,二进制编码默
认值为【’sinlple)【0vd】 传递给交叉函数的参数表,浮点数编码默认值为【’2 O;2 3;20-】,二进制编码默认值为【0.6】
mu心N
变异函数名称表,以空格分开,浮点数编码默认值为
multiNonunifMu“rtio柚on 【’b㈣daryMutation ullifMutationu-n埘uta£ion’】,二进制编码默认值为
e18e
佗b.m b2f-m

用来完成二进制数和浮点
数之间的相互转换
e、褂=(x1—2).2+()岔一1).2+r1}91+r2木92; 码长度为20,交叉概率为0.95,变异概率为0.08。 采用GOunction【∞l,e、试】_叩t(sol,叩d帆s) x-sol(1); eval=x+10卑sin(5卑x)+7卑c∞(4卑x); ②生成初始种群,大小为10。
北京:电子工业出版社,2003.
&0)=芋名+1≥o

本例中存在两个不等式约束,因此我们需要把有约束 问题转换成无约束问题来求解。近年来提出了多种用遗传 算法满足约束的技术,工程中常用的策略是惩罚策略,通 过惩罚不可行解,将约束问题转换为无约束问题。
(编辑阳光)
作者简介:于玲(1979一),女,硕士。主要从事机电液一体化的教学及
[2】,’n∞UnifMutati∞’,【2
25 3】);
Le鲫dC解的变化’,’种群平均值的变化。);
经过100次遗传迭代,运算结果为:戈=[11】;此时极小
经过25次遗传迭代,运算结果为:石=7.8566 /b)=24.8554;即当菇为7.8566时,/b)取最大值24.8554。 遗传算法一般用来取得近似最优解,另外,遗传算法 的收敛性跟其初始值有关,大家运行上面的命令所得到的 结果可能跟我的结果不同或是差别很大,但多执行几次上 面的命令(随机取不同的初始群体)一定可以得到近似最 优解。 i2有约束优化问题 考虑如下问题:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Page 13
Lind=9; BaseV=[8 8 8 8 4 4 4 4 4 ]
汕头大学工学院
三、遗传算法工具箱通用函数
2、函数bs2rv 功能:二进制串到实值的转换。
格式:Phen=bs2rv(Chrom,FieldD)
说明:Phen=bs2rv(Chrom,FieldD)根据译码 矩阵FieldD将二进制串矩阵Chrom转换为实值向 量。返回矩阵Phen包含对应的种群表现型。
0.7843 9.3961 Phen 1.0706 5.2980
FieldD=[8; 1; 10; 1; 1; 0; 0] Phen=bs2rv(Chrom,FieldD) %不包括边界 %转换二进制到实值,使用对数刻度
6.6223 5.0615 Phen 2.7277 1.5236
s4
轮盘赌选择法示意图
s3
s1
s2
汕头大学工学院
Page 17
三、遗传算法工具箱通用函数
例3.31 轮盘赌选择方法示例。
考虑8个个体的种群,假设已计算出适应度FitnV: FitnV=[1.50;1.35;1.21;1.07;0.92;0.78;0.64;0.5]
选择6个个体的索引:
NewChrIx=rws(FitnV,6) NewChrIx成为
或 [Chrom,Lind,BaseV]=crtbp([6,9],[8 8 8 8 4 4 4 4 4 ]);运行得
4 1 1 Chrom 1 4 4 3 1 1 2 2 2 0 3 4 7 5 2 1 1 1 0 3 0 1 0 0 0 0 2 5 5 7 2 2 2 3 1 5 7 7 0 3 3 0 3 2 4 0 3 1 1 1 0
Page 16
汕头大学工学院
三、遗传算法工具箱通用函数
3、函数rws 功能:轮盘赌选择。
格式:NewChrIx=rws(FitnV,Nsel)
说明:rws在当前种群中按照它们的适应度FitnV选择Nsel 个个体繁殖。FitnV是一包含种群中每个个体性能尺寸的 列向量,它能通过使用函数ranking或scaling计算每个个体 的适应度水平来得到。
F ( xi )
f ( xi )
f (x )
j 1 j
N
f ( xi )是个体xi的适应度, F ( xi )是这个个体被选择的概 率。
Page 18
汕头大学工学院
四、遗传算法工具箱应用
了解MATLAB窗口界面 用遗传算法工具箱求一个简单函数的最值
Page 19
汕头大学工学院
四、遗传算法工具箱应用
二、遗传算法工具箱结构
3、选择函数:reins,rws,select,sus。 这些函数根据个体的适应度大小在已知种群中选 择一定数量的个体,对它的索引返回一个列向量。 现在最合适的是轮盘赌选择法(即rws函数)和随机 遍历抽样(即sus函数)。高级入口函数select为选 择程序,特别为多种群的使用提供了一个方便的接 口界面。在这种情况下,代沟是必需的,即整个种 群在每一代中没有被完全复制。reins能使用均匀的 随机数或基于适应度的重新插入。
Page 10
汕头大学工学院
三、遗传算法工具箱通用函数 几个典型工具箱函数的介绍 创建初始种群函数crtbp 二进制串到实值转换函数bs2rv 轮盘赌选择函数rws
Page 11
汕头大学工学院
三、遗传算法工具箱通用函数
1、函数crtbp 功能:创建初始种群。
向量
个体数量 个体长度
格式: Chrom, Lind, BaseV crtbpNind, Lind
设置运行 参数 定义初始种群 转换实值
遗传算法 关键步骤
Page 22
汕头大学工学院
四、遗传算法工具箱应用
运行结果
找到 最优解
figure 1
figure 2
理论最优解是X=31,Y=961
汕头大学工学院
Page 23
四、遗传算法工具箱应用
改变参数运行
被选种群分布
Page 24
汕头大学工学院
姓名:黄樟 学号:11309011 导师:李昇平 指导老师:包能胜
Page 25
汕头大学工学院
0 1 Chrom 0 1
0 0 0 1
0 0 1 0
0 0 0 1
Page 15
0 1 1 1
1 0 0 0
1 0 0 1
1 1 0 1
汕头大学工学院
三、遗传算法工具箱通用函数
FieldD=[8; -1; 10; 1; 0; 1; 1] %包括边界 Phen=bs2rv(Chrom,FieldD) %转换二进制到实值,使用算术刻度
汕头大学工学院
三、遗传算法工具箱通用函数
例3.11 使用函数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);
汕头大学工学院
Page 4
二、遗传算法工具箱结构
1、种群表示和初始化函数:crtbase,crtbp,crtp。 GA工具箱支持二进制、整数和浮点数的基因表示。 二进制和整数种群可以使用工具箱中的crtbp建立二 进制种群。crtbase是附加的功能,它提供向量描述 整数表示。种群的实值可用crtrp进行初始化。在二 进制代码和实值之间的变换可使用函数bs2rv,它支 持格雷码和对数编码。
MATLAB工作界面
工作空间 浏览器窗口
当前目录 浏览器窗口
命令窗口
历史命令 窗口
Page 20
汕头大学工学院
四、遗传算法工具箱应用
MATLAB工作界面
Page 21
汕头大学工学院
四、遗传算法工具箱应用
用GA工具箱函数求解:
2 f ( x) x(其中 x [0,31])的最大值。
MATLAB 代码
2 5 1 NewChrIx 1 3 7
算法说明:通过计算适应度向量的累加和完成轮盘赌选择的表格,并产生随 机分布在[0,sum(FitnV)]区间内的Nsel个实数,被选择个体的索引通过比 较向量累加和产生的编号来决定。一个个体被选择的概率由下式给出:
Chrom, Lind, BaseV crtbpNind, BaseV Chrom, Lind, BaseV crtbpNind, Lind, Base
说明:遗传算法第一步是创建由任意染色体组成的 原始种群。crtbp创建一元素为随机数的矩阵Chrom。
Page 12
Page 8
汕头大学工学院
二、遗传算法工具箱结构
5、变异算子:mut,mutate,mutbga。 二进制和整数变异操作由mut完成。实值的变异 使用育种函数mutbga是有效的。mutate对变异操作 提供一个高级接口。
Page 9
汕头大学工学院
二、遗传算法工具箱结构
6、多子群支持:migrate。 遗传算法工具箱通过高层遗传操作函数migrate对 多子群提供支持,它的一个功能是在子群中交换个 体。一个单一种群通过使用工具箱中的函数修改数 据结构,使其分为许多子种群,这些子种群被保存 在连续的数据单元块中。高层函数(如select和reins) 可独立地操作子种群,包含在一个数据结构中的每 一个种群允许独自向前衍化。
Page 7
汕头大学工学院
二、遗传算法工具箱结构
4、交叉算子:recdis,recint,reclin,recmut, recombin,xovdp,xovdprs,xovmp,xovsh, xovshrs,xovsp,xovsprs。 交叉是通过给定的概率重组一对个体而产生后代 的。单点、两点和洗牌交叉是由xovsp、xovdp和 xovsh函数分别完成的。缩小代理交叉函数分别是: xovdprs、xovshrs和xovsprs。通用的多点交叉函数是 xovmp,它提供均匀交换的支持。函数recmut提供 具有突变特征的线性重组。而函数recombin是一高 级入口函数,对所有交叉操作提供多子群支持入口。
MATLAB遗传算法工具箱函数及其应用
学号: 姓名:
学院 201年月日
内容提要 遗传算法流程回顾
遗传算法工具箱结构
遗传算法工具箱通用函数
遗传算法工具箱应用
Page 2
汕头大学工学院
一、遗传算法流程回顾
生成初始种群
个体 染色体
Байду номын сангаас
计算适应度 终止 ? 选择-复制 交叉
结束
基因
遗传算法基本流程框图
变异
Page 5
汕头大学工学院
二、遗传算法工具箱结构
2、适应度计算:ranking,scaling。 适应度函数用于转换目标函数值,给每一个个体 一个非负的价值数。这个工具箱支持Goldberg的偏 移法和比率法以及贝克的线性评估算法。另外, ranking函数支持非线性评估。
Page 6
汕头大学工学院
生成新一代种群
Page 3
汕头大学工学院
二、遗传算法工具箱结构
本节介绍的是英国苏菲尔德大学开发的遗传 算法工具箱。 由于MATLAB高级语言的通用性,对问题用 M文件编码,与此配对的是MATLAB先进的数 据分析、可视化工具、特殊目的的应用领域工 具箱和展现给使用者具有研究遗传算法可能性 的一致环境。 GA工具箱本质是个函数包,用户只要安装 了这个工具箱或者软件自带了这个工具箱,就 可以调用这些函数命令,从而编写出强大的 MATLAB遗传算法程序。
相关文档
最新文档