RECURSIVE ALGORITHM FOR GENERATING TWO-STAGED CUTTING PATTERNS OF PUNCHED STRIPS

The manufacture of parts made of metal sheet often includes two successive processes: the cutting process at which a guillotine shear cuts the sheet into strips, and the punching process at which a stamping press punches out the blanks from the strips. This paper presents an algorithm for generating optimal two-staged cutting patterns of strips for the cutting process. At the first stage the sheet is divided into segments with parallel cuts. Each segment contains strips with the same length and direction. The segments are cut into strips at the second stage. The algorithm calls a recursion function to determine the optimal strip layouts on segments of various lengths, and calls another recursion function to optimally arrange the segments in the sheet, so that the value of the pattern reaches maximum. The computational results indicate that the algorithm is efficient both in computation time and in material usage.


INTRODUCTION
A factory in the sheet metal industry may consume thousands of tons of metal sheet in a year to make products.The manufacturing process of parts made of metal sheet often includes two successive stages: the cutting stage and the punching stage.At the cutting stage, a guillotine shear divides the sheet into strips with orthogonal cuts.Each strip contains blanks of the same type.Strips of different blank types can appear in a sheet.At the punching stage, a stamping press punches out the blanks from the strips.Typically, a strip is fed into a stamping press that punches out a blank with each stroke, feeds the strip forward, and punches out the next blank.The blank layout on the strip was determined at the tooling design stage.It cannot be changed once the tooling is built.At the cutting stage, the blank layouts on strips are taken as known.Strips of different blank types may have different widths.Nesting strips of different widths in a cutting pattern can improve material usage at this stage.
The following parameters characterize the strips of a blank type: The initial step, the succeeding step, and the strip width.Figure 1a shows a strip with initial step 100, succeeding step 65, and strip width 229.The initial step is the minimum strip length to hold the first blank.The succeeding step is the length increased to hold one additional blank.Figure 1b shows a strip equivalent to that in Figure 1a.Equivalent strips can be used in generating cutting patterns at the cutting stage.That is to say, a strip of a blank type can be taken as consisting of rectangular blanks of at most two sizes, where the length of the first blank is longer than or equal to that of the others.The strips in Figure 1  The unconstrained two-dimensional cutting problem of strips (UTDC for short) discussed can be formally stated as: m types of strips are to be cut from stock sheet W L × with a guillotine shear.For the i th strip, m i , , 1 K = , the initial step is i a , the succeeding step is i b , the strip width is i w , and the value of a blank is i c .Both the sheet size and the strip parameters are positive integers, and there is no constraint on the numbers of blanks appearing in a cutting pattern.The task is to generate the cutting pattern that has the maximum value, which is equal to the sum of the values of the blanks included.Assume that G is a cutting pattern, and i x is the number of the i th blank type appearing in this pattern.The mathematic model for the UTDC is: The UTDC is interesting for that it is closely related to the two-dimensional cutting stock problem of strips (TDCS for short).The TDCS is the problem of cutting all required numbers of blanks of different types from a set of rectangular sheets at minimum sheet cost.A solution of the TDCS consists of several cutting patterns, each of which can be generated by an algorithm for the UTDC.The linear programming (LP) approach have been used by many authors to solve cutting stock problems, where the blanks can be of any shape from regular to irregular [1][2].It certainly can also be used to solve the TDCS.Starting from an initial solution, the LP approach can solve the TDCS according to the following steps: Step 1. Determine i c , the current value of a blank of the i th type, m i , , 1 K = , from the current solution.
Step 2. Use an algorithm for the UTDC to solve Model (1) to obtain pattern G .Go to Step 4 if pattern G has a value not larger than that of the sheet used.
Step 3. Replace a pattern in the current solution with pattern G .Go to Step 1.
Step 4. Output the solution.
The LP approach solves the TDCS through iteration consisting of steps 1 to 3. A large number of UTDC must be solved before the LP approach finds a solution close to optimal.
Among the papers dealing with two-dimensional cutting problems, the number of those that use strips in generating cutting patterns is relatively small.Some authors used strips in generating cutting patterns for rectangular blanks [3][4], where both general and uniform strips are used.A general strip contains blanks of different sizes.The width of the blanks in a uniform strip is the same, and the lengths of them may be different.Both general and uniform strips differ from the punched strips.References [2] and [5] presented algorithms for generating cutting patterns of punched strips.The proposed cutting patterns are a subset of the two-staged patterns proposed in this paper.The techniques used in the above papers cannot be directly used for generating good cutting patterns of punched strips.
This paper proposes the application of two-staged cutting patterns for punched strips, and presents an algorithm for them.Both the strip layouts on the segments and the segment layout on the sheet are determined recursively.The algorithm considers all possible segment lengths implicitly, and skips non-promising strips in generating strip layout for each segment.Different versions of the algorithm are tested through experimental computation.The results indicate that the algorithm is efficient both in material usage and in computation time.Finally, solution to an example is given.

THE SEGMENT LENGTHS THAT SHOULD BE CONSIDERED
To facilitate presentation, the algorithm will be described only for X-patterns, which can be easily extended to deal with Y-patterns.

Some concepts
Definition 1. Layouts and patterns.A layout denotes the arrangement of strips on a segment, and a pattern denotes the arrangement of segments on a sheet.
Definition 2. Directed layouts For a directed layout the strip direction in a segment is fixed.Assume that ) , ( y x F is the value of the optimal directed layout on segment y x × or x y × , where the strip direction is along length x .For segment Y X × , the optimal value is ) , ( Y X F when the segment is an X-segment; it is ) , ( X Y F when the segment is a Y-segment.Definition 3. Normal segment lengths for directed layouts Normal segment lengths are measured along the strip direction.They are the exact lengths of the strips that contain integral steps.For the strips of blank type i , let k i x , be the k th normal length, then P be the set of normal lengths of all blank types.Add 0, W and L to this set.Arrange the elements in increasing order of their values, namely } , , { 1 Let Q be the set of normal widths.Add 0 and W to this set.Arrange the elements in increasing order of their values, namely } , , { 1 , and W q N = .Normal segment widths have the following property: Assume that ) ( y q is the maximum normal width not larger than y , then )] ( , [ ) , ( y q x F y x F = .The reason can be interpreted in a similarly way to that for normal lengths.

The segment lengths that should be considered
The lengths of the segments in an X-pattern are measured horizontally.Assume that G is an optimal X-pattern and contains X-segment W x × .From Definition 3, replacing it with X-segment will not change the pattern value, i.e., there exists an optimal pattern, where the lengths of the X-segments all belong to set X P .Assume that pattern G contains Y-segment will not change the value of the pattern.Furthermore, assume that the number of Y-strips in segment is n .This segment can be taken as consisting of n Y-segments, each of which contains only one Y-strip.That is to say, there exists an optimal pattern, where each Y-segment contains only one strip.Therefore, the set of Y-segment lengths that should be considered is . Assume that P is the set of segment lengths that should be considered in searching for the optimal X-pattern, then The optimal directed strip layout on segment y x × is recursively determined as: , for that the solution to segment y x × has already been known; and (3) In Step 6 when all strips have been considered, namely when m i > .

The recursion function for the optimal pattern
Recall that only the segment lengths that belong to set P should be considered.
is the value of the optimal pattern on partial sheet , where function ) PatRec(x returns the value of the optimal pattern on partial sheet ; otherwise go to Step 7. Step 7. Return ) (x E .

THE ALGORITHM
Assume that the value of the optimal X-pattern is X V , the value of the optimal Y-pattern is Y V , and the value of the global optimal pattern is s . This section presents the algorithm for determining X V .It can be easily adapted for determining Y V .Four versions of the algorithm will be presented.

The basic version (Version A1)
Version A1 consists of the following steps: Step

The version based on normal lengths and widths (Version A2)
The steps of Version A2 are the same as those of A1 except Step 1, which is as follows: Step 1. Determine X P and Q from definitions 3 and 4. Determine P according to Section 3.2.

The version based on the solutions for shorter segments (Version A3)
Version A3 is an improved version of A1.It uses the solution to a shorter segment as the initial solution to the current segment, and skips some non-promising strips.
In Step 3 of Version A1 and A2, function ) SegRec( is called M times to find the value of the optimal layouts on X-segments = into the solution to segment y p j × cannot improve the solution, for that the solution is already optimal.As a result, introducing the same strip into the initial solution to segment y p i × cannot improve the solution either, for that this initial solution is actually the optimal solution to segment y p j × .

The final algorithm (Version A4)
Version A4 differs from A3 only in Step 1. Step 1 of A3 is the same as that of A1, whereas Step 1 of A4 is the same as that of A2.

Test on random problems
The computations were performed with a computer of clock rate 2.8GHz and inner memory 512MB.Fifty random test problems were used to test all versions of the algorithm.These problems were generated according to the uniform distributions in the following variable ranges: Sheet length in [2000,2500] , where i r is uniformly distributed in [0.6, 0.9]; the value is . Once the paper is published, these problems will be made available on the Internet: http://www.gxnu.edu.cn/Personal/ydcui/Index.asp The material usage is used to measure the quality of a pattern, which is determined as: Here u is the material usage, and i x is the number of the i th blank type appearing in the pattern.The average material usage is 97.7747%.The average computation time of one problem is 2.741s for A1, 0.361s for A2, 0.298s for A3, and 0.124s for A4.Version A2 considers only normal segment lengths and widths.It is much more efficient than A1; Version A3 uses the solution to shorter segments as the initial solution to the current segment, and skips non-promising strips.It is also much more efficient than A1.Version A4 uses both techniques.It is the most efficient one among all versions.

Solution to a cutting stock problem
Six types of blanks are to be cut from sheet 2000×1200.Assume that i d is the demand for the i th blank type.The data of the blank types are as follows ( ): 144×127×224×9720, 277×255×256×5647, 234×206×185×8725, 348×286×208×8985 A LP approach similar to that in [2] is combined with the algorithm of this paper to solve the example.Figure 4 shows the solution that contains four patterns.The total number of sheets used to meet the blank demand is 670 pieces, and the material usage is 94.04%.Pattern 4 is a Y-pattern, and the others are X-patterns.Each pattern contains two segments except Pattern 3, which consists of three segments. (1) (2) (3) (4)

CONCLUSIONS
For factories in the sheet metal industry, the number of blank types processed by the cutting and punching processes may range from 5 to 50.Generating good cutting patterns is helpful for improving material usage at the cutting stage.The algorithm presented in this paper can generate optimal two-staged cutting patterns feasible for the cutting stage.The computation time is reasonable for practical use.
Combined with the LP approach, the algorithm may be used to solve the cutting stock problem, where the variables are the numbers of sheets cut according to each pattern.The values of the variables must be rounded to integers.LP approach is not very adequate for the case where the demands for the blank types are smaller, for that the rounding procedure will cause the solution to departure from the optimal solution.To deal with the above situation, it is better to use an algorithm for the constrained two-dimensional cutting problem of strips (CTDC for short).The CTDC differs from the UTDC in that there exists constraint on the number of each blank type appearing in the cutting pattern.The two-staged pattern may be used in developing the algorithms for the CTDC.
will be referred to as punched strips, to differentiate them from other types of strips used in the literature.(a) (b) Figure 1.Strips.(a) A strip.(b) A equivalent strip.

Figure 2 Figure 2 .Figure 3 Figure 3 .
Figure2shows the sketches of the proposed two-staged patterns.A pattern is an X-pattern if the cuts dividing the sheet into segments are vertical; otherwise it is a Y-pattern.Each segment contains strips in the same direction, which is denoted by the arrow in the segment.A segment containing X-strips (horizontal strips) is an X-segment, and that consisting of Y-strips (vertical strips) is a Y-segment.

Figure 4 .
Cutting patterns.(1) 202 pieces.(2) 55 pieces.(3) 403 pieces (4) 10 pieces Normal segment widths for directed layouts Normal segment widths are measured in the direction perpendicular to the strip direction.They are the exact widths occupied by integral strips.Assume that y is a normal width, then: