- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 遗传算法在
智能优化算法 智能优化算法又称现代启发式算法,是一种具有全局优化性能、通用性强且适合于并行处理的算法。 这种算法一般具有严密的理论依据,而不是单纯凭借专家经验,理论上可以在一定的时间内找到最优解或近似最优解。 遗传算法属于智能优化算法之一。 常用的智能优化算法 遗传算法 模拟退火算法 禁忌搜索算法 粒子群算法 蚁群算法 …… 智能优化算法的特点 从任一解出发,按照某种机制,以一定的概率在整个求解空间中探索最优解。 求解的过程通常是一个迭代的过程,即不是一步就完成。 由于它们可以把搜索空间扩展到整个问题空间,因而具有全局优化性能。 遗传算法概述 美国J. Holland教授于1975年在专著《自然界和人工系统的适应性》中首先提出。 借鉴生物界自然选择和自然遗传机制的随机化搜索算法。 模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象。 遗传算法概述 在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。 基本遗传算法(Simple Genetic Algorithms,GA)又称简单遗传算法或标准遗传算法),是由Goldberg总结出的一种最基本的遗传算法,其遗传进化操作过程简单,容易理解,是其它一些遗传算法的雏形和基础。 基本遗传算法的组成 (1)编码(产生初始种群) (2)适应度函数 (3)遗传算子(选择、交叉、变异) (4)运行参数 编码 遗传算法(GA)通过某种编码机制把对象抽象为由特定符号按一定顺序排成的串。 正如研究生物遗传是从染色体着手,而染色体则是由基因排成的串。 基本遗传算法(SGA)使用二进制串进行编码。 编码示例 求下列一元函数的最大值: 一个问题 对于x∈[-1, 2] ,结果精确到6位小数, (1)二进制编码要求取多少位? (2)十进制实数与二进制编码之间应满足怎样的数学关系? 编码示例的分析 区间长度为3,求解结果精确到6位小数,因此可将自变量定义区间划分为3×106等份。 又因为221 3×106 222 ,所以二进制编码长度至少需要22位。 编码过程实质是将区间[-1,2]内对应的实数值转化为一个二进制串(b21b20b19b18…b1b0)。 一个问题 对于x∈[-1, 2] ,结果精确到6位小数,十进制实数与二进制编码之间应满足怎样的数学关系? 编码(二进制)与实数(十进制)的转换 编码与实数的转换 基因型与表现型 基因型:1000101110110101000111 初始种群 基本遗传算法(SGA)采用随机方法生成若干个个体的集合,该集合称为初始种群。 初始种群中个体的数量称为种群规模。 适应度函数 遗传算法对一个个体(解)的好坏用适应度函数值来评价,适应度函数值越大,解的质量越好。 适应度函数是遗传算法进化过程的驱动力,也是进行自然选择的唯一标准,它的设计应结合求解问题本身的要求而定。 选择算子 遗传算法使用选择运算对个体进行优胜劣汰操作。 适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体,被遗传到下一代群体中的概率小。 选择操作的任务就是从父代群体中选取一些个体,遗传到下一代群体。 基本遗传算法(SGA)中选择算子采用轮盘赌选择方法。 一等奖 轮盘赌选择方法 轮盘赌选择又称比例选择算子,其基本思想是:各个个体被选中的概率与其适应度函数值成正比。 设群体大小为N,个体xi 的适应度为 f(xi),则个体xi的选择概率为: 轮盘赌选择方法 轮盘赌选择方法 轮盘赌选择方法 轮盘赌选择方法的实现步骤: (1)计算群体中所有个体的适应度值; (2)计算每个个体的选择概率; (3)计算积累概率; (4)采用模拟赌盘操作(即生成0到1之间的随机数与每个个体遗传到下一代群体的概率进行匹配)来确定各个个体是否遗传到下一代群体中。 轮盘赌选择方法 例如,有染色体 s1= 13 (01101) s2= 24 (11000) s3= 8 (01000) s4= 19 (10011) 假定适应度为f (s)=s2 ,则 f (s1) = f(13) = 132 = 169 f (s2) = f(24) = 242 = 576 f (s3) = f(8) = 82 = 64
文档评论(0)