教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

数学实验报告——利用MALTAB进行无约束规划

来源:网络收集 时间:2026-02-16
导读: 利用MATLAB求解无约束规划。数学实验报告。有例题、解答以及分析 实验五 无约束规划 实验目的 1.掌握无约束规划的基本方法,对不同算法进行初步分析、比较。 2.练习建立和求解实际问题的无约束优化模型和非线性最小二乘拟合模型。 一、求解非线性规划 ㈠问

利用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。

d.计算梯度 …… 此处隐藏:3687字,全部文档内容请下载后查看。喜欢就下载吧 ……

数学实验报告——利用MALTAB进行无约束规划.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1715203.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)