作业3-牛顿法.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文档。上传文档
查看更多
作业3-牛顿法

最优化方法第三次作业 题目:分别利用最速下降法、阻尼牛顿法、修正牛顿法求解无约束优化问题 。该问题有精确解。初始点 分别取。比较三种方法的 收敛速度。 三种方法: 最速下降法 最速下降法是用负梯度方向dk ??f xk 为搜索方向的。 步骤: 步 0 选取初始点 x0∈ Rn, 容许误差 0 ≤ ε ? 1. 令 k : 1. 步 1 计算 gk ?f xk . 若 ‖gk‖ ≤ ε, 停算, 输出 xk作为近似最优解. 步 2 取方向 dk ?gk. 步 3 由线搜索技术确定步长因子 αk.(精确搜索) 步 4 令 xk+1: xk+ αkdk, k : k + 1, 转步 1. 程序: function [x,val,k] grad fun,gfun,x0 %功能: 用最速下降法求解无约束问题:min f x %输入:x0是初始点, fun, gfun分别是目标函数和梯度 %输出:x, val分别是近似最优点和最优值,k是迭代次数. maxk 5000;%最大迭代次数 rho 0.5;sigma 0.4; k 0;epsilon 1e-5; while k maxk g feval gfun,x0 ;%计算梯度 d -g;%计算搜索方向 if norm d epsilon , break; end m 0; mk 0; while m 20 %Armijo搜索 if feval fun,x0+rho^m*d feval fun,x0 +sigma*rho^m*g’*d mk m; break; end m m+1; end x0 x0+rho^mk*d; k k+1; end x x0; val feval fun,x0 ; 解 :首先建立两个分别计算目标函数和梯度的 m 文件: function f fun x f x 1 ^2-x 2 ^2+ x 1 -1 ^2; function g gfun x g [4*x 1 * x 1 ^2-x 2 +2* x 1 -1 , -2* x 1 ^2-x 2 ]; 最速下降法的数值结果. 初始点 x0 迭代次数 k 目标函数值 f xk 0,0 T 140 8.5333e-011 ?1,?1 T 145 8.7013e-011 由此可以看出,最速下降法的收敛速度是比较慢的。 2、阻尼牛顿法 步骤: 步 0 给定终止误差值 0 ≤ ε ? 1, δ ∈ 0,1 , σ ∈ 0,0.5 . 初始点 x0∈ Rn. 令 k : 0. 步 1 计算 gk ?f xk . 若 ‖gk‖ ≤ ε, 停算, 输出 x*≈ xk. 步 2 计算 Gk ?2f xk , 并求解线性方程组得解 dk: Gkd ?gk 步 3 记 mk是满足下列不等式的最小非负整数 m: f xk+ δmdk ≤ f xk + σδmgTkdk. 步 4 令 xk+1 xk+ αkdk, k : k + 1, 转步 1. 程序: function [x,val,k] dampnm fun,gfun,Hess,x0 %功能: 用阻尼牛顿法求解无约束问题: min f x %输入: x0是初始点, fun, gfun, Hess 分别是求 %目标函数值,梯度,Hesse 阵的函数 %输出:x, val分别是近似最优点和最优值,k是迭代次数. maxk 100;%给出最大迭代次数 rho 0.55;sigma 0.4; k 0; epsilon 1e-5; while k maxk gk feval gfun,x0 ; %计算梯度 Gk feval Hess,x0 ;%计算Hesse阵 dk -Gk\gk; %解方程组Gk*dk -gk, 计算搜索方向 if norm gk epsilon , break; end%检验终止准则 m 0; mk 0; while m 20 % 用Armijo搜索求步长 if feval fun,x0+rho^m*dk feval fun,x0 +sigma*rho^m*gk’*dk mk m; break; end m m+1; end x0 x0+rho^mk*dk; k k+1; end x x0; val feval fun,x ; 解:建立的两个计算目标函数和梯度的 m 文件之外, 还需建立求 Hesse 阵的 m 文件: function He Hess x He [12*x 1 ^2-4*x 2 +2, -4*x 1 ; -4*x 1 , 2]; 阻尼牛顿法的数值结果. 初始点 x0 迭代次数 k 目标函数值 f xk 0,0 T 5 1.6675e-012 ?1,?1 T 7 8.6147e

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档