- 6
- 0
- 约1.24万字
- 约 8页
- 2017-09-12 发布于天津
- 举报
试验10无约束优化
实验10 无约束优化
?
实验目的
?
1.? 掌握用MATLAB优化工具箱的基本用法,对不同算法进行初步分析、比较。
2.? 练习用无约束优化方法建立和求解实际问题模型(包括非线性最小二乘拟合)。
实验内容
第2题:取不同的初值计算下列非线性规划,尽可能求出所有局部极小点,进而找出全局极小点,并对不同算法(搜索方向、步长搜索、数值梯度与分析梯度等)的结果进行分析、比较。
(4),。
其中,,。
★问题分析:
首先用数学方法计算出真实值,
, 将,代入,化z的表达式为:
可见分母的值越小,z越小。当x1,x2的值在2.5—4之间时可能取最小值。
为获得直观认识,我们再画出该函数的三维图形和等高线图。
可以看出,z存在两个最小值。
?
对z求导:
★???? Matlab 程序设计及结果:
下面用不同的算法进行计算:
建立fun2.m文件:
用数值方法计算函数的梯度:
得到结果为:
搜索方向 步长搜索 最优解 最优值 迭代次数 BFGS 混合二、三次插值 3.9060e+000 3.9875e+000 -1.7752e+000 54 DFP 混合二、三次插值 3.9060e+000 3.9875e+000 -1.7752e+000 84 最速下降 混合二、三次插值 3.9060e+000 3.9875e+000 -1.7752e+000 111 BFGS 三次插值 3.9060e+000 3.9875e+000 -1.7752e+000 57 DFP 三次插值 3.9060e+000 3.9875e+000 -1.7752e+000 84 最速下降 三次插值 3.9060e+000 3.9875e+000 -1.7752e+000 111 用分析方法计算函数的梯度:
建立grad.m文件给出fun2函数的梯度:
?
得到结果为:
搜索方向 步长搜索 最优解 最优值 迭代次数 BFGS 混合二、三次插值 3.9060e+000 3.9875e+000 -1.7752e+000 9 DFP 混合二、三次插值 3.9060e+000 3.9875e+000 -1.7752e+000 9 最速下降 混合二、三次插值 3.9060e+000 3.9875e+000 -1.7222e+000 12 BFGS 三次插值 3.9060e+000 3.9875e+000 -1.7222e+000 9 DFP 三次插值 3.9060e+000 3.9875e+000 -1.7222e+000 9 最速下降 三次插值 3.9060e+000 3.9875e+000 -1.7222e+000 12 改变x0的值,比如(3,3)
分别运行以上两程序,
采用数值梯度算法,得到结果:
搜索方向 步长搜索 最优解 最优值 迭代次数 BFGS 混合二、三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 27 DFP 混合二、三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 27 最速下降 混合二、三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 69 BFGS 三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 30 DFP 三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 27 最速下降 三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 69 ?
采用分析梯度算法,得到结果:
搜索方向 步长搜索 最优解 最优值 迭代次数 BFGS 混合二、三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 9 DFP 混合二、三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 9 最速下降 混合二、三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 12 BFGS 三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 9 DFP 三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 9 最速下降 三次插值 2.6071e+000 3.8143e+000 -1.7222e+000 12 ★???? 结果分析:从上面表格中的数据可以得知对于函数的求解无论用数值法还是分析法,无论用什么搜索方向,什么步长搜索都可以得到最优解和最优值。但是从上面数据明显可以看出用分析法求解的迭代次数要小于数值法的迭代次数。对于函数z最速下降法的迭代
原创力文档

文档评论(0)