《MATLAB优化工具箱》PPT课件.ppt
《《MATLAB优化工具箱》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《MATLAB优化工具箱》PPT课件.ppt(32页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、线性规划的线性规划的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)min z =cxs.t. Axbv1 ,v2 为给出为给出x的下界和上界,的下界和上界,v1 ,v2的维的维数数k可以小于可以小于x的维数,这时的维数,这时v1 ,v2 表示表示x的前的前k个分量的下界和上界;个分量的下界和上界;x0 表示初始解;表示初始解;n
2、e 等式约束的个数,将等式约束置于等式约束的个数,将等式约束置于不等式约束前面。不等式约束前面。当某些参数省缺时,需用当某些参数省缺时,需用 占位占位dis 控制警告信息,控制警告信息,dis=-1,不显示不显示lag 拉格朗日乘子拉格朗日乘子,how 给出错误信息给出错误信息命令命令说明说明例例1 求解求解 max z = 3x1+x2s.t. x1+x2 2 x12x2 2 3x1+2x2 14 x1,x20输入方法输入方法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 = 4 1z = 1
3、3 例题例题输入方法输入方法输出结果输出结果例例2 求解求解 min z = x1+x2s.t. x1x2 1 x1 0c=1,1;A=1,-1;b=1;v1=0;x=lp(c,A,b,v1)z=-c*x x = 0 -1z = 1例例3 求解求解0,120210032. .46min21212121xxxxxxtsxxz 例题例题输入方法输入方法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.0000 20.0000lam = 0.5000 1.2500 0 0Z = -20
4、0 例题例题输入方法输入方法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*x输出结果输出结果x = 1.3333 0 0lam = 0.8333 0 0 3.1667 2.8333 0 0Z = -6.66670021104286. .245min321321321321xxxxxxxxxtsxxx例例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,x
5、0)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)min q(x)=1/2xTHx+cTx s.t. Axbv1 ,v2 为给出为给出x的下界和上界,的下界和上界,v1 ,v2的的维数维数k可以小于可以小于x的维数,这时的维数,这时v1 ,v2 表示表示x的前的前k个分量的下界和上界;个分量的下界和上界;x0 表示初始解;表示初始解;ne 等式约束的个数,将等式约束置等式约束的个数,将等式约束置于不等式约束前面。于不等式约束前面。Dis控制警告信控制警告
6、信息息,dis=-1时不显示警告信息时不显示警告信息当某些参数省缺时,需用当某些参数省缺时,需用 占位占位lag 拉格朗日乘子拉格朗日乘子, how 错误信息错误信息命令命令说明说明 例题例题221122121212121211min( )2622. . 2 22 23 ,0f xxx xxxxstxxxxxxx x输入方法输入方法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.6667 1.3333l = 3.1111 0.4444 0 0 0 例题例题0,0102. .4)(
7、min21212112221xxxxxxtsxxxxf输入方法输入方法H=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.5000 1.5000问题问题模型模型基本的程序名基本的程序名.m文件文件无约束极小无约束极小(非线性规划)(非线性规划)非线性最小二乘非线性最小二乘约束极小约束极小(非线性规划)(非线性规划)非负线性最小非负线性最小二乘二乘约束线性最小约束线性最小二乘二乘Rxxf),(minnRxxf),(min)2, 1, min(xxffx )0, f(fmins)0, f(fminuxxx
8、x)(function xff )(function xff )(function xff )()(minxfxfT)0, f(curvefit)0, f(leastsqxxxx0)(. .),(minxgtsRxxfn)0, f(constrxx )(fgf,functionx0 . .minxtsbAxdxtsbAxC . .min),(nnlsbAx ),(conlsdcbAx 功能功能省缺值及含义省缺值及含义说明(说明(opt=optins)0,无中间结果,无中间结果Opt(1)=1,有中间结果输出有中间结果输出Opt(1)=-1,给出警告信息给出警告信息输出形式输出形式解解x(k)的
9、精度的精度4)()()1(1exxxkkk用用opt(2)设置设置x(k)的精度的精度函数函数f(k)的精度的精度4)()()1(1efffkkk用用opt(3)设置设置f(k)的精度的精度函数值输出函数值输出opt(8)输出结束时的函数值输出结束时的函数值主要算法主要算法0,BFGS法法;1,DFP法法 用用opt(6)选择选择函数计算次数函数计算次数opt(10)输出函数计算次数输出函数计算次数等式约束等式约束0,等式约束个数为,等式约束个数为0opt(13)输出等式约束个数输出等式约束个数例例1 求求 的近似值的近似值使用命令使用命令x=fmin(f1,x1,x2) ,求函数,求函数f1
10、在区间在区间x1xx2上最小值上最小值fmin(cos,3,4)执行程序执行程序输出结果输出结果ans = 3.14159480185141例例2 计算函数式计算函数式(x3+cos(x)+xlog(x)/ex 在在(0,1)范围内的最小值范围内的最小值执行程序执行程序fmin(x3+cos(x)+x*log(x)/exp(x),0,1)输出结果输出结果ans = 0.522288340666171,10,min22babxax例观察中间结果;将解和函数值的精度提观察中间结果;将解和函数值的精度提高到高到108,给出迭代次数及结果的函数值。,给出迭代次数及结果的函数值。编写程序编写程序func
11、tion y=f1(x)a=10;b=1;y=x(1)2/a+x(2)2/b;使用命令使用命令x=fminu(f1,x0) ,x=fminu(f1,x0,opt)执行程序执行程序x0=1,1; %初始值初始值x=fminu(f1,x0),%BFGS(拟牛顿法拟牛顿法)输出结果输出结果无中间结果无中间结果x = 1.0e-007 * 0.0431 -0.2708执行程序执行程序x0=1,1; %初始值初始值x=fmins(f1,x0)%简单搜索法简单搜索法.输出结果输出结果x = 1.0e-004 * 0.2618 -0.0797f-COUNT FUNCTION STEP-SIZE GRAD/S
12、D 4 1.1 0.544554 -4.04 9 0.0809191 0.504496 -2.67e-008 15 7.35327e-016 4.95545 -2.27e-009x = 1.0e-007 * 0.0431 -0.2708x0=1,1; %初始值初始值opt(1)=1;%输出中间结果输出中间结果x=fminu(f1,x0,opt)提高精度提高精度108,不输出中间结果,只给出迭代次数和结果各函数值,不输出中间结果,只给出迭代次数和结果各函数值执行执行程序程序输出结果输出结果输出中间结果输出中间结果执执行行程程序序输输出出结结果果x0=1,1; opt(2)=1e-8;opt(3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB优化工具箱 MATLAB 优化 工具箱 PPT 课件
限制150内