数学实验报告——利用MALTAB进行无约束规划
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
实验五 无约束规划
实验目的
1.掌握无约束规划的基本方法,对不同算法进行初步分析、比较。
2.练习建立和求解实际问题的无约束优化模型和非线性最小二乘拟合模型。
一、求解非线性规划
㈠问题描述
取不同的初值计算非线性规划,尽可能求出所有局部极小点,进而找出全局极小点,并对不同算法的结果进行分析、比较。
min z=(x1x2)2(1 x1)2[1 x1 x2(1 x1)5]2
㈡简要分析
首先对表达式进行解析分析再进行数值计算。
1、解析分析
观察表达式,知z的最小值一定≥0,而当x1=0、1,x2=0时,z=0。此外,
当x2=
1(1 x1)时,z=0。这样已经得到所有极小点。
2、数值计算
为了获得直观认识,先画出函数的三维图形和等高线图,然后观察其大致的解。并选择不同的初值,采用不同的非线性规划方法计算并对其进行分析、比较。除了用Matlab的内核函数实现之外, 自己实现了最速下降法与Newton法,并观察了收敛过程。
㈢方法与公式
1、解题方法
(1)搜索方向
a.最速下降法
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
b.牛顿法
c.拟牛顿法 i.BFGS公式 ii.DFP公式
iii.Gill-Murray法
(注Gill-Murray 法是由P. E. Gill 和W. Murr ay 于七十年代初所提出的一种最优化计算方法. 它与前述牛顿法的主要区别在于迭代中引入了强迫矩阵正定技术和一维搜索寻优技术)
(2)搜索步长
a.三次差值
b.混合二、三次插值
2、计算方法
(1)数值梯度
(2)解析梯度
㈣结果与分析
1、直观认识
观察函数不难得出函数极小值的解析解,与此同时可以发现,当x1与1、0相差较大时,由于有5次方项存在,函数值将变得非常大,为了得到比较准确的有关极小值的位置信息,选择观察范围变成了意见颇复杂的事情,需要不断根据函数图象调整x1和x2的取值范围。
这里最终取x1于[-0.5,1.5],x2于[-0.2,0.6]之间,事实上这样已经将各种类型的极小值点包含其中,得到三维图像以及等高线图如下:
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
(横坐标为x1 ,纵坐标为x2)
从图中我们可以比较明显地看出x1=0、1,以及x2=0相关的极小值点,但是却并不能观察到x2=(1 x),为了解这条曲线的位置,这里用matlab画出大致图像。
1
1
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
可以看出,曲线在x1=1附近与直线x1=1非常接近,但是取值很大,而在其余位置与x2=0接近,在x1=1附近,x2约为1。这就是在之前无法很好地观察到的原因。
为了更好地观察,将x1=在0附近的等高线放大进行观察。得到下图:
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
从图中我们可以明显地看到x2=(1 x)的图像,如左上方倾斜的白色带状区域所示。
1
1
也即,函数的取值实际上是被分为了类似下图这样的几个区域(图中的黑线表示函数值为0的位置)。
这个图像给初值的选取提供的很好的指导意义。
2、数值计算
(1)初值的选取
为了能够完整地考察函数的各类极小值点,初值选取如下九个点
x0(1,:)=[-0.1 0.8]; x0(2,:)=[-0.1 0.2]; x0(3,:)=[-1 -10]; x0(4,:)=[0.5 20]; x0(5,:)=[0.5 1]; x0(6,:)=[0.5 -1]; x0(7,:)=[9 5]; x0(8,:)=[1.5 1]; x0(9,:)=[9 -1];
这9个点分别对应上图中的9个区域。理论上讲,仅取9个点进行试验是不够的,应该在每个区域各取足够多的点观察才可能观察到向各条“极值线”收敛的情况,从而得出比较有说服力的结论,不过由于时间以及报告长度有限,这里从简。
(2)MATLAB自带函数的比较
这部分列出了以上列9个点中每个点为初值时,按照BFGS、DFP和SteepDesc方法、cubicpoly和quadcubic步长、分析和数值梯度计算方法得到的实验结果。
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
①[-0.1 0.8]
1
1
通过计算可以得到,X1、X2满足x2=(1 x)4也就是收敛到了曲线上。观察
计算结果可以发现如下几条:
a.本例中,各种方法最终的迭代结果相差不多,SteepDesc的结果相对精确一些。
b.本例中,BFGS与DFP的收敛速度比SteepDesc快。
c.计算梯度时使用分析解可以有效地减小迭代次数,加快收敛。
d.迭代次数大体上与计算时间正相关,也即,本例中使用BFGS与DFP计算所用的时间比SteepDesc短,用解析解计算比数值解用时短。(有关时间的计算,理论上应重复进行多次计算并取均值,这里由于数据量比较大,故有限未能实现)。
② [-0.1 0.2]
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
不难发现X1、X2收敛到了X1=0这条直线上。观察得到如下结论(与以上结论重复则不再赘述):
a.本例中,BFGS和DFP所得结果较SteepDesc精确;
b.尽管SteepDesc的迭代次数较大,但是用时未见明显增加; X1、X2仍旧收敛到了X1=0这条直线上,且这次计算结果与解析解一致。本例中未见得BFGS、DFP和SteepDesc的区别。
④[0.5 20]
X1、X2收敛到了X1=1这条直线上,且计算结果与解析解一致。本例中未见得BFGS、DFP和SteepDesc的区别。
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
⑤
X1、X2收敛到了X1=1这条直线上,这一次出现了相对大的误差,不过仍可以接受。有关迭代次数和时间的比较与①类似。不过这次SteepDesc的迭代次数比
BFGS和DFP大更多。
结论与⑤相同。
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
⑦
这是一个有意思的现象,X1、X2仅经过一次更正就同时收敛到了0,可事实
上函数在[9 5]这个点的函数值、导数值、二阶导数值并不为0。这个原因我并不十分清楚,不过我之前在自己实验的过程中发现牛顿法对于一切二次函数可以一次达到极值点。可是题目所给并非二次函数,而且并非对所有初值都能做到这一点,故推测这是一个巧合。产生的原因应当与步长的选取有关。
X1、X2收敛到了X1=1这条直线上,但误差较大。
利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析
⑨
X1、X2收敛到了X2=0这条直线上,计算结果与解析解一致。
小结
a.使用不同的初值进行迭代将出现不同的结果,迭代次数也大不相同,有的初值一步就能得到结果,有的初值则需要多次迭代;有的初值迭代后能够得到与解析解一致的结果,更多的初值只能计算得到近似解;
b.对于同一个初值,不同方法所得的迭代结果基本一致,没有观察到“分岔”的情况(即对于同一个初值,不同迭代方法的逼近路径不同,从而得到不同的结果);
c.整体上讲,BFGS与DFP的迭代次数小于SteepDesc。
相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题




