最优化-马昌凤-第五章作业_第1页
最优化-马昌凤-第五章作业_第2页
最优化-马昌凤-第五章作业_第3页
最优化-马昌凤-第五章作业_第4页
最优化-马昌凤-第五章作业_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上最优化方法及其Matlab程序设计习题作业暨实验报告 学院:数学与信息科学学院 班级:12级信计一班 姓名:李明 学号:第四章 共轭梯度法1、 上机问题与求解过程1、用算法求解取初始点和初始矩阵为 。解: 仿照书上编写程序,将程序矩阵变为具体如下:functionx,val,k=dfp(fun,gfun,x0)%功能:用DFP算法求解吴宇舒问题:min f(x)%输入:x0是初始点,fun,gfun分别是目标函数及其梯度%输出:x,val分别是近似最优点和最优值,k是迭代次数maxk=1e5;%给出最大迭代次数rho=0.55;sigma=0.4;epsilon=1e

2、-5;k=0; n=length(x0);Hk=2 1;1 1;while(k<maxk) gk=feval(gfun,x0);%计算梯度 if(norm(gk)<epsilon),break;end dk=-Hk*gk;%计算搜索方向 m=0;mk=0; while(m<20)%用Armijo搜索求步长 if(feval(fun,x0+rhom*dk)<feval(fun,x0)+sigma*rhom*gk'*dk) mk=m;break; end m=m+1; end x=x0+rhomk*dk; sk=x-x0;yk=feval(gfun,x)-gk; i

3、f(sk'*yk>0) Hk=Hk-(Hk*yk*yk'*Hk)/(yk'*Hk*yk)+(sk*sk')/(sk'*yk); end k=k+1;x0=x;endval=feval(fun,x0); 然后仿照书上建立两个目标函数和梯度的M文件:function f=fun(x)f=x(1)2+3*x(2)2;function g=gfun(x)g=2*x(1) 6*x(2)' 选取初始点为,调用函数程序,得出最小极值点为,极小值为,在界面框中输入的程序如下:x0=1 -1'x,val,k=dfp('fun',

4、9;gfun',x0)x = 1.0e-06 * -0.2203 -0.1599val = 1.2527e-13k =4 从结果可以看出迭代次数为次,如果选取不同的初值点则迭代次数不一样,但是极小值相同。2、 用算法求的极小点,选取初始点为解: 仿照书上编写程序具体如下:functionx,val,k=bfgs(fun,gfun,x0,varargin)%功能:用BFGS算法求解无约束问题:min f(x);%输入:x0是初始点,fun,gfun分别是目标函数及梯度;%varargin是输入的可变参数变量,简单调用bfgs时可以忽略它;%但若其他程序循环调用该程序时将会发生重要的作用%

5、输出:x,val分别为近似最优点和最优值,k是迭代次数maxk=500;rho=0.55;sigma=0.4;epsilon=1e-5;k=0; n=length(x0);Bk=eye(n);while(k<maxk) gk=feval(gfun,x0,varargin:); if(norm(gk)<epsilon),break;end dk=-Bkgk;%解方程组,计算搜索方向 m=0;mk=0; while(m<20)%用Armijo搜索求步长 newf=feval(fun,x0+rhom*dk,varargin:); oldf=feval(fun,x0,varargin

6、:); if(newf<oldf+sigma*rhom*gk'*dk) mk=m;break; end m=m+1; end %BFGS校正 x=x0+rhomk*dk; sk=x-x0;yk=feval(gfun,x,varargin:)-gk; if(yk'*sk>0) Bk=Bk-(Bk*sk*sk'*Bk)/(sk'*Bk*sk)+(yk*yk')/(yk'*sk); end k=k+1;x0=x;endval=feval(fun,x0,varargin:);%在一开始的时候输入格式有错误为:x,val,k=bfgs(fun,

7、gfun,x0,varargin)%后来改为x,val,k=bfgs(fun,gfun,x0)得出正确答案 建立两个目标函数和梯度的M文件:function f=fun(x)f=x(1)2+x(2)2+x(1)*x(2);function g=gfun(x)g=2*x(1)+x(2) 2*x(2)+x(1)' 选取初始点为,调用函数程序,得出最小极值点为,极小值为,在界面框中输入的命令如下:x0=3 2'x,val,k=bfgs('fun','gfun',x0)x = 1.0e-05 * 0.0513 -0.1555val = 1.8846e-1

8、2k = 3从结果可以看出迭代次数为次,如果选取不同的初值点则迭代次数不一样,但是极小值相同。3、 分别利用算法和算法的程序求解下列优化问题取取解:(1) 算法解题与前面程序相同,编写不同的函数文件,如下:function f=fun(x)f=x(1)2+x(2)2-3*x(1)-x(1)*x(2)+3;function g=gfun(x)g=2*x(1)-x(2)-3 2*x(2)-x(1)'在窗口中输入命令并得出结果: x0=0 0'x,val,k=bfgs('fun','gfun',x0)x = 2.0000 1.0000val = 3.4

9、737e-12k =4由输入的命令与现实的结果可以知道,极小值点为,迭代的次数为4次。算法解题:在上面计算的基础之上,添加函数文件,调用第一题程序:function He=Hess(x)He=2 ,-1; -1, 2;在窗口中输入命令并得出结果: x0=0 0' x,val,k=dfp('fun','gfun',x0)x = 2 1val = 0k = 1 由输入的命令与现实的结果可以知道,极小值点为,迭代的次数为1次。(2) 算法解题与前面程序相同,编写不同的函数文件,如下:function f=fun(x)f=4*(1-x(1)2+5*(x(2)-x

10、(1)2);function g=gfun(x)g=-8*(1-x(1)-10*x(1)*(x(2)-x(1)2) 10*(x(2)-x(1)2)'在窗口中输入命令并得出结果: x0=2 0'x,val,k=bfgs('fun','gfun',x0)x = 1.0000 1.0000val = -1.6236e-06k = 31由输入的命令与现实的结果可以知道,极小值点为,迭代的次数为31次。算法解题:在上面计算的基础之上,添加函数文件,调用第一题程序:function He=Hess(x)He=8-10*(x(2)-x(1)2)+20*x(1)

11、 ,-10*x(1); -10*x(1), 10;在窗口中输入命令并得出结果:x0=2 0'x,val,k=dfp('fun','gfun',x0)x = 1.0000 1.0000val = 1.7009e-07k = 18 由输入的命令与现实的结果可以知道,极小值点为,迭代的次数为18次。4、 分别利用算法和算法的程序求奇异函数的极小值: 初始点取为。解:算法解题与前面程序相同,编写不同的函数文件,如下: function f=fun(x)f=(x(1)+10*x(2)2+5*(x(3)-10*x(4)2+(x(2)-2*x(3)2+10*(x(1)

12、-x(4)2;function g=gfun(x)g=20*(x(1)+10*x(2)+20*(x(1)-x(4) 20*(x(1)+10*x(2)+2*(x(2)-2*x(3) 10*(x(3)-10*x(4)-4*(x(2)-2*x(3) -100*(x(3)-10*x(4)-20*(x(1)-x(4)'在窗口中输入命令并得出结果:x0=3,-1,0,1'x,val,k=bfgs('fun','gfun',x0)x = 1.0e-08 * -0.0062 0.0131 0.4465 0.0432val = 8.1534e-17k = 13由输入的命令与现实的结果可以知道,极小值点为,迭代的次数为13次。算法解题:在上面计算的基础之上,添加矩阵文件,function He=Hess(x)n=length(x);He=zeros(n,n);He=40,20,0,-20; 20,202,-4,0; 0,-4,18,-100; -20,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论