Matlab 7最优化问题求解

Matlab 7最优化问题求解

ID:47431780

大小:84.53 KB

页数:16页

时间:2020-01-11

Matlab 7最优化问题求解_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《Matlab 7最优化问题求解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Matlab最优化问题求解1.无约束最优化问题无约束最优化问题一般描述为:minfx其中x=[x1,x2…xn]T,该数学表示的含义是求一组x,使得目标函数f(x)最小.这种问题也称为最小化问题.Matlab中提供了3个求最小值的函数,调用格式为:·[x,fval]=fminbnd(@fname,x1,x2,options):求一元函数在(x1,x2)区间中的极小值点x和极小值fval;·[x,fval]=fminsearch(@fname,x0,options):基于单纯形算法求多元函数的极小值点x和极小值fval;·[x,fval]=fminunc(@f

2、name,x0,options):基于拟牛顿法求多元函数的极小值点x和极小值fval.这里讨论的是局域极值问题,fname是定义函数m文件的文件名,fminbnd的输入变量x1,x2分别是研究区间的左右边界;fminsearch和fminunc的输入变量x0是一个向量,表示极值点的初值.options为优化参数,可以通过optimset函数来设置,当目标函数的阶数大于2时,使用fminunc比fminsearch更有效;但是目标函数高度不连续时,使用fminsearch函数效果更好.Matlab中没有专门求最大值的函数,只要-f(x)在(a,b)上的最小值就

3、是f(x)在(a,b)上最大值的相反数.因此用fminbnd(-f,x1,x2)返回函数f(x)在(x1,x2)上的最大值的相反数.---------------------------------------------------------------------例如:求函数fx=x3-2x-5在区间[0,5]内的极小值和极小值点.functionfx=mymin(x)fx=x.^3-2*x-5;[x,fval]=fminbnd(@mymin,0,5)x=0.8165fval=-6.0887因此极小值点为x=0.8165,极小值为-6.0887----

4、-----------------------------------------------------------------例如:设fx,y,z=x+y24x+z2y+2z求函数f(x,y,z)在(0.5,0.5,0.5)附近的最小值.functionf=fxyz(p)x=p(1);y=p(2);16z=p(3);f=x+y^2/4/x+z^2/y+2/z;[U,min]=fminsearch(@mymin,[0.5,0.5,0.5])U=0.50001.00001.0000min=4.0000-----------------------------

5、----------------------------------------1.有约束最优化问题求解有约束最优化问题一般描述为:minxs.t,G(X)≤0fx其中x=[x1,x2…xn]T,该数学表示的含义是求一组x,使得目标函数f(x)最小,且满足约束条件G(x)小于或等于0.这种问题也称为最小化问题.1.1约束条件分类·线性不等式约束:Ax≤b·线性等式约束:Aeqx=beq·非线性不等式约束:Cx≤0·非线性等式约束:Ceqx=0·x的上界和下界:Lbnd≤x≤UbndMatlab提供了fmincon函数,用于求解各种约束下的最优解问题,调用格式

6、为:[x,fval]=fmincon(@fname,x0,A,b,Aeq,beq,Lbnd,Ubnd,Nonf,options)X,fname,fval,x0和options含义与求最小值函数相同,其余参数为约束条件,参数NonF为非线性约束函数的M文件名,如果该约束不存在则用空矩阵表示.---------------------------------------------------------------------例如:求解有约束最优化问题xs.t.minfx=0.4x2+x12+x22-x1x2+130x13x1+0.5x2≥0.40.5x1+x

7、2≥0.5x1≥0,x2≥0functionf=fop(x)f=0.4*x(2)+x(1)^2+x(2)^2-x(1)*x(2)+1/30*x(1)^3;AA=-1.0000-0.5000-0.5000-1.0000bb=-0.400016-0.5000lblb=00x0x0=0.50000.5000[x,f]=fmincon(@fop,x0,A,b,[],[],lb,[],[],options)x=0.34000.3300f=0.2456注意线性不等式约束全部是小于号,如果出现大于号要将不等式两端取相反数转换成小于号再列写A,b矩阵.-----------

8、--------------------------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。