遗传算法求解函数最大值.doc

遗传算法求解函数最大值.doc

ID:53331178

大小:73.50 KB

页数:18页

时间:2020-04-03

遗传算法求解函数最大值.doc_第1页
遗传算法求解函数最大值.doc_第2页
遗传算法求解函数最大值.doc_第3页
遗传算法求解函数最大值.doc_第4页
遗传算法求解函数最大值.doc_第5页
资源描述:

《遗传算法求解函数最大值.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、广西大学机械学院人工智能课程设计人工智能遗传算法函数优化第18页广西大学机械学院人工智能课程设计目录1引言31.1摘要31.2背景32实验过程42.1程序目标42.2实验原理及步骤42.3程序52.3.1程序理解:52.3.3调试程序:62.4实验总结18第18页广西大学机械学院人工智能课程设计1引言1.1摘要函数优化是遗传算法的经典应用领域,也是对遗传算法进行性能评价的常用算例。本文将用一个详细的例子来说明用遗传算法解一个简单参数优化问题的过程。这里求解的是一个函数的最大值的问题。1.2背景遗传算法采纳自然进化模型。通过保持一个潜在解

2、的群体执行了多方向的搜索并支持这些方向上的信息构成和交换。群体经过一个模拟进化的过程:在每一代,相对“好”的解产生,相对“差”的解死亡。为区别不同解,我们使用了一个目标(评价)函数,它起着一个环境的作用。选择是用来确定管理费用或交叉个体,以及被选个体将产生多少个代个体。杂交组合了两个亲代染色体的特征,并通过交换父代相应的片断形成了两个相似的后代。杂交算子的意图是在不同潜在解之间进行信息交换。变异是通过用一个等于变异率的概率随机地改变被选择染色体上的一个或多个基因。变异算子的意图是向群体引入一些额外的变化性。运用遗传算法解题必经的五个步骤

3、:1.对问题潜在解的遗传表达。2.产生潜在解初始群体的方法。3.起环境作用的用“适应值”评价解的适应程度的评价函数。4.改变后代组成的各种遗传算子。5.遗传算法所使用的各种参数:群体规模、应用遗传算子的概率等。第18页广西大学机械学院人工智能课程设计2实验过程2.1程序目标在实验过程中,我们应用遗传算法来模拟一个函数优化的问题。程序所要解决的问题是求f(x1,x2)=21.5+x1*sin(4pi*x1)+x2*sin(20pi*x2)的最大值,其中-3.0≤x1≤12.1及4.1≤x2≤5.8。2.2实验原理及步骤1)首先确立变量x1

4、的定义域长度为15.1;所要求的小数点以后第四位精度意味着区间[-3.0,12.1]应该至少被分成15.1*10000个等距区间,即染色体的第一部分需要18位;自变量x2域长度为1.7,精度要求区间[4.1,5.8]应该至少被分成1.7*10000个等距区间,即染色体的第二部分需要15位。所以染色体总长度为33位。用遗传算法的优化函数f,产生了一个有pop_size=20个染色体的群体。所有染色体的33位都是随机初始化。对每个染色体进行解码并计算解码后的(x1,x2)的适应函数值,eval(vi)(i=1,..,pop_size)=f(

5、x1,x2)。2)为选择过程建立一个轮盘。计算群体的总适应值F,并计算每个染色体vi(i=1,..,pop_size)的选择概率pi:pi=eval(vi)/F和累积概率qi:qi=p1+..+pi.3)转动轮盘20次,每次为新群体选择一单个染色体。生成一个区间[0,1]里的20个数的一个随机序列。如果一个随机数位于qi于q(i+1)之间,则q(i+1)被选择。4)对新群体中的个体应用杂交算子。杂交概率pc=0.25,所以预计染色体中平均有25%将经历杂交。杂交按照下面的方法进行:对新群体中的每个染色体,产生在区间[0,1]里的随机数r

6、,并从随机序列中选出r<0.25的染色体进行杂交。5)对被选择的染色体随机进行配对。并从区间[1,32]里产生一个随机整数pos。数字pos表示杂交点的位置。6)算子变异。在一位一位基础上执行。变异概率pm=0.01,所以我们预计平均将有1%的位经历变异。整个群体共有m*pop_size=660位,第18页广西大学机械学院人工智能课程设计可以预计平均每代有6.6次变异。因为每一位都有均等的机会被变异,所以对群体中的每一位可以产生区间[0,1]里的一个随机数r,如果r<0.01,则变异此位。7)由上面得到最新的向量群体。对每个染色体进行解

7、码,并计算解码后的(x1,x2)的适应函数值。选出最好染色体的评价值。8)准备再一次运行选择过程,继续进行迭代计算,应用遗传算子及评价下一代。2.3程序2.3.1程序理解:初始化函数:在变量限定的范围内初始化遗传因子的值。从gadata.txt'这个文件中读取每个变量的上下边界,并且在这个范围内随机初始化产生染色体中的值。随机值生成函数:多次用到此函数。评价函数:函数需要用户自己定义一个数学函数式。population[mem].fitness=21.5+x[1]*sin(4.0*PI*x[1])+x[2]*sin(20.0*PI*x[

8、2]);记录最优个体(取优函数):前一代的最优成员被存储在数组的最后。但如果现今这一代的最优成员并没有上一代的好(值小于),则后者(上一代的最优值)会取代本代中最差的成员。如果当前代的最优值大于上一代的,则

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。