资源描述:
《实验二无约束最优化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二.无约束最优化【实验口的】1・了解无约束最优化方法的一些基本概念。2.熟悉掌握用相关的命令來求解无约束最优化问题。【实验内容】把题目和相应的完整命令写在实验报告上。1:无约朿最优化问题实际上是什么问题?求这类问题的最优解的皋本思路是什么?3:2:求f(x)=ex-5x在区间[1,2]内的极小值点和极小值。已矢口/(XpX2,^3)=彳+3sinx2-x^xj。⑴求/(xpx2,x3)在点(1,-1,0)附近的极小值;⑵求心兀2,兀3)在点(1,一1,°)附近的极小值点和极小值,要求优化算法用高斯一牛顿法,搜索方向
2、用拟牛顿法的DFP公式。【相关知识说明】无约束最优化是指在没有约束条件下,求多变量实值函数极值。无约束最优化问题的数学表达式为min/(x),x=eRn。一般./•为非线性函数,兀是斤维实变量,实际上这是一个多元函数无条件极值问题。由于求极大值问题,可以用添加负号的方式转化为求极小值问题,因此通常只讨论求极小值问题。应该注意的是,极值问题的解,即极值点,都是局部最优解,全局最优解只能从局部最优解的比较中得到。如何求解无约束最优化问题的最优解呢?一般是采用迭代法,即先选择一个初始点,再寻找该点处的下降方向(我们称为搜索方
3、向),在该方向上求极小点,得到一个新的点,然后在新点处再寻找下降方向和在该方向上的求极小点,,如此下去,最终得到最优解。我们先来看求一元I求I数y=f(x)在[xl,x2]内的极小值的命令:x=fminbnciCfun',xl,x2)说明:其中Tud是函数f(x)的表达式,当然也可以是关于f(x)的函数M-文件名。返回值x是极小值点。现在我们來冋答问题1。问题1:求f(x)=2e~xsinx在区间[0,6]内的极小值点和极小值.命令如下f='2*exp(-x)*sin(x)';x=fminbnd(f,0,6)%极小值点
4、fval=2*exp(-x)*sin(x)%对应x的极小值大家得到的结果是什么呢?这些是一元函数求极值,那么怎么求多元函数的极值呢?可以用下面的最简形式的命令:x=fmimmc('fun;xO)如果还必须满足更苛刻的要求,可以用下面的命令[x,options]=fmimmc('fun;xO,options)说明:(1)返回值中,X是极小值点。如果需要相应的极小值,可以用fval=fun(x)即可。(2)这里Tun,必须是事先定义的函数M-文件,M-文件的定义方式看下面的例子。⑶xO是迭代初值。I、可题2:已知/(坷,兀
5、2)=4彳+兀;-xfx2o①求y(xpx2)在点(1,2)附近的极小值;②求/(坷,兀2)在点(1,2)附近的极小值点和极小值,要求搜索方向为最速下降法,精度为10",并给出函数计算次数.首先,建立M-文件,文件名取函数名myfun.m0functionf=myfun(x)f二4*x(1厂2+x(2厂2-x(1厂3*x(2)对于第一问,比较简单,直接应用上面命令的最简形式即可,如下。x0=[l,2];%取点(1,2)为迭代初值x=fminuncCmyfun,,xO);fval=myfun(x)命令如下xO=[l,2]
6、;X大家分别运行上面的命令,看看相应的答案是什么?类似fminunc,我们还有一个命令fminsearch,用法儿乎一样,与fminunc不同的仅有两点:(1)fminsearch使丿IJ的优化方法是单纯形法o(2J1W可以是函数f(x)的表达式,当然也可以是关于f(x)的函数M-文件名。另外大家可以思考Rosebrock函数/(xpx2)=100(兀2-彳r+(1-西)2o试用不同算法(搜索方向和步长搜索)求最优极小值点和极小值。初值为(-122)。