遗传算法及其应用实例.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法及其应用实例 遗传算法搜索最优解的方法是模仿生物的进化过程,即通过选择与染色体之间的交叉和变异来完成的。遗传算法主要使用选择算子、交叉算子与变异算子来模拟生物进化,从而产生一代乂一代的种群X(t)。 1.遗传算法的简单原理遗传算法(GeneticAlgorithm,GA)是一种基于自然群体遗传演化机制的高效探索算法,它摒弃了传统的搜索方式,模拟自然界生物进化过程,采用人工进化的方式对目标空间进行随机化搜索。它将问题域中的可能解看作是群体的一个个体或染色体,并将每一个彳编码成符号串形式,模拟达尔文的遗传选择和自然淘汰的生物进化过程,对群体反复进行基于遗传学的操作(遗传,交叉和变异)根据预定的目标适应度函数对每个个体进行评价,依据适者生存,优胜劣汰的进化规则,不断得到更优的群体,同时以全局并行才索方式来搜索优化群体中的最优个体,求得满足要求的最优解。 遗传算法主要是用来寻优,它具有很多优点:它能有效地避免局部最优现象,有及其顽强的鲁棒性,并且在寻优过程中,基本不草要任何搜索空间的知识和其他辅助信息等等。利用遗传算法,可以解决很多标准优化算法解决不了的优化问题,其中包括目标函寸不连续、不可微、高度非线性或随机的优化问题。 选择算子:是模拟自然选择的操作,反映“优胜劣汰”原理。它根据每一个个体的适应度,按照一定规则或方法,从t代种群X(t)中选择出一些优良的个体(或作为母体,或让其遗传到下一代种群X(t1))。 交叉算子:是模拟有性繁殖的基因重组操作,它将从种群X(t)所选择的每一对母体,以一定的交叉概率交换它们之间的部分基因。 变异算子:是模拟基因突变的遗传操作,它对种群x(t)中的每一个个体,以一定的变异概率改变某一个或某一些基因座上的基因值为其他的等位基因。 交叉算子与变异算子的作用都在于重组染色体基因,以生成新的个体。 步1(初始化) 确定种群规模N,交叉概率「,变异概率Pm和终止进化准则;随机生成N个个体作为初始种群X切;置t-0。 步2(个体评价)计算评估X(t)中各个体的适应度。 步3(种群进化)选择(母体)从X(t)中运用选择算子选择出M/2对母体(MN)。 交叉对所选择的M/2对母体,以概率P执行交叉,形成M个中间个体。 变异对M个中间个体分别独立以概率Pm执行变异,形成M个候选个体。 选择(子代)从上述所形成的M个候选个体中依据适应度选择出N个个体组成新一代种群X(t+1)。 步4(终止检验)如已满足终止准则,则输出X(t+1)中具有最大适应度的个体作为最优解,终止计算,否则置t-t+1并转步2。 以上运算过程只是遗传算法的多种实现方式中的一种,根据实际问题的不同,遗传算法的实现也是多种多样的。 遗传算法具有通用、并行、稳健、简单与全局优化能力强等突出优点,适用于解决复杂、困难的全局优化问题。 (1)目标函数没有明确解析表达(如非数值优化问题)。 (2)目标函数虽有明确表达,但不可能恰好估值(如大部分最优控制问题、金融优化问题)。 (3)目标函数有极多的峰值(如Q*计算、组合优化问题)。 (4)多目标优化,即目标函数是向量值。 一个优化问题被称为是困难的,则通常是指:或者目标函数f不连续、不可微、高度非线性,或者优化问题是困难的组合问题。 对于这些复杂、困难的优化问题,已知的优化方法或者根本不可用,或者可用但不有效。相比之下,遗传算法不但保证可用,而且常常显得更为有效。 但是,我们必须注意到,一个通用而乂较少依赖于目标函数值与其他辅助信息的算法不可能比专用且充分利用目标函数值与相关辅助信息的算法更为有效,而当一个问题有某些辅助信息可供使用时,舍弃应用本来可供应用的信息而去应用于这些信息无关的算法也不是一个聪明的选择。所以,遗传算法一般来说并不适宜应用于通常的数值优化问题(例如连续可微的数学规划问题),或者说,当应用于这样的问题时,遗传算法并不总能显示其优越性。 接下来,我们通过一个求解简单函数的最小值点的问题来初步展示遗传算法的具体实现方法: 问题1: 求函数f(x)=11sin(6x)+7cos(5x)在xe[0,2兀J区间上的最小值点。 1510 5 0-5-10-15上图可以看出为函数f(x)=11sin(6x)+7cos(5x)在xe[0,2兀[区间上的曲线图像I::;;:、\\ 上图 可以看出 、该函数有多个极值点,如果使用其他的搜寻方法,很容陷入局部最小点,|而不能搜寻到真正的全局最小点,但遗传算法可较好地弥补这个缺陷。遗传算法的具体实现如下:-1.问题分析。对于本问题,自变量x可以抽象为个体的基因组,即用二进制编码表示x;函数值f(x)可以抽象为个体的适应度,函数值越小,适应度越高。 关于二进制编码方式,在精度允许的范围下,可以将区间内的无 穷多点用间隔足够小的有限点来代替

文档评论(0)

dajiefude2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档