


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
首次试做实验记录 年 月 日 实验课程名称最优化方法面向专业信息与计算科学总学时数实验项目名称求解无约束最优化问题的共轭梯度法实验学时一、实验目的、要求目的:进一步掌握解无约束最优化问题的共轭梯度法的基本思想,熟悉关于极小化正定二次函数以及非二次函数的共轭梯度法的算法,了解它们的特点,加强编程能力和编程技巧,能够上机求解一些多变量函数最优化问题。要求:针对给定的实验题目,根据共轭梯度法的算法,能够熟练地使用某种语言上机编程,给出实验结果,注意上机编程的正确性。二、实验原理共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的特点。共轭梯度法具有二次终止性,即对于正定二次函数,在精确线搜索的条件下,方法有限步终止。关于正定二次函数和非二次函数的共轭梯度法详见教材中的算法4.3.4和算法4.3.8。需要写算法三、实验内容:极小化函数,其中。四、实验过程原始记录(数据、图表、计算等)%首先我们给出给出针对正定二次函数的共轭梯度法的程序% 该程序具有一定的适应性,适合一般的正定二次函数function x,iter=cgopt(G,b,x0,max_iter,tol)% Conjugate gradient method for the following positive definite quadratic% function% x0: starting point% max_iter: maximum number of iterations% tol: tolerance of the gradientx=x0;fprintf(n x0= );fprintf( %10.6f,x0);r=G*x-b;d=-r;for k=1:max_iter if norm(r)=tol iter=k-1; fprintf(n Algorithm finds a solution!); return end alpha=(r*r)/(d*G*d); xx=x+alpha*d; rr=r+alpha*G*d; beta=(rr*rr)/(r*r); d=-rr+beta*d; x=xx; r=rr; fprintf(n x%d= ,k); fprintf( %10.6f,x);enditer=max_iter;return%下面我们给出利用共轭梯度法法求解本实验题目的主程序%该程序具有针对性,需针对具体的题目进行适当的修改function CG_main()G=10 1 2 3 4;1 9 -1 2 -3;2 -1 7 3 -5;3 2 3 12 -1;4 -3 -5 -1 15;b=12 -27 14 -17 12;x0=0 0 0 0 0;max_iter=1000;tol=1e-6;fprintf(n);fprintf(Conjugate Gradient Method: n);fprintf(= n);x,iter=cgopt(G,b,x0,max_iter,tol);fprintf(Iterative number:n %dn,iter);fprintf(Solution: n);fprintf( %10.6f ,x);fprintf(n= n);五、实验结果及分析我们在工作窗口输入命令CG_main (),运行后得结果Conjugate Gradient Method: = x0= 0.000000 0.000000 0.000000 0.000000 0.000000 x1= 1.073560 -2.415510 1.252487 -1.520877 1.073560 x2= 1.305605 -2.627981 2.146636 -1.694270 0.442393 x3= 1.446618 -2.225384 2.448048 -1.970691 0.620722 x4= 1.086550 -2.063574 2.792911 -2.101645 0.836386 x5= 1.000000 -2.000000 3.000000 -2.000000 1.000000 Algorithm finds a solution!Iterative number: 5Solution: 1.000000 -2.000000 3.000000 -2.000000 1.000000 =结果分析:我们根据解针对正定二次函数的共轭梯度法的算法编写了Matla程序。上机运行后经过5次迭代后得到了精确最优解。本题中的目标函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论