用matlab求解非线性优化问题

上传人:F****n 文档编号:100278751 上传时间:2019-09-23 格式:DOC 页数:6 大小:72.50KB
返回 下载 相关 举报
用matlab求解非线性优化问题_第1页
第1页 / 共6页
用matlab求解非线性优化问题_第2页
第2页 / 共6页
用matlab求解非线性优化问题_第3页
第3页 / 共6页
用matlab求解非线性优化问题_第4页
第4页 / 共6页
用matlab求解非线性优化问题_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《用matlab求解非线性优化问题》由会员分享,可在线阅读,更多相关《用matlab求解非线性优化问题(6页珍藏版)》请在金锄头文库上搜索。

1、实验四 用MATLAB求解非线性优化问题一、实验目的:了解Matlab的优化工具箱,利用Matlab求解非线性优化问题。二、相关知识非线性优化包括相当丰富的内容,我们这里就Matlab提供的一些函数来介绍相关函数的用法及其所能解决的问题。(一)非线性一元函数的最小值Matlab命令为fminbnd(),其使用格式为:X=fminbnd(fun,x1,x2)X,fval,exitflag,output= fminbnd(fun,x1,x2)其中:fun为目标函数,x1,x2为变量得边界约束,即x1xx2,X为返回得满足fun取得最小值的x的值,而fval则为此时的目标函数值。exitflag0表

2、示计算收敛,exitflag=0表示超过了最大的迭代次数,exitflag0表示优化结果收敛于解,exitflag=0表示优化超过了函数值的计算次数,exitflag0表示优化不收敛。lambda是拉格朗日乘子,显示那个约束条件有效。grad表示梯度,hessian表示汉森矩阵。例4:求,使得目标函数在约束条件,下取得最小值。我们设计的程序如下:先把目标函数和约束条件分别编写成独立的m文件,注意,这样的m文件必须用function开头,并且文件名一定要和函数名一致。目标函数的文件为:function f=objfun(x)f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x

3、(2)+2*x(2)+1);约束条件的文件为:function c,ceq=confun(x)c=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;ceq=;接着,编写完成优化的程序如下:clearx0=-1 1;options=optimset(largescale,off,display,iter);x,fval,exitflag,output=fmincon(objfun,x0,confun,options)运行结果为:IterF-countf(x)constraintmaxStep-sizeDirectional derivativeProcedure131.

4、83940.510.0486271.85127-0.091971-0.556Hessian modified twice3110.9.3310.174150.0.92091-0.9655200.-1.5170.5-0.1686240.0.33131-0.05187280.-0.033031-0.01428320.0.1-6.22e-0069360.9.032e-00811.76e-010Hessian modifiedOptimization terminated successfully: Search direction less than 2*options.TolX and maxim

5、um constraint violation is less than options.TolConActive Constraints: 1 2x = -9.5474 1.0474fval = 0.0236exitflag = 1output = iterations: 9 funcCount: 38 stepsize: 1 algorithm: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: cgiterations: 例5:在上例的基础上,再加上边界约束条件,即加上,则我们仅需要修改上面的第三个程序为:clearx0=-1 1;lb=0,0;ub=;options=optimset(largesca

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号