1. 引言
工厂中经常会碰到一些材料切割的优化问题,为了节省材料,减少废料对环境的污染,必须选择最优的切割方案。某家具行业中有一批木板用于加工,在加工过程中,木板被切割成不同面积大小,分别加工成不同的产品。在木板的面积和数量有限的情况下,安排木板切割使得在完成生产任务的基础上,最大化利用率和家具厂的利润成为亟需解决的问题。简化切割操作,对提高工厂的经济效益和增大产品竞争力具有重要意义。
在工业生产流程中,一般是家具厂根据订单要求的产品类型来加工。原木板作为毛坯按照产品生产任务被切割成不同面积大小。优化切割方案并得出利润最大的方案是最终决策的来源。如图1所示。
![](//html.hanspub.org/file/11-2621268x9_hanspub.png)
Figure 1. Curve: system result of standard experiment
图1. 标准试验系统结果曲线
本文依据这个流程基于二维矩形切割建立了规划模型,分析了怎样实现木板的最优切割,使木板利用率与利润达到最高,产品类型由单一到多元,并考虑了产品的生产任务以及木板原料的限定,最终系统给出了符合要求的切割方案。
2. 数据来源和模型假设
本研究对象来源于第16届五一数学建模竞赛数据,对矩形木板进行切割,需要得到四种类型的产品,木板的具体参数数据如表1所示,产品的具体参数数据如表2所示。
![](Images/Table_Tmp.jpg)
Table 1. The specific parameter data of the plank
表1. 木板的具体参数数据
![](Images/Table_Tmp.jpg)
Table 2. Product specific parameter data
表2. 产品的具体参数数据
1) 不计木板的厚度和割缝宽度;
2) 每一刀仅可切割成直线;
3) 每一刀不考虑斜向切割;
4) 切割下来的木板在通过加工得到产品时,没有材料的损失;
5) 切割木板时无损耗,即不产生废料。
3. 符号说明
相关符号说明见表3。
4. 二维下料中的矩形切割
矩形切割问题是二维下料的一个重要研究方向,对于一块木板,在水平方向和垂直方向切割可以得到两种毛坯,将这两种毛坯沿同一方向堆砌,组成两种同类条带 [1],如图2所示。
![](//html.hanspub.org/file/11-2621268x22_hanspub.png)
Figure 2. Blank 1.1 (left), Blank 1.2 (right), Strip 1.1 (left), Strip 1.2 (right)
图2. 毛坯1.1 (左),毛坯1.2 (右),同型条带1.1 (左),同型条带1.2 (右)
5. 单一产品的木板切割
在木板上切割单一产品,求木板利用率最大的切割方案。即看成产品在木板上的排列组合,与木板利用率直接关联的排列面积为目标函数。决策变量假设是产品在某一方向的排列个数,那么约束条件包括产品排列长宽不能大于木板本身。
假设第i个产品在水平方向上的个数和在垂直方向上的个数分别为
,
,以他们为决策变量,切割面积最大为目标建立如下的整数线性规划模型
目标函数
(1)
由于切割下来的条带集合的长度不能超过木板的长度,则约束条件
(2)
其中,
,
,
为向下取整符号。
木板利用率是评价一个切割方案的有效指标,利用率高的切割方案不仅节省了原料,而且提高了工厂利润,利用率用在木板上切割下来的毛坯面积与木板面积的比例表示,即一块木板的利用率 [2] 为
(3)
对于产品P1,其中
,
,
,那么
利用LINGO [3] 得到最优解为:
,
,最优值为:59。因此一块木板的利用率为98.3%。
切割方案示意图如图3所示,其中切割下来的产品P1数量如表4所示。
![](//html.hanspub.org/file/11-2621268x38_hanspub.png)
Figure 3. Schematic diagram of wood cutting scheme for product P1
图3. 产品P1的木板切割方案示意图
![](Images/Table_Tmp.jpg)
Table 4. The specific parameter value of the cutting scheme
表4. 切割方案的具体参数值
单一产品的木板切割排列简单,建立整数线性规划模型可以得到切割面积最大的方案,该方案下的利用率较高。
6. 多元产品的木板切割
6.1. 双产品的木板切割
在木板上切割两类产品,以集合
为决策变量,切割度最大为目标建立如下的整数线性规划模型。
目标函数
(4)
由于切割下来的宽度不能超过木板的宽度,则约束条件
(5)
由该模型得到某一种毛坯的排列方式,将他作为初始排列,不断迭代模型,最终木板不能排列毛坯时停止。
统计这两类产品的数量,根据下面公式计算木板利用率
(6)
步骤1:对于产品P1和产品P3,
。这两种类型组合的整数线性规划为
利用LINGO得到最优解为:
。
由于
的个数最多,占切割木板的面积最大,因此先排列此毛坯,由最优解得出一部分排列a,如图4所示。
步骤2:模型迭代
利用LINGO得到最优解为:
,
,由此得到排列b,如图4所示。
步骤3:木板中间的剩下未排列区域,以余料最少为原则,得到排列c,如图4所示。
![](//html.hanspub.org/file/11-2621268x52_hanspub.png)
Figure 4. Iteratively arrangement process diagram
图4. 迭代排列过程图
该模型可以得到多种方案,图5,图6,图7分别为三种切割方案,其中切割下来的产品数量和利用率如表5所示。
![](//html.hanspub.org/file/11-2621268x53_hanspub.png)
Figure 5. Schematic diagram of wood cutting scheme 1 for product P1 and P3
图5. 产品P1和P3的木板切割方案1示意图
![](//html.hanspub.org/file/11-2621268x54_hanspub.png)
Figure 6. Schematic diagram of wood cutting scheme 2 for product P1 and P3
图6. 产品P1和P3的木板切割方案2示意图
![](//html.hanspub.org/file/11-2621268x55_hanspub.png)
Figure 7. Schematic diagram of wood cutting scheme 3 for product P1 and P3
图7. 产品P1和P3的木板切割方案3示意图
![](Images/Table_Tmp.jpg)
Table 5. The specific parameter value of the cutting scheme
表5. 切割方案的具体参数值
6.2. 基于生产任务的双产品木板切割
在木板上全部切割产品P1作为方案4,全部切割产品P3作为方案5,得到表6。
![](Images/Table_Tmp.jpg)
Table 6. The specific parameter value of the cutting scheme
表6. 切割方案的具体参数值
构造方案矩阵
,其中
。方案矩阵用于存储每一个方案下的产品数量。
以
为决策变量,总木板利用率最高为目标建立整数规划模型。
目标函数
(7)
由于需要完成产品的生产任务,则约束条件为
(8)
统计这两类产品分别在每种方案下的数量,根据下面公式计算木板利用率
(9)
对于产品P1和P3,整数规划为
编写程序,求出每个方案下木板S1的数量以及总利用率。结合LINGO得出最优解为:
最优值为:
,
。其中K是实际的木板总利用率,P1和P3的产品数量为774件和1623件不变。
是按超过生产任务的产品数量计算的木板利用率。切割下来的产品数量和总利用率如表7所示。
![](Images/Table_Tmp.jpg)
Table 7. The specific parameter value of the cutting scheme
表7. 切割方案的具体参数值
6.3. 基于生产任务的多产品木板切割
由基于生产任务的两类产品木板切割可得到多类产品的切割处理方法。假设四类产品P1,P2,P3和P4都需要完成生产任务,由排列组合的原理四类产品有
种切割方案。
设方案矩阵
,其中
表示在第j个方案下产品i的数量。文章前面已知矩阵B里每一个元素的数值。以
为决策变量,总木板利用率最高为目标建立整数规划模型
目标函数
约束条件
利用LINGO得到
,
。切割下来的产品数量和总利用率如表8所示。
![](Images/Table_Tmp.jpg)
Table 8. The specific parameter value of the cutting scheme
表8. 切割方案的具体参数值
将模型得到的不同方案下木板利用率与商业软件cuttLogic得到的结果做对比,如表9所示。
![](Images/Table_Tmp.jpg)
Table 9. The specific parameter value of the cutting scheme
表9. 切割方案的具体参数值
通过该表可以看出15个方案中,模型结果与软件模拟结果基本相同,甚至较多方案的利用率超过了软件结果,说明模型得出的切割方案是合理的,且模型的寻优能力好。模型结果的最大利用率大于软件的最大利用率,最小利用率数值相同,说明该模型比较稳定。
6.4. 限定原料的多产品木板切割
不考虑产品的生产任务,给定木板数量,首先考虑产品的组合形式。以产品的单位面积价格作为依
据来选取产品组合,由公式
计算出
,且
,如表10所示。
假设给定100张木板S1,每张木板的切割方案相同,对于P1,P2,P3和P4四类产品,以
为决策变量,总木板利用率最高为目标函数1,总利润最大为目标函数2,建立多目标规划模型。
目标函数1
目标函数2
约束条件
利用LINGO得到
,
,
。切割下来的产品数量和总利用率如表11所示。
![](Images/Table_Tmp.jpg)
Table 11. The specific parameter value of the cutting scheme
表11. 切割方案的具体参数值
7. 模型评价与改进
7.1. 模型评价
1) 计算简单,结果正确,符合实际,模型具有合理性和可行性,是解决木板切割问题的有效方法;
2) 模型可由少量的编程结合LINGO得到最优切割方案,简洁有效,易于求解;
3) 模型约束条件不多,一些复杂的因素没有纳入考虑范围。比如只考虑的同型条带没有考虑普通条带等;
4) 迭代求解会使误差成倍增长;
5) 本文求解属于半自动方法,不够智能,在处理巨大数据上不够快速。
7.2. 模型改进
1) 结合模型缺点,对规划作更加严格的约束,建立更加精确,更加适用于实际工艺应用的模型;
2) 改进算法,使得原有模型更加快捷和智能。