几种多变量函数无约束求极值的算法实现和性能比较(2015年12月17修正)_第1页
几种多变量函数无约束求极值的算法实现和性能比较(2015年12月17修正)_第2页
几种多变量函数无约束求极值的算法实现和性能比较(2015年12月17修正)_第3页
几种多变量函数无约束求极值的算法实现和性能比较(2015年12月17修正)_第4页
几种多变量函数无约束求极值的算法实现和性能比较(2015年12月17修正)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、几种多变量函数无约束求极值的算法实现和性能比较一、几种算法的matlab实现1.最速下降法(梯度法)(1)算法框图(2)程序代码:参见gradientzxl.m2.牛顿法(1)算法框图(2)程序代码参见newtonmul.m3.共轭梯度法(用于二次凸函数)(1)算法框图(2)程序代码参见FR2.m4共轭梯度法(用于一般函数) (1)算法框图:(2)程序代码参见FRusual.m二、仿真实验及结果对于牛顿法和用于二次凸函数的共轭梯度法没有精度,对应表中无精度,精度是为最速下降法和用于一般函数的共轭梯度法而进行对比实验的。1. f=x12+2*x22-4*x1-2*x1*x2精确解为初始点(精度)

2、3;3(0.01)15;8(0.01)3;3(0.0001)15;8(0.0001)最速下降法最优解3.9986;1.99914.0068;2.00374.0000;2.00004.0001;2.0001迭代次数314522耗时(s)0.311181.140900.563121.71424牛顿法最优解4;24;2迭代次数11耗时(s)0.0.共轭梯度法(用于二次凸函数)最优解4;24;2迭代次数22耗时(s)0.332940.15080共轭梯度法(用于一般函数)最优解4;24;24.0000;2.00004.0000;2.0000迭代次数1111耗时(s)0.317590.332300.317

3、310.310422f=(x1-1)4+x22精确解为初始点(精度)2;0(0.01)15;8(0.01)2;0(0.0001)15;8(0.0001)最速下降法最优解1;01.0055; 0.00031;01.0055; 0.0000迭代次数1314耗时(s)0.110430.821390.112420.91916牛顿法最优解1;01;0迭代次数8895耗时(s)6.279096.45091共轭梯度法(用于二次凸函数)最优解迭代次数耗时(s)共轭梯度法(用于一般函数)最优解1;01.0760;-0.00001;01.0045;-0.0000迭代次数1111耗时(s)0.187070.5731

4、00.176920.3 (Rosenbrock函数)f=100*(x2-x12)2+(1-x1)2精确解为初始点(精度)1;0(0.01)10;6(0.01)1;0(0.0001)10;6(0.0001)最速下降法最优解1.0004; 1.0009无法计算1.0000;1.0000无法计算迭代次数57超出上限59超出上限耗时(s)29.55244无穷大12.12031无穷大牛顿法最优解1;11;1迭代次数37耗时(s)0.288180.65096共轭梯度法(用于二次凸函数)最优解无法计算无法计算迭代次数超出上限超出上限耗时(s)无穷大无穷大共轭梯度法(用于一般函数)最优解0.9828; 0.9

5、6571.0002;1.00041.0000;1.00001.0000;1.0000迭代次数613814耗时(s)5.3619311.403076.8147510.96418三、分析及总结1、从实验1和2的最速下降法的数据足以说明精度要求越高,迭代次数会越多的客观规律,并且初始点选取离精确解越远,迭代次数也越多,寻找最优解的耗时也越长。2、从实验1和2的牛顿法的数据可以验证该法的二次终止性。对于常见的二次凸函数,无论初始点如何选取,只需一次迭代即可到达极小点,迭代一次的耗时与计算量有关,不一定相等。当原函数为含有高次的凸函数,牛顿法搜索极小值显然比原函数为二次时迭代次数较多,求取速度较慢,但仍

6、可求出精确解。初始点离精确解越远,迭代次数越多,所需时间也越长。3、本次实验有用于二次凸函数和一般函数的两种共轭梯度法,从实验1的数据就可验证共轭梯度法的二次终止性。初始点离精确解越远,并不代表迭代次数越多和耗时越长。4、对于一般的二次凸函数,采用上述的三种方法都能有很好的计算结果,其中当属牛顿法迭代次数最少,耗时也短,结果准确,为诸法中效果最好的方法。当原函数次数增加后,最速下降法和牛顿法虽计算量增加但仍可计算出最优解。用于一般函数的共轭梯度法足以验证其二次终止性,并且对高次的函数,其计算也能保证良好的特性,不会像牛顿法一样显著增多其计算量。5、总体来看,一般情况下牛顿法迭代速率较快的同时还能保证求出准确解,是一种准确性和快速性都比较好的算法,但其缺点在于需要计算Hesse矩阵的逆,原函数次数高后计算量会显著增大,并且存在矩阵

温馨提示

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

最新文档

评论

0/150

提交评论