变尺度法课程设计变尺度法求函数的极值计算机实现及其比较研究_第1页
变尺度法课程设计变尺度法求函数的极值计算机实现及其比较研究_第2页
变尺度法课程设计变尺度法求函数的极值计算机实现及其比较研究_第3页
变尺度法课程设计变尺度法求函数的极值计算机实现及其比较研究_第4页
变尺度法课程设计变尺度法求函数的极值计算机实现及其比较研究_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、变尺度法课程设计班级:数学与应用数学07-2班 一:设计题目:变尺度法求函数的极值计算机实现及其比较研究。二:软件环境:turbo c,turbo c+,vc,vc+,win-tc等能运行c语言的软件。三:算法设计思路:1:变尺度法的由来:尺度:指空间中对于点与点之间距离的一种度量,而对于正定矩阵a,若满足|x|j=,称其为尺度矩阵,若f()为一般非线性函数,设其hessen矩阵为正定阵,则拟牛顿条件为:(1):(2):;如果若以它为尺度矩阵,取最速下降方向为 , 在保持阻尼newton法全局,快速收敛的同时,为了避免求逆矩阵,而通过边迭代边构造另外一个矩阵去近似,即令,由于尺度矩阵随迭代次数

2、的变化而变化,故称此类算法为变尺度法2:dfp法: a:基本思想:取初始矩阵(一般取为单位矩阵),用递推关系,满足拟牛顿条件确定,即第i次修正函数矩阵b:dfp的一些性质:对于函数:具有二次终止性质,即,为hessen逆阵;当a=e时产生共轭方向和共轭梯度。对与一般的函数:校正保持正定性,迭代下降的性质成立;具有超线性的收敛速度;且如果是凸函数,该方法具有总体收敛性。四:程序流程图开始初始化h(0)输入初值x0求-hkfxkfx0输出所求极小值若不满足返回h(k)xk满足五:演示运行结果(1)当输入初值为5,7,精度为0时; (2)当输入的初值为2,12,精度为0时:其他演示:六:设计总结和体

3、会。 总结:本程序的缺点,面向用户的功能比较差,无法让用户通过可执行文件直接输入要求的函数,而必须改动源程序,我很想弥补这个缺点,但由于水平和时间的有限,无法完成这部分工作,但我想这并不影响课程设计,因为这个课程设计的目的是实现常用的变尺度算法,而不是追求程序的完美性。 体会:通过这次最优化理论关于变尺度法的课程设计,强化了自己对c语言的掌握,同时更加深入的理解了变尺度法的算法原理,与计算过程。附:算法源代码:用变尺度法求函数fx=4(x1-5)2+(x2-6)2的最小值 #include void dpfmethod(float a,float b,float m)static float

4、h22=1,0,0,1;float x2;x0=a,x1=b;float c;c=4*(x0-5)*(x0-5)+(x1-6)*(x1-6);float df2;df0=8*(x0-5); df1=2*(x1-6); float hdf2;hdf0=(h00*df0+h01*df1); hdf1=(h10*df0+h11*df1); float namu=(-8*x0*hdf0+40*hdf0-2*hdf1*x1+12*hdf1)/(8*hdf0*hdf0+2*hdf1*hdf1);float g2;g0=(-8*namu*hdf0);g1=(-2*namu*hdf1);float k=m;i

5、f(df0*df0+df1*df1=k)printf(最小值点是x1=%f,x2=%fn,x0,x1);printf(此时原函数的值为%fn,c);getchar();else x0+=namu*hdf0; x1+=namu*hdf1; h00+=namu*hdf0*namu*hdf0/(g0*namu*hdf0+g1*namu*hdf1)-(h00*g0+h01*g1)*g0*h00+(h00*g0+h01*g1)*g1*h10)/(g0*(g0*h00+g1*h10)+g1*(g0*h01+g1*h11); h01+=namu*hdf0*namu*hdf1/(g0*namu*hdf0+g1

6、*namu*hdf1)-(h00*g0+h01*g1)*g0*h01+(h00*g0+h01*g1)*g1*h11)/(g0*(g0*h00+g1*h10)+g1*(g0*h01+g1*h11); h10+=namu*hdf1*namu*hdf0/(g0*namu*hdf0+g1*namu*hdf1)-(h10*g0+h11*g1)*g0*h00+(h10*g0+h11*g1)*g1*h10)/(g0*(g0*h00+g1*h10)+g1*(g0*h01+g1*h11); h11+=namu*hdf1*namu*hdf1/(g0*namu*hdf0+g1*namu*hdf1)-(h10*g0+h11*g1)*g0*h01+(h10*g0+h11*g1)*g1*h11)/(g0*(g0*h00+g1*h10)+g1*(g0*h01+g1*h11); dpfmethod(x0,x1,k);void main()printf(* result area *n); printf(n);printf(使用dfp法求函数4(x1-5)2+

温馨提示

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

评论

0/150

提交评论