17
THE CUTTING STOCK PROBLEM IN A HARDBOARD INDUSTRY: A CASE STUDY Reinaldo Morabito{ and Valdir Garcia{ Departamento de Engenharia de Produc ° a˜o, Universidade Federal de Sa˜o Carlos, 13565-905, Sa˜o Carlos, SP, Brazil (Received March 1997; in revised form September 1997) Scope and Purpose—This paper deals with the problem of cutting rectangular plates into smaller ones in a Brazilian hardboard industry. The problem is to determine the best patterns to be cut by an auto- mated machine composed of a set of circular saws, devices to move and hold the plates, and loading and unloading stations. This machine involves unusual constraints such as bounds on the number of item types and the dierence between the largest and the smallest length of the items in the cutting pattern, as well as usual constraints such as availability of longitudinal and transversal saws, orthog- onal and two-staged guillotine cuttings without trimming, among others. Abstract—A particular two-phase column generation procedure is described for the cutting stock for- mulation of the hardboard industry. Each phase of the procedure is modeled as an integer program and solved by two alternative methods: The first is based on dynamic programming and the second is a simple extension of the implicit enumeration procedure proposed in Gilmore and Gomory [1]. The ap- plication of the methodology is illustrated solving several random examples in a microcomputer as well as an actual problem derived of the hardboard industry under consideration. # 1998 Elsevier Science Ltd. All rights reserved 1. INTRODUCTION The problem of cutting large objects into smaller ones (items) can be found in many industrial processes. Some examples are the cutting of steel bars and sheets in metallurgy, the cutting of paper rolls in the paper and cardboard industry, the cutting of plates of wood and other ma- terials in the furniture industry, the cutting of glass and plastic sheets in the glass industry, among others. The waste material (trim-loss) in the cutting process may be substantial, depend- ing on the diversity of available objects and ordered items as well as the limitations imposed by the cutting machines. The cutting stock problem is to find a way to produce the ordered items from the objects in that a criteria is optimized, for example, minimizing the waste material. It should be noted that this problem can be seen as a problem of packing items into objects in such a way to maximize the object area utilization. Cutting and packing problems have been extensively dealt with in the literature by many authors; for surveys the reader is referred to Dyckho [2], Dowsland and Dowsland [3], Dyckho and Finke [4] and Sweeney and Paternoster [5]; see also Bischo and Waescher [6]. In most cases the problems can be modeled by means of mathematical programming and, since the models rarely belong to the class P (i.e. no polynomial-time algorithms are known to solve them and it is unlikely that such algorithms may exist), in general it is not an easy task to solve them and approximate methods (heuristics) are frequently applied. In this paper we are concerned with a particular cutting problem found in a large Brazilian hardboard industry. The current waste material in the cutting process involves approximately 20 Computers Ops Res. Vol. 25, No. 6, pp. 469–485, 1998 # 1998 Elsevier Science Ltd. All rights reserved Printed in Great Britain 0305-0548/98 $19.00 + 0.00 PII: S0305-0548(97)00087-7 { Reinaldo Morabito is an associate professor of the Production Engineering Department, Universidade Federal de Sa˜o Carlos, Brazil. He has a B.Sc. in Civil Engineering from Universidade de Campinas, a M.Sc. in Operations Research and a Ph.D. in Transportation Engineering from Universidade de Sa˜o Paulo, Brazil. He was a visiting scholar at the Sloan School of Management, Massachusetts Institute of Technology, in 1993 and 1994. His research interests include industrial cutting and packing problems, queueing networks applied to manufacturing systems, combinatorial optimization, logistics and operations management. { Valdir Garcia is a former research assistant of the Production Engineering Department, Universidade Federal de Sa˜o Carlos, Brazil. He has a B.Sc. in Industrial Engineering and a M.Sc. in Operations Management from the aforemen- tioned university. 469

The cutting stock problem in a hardboard industry: A case study

Embed Size (px)

Citation preview

THE CUTTING STOCK PROBLEM IN A HARDBOARD

INDUSTRY: A CASE STUDY

Reinaldo Morabito{ and Valdir Garcia{Departamento de Engenharia de Produc° aÄ o, Universidade Federal de SaÄ o Carlos, 13565-905,

SaÄ o Carlos, SP, Brazil

(Received March 1997; in revised form September 1997)

Scope and PurposeÐThis paper deals with the problem of cutting rectangular plates into smaller onesin a Brazilian hardboard industry. The problem is to determine the best patterns to be cut by an auto-mated machine composed of a set of circular saws, devices to move and hold the plates, and loadingand unloading stations. This machine involves unusual constraints such as bounds on the numberof item types and the di�erence between the largest and the smallest length of the items in the cuttingpattern, as well as usual constraints such as availability of longitudinal and transversal saws, orthog-onal and two-staged guillotine cuttings without trimming, among others.

AbstractÐA particular two-phase column generation procedure is described for the cutting stock for-mulation of the hardboard industry. Each phase of the procedure is modeled as an integer programand solved by two alternative methods: The ®rst is based on dynamic programming and the second is asimple extension of the implicit enumeration procedure proposed in Gilmore and Gomory [1]. The ap-plication of the methodology is illustrated solving several random examples in a microcomputer as wellas an actual problem derived of the hardboard industry under consideration. # 1998 Elsevier ScienceLtd. All rights reserved

1. INTRODUCTION

The problem of cutting large objects into smaller ones (items) can be found in many industrialprocesses. Some examples are the cutting of steel bars and sheets in metallurgy, the cutting ofpaper rolls in the paper and cardboard industry, the cutting of plates of wood and other ma-terials in the furniture industry, the cutting of glass and plastic sheets in the glass industry,among others. The waste material (trim-loss) in the cutting process may be substantial, depend-ing on the diversity of available objects and ordered items as well as the limitations imposed bythe cutting machines. The cutting stock problem is to ®nd a way to produce the ordered itemsfrom the objects in that a criteria is optimized, for example, minimizing the waste material. Itshould be noted that this problem can be seen as a problem of packing items into objects insuch a way to maximize the object area utilization.

Cutting and packing problems have been extensively dealt with in the literature by manyauthors; for surveys the reader is referred to Dyckho� [2], Dowsland and Dowsland [3],Dyckho� and Finke [4] and Sweeney and Paternoster [5]; see also Bischo� and Waescher [6]. Inmost cases the problems can be modeled by means of mathematical programming and, since themodels rarely belong to the class P (i.e. no polynomial-time algorithms are known to solve themand it is unlikely that such algorithms may exist), in general it is not an easy task to solve themand approximate methods (heuristics) are frequently applied.

In this paper we are concerned with a particular cutting problem found in a large Brazilianhardboard industry. The current waste material in the cutting process involves approximately 20

Computers Ops Res. Vol. 25, No. 6, pp. 469±485, 1998# 1998 Elsevier Science Ltd. All rights reserved

Printed in Great Britain0305-0548/98 $19.00+0.00

PII: S0305-0548(97)00087-7

{Reinaldo Morabito is an associate professor of the Production Engineering Department, Universidade Federal de SaÄ oCarlos, Brazil. He has a B.Sc. in Civil Engineering from Universidade de Campinas, a M.Sc. in Operations Researchand a Ph.D. in Transportation Engineering from Universidade de SaÄ o Paulo, Brazil. He was a visiting scholar at theSloan School of Management, Massachusetts Institute of Technology, in 1993 and 1994. His research interestsinclude industrial cutting and packing problems, queueing networks applied to manufacturing systems, combinatorialoptimization, logistics and operations management.

{Valdir Garcia is a former research assistant of the Production Engineering Department, Universidade Federal de SaÄ oCarlos, Brazil. He has a B.Sc. in Industrial Engineering and a M.Sc. in Operations Management from the aforemen-tioned university.

469

tons per day, or US$ 1 million a year. Such waste consists of good-quality hardboard scrapswhich are useless for practical purposes because of their small sizes. Part of this waste can beavoided by a more e�ective production planning of the cutting machine, which does not implyadditional investments in capacity. The approach proposed here is based on a two-phase model-ing of the problem, each one as an integer program, and the use of dynamic programming andimplicit enumeration techniques to solve it. It is worth noting that because of particular con-straints of the cutting machine, the classical models for cutting and packing problems cannot beapplied here; moreover, no particular model for a cutting problem that could be directly appliedwas found in the literature.

In the next section we present a brief description of the hardboard production focusing onthe cutting process and the main decisions involved. In Section 3 the cutting problem is formu-lated and in Section 4 two alternative methods are proposed to solve it: the ®rst utilizes dynamicprogramming recursive formulas (Section 4.1) and the second is a tree-search procedure using adepth-®rst strategy (Section 4.2). In Section 5 we illustrate the application of the methodologysolving 600 randomly generated examples as well as an actual example derived from a typicalone-week planning horizon of the hardboard industry. Finally, in Section 6 we present the con-clusions and perspectives for forthcoming research.

2. HARDBOARD CUTTING PROCESS

For the purpose of this paper, we consider the hardboard production beginning at the woodchipping house where trunks of eucalyptus are washed and chipped. The chips are stored inwide-open areas to dry o� and then are transformed into ®bers by means of a thermo-mechan-ical process. The ®bers are diluted in water tanks, yielding a pulp, which is then pumped to acontinuous shaping ®lter. This ®lter produces a `®ber mattress' that is transported to a presswhich withdraws the water excess and shapes it into rectangular plates. After a thermal treat-ment and humidi®cation, these plates composed of wood ®bers pressed together are known ashardboards.

The hardboards (objects), after being inspected and classi®ed, goes to the cutting process. Theplates without any kind of defects are cut into smaller ordered items by an automated machinecalled samba saw (Wehner KG 154), whereas the defective ones are cut by manual equipment.The waste material is used as fuel for the boilers. The items generated are sandpapered, storedand ®nally dispatched to customers. For further details of the hardboard production, see e.g.Garcia [7].

The samba saw is the most important equipment in the cutting process being able to cut from15 to 20 tons per hour. It is composed of a set of circular saws (which produce longitudinal andtransversal cuts on the plates), pneumatical devices to push (pushers) and ®x (holders) theplates, transporters to move the plates, and plate loading and item unloading stations. All thesecomponents are controlled by a PLC (programmable logical controller).

2.1. Circular saw and cutting stage constraints

The samba saw can cut a pack of up to 30 plates simultaneously. The circular saws have athickness of 5 millimeters (mm) and are able to produce only orthogonal guillotine cuts on theplates (an orthogonal guillotine cut is a cut parallel to the plate border that, when applied to arectangle, produces two rectangles). The cuts must be made in, at most, two stages.

Due to restraints in the loading station, the plates must be loaded on the samba saw withtheir largest dimension (here called length) in the longitudinal direction. In the ®rst stage, thelongitudinal saws make cuts parallel to the plate length, yielding strips of the same length of theplate (see Fig. 1(a)). The samba saw only has three longitudinal saws which can yield, at most,three strips (the third saw is only used for trimming). Note in the ®gure that if the three sawswere utilized, the `fourth' yielded strip corresponds to a trim-loss.

In the second stage, each strip yielded in the ®rst stage is repeatedly pushed (by a pusher) and®xed (by a holder) in front of the transversal saw. Each time the strip is held, the saw makes aparallel cut to the plate width, yielding one item of the same width of the strip (Fig. 1).Therefore, despite the samba saw having only one transversal saw, this does not impose limi-

Reinaldo Morabito and Valdir Garcia470

tations on the maximum number of cuts that can be made on each strip (contrary to the longi-tudinal saws).

Figure 1(a) illustrates a possible two-staged cutting pattern produced by the samba saw. Itshould be observed that the cutting pattern describes which ones, how many and how the itemsare cut from the plate. In particular the pattern of Fig. 1(a) is known in the literature as anexact two-dimensional two-staged guillotine cutting pattern. This pattern is said to be exactbecause all items on each strip have the same width (i.e. the samba saw is not able to trim theseitems as in the pattern of Fig. 1(b).

2.2. Holder constraints

As described above, the pushers and holders are devices required to make the transversalcuts. When activated, the pusher pushes the strip up to the position where a holder is placedand then the transversal saw makes the cut on the strip. The holder is placed somewhere aheadof the transversal saw in such a way that the length of the item being cut from the strip corre-sponds to the distance between the holder and the transversal saw (see Fig. 2). The samba sawhas a line of four available holders for each strip. Since each di�erent item length on the stripneeds one holder placed appropriately by the PLC before the cutting pattern is processed, it fol-lows that each strip must contain items of, at most, four di�erent lengths (note that this doesnot mean that each strip must contain at most four items, since we may have several items ofthe same length).

Furthermore, because of physical interference among holders, there are limitations on theminimum distance between two holders of the same line: (i) if the strip contains three items ofdi�erent lengths, the di�erence between the largest and the smallest length must be at least

Fig. 1. Two-dimensional two-staged guillotine cutting pattern: (a) exact, (b) non-exact.

Fig. 2. Transversal saw and line of 3 holders.

Cutting stock problem in a hardboard industry 471

300 mm (Fig. 2); (ii) if the strip contains four items of di�erent lengths, it must be possible togroup the lengths into two pairs so that the di�erence between the lengths of each pair is atleast 300 mm.

It is worth noting that in practical problems the plate and item sizes are such that it is veryrare to obtain patterns with strips containing four di�erent item lengths. Therefore, for simpli-city, we assume in this paper that the maximum allowable number of di�erent lengths in a singlestrip is three. In this way, we need to consider only the constraint (i) above.

2.3. Loading and unloading station constraints

In the loading station, a transversal pre-cut can be made on the pack of identical plates yield-ing two di�erent sets of plates. After that, each set can be individually handled by the sambasaw; it should be observed that in this way we may obtain a three-staged cutting pattern for theoriginal pack. Despite increasing the ¯exibility to generate cutting patterns, the pre-cut reducesthe productivity of the samba saw (the main reason for this is the increased utilization timespent on the loading station) and is seldom utilized in practice. Therefore, for simplicity, thepre-cut option will not be considered in this paper.

Another constraint arises in the item unloading station. After the longitudinal and transversalcuts are made, the samba saw is able to sort up to ®ve items by size (length and width).Therefore, the cutting pattern must not contain more than ®ve di�erent sizes of items.

To summarize, the constraints to be considered in this paper are: (i) guillotine cuts in, atmost, two stages without trimming (exact case); (ii) longitudinal and transversal saw thicknessof 5 mm; (iii) maximum of three strips in the ®rst stage; (iv) availability of three holders at eachline of the samba saw (i.e. strips with, at most, three di�erent item lengths); (v) minimum dis-tance of 300 mm between the largest and the smallest item length in a strip, if it contains exactlythree di�erent item lengths; and (vi) cutting patterns with, at most, ®ve di�erent item sizes.

2.4. Production planning

Examples of the decisions involved in the hardboard production planning are [7]: (i) to deter-mine how many plates will be needed to satisfy the demand; (ii) to determine which cutting pat-terns and how many times each one will be cut by the samba saw; (iii) to determine the cuttingpattern sequence to be cut by the samba saw. These decisions interfere in the whole process andnot only in the cutting process. In the present paper, however, we focus basically on decisions(i) and (ii) where the cutting problem is de®ned.

3. MATHEMATICAL MODEL

Let M = {1,2, . . . ,m} be the set of item types of the order list. Each type-i item, i $ M, has anordered quantity bi and size (li, wi), where li and wi are its length and width, respectively. Weassume that the stock of hardboards (objects) is su�ciently large to produce all ordered items(i.e. ai $ Mbi items). Each plate has size (L, W), where L and W are its length and width, re-spectively. Note that as we simply add the saw thickness to the dimensions li, wi, L and W, weare satisfying constraint (ii) (Section 2.3).

The cutting problem is to determine how to cut the plates (according to cutting patterns) inorder to produce all ordered items and minimize the overall waste material. This problem isclassi®ed as 2/V/I/R [2], where 2 refers to a two-dimensional problem, V means that all itemsmust be produced, I means that all objects are identical and R indicates that bi may be large butm is a relatively small number.

Let us consider initially that all possible cutting patterns are known. To each one, say the j-thpattern, we associate the vector (a1j,a2j, . . . ,amj), where aij corresponds to the number of timestype-i item appears in pattern j. Let cj be the waste material of pattern j (i.e.cj = LWÿai $ Mliwiaij). The cutting problem can be de®ned as the following integer linear pro-gram:

�P� minXj

cjxj �1�

Reinaldo Morabito and Valdir Garcia472

s:t: :Xj

aijxjebi; i 2M �2�

with : xje0; integer �3�where each variable xj corresponds to the number of times pattern j is cut. When the number ofpossible cutting patterns is very large (which is common in practice), problem (P) is generallydi�cult to be solved optimally. Gilmore and Gomory [1, 8, 9] suggested the following procedure:(i) relax the integrality constraints of problem (P), and (ii) apply the simplex method to solvethe LP-relaxation starting with an initial base composed of m patterns and, during each simplexiteration, generating a pattern to substitute one of the m basic patterns. The procedure termi-nates as soon as X

i2Mpiaij ÿ cjE0

where p is the simplex multiplier vector associated with the current base. This procedure can beuseful when demand bi is su�ciently large with respect to each aij (as it is the case of the hard-board cutting problem).

Some authors suggested the use of a simple greedy iterative heuristic called repeated exhaus-tion reduction (see e.g. [10]) as an alternative procedure to solve problem (P). Basically the heur-istic can be stated as: While the demand is not exhausted do: (i) generate the best cuttingpattern, (ii) repeat this pattern as much as possible as a function of the demand and (iii) updatethe demand.

In the next section we present an integer programming model which can be used to generatethe best cutting pattern for each iteration of either Gilmore and Gomory's procedure or therepeated exhaustion reduction heuristic. This pattern generation problem can be classi®ed as 2/B/O/R [2] where 2 refers to a two-dimensional problem, B means that a subset of items is cho-sen to be cut from the objects, O means that there is only one object and R indicates that bimay be large but m is a relatively small number.

3.1. Cutting pattern generation problem

The problem of generating a hardboard cutting pattern can be modeled on two phases: First,items are chosen to be combined along the length L of strips of size (L, wj), j $ M' (see the de®-nition of M' below). Then, strips are chosen to be combined along the width W of plates of size(L, W). The application of two-phase models is frequent in the literature, in part motivated bythe success of Gilmore and Gomory's model to the two-staged cutting problem [9]; see also [11±14].

Let us consider without loss of generality that the item type set M = {1,2, . . . ,m} is such that:w1Ew2E. . . Ewm. Let

M0 � ijwi 6� wj; i < j; i 2M; j 2M�

; m0 � jM0j �4�

Mj � ijwi � wj; i 2M�

; j 2M0; mj � jMjj �5�(vAv denotes the number of elements of set A). M' is a set of item types of di�erent widths andMj is the set of item types of width equal to wj, j $ M'. Moreover, for any integer n, we de®ne afunction d as

d�n� � 1; if n > 00; otherwise:

3.1.1. First phase. In the ®rst phase, besides the constraints related to the strip size, we con-sider the number of available holders at each line of the samba saw (see constraint (iv) in Sec-tion 2.3) and the minimum distance among holders (constraint (v) in Section 2.3). Let

R be the number of available holders for each strip (R = 3; see Section 2.2)D be the minimum distance among holders (D = 300 mm; see Section 2.2).

Cutting stock problem in a hardboard industry 473

We wish to ®nd the most valuable combination of type-i items, i $ Mj, on each strip (j, r) of

size (L, wj), j $ M', with at most r item types, r = 1, . . . ,min(mj, R). Let

Vjr be the value of the best item combination on strip (j, r), j $ M', r = 1, . . . ,min(mj, R)

aijr be the number of type-i items, i $ Mj, in the best combination.

Each value Vjr can be obtained by solving the following linear integer program in the vari-

ables aijr:

Vjr � maxXi2Mj

piaijr; j 2M0; r � 1; . . . ;min�mj;R� �6�

s:t: :Xi2Mj

liaijrEL �7�

Xi2Mj

d�aijr�Er �8�

ifXi2Mj

d�aijr� � R; then lmax ÿ lmineD �9�

lmax � maxi2Mj

lijd�aijr� � 1� �10�

lmin � mini2Mj

lijd�aijr� � 1� �11�

with aijre0; integer i 2Mj: �12�De®ning N as a su�ciently large number and the auxiliary variables:

yijr � 1; if aijr > 00; otherwise

z � 1; ifP

i2Mjyijr � R

0; otherwise

ui � 1; if lmaxEliyijr0; otherwise

vi � 1; if lminEliyijr0; otherwise

�we may rewrite model (6)±(12) as:

Vjr � maxXi2Mj

piaijr; j 2M0; r � 1; . . . ;min�mj;R� �13�

s:t: :Xi2Mj

liaijrEL �14�

Xi2Mj

yijrEr �15�

aijrENyijr; i 2Mj �16�

lmax ÿ lmineDz �17�

Reinaldo Morabito and Valdir Garcia474

RÿXi2Mj

yijrEN�1ÿ z� �18�

RÿXi2Mj

yijre1ÿ z �19�

lmaxeliyijr; i 2Mj �20�

lmaxEliyijr �N�1ÿ ui�; i 2Mj �21�Xi2Mj

ui � 1 �22�

lminEliyijr �N�1ÿ yijr�; i 2Mj �23�

lmineliyijr ÿN�1ÿ vi�; i 2Mj �24�Xi2Mj

vi � 1� �mj ÿXi2Mj

yijr� �25�

with : aijre0; integer; i 2Mj �26�

yijr; z; ui; vi 2 0; 1f g; i 2Mj : �27�Note that in the ®rst phase we need to solve aj = 1

m' min(mj, R) problems (13)±(27), each one

with 4 mj+1 integer variables and 6 mj + 6 constraints (in practical cases mj is generally a small

number). Constraint (16) guarantees that if aijr>0 then yijr=1, constraints (18)±(19) guarantee

that if ai $ Mjyijr=R then z = 1, constraints (20)±(22) guarantee that if lmaxEliyijr then ui=1,

and constraints (23)±(25) that if lmin eliyijr then vi=1.

3.1.2. Second phase. In the second phase, besides the constraints related to the plate size, we

consider the limitation on the number of strips for the ®rst stage (see constraint (iii) in Section

2.3) and the limitation on the number of item types in the unloading station of the samba saw

(constraint (vi) in Section 2.3). Let

K be the maximum number of strips in the ®rst stage (K = 3; see Section 2.1)

R' be the maximum number of item types in the unloading station, R'eR (R'= 5; see

Section 2.3).

We wish to ®nd the most valuable combination of strips (j, r), j $ Mj , r = 1, . . . ,min(mj, R),

on the plate (L, W). In this way we produce an exact two-staged guillotine cutting pattern (see

constraint (i) in Section 2.3).

Let a*ijr (and y*

ijr) be the optimal solution of each problem (13)±(27) of the ®rst phase, with

value Vjr, and

njr �Xi2Mj

d�a�ijr� �Xi2Mj

y�ijr �28�

be the number of item types on strip (j, r) (note that njrEr; see constraint (15)). In addition let

V be the value of the best strip combination on the plate (L, W)

ajr be the number of strips (j, r), j $ M', r = 1, . . . ,min(mj, R), in the best combination.

The value V can be obtained by solving the following linear integer program in the variables

ajr:

V � maxXj2M0

Xmin�mj ;R�

r�1Vjrajr �29�

Cutting stock problem in a hardboard industry 475

s:t: :Xj2M0

Xmin�mj ;R�

r�1wjajrEW �30�

Xj2M0

Xmin�mj ;R�

r�1ajrEK �31�

Xj2M0

Xmin�mj ;R�

r�1njrd�ajr�ER0 �32�

with ajre0; integer; j 2M0; r � 1; . . . ;min�mj;R�: �33�De®ning N as a su�ciently large number and the auxiliary variables:

yjr � 1; if ajr > 00; otherwise

�we may rewrite model (29)±(33) as:

V � maxXj2M0

Xmin�mj ;R�

r�1Vjrajr �34�

s:t: :Xj2M0

Xmin�mj ;R�

r�1wjajrEW �35�

Xj2M0

Xmin�mj ;R�

r�1ajrEK �36�

Xj2M0

Xmin�mj ;R�

r�1njryjrER0 �37�

with ajrENyjr; j 2M0; r � 1; . . . ;min�mj;R� �38�

ajre0; integer; j 2M0; r � 1; . . . ;min�mj;R� �39�

yjr 2 0; 1f g; j 2M0; r � 1; . . . ;min�mj;R�: �40�The model (34)±(40) contains 2 aj = 1

m' min(mj, R) integer variables and 2 aj = 1m' min(mj, R) + 3

constraints. Constraint (38) guarantees that if ajr>0 then yjr=1.Let a*

jr be the optimal solution of model (34)±(40) (do not confuse with a*ijr in (28)) with value

V; hence, the number of type-i items, i $ M, in the optimal pattern is ®nally obtained by

ai �Xj2M 0

Xmin�mj ;R�

r�1a�ijra

�jr: �41�

It is worth noting that model (34)±(40) assumes that the item type sets of the strips are disjoints,that is, an item type in a strip (j, r) cannot be in any other strip (k, s), (k, s)$(j, r) (verify thatnjr in constraint (37) describes how many item types, instead of which ones, are in the strip). Weneed this assumption to avoid a double counting of the same item type present in two di�erentstrips.

The hardboard material can be either isotropic (i.e. the items can be placed in any orientationon the plate) or non-isotropic, and the associated cutting problem is often unconstrained (i.e.

Reinaldo Morabito and Valdir Garcia476

there is no limitation on the number of times the same item type can be in the pattern). If thematerial is non-isotropic and the problem is unconstrained, then, since we have to generate anexact two-staged pattern, two conditions always hold: (i) two strips of di�erent widths, say ofsizes (L, wj) and (L, wk), j$k, never contain the same item type, since Mj\Mk = ; (see ex-pression (5)), and (ii) two di�erent strips of same width never need to be together in an optimalpattern, since it is always possible (and it is at least as good) to repeat the more convenient stripto the objective (34) and to the constraint (37) than to combine two di�erent strips on the plate.Model (34)±(40) is always valid to this case, which is the most frequent in the present hardboardcutting process.

If the material is non-isotropic and the problem is constrained (i.e., the demand bi is muchless than LW/liwi), although it is possible to: (i) impose upper bounds on the variables aijr (i.e.aijrEbi) in model (13)±(27) and (ii) include expression (41) as an additional constraint andimpose upper bounds on the variables ai (i.e. aiEbi) in model (34)±(41), this does not avoid thedouble counting of the same item type in two di�erent strips of the same width. For example,let us consider two strips of the same width, say strips (j, 1) and (j, 3). The ®rst contains threeitems of type 1 (i.e. a1j1=3, nj1=1) and the second, one item of type 1 and two items of type 3(a1j3=1, a3j3=2, nj3=2). Obviously, we have w1 = w3 = wj. If b1 = 4, it follows that a patterncomposed by these two strips may be feasible (since a1 = a1j1 + a1j3Eb1); however, constraint(37) incorrectly counts the item type 1 twice for any R'e2. Despite the resulting model notbeing able to guarantee optimality for this case, it provides feasibility and can be utilized to gen-erate good (if not optimal) patterns, sometimes even better than the patterns currently generated(manually) in the hardboard industry under consideration.

If the material is isotropic, then model (34)±(40) as stated above may double count even if theproblem is unconstrained. That model can generate good feasible patterns for this case (as illus-trated in Section 5) although it does not guarantee optimality. The less general case that theproblem is constrained is of minor practical interest and is a topic for future research. In thepresent paper we are particularly concerned with the case that the material is either isotropic ornon-isotropic, and the problem is unconstrained.

4. SOLUTION METHODS

The models (13)±(27) and (34)±(40) can be solved by usual integer programming techniques,such as branch-and-bound and cutting planes methods. For instance, they can be implementedin a modeling language as GAMSÐGeneral Algebraic Modeling System [15] and solved byavailable branch-and-bound-based solvers such as GAMS/OSL and GAMS/CPLEX.

In this section we present two apparently e�ective methods to solve the models: the ®rstapplies dynamic programming techniques and the second is an extension of the implicit enumer-ation procedure proposed in [1], here called lexicographical method. Dynamic programming hasbeen frequently used to solve cutting and packing problems; see e.g. [16, 17].

4.1. Dynamic programming

Let us consider that L, W, li and wi are integer numbers. If they are not originally integers,we assume that it is always possible to multiply them by a factor such that they may be con-sidered as integers.4.1.1. First phase. Let ip be the p-th element of the item type set Mj = {i1, i2, . . . ,imj

}, j $ M'(recall from expression (5) that ip is such that wip

= wj), and:f jp(q, x) value of the best combination of the ®rst p item types in Mj, with at most q di�erent

item types, on a strip of size (x, wj),aip number of type-ip items combined on this strip ( j, q).For each state (q, x) of each stage p, we must take one of the following decisions: (i) stay

with the best combination obtained with the ®rst pÿ 1 item types in Mj (fjp ÿ 1 (q, x)), (ii) stay

with the best combination obtained with at most qÿ 1 di�erent item types (f jp(qÿ 1, x)), or (iii)add aip items of type ip on the strip if feasible (see Fig. 3). The recursive formula for f jp (q, x),j $ M', can be de®ned as:

Cutting stock problem in a hardboard industry 477

f jp�q; x� � max

aip�1;2;...;b xlip c

nf j

pÿ1�q; x�; f jp�qÿ 1; x�;

pipaip � f jp�qÿ 1; xÿ lipaip � if

Xpk�1

d�aik� < R or;

ifXpk�1

d�aik� � R and lmax ÿ lmineDo

�42�

where

lmax � maxk�1;...;p

lik jd�aik� � 1�

lmin � mink�1;...;p

lik jd�aik� � 1�

with

p � 1; 2; . . . ;mj

q � 1; 2; . . . ; r

x � 1; 2; . . . ;L

and L, lip, pip, r, R and D de®ned as before. The value of f jmj(r, L) corresponds to the solution

of model (13)±(27), with value Vjr.

4.1.2. Second phase. Let M0 ={( j, r)1, (j, r)2, . . . ,( j, r)m0} be the set of strips produced in the

®rst phase, where m0 = aj = 1m' min(mj, R) and (j, r)p be the p-th element of M0. For example, if

( j, r)p=(2,3), it corresponds to strip (2,3) of size (L, w2) and with at most 3 item types. Let us

de®ne:

Fig. 3. Decisions involved at state (q, x) of stage p of the recursive formula.

Reinaldo Morabito and Valdir Garcia478

fp(q, k, x) as the value of the best combination of the ®rst p strips in M0, with at most q

di�erent item types and at most k cuts on a plate of size (L, x),

ajrp as the number of strips ( j, r)p combined along the width x of the plate,

wjrpthe width of strip ( j, r)p (i.e. wjrp

= wj).

It should be observed that each strip (j, r)p has value Vjrp= f jmj

(r, L), according to the ®rst

phase, and njrp di�erent item types, according to expression (28).

For each state (q, k, x) of each stage p, we must take one of the following decisions: (i) stay

with the best combination obtained with the ®rst pÿ 1 strips in M0 ( fp ÿ 1(q, k, x)), (ii) stay

with the best combination obtained with at most qÿ 1 item types ( fp(qÿ 1, k, x)), (iii) stay with

the best combination obtained with at most kÿ 1 cuts ( fp(q, kÿ 1, x)), or (iv) add ajrp strips

(j, r)p on the plate if feasible (Fig. 4). The recursive formula for fp(q, k, x) can be de®ned as:

fp�q; k; x� � maxajrp�1;2;...;min�b x

wjrpc;k�

nfpÿ1�q; k; x�; fp�qÿ 1; k; x�; fp�q; kÿ 1; x�;

Vjrpajrp � fp�qÿ njrp ; kÿ ajrp ; xÿ wjrpajrp �o

�43�

with

p � 1; 2; . . . ;m00

q � 1; 2; . . . ;R0

k � 1; 2; . . . ;K

x � 1; 2; . . . ;W

and W, K and R' de®ned as before. The value of fm0(R', K, W) corresponds to the solution of

model (34)±(40), with value V. Substituting in (41) the optimal values ajrp of (43) (i.e. a*jr)

Fig. 4. Decisions involved at state (q, k, x) of stage p of the recursive formula.

Cutting stock problem in a hardboard industry 479

together with the respective optimal values aip of (42) (i.e. a*ijr), we may obtain each optimal ai,

i $ M.Depending on the values of m', mj, m0, L, W, K, R and R', the recursive formulas (42) and

(43) may demand great computational e�ort (e.g., formulas (42) and (43) need to store O(RL)and O(R'KW) numbers to compute f jmj

(R, L) and fm0(R', K, W), and O(mjRL) and O(m0R'KW)

numbers to compute a*ijr and a*

jr, respectively). These requirements can be reduced by consideringin the formulas the normal sets, as in [13] and [17] (or the sets of raster points as in [18]). Let usde®ne X as the set of non-negative linear combinations of the item lengths li along the platelength L:

X � �xjx �Xi2M

ailiELÿminflj; j 2Mg; aie0 and integer

It has been shown [19, 20] that, without loss of generality, the analysis can be limited to thepoints x $ X instead of considering all guillotine cuts x = 0, . . . ,L. Therefore, we may rede®nef jp(q, x) in (42) as f jp(q, n) where n = 1, . . . ,vXv denotes the n-th element of set X. Note that, inthis way, the required amount of computer memory of (42) decreases from O(RL) to O(RvXv)numbers (similarly, the required memory of (43) decreases from O(R'KW) to O(R'KvYv), whereY is the corresponding normal set of the widths wi and W).

4.2. Lexicographical method

A method that needs relatively small memory requirements to solve models (13)±(27) and(34)±(40) can be simply derived from the implicit enumeration proposed in [1]. This method,here called lexicographical method due to the order on which the variables are enumerated inthe tree search, reserves the shallower branchings to the variables with larger ratio value/length.It is easy to show that this is a tree search procedure using a depth-®rst strategy [13].4.2.1. First phase. Next we present an algorithm adapted from [1] to solve model (13)±(27) of

the ®rst phase, for each strip of size (L, wj) and for r = 1, . . . ,min(mj,R). For simplicity, weassume that the ®rst mj item types in M belong to Mj, that is, Mj = {1,2, . . . ,mj} (the notationVjr, aijr, etc. remains valid). The main modi®cation with respect to the original algorithm occursin steps 3 and 5. Now, in step 3, the feasibility of the current pattern is veri®ed before updatingthe pattern, if this is case, as the best one found so far by the search. Besides, in step 5, if thecondition holds (see step 5 below), the variable corresponding to type-s items vanishes andtherefore, prolongs the search.

Lexicographical algorithmStep 1: Sort the item types such that: p1/l1ep2/l2e. . . epmj/lmj

, and de®ne pmj+1 = 0 andlmj+1 = 1. Make Vjr=0.

Step 2: Compute

aijr � bLÿPiÿ1

k�1 lkakjrli

c; i 2Mj

Step 3: Check if the vector (a1jr,a2jr, . . . ,amj jr) corresponds to a feasible pattern, that is, if con-

straints (8)±(11) are satis®ed. If the pattern is feasible and ai $ Mjpiaijr>Vjr, then save this pat-

tern and update Vjr.Step 4: De®ne s = max{ivaijr>0,i $ Mj}. If such s does not exist, then stop: the pattern of

value Vjr is optimal.Step 5: Make asjr3aajrÿ1. Ifÿ

LÿXsi�1

liaijr�ps�1E

ÿVjr ÿ

Xsi�1

piaijr�ls�1

then make asjr = 0 and go back to step 3.

Reinaldo Morabito and Valdir Garcia480

Step 6: Compute

aijr � bLÿPiÿ1

k�1 lkakjrli

c; i � s� 1; s� 2; . . . ;mj

and go back to step 3.4.2.2. Second phase. The algorithm above with minor modi®cations can also be adapted to

solve model (34)±(40) of the second phase. Now, in step 3, the feasibility constraints to be veri-®ed refer to the model of the second phase.

We conjecture that the lexicographical algorithm is exact, since it seems to implicitly enumer-ate all feasible solutions like its original version in [1]. Moreover, as illustrated in Table 1 of thenext section, all 600 optimal values found by dynamic programming were also obtained by thelexicographical algorithm. Nevertheless, a formal proof of its optimality guarantee is beyond thescope of this case-study paper.

5. COMPUTATIONAL RESULTS

In this section we illustrate the application of this methodology initially solving 600 randomexamples grouped into 12 di�erent sets of 50 examples. The plate size (L, W) and the number ofitem types m were ®xed for each set (see Table 1). The item length and width (li, wi),i = 1, . . . ,m, were generated by sampling an integer from the uniform distributions [0.1 L, 0.5 L]and [0.1 W, 0.5 W], respectively. We assumed that the material is non-isotropic and the problemis unconstrained. For simplicity, we de®ned each item value as pi=liwi/LW; therefore, the sol-ution value V of model (34)±(40) corresponds to the percentage utilization of the plate areaLW.

Both methods, namely the dynamic programming formulas of Section 4.1 (DP) and the lexi-cographical algorithm of Section 4.2 (LEX), were coded in Pascal language and run on a micro-computer PC-486 DX2. Table 1 summarizes the optimal values obtained for each problem setusing the parameters D = 0 mm (no minimum distance), R = 3 holders, K= 3 strips andR'= 5 items. Column `Area utilization' presents the mean utilization V found by either the DPor the LEX method (with the standard deviation in parentheses), columns `Time1' and `Time2'correspond respectively to the mean run-time (in seconds) for the DP and LEX methods, andcolumn `Number of items' presents the mean number of items in the cutting pattern found bythe LEX method.

It should be noted in Table 1 that, for a given number m of item types, the larger the platesize (L, W), the smaller the mean area utilization V (see e.g. sets 3, 6, 9 and 12). This can beexplained in part because a larger plate yields a larger interval [0.1 W, 0.5 W] from which wi issampled and, therefore, it is less probable to generate item types of the same width to combinethem into the same strip. Similarly, for a given (L,W), as m increases, V also increases (see e.g.sets 4, 5 and 6), as we would expect. While the run-time of the DP method depends on m and(L, W), the run-time of the LEX method depends basically on m (see Table 1).

Table 2 presents the input data of an example of set 4 and Table 3 presents its optimal sol-utions for di�erent values of the parameters D, R, K and R' (recall that ai is de®ned in (41)).Figure 5 depicts the corresponding optimal cutting patterns. Notice, for instance, the in¯uences

Table 1. Optimal solutions of 600 random examples grouped into 12 sets

Sets (L, W) mArea utilization

VStandarddeviation

Time1(sec) (DP)

Time2(sec) (LEX)

Number of items(LEX)

1 (10, 10) 10 0.9744 (0.0425) 0.32 0.10 20.102 (10, 10) 20 1.0 (0.0) 0.32 0.44 14.283 (10, 10) 30 1.0 (0.0) 0.46 1.30 15.844 (50, 50) 10 0.9529 (0.0366) 0.48 0.14 16.805 (50, 50) 20 0.9843 (0.0146) 1.10 1.22 17.426 (50, 50) 30 0.9956 (0.0093) 1.82 6.76 16.527 (100, 100) 10 0.9459 (0.0327) 0.82 0.08 13.088 (100, 100) 20 0.9804 (0.0190) 1.83 1.44 15.899 (100, 100) 30 0.9865 (0.0144) 3.06 6.58 15.88

10 (5000, 5000) 10 0.9266 (0.0367) 8.70 0.04 12.2211 (5000, 5000) 20 0.9620 (0.0178) 15.85 0.46 12.9212 (5000, 5000) 30 0.9722 (0.0121) 23.95 4.70 13.08

Cutting stock problem in a hardboard industry 481

of: the constraint of the minimum distance among holders (D) comparing rows 1 and 2 ofTable 3 (Fig. 5(a) and (b)), the constraint of the maximum number of holders (R) comparingrows 1 and 3 (Fig. 5(a) and (b)), the constraint of the maximum number of cuts (K) comparingrows 1 and 4 (Fig. 5(a) and (c)), and the constraint of the maximum number of item types (R')comparing rows 1 and 5 (Fig. 5(a) and (b)).

The models (13)±(27) and (34)±(40) were also coded in the modeling language GAMS [15]and implemented in the microcomputer. The optimal solutions obtained by the solver GAMS/OSL were the same as Table 3; however, they required more than a couple of minutes to becomputed whereas the solutions of Table 3 were found in less than one second.

Next we illustrate how this methodology can be applied to solve an actual example derivedfrom a typical one-week planning horizon of the Brazilian hardboard industry. Columns `Itemsize' and `Demand' of Table 4 present the sizes (li, wi) and quantities bi of m = 29 ordered itemswhich must be cut from stock plates of size (L, W) = (4880, 2130) mm. For simplicity, let usassume that the waste material due to the saw thickness is of second order and can be neglected.We intentionally chose an example with isotropic material (i.e., identical in all directions) and,therefore, both methods of Section 4.1 and 4.2 are approximate (see the discussion at the end ofSection 3). The parameters are D = 300 mm, R= 3 holders, K = 3 strips and R'= 5 items(according to Sections 2 and 3) and the number of available plates is su�ciently large to pro-duce all ai = 1

m bi=118,850 items during the week. The objective is to determine the best cuttingpatterns and the number of times that each pattern will be cut to meet the demand and mini-mize the total waste material (as in problem (P) of Section 3).

Table 2. Input data of the example of set 4

(L, W) m (li, wi), i = 1, . . . , m

(50, 50) 10 (20, 16), (9, 16), (10, 20), (22, 14), (21, 16),(22, 23), (15, 14), (11, 13), (5, 14), (17, 22)

Table 3. Optimal solutions of the example of set 4 for di�erent values of the parameters D, R, K and R'

D R K R'Area

utilization V (ai, i = 1, . . . ,m)

0 3 3 5 1.0 (1, 1, 5, 0, 1, 0, 0, 0, 10, 0)13 3 3 5 0.9936 (2, 1, 5, 0, 0, 0, 0, 0, 10, 0)0 2 3 5 0.9936 (2, 1, 5, 0, 0, 0, 0, 0, 10, 0)0 3 2 5 0.8096 (0, 0, 0, 0, 0, 4, 0, 0, 0, 0)0 3 3 4 0.9936 (2, 1, 5, 0, 0, 0, 0, 0, 10, 0)

Fig. 5. Optimal cutting patterns of the example of set 4 for di�erent values of the parameters D, R, K and R'.

Reinaldo Morabito and Valdir Garcia482

In order to control the amount of waste material, the production manager set a threshold of15% of trim-loss for all ordered items. Under this limitation, the operator of the samba sawwas unable to ®nd a `feasible' solution to this particular example. Based on local heuristics andexperience, the best solution found by the operator had a trim-loss of 12.7% and yielded lessthan the original demand of items 10, 20 and 23 (see b'i in column `Operator' of Table 4 and its

Table 4. Item sizes (li, wi) and quantities bi of the actual example and the corresponding item quantities generated by the operator (b'i)and the present model (b0i )

Item iItem size (li, wi)

(mm)Demand bi

(items)Operator b'i

(items)b0iÿbibi

Model b0i=ajaijxj

(items)b00i ÿbibi

1 (1580, 768) 7200 7200 72002 (1575, 1232) 10,000 10,002 0.02% 9999 ÿ0.01%3 (1226, 768) 2000 2001 0.05% 1999 ÿ0.054 (1073, 768) 3000 3011 0.37% 2999 ÿ0.03%5 (2451, 1226) 1050 1050 10506 (870, 615) 4000 4000 3997 ÿ0.08%7 (1073, 615) 6000 6266 4.43% 5998 ÿ0.03%8 (1580, 1073) 4000 3999 ÿ0.03% 40009 (1226, 921) 3600 5601 55.58% 3602 0.06%

10 (1073, 921) 4000 2900 ÿ27.50% 4002 0.05%11 (1073, 1073) 1250 1250 1249 ÿ0.08%12 (1450, 921) 1000 1000 999 ÿ0.10%13 (1580, 921) 20,000 20,000 19,995 ÿ0.03%14 (1226, 615) 3000 2999 ÿ0.03% 300015 (1580, 1226) 6000 6000 600016 (1580, 615) 6000 6000 600017 (1226, 1226) 4200 4524 7.71% 420018 (1880, 1073) 500 500 499 ÿ0.20%19 (1220, 1073) 600 600 60020 (1450, 1226) 2000 1841 ÿ7.95% 200021 (2045, 622) 750 750 752 0.27%22 (1880, 1226) 400 399 ÿ0.25% 399 ÿ0.25%23 (1880, 921) 200 133 ÿ33.50% 20024 (1450, 768) 4000 4074 1.85% 400025 (1575, 1226) 10,400 14,100 35.57% 10,398 ÿ0.02%26 (2045, 825) 8450 8450 845027 (1226, 1073) 2100 2100 210028 (2045, 724) 1050 1050 105029 (2045, 775) 2100 2100 2101 0.05%Total 118,850 123,900 4.25% 118,838 ÿ0.01%

Table 5. Solution of the actual example

Pattern j xj (plates) (a1j, a2j, . . . ,amj) (items)cjLW (%)

1 2400 (3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0) 9.25%2 926 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2) 13.60%3 833 (0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 8.83%4 562 (0, 0, 1, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0) 10.13%5 407 (0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0) 15.86%6 571 (0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0) 8.24%7 100 (0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0) 8.25%8 294 (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0) 5.53%9 387 (0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 8.97%

10 392 (0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 10.46%11 853 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0) 5.61%12 133 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0) 14.07%13 1739 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 16.00%14 164 (0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 17.72%15 892 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0) 11.63%16 488 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0) 15.92%17 479 (0, 0, 3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 10.66%18 183 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 8.11%19 150 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 7.63%20 495 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0) 16.22%21 117 (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0) 5.47%22 206 (0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 15.81%23 233 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0) 8.96%24 210 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 5, 0) 4.31%25 253 (0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0) 8.45%26 3333 (0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0) 11.53%27 1143 (0, 0, 0, 1, 0, 0, 0, 2, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 7.95%28 182 (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 15.98%29 83 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3) 5.31%Total 18,208 11.00%

Cutting stock problem in a hardboard industry 483

deviation to bi). Moreover, that solution resulted in an overproduction of items 7, 9, 17, 24 and25, and turned out additional inventory holding costs.

The last two columns of Table 4 show the number of type-i items generated by the presentmodel (see b0

i in column `Model') and its deviation to bi (note that b0i is very close to bi). Each

quantity b0i=ajaijxj was obtained rounding o� the solution of the LP-relaxation of problem (P)

(recall that xj is the number of times that pattern j is cut in the LP-solution, and aij is the num-ber of type-i items in pattern j). To generate a cutting pattern at each simplex iteration, we uti-lized the lexicographical method since its computational performance is better than dynamicprogramming for this particular size of example (see sets (10)±(12) of Table 1).

Table 5 presents the rounded values xj found after 79 simplex iterations in less than one min-ute of run-time, together with the m basic cutting patterns generated. It is worth noting that thissolution requires 18208 plates (189261.2 squared meters) and has a waste material of 11.0%(20812.0 squared meters) corresponding to savings of almost 2% compared with the solutionobtained by the industry. Relaxing the constraints (15)±(25) and (36)±(38) of models (13)±(27)and (34)±(40), we obtain a lower bound of 10.99% (20,800.3 squared meters) for the optimalwaste material, which is very close (less than 0.1%) to the the value of Table 5.

6. CONCLUSIONS AND PERSPECTIVES

In this paper we analysed a particular cutting problem found in a Brazilian hardboard indus-try. After being produced, the hardboards (objects) are cut by an automated machine called asamba saw which has usual as well as unusual cutting constraints. The problem is to determinethe best cutting patterns as a function of the ordered items so that the overall waste material isminimized. Due to the actual production scale of the samba saw, small percentage waste re-ductions of the cutting patterns may result in substantial savings for the industry. In spite of theliterature having di�erent approaches to the cutting problem, the present problem involves con-straints which make their direct application di�cult.

We showed that the hardboard cutting pattern generation can be modeled on two phases,each one as an integer program, and presented two alternative methods to solve them: the ®rstis based on dynamic programming techniques and the second is a simple extension of the im-plicit enumeration procedure proposed in [1]. We believe that this approach may also be usefulto deal with cutting problems in other industrial processes involving constraints similar to thoseanalysed here.

In order to illustrate the performance of the two methods, we implemented them in a micro-computer and solved 600 random examples. Using any of these methods to generate cutting pat-terns to problem (P) (Section 3), we obtain a solution to the problem of determining the bestpatterns to meet the demand. An actual problem derived from the hardboard industry wassolved to depict the bene®ts of this approach in comparison with the solution implemented bythe industry.

A perspective of this work is to incorporate into the approach a tradeo� analysis amongorder due dates, work-in-process, machine setup time, order speci®cations and waste material.The extension of the present approach to situations where material is isotropic and the problemconstrained (Section 3) is also in our research agenda.

AcknowledgementsÐThe authors thank Profs Marcos Arenales, Guntram Scheithauer, Hora cio Yanasse and the anon-ymous referees for their helpful comments. This research was partially supported by CNPq (grants ]522973/95-7 and]680082/95-6) and FAPESP (grant ]9522-0).

REFERENCES

1. Gilmore, P. and Gomory, R., A linear programming approach to the cutting-stock problem II. Opr. Res., 1963, 11,863±888.

2. Dyckho�, H., A typology of cutting and packing problems. Eur. J. Opl. Res., 1990, 44, 145±159.3. Dowsland, K. and Dowsland, W., Packing problems. Eur. J. Opl. Res., 1992, 56, 2±14.4. Dyckho�, H. and Finke, U., Cutting and Packing in Production and Distribution: Typology and Bibliography,

Springler-Verlag Co, Heildelberg, 1992.5. Sweeney, P. and Paternoster, E., Cutting and packing problems: A categorized, application-oriented research bibli-

ography. J. Opl. Res. Soc., 1992, 43, 691±706.6. Bischo�, E. and Waescher, G., Special issue on cutting and packing. Eur. J. Opl. Res., 1995, 84(3), 503±712.

Reinaldo Morabito and Valdir Garcia484

7. Garcia, V., Otimizac° aÄ o na gerac° aÄ o de padroÄ es de corte de chapas de ®bra de madeira reconstituõÂ da, Dissertation,Departamento de Engenharia de Produc° aÄ o, Universidade Federal de SaÄ o Carlos, Brazil, 1996.

8. Gilmore, P. and Gomory, R., A linear programming approach to the cutting stock problem. Opr. Res., 1961, 9,849±859.

9. Gilmore, P. and Gomory, R., Multistage cutting stock problems of two and more dimensions. Opr. Res, 1965, 14,94±120.

10. Hinxman, A., The trim-loss and assortment problems: A survey. Eur. J. Opl. Res., 1980, 5, 8±18.11. Zissimopoulos, V., Heuristic methods for solving (un)constrained two-dimensional cutting stock problems. Meth.

Opl. Res., 1985, 49, 345±357.12. Hi®, M., The DH/KD algorithm: A hybrid approach for unconstrained two-dimensional cutting problems. Eur. J.

Opl. Res., 1997, 97(1), 41±52.13. Morabito, R. and Arenales, M. N., Performance of two heuristics for solving large scale two-dimensional guillotine

cutting problems. INFOR, 1995, 33(2), 145±155.14. Morabito, R. and Arenales, M. N., Staged and constrained two-dimensional guillotine cutting problems: An AND/

OR-graph approach. Eur. J. Opl. Res., 1996, 94(3), 548±560.15. Brooke, A., Kendrick, D. and Meeraus, A., GAMS: A User's Guide, Release 2.25. The Scienti®c Press, 1992.16. Gilmore, P. and Gomory, R., The theory and computation of knapsack functions. Opr. Res., 1966, 14, 1045±1074.17. Beasley, J., Algorithms for unconstrained two-dimensional guillotine cutting. J. Opl. Res. Soc., 1985, 36, 297±306.18. Scheithauer, G. and Terno, J., The G4 heuristic for the pallet loading problem. J. Opl. Res. Soc., 1996, 47, 511±522.19. Herz, J., Recursive computational procedure for two-dimensional stock cutting. IBM J. Res. Develop., 1972, 16,

462±469.20. Christo®des, N. and Whitlock, C., An algorithm for two-dimensional cutting problems. Opr. Res., 1997, 25, 30±44.

Cutting stock problem in a hardboard industry 485