(完整版)钢管下料问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
钢管下料问题
某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出,从钢管厂进货时得到的原
料钢管都是19m。
(1) 现在一客户需要50根4m、20根6m和15根8m的钢管。应如何下料最节省?
(2) 零售商如果采用的不同切割模式太多,将会导致生产过程的复杂化,从而增加生产和管
理成本,所以该零售商规定采用的不同切割模式不能超过3种。此外,该客户除需要(1) 中的三种钢管外,还需要10根5m的钢管。应如何下料最节省。
问题(1)分析与模型建立
首先分析1根19m的钢管切割为4m、6m、8m的钢管的模式,所有模式相当于求解不等式方程:
4k1 6k2 8k3 19
的整数解。但要求剩余材料r 19 (4k1 6k2 8k3) 4。
容易得到所有模式见表1。
表1钢管切割模式
决策变量用X i表示按照第i种模式(i=1,2,…,7)切割的原料钢管的根数。
以切割原料钢管的总根数最少为目标,则有
min z x1 x2X3 X4 X5 X6 X7
约束条件为满足客户的需求,4米长的钢管至少50根,有
4x-| 3X22X3X6X750
6米长的钢管至少20根,有
X2 3X5 X6 2x720
8米长的钢管至少15根,有
X3 2X4 X6 15
因此模型为:
min z x-i x2 x3 x4 X5 x6 x7
4x1 3x2 2x3 x6 x7 50
x2 3x5 x6 2x7 20
s.t.
x3 2x4 x6 15
X取整,i 1,2,L ,7
解得:
x1 0,x2 12,x3 0,x4 0,x5 0, x6 15,x7 0 目标值z=27 。
即12根钢管采用切割模式2:3根4m, 1根6m,余料1m。
15根钢管采用切割模式6: 1根4m , 1根6m , 1根8m,余料1m。切割模式只采用了2
种,余料为27m,使用钢管27根。
LINGO 程序:
model:
sets:
model/1..7/:x;
endsets
min=x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7); 4*x(1)+3*x(2)+2*x(3)+x(6)+x(7)>=50;
x(2)+3*x(5)+x(6)+2*x(7)>=20;
x(3)+2*x(4)+x(6)>=15; @for(model(i):@gin(x(i)));
end
问题( 2)模型建立
首先分析 1 根19m 的钢管切割为4m、6m、8m、5m 的钢管的模式,所有模式相当于求解不等式方程:
4k1 6k2 8k3 5k4 19
的整数解。但要求剩余材料r 19 (4k1 6k2 8k3) 4 。
利用Matlab 程序求出所有模式见表2。
求出所有模式的Matlab 程序:
number=0;
for k1=0:4
for k2=0:3
for k3=0:2
for k4=0:3
r=19-(4*k1+6*k2+8*k3+5*k4);
if(r>=0)&(r<4)
number=number+1;
fprintf('%2d %2d %2d %2d %2d %2d\n',number,k1,k2,k3,k4,r);
end
end
end
end
end
决策变量用x i表示按照第i种模式(i=1,2,…,16)切割的原料钢管的根
数。
决策目标以切割原料钢管的总根数最少为目标,则有
min z2
16
X i i 1
设第i种切割模式下4米长的钢管a i根,6米长的钢管b根,8米长的钢管C i根,5米长的钢管d i根。则约束条件有:
为满足客户的需求,4米长的钢管至少50根,有
16
a i X i 50
i 1
6米长的钢管至少20根,有
16
bx 20
i 1
8米长的钢管至少15根,有
16
c i x i 15 i1
5 米长的钢管至少10 根,有
16
d i x i 10 i1
为实现最多使用3种切割模式,增设0-1变量y i,i 1,2,L ,16。
1,表示使用第当y i 0时,x i 0 ,表示不使用第i 种切割模式;当y i 1时,x i
i 种切割模式。因此有:
x i y i ,x i M .y i ,i 1,2, L ,16
其中M 足够大,如这里取100。
16
y i 3
i1
因此模型为:
16
min z x i
i1
16
a i x i 50
i1
16
b i x i 20
i1
16
c i x i 15
i1
16
d i x i 10
s.t. i 1
x i M.y i ,i 1,2,L ,16
x i y i, i 1,2,L ,16
16
y i 3
i1
x取整,i 1,2,L ,16
y 0或1,i 1,2,L ,16
M 足大
解得:
当所用钢管z 最少时,求得的解为:
x2 8,x13 10, x15 10 ,其余为0。