a best-first branch and bound algorithm for unconstrained two-dimensional cutting problems

7
Available online at www.sciencedirect.com Operations Research Letters 31 (2003) 301 – 307 Operations Research Letters www.elsevier.com/locate/dsw A best-rst branch and bound algorithm for unconstrained two-dimensional cutting problems Young-Gun G a ; , Young-Jo Seong b , Maing-Kyu Kang a a Department of Industrial Engineering, Hanyang University, 1271 Sa 1 dong, Ansan, Kyunggi-do 425-791, South Korea b ERHouse Co. Ltd., South Korea Received 30 May 2002; received in revised form 27 September 2002; accepted 10 December 2002 Abstract This paper is concerned with the problem of unconstrained two-dimensional cutting of small rectangular pieces, each of which has its own prot and size, from a large rectangular plate so as to maximize the prot-sum of the pieces produced. Hi and Zissimopoulos’s recursive algorithm using G and Kang’s upper bound is presently the most ecient exact algorithm for the problem. We propose a best-rst branch and bound algorithm based upon the bottom-up approach that is more ecient than their recursive algorithm. The proposed algorithm uses ecient upper bound and branching strategies that can reduce the number of nodes that must be searched signicantly. We demonstrate the eciency of the proposed algorithm through computational experiments. c 2003 Elsevier Science B.V. All rights reserved. Keywords: Cutting problem; Optimization; Branch and bound; Two-dimensional 1. Introduction A two-dimensional cutting (TDC) problem de- scribes the process of nding the cutting pattern that yields the maximum total prot-sum for the small rectangular pieces cut from a large rectangular plate. Each piece has its own size and prot. For the un- weighted cases where the prots of the pieces are not given, the areas of the pieces are used instead. Gener- ally, the cutting problem includes two restrictions: (i) only guillotine-type cuts are used, i.e. each cut pro- duces two sub-rectangles; and (ii) all pieces have a xed orientation, i.e., a piece of length l and width w Corresponding author. E-mail address: [email protected] (Young-Gun G). is dierent from a piece of length w and width l (when l = w). In many researches, the non-guillotine cut- ting problem is called the packing problem. The con- strained TDC (CTDC) problem limits the number of each piece produced; if the number of each piece is un- limited, then the problem is termed an unconstrained TDC (UTDC) problem. While many exact algorithms for the CTDC problem have been developed and im- proved, only a few exact algorithms have been formu- lated for the UTDC problem. This paper investigates the UTDC problem. Gilmore and Gomory [5] proposed a recursive ex- act algorithm based on dynamic programming to solve the UTDC problem. Their algorithm is applicable to both weighted and unweighted problems. Herz [6] pro- posed a powerful recursive tree search method; his method is more eective than Gilmore and Gomory’s 0167-6377/03/$ - see front matter c 2003 Elsevier Science B.V. All rights reserved. doi:10.1016/S0167-6377(03)00002-6

Upload: young-gun-g

Post on 02-Jul-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A best-first branch and bound algorithm for unconstrained two-dimensional cutting problems

Available online at www.sciencedirect.com

Operations Research Letters 31 (2003) 301–307

OperationsResearchLetters

www.elsevier.com/locate/dsw

A best-!rst branch and bound algorithm for unconstrainedtwo-dimensional cutting problems

Young-Gun Ga ;∗, Young-Jo Seongb, Maing-Kyu Kanga

aDepartment of Industrial Engineering, Hanyang University, 1271 Sa 1 dong, Ansan, Kyunggi-do 425-791, South KoreabERHouse Co. Ltd., South Korea

Received 30 May 2002; received in revised form 27 September 2002; accepted 10 December 2002

Abstract

This paper is concerned with the problem of unconstrained two-dimensional cutting of small rectangular pieces, each ofwhich has its own pro!t and size, from a large rectangular plate so as to maximize the pro!t-sum of the pieces produced. Hi!and Zissimopoulos’s recursive algorithm using G and Kang’s upper bound is presently the most e5cient exact algorithm forthe problem. We propose a best-!rst branch and bound algorithm based upon the bottom-up approach that is more e5cientthan their recursive algorithm. The proposed algorithm uses e5cient upper bound and branching strategies that can reducethe number of nodes that must be searched signi!cantly. We demonstrate the e5ciency of the proposed algorithm throughcomputational experiments.c© 2003 Elsevier Science B.V. All rights reserved.

Keywords: Cutting problem; Optimization; Branch and bound; Two-dimensional

1. Introduction

A two-dimensional cutting (TDC) problem de-scribes the process of !nding the cutting pattern thatyields the maximum total pro!t-sum for the smallrectangular pieces cut from a large rectangular plate.Each piece has its own size and pro!t. For the un-weighted cases where the pro!ts of the pieces are notgiven, the areas of the pieces are used instead. Gener-ally, the cutting problem includes two restrictions: (i)only guillotine-type cuts are used, i.e. each cut pro-duces two sub-rectangles; and (ii) all pieces have a!xed orientation, i.e., a piece of length l and width w

∗ Corresponding author.E-mail address: [email protected]

(Young-Gun G).

is di?erent from a piece of length w and width l (whenl �= w). In many researches, the non-guillotine cut-ting problem is called the packing problem. The con-strained TDC (CTDC) problem limits the number ofeach piece produced; if the number of each piece is un-limited, then the problem is termed an unconstrainedTDC (UTDC) problem. While many exact algorithmsfor the CTDC problem have been developed and im-proved, only a few exact algorithms have been formu-lated for the UTDC problem. This paper investigatesthe UTDC problem.

Gilmore and Gomory [5] proposed a recursive ex-act algorithm based on dynamic programming to solvethe UTDC problem. Their algorithm is applicable toboth weighted and unweighted problems. Herz [6] pro-posed a powerful recursive tree search method; hismethod is more e?ective than Gilmore and Gomory’s

0167-6377/03/$ - see front matter c© 2003 Elsevier Science B.V. All rights reserved.doi:10.1016/S0167-6377(03)00002-6

Page 2: A best-first branch and bound algorithm for unconstrained two-dimensional cutting problems

302 Young-Gun G et al. / Operations Research Letters 31 (2003) 301–307

algorithm for an unweighted problem, but does notapply to weighted cases. Beasley [1] proposed an al-gorithm that is a modi!ed version of Gilmore and Go-mory’s algorithm. Hi! and Zissimopoulos [8] solvedthe unconstrained problem with a recursive exact al-gorithm that uses a dynamic programming procedureand e5cient lower and upper bounds. G and Kang[4] improved Hi! and Zissimopoulos’ recursive algo-rithm by applying a more e5cient upper bound. Thisis presently the most e5cient exact algorithm for theUTDC problem.

There are two general techniques used to solveTDC problems: top-down and bottom-up approaches.Christo!des and Whitlock [2] originally proposedthe top-down approach, which generates all of thefeasible cutting patterns by repeatedly cutting eachsub-plate into two new sub-plates. Most of the exactalgorithms for the UTDC problem use this approach.The bottom-up approach generates all of the feasiblecutting patterns by combining two patterns horizon-tally or vertically that are themselves constructedfrom two other patterns. Wang [10] !rst proposedthis concept, and Viswanathan and Bagchi [9] usedit to develop a best-!rst branch and bound algorithmfor the CTDC problem.

The bottom-up approach requires a large amountof memory, which is one reason why an exact al-gorithm using this approach for the UTDC problemhas not yet been introduced. However, we proposean e5cient best-!rst branch and bound algorithmbased on the bottom-up approach for the UTDCproblem that does not require a large amount ofmemory.

2. Bottom-up approach

In the bottom-up approach, a new cutting patternis obtained from a horizontal or vertical build of twosub-patterns [10]. Let A and B be cutting patternsof (xA; yA) and (xB ; yB), respectively, where (x; y)denotes the size of a cutting pattern with length xand width y. Let g(A) and g(B) be the pro!ts ofA and B, respectively. A new cutting pattern of(xA + xB ;max {yA; yB}) with pro!t g(A) + g(B)can be obtained from the horizontal build of A andB, (A;B)h. Similarly, the vertical build of A andB; (A;B)v, generates another new cutting pattern of

A

B

A

A

B

B

horizontal build

vertical build

A

B

A

A

B

B

A

B

A

A

B

B

Fig. 1. Horizontal and vertical builds.

(max {xA; xB}; yA + yB) with pro!t g(A) + g(B)(See Fig. 1).

Viswanathan and Bagchi [9] proposed a best-!rstsearch method for the CTDC problem using abottom-up approach, and Hi! [7] improved their al-gorithm. Generally, each iteration of the best-!rstbranch and bound algorithm consists of the follow-ing procedure: (i) selecting a leaf node (i.e. not yetbranched node) with the highest upper bound andmoving it from the leaf nodes set into the branchednodes set, (ii) branching out child nodes from theselected node, and (iii) adding the child nodes withupper bounds greater than the current optimal valueinto the leaf nodes set.

In Viswanathan and Bagchi’s algorithm, each noderepresents a cutting pattern, and branching refers tothe construction of the horizontal and vertical builds.Therefore, child nodes (i.e., new cutting patterns) of aselected node are generated by the builds between theselected node and all of the branched nodes (includingthe selected node). The current optimal solution isupdated whenever a child node is constructed with apro!t greater than the current optimal value. If thereexists no leaf node with an upper bound greater thanthe current optimal value, the algorithm is terminated.

Consider a UTDC problem with a plate (L;W ) andn types of pieces, such that the size and pro!t of theith piece are (li; wi) and pi, respectively. We assumethat L;W; li, wi and pi for all pieces are positive in-tegers. Let (lR; wR) and g(R) be the size and pro!tof a node R, respectively. Then U (R) = g(R) + u(P)

Page 3: A best-first branch and bound algorithm for unconstrained two-dimensional cutting problems

Young-Gun G et al. / Operations Research Letters 31 (2003) 301–307 303

R

P

lR

wR

L

W

Fig. 2. Size of the cutting pattern R and the plate.

represents the upper bound of a cutting pattern con-taining the node R, where u(P) is the upper bound ofthe complementary area P for R shown in Fig. 2.

3. Upper bound

When solving the UTDC problem using a branchand bound algorithm, a tighter upper bound for eachnode will improve the algorithm performance signif-icantly. G and Kang [4] proposed an e5cient upperbound for unconstrained two-dimensional cutting andpacking. Their upper bound uses the concept of hor-izontal and vertical strips to consider the geometricalshape of the pieces to be cut as well as the area of theplate.

They divided a plate (a; b) into b horizontal stripsof size (a, 1). The maximum pro!t that each of thestrips can yield is

kh(a; b)

=max

{∑i∈S

(piwi

)xi :

∑i∈Slixi6 a;∀xi ∈N

};

where S= {i : li6 a; wi6 b for i=1; 2; : : : ; n} and Nis the set of non-negative integers. Here, kh(a; b) rep-resents the optimal value of an unbounded knapsackproblem, in which the pro!t and weight of the ith itemare pi=wi and li for i = 1; 2; : : : ; n, respectively, andthe capacity of the knapsack is a. Then �b× kh(a; b)�is the upper bound for the plate (a; b) using the hori-zontal strip, where �x� is the largest integer that is notgreater than x. Similarly, the upper bound using the

vertical strip is �a× kv(a; b)� where

kv(a; b)

=max

{∑i∈S

(pili

)xi :

∑i∈Swixi6 b;∀xi ∈N

}

G and Kang used

u(a; b) = min{�b× kh(a; b)�; �a× kv(a; b)�}as the upper bound for the plate (a; b).

The concept of horizontal and vertical strips can besuccessfully applied to the bottom-up approach. AreaP in Fig. 2 can be divided into W − wR horizontalstrips of (L; 1) and wR horizontal strips of (L− lR; 1).Let the maximum value that a horizontal strip of (a; 1)can yield be

k ′h(a) = max

{n∑i=1

(piwi

)xi :

n∑i=1

lixi6 a;∀xi ∈N

}:

Then uh(P)=�(W−wR)×k ′h(L)�+�wR×k ′h(L−lR)�is the upper bound for area P using the horizontalstrip. Similarly, uv(P) = �lR × k ′v(W −wR)�+ �(L−lR)× k ′v(W )� is the upper bound for area P using thevertical strip, where

k ′v(b) = max

{n∑i=1

(pili

)xi :

n∑i=1

wixi6 b;∀xi ∈N

}:

Therefore, the upper bound of node R is

U (R) = g(R) + u(P); (1)

where u(P) = min{uh(P); uv(P)}.Since g(R) is given at each node, u(P) must be

calculated to obtain U (R). However, once k ′h(L) andk ′v(W ) are solved at the beginning of the algorithmusing dynamic programming, k ′h(x) and k ′v(y) for allx6L; y6W can be obtained easily from the solu-tion.

4. Branching strategies

Consider a best-!rst branch and bound algorithmwhere the leaf node set is O and the branched nodeset is C. In this section, we propose three e5cientstrategies that can be used for the branching procedure.

Page 4: A best-first branch and bound algorithm for unconstrained two-dimensional cutting problems

304 Young-Gun G et al. / Operations Research Letters 31 (2003) 301–307

Let (a; b)¿ (or 6 or =) (c; d) mean a¿ (or6 or =) c and b¿ (or 6 or =) d.

De nition 1. Given an instance of a UTDC problem,a node (cutting pattern) R is a dominated pattern ifthe optimal solution does not change when R is notconsidered.

Proposition 1. Given a node R, if there exists a nodeR′ such that

(lR; wR)¿ (lR′ ; wR′) and g(R)6 g(R′) (2)

then R is dominated by R′.

Proof. For any cutting pattern including R;R′ canreplace R without resizing the pattern because(lR; wR)¿ (lR′ ; wR′). Since g(R)6 g(R′), the pro!tof the replacement is larger than or equal to theoriginal pro!t.

Strategy 1: When moving a node R from O intoC, if there exists a node R′ in C satisfying (2) then Ris pruned.

Strategy 1 not only prunes node R but also re-moves many patterns that would be branched fromother nodes by combining with R in the future.

Proposition 2. For any two nodes R∈O andR′ ∈C, if (lR; wR)6 (lR′ ; wR′) then the inequalityg(R)6 g(R′) holds.

Proof. In the best-!rst branch and bound method,U (R)6U (R′), and g(R) + u(P)6 g(R′) + u(P′)where P′ is the complementary area for R′. Fromthe inequality (lR; wR)6 (lR′ ; wR′), u(P)¿ u(P′).Therefore, g(R)6 g(R′) holds.

Proposition 3. For any two nodes R′;R′′ in C,if (lR′ ; wR′)¿ (lR′′ ; wR′′) then the inequalityg(R′)¿ g(R′′) holds.

Proof. Proposition 3 is valid by Strategy 1 and Propo-sition 2.

The second strategy is used when branching on anode R in O. The child nodes of R are generated bythe horizontal and vertical builds between node R andall of the elements in C (including R). The followingStrategy 2, reduces the number of these builds.

Strategy 2: In the horizontal and vertical build pro-cedure, all dominated patterns identi!ed by the fol-lowing Propositions 4 and 5, are removed.

Proposition 4. Given a node R∈O, if there existsany two nodes R′;R′′ in C such that

wR¿wR′ ¿wR′′ and lR′ = lR′′

then H ′′ = (R;R′′)h is dominated by H ′ = (R;R′)h.

Proof. R′;R′′ ∈C and (lR′ ; wR′)¿ (lR′′ ; wR′′), thusg(R′)¿ g(R′′) by Proposition 3.

(lH ′ ; wH ′) = (lR + lR′ ;max{wR; wR′})= (lR + lR′ ; wR);

(lH ′′ ; wH ′′) = (lR + lR′′ ;max{wR; wR′′})= (lR + lR′′ ; wR) and

g(H ′) = g(R) + g(R′);

g(H ′′) = g(R) + g(R′′)6 g(R) + g(R′) = g(H ′):

Thus,

(lH ′ ; wH ′) = (lH ′′ ; wH ′′) and g(H ′)¿ g(H ′′):

Therefore, H ′ dominates H ′′ by Proposition 1.Similarly, the vertical case can be applied to the

cutting patterns R∈O and R′;R′′ ∈C such that

lR¿ lR′ ¿ lR′′ and wR′ = wR′′ :

Proposition 5. Given a node R∈O, if there exists anode NR such that

w NR = min{wR′ |lR′ = lR; wR′ ¿wR;R′ ∈C}then (R;R′)h is dominated by ( NR;R′)h, where R′ isan arbitrary node such that wR′ ¿w NR; R

′ ∈C.

Proof. R∈O; NR∈C and (lR; wR)6 (l NR; w NR); thusthe inequality g(R)6 g( NR) holds by Proposition 2.The dimensions of (R;R′)h and ( NR;R′)h are the sameas (lR + lR′ ; wR′), and their pro!ts are g(R) + g(R′),g( NR) + g(R′), respectively. Therefore, the inequalityg(R) + g(R′)6 g( NR) + g(R′) holds. ( NR;R′)h dom-inates (R;R′)h by Proposition 1 and (R;R′)h can beeliminated since the horizontal build ( NR;R′)h alreadyexists in O.

Page 5: A best-first branch and bound algorithm for unconstrained two-dimensional cutting problems

Young-Gun G et al. / Operations Research Letters 31 (2003) 301–307 305

Similarly, this proposition can be applied to thevertical case. Therefore, when generating child nodesof R using horizontal or vertical builds, a number ofdominated builds can be eliminated by Propositions 4and 5.

Finally, the following strategy is used when a hor-izontal or vertical build, q (a newly generated childnode), is moved into the leaf node set O.Strategy 3: When moving the child node q into O,

if there exists a node R in O such that

(lq; wq) = (lR; wR) and g(q)6 g(R) (3)

then q is removed.If there exists R in O satisfying (3), q is dominated

by R by Proposition 1. This strategy reduces the num-ber of leaf nodes and improves the algorithm perfor-mance.

The bottom-up approach generally requires a largeamount of memory, but the proposed algorithm usesonly a maximum of 2LW of memory space. The spacerequired for the branched node set C is less than orequal to LW by Strategy 1, and the space for the leafnode setO is also less than or equal to LW by Strategy3. Therefore, the space complexity of the proposedalgorithm isO(LW ), which is the same as required fordynamic programming or Hi! and Zissimopoulos’salgorithm.

In the following procedure, the main steps of theproposed algorithm using the described branchingstrategies and the upper bound are outlined.

Procedure: The proposed best-!rst branch and boundalgorithm.

Step 1: [Initialize]Let the leaf node set O={R1;R2; : : : ;Rn}where Ri is a pattern with one ith piece.Let the branched nodes set C=K, and thecurrent optimal value z = 0.Calculate U (Ri) for i = 1; 2; : : : ; n byequality (1).

Step 2: [Branch and bound]Find a pattern R with the highest U (R)in O.If not found or U (R)6 z then go tostep 3.

If R is removed by Strategy 1 thengo to step 2.Move R from O into C.Construct all feasible cutting pat-terns Q such that:

q∈Q is a horizontal or verticalbuild between R and a node inC (including R) by Strategy 2,dimension (q)6 (L;W ).

For each element q∈Qwhich is notremoved by Strategy 3:

If g(q)¿z then set z = g(q),If U (q)¿z then setO = O ∪ {q}.

Remove all elements R from O thathave U (R)6 z.

Go to step 2.

Step 3: [Finish]Exit with z.

5. Computational results

This section presents some results obtained usingthe proposed algorithm and Hi! and Zissimopoulos’sexact algorithm. Hi! and Zissimopoulos’s recursiveexact algorithm with G and Kang’s upper bound (HZ–GK) was previously the most e5cient known methodof obtaining a solution [4]. The algorithms weretested on a Pentium-III 650-MHz PC with 128 MBof memory. The codes were written in C++. Alltimes reported are in CPU-seconds. Table 1 showsthe results from the 11 examples described in Hi! andZissimopoulos’s paper [8]. The proposed algorithm issuperior to HZ–GK for most of the examples. How-ever, the computing times are so short that no de!niteconclusions can be drawn about the e5ciency of theproposed algorithm.

Table 2 gives the results obtained using examplesUW1–UW11 (the !rst 11 examples, weighted) andUU1–UU11 (the last 11 examples, unweighted) foundon the ftp site ftp://panoramix.univ-paris1.fr/pub/CERMSEM/hi!/2Dcutting, which is introduced byCung et al. [3]. Since the pro!ts of the pieces inUU1–UU11 are not given, we used the area of thepieces instead. The proposed algorithm was fasterthan HZ–GK for all of the examples, and reduced

Page 6: A best-first branch and bound algorithm for unconstrained two-dimensional cutting problems

306 Young-Gun G et al. / Operations Research Letters 31 (2003) 301–307

Table 1Computational results for 11 examples given in [8]

No. (L;W ) Optimal Computing time (s)value

HZ–GK Proposed

1 (127,98) 12 348 0.02 ¡ 0:012 (15,10) 249 ¡ 0:01 0.013 (40,70) 3076 0.01 ¡ 0:014 (40,70) 2240 0.01 ¡ 0:015 (70,40) 2758 0.02 ¡ 0:016 (70,40) 2776 0.01 ¡ 0:017 (100,156) 15 024 0.02 ¡ 0:018 (253,294) 73 176 0.03 0.019 (318,473) 142 817 0.02 0.01

10 (501,556) 265 768 0.03 0.0211 (750,806) 577 882 0.04 0.02

the computing time by up to 71% on average, andby 96% for the case of UW11. Although, for the lastexample of UU11, we used a Pentium-IV 1.6-GHzPC with 256 MB of memory, it required over 13 min

Table 2Computational results for the examples introduced in [3]

No. ID (L;W ) Optimal value Computing time (%) Dev.a

HZ–GK Proposed

1 UW1 (500,500) 6036 0.06 0.01 83.32 UW11 (555,632) 15 747 0.92 0.04 95.73 UW2 (560,750) 8468 0.26 0.02 92.34 UW3 (700,650) 5964 0.14 0.01 92.95 UW4 (1245,1015) 8326 0.37 0.04 89.26 UW5 (1100,1450) 7780 0.11 0.04 63.67 UW6 (1750,1542) 6615 0.58 0.09 84.58 UW7 (2250,1875) 10 464 0.86 0.14 83.79 UW8 (2645,2763) 7692 0.89 0.23 74.2

10 UW9 (3000,3250) 7038 0.51 0.30 41.211 UW10 (3500,3650) 7507 2.70 0.60 77.812 UU1 (500,500) 242 919 0.06 0.02 66.713 UU2 (750,800) 595 288 0.10 0.05 50.014 UU3 (1100,1000) 1 072 764 0.14 0.09 35.715 UU4 (1000,1200) 1 179 050 0.57 0.15 73.716 UU5 (1450,1300) 1 868 999 0.93 0.17 81.717 UU6 (2050,1457) 2 950 760 0.25 0.18 28.018 UU7 (1465,2024) 2 930 654 2.36 0.37 84.319 UU8 (2000,2000) 3 959 352 1.02 0.32 68.620 UU9 (2500,2460) 6 100 692 0.89 0.41 53.921 UU10 (3500,3450) 11 955 852 3.65 1.05 71.222 UU11 (3500,3765) 13 157 811 1133.13 802.71 29.2

aAverage percentage gain.

Table 3Computational results for randomly generated instances

(L;W ) Number of Average computing (%) Dev.a

pieces time

HZ–GK Proposed

(500,500) 30 0.055 0.011 80.0(555,632) 30 0.168 0.014 91.7(560,750) 30 0.238 0.021 91.2(700,650) 30 0.249 0.022 91.2(1245,1015) 30 3.105 0.113 96.4(1100,1450) 30 5.648 0.091 98.4(1750,1542) 30 25.260 0.557 97.8(2250,1875) 30 54.585 0.255 99.5(2645,2763) 30 146.473 0.430 99.7(3000,3250) 30 228.950 0.505 99.8(3500,3650) 30 591.750 1.209 99.8

aAverage percentage gain.

to solve for both algorithms because it includes anabnormally small piece (37, 710).

Table 3 shows the results obtained for 10 randomexamples with weighted data sets for each plate of

Page 7: A best-first branch and bound algorithm for unconstrained two-dimensional cutting problems

Young-Gun G et al. / Operations Research Letters 31 (2003) 301–307 307

(L;W ). The sizes of the plates are the same as those ofUW1–UW11. Each example has 30 pieces, the sizesof which were chosen randomly from between (200,200) and (L=2; W=2). The pro!ts of the pieces wereuniformly random in [200, 500]. The proposed algo-rithm was faster than HZ–GK for all of the cases,and reduced the computing time by up to 95%. Thus,the proposed algorithm can be applied successfully toUTDC problems.

6. Conclusion

A best-!rst branch and bound algorithm for theUTDC problem was proposed. While previous ex-act algorithms for the UTDC problem were gener-ally based upon the top-down approach, the proposedalgorithm solves the problem with a bottom-up ap-proach, using horizontal and vertical builds. At eachnode of the branch and bound algorithm, the proposedupper bound leads to signi!cant branching cuts, andthe branching strategies reduce the number of nodesthat must be searched by eliminating dominated cut-ting patterns. The e5ciency of the proposed algorithmwas demonstrated in tests. The proposed algorithm issuperior to the HZ–GK algorithm and was success-fully applied to UTDC problems.

References

[1] J.E. Beasley, Algorithms for unconstrained two-dimensionalguillotine cutting, J. Oper. Res. Soc. 36 (1985) 297–306.

[2] N. Christo!des, C. Whitlock, An algorithm fortwo-dimensional cutting problems, Oper. Res. 25 (1977)30–44.

[3] V.-D. Cung, M. Hi!, B. Le Cun, Constrained two-dimensionalcutting stock problems a best-!rst branch-and-boundalgorithm, Internat. Trans. Oper. Res. 7 (2000) 185–210.

[4] Y.-G. G, M.-K. Kang, A new upper bound for unconstrainedtwo-dimensional cutting and packing, J. Oper. Res. Soc. 53(2002) 587–591.

[5] P.C. Gilmore, R.E. Gomory, The theory and computation ofknapsack functions, Oper. Res. 14 (1966) 1045–1074.

[6] J.C. Herz, A recursive computing procedure fortwo-dimensional stock cutting, IBM J. Res. Develop. 16(1972) 462–469.

[7] M. Hi!, An improvement of Viswanathan and Bagchi’s exactalgorithm for constrained two-dimensional cutting stock,Comput. Oper. Res. 24 (1997) 727–736.

[8] M. Hi!, V. Zissimopoulos, A recursive exact algorithm forweighted two-dimensional cutting, European J. Oper. Res. 91(1996) 553–564.

[9] K.V. Viswanathan, A. Bagchi, Best-!rst search methods forconstrained two-dimensional cutting stock problems, Oper.Res. 41 (1993) 768–776.

[10] P.Y. Wang, Two algorithms for constrained two-dimensionalcutting stock problems, Oper. Res. 31 (1983) 573–586.