简单的遗传算法MATLAB实现_第1页
简单的遗传算法MATLAB实现_第2页
简单的遗传算法MATLAB实现_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、简单的遗传算法MATLAB实现遗传算法是对达尔文生物进化理论的简单模拟,其遵循“适者生存”、“优胜略汰” 的原理。遗传算法模拟一个人工种群的进化过程,并且通过选择、杂交以及变异等机制, 种群经过若干代以后,总是达到最优(或近最优)的状态。自从遗传算法被提出以来,其得到了广泛的应用,特别是在函数优化、生产调度、模 式识别、神经网络、自适应控制等领域,遗传算法更是发挥了重大的作用,大大提高了问 题求解的效率。遗传算法也是当前“软计算”领域的重要研究课题。本文首先结合MATLAB对遗传算法实现过程进行详细的分析,然后通过1个实际的函 数优化案例对其应用进行探讨。1.遗传算法实现过程现实生活中很多问题

2、都可以转换为函数优化问题,所以本文将以函数优化问题作为背 景,对GA的实现过程进行探讨。大部分函数优化问题都可以写成求最大值或者最小值的 形式,为了不是一般性,我们可以将所有求最优值的情况都转换成求最大值的形式,例如, 求函数f(x)的最大值,若是求函数f(x)的最小值,可以将其转换成g(x)=-f(x),然后求g(x)的最大值,这里x可以是一个变量,也可是是一个由k个变量组成的向量,x=(x1, x2,,xk)。 每个 xi, i=1,2,k,其定义域为 Di,Di=ai, bi。一般规定f(x)在其定义域内只取正值,若不满足,可以将其转换成以下形式,其中C是一个正常数。1.1编码与解码要实

3、现遗传算法首先需要弄清楚如何对求解问题进行编码和解码。对于函数优化问题, 一般来说,有两种编码方式,一是实数编码,一是二进制编码,两者各有优缺点,二进制 编码具有稳定性高、种群多样性大等优点,但是需要的存储空间大,需要解码过程并且难 以理解;而实数编码直接用实数表示基因,容易理解并且不要解码过程,但是容易过早收 敛,从而陷入局部最优。本文以最常用的二进制编码为例,说明遗传编码的过程。从遗传算法求解的过程来看,需要处理好两个空间的问题,一个是编码空间,另一个 是解空间,如下图所示从解空间到编码空间的映射过程成为编码过程;从编码空间到解空间的映射过程成为 解码过程。下面就以求解一个简单的一维函数f

4、(x) = -(x-1广2+4, x的取值范围为-1,3 最大值为例,来说明编码及解码过程。编码:在编码之前需要确定求解的精度,在这里,我们设定求解的精度为小数点后四位,即 1e-4。这样可以将每个自变量xi的解空间划分为个等分。以上面这个函数为例,即可以将x的解空间划分为(3-(-1)*1e+4=40000个等分。使ni满足,这里ni表示使上式成立的最小整数,即表示自变量xi的基因串的长度。因为2400002,这里ni取16。例如 0000110110000101就表示一个解空间中的基因串。表示所有自变量x=(x1, x2,,xk) 的二进制串的总长度称为一个染色体(Chromosome)的

5、1516长度或者一个个体(Individual)的长度,。编码过程一般在实现遗传算法之前需要指定。解码:解码即将编码空间中的基因串翻译成解空间中的自变量的实际值的过程。对于二进制 编码而言,每个二进制基因串都可以这样翻译成一个十进制实数值,。例如基因串0000110110000101,可以翻译为,这里二进制基因串转变成十进制是从左至右进行的。1.2初始化种群在开始遗传算法迭代过程之前,需要对种群进行初始化。设种群大小为pop_size,每 个染色体或个体的长度为chromo_size,种群的大小决定了种群的多样性,而染色体的长 度则是由前述的编码过程决定的。一般随机生成初始种群,但是如果知道种

6、群的实际分布, 也可以按照此分布来生成初始种群。假设生成的初始种群为(v1, v2,,vpop_size)。 1.3选择操作选择操作即从前代种群中选择个体到下一代种群的过程。一般根据个体适应度的分布 来选择个体。以初始种群(v1, v2,,vpop_size)为例,假设每个个体的适应度为 (fitness(v1), fitness(v2),,fitness(vpop_size),一 般适应度可以按照解码的过 程进行计算。以轮盘赌的方式选择个体,如下图随机转动一下轮盘,当轮盘停止转动时,若指针指向某个个体,则该个体被选中。很 明显,具有较高适应度的个体比具有较低适应度的个体更有机会被选中。但是这种选择具 有随机性,在选择的过程中可能会丢失掉比较好的个体,所以可以使用精英机制,将前代 最优个体直接选到下一代中。轮盘赌选择具体算法如下(这里假定种群中个体是按照适应度从小到大进行排列的, 如果不是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论