Matlab7最优化问题求解

Matlab最优化问题求解1.无约束最优化问题无约束最优化问题一般描述为:()minfxT]x,x…,该数学表示的含义是求一组x,使得目标函数f(x)最小.其中x=[x这种n12问题也称为最小化问题.Matlab中提供了3个求最小值的函数,调用格式为:·[x,fval]=fminbnd(@fname,x1,x2,options):求一元函数在(x1,x2)区间中的极小值点x和极小值fval;·[x,fval]=fminsearch(@fname,x0,options):基于单纯形算法求多元函数的极小值点x和极小值fval;·[x,fval]=fminunc(@fname,x0,options):基于拟牛顿法求多元函数的极小值点x和极小值fval.这里讨论的是局域极值问题,fname是定义函数m文件的文件名,fminbnd的输入变量x1,x2分别是研究区间的左右边界;fminsearch和fminunc的输入变量x0是一个向量,表示极值点的初值.options为优化参数,可以通过optimset函数来设置,当目标函数的阶数大于2时,使用fminunc比fminsearch更有效;但是目标函数高度不连续时,使用fminsearch函数效果更好.Matlab中没有专门求最大值的函数,只要-f(x)在(a,b)上的最小值就是f(x)在(a,b)上最大值的相反数.因此用fminbnd(-f,x1,x2)返回函数f(x)在(x1,x2)上的最大值的相反数.---------------------------------------------------------------------3?2x?5在区间[0,5]内的极小值和极小值点.)(xx=例如:求函数ffx=mymin(x)functionfx=x.^3-2*x-5;[x,fval]=fminbnd(@mymin,0,5)x=0.8165fval=-6.0887因此极小值点为x=0.8165,极小值为-6.0887---------------------------------------------------------------------例如:设222yz()=x+y,z+f+x,yz4x求函数f(x,y,z)在(0.5,0.5,0.5)附近的最小值.f=fxyz(p)functionx=p(1);y=p(2);1z=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---------------------------------------------------------------------2.有约束最优化问题求解有约束最优化问题一般描述为:()?fxminxs.t,G(X)≤0T]xx…,,该数学表示的含义是求一组x,使得目标函数f(x)[x其中x=最小,且满n12足约束条件G(x)小于或等于0.这种问题也称为最小化问题.2.1约束条件分类·线性不等式约束:Ax≤bx=bA:·线性等式约束eqeq·非线性不等式约束:Cx≤0x=0C:·非线性等式约束eq≤x≤UL的上界和下界:·xbndbndMatlab提供了fmincon函数,用于求解各种约束下的最优解问题,调用格式为:[x,fval]=fmincon(@fname,x0,A,b,Aeq,beq,Lbnd,Ubnd,Nonf,options)X,fname,fval,x0和options含义与求最小值函数相同,其余参数为约束条件,参数NonF为非线性约束函数的M文件名,如果该约束不存在则用空矩阵表示.---------------------------------------------------------------------例如:求解有约束最优化问题1322()=0.4xf+xxx+x?x+xmin22111230x+0.5x≥0.4xs.t.210.5x+x≥0.521{x≥0,x≥021f=fop(x)functionf=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.40002-0.5000lblb=00x0x0=0.50000.5000[x,f]=fmincon(@fop,x0,A,b,[],[],lb,[],[],options)x=0.34000.3300f=0.2456注意线性不等式约束全部是小于号,如果出现大于号要将不等式两端取相反数转换成小于号再列写A,b矩阵.---------------------------------------------------------------------3.线性规划问题求解线性规划问题的标准形式是:()?fxminAx≤bx=beqAxs.t.{eqLbnd≤x≤UbndMatlab中求解线性规划问题的函数是linprog,调用格式为:[x,fval]=linprog(f,A,b,Aeq,beq,Lbnd,Ubnd)其中x是最优解,fval是目标函数的最优值.函数中各项参数是线性规划问题标准形式中的对应项,x,b,beq,Lbnd,Ubnd是向量,Aeq,A是矩阵,f为目标函数的系数向量.---------------------------------------------------------------------例如:求解线性规划问题()=2xx+minfx213x+x≥321xs.t.{4x+3x≥621x≥0,x≥021f=[2;1];A=[-3,-1;-4,-3;-1,-2];b=[-3;-6;-2];lb=[0;0];options=optimset('Display','off');[x,f]=linprog(f,A,b,[],[],lb,[])Optimizationterminated.3x=0.60001.2000f=2.4000--------------------------...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?