资源描述:
《Matlab求解优化问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、预备知识:M文件简介在MATLAB中,用户可以利用Edtior(编辑器)建立M文件,然后在命令窗口中的“提示符下键入M文件的主文件名,回车执行.MATLAB的M文件有两类:命令文件和函数文件。将原本要在MATLAB环境卜•肖接输入的语句,放在一个以.m为后缀的文件中,这一文件就称为命令文件;函数文件由五部分组成:函数定义行、H1行、函数帮助文本、函数体、注释,MATLAB的内部函数都是由函数文件定义的。1・11优化(最值、数学规划)在数学上,优化问题包括最值问题和数学规划问题等,后者又包括线性规划、整数规划(含0-1规划)、二次规划等.在MATLAB中,
2、求解最值问题的命令主要有:fminbnd(f,xl,x2)[x,fval]=fminbnd(f,xl,x2)fminsearch(zfz,xO)[x,fval]=fminsearch(zfz,xO)求一元函数f在区间[xlzx2]±的戢小值点求一元函数f在区间[xlzx2]上的最小值点和最小值求多元函数f在点xO附近的最小值点求多元函数f在点X0附近的最小值点和最小值例1.11.1求函数/(X)=/+3x+2在区间[-5,5]上的最小值点和最小值.>>[x,fval]=fminbnd(1x^2+3*x+21,-5z5)x=-1・5000fval=-0.2
3、50022例1V2求函数f(Xl,X2)=XlX2+—+—在点(1,1)附近的最小值点和最小值.州兀2>>[x,fval]=fminsearch(!x(l)*x(2)+2/x(l)+2/x(2)1,[11])1.2599fval=1-25994•7622在MATLAB中,求解数学规划问题的命令丄要冇:ct(1)线性规划q•minz=c1xAx4、4=1>0在上述命令中,当某些参数空缺时,可用[]代替或省略,下同。mins.t.例1.11.3求解线性规划问题<>>c=[2;3;6;5];>>A=[1-1-2-4;0-1-11];>>b=[0;0];>>Aeq=[1111];>>beq=[1];>>lb=[0;0;0;0];>>[xzfval]=1inprog(c,A,b,Aeq,beq,lbz[])Optimizationterminated.0.50000・50000.00000.0000fval=2.5000minz=clx(2)0-1规划J"Ax5、val]=bintprog(c,A,bzAeq,beq)min例1.11.4求解规划问题〈z=-x{-1-2x2-0.8x32.1Xj+2x2+1.3x3<50.8^
6、+x2<5x{+2.5x2+2x3<82兀,<8乙>>c=[-l;-1.2;-0.8];>>A=[25z2;0/2,0];>>b=[5;5;8;8];>>[x,fval]=bintprog(c,A,b,[],[])Optimizationterminated.110fval=-2.2000min(3)二次规划”/1TY¥Tz=—xHx+cX2Ax
7、>H=[1-1;-12];>>c=[-2;-6];>>A=[11;-12];>>b=[22];>>Aeq=[21];>>beq=[3];>>lb=[0;0];problem>>[x,fval]=quadprog(H,c,A,b,Aeq,beq,lb,[])Warni
8、ng:Large-scalemethoddoesnotcurrentlysolvethisformulation,switchingtomedium-scalemethod.>Inquadprogat242Optimizationterminated.x=1.00001.0000fval=-7.5000minz=f(X)s.t.(4)非线性规划<Ax9、7)在上述命令中,fun为定义目标函数/(x)的M文件的主文件名,xO为初值,n