An Algorithm for a Cutting Stock Problem on a Strip

Embed Size (px)

Citation preview

  • 8/13/2019 An Algorithm for a Cutting Stock Problem on a Strip

    1/8

    An Algorithm for a Cutting Stock Problem on a Strip

    Author(s): S. BenatiSource: The Journal of the Operational Research Society, Vol. 48, No. 3 (Mar., 1997), pp. 288-294Published by: Palgrave Macmillan Journals on behalf of the Operational Research SocietyStable URL: http://www.jstor.org/stable/3010427

    Accessed: 11/03/2009 15:45

    Your use of the JSTOR archive indicates your acceptance of JSTOR's Terms and Conditions of Use, available at

    http://www.jstor.org/page/info/about/policies/terms.jsp. JSTOR's Terms and Conditions of Use provides, in part, that unless

    you have obtained prior permission, you may not download an entire issue of a journal or multiple copies of articles, and you

    may use content in the JSTOR archive only for your personal, non-commercial use.

    Please contact the publisher regarding any further use of this work. Publisher contact information may be obtained at

    http://www.jstor.org/action/showPublisher?publisherCode=pal.

    Each copy of any part of a JSTOR transmission must contain the same copyright notice that appears on the screen or printed

    page of such transmission.

    JSTOR is a not-for-profit organization founded in 1995 to build trusted digital archives for scholarship. We work with the

    scholarly community to preserve their work and the materials they rely upon, and to build a common research platform that

    promotes the discovery and use of these resources. For more information about JSTOR, please contact [email protected].

    Palgrave Macmillan Journalsand Operational Research Societyare collaborating with JSTOR to digitize,

    preserve and extend access to The Journal of the Operational Research Society.

    http://www.jstor.org/stable/3010427?origin=JSTOR-pdfhttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/action/showPublisher?publisherCode=palhttp://www.jstor.org/action/showPublisher?publisherCode=palhttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/stable/3010427?origin=JSTOR-pdf
  • 8/13/2019 An Algorithm for a Cutting Stock Problem on a Strip

    2/8

    Journal of the Operational Research Society (1997) 48, 288-294 ?D 997 Operational Research Society Ltd. All rights reserved. 0160-5682/97 $12.00

    An algorithm for a cutting stock problem on a stripS BenatiUniversitadi Trento,ItalyA cuttingstockproblemis formulatedas follows: a set of rectangularpieces must be cut from a set of sheets, so as tominimize total waste. In our problem the pieces are requested n large quantitiesand the set of sheets are long rolls ofmaterial. For this class of problems we have developed a fast heuristic based on partial enumerationof all feasiblepatterns.We thentested the effectiveness on a set of testproblemsrangingfrompractical o random nstances.Finally,the algorithmhas been appliedto check the asymptoticbehaviourof the solution whena continuousstreamof pieces isrequestedand cuttingdecisions are to be made while ordersare still arriving.Keywords: cuttingstock problem; heuristics

    Problem formulationThe bidimensionalcutting stock problemconsists of cuttinga number of pieces from a sheet of material in order tominimize waste. This problem is frequentlymet in manyindustrialapplications and may involve materials such asrolls of paper, sheets of iron, planks of wood and so on.Furthermore,t has applications n pallet loading, memoryshare in large computers,as well as in other areas (for ageneral discussion see Dyckhoff').The problem is NP-hard since it includes one dimen-sional cutting problemsas a special case. It can be solvedeither by exact algorithms whose spatial or temporalcomplexity is exponential or by heuristic procedureswhose solutions can be very far from the optimalone.The specific problem we are interested in concerns apaper factory and can be stated in the following way.Requests are made for pieces (or items) of rectangularshape. Each piece j, j = 1, .. ., n, has a height hj and awidthwjand is requested n a certainquantitydj,wheredjisusually a very large number,more than one hundred.Eachof these pieces can be rotatedand cutfrom a set of very longrolls, where each roll i, i = 1, .. ., m, has a width Wi andvirtually infinite height. However, due to technologicalconstraints,a first guillotine cut must be made where theheight is at most H fromthe base, andevery successive cutmust be both orthogonaland guillotine. An orthogonalcutmeans thatthe cornersbetween successive cuts can only beof 90?; a guillotine cut means that each cut must go fromone side of a rectangle straight o the oppositeside.In this setting it is not explicitly requested that cutsshould have a maximum numberof stages although it isreportedin the literaturethat a low number of stages ismost preferred n practice,since it is important o limit therotationof material. Our algorithm will generate at mosttwo stage cuts.Correspondence:S. Benati, Universita degli studi di Trento I 38100Trento-Via nama, 5 Italia.

    This problem is related to an application in the paperindustry,where at a certainphase of the productionplan, alarge numberof white papersare requested.Solutions mustbe quickly obtainedfroma standard BM-PC and thereforethe effectiveness of an algorithm s limited by both compu-tational time and memory storage.Before providingthe details of the proposed procedure,we shall briefly review the solutiontechniques availableinthe literature.One of the first formulationsof a cuttingstock problemwas given by Gilmore andGomory.>5A certainnumberofpieces is to be cut using the least numberof identicalsheets.Theirsolutionprocedure s an integerprogramming roblemwith a column generation echnique. Eachcolumnstandsasa feasible cutting patternand in each iteration he columnwith the greatest marginalreturnmust be computed.Thiscolumn is generated solving a bidimensional knapsackproblem).Since thisprocedure s not practical or solving largesizeproblems, some heuristic algorithms have been proposed.Some of them were built on the basis of the previousmethod:(1) the generation of 'very good' cutting patterns toproducethe columns of(2) an integer programming roblem.

    Many of them differ especially as far as point 1 isconcerned:for instance,a cutting patterncan be generatedby dynamic programming6, r by the constructivegenera-tion of guillotine cuts7.Sometimesquickerproceduresarerequested,capableoftreatinga large amount of data. Berkey and Wang8havestudied the behaviourof some heuristics; basically varia-tions of the greedy heuristic; mplemented n such a way asto hold spatialand temporalcomplexityto a low orderof n,namely 0(n), 0(n log n), 0(n2), where n is the numberofpieces. It appearsthat for increasingn (from 1000-5000

  • 8/13/2019 An Algorithm for a Cutting Stock Problem on a Strip

    3/8

    S Benati-Anlgorithmor cuttingtock roblemnastrip 289

    pieces) these techniquestend to convergeto an asymptoticsolution.In Yanasse et at9 differentsizes of sheets, or panels, areavailable,and the heuristicsolutionprocedure ries to insertpieces according o a priorityrule. In Chaunyet all0, itemsareto be cut froma sheet of infiniteheight:theirprocedurecombines a unidimensionalknapsack technique with thepiling of streamsof pieces one afterthe other.This techni-que was extendedto bidimensionalcuttingstock problemsby Chaunyet al1l.Description of the algorithmThe algorithm s based on a partialenumeration trategyofall feasible cutting pattems in which an item can be cut.Since the size of the items is relatively large in comparisonto the width of the rolls, only cuttingpatternsmade by atmost two different items are considered, while the itemscould vary in number.

    Suppose for simplicity that rotation is not allowed. Ateach iterationan ordered ist LnX {1, .. ., n'} of items isgiven,wheren' = n in the first teration.Consider tem 1, ofdimensions(w1,hl). Takea roll of width Wi.Piece 1 canbecut from the roll obtaininga maximumnumberof piecesnmax = LWi/wljhorizontally.Therefore n this side we cancut a number n* of item 1 such that 1

  • 8/13/2019 An Algorithm for a Cutting Stock Problem on a Strip

    4/8

  • 8/13/2019 An Algorithm for a Cutting Stock Problem on a Strip

    5/8

    S Benati-Anlgorithmor cuttingtock roblemnastrip 291

    with which an item can be cut alone. the items with thelargest waste are located at the top of the list. Formally,consider item j: let n = LWj/w;Jndm = LWilhjj.Then we can obtainitemj fromthe sheet i with wasteW n wj)hj (WJ' mlaxhj)wj)Aj i) = min( i J w) ( -m hJ))

    Next we can obtainAjest = miniAj(i)

    Finally we can rearrange he list in decreasingorderofAbest, btainingthe preprocessed ist L2.RearrangementIn this case we obtainthe list L3 by a randomdevice. Thelist Lo is randomlyreordered.Post-optimization rocedureAll the rearrangements re heuristicin essence and, as wewill see, none is superior.Small modificationsof the listcan still improve the objective fiuction. Therefore, weretainthe best list among L1, L2 and L3 and generatea setof neighbouring ists with small modifications n the order.Weretain he best of these lists and if the objectivefunctionimproves,we repeatthe whole process. Formally,supposeL = (1, ..., i, ... ., j, . . n) is the best list amongthe threerearrangements, e thengenerate he neighbouring ists foreveryi and building

    L(iO,)= (1, ..I, .. Ii,*...*In)LAO, ) = (1 I . . ,j, + 1I, .. I i, i + 1 . . ., n)L30iJ) = (1, ...,j,j+ 1,j+ 2,..., i, i+ 1, i +2, ..., n)

    that is L(i,]j) is built exchanging two pieces, L2(i,])exchangingcouple of consecutive pieces, L3(i,j) exchan-ging tripletsof consecutivepieces.The whole algorithm s the following.InputA list Lo= {1, ..., n} is given, with pieces whose dimen-sions are (wj,hj) as requestedaccordingto a quantitydj.Rolls of materialwhose widths are Wi, i = 1, ..., m, areavailable.H is the maximumheight of a cutting pattern.Step1. Preprocess he list in order o obtainthe lists L1,L2,L3.Let k= 1.Step 2. Consider he list Lk. Let t = 0, Lo = LkStep3. Considerpiece 1. Foreach feasiblen*, m*, Wi,jandevery feasiblepiece rotation,compute

    Abest_ min.*,m*,bi,i,b2 A(n*, m*, b,, WJ,j,'),M*m*lsiisb ~~A(m*,1, Wi)

    letjbest be the optimalvalue ofj.Step 4. Repeatas many cuts as necessaryuntil the requestfor piece 1 or 'best s satisfied.Step 5. Build list Lt+l removingfromLt the piece thatis nolonger requested,and updatingsuccessive indices.If the list is not emptythen let t := t + 1 and returnto step 3.Step 6. Let k = k+ 1, if k < 3 then go to step 2, otherwiseretain the list Lk for which the total waste isminimum.Step 7. From Lk build for every i andj the lists LI i, j),L2(i, ), L3(i,A).Step 8. Foreach of these lists performsteps 3, 4 and 5: ifthe total waste of one list, say L*, is less then theoptimalvalue so far obtained, hen let Lk = L* andgo to step 7. OtherwiseSTOP.

    Experimental resultsThe effectiveness of the proposedalgorithmhasbeen testedon small (n < 25), medium size (n = 100) and large(n = 1000) problems.The following three problemsrelate to real situations.Problem1Lo= (800, 1030), (400, 510), (660, 550), (1035, 1270),(324, 460), (233, 1070), (615, 724), (800, 1030),(700, 900), (770, 1030), (370, 450), (300, 400),(550, 650), (800, 1050), (388, 510), (605, 730),(795, 1030).d: 300, 200, 100, 300, 200, 600, 100, 300, 200, 1000,2000, 1000, 2000, 1000, 100, 100, 100.Hz= 1500.The testing has been carriedout with the following setsof roll widthsAl = (1330), A2 = (1330, 1250), A3 = (1330, 1250,770), BI = (1150), B2 = (1150, 1050), B3 = (1150,1050, 1010).Problem2Lo= (370, 450), (240, 300), (300, 400), (350, 450),(400, 500), (400, 512), (500, 600), (550, 650), (400, 510),(415, 521), (520, 640), (1050, 500).d: 2000, 500, 3000, 4000, 4000, 4000, 500, 6000, 2000,1000, 600, 500.H= 1500.The problemhas been tested with the same sets of rollsas in problem 1.Problem3Lo= (1050, 1315), (780, 1080), (820, 1030), (400, 510),(370, 450), (740, 935), (800, 1050), (550, 650),

  • 8/13/2019 An Algorithm for a Cutting Stock Problem on a Strip

    6/8

    292 Journalf heOperationalesearchocietyol. 8,No.(600, 800), (615, 730), (720, 1000), (770, 1030),(550, 650), (400, 500), (605, 730), (388, 510), (550, 650),(370, 450), (430, 570), (720, 720), (1000, 700),(800, 1000).d: 400, 200, 500, 2000, 2000, 3000, 3000, 5000, 500,3000, 3000, 2000, 2000, 2000, 500, 500, 500, 1000, 500,1500, 500, 300.H= 1500.Roll widthson which it hasbeen testedare the following.Cl = (1330), C2 = (1330, 1120), C3 = (1330, 1120,1050) and then Bi, B2, B3.Sometimes real data have a special unknown structurewhich can determinegood or bad solutionsof an algorithm.In the next set of problemsthe dimensionsof the rectanglesare randomvariables.Randomproblems 1We generate five randominstances. Lo is made for eachinstance by 25 pieces whose heights and widths arerandomlyand uniformlydistributedover the integersfrom

    Table 1 Quality of solutions, namely percentage waste, of the algorithm using differentstarting list (HI, H2, H3), with the best one (H) improved by an interchange procedure (IC) ('notime' means that the procedure overcame the time limits)Code n m HI H2 H3 H H+ICP1-Al 17 1 10.96 10.93 12.70 10.93 10.84P1-A2 17 2 8.40 8.41 7.26 7.26 6.33P1-A3 17 3 4.67 4.86 6.08 4.67 3.48PI-BI 17 1 6.91 7.14 7.64 6.91 6.67P1-B2 17 2 2.16 2.58 2.62 2.16 2.06P1-B3 17 3 2.09 2.50 2.56 2.09 2.06P2-Al 12 1 4.51 2.90 5.66 2.90 2.59P2-A2 12 2 2.74 2.18 3.14 2.18 1.46P2-A3 12 3 2.52 2.51 3.16 2.51 1.56P2-BI 12 1 5.32 5.33 3.98 3.98 3.72P2-B2 12 2 2.66 2.23 2.77 2.23 2.04P2-B3 12 3 2.04 1.75 1.99 1.75 1.63P3-BI 22 1 12.51 9.71 12.41 9.71 9.58P3-B2 22 2 5.63 4.89 7.81 4.89 4.84P3-B3 22 3 4.62 3.79 6.28 3.79 3.78P3-Cl 22 1 12.36 12.85 15.73 12.36 12.14P3-C2 22 2 6.24 7.06 7.64 6.24 5.83P3-C3 22 3 3.49 3.58 3.59 3.49 3.06R25A 25 1 3.56 3.60 5.77 3.56 2.44R25B 25 1 7.22 7.74 8.50 7.22 5.80R25C 25 1 7.94 4.13 6.44 4.13 3.18R25D 25 1 4.61 3.69 7.32 3.69 2.54R25E 25 1 8.60 8.27 8.42 8.27 6.39RIOOA 100 1 3.84 3.11 5.43 3.11 ntRIOOB 100 1 4.31 3.03 4.89 3.03 ntRIOOC 100 1 3.40 3.55 2.88 3.40 ntRIOOD 100 1 3.53 2.81 3.48 2.81 ntRIOOE 100 1 3.04 3.07 4.59 3.04 ntRIOOOA 1000 1 1.70 1.60 2.91 1.60 ntRIOOOB 1000 1 1.64 1.57 3.31 1.57 ntRIOOOC 1000 1 1.69 2.01 2.95 2.01 ntRIOOOD 1000 1 2.45 2.03 2.98 2.03 ntRIOOOE 1000 1 1.73 1.81 2.92 1.73 nt

    1-100 and whose demanded quantities are uniformlydistributedbetween 1 and 20 hundredspieces.H = 150 and only one roll is available with widthW= 100.

    Randomproblems2We generate five randominstances. Lo is made for eachinstance by 100 pieces whose heights and widths areuniformlydistributed ver the integersfrom 1-100.H = 150 and only one roll is available whose size isW= 100.

    Randomproblems3Lois composedby n = 1000 differentpieces as in problemset 1 and 2, roll width as previously.In Tables 1 and2 the problemcode must be read in thisway: a suffix PiLj means that the problemwith real data ihas been solved withLj as a set of widths,while a suffixRi

  • 8/13/2019 An Algorithm for a Cutting Stock Problem on a Strip

    7/8

    S Benati-Anlgorithmor cuttingtock roblemna strip 293Table 2 Time, expressed n seconds and in average,spent by thealgorithmusing differentstarting ist (columnHi), then total timespent by the three procedures columnH) and the total time spentby H followed by the interchangeprocedure column IC)Code Hi(average) H ICP1-Al 0.013 0.04 7.63PI-A2 0.036 0.11 41.22P1-A3 0.04 0.12 26.20P1-BI 0.02 0.06 15.98P1-B2 0.036 0.11 42.40P1-B3 0.043 0.13 20.60P2-Al 0.036 0.11 13.07P2-A2 0.056 0.17 19.84P2-A3 0.056 0.17 24.80P2-BI 0.036 0.11 10.04P2-B2 0.036 0.11 15.34P2-B3 0.073 0.22 13.08P3-BI 0.02 0.06 34.81P3-B2 0.036 0.11 44.32P3-B3 0.036 0.11 45.98P3-Cl 0.016 0.05 38.20P3-C2 0.036 0.11 32.99P3-C3 0.056 0.17 32.31R25(average) 0.20 0.60 262.15R100(average) 0.61 1.82R1000(average) 70.11 210.33

    denotesa randomdataproblemof class i (25, 100 or 1000items).In Table 1 the qualityof the solution, expressedas totalpercentagewaste, is reported. he values HI, H12,H3 referto the waste obtainedwith the preprocessed ist LI, L2, L3.H is the best value amongHi, i = 1, 2, 3, H+ IC is the valueobtainedafterthe interchangeheuristic of Steps 7 and 8.In Table2 times, expressedas seconds, arereported.Wegive a time limits of five minutes on a Compaq486 to theheuristics:note that for largersets of items this limits hasbeen superseded.Times do not include I/O operations.It can be seen that none of Hi is definitelysuperior:H2perfornsbetterin the sense that it foundthat best solution19 times out of 33, butHI did it 12 times, andH3 2 times.

    Unbounded list of requested piecesThe proposedalgorithmcan be applied to a slight variationof theproblem,namelythatwhere there is an infinite ist ofdemanded ectangles.In this setting,insteadof a list with afixed number of pieces, the input data are a continuousstreamof ordered rectangles. Since the list is unbounded,classic combinatorial olution techniquescannot be devel-oped. Still one can develop decision strategies and checktheirasymptoticbehaviour.The total waste is treatedas arandom variable whose density function depends on theparticular ecision rule chosen.

    Models of this kind have been introducedby Hofri'2 andhave been developed by other authors, for exampleBartholdyet al3. Fora general survey see Coffmanet al4.Consider now the algorithm n the previous chapterandsuppose it is applied not when orders come at the sametime, but when there is a continuous stream of orderstosatisfy. In this way at every time t a list L(t) = { 1, . . ., m}is formedwith the requestedpieces not yet produced.Piecesenterthe list if they are requestedand leave the list if theyare produced.Then the solutionstrategy s the following. Ordersarriveand they are put in a queueuntil they form a list of n = L(O)elements. Since n elements are availableand the queue isfilled, the firstelement of the queue is consideredand onecomputes:

    Abest=m111inmb1b2 A(n*,m*,bl, WiJ, b2)Abet =mln*,*,b,ijb2 A(m*, bl, Wj)for each elementj includedin the queue. Then the cuttingpatternso obtained is repeateduntil the requestfor one ofthetwo pieces is satisfied.Theunrequested iece (or both)isremovedand a new order o join the queueis awaited.Whenan orderarrives,put it at the end of the queue.Note thatthequeue discipline is a modified version of 'First in/first out'discipline, where a piece in the middle of the queue ispossibly removedif it matcheswell with the first item.Fromthe practicalpoint of view, it may happenthatthedecisions aboutthe cutting patternsof the factoryaretakeneach morning,with a list of rectanglesrequested he day ortwo daysbefore.Anotherpossibilityin the job organizationis that requestedpieces enterthe queue as soon as they arerequested.The advantage s the reductionof waste obtainedwith more well coupledpieces, butthe disadvantage s thatthe productionplan must be updatedevery hour.The algorithm s the following:Step 1. Wait forthe arrivalof orderedpieces until a list of npieces L(O)= { 1, ..., n} is available.The pieceshave dimensions (wj,hj) and they are requestedaccordingto a quantitydj. A roll with width Wisgiven.His the maximumheight of a cuttingpattern.Let t = 0.Step 2. Takepiece 1. For each feasible value n*, m* andjand each feasible rotation,compute:

    Abest = min*m*,b1j b A(n*,m*, bl, W,], b2)inn,m*i,i,,b2 A(m*,bl, W)Let best be the optimalvalue of j.Step 3. Perform as many cuts as needed to satisfy therequestof piece 1 orjbest.Step 4. Build list L(t+ 1) removingfromL(t) unrequesteditems. Add at the end of the queue a new item (ortwo when necessary).Let t = t+ 1. Return o Step2.

  • 8/13/2019 An Algorithm for a Cutting Stock Problem on a Strip

    8/8

    294 Journalf heOperationalesearchocietVol.8,No.Table 3 Range of the asymptoticvalues ofpercentagewaste for differentvalues of the listlength

    List length Waste%min-max10 5.38-5.4320 3.95-3.8630 3.22-3.2740 3.14-3.1850 2.76-2.79

    Letting t increase to infinity,the percentagewaste canconverge o an asymptoticvalue.An analysis of thisvalue isattainable reatingrectangle dimensionsand orderedquan-tities as randomvariables.Since a formal probabilisticstudy of the value is verydifficultfor the large amountof comparisonsperformedbythe algorithm, we have at our disposal only the experi-mentalresults obtainedwith the algorithm.The following results were obtained after the generationof 1000 pieces and with a list length varying from 10-50pieces, whose dimensions are uniformly distributedoverthe integersfrom 1-100 and whose requestedquantitiesareuniformlydistributedbetween 100 and20 000 pieces, with

    W= 100.It seems reasonable o think of 1000 generatepieces as aquantitysufficiently arge so as to allow the observationofan asymptotic behaviour. As a matter of fact after about1000 iterationsthe percentualwaste varies by some thou-sandth rom one to another. n any case we report Table3)the minimum and the maximum among the percentagesobtained n the last 20 iterations.We hope that these resultsare good approximation f the asymptoticbehaviour.Whetherthey are asymptotic values or not, it appearsthat the procedure is effective in handling a continuousstreamof orders.ConclusionIn this paper an algorithm o solve an industrialapplicationof a bidimensionalcuttingstockproblemis proposed.Thisprocedurehas been tested on a set of problemsincludingpractical and randomly generated ones. The empirical

    analysis shows that the algorithmis robust for every listtested. Furtherdevelopmentsof this workarerelatedto thestatisticalanalysis of thebehaviourof the algorithm. tmaybe possible to develop exact formulaeaboutthe asymptoticbehaviourof the expected waste and the varianceas well.

    Acknowledgements-I wish to express my thankfulness to professor GPederzoli for his helpful comments.

    References1 Dyckhoff H (1990). A typology of cutting and packingproblemsEur J Opnl Res 44: 145-159.2 Gilmore PC and Gomory RE (1961). A linearprogrammingapproach o the cutting stockproblem OpnsRes 9: 849-859.3 Gilmore PC and Gomory RE (1963). A linearprogrammingapproach o the cutting stock problem, part II Opns Res 11:863-888.4 GilmorePC and GomoryRE (1963). Multistagecutting-stockproblemsof two and more dimensions OpnsRes 13: 94-120.5 Gilmore PC and Gomory RE (1966). The theory and thecomputationof knapsack unctionsOpnsRes 14: 1045-1074.6 Farley AA (1990). The cutting stock problemin the canvasindustryEurJ Opnl Res 44: 247-255.7 Wang PY (1983). Two algorithms or constrained wo-dimen-sionalcuttingstockproblemsOpnsRes 31: 573-586.8 Berkey JO and Wang PY (1987). Two-dimensionalinite bin-packing algorithmsJ Opl Res Soc 38: 423-429.9 YanasseHH, ZinoberASI andHarrisRG (1991). Two dimen-sionalcuttingstockwithmultiplestock sizes J Opl Res Soc 42:673-683.10 Chauny F, LoulouR, Sadones S and Soumis F (1987). A twophase heuristicfor strippacking:algorithm and probabilisticanalysisOplRes Lett 6: 25-33.

    11 Chauny F, Loulou R, Sadones S and Soumis F (1991). A twophaseheuristic orthe two dimensional uttingstock problemJOplRes Soc 42: 39-47.12 Hofri M (1980). Two dimensional packing: expected perfor-mance of simple level algorithm nf and Control45: 1-17.13 Bartholdi JJ, Vande Vate JH and Zhang J (1989). Expectedperformance f the shelf heuristic ortwo-dimensionalpackingOplRes Lett 8: 11-16.14 Coffman EG and Shor PW (1990). Average-caseanalysis ofcuttingandpacking n two dimensionEurJ OpnlRes 44: 134-144.ReceivedOctober1994;acceptedJuly 1996 after two revisions