第8讲 无约束优化.pptx

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

数学建模与数学实验无约束最优化无约束最优化问题?例 选址问题:某市燃气公司计划要建一个煤气供应站,该站向城市中固定位置的个用户供货。对于选定的坐标系而言,已知第个用户的位置为, 。如果只考虑直线距离,问如何确定这个煤气站的位置,才能使总的运输距离最短?一元函数求极值的方法驻点法二分法牛顿切线法割线法二元函数求极值的方法梯度黑塞(Hesse)矩阵多元函数的泰勒展开正定矩阵、负定矩阵、半定矩阵、不定矩阵利用黑塞矩阵判断驻点的性质搜索算法?选定初始点 ,假定已经得到 按照一定的规则选取,判断是否满足结束条件:是否为近似最优解如果是近似最优解,迭代完成;否则令,回到步骤2。下降算法?利用梯度的性质选择搜索方向使得一维搜索的直接法“成功——失败”法黄金分割法无约束优化问题的基本算法最速下降法(梯度法)算法步骤:?(1) 给定初始点 ,允许误差,令.?(2) 计算 .(3) 检验是否满足收敛性的判别准则: ,若满足,则停止迭代,使得,否则进行(4).??(4) 令,从出发,沿进行一维搜索,即求使得?(5) 令, . 返回(2).最速下降法是一种最基本的算法,它在最优化方法中占有重要地位.最速下降法的优点是工作量小,存储变量较少,初始点要求不高;缺点是收敛慢(依赖于,在极小点附件容易出现梯度正交的现象)。?最速下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时,宜选用别种收敛快的算法.最速下降法的一些改进方向:(1) 先用最速下降法求近似最优解,在用牛顿法等计算.?(2) 为消除梯度正交现象,把求得的用代替计算.?(3) 在迭代的过程中,如果采用加速步,把负梯度方向替换成,,即用作为点的搜索方向.平行切线法是有交错使用最速下降方向和加速步的方向构成的。?牛顿法的基本思想是用一个二次函数去逼近目标函数,然后精确地求出这个二次函数的极小点,并把这个极小点作为所有函数极小点的近似值。牛顿法算法步骤:?(1) 给定初始点 ,允许误差,令.?(2) 求 和.?(3) 检验是否满足收敛性的判别准则: ,若满足,则停止迭代,使得,否则进行(4).?(4) 令?(5) 令, . 返回(2).如果是对称正定矩阵A的二次函数,则用牛顿法,经过一次迭代就可达到最优点,如不是二次函数,则牛顿法不能一步达到极值点,但由于这种函数在极值点附近和二次函数很近似,因此牛顿法的收敛速度还是很快的.?如果初始点距极值点比较远,由于用二次函数去近似总有误差,与的极值点也会有偏差,且不一定是牛顿方向最优点,甚至可能出现。?广义牛顿法(阻尼牛顿法):?(4) 从出发,沿方向进行一维搜索:??(5) 令, . 返回(2).牛顿法的收敛速度虽然较快,但要求黑塞矩阵可逆,要计算二阶导数和逆矩阵,就加大了计算机的计算量和存储量.拟牛顿法?为克服牛顿法的缺点,同时保持较快收敛速度的优点,利用第步和第步得到的 , ,, 构造一个正定矩阵近似代替 ,或用近似近似代替 ,将牛顿方向改为: 从而得到下降方向.返回MATLAB优化工具箱简介1.MATLAB求解优化问题的主要函数2.优化函数的输入变量 使用优化函数或优化工具箱中其他优化函数时, 输入变量见下表:3.优化函数的输出变量见下表:4.控制参数选项的设置选项中常用的几个参数的名称、含义、取值如下:(1) Display: 显示水平.取值为off时,不显示输出; 取值为iter时,显示每次迭代的信息;取值为final时,显示最终结果.默认值为final.(2) MaxFunEvals: 允许进行函数评价的最大次数,取值为正整数.(3) MaxIter: 允许进行迭代的最大次数,取值为正整数.控制参数选项可以通过函数optimset创建或修改.命令的格式如下:(1) options=optimset(optimfun) 创建一个含有所有参数名,并与优化函数optimfun相关的默认值的选项结构.(2)options=optimset(param1,value1,param2,value2,...) 创建一个名称为选项的优化选项参数,其中指定的参数具有指定值,所有未指定的参数取默认值.(3)options=optimset(oldops,param1’,value1,...) 创建名称为oldops的参数的拷贝,用指定的参数值修改oldops中相应的参数.例:opts=optimset(Display, iter, TolFun,1e-8)该语句创建一个称为选择的优化选项结构,其中显示参数设为iter, TolFun参数设为1e-8.用MATLAB解无约束优化问题 常用格式如下:(1) x = fminbnd(fun,x1,x2)(2) x = fminbnd(fun,x1,x2,options)(3)[x,fval] = fminbnd

文档评论(0)

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

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

1亿VIP精品文档

相关文档