matlab现代智能优化剖析.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab现代智能优化剖析

第十章 现代智能优化算法简介 引言 现代优化算法包括禁忌搜索(Tabu search)、模拟退火(Simulated annealing)、遗传算法(Genetic algorithms)等,这些算法涉及生物进化、人工智能、数学和物理科学、神经系统和统计力学等概念,都是以一定的直观基础而构造的算法,我们称之为启发式算法。启发式算法的兴起与计算复杂性理论的形成有密切的联系,当人们不满足常规算法求解复杂问题时,现代智能优化算法开始体现其作用。现代智能优化算法自八十年代初兴起,至今发展迅速,这些算法同人工智能、计算机科学和运筹学迅速融合,促进了复杂优化问题的分析和解决。下面我们就简要介绍这些算法的基本理论以及MATLAB实现。 遗传算法 特点 遗传算法直接以适应度作为搜索信息,求解问题时,搜索过程不受优化函数连续性的约束,无需导数或其他辅助信息; 遗传算法具有很高的并行性,可以同时搜索解空间的多个区域搜索信息,从而降低算法陷入局部最优解的可能性; 遗传算法具很强的鲁棒性。在待求解问题为非连续、多峰以及有噪声的情况下,它能够以很大的可能性收敛到最优解或近似最优解; 遗传算法具有较高的可扩充性。它易于与其它领域的知识或算法相结合来求解特定问题; 遗传算法的基本思想简单,具有良好的可操作性和简单性; 遗传算法具有较强的智能性,可以用来解决复杂的非结构化问题。 遗传算法 算法流程 遗传算法 基本要素 问题编码 初始群体的设定 适应度函数的设计 遗传操作设计 控制参数设定(主要是指群体大小和使用遗传操作的概率等) 遗传算法 问题编码 遗传算法 初始群体的设定 遗传算法是群体型操作,这样必须为遗传操作准备一个由若干初始解组成的初始群体。初始种群的好坏对于遗传算法的计算结果的优劣和算法的效率有着重要影响。产生初始种群通常有两种方法。一种是完全随机的产生方法,它适用于对待求解问题的解无任何先验知识的情况;另一种是把某些先验知识转化为必须满足的一组要求,然后在满足这些要求的解中随机的选取。这种选择初始种群的方法可以使遗传算法较快地达到最优解。初始群体也称做进化的初始代,即第一代(first generation)。 遗传算法 适应度函数的确定 解析性质:连续、非负 合理性:要求适应度函数设计应尽可能简单 近似量小:适应度函数对某一类具体问题,应尽可能通用。 目标函数的处理方法 遗传算法 遗传算法 遗传算子 选择算子 交叉算子 变异算子 选择算子 选择算子 选择算子 交叉算子 两个步骤 首先在新复制的群体中随机选取两个个体; 沿着两个个体(字符串)随机的取一个位置,二者互换从该位置起的末尾部分 变异算子 变异算子模拟了自然界中生物进化过程中个体的基因突变现象,从而改变染色体的结构和物理性状。它是指将个体编码串中的某些基因位上的基因值用该基因位上的其他等位基因来替换,从而产生新的个体。在遗传运算过程中,当交叉操作产生的后代适应度值不再进化,且没有达到最优时,意味着算法陷入了早熟。早熟的根源在于有效基因的缺损,变异算子在一定程度上克服了这种情况,它可以改善遗传算法的局部搜索能力,增加种群的多样性。常见的变异算子包括位点变异、插入变异、对换变异、边界变异、非均匀变异和高斯变异等形式。 变异操作就是改变染色体某个(些)位上的基因。例如,设染色体,将其第三位上的0变为1,即。也可以看做是原染色体的子代染色体。 遗传算法的参数设置 遗传算法的基本步骤 遗传算法求解实例 遗传算法求解实例 遗传算法求解实例 遗传算法求解实例 遗传算法求解实例 遗传算法求解实例 遗传算法求解实例 遗传算法求解实例 遗传算法求解实例 遗传算法求解实例 遗传算法的MATLAB实现 调用方法 x = ga(fitnessfcn,nvars) x = ga(fitnessfcn,nvars,A,b) x = ga(fitnessfcn,nvars,A,b,Aeq,beq) x = ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB) x = ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon) x = ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options) [x,fval] = ga(...) [x,fval,exitflag] = ga(...) 遗传算法的MATLAB实现 输入参数和输出参数 遗传算法的MATLAB实现 控制参数设置 遗传算法的MATLAB实现 命令详解 遗传算法的MATLAB实现 遗传算法的MATLAB实现 遗传算法的MATLAB实现 遗传算法的MATLAB实现 遗传算

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档