Current Issue Cover
矩形件简单块占角排样方式的动态规划

潘卫平, 张瑞友(东北大学信息科学与工程学院, 沈阳 110819)

摘 要
目的 针对矩形件无约束2维剪切排样问题,提出一种可简化板材切割工艺的简单块占角排样方式,并构造这种排样方式的动态规划生成算法。方法 该排样方式在板材左下角按照简单块方式排样若干行若干列同种矩形件,将板材剩余部分划分为两个子板;将子板按照上述方法继续递归排样和划分,直至子板排满矩形件为止。采用动态规划确定所有可能尺寸的板材左下角排样的最优矩形件、矩形件的最优行列数和板材剩余部分的最优子板划分。运用规范尺寸排除不必要的计算。结果 将本文算法与目前常见的算法进行比较,实验结果表明本文算法计算时间合理,排样价值较高。在第1组41道基准例题中,本文算法所有例题均求出了精确解,同质块T型算法、同质块两段算法和复合条带两段算法分别有7道、5道和4道例题未求出精确解。在第2组20道基准例题中,本文算法只有1道例题未求出精确解,普通三阶段算法、同质块T型算法、同质块两段算法和匀质条带三块算法分别有18道、15道、15道和20道例题未求出精确解。在第3组50道随机例题中,本文算法、普通两段算法和同质块两段算法板材利用率分别为99.913 7%、99.862 3%和99.796 1%。在第4组31道基准例题中,本文算法所有例题均求出了精确解,普通占角排样算法有2道例题未求出精确解。结论 本文算法计算时间远小于精确算法,优化效果接近精确算法;本文算法计算时间与多种启发式算法接近,但优化效果好于多种启发式算法。
关键词
Dynamic programming algorithm for simple block corner-occupying pattern of rectangular blanks

Pan Weiping, Zhang Ruiyou(College of Information Science and Engineering, Northeastern University, Shenyang 110819, China)

Abstract
Objective In industrial production, we often encounter 2D cutting problems, such as the cutting process of metal sheet, glass, and plywood. A good cutting pattern can effectively simplify the cutting process, improve the utilization rate of metal sheets, reduce resource consumption, and reduce the production costs of enterprises. The 2D cutting problem can be categorized into rectangular and other shape cutting problems according to the geometric shape of the workpiece. According to whether the workpiece can rotate, the same problem can be classified as rotatable and non-rotatable. According to the number of times each workpiece can appear in the sheet, it can be divided into constrained and unconstrained cutting problems. According to whether the cutting process of blanking meets the requirement of guillotine cuts, it can be categorized into guillotine and non-guillotine cutting problems. This study focuses on the unconstrained 2D guillotine cutting problem of rectangular pieces (UTGCR), which refers to cutting a sheet into several rectangular pieces of different sizes and values, and the number of occurrences of each rectangular piece in the sheet is unconstrained. The optimization goal of this problem is to maximize the total value of rectangular pieces cut out of the sheet. The cutting stock algorithm iteratively calls the cutting algorithm to generate the cutting pattern of rectangular pieces on a sheet. After a new cutting pattern is generated, the number of times of using the new cutting pattern is determined by the residual demand of rectangular pieces. The value of the rectangle is corrected by the number of the rectangular pieces included in the new cutting pattern to make the subsequent cutting pattern reasonable. A good cutting algorithm can improve the material utilization of the sheet, reduce resource consumption, reduce production costs and improve the competitiveness of enterprises. From the viewpoint of computational complexity, UTGCR is a complex combinatorial optimization problem with NP complexity. The exact algorithm takes too long to solve large-scale problems and cannot meet practical application requirements because the solution space of the feasible cutting pattern is large. In practice, heuristic algorithms are generally used to solve UTGCR problems, which can be divided into two categories according to the construction idea of the algorithms. The first is the intelligent optimization algorithm, which is widely used in rectangular nonguillotine cutting problems and relatively less used in UTGCR problems. Guaranteeing the quality of the solution is difficult because of the unknown convergence of the algorithm. In addition, the structure of the cutting pattern is complex, which is not conducive to the sheet cutting process. The second is to reduce the solution space and computational complexity of the algorithm by restricting the cutting pattern to satisfy a certain geometric characteristic. Although this kind of algorithm is not guaranteed to obtain the optimal solution, it is widely used because of its minimal calculation time and simple layout structure, which is conducive to the sheet cutting process. A simple block corner-occupying pattern that can simplify the sheet-cutting process is presented, and a dynamic programming algorithm for generating this pattern is constructed. Method The dynamic programming principle is used to construct a simple block corner-occupying pattern with different sizes of sub sheets one by one from small to large. The pattern information of sub sheets with small sizes can be directly used when constructing the sub sheet with current sizes. A simple block corner-occupying pattern is obtained when the simple block corner-occupying pattern of the sub sheet L×W is obtained. With this pattern, several rows and columns of identical pieces are packed at the lower left corner of the sheet according to a simple block mode. The remaining part of the sheet is divided into two sub sheets. Recursive packing and partitioning of the sub sheet are continued according to the above method until the sub sheets are fully filled with rectangular pieces. A dynamic programming algorithm is used to determine the optimal piece type, the optimal number of rows and columns of pieces, and the optimal partitioning of the remaining part of the all possible sheet sizes. The normal size is used to exclude unnecessary calculations. Result Five groups of instances in literature are used. The first, second, and fourth groups are international benchmark instances, which can be found at http://www.laria.u-picardie.fr/hifi/OR-Benchmark. The third group comprises random instances, and the fifth group consists of actual production instances. After comparing the algorithm in this study with the algorithms in common literature, experimental results show that the algorithm in this study has more reasonable calculation time and higher pattern value. In the first set of 41 benchmark instances, the algorithm in this study has found the exact solution to all instances, whereas the homogeneous block T-shape, homogeneous block two-segment, and compound strip two-segment algorithms have not found the exact solution of seven, five, and four instances, respectively. In the second set of 20 benchmark instances, only one has not been solved accurately by the algorithm in this study. A total of 18, 15, 15, and 20 instances have not been solved accurately by the common three-stage, homogeneous block T-type, homogeneous block two-stage, and homogeneous strip three-block algorithms, respectively. In the third set of 50 random instances, the sheet utilization rates of the algorithm in this study, the ordinary two-stage algorithm, and the homogeneous block two-stage algorithm are 99.913 7%, 99.862 3%, and 99.796 1%, respectively. In the fourth set of 31 benchmark instances, the exact solutions of all instances are solved by the algorithm in this study, and the exact solutions of two instances are not solved by the common corner-occupying algorithm. Conclusion The computation time of the algorithm in this study is much less than that of the exact cutting algorithms, and its optimization effect is close to that of the exact cutting algorithms. The computation time of the algorithm in this study is close to that of many heuristic cutting algorithms, and its optimization effect is better than that of many heuristic cutting algorithms. As a cutting pattern generation algorithm, this algorithm can be combined with linear programming, integer programming, and sequential heuristic algorithm to solve the 2D guillotine cutting stock problem of rectangular pieces.
Keywords

订阅号|日报