基于MATLAB环境下实现最优化方法.docVIP

  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文档。上传文档
查看更多
基于MTLAB环境下实现最优化方法 ——阻尼牛顿法 1 优化设计法 优化设计(Optimal Design)是现代先进的设计方法,这种设计方法是把数学规划理论与计算方法应用于实际设计中,按照预定的目标,借助计算机的运算寻求最优设计方案的有关参数,从而获得最好的技术经济效果。 优化设计反映出人们对于设计规律这一客观世界认识的深化。设计上的“最优值”是指一定条件影响下所能得到的最佳设计值。最优值是一个相对的概念,在大多数的情况下,可以用最大值或最小值来表示。 概括起来,优化设计的工作包括以下两部分内容: (1)将实际的设计问题的物理模型抽象为数学模型(用数学公式来表示)。建立数学模型时要选取设计变量,列出目标函数,并且给出约束条件。目标函数是设计问题所需求的最优指标与设计变量之间的函数关系式。 (2)选取适当的最优化方法,求解数学模型。也可归结为在给定的条件(即约束条件)下,求出目标函数的极值或者最优值问题。 最优化问题的一般形式为: 其中为决策变量,f (x)为目标函数,为约束集或可行域。如果,则上述问题称为无约束最优化问题,否则,称为约束最优化问题。 对于无约束最优化问题,也已经提出了不少数值求解方法。例如共扼梯度法、牛顿法、Guass牛顿法、牛顿型方法、拟牛顿法、非精确牛顿法、广义拟牛顿法等。 2 牛顿法与阻尼牛顿法 牛顿法是求解无约束优化问题最古老的算法之一。但到目前为止,它的改进形式仍不失为最有效的算法之一,因为它最大的优点是收敛速度比较快。 由于一个函数在一点附近的性态与二次函数很接近,所以往往通过建立二次摸型来构造有效的算法,最直接而自然的二次模型,显然就是它的泰勒展开式中只到二次项的部分。由此,牛顿法的基本思想是: 设已知f (x)的极小点x*的一个近似,在附近将f(x)作泰勒展开有: 其中: 若正定,则有极小点存在,设其为,并令 便得到f (x)的极小点的一个新的近似,由于为二次凸函数,它的极小点很容易求,事实上,令 则有: 当用迭代式时,且其中由上式定义时,这种迭代便称为牛顿迭代,而算法称为牛顿法。 由牛顿法的导出过程可知,牛顿法面临两个主要的困难。一是Hessian矩阵不正定。这时二次模型不一定有极小点,甚至没有平稳点。当不定时,二次模型函数是无界的。为了克服这一困难,人们提出了若干修正措施。Goldstein和Price提出一种修正牛顿办法:当非正定时,采用最速下降方向。Giu和Murray 提出了一个数值稳定的处理方法,从的修改Cholesky分解形式。 牛顿法的另一困难是,它在实际执行的过程中,每次迭代都需要精确计算Hessian矩阵的值,这就需要大量的计算,有时甚至会导致数值实验的失败。后来,有人提出能否定义一种牛顿型方法来避免每次迭代都计算Hessian阵的值。这样就导致了人们对经典牛顿法的修正。 其中阻尼牛顿法(修正牛顿法)具有一定的代表性。其基本思想是:为了改变原始牛顿法定步长的搜索方式,以牛顿方向为搜索方向进行一维最优化搜索,求该方向上的最优步长因子,即迭代式改为: 当用迭代式时,这种迭代便称为阻尼牛顿迭代,而算法称为阻尼牛顿法,称为阻尼因子。显然,阻尼牛顿法仍然保持了原始牛顿法的二次收敛性质,同时对于非二次函数又具有函数值稳定下降的特点。 3 MATLAB介绍 自1994年美国Math Works公司推出MATLAB以来,目前MATLAB己发展成为国际上最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的30多种面向不同领域的工具箱支持,使得MATLAB在许多科学领域中成为计算机辅助设计利分析、算法研究和应用开发的基本功聚合首选平台。 MATLAB最初用于自动控制系统的辅助设计,而后采用了开放性开发的思想,不断吸收各学科领域所开发的实用程序,形成了一套规模大、覆盖面积广的工具箱,包括信号处理、工程优化、图像处理、小波分析、系统识别、通信仿真、模糊控制、神经网络、统计分析等许多现代工程技术学科的内容,它的应用范围涵盖了当今所有的工业、电子、医疗、建筑等各领域。 对于优化工具箱(Optimization Toolbox),是将工程上的优化方法进行编译并设定为固定函数,使人们从繁琐的程序代码中解放出来,其丰富的函数使开发者无需重复编程,用户只需要按照要求进行调用相应函数即可,使得整个过程简单、直接。本文将分别按两种方式进行编程计算案例,一种是按照牛顿法的运算法则进行编程,另一种是直接调用优化工具箱函数计算,将体现出优化工具箱极大的优势。 4 程序设计思路和程序模块 根据牛顿法和阻尼牛顿法的计算法则,并依照Matlab的特点,阻尼牛顿法程序设计思路一般步骤如下: (1) 根据目标函数,任意选取初始迭代点,给定计算精度ε,

文档评论(0)

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

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

1亿VIP精品文档

相关文档