精心遗传算法及matlab实现

上传人:简****9 文档编号:95221890 上传时间:2019-08-16 格式:PPT 页数:22 大小:482.50KB
返回 下载 相关 举报
精心遗传算法及matlab实现_第1页
第1页 / 共22页
精心遗传算法及matlab实现_第2页
第2页 / 共22页
精心遗传算法及matlab实现_第3页
第3页 / 共22页
精心遗传算法及matlab实现_第4页
第4页 / 共22页
精心遗传算法及matlab实现_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《精心遗传算法及matlab实现》由会员分享,可在线阅读,更多相关《精心遗传算法及matlab实现(22页珍藏版)》请在金锄头文库上搜索。

1、遗传算法及 MATLAB遗传算法工具箱,重应用,轻研究 学习它是什么,怎么用,而不是为什么,参考书目,MATLAB遗传算法工具箱及应用 niuyongjie的专栏: http:/ 遗传算法的适应度函数(目标函数)可以解决不连续、不可微、随机或高度非线性的问题,而且其定义域可以任意设定; 遗传算法具有可扩展性,易于同别的技术混合使用。,遗传算法的定义,遗传算法( Genetic Algorithm :GA)是一种寻求函数(问题)最优解的数学方法。其基本原理是:模拟自然界生物繁衍过程中基因重组与进化的自然过程,把待解决问题的参数编成二进制码或十进制码(也可编成其他进制码),即基因,若干基因组成一个

2、染色体(个体),许多染色体进行类似于自然选择、配对交叉和变异的运算,经过多次重复迭代(即世代遗传)直至得到最后的优化结果。,遗传算法的计算过程,随机产生种群,编码与解码,在遗传算法中如何描述问题的可行解,即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法就称为编码。而由遗传算法解空间向问题空间的转换称为解码。如二进制编码,格雷码编码,浮点数编码,多参数级联编码等。 例如:一组x1,x2,x3编码为0010 1100 0010,更高精度,基因型 1000101110110101000111,表现型:0.637197,编码,解码,个体(染色体),适应度函数(Fitness F

3、unction),定义:度量个体适应度的函数。 在某种程度上来说,适应度函数就相当于实际问题的目标函数,只是它只求最小值,因此,当实际问题是求最大值时,需要做相应转换。,选择(Slection),选择(或称为复制)是在种群中选择适应度高(函数更加优化)的个体产生新的种群的过程。遗传算法中的选择操作就是用来确定如何从父代群体中按某种方法选取哪些个体遗传到下一代群体中的一种遗传运算,用来确定重组或交叉个体。如轮盘赌选择,随机竞争选择等,交叉(Crossover),交叉是按较大的概率从群体中选择两个个体,交换两个个体的某个或某些位。如单点交叉,多点交叉等。 例如: 交叉前: 交叉后 : 个体1:00

4、000|01110000000010000 00000|00000111111000101 个体2:11100|00000111111000101 11100|01110000000010000,变异(Mutation),以较小的概率对个体编码串上的某个或某些位值进行改变,如二进制编码中”变为“”,“”变为“”,进而生成新个体。 它决定了遗传算法的局部搜索能力,同时保持种群的多样性。交叉运算和变异运算的相互配合,共同完成对搜索空间的全局搜索和局部搜索。,MATLAB遗传算法工具箱,Matlab遗传算法工具箱操作,打开工具箱: 键入命令:gatool 点击命令:,工具箱界面,1,2,4,3,第1

5、部分:定义函数句柄,在Fitness Function中输入一个计算适应度函数的.文件函数的句柄(handle),以调用文件中函数。格式:test(与相应的M文件名一致) 在 Number of variance中输入变量个数,生成.M文件,定义 对应的函数:编辑并生成适应度函数的.M文件便于工具箱使用时调用。 格式: function z=test(x) z=具体函数 注意事项:一个函数中变量只能是X1,X2,不能是x,y,z;.M文件名无需与函数名 对应。,英文,自由命名,第2部分:约束条件,Linear inequalities(线性不等式):A*x = b 。其中A是矩阵,b是列向量,

6、书写格式如A中填写1,2,3;12,3,43;1,23,4,b中填写5;4;7; Linear equalities (线性等式): Aeq*x = beq 。其中Aeq是矩阵,beq是列向量,格式同上; Bounds (边界):变量的最小和最大值。矩阵形式表示,负无穷大为-Inf,正无穷大为Inf。 Nonlinear constraint function(非线性限制函数) :类似于“Fitness Function”中的输入,首先生成对应的.M文件,此处输入函数的句柄,调用其中的(非线性限制)函数。 格式为: function c,ceq=game(x) c(1) = (x(1)2)/9

7、 + (x(2)2)/4 - 1; ceq = ;,第3部分:运算参数,参数的设置主要影响到运算过程的速度和运算结果的精准性,两者在很多时候是相互矛盾的。 运算参数有很多,均有缺省值,一般都不需要修改。各个参数选项的详细信息在参考书中有详细介绍,另外在工具箱操作界面的右侧也有相应的英文介绍。,第4部分:运行显示,Plot对话框:运算过程的图形显示界面,可同时选择多项,在运算过程中将显示对应的运算过程。比如:best fitness将显示每一代中最佳适应度的函数值;Best fitness 将显示每一代最佳个体的取值;Scores将显示每一代所有个体的取值等。,第4部分:运行命令和结果,Run

8、solver Use random states from previous run:重复运算上一次运算过程运算结果一致。 Start、Pause、Stop:开始、暂停、停止。 Status and results:状态和结果。提示是否正常计算,以及正常运算的最优结果。 Final point:最优结果时的参数值。,Export to Workspace,将当前问题和参数设置 保存到Matlab工作空间,将当前的结果 保存到Matlab 工作空间,将当前的参 数设置保存到 Matlab工作空间,保存当前问题和参数时 将当前结果的相关信息也 也保存,下次运行保存的 问题时,初始种群为此次 结果的最后种群,而不是重 新产生新种群,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号