最优化课程设计--共轭梯度算法研究.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《最优化方法课程设计》报告 共轭梯度算法研究 学 生:专 业:信息与计算科学班 级:指导教师: 二零一一年十二月 课程设计任务书 专业: 信息与计算科学 班级: 信计 课程名称: 最优化方法课程设计 课题名称 课题条件 参考文献: [1] 孙文瑜等, 最优化方法(第二版)[M],北京:高等教育出版社,2010. [2] 王红梅.算法设计与分析[M].北京:清华大学出版社,2006. 安排10学时(18周五 8:00-11:45 13:30-17:15)上机(信计20081 N1S-229, 信计20082 N1S-231),指导老师到场指导网上和图书馆检索文献。 设计任务 掌握共轭梯度法的思路及迭代过程;用共轭梯度法求,自定初始点,设计说明书(或论文)内容 摘要、问题描述、具体理论知识点、具体实例、程序清单、程序实现、参考文献、总结、小组成员分工合作清单。 进度计划(列出完成项目设计内容、绘图等具体起始日期) 12月19-25日图书馆或网络查资料,12月26-29日,根据资料整理出基础理论与实例;12月30日上机10学时,编程并上机实现;12月31日完成报告并上缴电子文档。 指导教师 (签名): 年 月 日 教研室主任 (签名): 年 月 日 共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但客服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点。共轭梯度法不仅是解大型线性方程组最有用的方法之一,也是解大型非线性最优化问题最有效的算法之一。在各种优化算法中,共轭梯度法是非常重要的一种。其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。 共轭梯度法最早是由Hestenes和Stiefle(1952)提出来的,用于解的线性方程组,在这个基础上,Fletcher和Reeves (1964)首先提出了解非线性最优化问题的共轭梯度法。由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二次终止性等优点,现在共轭梯度法已经广泛地应用于实际问题中。共轭梯度法是一个典型的共轭方向法,它的每一个有哪些信誉好的足球投注网站方向是互相共轭的,而这些有哪些信誉好的足球投注网站方向d仅仅是负梯度方向与上一次迭代的有哪些信誉好的足球投注网站方向的组合,因此,存储量少,计算方便关键词: 目 录 一、问题提出 二、设计思路和步骤 2.1设计思路 注意到对于正定二次函数, (4.3.21) 其中是方程组的残量,以及 (4.3.22) 2.2设计步骤 共轭梯度法 步骤一: 初始步: 给出令。 步骤二: 如果||||=,停止。 步骤三: 计算 步骤四: 令k:=k+1,转步骤二。 三、程序设计 3.1问题分析 3.2 算法设计 3.3 算法框图 掌握共轭梯度法的思路及迭代过程;用共轭梯度法求,自定初始点,.4 程序编制 function f=conjugate_grad_2d(x0,t) %input this:conjugate_grad_2d([2,2],0.01) x=x0; syms xi yi a f=2*xi^2+yi^2-xi*yi; fx=diff(f,xi); fy=diff(f,yi); fx=subs(fx,{xi,yi},x0); fy=subs(fy,{xi,yi},x0); fi=[fx,fy]; count=0; while double(sqrt(fx^2+fy^2))t s=-fi; if count=0 s=-fi; else s=s1; end x=x+a*s; f=subs(f,{xi,yi},x); f1=diff(f); f1=solve(f1); if f1~=0 ai=double(f1); else break x,f=subs(f,{xi,yi},x),count; end x=subs(x,a,ai); f=3/2*xi^2+1/2*yi^2-2*xi-xi*yi; fxi=diff(f,xi); fyi=diff(f,yi); fxi=subs(fxi

文档评论(0)

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

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

1亿VIP精品文档

相关文档