资源描述:
《MATLAB优化工具箱.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MATLAB优化工具箱MATLAB优化工具箱主要功能线性规划线性规划的MATLAB命令x=lp(c,A,b)x=lp(c,A,b,v1)x=lp(c,A,b,v1,v2)x=lp(c,A,b,v1,v2,x0)x=lp(c,A,b,v1,v2,x0,ne)x=lp(c,A,b,v1,v2,x0,ne,dis)[x,lag]=lp(c,A,b,…)[x,lag,how]=lp(c,A,b…)minz=cxs.t.Ax≦bv1,v2为给出x的下界和上界,v1,v2的维数k可以小于x的维数,这时v1,v2表示x的前k个分量的下界和上界;x0表示初
2、始解;ne等式约束的个数,将等式约束置于不等式约束前面。当某些参数省缺时,需用[]占位dis控制警告信息,dis=-1,不显示lag拉格朗日乘子,how给出错误信息命令说明例1求解maxz=3x1+x2s.t.-x1+x2≤2x1-2x2≤23x1+2x2≤14x1,x2≥0输入方法c=-[3,1];A=[-1,1;1,-2;3,2];b=[2,2,14];v1=[0,0];x=lp(c,A,b,v1)z=-c*x例题输出结果x=41z=13例题输入方法输出结果例2求解minz=x1+x2s.t.x1-x2≤1x1≥0c=[1,1];A=[
3、1,-1];b=1;v1=0;x=lp(c,A,b,v1)z=-c*xx=[0-1]z=1例3求解例题输入方法c=[-6,-4];A=[2,3;4,2];b=[100,120];vlb=[0,0];vub=[][x,lam]=lp(c,A,b,vlb,vub)Z=c*x输出结果x=20.000020.0000lam=0.50001.250000Z=-200例题输入方法c=[-5,4,2];A=[6,-1,1;1,2,4];b=[8,10];vlb=[-1,0,0];vub=[3,2];[x,lam]=lp(c,A,b,vlb,vub)Z=c
4、*x输出结果x=1.333300lam=0.8333003.16672.833300Z=-6.6667例4求解二次规划二次规划的MATLAB命令x=qp(H,c,A,b)x=qp(H,c,A,b,v1)x=qp(H,c,A,b,v1,v2)x=qp(H,c,A,b,v1,v2,x0)x=qp(H,c,A,b,v1,v2,x0,ne)x=qp(H,c,A,b,v1,v2,x0,ne,dis)[x,lam]=lp(H,c,A,b,…)[x,lam,how]=lp(H,c,A,b…)minq(x)=1/2xTHx+cTxs.t.Ax≤bv1,v2
5、为给出x的下界和上界,v1,v2的维数k可以小于x的维数,这时v1,v2表示x的前k个分量的下界和上界;x0表示初始解;ne等式约束的个数,将等式约束置于不等式约束前面。Dis控制警告信息,dis=-1时不显示警告信息当某些参数省缺时,需用[]占位lag拉格朗日乘子,how错误信息命令说明例题输入方法H=[1,-1;-1,2];c=[-2,-6];A=[1,1;-1,2;2,1];b=[2;2;3];[x,l]=qp(H,c,A,b,zeros(2,1))输出结果x=0.66671.3333l=3.11110.4444000例题输入方法H=
6、[2,0;0,2];c=[-4,0];A=[-1,1;1,-1];b=[2;-1];X=qp(H,c,A,b,zeros(2,1))输出结果X=0.50001.5000非线性规划非线性规划无约束问题模型基本的程序名.m文件无约束极小(非线性规划)非线性最小二乘约束极小(非线性规划)非负线性最小二乘约束线性最小二乘主要功能控制参数options功能功能省缺值及含义说明(opt=optins)0,无中间结果Opt(1)=1,有中间结果输出Opt(1)=-1,给出警告信息输出形式解x(k)的精度用opt(2)设置x(k)的精度函数f(k)的精度用
7、opt(3)设置f(k)的精度函数值输出opt(8)输出结束时的函数值主要算法0,BFGS法;1,DFP法用opt(6)选择函数计算次数opt(10)输出函数计算次数等式约束0,等式约束个数为0opt(13)输出等式约束个数例1求的近似值使用命令x=fmin(‘f1’,x1,x2),求函数f1在区间x18、g(x))/exp(x)',0,1)输出结果ans=0.52228834066617观察中间结果;将解和函数值的精度提高到10-8,给出迭代次数及结果的函数值。编写程序funct