wolfe算法确定步长的牛顿法.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文档。上传文档
查看更多
wolfe算法确定步长的牛顿法

数学与计算科学学院 实 验 报 告 实验项目名称 wolfe算法确定步长的牛顿法 所属课程名称 最优化方法 实 验 类 型 算法编程 实 验 日 期 2015.11.13 班 级 学 号 201 姓 名 成 绩 一、实验概述: 【实验目的】 1、实验掌握在非线性搜索wolf算法确定步长的牛顿法的实现算法。 2、了解二次终止性,加深对牛顿法(原始,阻尼,修正方法,这里主要针对阻尼方法讨论)的掌握。 【实验原理】 (一)1、牛顿法公式: 2、原始牛顿法的缺点及改进方法: (1)不一定是上的最优解,改进方法为阻尼牛顿法。 (2)不一定是下降方向,改进方法为修正牛顿法。 (3)G可能奇异(即逆矩阵不一定存在),改进方法为牛顿最速下降法。 3、Wolfe线性搜索准则为:给定常数,取使得 (二)其算法步骤如下: Step1:给出初始点。 Step2:计算。 Step3:若,则停止迭代;否则,令 Step4:利用Wolfe线性搜索求得步长, Step5:k=k+1,转步骤2。 【实验环境】 Windows7 Matlab r2010b 二、实验内容: 【实验方案】 1、本次试验的题目为: 用wolfe线性搜索下的阻尼牛顿法求解: 2、根据阻尼牛顿法的求解步骤,在求解步长时,用wolfe线性搜索确定,编写程序,在计算机上实现。 【实验过程】(实验步骤、记录、数据、分析) (一)由题目可得,,选取初值时,,程序的运行顺序是这样的: 1.,则检验其是否满足,其中,若满足,则,,检验 2、若不满足(1),(2),,令 中使(1)成立的最大者,令。若满足(2)则停止,并取得步长, 3、否则,令,使(1)成立的最大者,令i=i+1,继续2. 【实验结论(结果)小结结论function y=fun(x); y=(1/3)*(x(1)^3-x(2)^3-x(2)^2-x(1); function g=gfun(x); g=[x(1)^2-1, x(2)^2-2*x(2)]; function He=Hess(x); n=length(x); He=zeros(n,n); He=[2*x(1),0,0,2*x(2)-2]; function [x,val,k]=dampnm(fun,gfun,Hess,x0); maxk=100; rho=0.5; sigma=0.4; k=0; epsion=le-5; while(kmaxk) gk=feval(gfun,x0); Gk=feval(Hess,x0); dk=Gk\gk; if(norm(dk)epsion) break; end; m=0; mk=0; while(m20) if(feval(fun.x0+rho^m*dk)feval(fun,xo)+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); 5

文档评论(0)

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

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

1亿VIP精品文档

相关文档