Computers & Operations Research 33 (2006) 2744 – 2756 www.elsevier.com/locate/cor
A hybrid heuristic to reduce the number of different patterns in cutting stock problems Horacio Hideki Yanasse∗ , Marcelo Saraiva Limeira National Space Research Institute (Brazil), INPE/LAC, P.O. Box 515, S.J.Campos, S.P. 12201-970, Brazil Available online 31 March 2005
Abstract We propose a hybrid procedure to obtain a reduced number of different patterns in cutting stock problems. Initially, we generate patterns with limited waste that fulfill the demands of at least two items when the patterns are repeatedly cut as much as possible but without overproducing any of the items. The problem is reduced and the residual problem is solved. Then, pattern reduction techniques (local search) are applied starting with the generated solution. The scheme is straightforward and can be used in cutting stock problems of any dimension. Variations of the procedure are also indicated. Computational tests performed indicated that the proposed scheme provides alternative solutions to the pattern reduction problem which are not dominated by other solutions obtained using procedures previously suggested in the literature. 䉷 2005 Elsevier Ltd. All rights reserved. Keywords: Pattern reduction; Cutting stock; Heuristics
1. Introduction In many wood, paper and steel industries, the cutting process and/or the type of machines impose a setup cost every time a different pattern is cut. For instance, the positions of the cutting knifes in a machine must be adjusted or prepared for every new pattern that is cut. In these settings, it is desirable to have a cutting plan with a reduced number of patterns. On the other hand, keeping the waste of material as low as possible is always another desired objective in practice. Unfortunately, these are usually two conflicting ∗ Corresponding author. Fax: +55 12 39456375.
E-mail address:
[email protected] (H.H. Yanasse). 0305-0548/$ - see front matter 䉷 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2005.02.026
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
2745
objectives. In this work, we address this bi-criteria decision problem that is of relevance when machine costs are significant compared with the costs of material. The minimization of waste and the number of patterns problem (P) can be formulated as n n Minimize (z1 , z2 ) = xi , (xi ) (1) i=1
Subject to
n
i=1
ai xi d,
(2)
i=1
xi 0,
i = 1, 2, . . . , n and integer,
(xi ) is equal to 1 for xi > 0 and is equal to 0, otherwise,
(3) (4)
where n is the total number of feasible patterns in the problem; ai is the cutting pattern i. Its element aj i , j =1, 2, . . . , m, is the number of items j contained in pattern i, m is the total number of different items in the problem; xi is the run quantity (or frequency) of pattern i, d is the customers’ order requirements vector. Its element dj , j = 1, 2, . . . , m, is the amount required for item j. We assume, without loss of generality, that 0 < d1 d2 d3 · · · dm , and any two items in the problem are different in size. There seems to be a relative small number of published papers dealing with pattern reduction/controlling problems. In Haessler [1], a repeated pattern exhaustion technique is proposed to solve the cutting stock problem where a pattern is selected if it satisfies the aspiration levels of waste and frequency. Farley and Richardson [2] modeled a pattern minimization cutting stock problem as a fixed charge problem by considering a single objective composed of the sum of the cost of the patterns and the setup costs. The learned literature about fixed charge problems is vast since many other (practical) problems are modeled as such. However, some particularities of the cutting stock problem prevent us to apply, in most cases, the methods proposed to solve other fixed charge problems arising in other settings. In particular, the large number of columns in practical cutting problems is one of the difficulties that must be taken into account. Farley and Richardson [2] use simplex iterations to replace basic variables (the cutting patterns) by surplus variables to reduce the number of patterns. In Haessler [3], the basic ideas of some heuristics suggested in the literature that use the repeated pattern exhaustion technique are presented. Foerster and Wäscher [4] propose a pattern reduction method by iteratively combining 2, 3, 4 or more patterns, of a minimal input cutting plan generated in a first stage. They extend the idea suggested by Diegel et al. [5]. Umetami et al. [6] propose a heuristic that searches a solution that minimizes the quadratic deviation of the cut items from the requirements after the number of different patterns is fixed to a predefined value. They also review some other works that combine two patterns into one. Vanderbeck [7] proposes a quadratic integer programming formulation to minimize the number of setups in the unidimensional case. He proposes a decomposition method and a branch-and-bound algorithm procedure to solve the problem. Apparently, only small and moderate size problems could be solved to optimality in a reasonable amount of computational time (2 h). The fact that mostly heuristics have been proposed in the literature to solve this problem can be explained by the fact that the pattern minimization in cutting stock problems is strongly NP-hard, even for the special case in which any two customer items fit into an object, but no three do [8]. Note that for
2746
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
this case, the basic problem of finding a minimum waste solution is trivial. Recall that the cutting stock problem (problem (1)–(4) considering only the objective function z1 ) by itself is NP-hard. We propose a heuristic to find a solution to (P). The method is based on the observation that in order to have a reduced number of patterns, the requirements of more than one item (on average) must be completed when the run quantity of a pattern is cut. Therefore, one of the ideas inbedded in the heuristic is to include “good” patterns in the solution. By “good” patterns we mean those that complete the requirements of at least two items and that have a waste below a certain limit. In Section 2, we present a lower bound for the minimum possible number of different patterns in a cutting stock problem. Lower bounds can be helpful in evaluating the quality of the solutions obtained with heuristics. In Section 3 we present the proposed heuristic. In Section 4, we present some computational tests results. In Section 5, we present modified versions of the scheme that can also be used to determine alternative solutions to (P). In Section 6, we conclude with a brief summary of the results. 2. Lower bound Let pmin be the least possible number of patterns in any solution to (P). It should be of interest to know the value of pmin . However, Proposition 1. Determining pmin is NP-hard. Proof. Consider, for instance, the NP-complete problem PARTITION (see [9]): “Given a finite set A and a size s(a) belonging to Z+ for each a ∈ A, is there a subset A ⊆ A such that s(a) = s(a)? . (5) a∈A
a∈A−A
One can transform the PARTITION problem into a minimization of cutting stock and minimization of the number of different patterns problem (PP) where we want to minimize the number of objects of size L = (1/2) a∈A s(a) from which we wish to cut the items of sizes s(a), a ∈ A. The least possible number of patterns (and objects) in an optimal solution to (PP) is 2 (excluding the trivial cases) if and only if the solution to PARTITION is YES. So, finding the least possible number of patterns in an optimal solution to (PP) is at least as difficult as solving PARTITION. Observe that a similar proof can be used to show that (P) is NP-hard. Since pmin is difficult to determine we present a lower bound for it next. Proposition 2. The number of patterns in the optimal solution to the associated cutting stock problem obtained from (P) with dj = 1, j = 1, 2, . . . , m is a lower bound on the number of patterns of any feasible solution to (P). Proof. All items in problem (P) must be cut in at least one pattern. The number of patterns in an optimal solution to the associated cutting stock problem is equal to its minimum input cutting plan. This lower bound will be denoted by LB1. LB1 was pointed out before in Yanasse and Limeira [10] and is a tight bound. One can easily construct instances where this bound is achieved and with varying values for the demands of the items.
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
2747
LB1 is also a valid lower bound when we impose equality on constraint (2) of (P). However, equality on constraint (2) instead of inequality may have a significant impact on the solution to instances of (P).
3. The heuristic A solution with a reduced number of patterns while maintaining the overall waste at a desirable level, means that the solution must be composed of patterns with limited waste and these patterns, once cut, simultaneously complete the demands of items contained in them (on the average, a number compatible with the number of different patterns). The smaller the number of patterns, the larger the number of items whose demands are simultaneously completed. Also, if the number of patterns is reduced, their run quantities must increase (on the average) for the overall number of objects will remain the same (or increase). Patterns with a run quantity R must contain items having demand greater or equal to R, otherwise, overproduction (waste) will occur. Such observations led us to propose the use of the well-known Repeated Pattern Exhaustion Technique— RPET (see [1,4,11–14]) for determining “good” patterns to the cutting stock problem composed with items having close demands or having demands that are multiple (or submultiple) of each other. Recall that, in the RPET, patterns of the cutting plan are determined successively. A pattern is accepted in the cutting plan if it fulfills some aspiration levels. In our case, we imposed patterns with the following aspiration levels: (a) run quantity G; (b) efficiency at least and (c) the demands of more than one item contained in the pattern are fulfilled after cutting it G times. If no more patterns generated achieve these aspiration levels, the use of the RPET is halted. The items whose demands are not fully satisfied will compose the residual cutting problem. The minimum input cutting plan for this residual problem is determined and then, pattern reduction techniques, proposed previously in the literature are used (for instance, using the procedure suggested by Farley and Richardson [2]; or Foerster and Wäscher [4], for the one-dimensional case). The heuristic proposed is, hence, a hybrid procedure composed of three phases. In the first phase, patterns are generated and the “good” ones are selected and used to reduce the problem; in the second phase, the reduced problem is solved and, in the third phase, a pattern reduction technique is applied. 3.1. The run quantity G We consider, in turn, different values of G, aiming to cluster together items with close demands or with demands that are multiples or submultiples of each other. Since the patterns desired, when cut, must finish the demands of at least two or more items, the run quantity G must be a submultiple of the demands of some of the items. Therefore, the candidates we choose for G are submultiples of the demands of the items and we start with the largest possible one. The potential candidates for factors are {dj /k, for all k ∈ {1, 2, . . . , dj }, j = 1, 2, . . . , m, that satisfies dj ≡ 0 (mod k)}. These values are ordered in decreasing order (excluding the equal values), F 1, F 2, . . . , 1, and they are tested one by one. Some of these values can be excluded from the beginning. For instance, since we established that two or more items must be finished with a pattern, then the first G to be considered is given by dm−1 , if dm is a multiple of dm−1 , or a smaller value, otherwise.
2748
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
To generate the patterns with run quantity G we define a surrogate cutting stock problem (P1) with the same items as the original problem (P) with demands obtained by dividing d1 , d2 , . . . , dm by G and taking only the integer part. Any cutting pattern feasible to problem (P1) is also feasible to (P) and, in addition, can be cut at least G times without overproduction. By using the pattern exhaustion technique scheme, patterns are generated for problem (P1) in sequence and if the pattern attains the aspiration levels (b) and (c), it is accepted. This pattern will be part of the overall solution for problem (P) having a running quantity of G. In the sequence, when the next pattern generated for problem (P1) is not good enough then we reduce the item requirements of problem (P) according to the accepted pattern(s) and the running quantity G. If no pattern is accepted, no reduction is made. A new factor G is defined and the process is repeated as from the beginning. The process stops when the factor 1 is reached and no more patterns achieve the aspiration levels desired. 3.2. The efficiency aspiration level We propose the use of a varying cutoff efficiency value in order to accept a pattern or not. In computational tests made by Yanasse et al. [13], final solutions to cutting stock problems were sensitive to different values of . A two pass scheme, therefore, is suggested here, with slightly different values of . The first pass is a conservative one. takes the value (1 − s ), s = 0, 1, 2, . . . with 0 = and s is the average waste that a solution to the reduced problem (after the acceptance of the patterns obtained with = (1 − s−1 )) must have in order to compose an overall solution of waste . Usually the last patterns generated sequentially in a pattern exhaustion technique scheme tend to become “worse” as we move on in the process. Therefore, to compensate for that, we may impose that the initial patterns accepted must be better than the average. Hence, in the second pass, we propose that the used is given by (1 − 0.8s ), s = 0, 1, 2, . . . with 0 = . For we use the waste obtained by solving the cutting stock problem associated to (P), that is, the problem when just the single objective z1 is considered. The best overall solution, in terms of efficiency, obtained from the two passes is kept. The proposed heuristic is summarized next. Heuristic Input: Cutting Stock Problem (P). Output: Solution to Cutting Stock Problem with a reduced number of patterns. Begin (Phase 1) 1. Compute for problem (P). 2. P ass ← 1. 3. Update according to Pass. 4. Determine the ordered list L of the decreasing factors Fi for the current demands. 5. h ← 1. 6. Define problem (P1) for the current factor Fh . 7. Generate a cutting pattern.
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
8.
2749
If pattern satisfies aspiration levels then Store pattern and its frequency Fh . Update demands. Update . If all demands are not satisfied then Return to Step 4. else Go to Step 10. Endif. else If (Fh is equal to 1) then Go to Step 9. else Update h(h ← h + 1). Return to Step 6. Endif. Endif.
(Phase 2) 9. Solve residual problem. 10. Store best overall solution. 11. P ass ← P ass + 1. 12. If (Pass is equal to 2) then Get original problem (P). Return to Step 3. Endif. (Phase 3) 13. Apply pattern reducing techniques to current solution. 14. Output solution and STOP. End As can be seen, this procedure can be used in cutting stock problems of any dimension. In the next section, we present some computational test results obtained using the proposed scheme.
4. Implementation and computational experiments The computational tests were limited to the unidimensional cutting stock problem. Although this is the simplest case it is already quite difficult to handle. All the implementation was made using C++. The computational tests were performed in a microcomputer Intel Celeron, 266 MHz, 128 MB RAM and a workstation Sun Ultra 30, 296 MHz 384 MB RAM. It is worth doing some pre-processing to save unnecessary computations when executing the heuristic for the unidimensional case. Suppose that L is the size of the object and ls is the size of item s. We know that only patterns that complete the demand of at least two items are accepted in the first phase. The items
2750
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
Table 1 Characteristics of the instances generated for the computational tests Class
m
1
2
dbar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
10 10 20 20 40 40 10 10 20 20 40 40 10 10 20 20 40 40
0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.2 0.2 0.2 0.2 0.2 0.2
0.2 0.2 0.2 0.2 0.2 0.2 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8
10 100 10 100 10 100 10 100 10 100 10 100 10 100 10 100 10 100
whose demand can be completely fulfilled are those that satisfy ls ds < L, where ds is the scaled demand of item s. So, the patterns that need to be checked in the first phase are only those that contains at least two items obeying this inequality and the corresponding quantities to be cut in the pattern is at least their full demand. Hence, only such patterns need to be generated. By the same token, if we reach some factor Fj such that ls ds + lh dh > L for all pairs of items (s, h), then we can finish phase 1 since there is no way of getting a pattern that completes at least the demand of at least two items. The set of data used was generated using CUTGEN1 of Gau and Wäscher [15]. Eighteen classes of random instances were generated as in Foerster and Wäscher [4] or Umetami et al. [6]. The classes combine different values of the parameters m, 1 , 2 and dbar. L was set to 1000. The lengths lj were generated randomly in the interval [1 L, 2 L]. dbar is the average of the demands dj , j = 1, 2, . . . , m. For each class, 100 instances were generated and solved, using the same seed as in their study. In Table 1 we present the characteristics of the classes of random instances generated. In Fig. 1 we present the demand distribution for all the instances in classes 1 and 2. As can be seen, the demands are distributed in a wide range as we would expect for random generated problems. In class 1, with average demand equal to 10, the largest demand is over 30 times larger than the smallest demand; in class 2, with average demand equal to 100, the largest demand is over 250 times larger than the smallest demand. The distribution for the other classes are similar, therefore, they are not presented. In Table 2 we present the results obtained. The residual problem was solved using the LP relaxation and the fractional values obtained were rounded down to their nearest integer. Then the remaining demands were fulfilled, using the FFD heuristic (see [16]) for the unidimensional bin-packing problem. In Phase 3 of the heuristic, we used Foerster and Wäscher’s [4] KOMBI1234 pattern reduction method. We also present the corresponding solution values using Stadtler’s [17] procedure and Haessler’s [1] procedure,
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756 Demand distribution 12
60
10
50
8
Frequency
40 30 20
6 4 2
10
Demand
Demand
Class 1
Class 2
249
215
193
173
156
139
122
105
88
70
53
36
30
25
22
19
16
13
10
7
4
1
1
0 19
Frequency
Demand distribution 70
0
2751
Fig. 1. Demand distribution for all the instances in classes 1 and 2.
Table 2 Results obtained from the heuristic (column H) Class
H
Sa
HRa
LB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
(11.56, 3.31) (110.4, 6.95) (22.17, 4.96) (215.98, 10.32) (42.99, 7.63) (424.89, 13.31) (51.69, 7.66) (502.23, 9.62) (99.49, 13.64) (948.41, 18.21) (195.67, 24.60) (1847.42, 33.23) (64.20, 8.93) (633.26, 10.51) (123.90, 16.28) (1197.66, 19.89) (244.02, 29.76) (2268.3, 37.90)
(11.49, 3.40) (110.25, 7.81) (22.13, 5.89) (215.93, 14.26) (42.96, 10.75) (424.71, 25.44) (50.21, 7.90) (499.52, 9.96) (93.67, 15.03) (932.32, 19.28) (176.97, 28.74) (1766.20, 37.31) (63.27, 8.97) (632.12, 10.32) (119.43, 16.88) (1191.80, 19.91) (224.68, 31.46) (2242.4, 38.28)
(11.63, 4.14) (111.91, 5.98) (22.33, 5.83) (219, 8.49) (43.54, 8.89) (430.84, 13.01) (51.56, 10.24) (514.61, 11.11) (97.02, 19.03) (968.02, 21.34) (185.44, 35.94) (1855.4, 39.97) (64.7, 10.23) (646.39, 10.73) (122.91, 19.96) (1226.5, 20.76) (234.66, 37.8) (2344.5, 39.77)
1.66 1.66 2.55 2.55 4.25 4.25 4.99 4.99 9.24 9.24 16.92 16.92 6.27 6.27 11.76 11.76 21.98 21.98
a Reproduced from Foerster and Wäscher [4].
reproduced from Foerster and Wäscher [4] (columns S, and HR, respectively). In column LB, an average of the lower bounds LB1 on the number of different patterns for the instances in each class are presented. From Table 2, we can observe that Stadler’s procedure consistently produced non-dominated solutions (solutions that are better in terms of at least one of the objectives) in terms of the number of objects. However, the average number of different patterns generated was usually larger compared to the ones obtained with the other procedures. Only in one class, the average number of different patterns observed was smaller (class 14). With the proposed heuristic, the resulting average number of different patterns
2752
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
Table 3 Average times (in seconds) for the heuristics Class
H
Sa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
0.23 0.48 0.12 2.75 3.43 7.81 0.11 0.60 0.49 3.36 7.17 44.62 0.13 0.25 0.97 2.46 15.46 50.61
0.35 1.26 2.10 16.41 40.03 383.30 0.11 0.24 1.47 3.40 36.98 77.41 0.13 0.18 1.92 2.71 51.31 71.31
a Reproduced from Foerster and Wäscher [4].
was generally smaller compared with the other two methods (in 14 out of 18 classes); in 3 classes Haessler’s procedure provided a smaller average number of different patterns. We present in bold all the non-dominated solutions obtained, hoping that they are part of (or close to) the Pareto optimal solutions of problem (P). The heuristic performed better for classes (1)–(6). This was expected since the number of possibilities to combine 2 or more items in a pattern is large when the items’ lengths are relatively small compared with the length of the object. For the other classes (7)–(18), where there are larger items, the number of possibilities decreases substantially. So, a deterioration of the performance of the heuristic is expected in these classes. This does not mean that the heuristic does not work for these cases. The difficulty in combining items (reducing the number of patterns) is inherent to these classes of problems with large-sized items. For these classes, any method faces the same difficulty in reducing the number of patterns as our method. Although LB1 is tight for instances where all demands are equal to 1, in our computational tests we observed that the bounds it provided were considerably far from the values obtained using the heuristics. By our observation of the instances and the solutions obtained, it seems that, most likely, the quality of the bound is not good for randomly generated instances. Execution times for the heuristic implemented are given in Table 3. The processing times provided in Foerster and Wäscher [4] for the Stadtler’s procedure are also provided. The direct comparison between the processing times of both procedures are not possible since the results of Foerster and Wäscher [4] were obtained in an IBM-compatible 486/66 personal computer using MODULA-2 as the programming language. We can observe that the approach worked quite well even though the tested problems are randomly generated data. In practical problems, the data are more likely to favor the proposed approach, since the
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
2753
requirements of the items (groups of them) are often related (are multiples of each other, for example, items that are parts of a product). Also, in practical problems, the demands of the items are not widespread. Companies dealing with high volume demands do not deal with low volume orders; companies with low volume orders do not deal with high volume demands. The proposed method, hence, was tested in much more adverse conditions than we would encounter in practice and its observed performance was still quite good. We can see that the proposed heuristic can provide alternative solutions to (P) which are not dominated by other solutions obtained using procedures previously suggested in the literature.
5. Variants of the heuristic Haessler’s method [1] allows us to determine good (Pareto) solutions by varying a parameter of his procedure, as was also indicated by Foerster and Wäscher [4]. Similarly, good solutions can be obtained by varying the parameter in phase 1 of our proposed heuristic. Next, we propose other variants of the heuristic that also allow us to determine other good solutions. The first variant, denoted by Variant 1, is based on the observation that in the 1800 instances tested by Foerster and Wäscher [4], consistently, the solution to problems where the average demand is low presented a smaller number of patterns compared with the instances with the same parameters but with larger demands. Hence, our proposal is to scale down the demands of the items by a constant factor and solve the resulting problem instead of the original one. The division of the demand by the constant factor may not be an integer. In this case, to guarantee that all demands are fulfilled the fractional values are rounded up to the nearest integer. We ran a few computational test experiments to test this idea. The tests were conducted for the even classes that have a larger average demand of the items. The constants chosen were 10, 5 and 2 and the results obtained with the application of the heuristic are indicated in Table 4. Confirming our previous observations, the number of different patterns is smaller when solving instances with smaller demands. However, the number of objects to solve the original problem increased Table 4 Results obtained by scaling down the demands Class
Ha
Hb
Hc
H
2 4 6 8 10 12 14 16 18
(118.40, 4.13) (227.61, 5.75) (443.46, 8.55) (518.38, 8.55) (1003.92, 14.93) (1986.94, 26.82) (640.82, 9.85) (1238.59, 18.05) (2459.81, 32.54)
(114.15, 4.43) (221.65, 6.32) (433.45, 9.47) (508.04, 8.95) (988.87, 15.82) (1948.00, 28.42) (637.77, 10.13) (1216.57, 18.96) (2377.26, 34.20)
(111.42, 5.45) (217.78, 8.15) (427.21, 11.07) (503.49, 9.47) (960.83, 17.36) (1897.00, 30.69) (633.76, 10.38) (1201.78, 19.54) (2303.00, 36.28)
(110.4, 6.95) (215.98, 10.32) (424.89, 13.31) (502.23, 9.62) (948.41, 18.21) (1847.42, 33.23) (633.26, 10.51) (1197.66, 19.89) (2268.3, 37.90)
a With demands scaled down by a factor of 10. b With demands scaled down by a factor of 5. c With demands scaled down by a factor of 2.
2754
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
Table 5 Results of Variant 2 Class
V2
H
1 2 7 8 9 10 11 12 13 14 15 16 17 18
(11.55, 3.23) (110.6, 6.27) (51.84, 7.17) (513.62, 8.18) (98.24, 13.00) (981.43, 15.07) (191.18, 23.79) (1890.14, 28.59) (65.39, 7.92) (648.02, 8.73) (124.81, 14.82) (1243.88, 16.38) (241.56, 27.25) (2407.99, 29.99)
(11.56, 3.31) (110.4, 6.95) (51.69, 7.66) (502.23, 9.62) (99.49, 13.64) (948.41, 18.21) (195.67, 24.60) (1847.42, 33.23) (64.20, 8.93) (633.26, 10.51) (123.90, 16.28) (1197.66, 19.89) (244.02, 29.76) (2268.3, 37.90)
due to the scaling factor considered. Different scaling factors produced different results. By varying the scaling factors we can use Variant 1 to generate non-dominated solutions for the problem. Another variant, denoted by Variant 2, is to round the scaled demands up to the nearest integer instead of rounding them down in phase 1 of the heuristic. As a consequence, when a pattern is cut a quantity superior to the amount that is required of some of the items contained in the pattern will be produced, that is, overproduction of some items will occur. Also, due to the rounding up, the run quantity of the pattern may not be the scaling factor value anymore but some smaller value. The run quantity of the pattern must be recalculated for each potential pattern analysed. The potential advantage of rounding up the scaled demands is that, items with demands whose multiples or submultiples are close to each other can now be completely cut together using a single pattern. This was not possible to accomplish following the original procedure. To accept a pattern, we maintain the aspiration levels, that is, we accept a pattern if its waste is within some target level. Recall that overproduction of any item is considered waste. Also, the potential candidates for factors are not limited to the exact submultiples of the demands but all the values of the form {dj /k, for all k ∈ {1, 2, . . . , dj }, j = 1, 2, . . . , m} are considered. Variant 2 seems to be more robust in reducing the number of patterns compared with the hybrid heuristic since it is less affected by the demand data, however, it is more likely to produce solutions with larger waste due to the rounding up approximations made. In Table 5, we present the computational test results obtained with Variant 2 (column V2) where this variant’s potential in reducing the number of patterns (results of the original heuristic are provided in column H for comparison) can be confirmed. Finally, it should be observed that some simple post-processing or local adjustments can always be attempted to reduce the number of patterns. For instance, dominated patterns can be eliminated from the solution or a simple verification can be made whether the items produced by the patterns with the smallest frequencies in the solution cannot be alternatively produced by just increasing the run times of the patterns having larger frequencies.
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
2755
6. Concluding remarks We have presented a new scheme to reduce the number of patterns in a cutting stock problem. The scheme is general in the sense that it can be applied to cutting stock problems of any dimension. Computational tests performed indicated that the proposed scheme provides alternative solutions to the pattern reduction problem which are not dominated by solutions provided by previous procedures suggested in the literature. Proposals to carry out a tradeoff analysis of waste versus number of patterns were also suggested. Two variants and some post-processing procedures were suggested to reduce the number of patterns. It was shown that determining the value of the least possible number of patterns is a computationally difficult problem. A lower bound for the minimum possible number of different patterns in cutting stock problems was also presented. We focus on the case where we have only a single type of object. The case of multiple types of objects also deserves attention and is left for future research.
Acknowledgements This work was partially financed by FAPESP and CNPq. We also thank two anonymous referees for their helpful comments and suggestions. References [1] Haessler RW. Controlling cutting pattern changes in one-dimensional trim problems. Operations Research 1975;23: 483–93. [2] Farley AA, Richardson KV. Fixed charge problems with identical fixed charges. European Journal of Operational Research 1984;18:245–9. [3] Haessler RW. Cutting stock problems and solutions procedures. European Journal of Operational Research 1991;54: 141–50. [4] Foerster H, Wäscher G. Pattern reduction in one-dimensional cutting stock problem. International Journal of Production Research 2000;38:1657–76. [5] Diegel A, Chetty M, Van Schalkwyck S, Naidoo S. Setup combining in the trim loss problem—3to2 & 2to1. Working paper, Business Administration, University of Natal, Durban, First Draft, 1993. [6] Umetami S, Yagiura M, Ibaraki T. One-dimensional cutting stock problem to minimize the number of different patterns. European Journal of Operational Research 2003;146:388–402. [7] Vanderbeck F. Exact algorithm for minimizing the number of setups in the one-dimensional cutting stock problem. Operations Research 2000;48:915–26. [8] McDiarmid C. Pattern minimisation in cutting stock problems. Discrete Applied Mathematics 1999;98:121–30. [9] Garey MR, Johnson DS. Computers and intractability: a guide to the theory of NP-completeness. San Francisco: Freeman; 1979. [10] Yanasse HH, Limeira MS. Pattern reduction in cutting pattern problems. INFORMS annual meeting—San Antonio: TX, USA; 2000. [11] Dyckhoff H, Abel D, Gal T, Kruse HJ. Trim loss and related problems. OMEGA 1985;13:59–72. [12] Hinxman AI. The trim loss and assortment problem: a survey. European Journal of Operational Research 1980;5:8–18. [13] Yanasse HH, Harris RG, Zinober ASI. A heuristic to reduce the number of saw cycles when cutting hardboards. Presented at the XIII ENEGEP—Encontro Nacional de Engenharia de Produção/I Congresso Latino Americano de Engenharia Industrial, Florianópolis, SC, Brazil, October 1993. Proceedings of the XIII ENEGEP 1993, II. p. 879–85 [in Portuguese].
2756
H.H. Yanasse, M.S. Limeira / Computers & Operations Research 33 (2006) 2744 – 2756
[14] Yanasse HH, Zinober ASI, Harris RG. Two dimensional cutting stock with multiple stock sizes. Journal of the Operational Research Society 1991;42(8):673–83. [15] Gau T, Wäscher G. CUTGEN1: a problem generator for the standard one-dimensional cutting stock problem. European Journal of Operational Research 1995;84:572–9. [16] Johnson DS. Near optimal bin packing algorithms. Technical report MAC TR-109, Project MAC. Cambridge, MA: Massachusetts Institute of Technology; 1973. [17] Stadtler H. A one-dimensional cutting stock problem in the aluminium industry and its solution. European Journal of Operational Research 1990;44:209–23.