下料问题数学建模钢管.docx

上传人:b****2 文档编号:18015542 上传时间:2023-08-05 格式:DOCX 页数:18 大小:21.45KB
下载 相关 举报
下料问题数学建模钢管.docx_第1页
第1页 / 共18页
下料问题数学建模钢管.docx_第2页
第2页 / 共18页
下料问题数学建模钢管.docx_第3页
第3页 / 共18页
下料问题数学建模钢管.docx_第4页
第4页 / 共18页
下料问题数学建模钢管.docx_第5页
第5页 / 共18页
下料问题数学建模钢管.docx_第6页
第6页 / 共18页
下料问题数学建模钢管.docx_第7页
第7页 / 共18页
下料问题数学建模钢管.docx_第8页
第8页 / 共18页
下料问题数学建模钢管.docx_第9页
第9页 / 共18页
下料问题数学建模钢管.docx_第10页
第10页 / 共18页
下料问题数学建模钢管.docx_第11页
第11页 / 共18页
下料问题数学建模钢管.docx_第12页
第12页 / 共18页
下料问题数学建模钢管.docx_第13页
第13页 / 共18页
下料问题数学建模钢管.docx_第14页
第14页 / 共18页
下料问题数学建模钢管.docx_第15页
第15页 / 共18页
下料问题数学建模钢管.docx_第16页
第16页 / 共18页
下料问题数学建模钢管.docx_第17页
第17页 / 共18页
下料问题数学建模钢管.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

下料问题数学建模钢管.docx

《下料问题数学建模钢管.docx》由会员分享,可在线阅读,更多相关《下料问题数学建模钢管.docx(18页珍藏版)》请在冰点文库上搜索。

下料问题数学建模钢管.docx

下料问题数学建模钢管

防盗窗下料问题

 

摘要

本文针对寻找经济效果最优的钢管下料方案,建立了优化模型。

问题中的圆形管下料设定目标为切割原料圆形管数量尽可能少且在使用一定数量圆形管的过程中使被切割利用过的原料总进价尽可能低。

问题中的方形管原料不足以提供所需截得的所用钢管,故设目标为使截得后剩余方形管总余量最小。

模型的建立过程中,首先运用了C语言程序,利用逐层分析方法,罗列出针对一根钢材的截取模式;然后根据条件得出约束关系,写出函数关系并对圆形管下料建立了线性模型,对方形管下料建立了非线性模型;接着,在对模型按实际情况进行简化后,借助lingo程序对模型求解,得出了模型的最优解,并给出了最符合经济效果最优原则的截取方案。

关键词:

钢管下料;最优化;lingo;

问题提出

某不锈钢装饰公司承接了一住宅小区的防盗窗安装工程,为此购进了一批型号为304的不锈钢管,分为方形管和圆形管两种,方管规格为25×25×1.2(mm),圆管规格Φ19×1.2(mm)。

每种管管长有4米和6米两种,其中4米圆形管5000根,6米圆形管9000根,4米方形管2000根,6米方形管2000根。

根据小区的实际情况,需要截取1.2m圆管8000根,1.5m圆管16500根,1.8m圆管12000根,1.4m方形管6000根,1.7m方形管4200根,3m方形管2800根。

请根据上述的实际情况建立数学模型,寻找经济效果最优的下料方案。

基本假设和符号说明

1、假设钢管切割过程中无原料损耗或损坏;

2、假设余料不可焊接;

3、假设同种钢材可采用的切割模式数量不限;

4、假设不同长度钢管运费、存储资源价值没有区别;

5、假设该304型号不锈钢管未经切割则价值不变,可在其它地方使用。

为便于描述问题,文中引入一些符号来代替基本变量,如表一所示:

表一符号说明

变量

意义

rxi

按照第i种模式(i=1,2,…,11)切割的6米圆形管的根数,均是非负整数

ryj

按照第j种模式(j=1,2,…,6)切割的4米圆形管的根数,均是非负整数

rp1

6米圆形管每根单价

rp2

4米圆形管每根单价

Z1

使用的6米圆形管总根数,是非负整数

Z2

使用的4米圆形管总根数,是非负整数

sxi

按照第i种模式(i=1,2,…,7)切割的6米方形管的根数,均是非负整数

syj

按照第j种模式(j=1,2,…,4)切割的4米方形管的根数,均是非负整数

T1

使用的6米方形管总根数,是非负整数

T2

使用的4米方形管总根数,是非负整数

问题分析与模型建立

问题中的圆形管原料足够,寻找经济效果最优的下料方案,即目标为切割原料圆形管数量尽可能少。

考虑到6米圆形管与4米圆形管的采购价格应该是不同的,所以我们寻求的是在使用一定数量6米圆形管与4米圆形管的过程中使被切割利用过的原料总进价尽可能低。

首先要确定针对6米和4米不同规格的圆形管合理的截取模式各有哪几种。

然后我们从所有截取模式中选取若干种截取模式,并设计出最佳的截取方案。

问题中的方形管原料不足以提供所需截得的所用钢管,所用的原料必然都要用于切割,不存在使用总钢管数量最少的说法,故我们可建立模型使截得后剩余方形管总余量最小。

类似于圆形管截取,我们同样首先要确定针对6米和4米不同规格的方形管合理的截取模式各有哪几种。

然后我们从所有截取模式中选取若干种截取模式,并设计出满足目标的最佳截取方案。

确定截取方式可以利用C语言程序,得到所用满足约束的截取方式的罗列;模型可利用lingo软件求解。

圆形管下料模型建立:

首先,我们确定怎样的切割模式才是合理的。

通常,一个合理的切割模式的余料不应该大于或等于客户需要的钢管的最小尺寸,在此实际问题中,即余料长度应当小于1.2m。

现在先求6米长圆形管的切割模式,用整数a,b,c分别表示一根圆形管切得的1.2m、1.5m、1.8m钢管数量,则1.2a+1.5b+1.8c≤6。

要使余料长度小于1.2m,使用的钢管长度要大于4.8m,即1.2a+1.5b+1.8c>4.8。

一根6米长圆形管全用于截取1.2m钢管最多可截得的1.2m钢管数量为5根,全用于截取1.5m钢管最多可截得的1.5m钢管数量为4根,全用于截取1.8m钢管最多可截得的1.8m钢管数量为3根,所以0≤a≤5,0≤b≤4,0≤c≤3。

编写C代码得到结果如下表所示(具体代码见附录一):

6m长圆形管截取模式

截取模式

1.2m钢管数量

1.5m钢管数量

1.8m钢管数量

余料长度(m)

模式一

0

0

3

0.6

模式二

0

1

2

0.9

模式三

0

4

0

0

模式四

1

2

1

0

模式五

1

3

0

0.3

模式六

2

0

2

0

模式七

2

1

1

0.3

模式八

2

2

0

0.6

模式九

3

0

1

0.6

模式十

3

1

0

0.9

模式十一

5

0

0

0

4米长圆形管的切割模式,同样用整数a,b,c分别表示一根圆形管切得的1.2m、1.5m、1.8m钢管数量,则2.8<1.2a+1.5b+1.8c≤4。

一根4米长圆形管全用于截取1.2m钢管最多可截得的1.2m钢管数量为3根,全用于截取1.5m钢管最多可截得的1.5m钢管数量为2根,全用于截取1.8m钢管最多可截得的1.8m钢管数量为2根,所以0≤a≤3,0≤b≤2,0≤c≤2。

编写C代码得到结果如下表所示(具体代码见附录二):

4m长圆形管截取模式

截取模式

1.2m钢管数量

1.5m钢管数量

1.8m钢管数量

余料长度(m)

模式一

0

0

2

0.4

模式二

0

1

1

0.7

模式三

0

2

0

1

模式四

1

0

1

1

模式五

2

1

0

0.1

模式六

3

0

0

0.4

接着,用非负整数rxi表示按照第i种模式(i=1,2,…,11)切割的6米长钢管的根数,用非负整数ryj表示按照第j种模式(j=1,2,…,6)切割的4米长钢管的根数。

要在使用一定数量6米圆形管与4米圆形管的过程中使被切割利用过的原料总进价尽可能低,决策目标为:

Min=rp1*Z1+rp2*Z2=rp1*(rx1+rx2+rx3+rx4+rx5+rx6+rx7+rx8+rx9+rx10+rx11)+rp2*(ry1+ry2+ry3+ry4+ry5+ry6)

各模式所截得的1.2m圆管总数目不少于8000根,1.5m圆管总数目不少于16500根,1.8m圆管总数目不少于12000根。

并且可供使用的6米圆形管数量Z1最多不超过9000根,4米圆形管数量Z2最多不超过5000根。

由上得到约束条件:

Z1=rx1+rx2+rx3+rx4+rx5+rx6+rx7+rx8+rx9+rx10+rx11≤9000

Z2=ry1+ry2+ry3+ry4+ry5+ry6≤5000

rx4+rx5+2rx6+2rx7+2rx8+3rx9+3rx10+5rx11+ry4+2ry5+3ry6≥8000

rx2+4rx3+2rx4+3rx5+rx7+2rx8+rx10+ry2+2ry3+ry5≥16500

3rx1+2rx2+rx4+2rx6+rx7+rx9+2ry1+ry2+ry4≥12000

rxi,ryj,Z1,Z2∈z+

方形管下料模型建立:

现在先求6米长的方形管的切割模式,用整数a,b,c分别表示一根方形管切得的1.4m、1.7m、3m钢管数量,则1.4a+1.7b+3c≤6。

要使余料长度小于1.4m,使用的钢管长度要大于4.6m,即1.4a+1.7b+3c>4.6。

一根6米长的方形管全用于截取1.4m钢管最多可截得的1.4m钢管数量为4根,全用于截取1.7m钢管最多可截得的1.7m钢管数量为3根,全用于截取3m钢管最多可截得的3m钢管数量为2根,所以0≤a≤4,0≤b≤3,0≤c≤2。

编写C代码得到结果如下表所示(具体代码见附录三):

6m长的方形管截取模式

截取模式

1.4m钢管数量

1.7m钢管数量

3m钢管数量

余料长度(m)

模式一

0

0

2

0

模式二

0

1

1

1.3

模式三

0

3

0

0.9

模式四

1

2

0

1.2

模式五

2

0

1

0.2

模式六

3

1

0

0.1

模式七

4

0

0

0.4

4米长的方形管的切割模式,同样用整数a,b,c分别表示一根方形管切得的1.4m、1.7m、3m钢管数量,则2.6<1.4a+1.7b+3c≤4。

一根4米长圆形管全用于截取1.4m钢管最多可截得的1.4m钢管数量为2根,全用于截取1.7m钢管最多可截得的1.7m钢管数量为2根,全用于截取3m钢管最多可截得的3m钢管数量为1根,所以0≤a≤2,0≤b≤2,0≤c≤1。

编写C代码得到结果如下表所示(具体代码见附录四):

4m长的方形管截取模式

截取模式

1.4m钢管数量

1.7m钢管数量

3m钢管数量

余料长度(m)

模式一

0

0

1

1

模式二

0

2

0

0.6

模式三

1

1

0

0.9

模式四

2

0

0

1.2

接着,用非负整数sxi表示按照第i种模式(i=1,2,…,7)切割的6米长钢管的根数,用非负整数syj表示按照第j种模式(j=1,2,…,4)切割的4米长钢管的根数。

要使截得后剩余方形管总余量最小,决策目标为:

Min=1.3sx2+0.9sx3+1.2sx4+0.2sx5+0.1sx6+0.4sx7+sy1+0.6sy2+0.9sy3+1.2sy4

需要1.4m方形管6000根,1.7m方形管4200根,3m方形管2800根,并且可供使用的6米方形管数量T1最多不超过2000根,4米圆形管数量T2最多不超过2000根。

由上得到约束条件:

T1=sx1+sx2+sx3+sx4+sx5+sx6+sx7≤2000

T2=sy1+sy2+sy3+sy4≤2000

sx4+2sx5+3sx6+4sx7+sy3+2sy4≥6000

sx2+3sx3+2sx4+sx6+2sy2+sy3≥4200

2sx1+sx2+sx5+sy1≥2800

sxi,syj,T1,T2∈z+

 

模型简化与求解

圆形管下料模型简化与求解:

由于rp1与rp2未知,故取rp1与rp2的比值k,根据k的不同取值,用lingo得到不同的最优解,如下所示:

K取值

1.6

1.7

1.8

1.9

2

2.1

6m管用量

9000

6897

6887

6887

6887

6885

4m管用量

1440

4979

4996

4996

4996

5000

即当k小于等于1.6时,优先选择切割6m管;

当k大于等于2.1时,优先选择切割4m管;

当k在1.6与2.1之间时,根据k的取值确定使用6m管与4m管的数量配比。

但在实际生活中,同规格的钢管的每根价格往往与长度成正比,厂家在进货时购得钢管以每吨若干元或每米若干元计算。

因此,可简化模型,使k=1.5,即6m管单价是4m管的1.5倍。

此时得到的简化模型如下:

决策目标:

Min=Z2=ry1+ry2+ry3+ry4+ry5+ry6

约束条件:

Z1=rx1+rx2+rx3+rx4+rx5+rx6+rx7+rx8+rx9+rx10+rx11≤9000

Z2=ry1+ry2+ry3+ry4+ry5+ry6≤5000

rx4+rx5+2rx6+2rx7+2rx8+3rx9+3rx10+5rx11+ry4+2ry5+3ry6≥8000

rx2+4rx3+2rx4+3rx5+rx7+2rx8+rx10+ry2+2ry3+ry5≥16500

3rx1+2rx2+rx4+2rx6+rx7+rx9+2ry1+ry2+ry4≥12000

rxi,ryj,Z1,Z2∈z+

用lingo得到的最优结果为(具体代码见附录五,结果见附录六):

6m圆管使用总根数

9000

4m圆管使用总根数

1440

6m圆管切割模式

按模式一切割根数

1430

4m圆管切割模式

按模式一切割根数

240

按模式二切割根数

1430

按模式二切割根数

240

按模式三切割根数

1430

按模式三切割根数

240

按模式四切割根数

1430

按模式四切割根数

240

按模式五切割根数

1430

按模式五切割根数

240

按模式六切割根数

820

按模式六切割根数

240

按模式七切割根数

820

按模式八切割根数

210

按模式九切割根数

0

按模式十切割根数

0

按模式十一切割根数

0

方形管下料模型简化与求解:

要使截得后剩余方形管总余量最小,决策目标:

Min=1.3sx2+0.9sx3+1.2sx4+0.2sx5+0.1sx6+0.4sx7+sy1+0.6sy2+0.9sy3+1.2sy4

约束条件:

T1=sx1+sx2+sx3+sx4+sx5+sx6+sx7≤2000

T2=sy1+sy2+sy3+sy4≤2000

sx4+2sx5+3sx6+4sx7+sy3+2sy4≥6000

sx2+3sx3+2sx4+sx6+2sy2+sy3≥4200

2sx1+sx2+sx5+sy1≥2800

sxi,syj,T1,T2∈z+

由于条件不能全部满足,故分优先级(考虑到截得的钢管越长,后续可加工再利用率越高,故首先满足3m钢管数量要求,最后满足1.4m钢管数量要求):

P1:

T1=sx1+sx2+sx3+sx4+sx5+sx6+sx7≤2000;T2=sy1+sy2+sy3+sy4≤2000;sxi,syj,T1,T2∈z+

P2:

2sx1+sx2+sx5+sy1≥2800

P3:

sx2+3sx3+2sx4+sx6+2sy2+sy3≥4200

P4:

sx4+2sx5+3sx6+4sx7+sy3+2sy4≥6000

用lingo得到的最优结果为(具体代码见附录七,结果见附录八):

6m方管使用总根数

2000

4m方管使用总根数

2000

6m方管切割模式

按模式一切割根数

600

4m方管切割模式

按模式一切割根数

1000

按模式二切割根数

400

按模式二切割根数

1000

按模式三切割根数

400

按模式三切割根数

0

按模式四切割根数

200

按模式四切割根数

0

按模式五切割根数

200

按模式六切割根数

200

按模式七切割根数

0

余料总量:

2780m

模型优缺点与改进方向

圆形管下料模型有较高的稳定性,但是当k值在1.6以上时,优化结果非最优化结果,可根据初级模型建立带参数k的带参模型,便于代入求得最优解。

方形管下料模型是非线性的,它有较大的结果偏差,稳定性一般。

参考文献

[1]姜启源等,《数学模型》,北京:

高等教育出版社,2004年

[2]长治学院物理系数学建模培训第二次测试论文,钢材截短问题,2011年

[3]谢金星薛毅,优化建模与LINGO/LINDO软件,北京:

清华大学出版社,2004年

[4]韩中庚,数学建模方法及其应用,北京:

高等教育出版社,2005年

[5]

附录

附录一:

#include

voidmain()

{

inta,b,c;

for(a=0;a<=5;a++)

for(b=0;b<=4;b++)

for(c=0;c<=3;c++)

if((1.2*a+1.5*b+1.8*c)<=6&&(1.2*a+1.5*b+1.8*c)>4.8)

printf("a=%d,b=%d,c=%d,余料=%f\n",a,b,c,6-(1.2*a+1.5*b+1.8*c));

}

附录二:

#include

voidmain()

{

inta,b,c;

for(a=0;a<=3;a++)

for(b=0;b<=2;b++)

for(c=0;c<=2;c++)

if((1.2*a+1.5*b+1.8*c)<=4&&(1.2*a+1.5*b+1.8*c)>2.8)

printf("a=%d,b=%d,c=%d,余料=%f\n",a,b,c,4-(1.2*a+1.5*b+1.8*c));

}

附录三:

#include

voidmain()

{

inta,b,c;

for(a=0;a<=4;a++)

for(b=0;b<=3;b++)

for(c=0;c<=2;c++)

if((1.4*a+1.7*b+3*c)<=6&&(1.4*a+1.7*b+3*c)>4.6)

printf("a=%d,b=%d,c=%d,余料=%f\n",a,b,c,6-(1.4*a+1.7*b+3*c));

}

附录四:

#include

voidmain()

{

inta,b,c;

for(a=0;a<=2;a++)

for(b=0;b<=2;b++)

for(c=0;c<=1;c++)

if((1.4*a+1.7*b+3*c)<=4&&(1.4*a+1.7*b+3*c)>2.6)

printf("a=%d,b=%d,c=%d,余料=%f\n",a,b,c,4-(1.4*a+1.7*b+3*c));

}

附录五:

z1=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11;

min=y1+y2+y3+y4+y5+y6;

x4+x5+2*x6+2*x7+2*x8+3*x9+3*x10+5*x11+y4+2*y5+3*y6>=8000;

x2+4*x3+2*x4+3*x5+x7+2*x8+x10+y2+2*y3+y5>=16500;

3*x1+2*x2+x4+2*x6+x7+x9+2*y1+y2+y4>=12000;

y1+y2+y3+y4+y5+y6<=5000;

x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11<=9000;

x1>=x2;

x2>=x3;

x3>=x4;

x4>=x5;

x5>=x6;

x6>=x7;

x7>=x8;

x8>=x9;

x9>=x10;

x10>=x11;

y1>=y2;

y2>=y3;

y3>=y4;

y4>=y5;

y5>=y6;

@gin(x1);@gin(x2);@gin(x3);

@gin(x4);@gin(x5);@gin(x6);

@gin(x7);@gin(x8);@gin(x9);

@gin(x10);@gin(x11);@gin(y1);

@gin(y2);@gin(y3);@gin(y4);

@gin(y5);@gin(y6);@gin(z1);

附录六:

Globaloptimalsolutionfound.

Objectivevalue:

1440.000

Extendedsolversteps:

0

Totalsolveriterations:

26

 

VariableValueReducedCost

Z19000.0000.000000

X11430.0000.000000

X21430.0000.000000

X31430.0000.000000

X41430.0000.000000

X51430.0000.000000

X6820.00000.000000

X7820.00000.000000

X8210.00000.000000

X90.0000000.000000

X100.0000000.000000

X110.0000000.000000

Y1240.00001.000000

Y2240.00001.000000

Y3240.00001.000000

Y4240.00001.000000

Y5240.00001.000000

Y6240.00001.000000

RowSlackorSurplusDualPrice

10.0000000.000000

21440.000-1.000000

30.0000000.000000

40.0000000.000000

50.0000000.000000

63560.0000.000000

70.0000000.000000

80.0000000.000000

90.0000000.000000

100.0000000.000000

110.0000000.000000

12610.00000.000000

130.0000000.000000

14610.00000.000000

15210.00000.000000

160.0000000.000000

170.0000000.000000

180.0000000.000000

190.0000000.000000

200.0000000.000000

210.0000000.000000

220.0000000.000000

附录七:

model:

Min=1.3*sx2+0.9*sx3+1.2*sx4+0.2*sx5+0.1*sx6+0.4*sx7+sy1+0.6*sy2+0.9*sy3+1.2*sy4;

sx1+sx2+sx3+sx4+sx5+sx6+sx7<=2000;

sy1+sy2+sy3+sy4<=2000;

sx4+2*sx5+3*sx6+4*sx7+sy3+2*sy4>=1200;

sx2+3*sx3+2*sx4+sx6+2*sy2+sy3>=4200;

2*sx1+sx2+sx5+sy1>=2800;

sx1>=sx2;

sx2>=sx3;

sx3>=sx4;

sx4>=sx5;

sx5>=sx6;

sx6>=sx7;

sy1>=sy2;

sy2>=sy3;

sy3>=sy4;@gin(sx1);@gin(sx2);@gin(sx3);

@gin(sx4);@gin(sx5);@gin(sx6);

@gin(sx7);@gin(sy1);@gin(sy2);

@gin(sy3);@gin(sy4);

end

附录八:

Globaloptimalsolutionfound.

Objectivevalue:

2780.000

Extendedsolversteps:

0

Totalsolveriteration

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2