- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)