《MATLAB优化工具箱》PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c=[1,1];A=[1,-1];b=1; v1=0;x=lp(c,A,b,v1) z=-c*x
输出结果
x= 4 1
z= 13 输出结果
x =[ 0 -1] z= 1
例题
例3 求解
min z 6x1 4x2 s.t.2x1 3x2 100 x1 2x2 120 x1, x2 0
[x,lam]=lp(H,c,A,b, …) 当某些参数省缺时,需用[ ] 占位
[x,lam,how]=lp(H,c,A,b…) lag 拉格朗日乘子, how 错误信息
例题
min
f
wenku.baidu.com
(x)
1 2
x12
x1x2
1 2
x22
2x1
6x2
s.t. x1 x2 2
x1 2x2 2
x0 表示初始解;
ne 等式约束的个数,将等式约束置于 不等式约束前面。
x=lp(c,A,b,v1,v2,x0,ne,dis) 当某些参数省缺时,需用[ ] 占位
[x,lag]=lp(c,A,b, …)
dis 控制警告信息,dis=-1,不显示
[x,lag,how]=lp(c,A,b…) lag 拉格朗日乘子,how 给出错误信息
线性规划的MATLAB命令
min z =cx
命令
s.t. Ax≦b 说明
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)
v1 ,v2 为给出x的下界和上界,v1 ,v2的维 数k可以小于x的维数,这时v1 ,v2 表示x 的前k个分量的下界和上界;
s.t.6x1 x2 x3 8
x1 2x2 4x3 10
x1 1
2 x2 0
x3 0
lam =
输出结果
0.8333
x=
0 0
1.3333
3.1667
0
2.8333 0
0
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
例题
输入方法
min f (x) x12 x22 4x1 s.t.x1 x2 2 0 x1 x2 1 0 x1, x2 0
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))
Z= -6.6667
二次规划的MATLAB命令
min q(x)=1/2xTHx+cTx
命令
s.t. Ax≤b
说明
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)
2x1 x2 3 x1, x2 0
输入方法
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.3333
l= 3.1111 0.4444 0 0 0
输出结果
X= 0.5000 1.5000
问题
模型
基本的程序名
.m文件
无约束极小 min f (x), x R x f min(' f ', x1, x2)function f f (x)
(非线性规划)
min
f (x), x Rn
x fminu ('f ', x0) function
x fmins ('f ', x0)
f f (x)
非线性最小二乘
min f T (x) f (x)
x x
leastsq ('f curvefit ('
f',',xx00)f)unction
f f (x)
约束极小
(非线性规划)
min f (x), x Rn s.t.g(x) 0
输入方法
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.0000
lam =
0.5000 1.2500
0 0
Z= -200
例题
例4 求解
min 5x1 4x2 2x3
x constr ('f ', x0)function[
f, g] f (x)
非负线性最小
二乘
约束线性最小
二乘
min Ax b s.t. x 0
min Ax b s.t. Cx d
x nnls (A,b) x conls (A,b,c, d)
功能
省缺值及含义
说明(opt=optins)
例题
例1 求解 max z = 3x1+x2 s.t. -x1+x2 ≤ 2
x1-2x2 ≤ 2 3x1+2x2 ≤ 14 x1,x2≥0 例题
例2 求解 min z = x1+x2 s.t. x1-x2 ≤1 x1 ≥ 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(k)的精度 函数f(k)的精度
0,无中间结果
Opt(1)=1,有中间结果输出 Opt(1)=-1,给出警告信息
x (k 1) x (k ) 1e4
x(k)
用opt(2)设置x(k)的精度
f (k 1) f (k ) 1e4
v1 ,v2 为给出x的下界和上界,v1 ,v2的 维数k可以小于x的维数,这时v1 ,v2 表示x的前k个分量的下界和上界;
x0 表示初始解;
ne 等式约束的个数,将等式约束置 于不等式约束前面。Dis控制警告信
x=qp(H,c,A,b,v1,v2,x0,ne,dis) 息,dis=-1时不显示警告信息
输出结果
x= 4 1
z= 13 输出结果
x =[ 0 -1] z= 1
例题
例3 求解
min z 6x1 4x2 s.t.2x1 3x2 100 x1 2x2 120 x1, x2 0
[x,lam]=lp(H,c,A,b, …) 当某些参数省缺时,需用[ ] 占位
[x,lam,how]=lp(H,c,A,b…) lag 拉格朗日乘子, how 错误信息
例题
min
f
wenku.baidu.com
(x)
1 2
x12
x1x2
1 2
x22
2x1
6x2
s.t. x1 x2 2
x1 2x2 2
x0 表示初始解;
ne 等式约束的个数,将等式约束置于 不等式约束前面。
x=lp(c,A,b,v1,v2,x0,ne,dis) 当某些参数省缺时,需用[ ] 占位
[x,lag]=lp(c,A,b, …)
dis 控制警告信息,dis=-1,不显示
[x,lag,how]=lp(c,A,b…) lag 拉格朗日乘子,how 给出错误信息
线性规划的MATLAB命令
min z =cx
命令
s.t. Ax≦b 说明
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)
v1 ,v2 为给出x的下界和上界,v1 ,v2的维 数k可以小于x的维数,这时v1 ,v2 表示x 的前k个分量的下界和上界;
s.t.6x1 x2 x3 8
x1 2x2 4x3 10
x1 1
2 x2 0
x3 0
lam =
输出结果
0.8333
x=
0 0
1.3333
3.1667
0
2.8333 0
0
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
例题
输入方法
min f (x) x12 x22 4x1 s.t.x1 x2 2 0 x1 x2 1 0 x1, x2 0
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))
Z= -6.6667
二次规划的MATLAB命令
min q(x)=1/2xTHx+cTx
命令
s.t. Ax≤b
说明
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)
2x1 x2 3 x1, x2 0
输入方法
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.3333
l= 3.1111 0.4444 0 0 0
输出结果
X= 0.5000 1.5000
问题
模型
基本的程序名
.m文件
无约束极小 min f (x), x R x f min(' f ', x1, x2)function f f (x)
(非线性规划)
min
f (x), x Rn
x fminu ('f ', x0) function
x fmins ('f ', x0)
f f (x)
非线性最小二乘
min f T (x) f (x)
x x
leastsq ('f curvefit ('
f',',xx00)f)unction
f f (x)
约束极小
(非线性规划)
min f (x), x Rn s.t.g(x) 0
输入方法
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.0000
lam =
0.5000 1.2500
0 0
Z= -200
例题
例4 求解
min 5x1 4x2 2x3
x constr ('f ', x0)function[
f, g] f (x)
非负线性最小
二乘
约束线性最小
二乘
min Ax b s.t. x 0
min Ax b s.t. Cx d
x nnls (A,b) x conls (A,b,c, d)
功能
省缺值及含义
说明(opt=optins)
例题
例1 求解 max z = 3x1+x2 s.t. -x1+x2 ≤ 2
x1-2x2 ≤ 2 3x1+2x2 ≤ 14 x1,x2≥0 例题
例2 求解 min z = x1+x2 s.t. x1-x2 ≤1 x1 ≥ 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(k)的精度 函数f(k)的精度
0,无中间结果
Opt(1)=1,有中间结果输出 Opt(1)=-1,给出警告信息
x (k 1) x (k ) 1e4
x(k)
用opt(2)设置x(k)的精度
f (k 1) f (k ) 1e4
v1 ,v2 为给出x的下界和上界,v1 ,v2的 维数k可以小于x的维数,这时v1 ,v2 表示x的前k个分量的下界和上界;
x0 表示初始解;
ne 等式约束的个数,将等式约束置 于不等式约束前面。Dis控制警告信
x=qp(H,c,A,b,v1,v2,x0,ne,dis) 息,dis=-1时不显示警告信息