几种多变量函数无约束求极值的算法实现和性能比较(2015年12月17修正).docVIP

几种多变量函数无约束求极值的算法实现和性能比较(2015年12月17修正).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
几种多变量函数无约束求极值的算法实现和性能比较(2015年12月17修正)

几种多变量函数无约束求极值的算法实现和性能比较 一、几种算法的matlab实现 1.最速下降法(梯度法) (1)算法框图 (2)程序代码: 参见gradientzxl.m 2.牛顿法 (1)算法框图 (2)程序代码 参见newtonmul.m 3.共轭梯度法(用于二次凸函数) (1)算法框图 (2)程序代码 参见FR2.m 4.共轭梯度法(用于一般函数) (1)算法框图: (2)程序代码 参见FRusual.m 二、仿真实验及结果 1. f=x1^2+2*x2^2-4*x1-2*x1*x2 精确解为 初始点 (精度) [3;3] (0.01) [15;8] (0.01) [3;3] (0.0001) [15;8] (0.0001) 最速下降法 最优解 [3.9986; 1.9991] [4.0068; 2.0037] [4.0000; 2.0000] [4.0001; 2.0001] 迭代次数 3 14 5 22 耗时(s) 0.31118 1.14090 0.56312 1.71424 牛顿法 最优解 [4;2] [4;2] 迭代次数 1 1 耗时(s) 0.082987 0.084936 共轭梯度法(用于二次凸函数) 最优解 [4;2] [4;2] 迭代次数 2 2 耗时(s) 0.33294 0.15080 共轭梯度法(用于一般函数) 最优解 [4;2] [4;2] [4.0000; 2.0000] [4.0000; 2.0000] 迭代次数 1 1 1 1 耗时(s) 0.31759 0.33230 0.31731 0.31042 2. f=(x1-1)^4+x2^2 精确解为 初始点 (精度) [2;0] (0.01) [15;8] (0.01) [;0] (0.0001) [15;8] (0.0001) 最速下降法 最优解 [1;0] 1.0055; 0.0003] [1;0] [1.0055; 0.0000] 迭代次数 1 1 4 耗时(s) 0.11043 0.82139 0.11242 0.9191 牛顿法 最优解 [1;0] [1;0] 迭代次数 88 95 耗时(s) 6.27909 6.4509 共轭梯度法(用于二次凸函数) 最优解 迭代次数 耗时(s) 共轭梯度法(用于一般函数) 最优解 [1;0] [1.0760; -0.0000] [1;0] [1.0045; -0.0000] 迭代次数 1 1 1 1 耗时(s) 0.18707 0.57310 0.17692 0.841418 3. (Rosenbrock函数) f=100*(x2-x1^2)^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] 无法计算 迭代次数 超出上限 超出上限 耗时(s) 29.5524 无穷大 12.1203 无穷大 牛顿法 最优解 [1;1] [1;1] 迭代次数 3 耗时(s) 0.28818 0.65096 共轭梯度法(用于二次凸函数) 最优解 无法计算 迭代次数 上限 上限 耗时(s) 无穷大 无穷大 共轭梯度法(用于一般函数) 最优解 [0.9828; 0.9657] [1.0002; 1.0004] [1.0000; 1.0000] [1.0000; 1.0000] 迭代次数 6 13 8 14 耗时(s) 5.36193 11.40307 6.81475 10.96418 三、分析及总结 1、从实验1和2的最速下降法的数据足以说明精度要求越高,迭代次数会越多的客观规律,并且初始点选取离精确解越远,迭代次数也越多,寻找最优解的耗时也越长。 2、从实验1和2的牛顿法的数据可以验证该法的二次终止性。对于常见的二次凸函数,无论初始点如何选取,只需一次迭代即可到达极小点,迭代一次的耗时与计算量有关,不一定相等。当原函数为含有高次的凸函数,牛顿法搜索极小值显然比原函数为二次时迭代次数较多,求取速度较慢,但仍可求出精确解。初始点离精确解越远,迭代次数越多,所需时间也越长。 3、本次实验有用于二次凸函数和一般函数的两种共轭梯度法,从实验1的数据就可验证共轭梯度法的二次终止性。初始点离精确解越远,并不代表迭代次数越多和耗时越长。 4、对于一般的二次凸函数,采用上述的三种

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档