用遗传算法求解Rosenbrock函数最优解实验报告

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

华中师范大学计算机科学系

实验报告书

实验题目:用遗传算法求解Rosenbrock函数的最大值问题课程名称:智能计算

主讲教师:***

辅导教师:

课程编号:

班级:2011级实验时间:2011.11

用遗传算法求解Rosenbrock函数最大值问题

摘要:

本文利用遗传算法研究了求解Rosenbrock函数的最大值问题.在较多的计算机模拟实验结果中表明,用遗传算法可以有效地解决这一问题.文中分析了一种基于遗传算法对Rosenbrock函数最大值问题的求解,得到了适于解决此问题的合理的遗传操作,从而为有效地解决最速下降法所不能实现的某一类函数代化问题提供了一种新的途径.通过对基于遗传算法对Rosenbrock函数最大值问题的求解,进一步理解遗传算法对解决此类问题的思想。

关键词:遗传算法,Rosenbrock函数,函数优化,最速下降法。

Abstract:

This paper deals with the maximum of Rosenbrock s function based ongenetic algorithms. The simulated results show that the problem can be solved effectivelyusing genetic algorithms. The influence of some rnodified genetic algorithms on searchspeed is also examined. Some genetic operations suitable to the optimization technique areobtained, therefore, a novel way of solving a class of optimizations of functions that cannot be realized using the method of steepest descent is proposed.Through dealing with the maximum of Rosenbrock s function based ongenetic algorithms,a better understanding of the genetic algorithm to solve such problems thinking.

Keyword:ongenetic algorithms,Rosenbrock function,function optimization,Steepest descent method

绪论:

无约束的函数优化是应用范围广泛的一类函数优化问题,随着对这类问题逐渐深入的研究,到目前为止,人们已经提出了许多无约束最优化的方法,例如:导数的梯度法,牛顿法,共轭梯度法等多种方法。本次实验通过遗传算法求解Rosenbrock函数的最大值,进一步对遗传算法的思想和过程有所了解,为以后相关领域的学习奠定基础。

Rosenbrock函数基本概念:

Rosenbrock函数是无约束最优化理论与方法中一个非常经典的检验问题。它是衡量无约束算法优劣的一个重要工具,而最速下降法、共轭梯度法、牛顿法及拟牛顿法是4种经典的无约束优化的求解方法,通过分析Rosenbrock函数的性质, 对利用不同方法求解Rosenbrock问题的数值结果进行分析,有利于进一步理解无约束优化方法, 对它们各自不同的特性有更全面的掌握。

Rosenbrock函数算法流程图:

遗传算法简介:

遗传算法GA(ongenetic algorithms)是60年代中期,美国的Michigan大学的John Holland在Fraser和Bremermann等人的工作的基础上提出的位串编码技术。这种编码既适合与变异又适合于交配(即杂交,交叉)操作,并且强调讲交配作为主要的遗传操作。遗传算法的基本思想是基友Darwin进化论和Mendel遗传学说的。操作对象是一群二进制串(称为染色体,个体)即种群(population)。每个染色体都对应于问题的一个解。从初始种群出发,采用基于适应值比例的选择策略在当前种群中选择个体,使用交叉和变异操作来产生下一代种群。如此一代代的进化下去,直到满足期望的终止条件。近年来,GA在组合优化求解,机器学习,人工生命等领域已显示了她的应用前景和潜力,通过对此次实验的学习,进一步深入理解了遗传算法的原理及过程,对以后的在相关领域的学习打下了基础。

基本概念:

遗传算法GA(ongenetic algorithms)操作的基本对象是染色体或个体(Chromosome),每个染色体是一个知识结构,代表求解问题的一个可能解,染色体通常用字符串来表示,若干长度的串称之为构成染色体的基因。

群体或种群(population)是由一组染色体所构成,他描述GA搜索的遗传空间,在搜索过程中,用适应度函数来评价每个染色体的优劣,其值越大(适应度大),相应染色体所代表的解越优,适应度函数的选择是能有效地指导搜索空间沿着面向优化参数组合方向逐渐逼近最佳参数组合,而不会导致不收敛或陷入局部最优。

基本操作:

编码(Encoding)操作是将问题解的表示变换遗传空间解的表示,即用字符串或位串构造染色体,其反向操作为解码(Decoding)。

选择(Selection)操作是从群体中选择出较适应环境的个体,这些选中的个体用于繁殖下一代,故有时也称这一操作为再生操作(Reproduction)。选择用于繁殖下一代的个体时是根据个体对环境的适应度而确定其繁殖量的,故而有时也称非均匀再生(differential reproduction)。

交叉(Crossover)操作在选中用于繁殖下一代的个体中,对两个不同个体的相同位置的基因进行交换,从而产生新的个体。

变异(Mutationg)操作是在选中的个体中,对个体中的某些基因执行异向转化。在串中,如果某位基因为1,产生变异时就是把它变成0;反之则由0变成1。

算法实现的步骤:

采用GA的实现步骤如下:

1.个体编码:用一定比特数的0,1二进制码对自变量进行编码形成基因码链,每一个码链代表一个个体;

2.产生初始的群体:产生初始群体的方法通常有两种:一种是完全随机的方法产生的,适合于对问题的解无任何先验知识的情况;另一种是将某些先验知识转变为必须满足的一组要求,然后在满足这些要求的解中再随机地选取样本,t=0;随机产生n个个体形成一个初始群

相关文档
最新文档