钢管下料程序(书)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

原料下料问题

生产中通过切割、剪裁、冲压等手段,将原材料加工成所需大小。 按照工艺要求,确定下料方案,使所用材料最省,或利润最大。

钢管下料

某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出,从钢管厂进货时得到的原料钢管都是19m 。

(1)现在一客户需要50根4m、20根6m 和15根8m 的钢管,应如何下料最节省?

(2)零售商如果采用的不同切割模式太多,将会导致生产过程的复杂化,从而增加生产和管理成本,所以该零售商规定采用的不同切割模式不能超过3种。此外,该客户除需要(1)中的三种钢管外,还需要10根5m 的钢管,应如何下料最节省?

原料钢管

:每根19米

客户需求(产品):

8米15根

6米20根

问题1. 如何下料最节省 ? 最省的标准是什么?

问题2. 与问题1类似,只是客户增加一种需求:5米10根,且切割模式不超过3种。

由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过3种。如何下料最节省? 切割模式举例:

问题1

第一、计算切割模式的种类:合理切割模式的余料应小于客户需要钢管的最小尺寸。

分析:1根19m 的原料钢管需要切割为4m ,6m ,8m 的钢管产品的所有模式相当于求解不等式:

19

864321≤++k k k

的整数解,但要求剩余材料

()486419321<++-=k k k r

(可以用枚举法确定合理切割模式,当切割种类多时,可由程序去做) 利用Matlab 程序求出的所有模式(见表1)。

number=0;

fprintf('模式 4m 6m 8m 余料\n'); for k1=0:4 for k2=0:3 for k3=0:2

r=19-(4*k1+6*k2+8*k3); if (r>=0)&(r<4) number=number+1;

fprintf('%2d %2d %2d %2d %2d \n',number,k1,k2,k3,r) ; end end end end

输出结果为:

模式 4m 6m 8m 余料 1 0 0 2 3 2 0 3 0 1 3 1 1 1 1 4 1 2 0 3 5 2 0 1 3 6 3 1 0 1 7 4 0 0 3

表1

模式 4米钢管根数

6米钢管根数

8米钢管根数

余料(米)

1 4 0 0 3

2

3 1 0 1 3 2 0 1 3

4 0 0 2 3

5 0 3 0 1

6 1 1 1 1 7

1

2

3

为满足客户需要,按照哪些模式切割,每种模式切割多少根原料钢管,最为节省?节省的标准是什么?

两种标准:1. 切割后原料钢管剩余的总余料量最小

2. 切割原料钢管总根数最少

第二、按两种标准计算问题1的最优值

设按第i 种模式切割的原料钢管的根数为x i 根(i =1,2,…7) 。 目标1(以原料总余料量1Z 最少)

约束条件为:

整数约束:i x 为整数

最优解:x 2 =12, x 6=15, 其余为0; 最优值:=1Z 27。 即按模式2切割12根,按模式6切割15根,余料27米 model:

sets:

model/1..7/:x; endsets min=z1;

z1=3*x(1)+x(2)+3*x(3)+3*x(4)+x(5)+x(6)+3*x(7); z2=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

或用:

7

65432113333m in x x x x x x x Z ++++++=20

237652≥+++x x x x 15

2643≥++x x x 76543212x x x x x x x Z ++++++=5023476321≥++++x x x x x

model: min=z1;

z1=3*x1+x2+3*x3+3*x4+x5+x6+3*x7; z2=x1+x2+x3+x4+x5+x6+x7; 4*x1+3*x2+2*x3+x6+x7>=50; x2+3*x5+x6+2*x7>=20; x3+2*x4+x6>=15; @gin(x1);@gin(x2); @gin(x3);@gin(x4); @gin(x5);@gin(x6); @gin(x7); end

目标2(原料钢管总根数2Z 最少)

76543212m in x x x x x x x z ++++++= 765432113333x x x x x x x z ++++++=

约束条件不变

i x 取整数,

最优解:x 1=5, x 2=5, x 6=15, 其余为0; 最优值:=2z 25。

按模式1切割5根,按模式2切割5根,按模式6切割15根,余料35米 。

model: sets:

model/1..7/:x; endsets min=z2;

z1=3*x(1)+x(2)+3*x(3)+3*x(4)+x(5)+x(6)+3*x(7); z2=x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7);

20237652≥+++x x x x 15

2643≥++x x x 5023476321≥++++x x x x x

相关文档
最新文档