第七轮含代码程序.docx
《第七轮含代码程序.docx》由会员分享,可在线阅读,更多相关《第七轮含代码程序.docx(35页珍藏版)》请在冰豆网上搜索。
![第七轮含代码程序.docx](https://file1.bdocx.com/fileroot1/2022-10/26/e4bc2dab-b313-40fd-967d-667c66413cd4/e4bc2dab-b313-40fd-967d-667c66413cd41.gif)
第七轮含代码程序
实用下料问题优化模型
摘要
关键字:
整数规划模型多目标决策优化NP问题下料方案分支定界法
1.问题的重述
“下料问题(cuttingstockproblem)”是把相同形状的一些原材料分割加工成若干个不同规格大小的零件的问题,此类问题在工程技术和工业生产中有着重要和广泛的应用.这里的“实用下料问题”则是在某企业的实际条件限制下的单一材料的下料问题。
现考虑单一原材料下料问题.设这种原材料呈长方形,长度为,宽度为,现在需要将一批这种长方形原料分割成种规格的零件,所有零件的厚度均与原材料一致,但长度和宽度分别为,其中wi<.种零件的需求量分别为.下料时,零件的边必须分别和原材料的边平行。
这类问题在工程上通常简称为二维下料问题。
特别当所有零件的宽度均与原材料相等,即,则问题称为一维下料问题。
一个好的下料方案首先应该使原材料的利用率最大,从而减少损失,降低成本,提高经济效益。
其次要求所采用的不同的下料方式尽可能少,即希望用最少的下料方式来完成任务。
因为在生产中转换下料方式需要费用和时间,既提高成本,又降低效率。
此外,每种零件有各自的交货时间,每天下料的数量受到企业生产能力的限制。
因此实用下料问题的目标是在生产能力容许的条件下,以最少数量的原材料,尽可能按时完成需求任务,同时下料方式数也尽量地小.就某企业考虑下面两个问题:
1.建立一维单一原材料实用下料问题的数学模型,并用此模型求解下列问题,制定出在生产能力容许的条件下满足需求的下料方案,同时求出等额完成任务所需的原材料数,所采用的下料方式数和废料总长度.单一原材料的长度为3000mm,需要完成一项有53种不同长度零件的下料任务.具体数据见表一,其中为需求零件的长度,为需求零件的数量.此外,在每个切割点处由于锯缝所产生的损耗为5mm.据估计,该企业每天最大下料能力是100块,要求在4天内完成的零件标号()为:
5,7,9,12,15,18,20,25,28,36,48;要求不迟于6天完成的零件标号()为:
4,11,24,29,32,38,40,46,50.(提示:
可分层建模。
(1).先考虑用材料既少,下料方式又少的模型,或先仅考虑所用材料最少的模型及增加一种下料方式大致相当于使原材料总损耗增加0.08%情况下的最佳方案。
(2).在解决具体问题时,先制定4天的下料方案,再制定6天的下料方案,最后制定53种零件的下料方案.这一提示对第2题也部分适用.)
表1需求材料的数据单位:
mm
1
2
3
4
5
6
7
8
9
10
1743
1680
1532
1477
1313
1285
1232
1217
1180
1177
4
216
104
38
4
60
4
8
6
10
11
12
13
14
15
16
17
18
19
20
1105
1055
1046
1032
1030
975
893
882
847
845
8
2
4
8
8
2
8
301
6
38
21
22
23
24
25
26
27
28
29
30
830
795
766
745
730
719
714
695
645
630
30
8
4
4
34
18
4
4
90
30
31
32
33
34
35
36
37
38
39
40
610
600
590
588
582
578
540
488
355
343
30
212
108
482
196
8
32
4
52
42
41
42
43
44
45
46
47
48
49
50
320
515
414
411
405
328
313
290
275
265
8
8
8
60
136
4
68
286
602
286
51
52
53
255
184
155
192
57
24
2.建立二维单一原材料实用下料问题的数学模型,并用此模型求解下列问题.制定出在企业生产能力容许的条件下满足需求的下料方案,同时求出等额完成任务所需的原材料块数和所需下料方式数.这个问题的单一原材料的长度为3000mm,宽度为100mm,需要完成一项有43种不同长度和宽度零件的下料任务.具体数据见表二,其中分别为需求零件的长度、宽度和数量.切割时的锯缝可以是直的也可以是弯的,切割所引起的锯缝损耗忽略不计.据估计,该企业每天最大下料能力是20块要求在4天内完成的零件标号()为:
3,7,9,12,15,18,20,25,28,36.
表2需求材料的数据单位:
mm
1
2
3
4
5
6
7
8
9
10
1105
1055
1046
1032
1030
995
893
882
847
845
30
20
50
30
20
60
30
20
30
30
24
6
12
24
24
57
24
1001
20
108
11
12
13
14
15
16
17
18
19
20
830
795
766
745
732
722
714
690
665
633
30
20
35
30
30
45
50
30
20
30
90
40
12
12
68
74
10
12
270
90
21
22
23
24
25
26
27
28
29
30
630
600
590
588
582
578
540
488
455
434
30
35
20
20
30
20
50
20
20
30
90
612
508
2082
496
24
62
20
162
92
31
32
33
34
35
36
37
38
39
40
420
415
414
411
405
328
313
290
275
265
20
30
20
30
20
30
50
30
20
30
40
24
40
180
536
12
128
686
2002
686
41
42
43
255
184
155
30
20
50
692
357
52
2.问题的分析
本文要解决的是一个典型的多目标决策优化问题。
一个好的下料方案首先应该使原材料的利用率最大,从而减少损失,降低成本,提高经济效益。
其次要求所采用的不同的下料方式尽可能少,即希望用最少的下料方式来完成任务。
因为在生产中转换下料方式需要费用和时间,既提高成本,又降低效率,故企业都希望尽可能地减少下料方式的数目。
此外,每种零件有各自的交货时间,每天下料的数量受到企业生产能力的限制。
因此实用下料问题的目标是在生产能力容许的条件下,在规定的时间需求内,以最少数量的原材料,尽可能按时完成需求任务,同时下料方式数也尽量地小。
为顺利解决这一问题,我们先从最基本的单目标决策问题人手,以材料损耗最少为目标,由于个别零件的生产有时间的要求,因此,在下料时就应该优先生产那些有时间限制要求的零件,并且通过不同的数学原理建立多个单目标决策的最优化模型,得出最初的结果,并加以比较分析,然后逐步增加其约束条件,并根据这些约束条件进一步完善我们的最优化模型,求出在需求的时间段内下料方式和损耗都最少的最优结果,紧接着再求出剩余板材下料方式和损耗的最优结果,从而最终得出既满足时间条件限制又满足损耗少、下料方式数小的最优结果。
具体流程图如下:
图1总体流程图
3.模型的假设
[1].假设每次切割都准确无误。
[2].每天下料的数量受到企业生产能力的限制,在未完成需求任务前,每天下料的数量等于最大下料能力。
[3].模型一中每切得一个规格的零件需要的原材料。
[4].除最后一天外,其余每天均达到最大下料能力。
[5].除了要求在规定时间内完成所需零件外,不要求其余零件加工排列顺序。
[6].模型二中,切割所引起的锯缝损耗忽略不计。
4.符号说明
符号
符号解释说明
需求零件的数量
需求零件的长度
需求零件的宽度
第i种下料方式可生产第j种零件的数量
不同的下料方式所使用的原材料的数目
每种下料方式应用于每个原材料上所剩的余料
使用下料方式的种类
第种零件所需要生产的数量
原材料长度,为3000
4天内需要完成的零件编号建立集合
6天内需要完成的零件编号建立集合
理论所采用的原材料数目
实际采用原材料的数目
完成任务后的材料利用率
问题二中4天内需要完成的零件编号建立集合
5.一维下料问题
对于一维优化下料问题,属于整数规划问题,从计算复杂性理论分析,该问题属于NP难题,即无法在多项式时间(在计算复杂度理论中,指的是一个问题的计算时间m(n)不大于问题大小n的多项式倍数)内求解。
虽然整数规划问题是NP难题,但是线性问题却是有有效算法的。
所以要想求出下料方案的最优解,可以考虑不先求解整数规划问题而先来求解其相应的线性问题,然后用计算机程序进行求解。
首先考虑在满足时间需求的情况下,材料总损失最少的情况,然后尽量使得总的下料方式数目最少,故这里要寻找到所有下料方式中利用率最高的方式,同时在满足生产力要求的情况下进行适当调整,采用尽可能少的下料方式,这样便可以得到一维下料问题的优化结果。
5.1模型一的建立
根据题意,现有数量充足的长度为3000mm的原材料,需要完成一项有53种不同长度零件的下料任务。
要求在生产能力许可的条件下,既省材料又容易操作(即下料方式尽可能少),由于本文问题的特殊性,还需要考虑个别标号的零件在4天内及6天内完成。
故先对数据进行预处理,将4天和6天内完成的任务筛选出来,优先处理后再进行其他标号零件的加工。
按照前面的分析,我们现假设有m种不同的下料方式,再根据每种零件的需求量,可求得每种零件应用的次数,这样采用第一种下料方式生产的第一种零件的个数为个,同理可知,表示第i种下料方式可生产第j种零件的数量,则采用第m种下料方式所能得到的第j种零件的数量表示为,为更好地表示这个对应关系,建立如下对应关系矩阵:
则使用m种不同的下料方式所使用的原材料的数目为,同样用矩阵的方式来表示,则有所需原材料数目为:
5.1.1建立目标函数
由于我们以原材料总损耗最少为目标,所以首先计算每种下料方式产生的余料长度,由于在每个切割点处由于锯缝所产生的损耗为5mm.故每种下料方式应用于每个原材料上所剩的余料表达式为:
则建立原材料总损耗最少的目标函数为:
()
其中表示第种下料方式所消耗的原材料数目,表示第种下料方式所得余料。
又为方便企业加工生产,减少不必要的更换下料方式所产生的麻烦,企业希望所采用的下料方式尽可能少,因此建立第二个目标函数:
5.1.2建立约束条件
1)由于所要生产的每种型号的零件数量题中已经给定,故有限制条件:
()
其中,表示第种下料方式可生产第j种零件的数量,表示第种下料方式所消耗的原材料数目,表示第种零件所需要生产的数量,。
2)由