exact solutions for constrained two-dimensional cutting problems

12
EUROPEAN JOURNAL OF OPERATIONAL RESEARCH ELSEVIER European Journal of Operational Research 84 (1995) 633-644 Exact solutions for constrained two-dimensional cutting problems Victor Parada Daza a,*, Arlindo G6mes de Alvarenga h, Jos6 de Diego c a Departamento de Ingenieffa Informdtica, Universidad de Santiago de Chile, Av. Ecuador 3659, Santiago, Chile b Departamento de lnformdtica, Universidade Federal do Espfrito Santo, 29060-900 Vitoria, ES, Brazil c Departamento de Ingenier[a de Sistemas, Universidad de Concepci6n, Casilla 1186, Concepcidn, Chile Abstract The constrained two-dimensional cutting problem is concerned with the way a set of pieces should be cut from a plate, taking into account that the cuts are of the guillotine type and that the number of times a piece can be cut is limited. Both plate and pieces are rectangular shaped. Yr 1983, Wang proposed an algorithm for incremental development of rectangles. Later, Oliveira and Ferreira not only proposed but numerically tested an improvement to the algorithm as. A generalization of these methods is proposed. It will be stated that such methods are particular cases of uninformed search methods, widely studied in the area of Artificial Intelligence. Knowing that more efficient methods exist, namely 'informed methods', different alternatives to orientate the search process, while reducing the required computer memory and time, are defined. Using an adequate selection of an heuristic function it is possible to guarantee the determination of a best solution. Such ideas are numerically tested in this work. The results indicate the superiority of the proposed algorithm. Keywords: Search method; And/Or graphs; Cutting stock problem; Trim loss; Intelligent search 1. Introduction The cutting stock problem has been widely studied during the last three decades as it has had great applicability in industry. Both reviews of the works conducted as well as classifications of the problem can be found in Hinxman (1980), Dyckhoff et al. (1988) and Dyckhoff (1990). The rectangular pieces cutting problem, cut also from rectangular plates, is one particular case of this set of problems. The aim of the cutting process is to achieve the minimum trim loss. There are two technological conditions that reduce the problem domain. The first one considers an upper bound to the number of times a certain piece can be cut from the plate. The second, demands all cuts to be executed by means of guillotine, that is, cutting the plate or parts of it from side to side orthogonally to one side. This problem is known as the Constrained Two Dimensional Cutting Problem, which will be studied here. * Corresponding author. 0377-2217/95/$09.50 © 1995 Elsevier Science B.V. All rights reserved SSDI 0377-2217(95)00028-3

Upload: victor-parada-daza

Post on 21-Jun-2016

226 views

Category:

Documents


4 download

TRANSCRIPT

EUROPEAN JOURNAL

OF OPERATIONAL RESEARCH

E L S E V I E R European Journal of Operational Research 84 (1995) 633-644

Exact solutions for constrained two-dimensional cutting problems

Victor Parada Daza a,*, Arlindo G6mes de Alvarenga h, Jos6 de Diego c

a Departamento de Ingenieffa Informdtica, Universidad de Santiago de Chile, Av. Ecuador 3659, Santiago, Chile b Departamento de lnformdtica, Universidade Federal do Espfrito Santo, 29060-900 Vitoria, ES, Brazil c Departamento de Ingenier[a de Sistemas, Universidad de Concepci6n, Casilla 1186, Concepcidn, Chile

Abstract

The constrained two-dimensional cutting problem is concerned with the way a set of pieces should be cut from a plate, taking into account that the cuts are of the guillotine type and that the number of times a piece can be cut is limited. Both plate and pieces are rectangular shaped. Yr 1983, Wang proposed an algorithm for incremental development of rectangles. Later, Oliveira and Ferreira not only proposed but numerically tested an improvement to the algorithm as. A generalization of these methods is proposed. It will be stated that such methods are particular cases of uninformed search methods, widely studied in the area of Artificial Intelligence. Knowing that more efficient methods exist, namely 'informed methods', different alternatives to orientate the search process, while reducing the required computer memory and time, are defined. Using an adequate selection of an heuristic function it is possible to guarantee the determination of a best solution. Such ideas are numerically tested in this work. The results indicate the superiority of the proposed algorithm.

Keywords: Search method; And/Or graphs; Cutting stock problem; Trim loss; Intelligent search

1. Introduct ion

The cutting stock problem has been widely studied during the last three decades as it has had great applicability in industry. Both reviews of the works conducted as well as classifications of the problem can be found in Hinxman (1980), Dyckhoff et al. (1988) and Dyckhoff (1990). The rectangular pieces cutting problem, cut also from rectangular plates, is one particular case of this set of problems. The aim of the cutting process is to achieve the minimum trim loss. There are two technological conditions that reduce the problem domain. The first one considers an upper bound to the number of times a certain piece can be cut from the plate. The second, demands all cuts to be executed by means of guillotine, that is, cutting the plate or parts of it from side to side orthogonally to one side. This problem is known as the Constrained Two Dimensional Cutting Problem, which will be studied here.

* Corresponding author.

0377-2217/95/$09.50 © 1995 Elsevier Science B.V. All rights reserved SSDI 0377-2217(95)00028-3

634 V..P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644

Christofides and Whitlock (1977), by using the results achieved by Gilmore and Gomory (1967) and a classical transportation problem to determine an upper bound to the nodes, developed an exact tree search algorithm to solve the problem. Other researchers, e.g. Hinxman (1976) and later Morabito, Arenales and Arcaro (1992) formulated and solved an unconstrained problem by using the problem reduction methodology (Pearl, 1984). Herz (1972) and Beasley's (1985) works have also considered the problem through particular methods. On the other hand, Wang (1983) proposed an incremental development algorithm to the constrained problem which was later improved by Vasko (1988) and Oliveira and Ferreira (1990).

In this work a second level of improvement for Wang's algorithm is proposed. It is achieved by representing the problem through a graph which characterizes the whole solution domain. Due to a strong combinatorial component in the problem the graph's implicit generation must be achieved by means of an implicit search methodology.

The problem is formally introduced in Section 2 of this work. In Section 3 Wang's algorithm is analyzed together with its modification. In Section 4 a new problem solving representation strategy is presented, which will be analyzed in Section 5 under the Constrained Two Dimensional Cutting Problem context. Finally in Section 6 proposals are analyzed under a numerical point of view. Concluding remarks are provided in Section 7.

2. The problem

Consider a rectangular plate of (c, d) dimensions where c is the length and d the width, on discrete units. Consider also an index set R identifying different types of pieces of (Pi, qi ) dimensions, where Pi <P and qi ~ q, V i ~ R . Let b be a vector with integers b~, i ~R, corresponding to the upper bound of the number of times that a piece can be cut from a plate by means of guillotine cuts. From the above, a cutting pattern is tried to be configured, by setting a combination of pieces which when cut from the plate will produce a minimum trim loss. A partial mathematical formulation of the problem is stated as follows:

Min Z ( x ) = c d - ~-'~piqixi (2.1a)

s . t . O<_xi<_bi, V i ~ R , (2.1b)

x i integer V i ~ R , (2.1c)

Feasible cuts, (2.1d)

where x i is the number of times the /-piece is found in the cutting pattern. The third constraint, Eq. (2.1d), considers two aspects, to assure that guillotine cuts will be applied and to prevent pieces from overlapping one another. It seems difficult to represent a mathematical formulation to this kind of constraints according to defined variables, so a consideration of a new set of variables associated with the geometry of the problem seems inevitable.

The unconstrained problem will be identified by replacing the upper bound constraints by

3(, i >___ 0 V i ~ R . (2.2)

3. The modified Wang's algorithm

Wang's algorithm, developed in 1983, presents an ingenious way of building up rectangles and joining them, ensuring thus guillotine cuts, but in some cases also with a trim loss. The algorithm gradually

F.P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644 635

A B

C

E

C

13 F Fig. 1. Combination of rectangles.

G

generates rectangles considering both the original pieces and the new rectangles generated in each state. Three feasibility criteria are considered in each new generation:

• Rectangle dimensions must be less than or equal to the plate dimensions. • Internal trim loss must be less than or equal to a certain percentage of the plate. • The number of pieces of a specific type cut from the plate must be less than or equal to its upper

bound. Storing all those rectangles that satisfy the criterion in each state, the algorithm selects the best yielded rectangle, i.e., the one with the lowest trim loss. This algorithm is denoted by WA.

Oliveira and Ferreira (1990) developed an improvement to Wang's method, here denoted as the modified method (WAM). To understand the situation consider Fig. 1. Rectangles A and B, and rectangles C and D are combined to generate E and F, respectively. Subsequently, rectangle G is generated by joining E and F.

Rectangles E and F have a trim loss attached (shaded section) which is called internal trim loss (notice that all cuts are guillotine ones). On the other hand, G has its own internal trim loss equal to the sum of E and F trim loss, plus the trim loss generated when they were joined. Let us consider c and d as the plate dimensions. When rectangle G is placed on it, an L section is created with no piece placed over it. Placing pieces over the L section will cause what is known as the external trim loss. Oliveira and Ferreira have proposed an accurate way of estimating the value for the external trim loss. To estimate it, the L section is divided in two and by the exact method of Gilmore and Gomory (1967) pieces are assigned. If we consider T/ as the generated trim loss when pieces were assigned over the rectangle i, and additionally we denote: i = 1, the rectangle of dimensions c x b; i = 2, the one of dimensions (d - b) x (c - a); i = 3, an a x b one; and finally, i = 4, the (c - a) X d rectangle, then function (3.1) is associated with the rectangle in Fig. 1.

h = Min{T 1 + T 2, T 3 + T4}. (3.1)

The WAM algorithm is generated by replacing the second criterion of Wang's algorithm by • The total trim loss (internal + external) must be less than a certain percentage of the plate's area. In the subsequent sections we will identify two kind of rectangles named horizontal and vertical. In

Fig. 1 all the generated rectangles are horizontal, because the pieces are joined by placing the second rectangle to the right hand side of the first one. Vertical rectangles are obtained by placing the second on top of the first.

4. Additive And/Or graphs

A n d / O r graphs were developed by researchers when studying the human reasoning modeling problem. The problem reduction methodology (Pearl, 1984) developed in the Artificial Intelligence area

636 F.P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644

Fig. 2. (a) And/Or and (b) additive And/Or graphs.

associates a graph with the studied problem. The basic idea of this graph is that a certain problem can be decomposed into simpler ones. Consider Fig. 2a where problem P is decomposed into subproblems Pl,P2 and P3. In order to solve P it is required to solve subproblems PI and P2 or subproblem P3. The decomposition arc of P in Pl and P2 is an And arc.

Because the graph has all the possible divisions of P and at the same time it has the subproblems divided into simpler ones, to find a solution to P means to find a subgraph for which all subproblems are solved in the last division state. In this way a solution to P is generated by composing the partial solutions obtained. Since the subgraph solutions have different costs attached, it is desirable to use a search method. In A n d / O r graphs it can be done by using the AO * algorithm (Pearl, 1984).

In this paper we are interested in a problem in which the generation of a solution is incrementally composed by parts of it. Therefore an additive A n d / O r graph is used as shown in Fig. 2b. A solution to P can be obtained by combining the solution of Pl and P2, as well as the solution of P3 and P4, where Pi is a partial subproblem of P. This characterizes a graph that represents in an adequate way the rectangle generation of Wang's method. Then, a search method for this situation is also needed, and we called it AAO * algorithm.

Let f(n) = g(n) + h(n) be an evaluation function associated with each node of the graph, where g(n) measures the partial generation cost of node n and h(n), the heuristic function, gives an estimation of the future generation cost to find a goal node. Then f(n) is an approximated cost of the generation of the subgraph with root n. The definition of f(n) is analogous to the definitions in the Or graph search algorithm A* (Nilsson, 1980). According to the definition above we can define g * (n) as the minimum generation cost of node n and h * (n), the minimum cost of the subgraph with root n that generates the minimum cost goal node. Since f is defined, the AAO * algorithm can be written using two lists of nodes called Open and Closed. The first one stores the nodes that can still be explored and the second those already explored. The algorithm in each state selects to explore, from the Open list, the minimum f value node, putting it in the Closed list and updating the search subgraph. In the following algorithm the set of successors of n is identified as Success(n).

A A O * a l g o r i t h m

Begin Place in Open the initial nodes; Calculate f(n) Vn ~ Open; Stop := false; While Stop = false and Open ~ ¢ Do

Determine n such that f(n) = min{f(m); m ~ Open}; Remove n from Open and place it on Closed; IF n is the final state Then Stop := true; Else

V.P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644 637

S := Success(n); Calculate f ( j ) Vj ~ S; Place j into Open Vj ~ S; updating node information if necessary;

End while IF Stop = true Then C * .'= f (n) ; Else {solution not found}

End.

A relation of equivalence between the A* and AAO * algorithms has to be considered to show the admissibility of AAO *, i.e., that the optimum solution is found whenever a solution exists.

Each node n of the generated subgraph G has associated a partial subgraph G'(n). Such a subgraph contains all those nodes of G which are used to generate node n, i.e. the ancestors of n in G. So, when AAO * selects a new node n, it also implicitly selects a new subgraph G'(n) to be expanded. Let us define a new graph G" with each node (super-node) representing a partial subgraph. Then, selecting a node n in G and combining it with all its ancestors, a set of successors of G(n) in G" is generated by means of Or arcs. Therefore an Or search tree can be associated with the AAO * subgraph generation. It is easy to appreciate that AAO*, working over an additive A n d / O r graph, is the same as A* working over the graph composed by super-nodes, so the A* admissibility is also applied to the AAO * algorithm. If AAO * uses an admissible heuristic function, i.e., h(n) < h * (n), and even more, if such function is monotone, then a set of nodes in a non decreasing order is generated in the Closed list. A generalization of the monotonicity definition in this case is written as

h( ni) - h( nl, ) < g( nj) + c( ni, nj) (4.1)

where the n k node is obtained combining nodes n i and nj and c(ni, n j) is the cost associated with the combination. The generalization above arises when applying the monotonicity concept as it has been defined to Or graphs, but now being applied to the graph defined by super-nodes and considering the cost of an arc given by

g( nj) + c( ni, nj).

5. The cutting problem and additive And/Or graphs

5.1. Representing the problem

The joining of rectangles to generate greater ones, like Wang's algorithm does, can be represented by an additive A n d / O r graph. Each node represents a rectangle and each A n d / O r arc a join between them. Nodes are joined in pairs considering both vertical and horizontal combinations, in this way a pair of nodes are generated by two others. Obviously, the graph that represents all feasible combinations is finite. The initial nodes are the initial pieces and the goal nodes are those that cannot generate a new rectangle according to the feasibility definition given in Section 2. Fig. 3 shows the generation of an additive A n d / O r graph for rectangles in Fig. 1. Since rectangle G does not cover the plate completely, it has a partial solution subgraph associated. It is easy to see that there is only one pattern corresponding to each solution subgraph, but there is at least one solution subgraph corresponding to each pattern.

In this case f ( n ) represents the total trim loss in rectangle n. Two kinds of trim loss are defined: internal and external. The first one is represented by g(n), estimated as

g( n) = g( ni) + g( nj) + c( ni, nj) , (5.1)

638 V.P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644

ZY Fig. 3. Additive And/Or graph to cutting problem.

where rectangle n is generated by joining n i and nj. The internal loss in rectangles n i and nj are g(n i) and g(nj), and c(n i , n j) is the internal trim loss associated to the new rectangle. The heuristic function h(n) is associated with the external trim loss of the rectangle when it is placed over the plate, as described in Fig. 1. With the preceding definitions we can use the A A O " algorithm to ensure that an optimum solution can be found.

5.2. Solution alternatives

5.2.1. Uninformed search with pruning There are two kind of search methods, uninformed and informed (Pearl, 1984). In the former no

information about the problem domain is considered, typical cases are breadth-first and depth-first search. In the latter, partial information about the problem domain and about the nature of the goal to guide the search is considered. A* and AO * are two methods of this family. An evaluation function f is typically used in these cases as described above. Some pruning criteria are used to avoid the storage of all generated nodes. Wang's algorithm is a particular case of the breadth-first search using pruning criteria. The algorithm generates sequentially all possible combinations and rejects those nodes (rectan- gles) which do not satisfy both the feasibility of the problem and the pruning criterion. The method optimality is based on the efficiency of the pruning process. The best solution is found only if the cost of each pruned away node is higher than the optimum value.

One of the characteristics of breadth-first search is the great computational effort required to find the optimum solution. Wang's modified algorithm can be classified as an uninformed method although a numerical function is associated with each rectangle. This is so, because the function helps only to prune away some branches and does not direct the search process.

5.2.2. Informed search The AAO * algorithm is an informed search method. Different evaluation functions can be used to

guide the search. The definition of the heuristic function, as an approximate measure of the future trim loss on the plate, allows us to analyze several alternatives in order to span partially the problem domain. Let us consider some cases: (i) Null function. Function hi(n) = 0 can be trivially used, ensuring the generation of a minimum trim loss solution. In this case an additional consideration in the algorithm must be included. Each time a new node is generated, it must be verified if such node is final or not. If it is, then this corresponds to a rectangle that does not admit additional combinations. In the following step, i.e., determining function f(j) , in addition to the internal loss, the area among the boundaries of the generated rectangle and the dimensions of the plate must be considered, i.e., the external loss. (ii) Modified Wang algorithm function. The proposed function in the modified Wang algorithm can also be used as a heuristic function associated with a rectangle n:

hz(n ) = Min{(Tnl + Tn2), (Tn3 -t- Tn4)} (5.2)

V.P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644 639

However, by using small examples it can be shown that this function does not satisfy either the monotonicity or the admissibility characteristics.

(iii) Improving h2(n). By being not admissible, function (5.2) yields h values greater than the exact ones. Taking into account future trim loss, and with the purpose of diminishing the h value, the following function can be defined:

h3(n ) = Max{Tnl + Tn4 - - Tn5, 0}, (5.3)

where Tn5 is the unconstrained trim loss of the top right rectangle of the empty area of the plate; in Fig. 1, the rectangle of dimensions b × (c - a). Notice that h3(n) < h2(n). In fact, if T,s > T~ + Tn4 then h3(n) = 0 satisfies such a condition. On the other hand, if Tn5 < T~ + Zn4 there are two possibilities. In the first one, h2(n) = T,1 + T,2 and h3(n) = Tnl + Zn4 - Zn5 also satisfies the condition because Tnn Tn2 + Tns. In the second one, h2(n) = Tn3 + Z n 4 and h3(n) = Tnl + Z n 4 - Zns; then similarly we have T~l < Tn3 + Tn5.

Even though h3(n) is a better measurement of the future trim loss than h2(n), it does not satisfy the monotonicity condition. To satisfy the condition the function will be written as

/Max{T~l + Tn4 - T~5, 0} if h3(n ) is monotone,

h3(n ) = I I g ( n ) + h ( n i ) - g ( n j ) in other cases, (5.4)

where node n is obtained from nodes ni and nj. Notice that this is another way to write inequality (4.1), considering Eq. (5.1). As will be shown in the next section the admissibility of this function is a direct consequence of its monotonicity. (iv) Other heuristic functions Let or(n) = h2(n), and

Max{0, (T,I + Tn2 ) - (Tn3 + T,4)} if n is a horizontal rectangle,

3 ( n ) = Max{0, (Tn3 + T,4 ) - (T,I + T,2)} if n is a vertical rectangle.

The heuristic function for a rectangle n is defined as

h4(n ) = a ( n ) + /3 (n) . (5.5)

Admissibility and monotonicity results are described below.

Theorem 1. The heuristic function h4(n) is monotone.

Proof. To show this result the inequality (4.1) must be verified. Consider Fig. 4, where rectangles i and k are joined to generate rectangle j. The or(i) value is determined by rectangles i l and i2 or i3 and i4. Also, rectangle j can be obtained from Tjl Jr-Zj 2 or Tj3 q-Tj4. Thus there are different possible combinations. Table 1 only considers the generation of horizontal rectangles.

i , hatem~ trim

N

Fig. 4. Combining two rectangles.

640 V.P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644

Table 1 Combinatorial effect on the a values

a(i) ct(j)

a) T/l + T/2 ~1 + Tj2 b) Ti3 + Ti4 Tjl + Tj2 C) T/1 + Ti2 Zj3 + Tj4 d) Ti3 + Ti4 rj3 + Tj4

First of all, let us analyze the generation of an horizontal rectangle according to Fig. 4. For case a) in Table 1 we have

a( i ) = Til n t- Ti2 = a ( i ) _< T/3 q- T/4 =*/3(0 = 0, (5.6a)

[3(j) = Tj~ + Tj2 ~ a ( j ) < Tj + Tj4 , = , f l ( j ) = 0 , (5.6b)

SO

h4(i ) = T~t + T/2, h4( j ) = Tjl + Tj2. (5.7)

Then

h4(i ) - h4( j ) = (T/1-t- Ti2 ) - (Tjl + Tj2 ). (5.8)

Now, if the geometry of the figure is analyzed we have

Tg 1 = Tjl. (5.9)

Gilmore and Gomory (1967) have established that, by dividing a rectangle A into B and C, the following inequality is satisfied:

rA _< rB + rc- (5.10) Then the following inequality for this particular case can be expressed as

Ti2 < T~2 + T k + T o. (5.11)

Since rectangle k is generated from a combination of pieces, we have T k < g(k) and trivially Tp < c(i, k), identifying rectangle p as the internal trim loss generated when joining i and k. By combining the inequalities it can be established that

Ti2 - Tj2 <_ g ( k ) + c( i , k ) . (5.12)

Then

h4(i ) - h 4 ( j ) < g ( k ) + c ( i , k ) .

When cases b), c) and d) are analyzed,the monotonicity of the heuristic function used to generate horizontal rectangles is similarly established. Geometry characteristics remain the same when vertical rectangles are generated. In such a case the monotonicity of h can be also verified.

Theorem 2. Function h4(n) is admissible.

Proof. Consider a suhgraph associated with a final rectangle, as shown in Fig. 5. Based on Theorem 1 the following inequalities can be established:

h4(i ) - h 4 ( i + 1) <_g(k) + c ( i , k ) ,

h4(i + 1 ) - h 4 ( i + 2 ) _<g(k + 1) + c ( i + 1, k + l ) ,

h4(i + n - 1 ) - h 4 ( i +n ) < g ( k + n - 1 ) + c ( i + n - l , k + n - 1 ) . (5.13)

V.P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644

Fig. 5. Generat ion of rectangle i + n.

641

Adding the inequalities and replacing (5.1) progressively, it can be written that

h 4 ( i ) - h4( i + n) < g ( i + n ) . ( 5 . 1 4 )

Note that if i + n is a terminal rectangle, it is because no other combinations are accepted or just because a newly generated combination is not feasible. If the difference between the total area of the plate and the total area of the generated rectangle is denoted by a L, it can be deduced that

at > ha(i + n).

Then

h4(i) <aL +g(i +n).

In particular, for the rectangle with minimum trim loss:

g ( i + n ) = g * ( i + n ) and aL=a ~.

Then

h4(i ) <h~(i).

This result is a direct consequence of the consistency of function h, as defined by Pearl (1984). Then in situations like this, it is necessary just to determine the monotonicity condition to guarantee the admissibility. According to this, h3(n) is also an admissible function. So, just like those, some others can be generated, this gives a meta-heuristic characteristic to the methodology used here.

6. Numerical results

In order to appreciate the numerical superiority of the informed methods over the uninformed ones, the ideas presented above have been numerically tested.

A set of 8 problems, some of them of the study of Christofides and Whitlock (1977), has been used here by way of comparative reference. The rest of the problems have been used to analyze in depth the different algorithm ideas. The problems are introduced in Table 2, where the column (c, d) shows the plate dimensions expressed as (length, width). The third column shows the values of the pieces expressed as (length, width, upper bound).

642

Table 2 Used problems

V.P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644

Problem (c, d) (length, width, upper bound)

P1 (15,10) P2 (70,40)

P3 (70,40) P4 (70,40) P5 (8,4) P6 (30,12) P7 (47,32) P8 (55,50)

(2,1,1); (3,2,2); (3,3,2); (3,4,5); (8,2,3); (3,7,1); (8,4,2) (17,9,1); (11,19,4); (12,21,3); (14,23,4); (24,15,1); (24,15,2); (25,16,4); (27,17,2); (18,29,3);

(21,31,3); (32,22,2); (23,33,3); (34,24,2); (35,25,2); (36,26,1); (37,27,1); (38,28,1); (39,29,1); (41,30,1); (43,31,1)

(29,5,1); (9,39,4); (55,9,1); (39,15,1); (11,16,2); (23,21,3); (29,14,4); (16,19,3); (9,36,2); (22,4,2) (22,18,2); (40,10,1); (13,27,3); (23,18,2); (29,8,4); (16,4,1); (47,9,1); (19,19,4); (13,16,2); (36,16,4) (2,1,1); (3,3,3); (1,4,2); (2,2,3) (3,6,3); (7,4,2); (7,5,1); (8,2,3); (8,5,3); (9,6,2); (9,7,1); (10,4,4); (15,5,3); (19,6,2); (4,8,2); (4,9,1) (13,14,1); (15,11,2); (14,7,3); (12,20,4); (17,11,3); (16,14,3); (24,8,2); (8,17,3); (13,16,1); (19,16,2) (11,13,3); (17,28,3); (23,23,2); (16,18,3); (18,15,1); (18,23,1); (15,24,4); (16,24,2); (27,29,2); (31,10,4).

The following aspects are considered: • Problems are processed on an IBM PS/2-80 PC, with a 25 MHz I N T E L 80386. • Rotat ion of pieces is considered in the three methods. • A A O * algorithm is implemented with function h3(n) and by using Wang's pruning criterion

algorithm, i.e., a rectangle is accepted if its internal trim loss is less than or equal to the B * c * d value, where B is in (0.0, 1.0).

• A graphic presentation of the generated solution was implemented. A subset of the results obtained is presented in Table 3. N is the number of rectangles generated by

the corresponding algorithm, and L the number of those actually stored. Trim loss is measured in units 2. Values indicated as * are cases that could not be solved because of lack of computer memory.

The value of B was gradually increased in order to identify the opt imum solution for each problem. While in problem P1, P5 and P6, only a null value was enough to find such solutions, in problem P3, for example, B = 0.02 was required for the WA and A A O * algorithms. In this case, the WAM algorithm even with B = 0.03 was not able to find it. The A A O * algorithm determines the optimal solution of the problems in all cases, however WA does not do it on problem P6, while the WAM algorithm generates the best solutions in some cases only.

Obviously A A O ~ requires a smaller computer effort than the other two implemented methods, which can be appreciated in the number of generated rectangles as well as in those actually stored. This minor effort can be also characterized by requiring both less memory and computer time to determine an opt imum solution. This is more evident as the problem size increases.

7. Conclusions

In this paper a generalization of Wang's algorithm, later improved by Oliveira and Ferreira, was developed. Such a generalization is useful to show that such methods are particular cases of a family of search methods widely used in the artificial intelligence area. Specifically they are uninformed methods which use a pruning criterion. Knowing that more efficient methods in this area do exist (informed), these ideas have been used to define the AAO* algorithm which is a search method for an additive A n d / O r graph here characterized. In the search process the algorithm uses future information. This is formalized as a numerical function called heuristic function. By analogy with the Or graphs and the A* algorithm it has been shown that an optimal solution always can be found. These additive A n d / O r graphs can be used to represent the combination between rectangles defined by Wang to ensure

V.P. Daza et aL /European Journal of Operational Research 84 (1995) 633-644 643

Table 3 Numerical results

Processing Trim loss Problem Algorithm B N L time

P1 WA 0.00 400 952 546 4' 25.22" 0 WAM 0.00 267168 446 3'56.01" 0 AAO * 0.00 7 492 80 9.33" 0

P2 WA 0.00 32 762 144 21.30" 187 0.01 283 396 454 2'47.53" 59 0.02 3 819 692 1693 35'54.01" 29

WAM 0.00 2 888 20 8.07" 1467 0.03 4 970 40 12.07" 686 0.05 324 942 485 4' 14.69" 29

AAO * 0.00 1354 24 3.51" 2467 0.01 9 782 70 18' 72" 2080 0.02 30 274 171 48.94" 29

P3 WA 0.00 6 806 63 5.20" 748 0.01 116914 297 1'13.11" 125 0.02 1750218 1165 16'57.76" 43

WAM 0.00 722 10 2.47" 2305 0.03 17 880 113 26.37" 63 0.06 *

AAO * 0.00 556 17 1.52" 2624 0.01 5 208 73 16.31" 2190 0.02 82 898 299 1' 39.74" 43

P4 WA 0.00 11644 87 8.18" 280 0.02 989 954 868 9' 29.95" 31

WAM 0.00 648 10 2.37" 2224 0.03 17016 90 20.55" 280 0.06 1238 464 971 15' 08.40" I IX)

AAO * 0.00 794 19 2.25" 2384 0.02 28 730 198 38.01" 31

P5 WA 0.00 1400 31 0.93" 0 WAM 0.00 926 25 1.31" 0 AAO * 0.00 740 24 1.32" 0

P6 WA 0.00 * WAM 0.00 637 298 693 9' 10.24" 0 AAO * 0.00 4 342 61 8.12" 0

P7 WA 0.01 367 692 526 Y 39.58" 8 WAM 0.01 842 11 3.29" 1182

0.02 1342 53 10.82" 13 0.05 555 912 644 720.98" 11

AAO * 0.01 5 996 89 13.34" 8

P8 WA 0.00 20 512 120 13.79" 104 0.02 1700 076 1138 16' 0.91" 34

WAM 0.00 722 10 2.42" 1967 0.03 1788 27 5.42" 1321 0.08 1502 852 1081 1756.32" 34

AAO * 0.00 330 14 1.15" 1670 0.01 2 752 37 7.08" 1359 0.02 11064 110 21.53" 34

644 IZ.P. Daza et al. / European Journal of Operational Research 84 (1995) 633-644

guillotine cuts' feasibility. By doing this the A A O * algorithm allows the rectangle with a minimum trim loss to be found. This exact method is an important result of this study because, by means of an adequate representation, it can be used not only to solve cutting problems but also to solve problems as hard as this one.

Ret~rences

Beasley, J.E. (1985), "Algorithms for unconstrained two dimensional guillotine cutting", Journal of the Operational Research Society 4, 297-306.

Christofides, N., and Whitlock, C. (1977), "An algorithm for Two-Dimensional Cutting Problems", Operations Research 25/1, 30-44.

Dyckhoff, H. (1990), "A typology of cutting and packing problems", European Journal of Operational Research 44, 145-159. Dyckhoff, H., et al. (1988), "Classification of real world trim-loss problems", in: G. Fandel et al. (eds.), Essays on Production Theory

and Planning, Springer-Verlag, Berlin, 191-208. Gilmore, P.C., and Gomory, R.E. (1966), "The theory and computation of knapsack functions", Operations Research 15, 1045-1075. Herz J.C. (1972), "Recursive computational procedure for two-dimensional stock cutting", IBM Journal of Research and

Development 16, 462-469. Hinxman A.I. (1976), "Problem reduction and the Two-dimensional Trim-Loss Problem", Artificial Intelligence and Simulation

Summer Conference, Univ. of Edinburgh, 158-165. Hinxman A.I. (1980), "The Trim-Loss and Assortment Problems: A survey", European Journal of Operational Research 5, 8-18. Morabito, R.N., Arenales, M.N., and Arcaro, V.F. (1992), "An And-Or-graph approach for Two Dimensional Cutting Problems",

European Journal of Operational Research 58, 263-271. Nilsson, N. (1980)Principles of Artificial Intelligence, Springer-Verlag, Berlin. Oliveira, J.F., and Ferreira, J.S. (1990), "An improved version of Wang's algorithm for two-dimensional cutting problems",

European Journal of Operational Research 44, 256-266. Pearl, J. (1984), Heuristics: Intelligent Search Strategies for Computer Problem Solving, Addison-Wesley, Reading, M.A. Vasko, F.J. (1989), "A computational improvement to Wang's two-dimensional cutting stock algorithm", Computers and Industrial

Engineering 16, 109-115. Wang, P.Y. (1983), "Two algorithms for constrained two-dimensional Cutting Stock Problems", Operations Research 31,573-586.