优化方法MATLAB编程.docxVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
? e* ? e* ? e* ? e* 优化方法上机大作业 学 院: 姓 名: 学 号: 指导老师:肖现涛 第一题 。编写计算机程序求解下列优化问题,M ATLAB或C/C++均可. 。将代码和运行结果打印,于考试前交到大黑楼B1107室. 习题1 取初始点- 0,利用共枫梯度法求解下面无约束优化问题: 100 100 min f(x)=(刀勺)2 一工兀?. 1=1 1=1 注:通过此习题验证共钝梯度法求解门元二次函数极小点至多需 要77次迭代. 源程序如下: function zy_x = dilti(x) %dilti是用來求解优化作业第一题的函数。 xO-x; yimuxulong-0. 000001: gO=g(xO);sO=-gO; A=2*cnes(100, 100): k=0; while k100 lanmed=-(gO) *s0/(s0* *A*sO): x=xO+lanmed*sO; g二g (x); k=k+l; if norm(g)yimuxulong zy_x=x; fprintf( After %d iterations, obtain the optimal solution. \n \n The optimal solution is \n %f?\n\nThe optimal x is ans. , k, f(x)) break; end iEiu=norm (g) 2/norm(g0) 2; s=-g+miu*sO; gO=g; sO=s;xO=x; end function f=f(x) f= (x,*ones(100, 1)) 2-x *ones(100, 1); function g=g(x) g=(2*x *ones(100, 1)) *ones (100, 1)-ones (100, 1); 代入,0,运行结果如下: ? x=zeros(100,1); ? dilti(x) After 1 iterations, obtain the optimal solution. The optimal solution is -0. 250000. lhe optimal x is ans ? ans =0. 005*ones(100, 1). 第二题 习题2 职初始点x° = (-1.2.1.-1.2. l)r,考虑下面无约束优化问题: min (X] — I)? +(X3 — 1)^ + 100(x2 — xf)? + 100(x4 — x 孑)? 编写求解上述问题的程序, 。最速下降法, 。牛顿法, ? BFGS方法. 通过此习题体会上述三种算法的收敛速度. 最速下降法。 源程序如下: function zy_x=di2titidu(x) %该函数用来解大作业第二题。 x0=x; yimuxulong=le-5; k=0; g0=g(x0): s0=-g0: while k=0 if norm(gO)yimuxulong break; else lanmed=10;c=0. 1;i=0; while i=0i100 x=x0+lanmed*s0; if f(x)(f(xO)+c*lanmed*gO, *s0) lanmed=lanmed/2; i=i+l; else break; ? e* ? e* ? e* ? e* end end end x=xO*lanmed*sO; xO=x; gO=g(x); sO=-gO; k=k+l; end end zy_x=x; zyj=f(x); fprintf C after %d iterations, obtain the optimal solution. \n\nThe optimal solution is %f?\n\n The optimal x is ans?\rf , k, zyj); function f=f(x) xl=[l 0 0 0]*x; x2=[0 1 0 0]*x; x3=[0 0 1 0]*x; x4=[0 0 0 l]*x; f二(xl-1),2+(x3T) ?2+100*(x2-x「2) ‘2+100*(x4-x32),2; function g=g(x) xl=[l0 0 0]*x;x2=[01 0 0]*x;x3二[0 01 0]*x; xl=[l 0 0 0]*x; x2=[0 1 0 0]*x; x3二[0 0 1 0]*x; x4=[0 0 0 g= [2*(xl-l)-400*xl*(x2-x「2) ;200*(x2-x「2) ;2*(x3-l)-400*x3*(x4-x32) ;200*(x 4-x3t)]; ? x=[-1.2 1 -1.2 1Y ; di2titidu(x) after

文档评论(0)

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

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

1亿VIP精品文档

相关文档