第四章数学规划模型
4.1 奶制品的生产与销售
4.2自来水输送与货机装运
4.3汽车生产与原油采购
4.4接力队选拔和选课策略
4.5饮料厂的生产与检修
4.6 钢管和易拉罐下料
数学规划模型
mixgts
xxxxfzMaxMin
i
T
n
L
L
,2,1,0)(..
),(),()(
1
=≤
==或
实际问题中
的优化模型
g
i
(x)≤0~约束条件
x~决策变量f(x)~目标函数
决策变量个数n和
约束条件个数m较大
数
学
规
划
线性规划
非线性规划
整数规划
多元函数
条件极值
最优解在可行域
的边界上取得
重点在模型的建立和结果的分析
4.1 奶制品的生产与销售
企业生产计划空间层次
工厂级:根据外部需求和内部设备、人力、原料等
条件,以最大利润为目标制订产品生产计划;
车间级:根据生产计划、工艺流程、资源约束及费
用参数等,以最小成本为目标制订生产批量计划。
时间层次
若短时间内外部需求和内部资源等不随时间变化,可
制订单阶段生产计划,否则应制订多阶段生产计划。
本节课题
§1 奶制品的生产与销售
例1 加工奶制品的生产计划
1桶
牛奶
3公斤A
1
12小时
8小时
4公斤A
2
或
获利24元/公斤
获利16元/公斤
50桶牛奶时间480小时至多加工100公斤A
1
每天:
制订生产计划,使每天获利最大
? 35元可买到1桶牛奶,买吗?若买,每天最多买多少?
?可聘用临时工人,付出的工资最多是每小时几元?
? A
1
的获利增加到30元/公斤,应否改变生产计划?
1桶
牛奶
3公斤A
1
12小时
8小时
4公斤A
2
或
获利24元/公斤
获利16元/公斤
时间480小时50桶牛奶
每天
至多加工100公斤A
1
x
1
桶牛奶生产A
1
x
2
桶牛奶生产A
2
决策变量
获利24×3x
1
获利16×4 x
2目标函数
21
6472 xxzMax +=
每天获利
线性
规划
模型
(LP)
50
21
≤+ xx
原料供应
480812
21
≤+ xx
1003
1
≤x
0,
21
≥xx
劳动时间
约束条件
加工能力
非负约束
线性规划模型
模型分析与假设
A
1
,A
2
每公斤的获利是与各
自产量无关的常数
x
i
对目标函数的“贡
献”与x
i
取值成正比
比
例
性
每桶牛奶加工出A
1
,A
2
的数
量和时间是与各自产量无
关的常数
x
i
对约束条件的“贡
献”与x
i
取值成正比
x
i
对目标函数的“贡
献”与x
j
取值无关
A
1
,A
2
每公斤的获利是与相
互产量无关的常数
可
加
性
每桶牛奶加工出A
1
,A
2
的数
量和时间是与相互产量无
关的常数
x
i
对约束条件的“贡
献”与x
j
取值无关
加工A
1
,A
2
的牛奶桶数是实数
x
i
取值连续
连续性
x
1
x
2
0
A
B
C
D
l
1
l
2
l
3
l
4
l
5
50
21
≤+ xx
480812
21
≤+ xx
1003
1
≤x
0,
21
≥xx
约
束
条
件
50:
211
=+ xxl
480812:
212
=+ xxl
1003:
13
=xl
0:,0:
2514
== xlxl
21
6472 xxzMax +=
Z=0
Z=2400
Z=3600
c
在B(20,30)点得到最优解
模型求解
图解法
目标
函数
z=c (常数) ~等值线
目标函数和约束条件是线性函数
最优解一定在凸多边
形的某个顶点取得
可行域为直线段围成的凸多边形
目标函数的等值线为直线
模型求解软件实现
LINDO 6.1
max 72x1+64x2
st
2)x1+x2<50
3)12x1+8x2<480
4)3x1<100
end
OBJECTIVE FUNCTION VALUE
1) 3360.000
VARIABLE VALUE REDUCED COST
X1 20.000000 0.000000
X2 30.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 48.000000
3) 0.000000 2.000000
4) 40.000000 0.000000
NO. ITERATIONS= 2
DO RANGE
(SENSITIVITY)
ANALYSIS?
No
20桶牛奶生产A
1
, 30桶生产A
2
,利润3360元。
结果解释
OBJECTIVE FUNCTION VALUE
1) 3360.000
VARIABLE VALUE REDUCED COST
X1 20.000000 0.000000
X2 30.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 48.000000
3) 0.000000 2.000000
4) 40.000000 0.000000
NO. ITERATIONS= 2
max 72x1+64x2
st
2)x1+x2<50
3)12x1+8x2<480
4)3x1<100
end
三
种
资
源
原料无剩余
时间无剩余
加工能力剩余40
“资源”剩余为零的约束为紧约束(有效约束)
OBJECTIVE FUNCTION VALUE
1) 3360.000
VARIABLE VALUE REDUCED COST
X1 20.000000 0.000000
X2 30.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 48.000000
3) 0.000000 2.000000
4) 40.000000 0.000000
NO. ITERATIONS= 2
结果解释
最优解下“资源”增加1
单位时“效益”的增量
影子价格
原料增加1单位, 利润增长48
时间增加1单位, 利润增长2
加工能力增长不影响利润
35 <48, 应该买!
? 35元可买到1桶牛奶,要买吗
2元!?聘用临时工人付出的工资最多每小时几元
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X1 72.000000 24.000000 8.000000
X2 64.000000 8.000000 16.000000
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 50.000000 10.000000 6.666667
3 480.000000 53.333332 80.000000
4 100.000000 INFINITY 40.000000
Yes
DO RANGE(SENSITIVITY) ANALYSIS?
最优解不变时目标函
数系数允许变化范围
(约束条件不变)
x
1
系数范围(64,96)
x
2
系数范围(48,72)
x
1
系数由24 ×3=72
增加为30×3=90,
在允许范围内
不变!
? A
1
获利增加到30元/公斤,应否改变生产计划
结果解释
影子价格有意义时约束右端的允许变化范围
(目标函数不变)
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X1 72.000000 24.000000 8.000000
X2 64.000000 8.000000 16.000000
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 50.000000 10.000000 6.666667
3 480.000000 53.333332 80.000000
4 100.000000 INFINITY 40.000000
原料最多增加10
时间最多增加53
最多买10桶!
? 35元可买到1桶牛奶,每天最多买多少
例2 奶制品的生产销售计划
在例1基础上深加工
1桶
牛奶
3公斤A
1
12小时
8小时
4公斤A
2
或
获利24元/公斤
获利16元/公斤
0.8公斤B
1
2小时,3元
1公斤
获利44元/公斤
0.75公斤B
2
2小时,3元
1公斤
获利32元/公斤
50桶牛奶, 480小时
至多100公斤A
1制订生产计划,使每天净利润最大
? 30元可增加1桶牛奶,3元可增加1小时时间,应否投
资?现投资150元,可赚回多少?
? B
1
,B
2
的获利经常有10%的波动,对计划有无影响?
1桶
牛奶
3kg A
1
12小时
8小时
4kg A
2
或
获利24元/kg
获利16元/kg
0.8kg B
1
2小时,3元
1kg
获利44元/kg
0.75kg B
2
2小时,3元
1kg
获利32元/kg
出售x
1
kg A
1
, x
2
kg A
2
,
x
3
kg B
1
, x
4
kg B
2
决策
变量
x
5
kg A
1
加工B
1
,x
6
kg A
2
加工B
2
目标
函数
654321
3332441624 xxxxxxzMax ??+++=
利润
非负约束
0,
61
≥xxL
50
43
6251
≤
+
+
+ xxxx
48022
)(2)(4
65
6251
≤++
+++
xx
xxxx
100
51
≤+ xx
附加约束
53
80 x.x =
64
750 x.x =
加工能力原料
供应
约束
条件
劳动
时间
模型求解
软件实现
LINDO 6.1
50
43
)2
6251
≤
+
+
+ xxxx
48022
)(2)(4)3
65
6251
≤++
+++
xx
xxxx
OBJECTIVE FUNCTION VALUE
1) 3460.800
VARIABLE VALUE REDUCED COST
X1 0.000000 1.680000
X2 168.000000 0.000000
X3 19.200001 0.000000
X4 0.000000 0.000000
X5 24.000000 0.000000
X6 0.000000 1.520000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 3.160000
3) 0.000000 3.260000
4) 76.000000 0.000000
5) 0.000000 44.000000
6) 0.000000 32.000000
NO. ITERATIONS= 2
600334)2
6521
≤+++ xxxx 4
4804624)3
6521
≤+++ xxxx
DO RANGE
(SENSITIVITY)
ANALYSIS? No
OBJECTIVE FUNCTION VALUE
1) 3460.800
VARIABLE VALUE REDUCED COST
X1 0.000000 1.680000
X2 168.000000 0.000000
X3 19.200001 0.000000
X4 0.000000 0.000000
X5 24.000000 0.000000
X6 0.000000 1.520000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 3.160000
3) 0.000000 3.260000
4) 76.000000 0.000000
5) 0.000000 44.000000
6) 0.000000 32.000000
NO. ITERATIONS= 2
结果解释
每天销售168 kgA
2
和
19.2 kgB
1
,
利润3460.8(元)
8桶牛奶加工成A
1
,42桶
牛奶加工成A
2
,
将得到的24kgA
1
全部加
工成B
1
除加工能力外均
为紧约束
结果解释
OBJECTIVE FUNCTION VALUE
1) 3460.800
VARIABLE VALUE REDUCED COST
X1 0.000000 1.680000
X2 168.000000 0.000000
X3 19.200001 0.000000
X4 0.000000 0.000000
X5 24.000000 0.000000
X6 0.000000 1.520000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 3.160000
3) 0.000000 3.260000
4) 76.000000 0.000000
5) 0.000000 44.000000
6) 0.000000 32.000000
30元可增加1桶牛奶,3元可增加1小时时间,
应否投资?现投资150元,可赚回多少?
50
43
)2
6251
≤
+
+
+ xxxx
600334)2
6521
≤+++ xxxx 4
增加1桶牛奶使利润增
长3.16×12=37.92
增加1小时时间使利
润增长3.26
投资150元增加5桶牛奶,
可赚回189.6元。(大于
增加时间的利润增长)
结果解释
B
1
,B
2
的获利有10%的波动,对计划有无影响
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X1 24.000000 1.680000 INFINITY
X2 16.000000 8.150000 2.100000
X3 44.000000 19.750002 3.166667
X4 32.000000 2.026667 INFINITY
X5 -3.000000 15.800000 2.533334
X6 -3.000000 1.520000 INFINITY
…… ……
DO RANGE
(SENSITIVITY)
ANALYSIS? Yes
B
1
获利下降10%,超
出X3 系数允许范围
B
2
获利上升10%,超
出X4 系数允许范围
波动对计划有影响
生产计划应重新制订:如将x
3
的系数改为39.6
计算,会发现结果有很大变化。
4.2自来水输送与货机装运
运输问题
生产、生活物资从若干供应点运送到一些需求点,
怎样安排输送方案使运费最小,或利润最大;
各种类型的货物装箱,由于受体积、重量等限制,
如何搭配装载,使获利最高,或装箱数量最少。
其他费用:450元/千吨
元/千吨
甲乙丙丁
A 160 130 220 170
B 140 130 190 150
C 190 200 230 /
引水管理费
例1自来水输送
收入:900元/千吨
A:50
B:60
C:50
甲:30;50
乙:70;70
丙:10;20
丁:10;40
水
库
供
水
量
(
千
吨
)
小
区
基
本
用
水
量
(
千
吨
)
小
区
额
外
用
水
量
(
千
吨
)
以天计
支出
?应如何分配水库供水量,公司才能获利最多?
?若水库供水量都提高一倍,公司利润可增加到多少?
A:50
B:60
C:50
甲:30;50
乙:70;70
丙:10;20
丁:10;40
问题
分析
< 总需求量:120+180=300
总供水量:160
总收入900×160=144,000(元) 收入:900元/千吨
支出引水管理费
其他费用:450元/千吨其他支出450×160=72,000(元)
使引水管理费最小确定送水方案使利润最大
模型建立
确定3个水库向4个小区的供水量
水库i 向j 区的日供水量为x
ij
(x
34
=0)
决策变量
50
14131211
=+++ xxxx
50
60
333231
24232221
=++
=+++
xxx
xxxx
33323124232221
14131211
230200190150190130140
170220130160
xxxxxxx
xxxxZMin
+++++++
+++=
目标
函数
供应
限制
线性
规划
模型
(LP)
约束
条件
8030
312111
≤++≤ xxx
14070
322212
≤++≤ xxx
3010
332313
≤++≤ xxx
5010
2414
≤+≤ xx
需求
限制
模型求解
OBJECTIVE FUNCTION VALUE
1) 24400.00
VARIABLE VALUE REDUCED COST
X11 0.000000 30.000000
X12 50.000000 0.000000
X13 0.000000 50.000000
X14 0.000000 20.000000
X21 0.000000 10.000000
X22 50.000000 0.000000
X23 0.000000 20.000000
X24 10.000000 0.000000
X31 40.000000 0.000000
X32 0.000000 10.000000
X33 10.000000 0.000000
A(50)
B(60)
C(50)
甲(30;50)
乙(70;70)
丙(10;20)
丁(10;40)
50
50
40
10
10
引水管理费24400(元)
利润=总收入-其它费
用-引水管理费
=144000-72000-24400
= 47600(元)
每个水库最大供水量都提高一倍
问题讨论
总供水量(320) > 总需求量(300)
确定送水方案使利润最大
利润= 收入(900) –其它费用(450) –引水管理费
利润(元/千吨)
甲乙丙丁
A 290 320 230 280
B 310 320 260 300
C 260 250 220 /
33323124232221
14131211
220250260300260320310
280230320290
xxxxxxx
xxxxZMax
+++++++
+++=
目标
函数
100
14131211
≤+++ xxxx
50:
14131211
=+++ xxxxA
供应
限制
B, C 类似处理需求约束可以不变
求解
OBJECTIVE FUNCTION VALUE
1) 88700.00
VARIABLE VALUE REDUCED COST
X11 0.000000 20.000000
X12 100.000000 0.000000
X13 0.000000 40.000000
X14 0.000000 20.000000
X21 30.000000 0.000000
X22 40.000000 0.000000
X23 0.000000 10.000000
X24 50.000000 0.000000
X31 50.000000 0.000000
X32 0.000000 20.000000
X33 30.000000 0.000000
A(100)
B(120)
C(100)
甲(30;50)
乙(70;70)
丙(10;20)
丁(10;40)
40
100
50
30
50
30
总利润88700(元)
这类问题一般称为
“运输问题”
(Transportation
Problem)
三个货舱最大载重(吨),最大容积(米
3
)
例2 货机装运
前仓:
10;6800
中仓:
16;8700
后仓:
8;5300
飞机平衡
三个货舱中实际载重必须与其最大载重成比例
重量
(吨)
空间( 米
3
/
吨)
利润(元/
吨)
货物1 18 480 3100
货物2 15 650 3800
货物3 23 580 3500
货物4 12 390 2850
如何装运,
使本次飞行
获利最大?
模型假设
货机装运
每种货物可以分割到任意小;
每种货物可以在一个或多个货舱中任意分布;
多种货物可以混装,并保证不留空隙;
所给出的数据都是精确的,没有误差。
模型建立
x
ij
--第i 种货物装入第j 个货舱的重量(吨)
i=1,2,3,4, j=1,2,3 (分别代表前、中、后仓)
决策
变量
货机装运
模型建立
x
ij
--第i 种货物装入第j 个货舱的重量
)(2850)(3500
)(3800)(3100
434241333231
232221131211
xxxxxx
xxxxxxZMax
++++++
+++++=
目标
函数
(利润)
10
41312111
≤+++ xxxx
16
42322212
≤+++ xxxx
8
43332313
≤+++ xxxx
10;
6800
16;
8700
8;
5300
货舱
重量
约束
条件
6800390580650480
41312111
≤+++ xxxx
8700390580650480
42322212
≤+++ xxxx
5300390580650480
43332313
≤+++ xxxx
货舱
容积
模型建立
货机装运
x
ij
--第i 种货物装入第j 个货舱的重量
8
16
10
43332313
42322212
41312111
xxxx
xxxx
xxxx
+++
=
+++
=
+++
10;
6800
16;
8700
8;
5300
平衡
要求
约束
条件
货物
供应
18
131211
≤++ xxx
15
232221
≤++ xxx
23
333231
≤++ xxx
12
434241
≤++ xxx
模型求解
货机装运
OBJECTIVE FUNCTION VALUE
1) 121515.8
VARIABLE VALUE REDUCED COST
X11 0.000000 400.000000
X12 0.000000 57.894737
X13 0.000000 400.000000
X21 10.000000 0.000000
X22 0.000000 239.473679
X23 5.000000 0.000000
X31 0.000000 0.000000
X32 12.947369 0.000000
X33 3.000000 0.000000
X41 0.000000 650.000000
X42 3.052632 0.000000
X43 0.000000 650.000000
货物2:前仓10,后仓
5;货物3: 中仓13, 后
仓3;货物4: 中仓3。
最大利润约121516元
运输
问题
货物~供应点
货舱~需求点
平衡要求
运输问题的扩展
4.3汽车生产与原油采购
例1 汽车厂生产计划
汽车厂生产三种类型的汽车,已知各类型每辆车对
钢材、劳动时间的需求,利润及工厂每月的现有量
小型中型大型现有量
钢材(吨)1.5 3 5 600
劳动时间(小时)280 250 400 60000
利润(万元)2 3 4
?制订月生产计划,使工厂的利润最大。
?如果生产某一类型汽车,则至少要生产80辆,那么
最优的生产计划应作何改变?
汽车厂生产计划
小型中型大型现有量
钢材1.5 3 5 600
时间280 250 400 60000
利润2 3 4
模型建立
设每月生产小、中、大型
汽车的数量分别为x
1
, x
2
, x
3
321
432 xxxzMax ++=
600535.1..
321
≤++ xxxts
60000400250280
321
≤++ xxx
0,,
321
≥xxx
线性
规划
模型
(LP)
模型
求解
OBJECTIVE FUNCTION VALUE
1) 632.2581
VARIABLE VALUE REDUCED COST
X1 64.516129 0.000000
X2 167.741928 0.000000
X3 0.000000 0.946237
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.731183
3) 0.000000 0.003226
结果为小数,
怎么办?
1)舍去小数:取x
1
=64,x
2
=167,算出目标函数值z=629,与
LP最优值632.2581相差不大。
2)试探:如取x
1
=65,x
2
=167;x
1
=64,x
2
=168等,计算函数
值z,通过比较可能得到更优的解。
?但必须检验它们是否满足约束条件。为什么?
3)模型中增加条件:x
1
, x
2
, x
3
均为整数,重新求解。
整数规划(Integer Programming,简记IP)
模型求解
IP可用LINDO直接求解
321
432 xxxzMax ++=
600535.1..
321
≤++ xxxts
60000400250280
321
≤++ xxx
为非负整数
321
,, xxx
max 2x1+3x2+4x3
st
1.5x1+3x2+5x3<600
280x1+250x2+400x3<60000
end
gin 3
IP 结果输出
“gin 3”表示“前3个变量为
整数”,等价于:
gin x1
gin x2
gin x3
OBJECTIVE FUNCTION VALUE
1) 632.0000
VARIABLE VALUE REDUCED COST
X1 64.000000 -2.000000
X2 168.000000 -3.000000
X3 0.000000 -4.000000
IP 的最优解x
1
=64,x
2
=168,x
3
=0,最优值z=632
汽车厂生产计划
?若生产某类汽车,则至少生产80辆,求生产计划。
321
432 xxxzMax ++=
600535.1..
321
≤++ xxxts
60000400250280
321
≤++ xxx
x
1
,x
2,
, x
3
=0 或≥80
80,0,0
321
≥== xxx
0,80,0
321
=≥= xxx
×
80,80,0
321
≥≥= xxx
0,0,80
321
==≥ xxx
方法1:分解为8个LP子模型0,80,80
321
=≥≥ xxx
80,0,80
321
≥=≥ xxx
80,80,80
321
≥≥≥ xxx
0,,
321
=xxx
其中3个子模型应去掉,然后
逐一求解,比较目标函数值,
再加上整数约束,得最优解:
×
×
x
1
=80,x
2
= 150,x
3
=0,最优值z=610
?若生产某类汽车,则至少生产80辆,求生产计划。
方法2:引入0-1变量,化为整数规划
}1,0{,80,
11111
∈≥≤ yyxMyx
x
1
=0 或≥80
M为大的正
数,可取1000
x
2
=0 或≥80
x
3
=0 或≥80
}1,0{,80,
22222
∈≥≤ yyxMyx
}1,0{,80,
33333
∈≥≤ yyxMyx
OBJECTIVE FUNCTION VALUE
1) 610.0000
VARIABLE VALUE REDUCED COST
X1 80.000000 -2.000000
X2 150.000000 -3.000000
X3 0.000000 -4.000000
Y1 1.000000 0.000000
Y2 1.000000 0.000000
Y3 0.000000 0.000000
LINDO中对0-
1变量的限定:
int y1
int y2
int y3
最优解同前
?若生产某类汽车,则至少生产80辆,求生产计划。
方法3:化为非线性规划
0)80(
11
≥?xx
x
1
=0 或≥80
0)80(
22
≥?xx
0)80(
33
≥?xx
x
2
=0 或≥80
x
3
=0 或≥80
非线性规划(Non- Linear Programming,简记NLP)
NLP虽然可用现成的数学软件求解(如LINGO,
MATLAB),但是其结果常依赖于初值的选择。
实践表明,本例仅当初值非常接近上面方法算出
的最优解时,才能得到正确的结果。
例2 原油采购与加工
库存500吨
库存1000吨
汽油甲
(A≥50%)
原油A
原油B
汽油乙
(A≥60%)
售价4800元/吨
售价5600元/吨
市场上可买到不超过1500吨的原油A:
?购买量不超过500吨时的单价为10000元/吨;
?购买量超过500吨但不超过1000吨时,超过500吨的
部分8000元/吨;
?购买量超过1000吨时,超过1000吨的部分6000元/吨。
应如何安排原油的采购和加工?
问题
分析
?利润:销售汽油的收入-购买原油A的支出
?难点:原油A的购价与购买量的关系较复杂
决策
变量
目标
函数
)()(6.5)(8.4
22122111
xcxxxxzMax ?+++=
甲(A≥50%)
A
B
乙(A≥60%)
购买x→
x
11
x
12
x
21
x
22
4.8千元/吨
5.6千元/吨
原油A的购买量,原油A, B生产汽油甲,乙的数量
c(x) ~ 购买原油A的支出
利润(千元)
c(x)如何表述?
? x≤ 500吨单价为10千元/吨;
? 500吨≤ x≤ 1000吨,超过500吨的8千元/吨;
?1000吨≤ x≤ 1500吨,超过1000吨的6千元/吨。
目标
函数
?
?
?
?
?
≤≤+
≤≤+
≤≤
=
500)1(1000 30006
1000)(500 1000 8
500)(0 10
)(
xx
xx
xx
xc
约束
条件
原油供应
购买x↓
A
B
x
11
x
12
x
21
x
22
库存500吨
库存1000吨
xxx +≤+ 500
1211
1000
2221
≤+ xx
1500≤x
汽油含原油A
的比例限制
约束
条件
甲(A≥50%)
A
B
乙(A≥60%)
x
11
x
12
x
21
x
22
5.0
2111
11
≥
+ xx
x
2111
xx ≥?
6.0
2212
12
≥
+ xx
x
2212
32 xx ≥?
?目标函数中c(x)不是线性函数,是非线性规划;
?对于用分段函数定义的c(x),一般的非线性规划软
件也难以输入和求解;
?想办法将模型化简,用现成的软件求解。
方法1
模型求解
x
1
, x
2
, x
3
~以价格10, 8, 6(千元/吨)采购A的吨数
x= x
1
+x
2
+x
3
, c(x) = 10x
1
+8x
2
+6x
3
目标
函数
)6810()(6.5)(8.4
32122122111
xxxxxxxzMax ++?+++=
? 500吨≤ x≤ 1000吨,超过500吨的8千元/吨
只有当以10千元/吨的价格购买x
1
=500(吨)时,才能以8
千元/吨的价格购买x
2
增加约束
0)500(
21
=? xx
500,,0
321
≤≤ xxx0)500(
32
=? xx
非线性规划模型,可以用LINGO求解
方法1:LINGO求解
Model:
Max= 4.8*x11 + 4.8*x21 + 5.6*x12
+ 5.6*x22 - 10*x1 - 8*x2 - 6*x3;
x11+x12 < x + 500;
x21+x22 < 1000;
x11 - x21 > 0;
2*x12 - 3*x22 > 0;
x=x1+x2+x3;
(x1 - 500) * x2=0;
(x2 - 500) * x3=0;
x1 < 500;
x2 < 500;
x3 < 500;
x > 0;
x11 > 0;
x12 > 0;
x21 > 0;
x22 > 0;
x1 > 0;
x2 > 0;
x3 > 0;
end
Objective value: 4800.000
Variable Value Reduced Cost
X11 500.0000 0.0000000E+00
X21 500.0000 0.0000000E+00
X12 0.0000000E+00 0.0000000E+00
X22 0.0000000E+00 0.0000000E+00
X1 0.1021405E-13 10.00000
X2 0.0000000E+00 8.000000
X3 0.0000000E+00 6.000000
X 0.0000000E+00 0.0000000E+00
用库存的500吨原油A、500吨原油B
生产汽油甲,不购买新的原油A,
利润为4,800千元。
LINGO得到的是局部最优解,还
能得到更好的解吗?
y
1
, y
2
, y
3
=1 ~以价格10, 8, 6(千元/吨)采购A
方法2
增
加
约
束
112
500500 yxy ≤≤
33
500yx ≤
223
500500 yxy ≤≤
x
1
, x
2
, x
3
~以价格10, 8, 6(千元/吨)采购A的吨数
y=0 → x=0
x>0 → y=1y
1
,y
2
,y
3
=0或1
OBJECTIVE FUNCTION VALUE
1) 5000.000
VARIABLE VALUE REDUCED
COST
Y1 1.000000 0.000000
Y2 1.000000 2200.000000
Y3 1.000000 1200.000000
X11 0.000000 0.800000
X21 0.000000 0.800000
X12 1500.000000 0.000000
X22 1000.000000 0.000000
X1 500.000000 0.000000
X2 500.000000 0.000000
X3 0.000000 0.400000
X 1000.000000 0.000000
0-1线性规划模型,可
用LINDO求解
购买1000吨原油A,与
库存的500吨原油A和
1000吨原油B一起,生
产汽油乙,利润为5,000
千元。
优于方法1的结果
直接处理处理分段线性函数c(x)
方法3
c(x)
x
12000
9000
5000
0
500
1000
1500
?
?
?
?
?
≤≤+
≤≤+
≤≤
=
500)1(1000 30006
1000)(500 1000 8
500)(0 10
)(
xx
xx
xx
xc
b
1
≤ x≤b
2
,x= z
1
b
1
+z
2
b
2
,
z
1
+z
2
=1,z
1
, z
2
≥0,
c(x)= z
1
c(b
1
)+z
2
c(b
2
).
b
1
b
2
b
3
b
4
b
2
≤ x≤ b
3
,x= z
2
b
2
+z
3
b
3
,
z
2
+z
3
=1,z
2
, z
3
≥ 0,
c(x)= z
2
c(b
2
)+z
3
c(b
3
).
b
3
≤ x≤ b
4
,x= z
3
b
3
+z
4
b
4
,
z
3
+z
4
=1,z
3
, z
4
≥ 0,
c(x)= z
3
c(b
3
)+z
4
c(b
4
).
IP模型,LINDO求
解,得到的结果与
方法2相同.
44332211
bzbzbzbzx +++=
)()()()()(
44332211
bczbczbczbczxc +++=
3432321211
,,, yzyyzyyzyz ≤+≤+≤≤
)4,3,2,1(0,1
4321
=≥=+++ kzzzzz
k
10,,,1
321321
或==++ yyyyyy
c(x)
x
12000
9000
5000
0
500
1000
1500
b
1
b
2
b
3
b
4
对于k=1,2,3
方法3
b
k
≤x≤b
k+1
,x= z
k
b
k
+z
k+1
b
k+1
z
k
+z
k+1
=1,z
k
, z
k+1
≥0,
c(x)= z
k
c(b
k
)+z
k+1
c(b
k+1
).
b
k
≤x≤b
k+1
→y
k
=1,否则,y
k
=0
处理分段线性函数,方法3更具一般性
4.4接力队选拔和选课策略
分派问题
若干项任务分给一些候选人来完成,每人的专长不同,
完成每项任务取得的效益或需要的资源就不同,如何分
派任务使获得的总效益最大,或付出的总资源最少。
若干种策略供选择,不同的策略得到的收益或付出的
成本不同,各个策略之间有相互制约关系,如何在满
足一定条件下作出抉择,使得收益最大或成本最小。
例1 混合泳接力队的选拔
5名候选人的百米成绩
甲乙丙丁戊
蝶泳
1’06”8 57”2 1’18” 1’10” 1’07”4
仰泳
1’15”6 1’06” 1’07”8 1’14”2 1’11”
蛙泳
1’27” 1’06”4 1’24”6 1’09”6 1’23”8
自由泳
58”6 53” 59”4 57”2 1’02”4
如何选拔队员组成4×100米混合泳接力队?
丁的蛙泳成绩退步到1’15”2;戊的自由泳成绩进
步到57”5, 组成接力队的方案是否应该调整?
穷举法:组成接力队的方案共有5!=120种。
0-1规划模型
c
ij
(秒)~队员i第j 种泳姿的百米成绩
c
ij
i=1 i=2 i=3 i=4 i=5
j=1 66.8 57.2 78 70 67.4
j=2 75.6 66 67.8 74.2 71
j=3 87 66.4 84.6 69.6 83.8
j=4 58.6 53 59.4 57.2 62.4
若选择队员i参加泳姿j 的比赛,记x
ij
=1, 否则记x
ij
=0
∑∑
==
=
4
1
5
1ji
ijij
xcZMin
目标
函数
每人最多入选泳姿之一
每种泳姿有且只有1人
约束
条件
5,1,1
4
1
L=≤
∑
=
ix
j
ij
4,1,1
5
1
L==
∑
=
jx
i
ij
输入LINDO求解
模型求解
最优解:x
14
= x
21
= x
32
=
x
43
= 1, 其它变量为0;
成绩为253.2(秒)=4’13”2
MIN 66.8x11+75.6x12+87x13+58.6x14
+… …
+67.4x51+71 x52+83.8x53+62.4x54
SUBJECT TO
x11+x12+x13+x14 <=1
……
x41+x42+x43+x44 <=1
x11+x21+x31+x41+x51 =1
……
x14+x24+x34+x44+x54 =1
END
INT 20
甲~ 自由泳、乙~ 蝶泳、
丙~ 仰泳、丁~ 蛙泳.
甲乙丙丁戊
蝶泳
1’06”8 57”2 1’18” 1’10” 1’07”4
仰泳
1’15”6 1’06” 1’07”8 1’14”2 1’11”
蛙泳
1’27” 1’06”4 1’24”6 1’09”6 1’23”8
自由泳
58”6 53” 59”4 57”2 1’02”4
丁蛙泳c
43
=69.6→75.2,戊自由泳c
54
=62.4 →
57.5, 方案是否调整?
敏感性分析?
讨论
IP规划一般没有与LP规划相类似的理论,LINDO
输出的敏感性分析结果通常是没有意义的。
c
43
, c
54
的新数据重新输入模型,用LINDO求解
最优解:x
21
= x
32
= x
43
= x
51
= 1, 成绩为4’17”7
甲~ 自由泳、乙~ 蝶泳、
丙~ 仰泳、丁~ 蛙泳.
原
方
案
乙~ 蝶泳、丙~ 仰泳、
丁~ 蛙泳、戊~ 自由泳
指派(Assignment)问题:每项任务有且只有一人承担,
每人只能承担一项,效益不同,怎样分派使总效益最大.
例2 选课策略
课号课名学分所属类别先修课要求
1
微积分
5
数学
2
线性代数
4
数学
3
最优化方法
4
数学;运筹学微积分;线性代数
4
数据结构
3
数学;计算机计算机编程
5
应用统计
4
数学;运筹学微积分;线性代数
6
计算机模拟
3
计算机;运筹学计算机编程
7
计算机编程
2
计算机
8
预测理论
2
运筹学应用统计
9
数学实验
3
运筹学;计算机微积分;线性代数
要求至少选两门数学课、三门运筹学课和两门计算机课
为了选修课程门数最少,应学习哪些课程?
选修课程最少,且学分尽量多,应学习哪些课程?
0-1规划模型
决策变量
∑
=
=
9
1i
i
xZMin
2
54321
≥++++ xxxxx
课号课名所属类别
1
微积分数学
2
线性代数数学
3
最优化方法数学;运筹学
4
数据结构数学;计算机
5
应用统计数学;运筹学
6
计算机模拟计算机;运筹学
7
计算机编程计算机
8
预测理论运筹学
9
数学实验运筹学;计算机
x
i
=1 ~选修课号i 的
课程(x
i
=0 ~不选)
目标函数
选修课程总数最少
最少2门数学课、
3门运筹学课、
2门计算机课。
3
98653
≥++++ xxxxx
约束条件
2
9764
≥+++ xxxx
0-1规划模型
约束条件
?
?
?
?
?
?
课号课名先修课要求
1
微积分
2
线性代数
3
最优化方法微积分;线性代数
4
数据结构计算机编程
5
应用统计微积分;线性代数
6
计算机模拟计算机编程
7
计算机编程
8
预测理论应用统计
9
数学实验微积分;线性代数
先修课程要求
x
3
=1必有x
1
= x
2
=1
2313
, xxxx ≤≤
02
213
≤?? xxx
74
xx ≤ 0
74
≤? xx
02
215
≤?? xxx
0
76
≤? xx
模型求解(LINDO)
0
58
≤? xx
最优解:x
1
= x
2
= x
3
= x
6
= x
7
= x
9
=1, 其它为0;6门课程,总学分21 02
219
≤?? xxx
讨论:选修课程最少,学分尽量多,应学习哪些课程?
学分最多
课程最少
9876
54321
3223
43445
xxxx
xxxxxWMax
++++
++++=
∑
=
=
9
1i
i
xZMin
},{ WZMin ?
两目标(多目标)规划
多目标优化的处理方法:化成单目标优化。
最优解如上,6门课
程,总学分21 。
?以课程最少为目标,不
管学分多少。
最优解显然是选修所
有9门课程。
?以学分最多为目标,不
管课程多少。
多目标规划
增加约束,
以学分最多为目标求解。
6
9
1
=
∑
=i
i
x
?在课程最少的前提下
以学分最多为目标。
课号课名学分
1
微积分
5
2
线性代数
4
3
最优化方法
4
4
数据结构
3
5
应用统计
4
6
计算机模拟
3
7
计算机编程
2
8
预测理论
2
9
数学实验
3
?
?
?
?
?
?
?
?
?
?
?
?
最优解:x
1
= x
2
= x
3
= x
5
= x
7
= x
9
=1, 其它为0;总
学分由21增至22。
注意:最优解不唯一!
可将x
9
=1 易为x
6
=1
LINDO无法告诉优化
问题的解是否唯一。
多目标规划
?对学分数和课程数加权形成一个目标,如三七开。
WZWZYMin 3.07.0
21
?=?= λλ
∑
=
=
9
1i
i
xZ
课号课名学分
1
微积分
5
2
线性代数
4
3
最优化方法
4
4
数据结构
3
5
应用统计
4
6
计算机模拟
3
7
计算机编程
2
8
预测理论
2
9
数学实验
3
?
?
?
?
?
?
?
?
9876
54321
3223
43445
xxxx
xxxxxW
++++
++++=
最优解:x
1
= x
2
= x
3
= x
4
= x
5
= x
6
= x
7
= x
9
=1,
其它为0;总学分28。
多目标规划讨论与思考
1,0,1
2121
≤≤=+ λλλλWZYMin
21
λλ ?=
∑
=
=
9
1i
i
xZ
9876
54321
3223
43445
xxxx
xxxxxW
++++
++++=
3/2
1
<λ
最优解与λ
1
=0,λ
2
=1的结果相同——学分最多
4/3
1
>λ
最优解与λ
1
=1,λ
2
=0的结果相同——课程最少
4.5饮料厂的生产与检修
?企业生产计划
单阶段生产计划
多阶段生产计划
外部需求和内部
资源随时间变化
?生产批量问题
考虑与产量无关的固定费用
给优化模型求解带来新的困难
例1饮料厂的生产与检修计划
某种饮料4周的需求量、生产能力和成本
周次
需求量(千箱)生产能力(千箱)成本(千元/千箱)
1 15 30 5.0
2 25 40 5.1
3 35 45 5.4
4 25 20 5.5
合计
100 135
存贮费:每周每千箱饮料0.2 (千元)。
?安排生产计划, 满足每周的需求, 使4周总费用最小。
?在4周内安排一次设备检修,占用当周15千箱生产能
力,能使检修后每周增产5千箱,检修应排在哪一周?
?除第4周外每周的生产
能力超过每周的需求;
?生产成本逐周上升;
?前几周应多生产一些。
周次需求能力
1 15 30
2 25 40
3 35 45
4 25 20
合计
100 135
成本
5.0
5.1
5.4
5.5
问题分析
?饮料厂在第1周开始时没有库存;
?从费用最小考虑, 第4周末不能有库存;
?周末有库存时需支出一周的存贮费;
?每周末的库存量等于下周初的库存量。
模
型
假
设
模型建立
决策变量
周次需求能力
1 15 30
2 25 40
3 35 45
4 25 20
成本
5.0
5.1
5.4
5.5
x
1
~ x
4
:第1~4周的生产量
y
1
~ y
3
:第1~3周末库存量
存贮费:0.2 (千元/周?千箱)
目标
函数
)(2.05.54.51.50.5
3214321
yyyxxxxzMin ++++++=
产量、库存与需求平衡能力限制
约束
条件
15
11
=? yx
20,45
40,30
43
21
≤≤
≤≤
xx
xx
25
212
=?+ yyx
35
323
=?+ yyx
25
34
=+ yx
非负限制
0,,,,,,
3214321
≥yyyxxxx
LINDO求解模型求解
最优解:x
1
~ x
4
:15,40,25,20;
y
1
~ y
3
:0,15,5 .
周次需求能力
1 15 30
2 25 40
3 35 45
4 25 20
成本
5.0
5.1
5.4
5.5
产量
15
40
25
20
库存
0
15
5
0
4周生产计划的总费用为528 (千元)
检修计划
?在4周内安排一次设备检修,占用当周15千箱生产能力,能使
检修后每周增产5千箱,检修应排在哪一周?
周次需求能力
1 15 30
2 25 40
3 35 45
4 25 20
成本
5.0
5.1
5.4
5.5
检修安排在任一周均可
0-1变量w
t
:w
t
=1~ 检修安排
在第t周(t=1,2,3,4)
3015
11
≤+ wx
20
45
40
30
4
3
2
1
≤
≤
≤
≤
x
x
x
x
约束条件
能
力
限
制
122
54015 wwx +≤+
产量、库存
与需求平衡
条件不变
1233
554515 wwwx ++≤+
32144
5552015 wwwwx +++≤+
检修计划
目标函数不变
0-1变量w
t
:w
t
=1~ 检修
安排在第t周(t=1,2,3,4)
增加约束条件:检修1次
1
4321
=+++ wwww
LINDO求解
最优解:w
1
=1, w
2
, w
3
, w
4
=0;
x
1
~ x
4
:15,45,15,25;
y
1
~ y
3
:0,20,0 .
总费用由528降为527(千元)
检修所导致的生产能力提高的作用,
需要更长的时间才能得到充分体现。
例2 饮料的生产批量问题
饮料厂使用同一条生产线轮流生产多种饮料。
若某周开工生产某种饮料, 需支出生产准备费8千元。
某种饮料4周的需求量、生产能力和成本
周次
需求量(千箱)生产能力(千箱)成本(千元/千箱)
1 15 30 5.0
2 25 40 5.1
3 35 45 5.4
4 25 20 5.5
合计
100 135
存贮费:每周每千箱饮料0.2 (千元)。
?安排生产计划, 满足每周的需求, 使4周总费用最小。
假设初始库存为0
生产批量问题的一般提法
c
t
~时段t 生产费用(元/件);
h
t
~时段t (末)库存费(元/件);
s
t
~时段t 生产准备费(元);
d
t
~时段t 市场需求(件);
M
t
~时段t 生产能力(件)。
制订生产计划, 满
足需求,并使T个时
段的总费用最小。
)( min
1
ttttt
T
t
t
yhxcwsz ++=
∑
=
目标
决策变量
x
t
~时段t 生产量;
y
t
~时段t (末)库存量;
w
t
=1 ~时段t 开工生产
(w
t
=0 ~不开工)。
tttt
dyxy =?+
?1
0,,0
0
≥==
ttT
yxyy
tt
t
t
t
Mx
x
x
w ≤
?
?
?
=
>
=
,0,0
,0,1
约束
生产批量问题的一般提法
tttt
dyxyts =?+
?1
..
)( min
1
ttttt
T
t
t
yhxcwsz ++=
∑
=
Tt
yxyy
ttT
L,2,1
0,,0
0
=
≥==
tt
t
t
t
Mx
x
x
w ≤
?
?
?
=
>
=
,0,0
,0,1
0≤?
ttt
wMx
混合0-1规划模型
将所给参数代入模型,用LINDO求解
最优解:x
1
~ x
4
:15,40,45,0;总费用:554.0(千元)
§6 钢管和易拉罐下料
原料下料问题
生产中通过切割、剪裁、冲压等
手段,将原材料加工成所需大小
按照工艺要求,确定下料方案,
使所用材料最省,或利润最大
例1钢管下料
原料钢管:每根19米
客户需求
4米50根6米20根
8米15根
问题1. 如何下料最节省?
节省的标准是什么?
5米10根问题2. 客户增加需求:
由于采用不同切割模式太多,会增加生产和管理成
本,规定切割模式不能超过3种。如何下料最节省?
钢管下料
切割模式
按照客户需要在一根原料钢管上安排切割的一种组合。
余料1米
4米1根6米1根
8米1根
余料3米4米1根6米1根
6米1根
余料3米8米1根
8米1根
合理切割模式的余料应小于客户需要钢管的最小尺寸
合理切割模式钢管下料问题1
模式4米钢管根数6米钢管根数8米钢管根数余料(米)
1 4 0 0 3
2 3 1 0 1
3 2 0 1 3
4 1 2 0 3
5 1 1 1 1
6 0 3 0 1
7 0 0 2 3
为满足客户需要,按照哪些种合理模式,每种模式
切割多少根原料钢管,最为节省?
1. 原料钢管剩余总余量最小两种
标准
2. 所用原料钢管总根数最少
决策
变量
x
i
~按第i 种模式切割的原料钢管根数(i=1,2,…7)
76543211
3333 xxxxxxxZMin ++++++=
目标1(总余量)
模
式
4米
根数
6米
根数
8米
根数
余
料
1 4 0 0 3
2 3 1 0 1
3 2 0 1 3
4 1 2 0 3
5 1 1 1 1
6 0 3 0 1
7 0 0 2 3
需
求
50 20 15
约束满足需求
50234
54321
≥++++ xxxxx
2032
6542
≥+++ xxxx
152
753
≥++ xxx
整数约束:x
i
为整数
最优解:x
2
=12, x
5
=15,
其余为0;
最优值:27。
按模式2切割12根,按模式5切割15根,余料27米
钢管下料问题1
76543212
xxxxxxxZMin ++++++=目标2(总根数)
50234
54321
≥++++ xxxxx
2032
6542
≥+++ xxxx
152
753
≥++ xxx
x
i
为整数
最优解:x
2
=15,
x
5
=5, x
7
=5,
其余为0;
最优值:25。
约束条
件不变
按模式2切割15根,
按模式5切割5根,
按模式7切割5根,
共25根,余料35米
与目标1的结果“共切割
27根,余料27米”相比
虽余料增加8米,但减少了2根
当余料没有用处时,通常以总根数最少为目标
钢管下料问题2
增加一种需求:5米10根;切割模式不超过3种。
现有4种需求:4米50根,5米10根,6米20根,8米
15根,用枚举法确定合理切割模式,过于复杂。
对大规模问题,用模型的约束条件界定合理模式
决策变量
x
i
~按第i 种模式切割的原料钢管根数(i=1,2,3)
r
1i
, r
2i
, r
3i
, r
4i
~ 第i 种切割模式下,每根原料钢管
生产4米、5米、6米和8米长的钢管的数量
钢管下料问题2
321
xxxMin ++
目标函数(总根数)
模式合理:每根
余料不超过3米
约束
条件
满足需求
50
313212111
≥++ xrxrxr
19865416
41312111
≤+++≤ rrrr
19865416
42322212
≤+++≤ rrrr
19865416
43332313
≤+++≤ rrrr
10
323222121
≥++ xrxrxr
20
333232131
≥++ xrxrxr
15
343242141
≥++ xrxrxr
整数约束:x
i
,r
1i
, r
2i
,
r
3i
, r
4i
(i=1,2,3)为整数
整数非线性规划模型
钢管下料问题2
增加约束,缩小可行域,便于求解
需求:4米50根,5米10
根,6米20根,8米15根
每根原料钢管长19米
26
19
158206105504
=
?
?
?
?
?
?
×+×+×+×
原料钢管总根数下界:
特殊生产计划:对每根原料钢管
模式1:切割成4根4米钢管,需13根;
模式2:切割成1根5米和2根6米钢管,需10根;
模式3:切割成2根8米钢管,需8根。
原料钢管总根数上界:13+10+8=31
3126
321
≤++≤ xxx
321
xxx ≥≥
模式排列顺序可任定
LINGO求解整数非线性规划模型
Local optimal solution found at
iteration: 12211
Objective value: 28.00000
Variable Value Reduced Cost
X1 10.00000 0.000000
X2 10.00000 2.000000
X3 8.000000 1.000000
R11 3.000000 0.000000
R12 2.000000 0.000000
R13 0.000000 0.000000
R21 0.000000 0.000000
R22 1.000000 0.000000
R23 0.000000 0.000000
R31 1.000000 0.000000
R32 0.000000
R33 0.000000 0.000000
R41 0.000000 0.000000
R42
R43 2.000000 0.000000
模式3:每根原料钢管切割成2
根8米钢管,共8根。
原料钢管总根数为28根。
模式1:每根原料钢管切割成3
根4米和1根6米钢管,共10根;
模式2:每根原料钢管切割成2
根4米、1根5米和1根6米钢管,
共10根;
1.000000
0.000000 0.000000
例2 易拉罐下料
模式1:1.5秒
模式2:2秒
模式3:1秒
板材规格1:
正方形,边长
24cm,5万张。
板材规格2:
长方形,
32×28cm,
2万张。
模式4:3秒
罐身高10cm,
上盖、下底直
径均5cm。
上盖
下底
罐
身
每周工作40小时,每只易拉罐利润0.10元,原料余料损失0.001元
/ cm
2
(不能装配的罐身、盖、底也是余料)
如何安排每周的生
产?
问题分析计算各种模式下的余料损失
模式1:
正方形
边长24cm
上、下底直径d=5cm,
罐身高h=10cm。
模式1 余料损失24
2
-10×πd
2
/4 - πdh=222.6 cm
2
罐身个数底、盖
个数
余料损失
(cm
2
)
冲压时间
(秒)
模式1 1 10 222.6 1.5
模式2 2 4 183.3 2
模式3 0 16 261.8 1
模式4 4 5 169.5 3
问题分析
目标:易拉罐利润扣除原料余料损失后的净利润最大
注意:不能装配的罐身、上下底也是余料
约束:每周工作时间不超过40小时;
原料数量:规格1(模式1 ~3)5万张,
规格2(模式4)2万张;
罐身和底、盖的配套组装。
x
i
~ 按照第i 种模式的生产张数(i=1,2,3,4);
y
1
~ 一周生产的易拉罐个数;
y
2
~ 不配套的罐身个数;
y
3
~ 不配套的底、盖个数。
模型建立
决策
变量
y
1
~ 易拉罐个数;y
2
~ 不配套的罐身;
y
3
~ 不配套的底、盖。
模型建立
每只易拉罐利润0.10元,
余料损失0.001元/ cm
2
产量余料时间
x
1
222.6 1.5
x
2
183.3 2
x
3
261.8 1
x
4
169.5 3
罐身面积πdh=157.1 cm
2
底盖面积πd
2
/4=19.6 cm
2
)6.191.1575.1698.261
3.1836.222(001.01.0
3243
211
yyxx
xxyMax
++++
+?
目标
144000325.1
4321
≤+++ xxxx
(40小时)
时间约束
约束
条件
20000
4
≤x
,50000
321
≤++ xxx原料约束
y
1
~ 易拉罐个数;y
2
~ 不配套的罐身;
y
3
~ 不配套的底、盖。
约束
条件
罐身底、盖
1 10
2 4
0 16
4 5
产量
x
1
x
2
x
3
x
4
配套约束
14212
42 yxxxy ?++=
143213
2516410 yxxxxy ?+++=
}2/)516410(,42min{
43214211
xxxxxxxy +++++=
,42
4211
xxxy ++≤ 2/)516410(
43211
xxxxy +++≤
虽然x
i
和y
1
,y
2
,y
3
应是整数,但是因生产量很大,
可以把它们看成实数,从而用线性规划模型处理。
模型求解
LINDO发出警告信息:“数据之间的数量级差别太
大,建议进行预处理,缩小数据之间的差别”
将所有决策变量扩大10000倍(x
i
~万张,y
i
~万件)
,4.14325.1
4321
≤+++ xxxx ,5
321
≤++ xxx 2
4
≤x
模式2生产40125张,
模式3生产3750张,
模式4生产20000张,
共产易拉罐160250个
(罐身和底、盖无剩余),
净利润为4298元
OBJECTIVE FUNCTION VALUE
1) 0.4298337
VARIABLE VALUE REDUCED COST
Y1 16.025000 0.000000
X1 0.000000 0.000050
X2 4.012500 0.000000
X3 0.375000 0.000000
X4 2.000000 0.000000
Y2 0.000000 0.223331
Y3 0.000000 0.036484
下料问题的建模
?确定下料模式?构造优化模型
一维问题(如钢管下料)
规格不太多,可枚举下料模式,建立整数线性规划模
型,否则要构造整数非线性规划模型,求解困难,可用
缩小可行域的方法进行化简,但要保证最优解的存在。
二维问题(如易拉罐下料)
具体问题具体分析(比较复杂)