A new heuristic for the Pallet Loading Problem

0 downloads 0 Views 154KB Size Report
introduce the denotation of G4-structure. Then we propose a new heuristic for solving the. PLP. Since the algorithm is based on dynamic programming it is of ...
Operations Research Proceedings 1995, Springer-Verlag Berlin Heidelberg (1996) 84{89

A new heuristic for the Pallet Loading Problem Guntram Scheithauer and Johannes Terno Dresden University of Technology

Introduction

The paper deals with the (standard orthogonal) two-dimensional pallet loading problem (PLP) of nding a maximal layout for identical small rectangles (pieces, boxes) on a larger rectangle (pallet). This problem often arises in distribution when many items of a small product must be transported. An increase in the number of items on a pallet leads directly to a decrease in transportation cost. For that reason the PLP is of considerable economic importance. Therefore a lot of work dealing with the PLP is published (cf. [1], [2]). A comprehensive state of the art of handling PLP is given in [3]. Since so far there is not known any ecient exact algorithm for the PLP most of the work is connected with heuristic approaches. In this paper we will analyse the structure of optimal packing patterns and we will introduce the denotation of G4-structure. Then we propose a new heuristic for solving the PLP. Since the algorithm is based on dynamic programming it is of pseudo-polynomial type. The computational experiments show that instances having more than 200 items in an (optimal) packing pattern can be handled with small computational amount of time.

Problem Formulation and Denotations

The PLP may be de ned more formally as follows: Given a pallet with length L and width W and a rectangular box (piece) with length l and width w, how many boxes can be packed orthogonally on the pallet? Throughout the paper we will denote an instance of the PLP by a quadruple (L; W; l; w). Without loss of generality we may assume that L, W , l and w are positive integers and that L  W  l > w. Moreover we will assume that the greatest common divisor q of l and w equals 1 since in the other case the instance (L; W; l; w) can be reduced to (bL=qc; bW=qc; l=q; w=q) where bxc gives the greatest integer not greater than x. A horizontally oriented box will be referred to as H-box, a vertically oriented as V-box. Positions of the boxes will be given with respect to an (x; y)-cartesian system whose origin is placed at the lower left corner of the pallet. Moreover we identify the x-direction with the length direction and the y-direction with the width direction. Hence, the packing of the ith box occupies a rectangular area in the plane. For the sake of simplicity we use the following identi cations: (xi; yi; H ) = f(x; y) 2 R : xi  x  xi + l; yi  y  yi + wg 2

1

and

(xi; yi; V ) = f(x; y) 2 R : xi  x  xi + w; yi  y  yi + lg: Then a packing pattern A of n packed boxes may be described in form of a set 2

A = f(xi; yi; oi ) : i = 1; : : : ; ng where (xi; yi) denotes the so-called allocation point (lower left corner) of the ith packed box and oi 2 fH; V g characterizes its orientation.

The G4-Structure

Let A = f(xi; yi; oi ) : i = 1; : : : ; ng be a packing pattern of the pallet P (L; W ). A subset Ae = A(Ie) = f(xi; yi; oi ) : i 2 Ieg of A is called a block pattern if there exist a subset Ie of I = f1; : : : ; ng and a rectangle

R(x; y; x; y) := f(x; y) 2 R : x  x  x; y  y  yg 2

such that Si2Ie(xi; yi; oi )  R(x; y; x; y) and Si2I nIe(xi; yi; oi) \ intR(x; y; x; y) = ;. In case all of the packed boxes of a packing pattern A = f(xi; yi; oi ) : i = 1; : : : ; ng have the same orientation we call A a homogeneous (packing) pattern (cf. [10]). Trivially the given packing pattern itself is a block pattern.

De nition 1 A packing pattern A = f(xi; yi; oi) : i = 1; : : : ; ng of a pallet P (L; W ) is said to be of guillotine structure (G-structure) if n is not greater than 3 or if there exists a partition I and I = I n I of I = f1; : : : ; ng such that both A(I ) and A(I ) form 1

2

1

1

block patterns which are of G-structure.

2

De nition 2 A homogeneous pattern is called to be of 1-block structure. For k  2, a packing pattern A = f(xi; yi ; oi) : i = 1; : : : ; ng is said to be of k-block structure if there exists a partition of I = f1; : : : ; ng in q disjunctive subsets Ij , j = 1; : : :; q, q  k, such that each packing pattern A(Ij ) forms a pattern of pj -block structure with pj  k. Accordingly to this de nition the set of packing patterns having k-block structure contains any packing pattern with a p-block structure for p  k. Note, there is an important di erence between the de nition of patterns having a kblock structure and the k-block patterns used in the literature (cf. [8]) since for the latter it is required that each of the corresponding k block patterns consists of a homogeneous pattern.

Assertion 1 A packing pattern A = f(xi; yi; oi ) : i = 1; : : :; ng has a k-block structure with k  3 if and only if the pattern is of G-structure. To see this one has only to make use of the recursive de nition of G-structure and 3-block structure.

De nition 3 A packing pattern A = f(xi; yi; oi) : i = 1; : : : ; ng of a pallet P (L; W ) is said to have the G4-structure if A has k-block structure with a k  4. 2

The denotation "G4"-structure should be interpreted as guillotine- or 4-block structure or as generalized 4-block patterns. Note, the recursive de nition of the G4-structure allows an arbitrary number of blocks for a packing pattern A with G4-structure. In the following we will consider a set of instances of the PLP (referred to as problem of type I, cf. [3], characterized by 1  L=W  2; 1  l=w  4, 6  LW=(lw)  50) which is of large practical importance and we will show that for any instance of type I there exists an optimal packing pattern having G4-structure. In order to compare packing patterns of G4-structure (referred to also as G4-patterns) with those obtained by the common used heuristics we refer also to the excellent and comprehensive work of J.Nelien [3] for the de nition and computational speci cations of the considered heuristics. It is easy to see that any k-block pattern with k  5 has G4-structure. Moreover, the 7-block patterns obtained by a 7-block heuristic ([11], [12]) have G4-structure. The 9-block heuristic developed in [12] yields also packing patterns of G4-structure since in addition to the 7-block heuristic only two further homogeneous blocks in form of guillotine-blocks are allowed. It is also easy to see that the so-called diagonal heuristics proposed in [12] and [13] yield packing patterns having G4-structure. In [8] and [3] further heuristics are proposed: the so-called angle heuristic, the recursive angle heuristic, the recurrence heuristic and the complex block heuristic. These heuristics generate also packing patterns of G4-structure which is due to the de nition of these heuristics. The main di erence in comparison to general G4-patterns consists in that aspect that various blocks in the heuristics are restricted to be homogeneously. Summarizing we have, any packing pattern obtained by one of the heuristics considered above, belongs to the set of G4-patterns. Hence, if we compute the best G4-pattern for a given instance of the PLP then we get a pattern at least as good as the best pattern which can be obtained by the other heuristics.

The New Heuristic

In this section we give a detailed description to compute a packing pattern having G4-structure with a maximal number of boxes (maximal G4-pattern). Because of the de nition of the G4-structure, a G4-pattern consists of either two disjunctive G4-patterns (if a guillotine-(G-)cut occurs) or of four disjunctive G4-patterns (if there is no G-cut). In order to compute maximal G4-patterns we need maximal G4-patterns for smaller pallets (rectangles). Let n(L0; W 0) denote the number of packed boxes (with length l and width w) of a maximal G4-pattern for a pallet with length L0 and width W 0 (0  L0  L; 0  W 0  W ).

3

h

g

c

D

C

b

d

A

B

a

e

W0 f

L0 the recurrence formulas Figure 1:Denotations for Using the denotations in Fig. 1 with e := L0 ? a; 0 W ? b; the following recurrence formula is valid: -

n(L0; W 0) = max max max b