[实验二无约束最优化.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[实验二无约束最优化

实验二、 无约束最优化 (先将此文档从服务器下载,若众人同时在服务器打开文档,容易导致出错) 【实验目的】 1.了解无约束最优化方法的一些基本概念。 2.熟悉掌握用相关的命令来求解无约束最优化问题。 【实验内容】 把题目和相应的完整命令写在实验报告上。 1:无约束最优化问题实际上是什么问题?求这类问题的最优解的基本思路是什么? 2:求在区间内的极小值点和极小值。 3:已知。 (1) 求在点附近的极小值; (2) 求在点附近的极小值点和极小值,要求优化算法用高斯-牛顿法,搜索方向用拟牛顿法的DFP公式,以及给出函数计算次数。 【相关知识说明】 无约束最优化是指在没有约束条件下,求多变量实值函数极值。 无约束最优化问题的数学表达式为 。 一般为非线性函数,是维实变量,实际上这是一个多元函数无条件极值问题。 由于求极大值问题,可以用添加负号的方式转化为求极小值问题,因此通常只讨论求极小值问题。应该注意的是,极值问题的解,即极值点,都是局部最优解,全局最优解只能从局部最优解的比较中得到。 如何求解无约束最优化问题的最优解呢?一般是采用迭代法,即先选择一个初始点,再寻找该点处的下降方向(我们称为搜索方向),在该方向上求极小点,得到一个新的点,然后在新点处再寻找下降方向和在该方向上的求极小点,……,如此下去,最终得到最优解。 我们先来看求一元函数y=f(x)在[x1,x2]内的极小值的命令: x=fminbnd(fun,x1,x2) 说明:其中fun是函数f(x)的表达式,当然也可以是关于f(x)的函数M-文件名。返回值x是极小值点。 现在我们来回答问题1。 问题1:求在区间内的极小值点和极小值. 命令如下 f=2*exp(-x)*sin(x); x=fminbnd(f,0,6) %极小值点 fval=2*exp(-x)*sin(x) %对应x的极小值 大家得到的结果是什么呢? 这些是一元函数求极值,那么怎么求多元函数的极值呢?可以用下面的最简形式的命令: x=fminunc(fun,x0) 如果还必须满足更苛刻的要求,可以用下面的命令 [x,options]=fminunc(fun,x0,options) 说明:(1) 返回值中,x是极小值点。如果需要相应的极小值,可以用fval=fun(x)即可。 (2) 这里fun必须是事先定义的函数M-文件,M-文件的定义方式看下面的例子。 (3) x0是迭代初值。 (4) options是控制参数,它是一个有18个分量的向量,包括了在优化程序中要用到的各种参数,以便在计算最优值时控制精度要求、输出形式、搜索算法、迭代次数、步长等等。例如分量options(6)是指明搜索方向的。options各分量的意义见篇末。 在使用options前,可以根据要求对options的某些分量进行赋值,否则options会自动使用缺省值。根据options各分量的意义,我们来回答问题2。 问题2:已知。 ①求在点附近的极小值; ②求在点附近的极小值点和极小值,要求搜索方向为最速下降法,精度为,并给出函数计算次数. 首先,建立M-文件,文件名取函数名 myfun.m。 function f=myfun(x) f=4*x(1)^2+x(2)^2-x(1)^3*x(2) 对于第一问,比较简单,直接应用上面命令的最简形式即可,如下。 x0=[1,2]; %取点(1,2)为迭代初值 x=fminunc(myfun,x0); fval=myfun(x) 对于第二问,就要复杂很多了,要考虑参数options各个分量的取值。命令如下 x0=[1,2]; opt(2)=1e-6; %设置自变量要求的精度 opt(3)=1e-6; %设置函数值要求的精度 opt(6)=2; %搜索算法用最速下降法 [x,opt]=fminunc(myfun,x0,opt); x %参数options的值已返回给向量opt,因此 n=opt(10) %得到函数计算次数 fval=opt(8) %在极点x处的极小值 大家分别运行上面的命令,看看相应的答案是什么? 类似fminunc,我们还有一个命令fminsearch,用法几乎一样, 与fminunc不同的仅有两点:(1)fminsearch使用的优化方法是单纯形法。(2)fun可以是函数f(x)的表达式,当然也可以是关于f(x)的函数M-文件名。 另外大家可以思考Rosebrock函数 。 试用不同算法(搜索方向和步长搜索)求最优极小值点和极小值。初值为。 参数options各分量说明 序号 功能 分量说明 缺省值含义 1 输出形式 options(1)=1,有中间结果输出 options(1)=-1,给出警告信息 0, 无中间结果输出

文档评论(0)

caiyl9924 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档