




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025秋统编版三年级语文上册(2024)新教材第八单元《习作:那次经历真难忘》练习题附答案
- 药剂性能优化工艺考核试卷及答案
- 金属雕刻工艺创新平台建设考核试卷及答案
- 飞机蒙皮落压钣金工三级安全教育(公司级)考核试卷及答案
- 动车组维修师协同作业考核试卷及答案
- 2024新版2025秋青岛版科学六三制三年级上册教学课件:第三单元 第13课 瘪的乒乓球鼓起来了
- 产教融合背景下现代产业学院探索与实践
- 信息技术知识试题及答案
- 工厂安全风险控制与设备作业安全知识试卷
- 员工分红协议书
- 施工交通安全教育
- Unit 2 What's interesting about families(说课稿)-2024-2025学年沪教版(2024)英语三年级上册
- 上海市第一至十八届高一物理基础知识竞赛试题及答案
- 十二指肠恶性肿瘤护理查房
- 【MOOC】《医学心理学》(北京大学)章节期末中国大学慕课答案
- 涂层材料与叶轮匹配性研究-洞察分析
- 《国际跳棋教学》课件
- 食品进货与供货商档案相对应制度模版(3篇)
- 防治血吸虫病主题班队课
- 12SG121-1 施工图结构设计总说明
- NB-T31053-2014风电机组低电压穿越建模及验证方法
评论
0/150
提交评论