Discrete OptimizationHeuristic for the rectangular two-dimensional single stock size cutting stock problem with two-staged patterns
Introduction
The Two-Dimensional single stock size Cutting Stock problem (TDCS) appears in several industries, where stock plates of the same size are divided into rectangular items. The stock may be metal plate, plate glass, or wood panel. In Wäscher et al. (2007), the TDCS is formally referred to as the two-dimensional SSSCSP (single stock size cutting stock problem), in which m types of rectangular items with specified demands are completely produced from plates of the same size L ⊗ W (length ⊗ width), such that the input (number of plates used, simply “plate count”) is minimized. The item types are characterized by lengths (l1, … , lm), widths (w1, … , wm) and demands (d1, … , dm). A solution of the TDCS is a cutting plan that contains a set of different cutting patterns, each of which has specified layout and frequency. The solution can be obtained from solving the following integer programming (IP) model:where M is the number of possible cutting patterns. Each pattern can be obtained from solving a two-dimensional SLOPP (Single Large Object Placement Problem; see Wäscher et al. (2007)), xj the frequency of pattern j (decision variable), j = 1, … , M, aij the frequency of type-i items in pattern j, i = 1, … , m and j = 1, … , M and N is the set of non-negative integers.
The solution value is the plate count and must be minimized, subject to the constraints that the demands must be satisfied and the pattern frequencies should be integers.
Solving the IP model exactly is time consuming because of the vast set of possible patterns. Actually it may be impossible to enumerate all the patterns. Gilmore and Gomory (1961) proposed the column-generation (CG) approach that solves the following linear programming (LP) model:
Starting from a feasible solution that contains m patterns, the CG solves the LP model iteratively. In each iteration, it generates a pattern P from solving the following two-dimensional SLOPP:where zP is the value of the pattern, ci the value of a type-i item, obtained from the current dual LP-solution, and pi is the frequency of type-i items in the pattern.
The pattern is used to replace an existing one to update the solution. The iteration is terminated when the value of the new pattern is not larger than 1, then the current LP-solution becomes optimal. The pattern frequencies may be fractional in the optimal LP-solution. A procedure should be used to round them to integers to obtain a feasible solution to the IP model. A residual problem may be generated if the pattern frequencies are simply rounded down as (⌊x1⌋, … , ⌊xm⌋), where the (remaining) demands are . It must be solved to complete the solution.
Guillotine cuts are often required to divide the plates into items. Two-staged (2STG) patterns are among the simplest guillotine pattern types that are used in the cutting process, where the cuts in the first stage split the plate into strips, and those in the second stage divide the strips into items. The cuts in the same stage are in the same direction, and the cut directions of the two stages are perpendicular to each other. The items can be orientated or non-orientated. In the later case an item can be placed on the plate with its length orientation being either horizontal or vertical. This paper concerns the TDCS with 2STG patterns (TDCS_2STG). The TDCS_2STG is denoted as TDCS_2STGO for the orientated case and as TDCS_2STGR for the case of allowing rotation (non-orientated). The TDCS_2STGR is the focus of this paper.
The proposed algorithm is denoted as the RCCG (repeated constrained column-generation), where R (repeated) means that the complete solution (the complete cutting plan) is obtained from repeatedly solving the residual problems until the demands are satisfied, C (constrained) indicates that the patterns are generated mainly using a procedure for the constrained two-dimensional SLOPP (C_SLOPP), and CG means that each residual problem is solved by the CG approach. Each run of the CG fulfills some portion of the remaining demands. More precisely, the master problem solved in each run of the CG can be formulated as follows, where ri = di for the first run:
Let A = [aij]m×m, R = [ri]m×1 and X = [xj]m×1. The problem can also be written as:
The sub-problem solved for generating the patterns in the first run is the unconstrained SLOPP (U_SLOPP):
The U_SLOPP is naturally constrained despite the absence of explicit constraints on the demand per piece type, because pi ⩽ ⌊(LW)/(liwi)⌋ must be hold for any feasible pattern. The patterns in the subsequent runs are generated from solving the following sub-problem (C_SLOPP):
As later demonstrated in the computational test, the RCCG is powerful in input minimization. It can solve most benchmark instances to optimality. For those solutions whose optimality is not proven, the gap to optimality is at most one plate. For the instances tested, the RCCG is more effective in input minimization than a published algorithm and a commercial stock cutting software package.
The remaining contents are organized as follows. The literature is reviewed in Section 2. The C_SLOPP procedure for 2STGR patterns is described in Section 3, followed by the presentation of the RCCG algorithm in Section 4. The computational results are reported in Section 5 and the conclusions are given in Section 6.
Section snippets
Approaches for the TDCS
The solution of the TDCS is a cutting plan that contains a set of different cutting patterns, where both the frequency and items layout of each pattern are specified.
There are at least three approaches for the TDCS. The first is the integer programming (IP) approach that is exact, where the decision variables are the pattern frequencies that must be non-negative integers. IP models for the TDCS_2STGO have been presented in Lodi et al., 2004, Silva et al., 2010. The later authors used the C
Two-staged patterns
Fig. 1 shows two 2STG patterns, where the numbers denote the item types. They have obvious strip structure. The left is an X-pattern in which the strips are horizontal, and the right is a Y-pattern where the strips are vertical. A 2STG pattern can be divided into items within two stages. The plate is divided into strips at the first stage, and the strips into items at the second stage. The first-stage cuts are horizontal for an X-pattern. They are vertical for a Y-pattern.
Strip-generation procedure
The C_SLOPP procedure
Algorithm RCCG
The RCCG consists of the following steps, where the terms CGC, CGU and ROUND will be explained later:
- Step 1.
Solve the original problem using the CGU and call the ROUND to obtain the related partial cutting plan and the residual problem. Go to Step 4 if the residual problem is null.
- Step 2.
Solve the current residual problem using the CGC and call the ROUND to obtain the related partial cutting plan and the residual problem. Go to Step 4 if the residual problem is null.
- Step 3.
Go to Step 2 with the new residual problem
Computational results
Although the RCCG is presented for the non-oriented case, it can be adapted to deal with the oriented case. This section contains four subsections. The RCCG is compared with the heuristic algorithm of Cintra et al. (2008) in Section 5.1, with the exact algorithm of Silva et al. (2010) in Section 5.2, and with a commercial stock cutting software package in Section 5.3. The effect of the G value is explained in Section 5.4. Four sets of instances are used. The first set is obtained from Cintra et
Conclusions
The algorithm RCCG in this paper solves the two-dimensional single stock size cutting stock problem with two-staged patterns and rotation of items. It calls the column-generation approach repeatedly to solve the residual problems until all demands are satisfied. The convergence of the algorithm is guaranteed by solving the constrained single large object placement problem to generate the cutting patterns.
Two-staged patterns are simple to cut than most pattern types, and are widely used in
Acknowledgment
This research is part of Project 61063031 supported by National Natural Science Foundation of China.
References (22)
- et al.
Algorithms for two-dimensional cutting stock and strip packing problems using dynamic programming and column generation
European Journal of Operational Research
(2008) - et al.
Reducing the number of cuts in generating three-staged cutting patterns
European Journal of Operational Research
(2012) - et al.
A recursive branch-and-bound algorithm for constrained homogenous T-shape cutting patterns
Mathematical and Computer Modelling
(2011) - et al.
Strip generation algorithms for constrained two-dimensional two-staged cutting problems
European Journal of Operational Research
(2006) - et al.
Arc-flow model for the two-dimensional guillotine cutting stock problem
Computers and Operations Research
(2010) - et al.
Heuristics for the one-dimensional cutting stock problem with limited multiple stock lengths
Computers and Operations Research
(2009) - et al.
An integer programming model for two- and three-stage two-dimensional cutting stock problems
European Journal of Operational Research
(2010) A sequential heuristic procedure for the two-dimensional cutting-stock problem
International Journal of Production Economics
(2006)- et al.
An improved typology of cutting and packing problems
European Journal of Operational Research
(2007) - et al.
A computational study of LP-based heuristic algorithms for two-dimensional guillotine cutting stock problems
OR Spectrum
(2002)