文档详情

《最优化理论与算法》实验报告.doc

发布:2017-02-12约1.29千字共3页下载文档
文本预览下载声明
《最优化理论与算法》实验报告 2010年6月30日 一、?????????? 1、用最速下降法解问题 初始点 二、问题的分析(涉及的理论知识、数学建模与求解的方法等) 本问题是无约束的非线性规划问题,要求的是函数的极小点,我们可以通过调用MATLAB这个数学软件的求极小点的函数,取不同的初值,即可以得到相应的函数的极小点。其具体的求解过程如下。该问题是多元无约束非线性规划问题,要求函数的极小点。根据题目要求,通过分析可知,我们需要搞清楚最速下降算法的思想,从而进一步编写MATLAB程序去实现。通过调用该算法程序,易求得该函数的近似极小点。 三、计算过程 求解该问题的M文件如下: %求计算函数梯度g的程序gr.m; function [f,g]=gr(x); f=2*x(1)^2+x(2)^2; g(1)=4*x(1); g(2)=2*x(2); %求多元无约束规划极小点的最速下降算法程序zsxj.m; function [x,n]=zsxj(x0,e) %x0为初始迭代点,e为迭代精度,默认值为10^(-7); clc if(nargin2) e=1e-6; end x=x0; n=1; [f0,g]=gr(x); while(norm(g)en1000) d=-g/norm(g); t=1; f=gr(x+t*d); while(ff0) t=t/2; f=gr(x+t*d); end x=x+t*d; [f0,g]=gr(x); n=n+1; end if(n==1000) warning(已到迭代次数上限!最终结果如下:) end x; n; %调用zsxj.m程序计算如下; x0=[1;1]; e=1/10; [x,n]=zsxj(x0,e) 结果如下: x = -0.0009 -0.0023 n = 7 %调用zsxj.m程序计算如下; x0=[1;1]; [x,n]=zsxj(x0) 结果如下: x = 1.0e-007 * -0.7902 0.0174 n = 15 四、问题求解结果的分析与结论 由以上的计算可以知道,当取不同的初值时,函数的极小点也不相同,取不同是初值时得到的结果。 问题的求解结果和实际的结果并不完全相同,原因是多方面的。通过对问题求解过程的分析可以发现,造成误差的原因在于: 1、求解过程中所取的步长; 2、编写的程序有一定的局限性。 由以上的计算可以知道,当取不同的初值时,函数的极小点也不相同,取不同是初值时会得到的结果。 五、实验的总结与体会 通过本次实验,使自己对老师所讲的理论知识有了更进一步的掌握,加深了对极小化问题的理解。提高了自己理论联系实际的能力,同时增强了运用数学软件来解决实际问题的能力,也使自己明白了,用MATLAB这个数学软件来求解数学问题,可以减少很多计算。基本上达到了实验的目的。
显示全部
相似文档