数学建模MATLAB之线性规划
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
命令:x=linprog(c, A, b)
2. 模型:min z=cX
s.t. AX b Aeq X beq
命令:x=linprog(c,A,b,Aeq,beq)
注意:若没有不等式:AX b 存在,则令A=[ ],b=[ ].
3. 模型:min z=cX
s.t. AX b Aeq X beq
8 8
25 15
x1 x2
1800 1800
x1 0, x2 0
线性规划模型: min z 40x1 36x2
5x1 3x2 45
s.t.
x1 x2
9 15
x1 0, x2 0
返回 解答
线性规划模型的一般形式
目标函数和所有的约束条件都是设计变量 的线性函数.
n
min u cixi i1
例 1 max
s.t.
z 0.4x1 0.28 x2 0.32 x3 0.72 x4 0.64 x5 0.6x6 0.01x1 0.01x2 0.01x3 0.03x4 0.03x5 0.03x6 850 0.02 x1 0.05x4 700 0.02 x2 0.05 x5 100 0.03x3 0.08 x6 900 x j 0 j 1, 2, , 6
问题一 : 任务分配问题:某车间有甲、乙两台机床,可用
于加工三种工件.假定这两台车床的可用台时数分别为800和 900,三种工件的数量分别为400、600和500,且已知用三种 不同车床加工单位数量不同工件所需的台时数和加工费用如 下表.问怎样分配车床的加工任务,才能既满足加工工件的要 求,又使加工费用最低?
车床 类型
甲
单位工件所需加工台时数 工件 1 工件 2 工件 3
0.4
1.1
1.0
单位工件的加工费用 工件 1 工件 2 工件 3
13
9
10
可用台 时数
800
乙
0.5
1.2
1.3
11
12
8
900
解 设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,
在乙车床上加工工件1、2、3的数量分别为x4、x5、x6,可建立以 下线性规划模型:
n
s.t.
k
1
aik xk
bi ,i
1, 2,..., n.
xi 0,i 1, 2,..., n.
矩阵形式:
min u cx
s.t.
Ax b vlb x
vub
优化模型的分类
实际问题中 min(或 max) z f (x), x (x1, , x n )T
的优化模型
s.t. gi (x) 0, i 1, 2, , m
解 编写M文件xxgh1.m如下:
c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6];
A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08];
b=[850;700;100;900]; Aeq=[]; beq=[];
解: 编写M文件xxgh2.m如下:
x1
min z (6
3
4)
x2
x3
s.t.
1
0
1 1
1
0
wenku.baidu.com
x1 x2 x3
120
50
30 0 20
x1 x2 x3
c=[6 3 4];
A=[0 1 0];
b=[50];
Aeq=[1 1 1];
beq=[120]; vlb=[30,0,20];
min z 13x1 9x2 10 x3 11x4 12 x5 8x6
x1 x4 400
x2
x5
600
s.t.
0x3.4x1x6
500 1.1x2
x3
800
0.5
x4
1.2 x5
1.3x6
900
xi 0,i 1, 2, , 6
解答
问题二: 某厂每日8小时的产量不低于1800件.为了进行质量
x是决策变量 f(x)是目标函数 gi(x)0是约束条件
线性规划(LP) 二次规划(QP) 非线性规划(NLP)
数学规划
0-1整数规划 一般整数规划
纯整数规划(PIP) 混合整数规划(MIP)
连续规划
整数规划(IP)
用MATLAB优化工具箱解线性规划
1. 模型: min z=cX
s.t. AX b
To MATLAB (xxgh1)
vlb=[0;0;0;0;0;0]; vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
例 2 min z 6x1 3x2 4x3 s.t. x1 x2 x3 120 x1 30 0 x2 50 x3 20
数学建模与数学实验
线性规划
实验目的
1. 了解线性规划的基本内容. 2. 掌握用数学软件包求解线性规划问题.
实验内容
1. 两个引例. 2. 用数学软件包MATLAB求解线性规划问题. 3. 用数学软件包LINDO、LINGO求解线性规划问题. 4. 建模案例:投资的收益与风险. 5. 实验作业.
两个引例
控制,计划聘请两种不同水平的检验员.一级检验员的标准为: 速度25件/小时,正确率98%,计时工资4元/小时;二级检验员 的标准为:速度15件/小时,正确率95%,计时工资3元/小时.检 验员每错检一次,工厂要损失2元.为使总检验费用最省,该工 厂应聘一级、二级检验员各几名?
解 设需要一级和二级检验员的人数分别为x1、x2人, 则应付检验员的工资为:
VLB≤X≤VUB 命令:[1] x=linprog(c,A,b,Aeq,beq, VLB,VUB)
[2] x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0)
注意:[1] 若没有等式约束: Aeq X beq , 则令Aeq=[ ], beq=[ ].
[2]其中X0表示初始点 4. 命令:[x,fval]=linprog(…) 返回最优解x及x处的目标函数值fval.
8 4 x1 8 3 x2 32x1 24x2
因检验员错检而造成的损失为:
(8 25 2% x1 8 15 5% x2 ) 2 8x1 12x2
故目标函数为:
min z (32x1 24x2) (8x1 12x2 ) 40x1 36x2
约束条件为:
8 25 x1 8 15 x2 1800
2. 模型:min z=cX
s.t. AX b Aeq X beq
命令:x=linprog(c,A,b,Aeq,beq)
注意:若没有不等式:AX b 存在,则令A=[ ],b=[ ].
3. 模型:min z=cX
s.t. AX b Aeq X beq
8 8
25 15
x1 x2
1800 1800
x1 0, x2 0
线性规划模型: min z 40x1 36x2
5x1 3x2 45
s.t.
x1 x2
9 15
x1 0, x2 0
返回 解答
线性规划模型的一般形式
目标函数和所有的约束条件都是设计变量 的线性函数.
n
min u cixi i1
例 1 max
s.t.
z 0.4x1 0.28 x2 0.32 x3 0.72 x4 0.64 x5 0.6x6 0.01x1 0.01x2 0.01x3 0.03x4 0.03x5 0.03x6 850 0.02 x1 0.05x4 700 0.02 x2 0.05 x5 100 0.03x3 0.08 x6 900 x j 0 j 1, 2, , 6
问题一 : 任务分配问题:某车间有甲、乙两台机床,可用
于加工三种工件.假定这两台车床的可用台时数分别为800和 900,三种工件的数量分别为400、600和500,且已知用三种 不同车床加工单位数量不同工件所需的台时数和加工费用如 下表.问怎样分配车床的加工任务,才能既满足加工工件的要 求,又使加工费用最低?
车床 类型
甲
单位工件所需加工台时数 工件 1 工件 2 工件 3
0.4
1.1
1.0
单位工件的加工费用 工件 1 工件 2 工件 3
13
9
10
可用台 时数
800
乙
0.5
1.2
1.3
11
12
8
900
解 设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,
在乙车床上加工工件1、2、3的数量分别为x4、x5、x6,可建立以 下线性规划模型:
n
s.t.
k
1
aik xk
bi ,i
1, 2,..., n.
xi 0,i 1, 2,..., n.
矩阵形式:
min u cx
s.t.
Ax b vlb x
vub
优化模型的分类
实际问题中 min(或 max) z f (x), x (x1, , x n )T
的优化模型
s.t. gi (x) 0, i 1, 2, , m
解 编写M文件xxgh1.m如下:
c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6];
A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08];
b=[850;700;100;900]; Aeq=[]; beq=[];
解: 编写M文件xxgh2.m如下:
x1
min z (6
3
4)
x2
x3
s.t.
1
0
1 1
1
0
wenku.baidu.com
x1 x2 x3
120
50
30 0 20
x1 x2 x3
c=[6 3 4];
A=[0 1 0];
b=[50];
Aeq=[1 1 1];
beq=[120]; vlb=[30,0,20];
min z 13x1 9x2 10 x3 11x4 12 x5 8x6
x1 x4 400
x2
x5
600
s.t.
0x3.4x1x6
500 1.1x2
x3
800
0.5
x4
1.2 x5
1.3x6
900
xi 0,i 1, 2, , 6
解答
问题二: 某厂每日8小时的产量不低于1800件.为了进行质量
x是决策变量 f(x)是目标函数 gi(x)0是约束条件
线性规划(LP) 二次规划(QP) 非线性规划(NLP)
数学规划
0-1整数规划 一般整数规划
纯整数规划(PIP) 混合整数规划(MIP)
连续规划
整数规划(IP)
用MATLAB优化工具箱解线性规划
1. 模型: min z=cX
s.t. AX b
To MATLAB (xxgh1)
vlb=[0;0;0;0;0;0]; vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
例 2 min z 6x1 3x2 4x3 s.t. x1 x2 x3 120 x1 30 0 x2 50 x3 20
数学建模与数学实验
线性规划
实验目的
1. 了解线性规划的基本内容. 2. 掌握用数学软件包求解线性规划问题.
实验内容
1. 两个引例. 2. 用数学软件包MATLAB求解线性规划问题. 3. 用数学软件包LINDO、LINGO求解线性规划问题. 4. 建模案例:投资的收益与风险. 5. 实验作业.
两个引例
控制,计划聘请两种不同水平的检验员.一级检验员的标准为: 速度25件/小时,正确率98%,计时工资4元/小时;二级检验员 的标准为:速度15件/小时,正确率95%,计时工资3元/小时.检 验员每错检一次,工厂要损失2元.为使总检验费用最省,该工 厂应聘一级、二级检验员各几名?
解 设需要一级和二级检验员的人数分别为x1、x2人, 则应付检验员的工资为:
VLB≤X≤VUB 命令:[1] x=linprog(c,A,b,Aeq,beq, VLB,VUB)
[2] x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0)
注意:[1] 若没有等式约束: Aeq X beq , 则令Aeq=[ ], beq=[ ].
[2]其中X0表示初始点 4. 命令:[x,fval]=linprog(…) 返回最优解x及x处的目标函数值fval.
8 4 x1 8 3 x2 32x1 24x2
因检验员错检而造成的损失为:
(8 25 2% x1 8 15 5% x2 ) 2 8x1 12x2
故目标函数为:
min z (32x1 24x2) (8x1 12x2 ) 40x1 36x2
约束条件为:
8 25 x1 8 15 x2 1800