Advances in Applied Mathematics
Vol. 09  No. 07 ( 2020 ), Article ID: 36750 , 12 pages
10.12677/AAM.2020.97127

Optimal Cutting of Wood

Fan Zhang1, Zezhong Chen1, Guangliang He1, Mingchun Wang1,2

1College of Information and Intelligent Science and Technology, Hunan Agricultural University, Changsha Hunan

2Hunan Agricultural University, Changsha Hunan

Received: Jul. 5th, 2020; accepted: Jul. 21st, 2020; published: Jul. 28th, 2020

ABSTRACT

In this paper, based on integer linear programming and multi-objective programming, a multi-stage analysis model with the goal of maximizing the utilization rate of wood board is established for the optimization of two-dimensional rectangular cutting. Considering the product type from single to multiple, the product production task and the limit of wood material, from the shallow to the deep, program is written step by step, and then combined with LINGO solution, the system’s optimal cutting program is gotten. Compared with commercial cutting software, the results show that the model can effectively solve the problem of wood cutting, and the model is stable and has good optimization ability.

Keywords:Integral Linear Programming, Multistage Analysis, Multi-Objective Programming

木板最优切割问题

张帆1,陈泽中1,何光亮1,王明春1,2

1湖南农业大学信息与智能科学技术学院,湖南 长沙

2湖南农业大学,湖南 长沙

收稿日期:2020年7月5日;录用日期:2020年7月21日;发布日期:2020年7月28日

摘 要

本文以整数线性规划和多目标规划为理论基础,针对二维矩形切割优化问题,建立了以木板利用率最大为目标的多阶段分析模型。考虑了产品类型由单一到多元,产品生产任务以及木板原料的限定,由浅到深,一步步编写程序结合LINGO求解得到系统的最优切割方案。与商业切割软件对比结果表明,该模型可以有效地解决木板切割问题,模型稳定且寻优能力较好。

关键词 :整数线性规划,多阶段分析,多目标规划

Copyright © 2020 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

工厂中经常会碰到一些材料切割的优化问题,为了节省材料,减少废料对环境的污染,必须选择最优的切割方案。某家具行业中有一批木板用于加工,在加工过程中,木板被切割成不同面积大小,分别加工成不同的产品。在木板的面积和数量有限的情况下,安排木板切割使得在完成生产任务的基础上,最大化利用率和家具厂的利润成为亟需解决的问题。简化切割操作,对提高工厂的经济效益和增大产品竞争力具有重要意义。

在工业生产流程中,一般是家具厂根据订单要求的产品类型来加工。原木板作为毛坯按照产品生产任务被切割成不同面积大小。优化切割方案并得出利润最大的方案是最终决策的来源。如图1所示。

Figure 1. Curve: system result of standard experiment

图1. 标准试验系统结果曲线

本文依据这个流程基于二维矩形切割建立了规划模型,分析了怎样实现木板的最优切割,使木板利用率与利润达到最高,产品类型由单一到多元,并考虑了产品的生产任务以及木板原料的限定,最终系统给出了符合要求的切割方案。

2. 数据来源和模型假设

本研究对象来源于第16届五一数学建模竞赛数据,对矩形木板进行切割,需要得到四种类型的产品,木板的具体参数数据如表1所示,产品的具体参数数据如表2所示。

Table 1. The specific parameter data of the plank

表1. 木板的具体参数数据

Table 2. Product specific parameter data

表2. 产品的具体参数数据

1) 不计木板的厚度和割缝宽度;

2) 每一刀仅可切割成直线;

3) 每一刀不考虑斜向切割;

4) 切割下来的木板在通过加工得到产品时,没有材料的损失;

5) 切割木板时无损耗,即不产生废料。

3. 符号说明

相关符号说明见表3

Table 3. Symbol description

表3. 符号说明

4. 二维下料中的矩形切割

矩形切割问题是二维下料的一个重要研究方向,对于一块木板,在水平方向和垂直方向切割可以得到两种毛坯,将这两种毛坯沿同一方向堆砌,组成两种同类条带 [1],如图2所示。

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个产品在水平方向上的个数和在垂直方向上的个数分别为 L l i L w i ,以他们为决策变量,切割面积最大为目标建立如下的整数线性规划模型

目标函数

max W w i × L l i + W l i × L w i (1)

由于切割下来的条带集合的长度不能超过木板的长度,则约束条件

{ l i × L l i + W l i × L w i L L l i , L w i 0 , (2)

其中, L l i = L / l i L w i = L / w i 为向下取整符号。

木板利用率是评价一个切割方案的有效指标,利用率高的切割方案不仅节省了原料,而且提高了工厂利润,利用率用在木板上切割下来的毛坯面积与木板面积的比例表示,即一块木板的利用率 [2] 为

i l i w i ( W w i × L l i + W l i × L w i ) L W (3)

对于产品P1,其中 i = 7 L l 1 = L / l 1 = 7 L w i = L / w i = 4 ,那么

max 7 L l 1 + 4 L w 1

{ 373 L l 1 + 201 L w 1 3000 L l 1 , L w 1 0 ,

利用LINGO [3] 得到最优解为: L l 1 = 1 L w 1 = 13 ,最优值为:59。因此一块木板的利用率为98.3%。

切割方案示意图如图3所示,其中切割下来的产品P1数量如表4所示。

Figure 3. Schematic diagram of wood cutting scheme for product P1

图3. 产品P1的木板切割方案示意图

Table 4. The specific parameter value of the cutting scheme

表4. 切割方案的具体参数值

单一产品的木板切割排列简单,建立整数线性规划模型可以得到切割面积最大的方案,该方案下的利用率较高。

6. 多元产品的木板切割

6.1. 双产品的木板切割

在木板上切割两类产品,以集合 { L l i , L w i } 为决策变量,切割度最大为目标建立如下的整数线性规划模型。

目标函数

max i ( l i × L l i ) + i w i × L ( w i ) (4)

由于切割下来的宽度不能超过木板的宽度,则约束条件

{ i ( l i × L l i ) + i ( w i × L w i ) W L l i , L w i 0 , (5)

由该模型得到某一种毛坯的排列方式,将他作为初始排列,不断迭代模型,最终木板不能排列毛坯时停止。

统计这两类产品的数量,根据下面公式计算木板利用率

k j = j = 1 m l i w i a j i L W × 100 % (6)

步骤1:对于产品P1和产品P3, i = 1 , 3 。这两种类型组合的整数线性规划为

max 373 L l 1 + 201 L w 1 + 406 L l 3 + 229 l w 3

{ 373 L l 1 + 201 L w 1 + 406 L l 3 + 229 L w 3 3000 L l 1 , L w 1 , L l 3 , L w 3

利用LINGO得到最优解为: ( L l 1 , L w 1 , L l 3 , L w 3 ) T = ( 1 , 7 , 3 , 0 ) T

由于 L w 1 的个数最多,占切割木板的面积最大,因此先排列此毛坯,由最优解得出一部分排列a,如图4所示。

步骤2:模型迭代

max 373 L l 1 + 406 L l 3

{ 373 L l 1 + 406 L l 3 1593 L l 1 , L w 1 , L l 3 , L w 3

利用LINGO得到最优解为: L l 1 = 1 L l 3 = 3 ,由此得到排列b,如图4所示。

步骤3:木板中间的剩下未排列区域,以余料最少为原则,得到排列c,如图4所示。

Figure 4. Iteratively arrangement process diagram

图4. 迭代排列过程图

该模型可以得到多种方案,图5图6图7分别为三种切割方案,其中切割下来的产品数量和利用率如表5所示。

Figure 5. Schematic diagram of wood cutting scheme 1 for product P1 and P3

图5. 产品P1和P3的木板切割方案1示意图

Figure 6. Schematic diagram of wood cutting scheme 2 for product P1 and P3

图6. 产品P1和P3的木板切割方案2示意图

Figure 7. Schematic diagram of wood cutting scheme 3 for product P1 and P3

图7. 产品P1和P3的木板切割方案3示意图

Table 5. The specific parameter value of the cutting scheme

表5. 切割方案的具体参数值

6.2. 基于生产任务的双产品木板切割

在木板上全部切割产品P1作为方案4,全部切割产品P3作为方案5,得到表6

Table 6. The specific parameter value of the cutting scheme

表6. 切割方案的具体参数值

构造方案矩阵 A n × m = ( a j i ) ,其中 i = 1 , 2 ; j = 1 , , 5 。方案矩阵用于存储每一个方案下的产品数量。

A 5 × 2 = ( 32 22 0 47 )

c j 为决策变量,总木板利用率最高为目标建立整数规划模型。

目标函数

max i l i w i P i L W j = 1 n c j (7)

由于需要完成产品的生产任务,则约束条件为

{ j = 1 n a j i c j P i , i = 1 , , m c j 0 , , j = 1 , , n (8)

统计这两类产品分别在每种方案下的数量,根据下面公式计算木板利用率

K = i l i w i P i L W j = 1 n c j × 100 % (9)

对于产品P1和P3,整数规划为

max 373 × 202 × 774 + 406 × 229 × 1623 j = 1 5 c j × 3000 × 1500

{ 32 c 1 + 33 c 2 + 44 c 3 + 59 c 4 + 0 × c 5 774 22 c 1 + 21 c 2 + 12 c 3 + 0 × c 4 + 47 c 5 1623 c j 0 , , j = 1 , , 5

编写程序,求出每个方案下木板S1的数量以及总利用率。结合LINGO得出最优解为:

( c 1 , c 2 , c 3 , c 4 , c 5 ) T = ( 21 , 1 , 2 , 0 , 24 ) T

最优值为: K = 96.7 % K = 97.9 % 。其中K是实际的木板总利用率,P1和P3的产品数量为774件和1623件不变。 K 是按超过生产任务的产品数量计算的木板利用率。切割下来的产品数量和总利用率如表7所示。

Table 7. The specific parameter value of the cutting scheme

表7. 切割方案的具体参数值

6.3. 基于生产任务的多产品木板切割

由基于生产任务的两类产品木板切割可得到多类产品的切割处理方法。假设四类产品P1,P2,P3和P4都需要完成生产任务,由排列组合的原理四类产品有 2 4 1 种切割方案。

设方案矩阵 B 15 × 4 = ( b j i ) ,其中 b j i 表示在第j个方案下产品i的数量。文章前面已知矩阵B里每一个元素的数值。以 c j 为决策变量,总木板利用率最高为目标建立整数规划模型

目标函数

max i = 1 4 l i w i P i L W j = 1 15 c j

约束条件

{ j = 1 15 B j i c j P i , i = 1 , , 5 c j 0 , , j = 1 , , 15

利用LINGO得到 K = 97.06 % K = 97.70 % 。切割下来的产品数量和总利用率如表8所示。

Table 8. The specific parameter value of the cutting scheme

表8. 切割方案的具体参数值

将模型得到的不同方案下木板利用率与商业软件cuttLogic得到的结果做对比,如表9所示。

Table 9. The specific parameter value of the cutting scheme

表9. 切割方案的具体参数值

通过该表可以看出15个方案中,模型结果与软件模拟结果基本相同,甚至较多方案的利用率超过了软件结果,说明模型得出的切割方案是合理的,且模型的寻优能力好。模型结果的最大利用率大于软件的最大利用率,最小利用率数值相同,说明该模型比较稳定。

6.4. 限定原料的多产品木板切割

不考虑产品的生产任务,给定木板数量,首先考虑产品的组合形式。以产品的单位面积价格作为依

据来选取产品组合,由公式 h i = p i l i w i 计算出 h 1 , h 2 , h 3 , h 4 ,且 max { h i } = h 1 ,如表10所示。

Table 10. Product specific parameter data

表10. 产品的具体参数值

假设给定100张木板S1,每张木板的切割方案相同,对于P1,P2,P3和P4四类产品,以 c j ( j = 1 , , 15 ) 为决策变量,总木板利用率最高为目标函数1,总利润最大为目标函数2,建立多目标规划模型。

目标函数1

max i = 1 4 l i w i P i L W j = 1 15 c j

目标函数2

max i a j i P i

约束条件

{ j = 1 15 b j i c j P i , i = 1 , 2 , 3 , 4 c j 0 , , j = 1 , , 15

利用LINGO得到 K = 98.3 % w 1 = 1174.1 W = 1174.1 × 100 = 11740 。切割下来的产品数量和总利用率如表11所示。

Table 11. The specific parameter value of the cutting scheme

表11. 切割方案的具体参数值

7. 模型评价与改进

7.1. 模型评价

1) 计算简单,结果正确,符合实际,模型具有合理性和可行性,是解决木板切割问题的有效方法;

2) 模型可由少量的编程结合LINGO得到最优切割方案,简洁有效,易于求解;

3) 模型约束条件不多,一些复杂的因素没有纳入考虑范围。比如只考虑的同型条带没有考虑普通条带等;

4) 迭代求解会使误差成倍增长;

5) 本文求解属于半自动方法,不够智能,在处理巨大数据上不够快速。

7.2. 模型改进

1) 结合模型缺点,对规划作更加严格的约束,建立更加精确,更加适用于实际工艺应用的模型;

2) 改进算法,使得原有模型更加快捷和智能。

文章引用

张 帆,陈泽中,何光亮,王明春. 木板最优切割问题
Optimal Cutting of Wood[J]. 应用数学进展, 2020, 09(07): 1072-1083. https://doi.org/10.12677/AAM.2020.97127

参考文献

  1. 1. 陈秋莲, 宋仁坤, 崔耀东. 考虑余料价值的三阶段二维剪切下料算法[J]. 图学学报, 2017, 38(1): 10-14.

  2. 2. 杨振东. 基于数控的玻璃最优化切割的研究[D]: [硕士学位论文]. 青岛: 山东科技大学, 2003.

  3. 3. 谢金星, 薛毅. 优化建模与 LINDO/LINGO 软件[M]. 北京: 清华大学出版社, 2005.

期刊菜单