• Keine Ergebnisse gefunden

The results for well-known benchmark problems show a high performance of the GA for strongly heterogeneous sets of pieces

N/A
N/A
Protected

Academic year: 2022

Aktie "The results for well-known benchmark problems show a high performance of the GA for strongly heterogeneous sets of pieces"

Copied!
31
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

(submitted to EJOR 10/03, preprint) Andreas Bortfeldt

Chair of information systems, University of Hagen, Germany e-mail: andreas.bortfeldt@fernuni-hagen.de

Abstract:

The paper presents a genetic algorithm (GA) for the two-dimensional strip-packing problem (SPP) with rectangular shaped pieces. Both the non-guillotinable SPP and the guillotinable SPP can be tackled. The genetic algorithm has been derived from a GA that was proposed earlier for solving the container-loading problem (CLP) with a single container to be loaded. The characteristic features of the earlier GA have been maintained: solutions are represented by data structures tailored to the problem at hand and specific genetic operators are used to generate offspring. In order to deal with a given instance of the SPP, a sequence of CLP instances with descending container lengths has to be solved. The GA for the SPP is subjected to a comparative test which includes methods from other authors. The results for well-known benchmark problems show a high performance of the GA for strongly heterogeneous sets of pieces.

Key words:

Packing, two-dimensional strip packing problem, rectangular shaped pieces, genetic algorithm.

1 Introduction

The subject of this paper is the two-dimensional strip-packing problem with the following characteristics: a set of rectangular packing pieces (abbreviated as "pieces") and a larger rectangle with a fixed width and variable length, designated as the container. The search is for a feasible layout of all the pieces in the container that minimises the required container length and, where necessary, takes additional constraints into account.

(2)

A layout is deemed to be feasible if two pieces are placed without any overlap, all pieces conform to the container's width restrictions and are arranged orthogonally, i.e. parallel to the container sides.

Rotating the pieces by 90° is permitted. There are no restricting preconditions with regard to the structure of the set of pieces; the stock of pieces can be homogenous (one packing piece type), weakly heterogeneous (a few piece types, many examples per type), and strongly heterogeneous (many piece types, few examples per type). The pieces of a type represent congruent rectangles.

The so-called guillotine cut condition is included in the problem as an optional constraint. This requires that all pieces placed in a layout can be reproduced by a series of guillotine cuts. Each guillotine cut divides a rectangular part of the area of the layout into two parts and runs from one side to the opposite side, as well as parallel to other two sides of the part of the area.

The strip-packing problem can be considered both in two (2D) and in three (3D) dimensions and, together with the knapsack problem and the bin-packing problem, represents a further basic type of multidimensional packing and cutting problems (cf. COFFMAN and SHOR 1990, WOTTAWA 1996, MARTELLO et. al. 1998). In contrast to the latter problem types the strip-packing problem obviously does not have any one-dimensional variant. With regard to the categorisation of packing and cutting problems see DYCKHOFF (1990), DYCKHOFF and FINKE (1992) and DYCKHOFF et al. (1997).

According to the typology suggested by DYCKHOFF (1990), 2D and 3D strip-packing problems have the type characteristic 2/V/O/ and 3/V/O/ respectively (cf. WOTTAWA 1996). While, therefore, on the one hand all pieces ("V") have to be packed, there is, on the other hand, only a single container ("O") available for this purpose. However, since containers with variable dimensions are not considered in DYCKHOFF'S typology, the type of the strip-packing problem has not been considered adequately.

Like the other basic types of packing and cutting problems, the strip-packing problem also has considerable practical relevance. In the two-dimensional version it occurs in cutting optimisation for

(3)

the glass and metal industries, for example. In the layout generation of VLSI circuits rectangular blocks have to be placed on a minimum area, a problem related to the 2D strip-packing problem (cf.

SCHNECKE 1996). In the three-dimensional case the solution of strip-packing problems can improve the design of containers or even help the selection of vehicles in a vehicle fleet for transporting a given volume of goods (cf. SIXT 1996).

The strip-packing problem is NP-hard (cf. HOPPER and TURTON 2001), hence, in the literature heuristics have been deemed most suitable for its solution. These are, to a greatly increasing degree metaheuristics, mainly genetic algorithms, but simulated annealing (SA) and tabu search (TS) approaches are also applied. HOPPER and TURTON (2000) and HOPPER and TURTON (2001) provide an extensive up-to-date overview of the metaheuristics that have been developed for the different variants of the 2D strip-packing problem.

In the following some methods for the 2D strip-packing problem with rectangular pieces considered here are cited, whereby the system for the solution approaches from HOPPER and TURTON is followed. Although this was developed primarily for genetic algorithms, it can also be used for SA and TS methods. As the studies by the two authors show, the metaheuristic methods can also be structured analogously for the 2D knapsack problem. HOPPER and TURTON differentiate between the following three groups of solution approaches:

(1) The methods for the first group use a coding of solutions. Typically, an encoded solution stipulates a placement sequence for the pieces. The search is carried out by the respective metaheuristic directly in the space of the encoded solutions and usually uses problem- independent operators. A placement or decoding routine serves to transmit encoded solutions (genotypes) in complete layouts (phenotypes). The so-called bottom-left algorithm represents a simple placement routine. If a horizontally placed container is assumed, the bottom-left routine displaces each piece to be placed in the container alternately in two horizontal, orthogonal

(4)

directions, until displacement is no longer possible (cf. HOPPER and TURTON 2000). Examples of the first group are the GAs from JAKOBS (1996), LAI and CHAN (1997) and from LIU and TENG (1999). SA representatives of this group are the methods from FAINA (1999) and LEUNG

et al. (1999). The metaheuristics introduced in HOPPER and TURTON (2000) (among others a GA and a SA approach) also belong to this group.

(2) Solution approaches for the second group have an intermediate position. While on the one hand encoded solutions already contain, to a certain extent, layout or geometrical information, an additional placement routine is also required for the final positioning. Typical for this group is a problem-specific coding, which is often based on informed graphs, and corresponding problem- specific operators. Representatives of the second group are, among others, the parallel genetic algorithms from KRÖGER (1993) (cf. KRÖGER and VORNBERGER 1991 and KRÖGER 1995 as well) and from SCHNECKE (1996).

(3) The rather more seldom-used solution approaches in group 3 do not use coding. The search takes place directly in the space of the fully defined 2D layouts, which are therefore manipulated as such by specific operators. A GA appropriate to group 3 was suggested by RATANAPAN and DAGLI (1998).

In addition it should be mentioned that up until now only a few metaheuristic approaches for the 3D strip-packing problem have been proposed. These include a tabu search and a simulated annealing method from SIXT (1996). BORTFELDT and GEHRING (1999) present a parallel TS method and a parallel GA for the 3D strip-packing problem. The classification outlined above can also be used here: both methods from SIXT are to assigned to group 3; the parallel TS method from BORTFELDT

and GEHRING belongs in group 1, while their parallel GA is assigned to group 3.

A genetic algorithm for the 2D strip-packing problem defined above will be presented below. It is obtained by adapting the GA from BORTFELDT and GEHRING (2001), which was created for the 3D

(5)

knapsack problem or the container loading problem (CLP) with a single container. A corresponding approach in BORTFELDT and GEHRING (1999) is developed much further here. At the same time, two methodological aspects are examined: In the first an evaluation is made of the three solution approaches for the strip-packing problem that were outlined above. In the second, possible variants of the transformation of a CLP method into a strip-packing method are investigated.

The remainder of the paper is divided as follows: Section 2 provides a brief description of the original GA for the container loading problem; Section 3 shows the adaptation of the GA to the 2D strip-packing problem; Section 4 subjects the GA for the strip-packing problem to a test, which includes a comparison with other methods and an examination of the GA components; and Section 5 contains a summing-up of the paper.

2 The genetic algorithm for the container loading problem

The following section provides an overview of the GA for the container loading problem that is suggested in BORTFELDT and GEHRING (2001). In accordance with the demands of the paper at hand a two-dimensional container loading problem is assumed. The reader is referred, for example, to FALKENAUER (1998) for the foundations of the search strategy of genetic algorithms.

The GA exclusively generates layer-type structured packing plans. Each packing plan consists of successive rectangular layers without any gaps in which one or more pieces are arranged. Each piece belongs to exactly one layer. The width of a layer corresponds to the container width. The layer depth is stipulated by a layer-determining piece (ldp) and its orientation. The structure of packing plans is illustrated in Fig. 1; this also shows the embedding of the container in the 2D coordinate system used here.

(6)

layer 1 layer 2 container- length lC

x y

container- width wC

layer determining piece ldp

0

layer depth

Fig. 1. Layer-type structure of a packing plan.

The GA consists of three hierarchically organised components that will be examined in detail below:

(1) As the component of the lowest level, the procedure "Fill Layer" ensures the placing of pieces in a layer with given dimensions.

(2) The procedure "Complete Packing Plan" represents the component of the middle level. Its task consists of supplementing a residual packing plan into one or more complete packing plans by generating additional new layers.

(3) The component of the upper level is responsible for the actual genetic search and contains the genetic operators for generating packing plans.

Filling a layer

Placing pieces in a layer presupposes that the layer has previously been defined. A layer is defined through the selection of a layer-defining piece and its orientation (rotation variant). The ldp dimension along the lengthways orientation (lC) then determines the layer depth.

A defined layer is filled using the "Fill Layer" procedure in which so-called residual spaces, i.e. free rectangular spaces within the layer are loaded successively. The layer rectangle with the layer-

(7)

determining piece in the prescribed orientation is loaded as the first residual space. In general, a residual space is filled by placing a piece in the reference corner of the residual space. The residual space corner that is closest to the source of the coordinates serves as the reference corner (cf. Fig. 1).

After a residual space is loaded, two new residual daughter spaces are generated within it, which lie beside and in front of the piece that was placed in the residual space. The two possible variants of the generation of residual daughter spaces are illustrated in Fig. 2.

x y

residual space

residual- daughter space beside p

piece p piece p

residual- daughter space

beside p residual- daughter space in front of p residual-

daughter space in front of p

Fig. 2. Variants of the generation of residual daughter spaces.

The residual daughter spaces are each collected in a residual space stack and processed later. Filling a layer terminates when no more loadable residual space is available.

The pair of pieces with the maximum total area that can be placed completely in the residual space is determined for loading a residual space that is still empty. A single piece (degenerate pair) may also be used. One piece is arranged immediately in the reference corner of the residual space. The second piece is designated where necessary for one of the residual daughter spaces. When a residual space is processed the following decisions are taken successively:

- Selection of a maximum of two pieces for the residual space and one residual daughter space, - Selection of the residual daughter space for the second piece, i.e. of the residual daughter space

in front of or beside the piece in the current residual space, - Determination of the orientation of both pieces, and

(8)

- Determination of which piece is to be arranged in the current or in the residual daughter space.

In the subsequent generation of residual daughter spaces their dimensions must be defined so that, where required, a reserved piece can be placed completely in the planned residual daughter space.

If a residual space for which a piece plus orientation has already been reserved is removed from the residual space stack, this piece is to be placed simply in the reference corner and the residual daughter spaces must be generated.

Another feature of the "Fill Layer" procedure consists of the merger of residual spaces. A residual daughter space that has just been generated is merged where possible with a residual space that is already in the stack. In this way a larger residual space is generated, which can, in general, be filled more easily than two smaller spaces. Two residual spaces are only merged if a piece has not been reserved for either of them and the two residual spaces together form a rectangle.

The "Fill Layer" procedure, or some of its heuristic rules, are parameterised. The resulting so-called layer parameters are explained in Table 1.

Tab. 1. Layer parameters.

Parameter Value Explanation

sscut Mode for generating residual daughter spaces.

0 Daughter residual spaces are generated in such a way that the area of the larger residual daughter space is maximized.

1 Daughter residual spaces are generated in such a way that the area of the smaller residual daughter space is maximized.

rvmode Mode for determining the orientation variants for the pack piece pair in a residual space.

0

Orientation variants are determined in such a way that

- the x-dimension (in the direction of the layer depth) of the larger piece is as small as possible and

- the x-dimension of the smaller piece is also as small as possible.

1 Orientation variants are determined in such a way that the sum of the x-dimensions of both pack pieces is as large as possible.

ssmerge Mode for residual space merging.

0 Without residual space merging.

1 With residual space merging.

(9)

It can be stated that the GA will certainly generate packing plans that satisfy the guillotine cut constraint. This results from the following characteristics of the method:

- A packing plan is divided into several layers where the layer widths conform to the width of the container and where each piece belongs to a single layer.

- Corresponding to the generation of residual daughter spaces, each residual space, starting with the whole layer, is completely divided into two parts along a residual space dimension (i.e.

parallel to a container dimension). A piece situated in the residual space is always placed completely on one or other of the two parts.

Completing a packing plan

The completion of a packing plan generates a set of complete, i.e. no longer extendable, packing plans, from an incomplete residual packing plan. The responsible procedure, "Complete Packing Plan", is as follows:

- The residual packing plan is supplemented by a new layer in all approved (layer) variants. A variant is determined by a layer-determining piece ldp and its orientation rv; it therefore conforms to a layer definition. A variant is only permitted if the piece ldp with the orientation rv can still be placed in the container; for additional constraints cf. Tab. 2.

- Each of the n part packing plans obtained in this way is supplemented separately by additional layers in accordance with a greedy approach. Here, the appropriate layers are generated experimentally with the second, third, etc. new layer for all permitted variants (ldp, rv) and the layer with the best capacity use of the area is selected. A packing plan is complete when no more permitted variants for an additional layer can be determined.

- Finally, the best plans with regard to capacity use of the container are selected in the required number from the n complete packing plans (cf. Tab. 2).

(10)

The "Complete Packing Plan" procedure uses the "Fill Layer" procedure to generate layers and is itself used by several genetic operators. For this reason, three use variants must be differentiated and these are defined in Tab. 2.

Tab. 2. Use variants of the procedure "Complete packing plan".

Use variant Characteristic

Generation of the start population

Generation of a descendant through crossover

Generation of a descendant through mutation

Scope of transferred residual packing plan

empty, 0 layers

Not empty,

≥ 1 layer

Not empty,

≥ 1 layer No. of returned

complete packing plans

Population size npop

1 packing plan, i.e. only the best packing plan

1 packing plan, i.e. only the best packing plan

Restriction on

permitted variants with first new layer

None

Only the first qldp1% of all variants is permitted

Only 1 variant permitted which is selected randomly among the first qldp3% of all variants

Restriction on

permitted variants with subsequent layers

Only first variant permitted

Only the first qldp2% of all variants is permitted

As with first new layer

The constraints for the permitted variants are based on a descending sorting of the variants in accordance with the ldp area. The values of the parameters qldpi, i = 1, 2, 3, must be stipulated suitably.

The genetic search

The genetic search is carried out directly in the space of the completely defined packing plans with a layer-type structure. A solution is therefore essentially represented by a set of layers, whereby the geometrical positions of all contained pieces are recorded per layer. Each solution is also characterised by its target function value, namely the sum of the areas of all placed pieces, which is to be maximised.

Problem-specific genetic operations for generating solutions correspond to the problem-oriented representation. Start solutions are made available using the "Complete Packing Plan" procedure.

Solutions for succeeding generations are generated with the help of four operators:

(11)

- The crossover operator initially transfers layers from the two parents with the largest possible area utilisation to the single descendent. An additional parent layer can only be transferred if its depth does not exceed the remaining container depth and if, in addition, the number of existing pieces per type is respected. Because the descendant can still usually be continued after the layer transfer, it is finally supplemented with the "Complete Packing Plan" procedure.

- The operator of the standard mutation also initially transfers the best layers from the parent solution unchanged to the descendants, whereby the number of layers to be transferred is determined randomly. The descendant is then itself completed with the help of the "Complete Packing Plan" procedure.

- An additional mutation variant is described as a merger variant. This transfers all except two randomly selected layers to the descendant. The descendant is then supplemented by exactly one new layer, and the total remaining container length is selected as the depth of this layer.

- The GA uses the reproduction model of generation-wise replacement. For this reason, a reproduction operator is used in addition which copies the best solutions of the current generation for the next generation (elitist strategy).

The constant size of the population is determined through the parameter npop. In order to create a successor generation, initially the nrep best solutions of the current generation are reproduced. After this, the new generation is filled up to the full size of the population, by generating solutions through crossover and standard mutation. Both operators are used with the constant and complementary probabilities pcross and pmut (pcross + pmut = 1). Finally, nmerge additional solutions are generated through merge mutation which replace, where necessary, poorer solutions from the population.

(12)

The selection of parent individuals for the crossover and both mutation variants is carried out by means of a ranking selection, where, however, the second crossover partner is selected purely randomly. No duplicates are permitted within the start generation or in the subsequent generations.

3 Adaptation of the genetic algorithm to the strip-packing problem

With the adaptation of the GA to the strip-packing problem, it must be kept in mind that the SPP has a variable container dimension that is to be minimised (here the container length). Two possible adaptation approaches will be introduced below. Furthermore, additional modifications that aim for a high solution quality will be discussed. Finally, the GA for the SPP is to be configured.

Taking account of the variable container dimension

The first adaptation approach for taking account of a variable container length is obvious. The container is opened at one end, i.e. all the placing constraints that result from a fixed container length are removed. Following this, each complete packing plan will always cover all given pieces, and will logically be a feasible SPP solution. Instead of having to maximise the total area of the placed pieces, the new target criterion is given by the container length, called lC_used, that is used by a complete packing plan, and which has to be minimised. Because the merger mutation can only be carried out with a fixed container length it is omitted. After these modifications the GA can be used to solve the strip-packing problem. The first adaptation approach is also referred to as the adaptation with an open container.

The second adaptation approach leads the solution of the strip-packing problem back to the calculation of several instances of the container loading problem with generally reducing container lengths. The original SPP piece set is taken as the piece set for each CLP instance. A suitable value lC_start is used as the container length for the first CLP instance. Let a packing plan that contains

(13)

all pieces be described as a complete layout. The GA searches for a complete layout for a given actual container length lC_akt. If this is found, the container length lC_used that it used is defined, where lC_used ≤ lC_akt always applies. The container length lC_akt is now reduced in accordance with lC_akt := lC_used – 1. After this the search process is started again for the new container length lC_akt, i.e. for the corresponding CLP instance. The complete search process is terminated the first time no complete layout has been computed for an actual container length. The last determined complete layout is issued as the process solution.

To determine a start value lC_start for the container length, first a lower bound lC_lb for the used container length lC_used is determined for an SPP instance in accordance with

lC_lb = sum_area / wC . (1)

where sum_area refers to the total area of all pieces, wC is the container width and zis the smallest whole number that is greater than or equal to z. In order to be able to reduce the number of CLP instances to be calculated and thus to shorten the search, it is recommended that the initial container length lC_start is selected just a few units above lC_lb. lC_start = lC_lb + 4 is always set here. The case may occur that no complete layout or feasible SPP solution was determined for the value lC_start. In this situation, the actual container length lC_akt is not reduced after each unsuccessful search but increased by one unit. The complete search is terminated as soon as a complete layout can be determined, and this is then issued as the process solution. The second adaptation approach is referred to as the adaptation with a closed container.

The adaptation with an open container initially permits solutions with any container length. The search is steered exclusively by means of the target criterion. In contrast, with the adaptation with a closed container, the extension of the length of complete layouts is a priori limited. In favour of this

(14)

adaptation approach is the fact that it forces the generation of high-quality solutions beyond the evaluation.

Learning the layer parameters

Experiments with the different possible settings for the three layer parameters (cf. Tab. 1) led to the result that none of the eight possible value combinations, when fixed, dominates the other seven combinations to a sufficient extent. In addition changing the value combinations one or more times during the search often proves advantageous. To counter this situation a learning concept is tested for the layer parameters, which is arranged as follows:

- The values for the parameters sscut, rvmode and ssmerge are not stipulated once only for the whole of the search process but are re-determined before the generation of each layer, i.e.

before each call of the "Fill Layer" procedure. The selection of the parameter values in each case is done randomly in accordance with a dynamic probability distribution for the eight possible value combinations.

- To generate the start generation a pre-defined start distribution is selected, which will be discussed later. The probability distribution is updated on each transition to a successor generation.

- The procedure is as follows: for each value combination i, a success frequency succ_frequ(i), i = 1,…, 8, is introduced and is initialised at the start of the search with zero. If a solution is

taken into a new generation, succ_frequ(i) is increased by the value j, if j layers of the solution were generated in accordance with the value combination i. If the merger mutation is used, solutions that have already been accepted can be removed from the new generation. In this case the affected success frequencies have to be corrected downwards correspondingly. The relative

(15)

success frequencies after n generations (n = 1, 2,…) finally define the probability distribution of the value combination used for the (n+1)-th generation.

The dynamisation of the distribution is aimed at the preferred selection of the most successful values combinations in the previous course of the search, where it is assumed that these will continue to be particularly successful in the future. In the adaptation with an open container the learning process of the layer parameters is run through once only, but takes place several times with the adaptation with a closed container, namely separately for each CLP instance. The result of this is that the learning concept can be used for solving both the container loading problem and the strip- packing problem.

Diversifying the search

Several suitable start distributions are defined using the relative strength of the individual parameters characteristics. Because, for example, the setting sscut = 0 (cf. Tab. 1) usually achieves better results than the complementary value, the start distributions have correspondingly higher probabilities for the four value combinations belonging to sscut = 0. Two start distributions will be indicated explicitly below.

Because different favourable start distributions exist, it seems obvious to diversify the search. A corresponding approach provides for dividing the search into several runs; the parameter nruns indicates the number of runs. With each run the complete search process is repeated with a different start distribution for learning the layer parameters. The best solution of all runs is entered as the process solution. In the adaptation with a closed container, the start value lC_start is set from the second run onwards taking account of the minimum used container length achieved in previous runs and the search is interrupted immediately if a complete layout cannot be found for the first CLP instance.

(16)

Follow-up optimisation of the best solutions of the runs

Each constraint on the geometrical structure of packing plans for a multidimensional packing problem that is not inherent to the problem itself but is added through the process approach can lead to a loss of solution quality. The layer-type packing plan structure that is given here prohibits pieces from penetrating layer borders. The result of this prohibition can be that space remains free on both sides of a layer which could really be filled. The implied disadvantage of the layer-type approach is to be tempered with an additional elementary heuristic for the follow-up treatment of packing plans.

The idea of the heuristic consists of moving defined pieces in a layer into an adjacent layer and to use previously free space on the broad side of the adjacent layer for this purpose. This procedure is repeated for several layers. Where the procedure is successful, the container length that is used will be reduced by one or more length units in comparison with the original value of the layer-type packing plan, in other words an improved solution of the strip-packing problem is achieved.

The heuristic is divided into three phases, which are explained below:

- In the analysis phase the block structure is determined for each layer in addition to the layer structure of the packing plan that is handed over (cf. Fig. 3a). Each layer is, in general, broken down into several rectangular blocks that follow one another in the broad side of the container (y direction). One or more pieces are arranged completely in each block. The depth of a block results from the maximum sum of the depths (x dimensions) from pieces in the block placed next to one another in the lengthways direction; the width of a block is defined analogously.

The blocks in a layer are divided into critical and non-critical blocks. The depth (x dimension) of the critical blocks corresponds exactly to the layer depth.

(17)

x y

block depth

a) block structure of a layer b) same layer after reorganisation block 1

(critical) block 2 (non critical) block 3 (critical) block 4 (non critical)

block depth

x y

M space free width

1

2 3

4 6

8 7

5

8 7

4 6

5

1

2 3

Fig. 3. Block structure and reorganisation of a layer.

- The task of the reorganisation phase is to create a rectangular free space, called M space, at one of the broad sides of every single layer, which can then be used for displacing pieces from other layers (cf. Fig. 3b). The width dimension (y dimension) of this space, which is designated the free width, should be as large as possible; the depth dimension must be at least one length unit.

The free width of a layer is maximised mainly through a reorganisation of its blocks. These are arranged (with the pieces they contain) in such a way that first the critical and then the non- critical blocks follow one another without any gaps. In addition, single pieces at the relevant broad side of the layer are displaced parallel to the layer width or stored elsewhere in previously free space on the inside of the layer. In addition, individual blocks are reflected at their centre line parallel to the x axis.

- In the displacement phase the layers with the maximum free widths are initially selected in a limited number. The selected layers are subjected experimentally to a displacement process in every possible permutation or sequence in the container. The best layout with the shortest length over all permutations obtained through the displacement process is then supplemented by the remaining layers, which retain their original layer depths, and given back as the solution for the heuristic.

(18)

- The displacement process for a given sequence of the selected layers is demonstrated in Figs. 4 to 6. Fig. 4 shows the selected layers with their blocks after the reorganisation phase, where the M spaces are in an analogue situation (top right).

B21 B23

B22

x y

B13

B12

B11

B33

layer 1 layer 2 layer 3

M space

B32

B31

Fig. 4. Three layers with blocks Bij (i, j = 1, 2, 3) after the reorganisation phase.

- Starting with the second layer of a permutation, in each case a sub-set of the critical blocks in the layer i (i > 1) is determined in such a way that the sum of the block widths is the maximum of, but does not exceed, the free width of the layer i-1. The blocks in layer i are now rearranged so that the selected critical blocks can be displaced by being pushed to the left into the M space of layer i-1. Following this the (maximum) displacement is carried out. Fig. 5 shows the displacement process for the second layer. Before block B22 can be pushed to the left, it has to be exchanged for block B23. After the displacement the M space of layer i is redefined taking account of the layer's old M space and the displacement. Because of the displacement, the width of the M space, i.e. the free width of layer i, always increases.

(19)

B23

B22 B33

B32

B31

x y

B13

B12

B11

B21

Fig. 5. Three layers after displacement of the second layer.

- Fig. 6 shows the displacement process for the third layer. After block B33 has changed places with the critical blocks B31 and B32, the latter can be pushed into the M space of the second layer. The width of the third layer is now equal to the container width. Its depth therefore indicates the achieved reduction of the container length that was used (for the given permutation).

B33 B31 B32

B21 B23 B22

x y

B13

B12

B11

Fig. 6. Three layers after displacement of the third layer.

The heuristic generates solutions that, in general, no longer satisfy the guillotine cut condition and it is therefore only applicable if a corresponding constraint is not present. This can be seen in Fig. 6, where, for example, block B11 and therefore the pieces it contains, cannot be reproduced through guillotine cuts.

(20)

Within the GA the heuristic is used for subsequent optimisation of the best solutions in a run, and after this the best solution in the run and the previous best solution in the procedure are updated.

Configuration of the genetic algorithm for the SPP

Standard values for the parameters and termination criteria for the GA are defined in the framework of the configuration. In the comparison test described below the following values are used throughout for the parameters that have already been introduced, and the following termination conditions are applied:

- Number of runs per problem instance nruns = 2; the start distribution for the probabilities of the value combinations of the layer parameters that is used in the first or second run results from Tab. 3 (cf. Tab. 1).

Tab. 3. Two start distributions for learning the layer parameters.

Value combination Probability

sscut rvmode ssmerge Start distribution 1 Start distribution 2

0 0 0 0.5 0.2

0 0 1 0.5 0.2

0 1 0 0 0.2

0 1 1 0 0.2

1 0 0 0 0.05

1 0 1 0 0.05

1 1 0 0 0.05

1 1 1 0 0.05

- The percentages qldpi, i = 1, 2, 3, indicate the proportion of the layer definitions (variants) to be used in the generation of new layers (cf. Tab. 2). These parameter values are graduated as follows depending on the number of piece types n_ptyp for the given problem instance:

qldp1 = 100, qldp2 = 100, qldp3 = 33, if n_ptyp ≤ 40,

qldp1 = 66, qldp2 = 66, qldp3 = 33, if n_ptyp > 40 and n_ptyp ≤ 60,

(21)

qldp1 = 10, qldp2 = 10, qldp3 = 33, if n_ptyp > 60 and n_ptyp ≤ 200, qldp1 = 5, qldp2 = 5, qldp3 = 33, if n_ptyp > 200.

- Population size npop = 50.

- Number of solutions to be reproduced per generation nrep = 10.

- Use probabilities for crossover and standard mutations operator pcross = 0.66 and pmut = 0.33.

- Number of solutions to be generated through merge mutation per generation (only with adaptation with a closed container) nmerge = 10.

- Three termination criteria are used simultaneously. In the adaptation with an open container the calculation of a single run ends when a defined generation number maxgen has been calculated.

The value maxgen is set depending on the problem size, i.e. the number of pieces np:

maxgen = 2000, if np ≤ 60,

maxgen = 1000, if np > 60 and np ≤ 100, maxgen = 200, if np > 100.

In the adaptation with a closed container the calculation of a CLP instance of a run terminates when maxgen generations have been calculated. With an analogous graduation the above- mentioned maxgen values are halved. In addition, the calculation of a run ends with both adaptation approaches when the time limit maxtime = 600 seconds is exceeded. Finally, the complete search process is interrupted for both adaptation approaches as soon as a solution is found whose used container length lC_used equals or is less than the value lC_lb + delta_lb.

Here the lower bound lC_lb is determined in accordance with relation (1), whereas a non- negative whole number which characterises the required quality level of the solution has to be given for delta_lb. If delta_lb = 0, the search is only interrupted prematurely if an optimum solution is found.

(22)

The parameter values shown here were determined empirically. The graduation of the values for the parameters qldpi (i = 1, 2) and maxgen serves to control the "trade off" between solution quality and effort. With the general use of a fixed set of parameters for different groups of problem instances, proof will be provided in the following comparison test that the procedure achieves a high solution quality with uniform parameterization and in this sense behaves robustly.

4 Procedure test

The GA that was implemented in C and with the MS Visual C++ 6.0 environment was tested on a Pentium PC with a cycle frequency of 2 GHz. Two groups of SPP instances were used for the test.

The first group contains the 12 problem instances from KRÖGER (1993), in which the number of pieces fluctuates between 25 and 60. All instances are strongly heterogeneous; there is usually only a single sample of a piece type. The second group includes the 21 problem instances from HOPPER

and TURTON (2000) for which the optimum container lengths are known. These are divided into 7 sub-groups C1 to C7 each with three instances with almost the same number of pieces and the same optimum value. The minimum number of pieces is 16, the maximum number 197. These instances must also be classified as strongly heterogeneous; in the mean there are fewer than two items for each piece type.

In the following a comparison test is documented, where the results from other authors are quoted from the given sources. The suggested GA, which is referred to below as SPGAS, uses only the adaptation with a closed container, which proved to be clearly the better adaptation version in pilot tests. After this, a validation test is described in which the contributions of different GA components to the efficiency of the procedure are tested.

(23)

Results of the comparison test

For the problem instances from KRÖGER ("KR problems") there are results for the parallel GA from KRÖGER (1993) and SCHNECKE (1996) which are listed jointly with the results of the genetic algorithm SPGAS in Table 4.

Tab. 4. Results for the problem instances from KRÖGER (1993)(all data in length units).

SPGAS Lower

bound

PGA Schnecke (1996)

PGA

Kröger (1993) without subsequent optimising

with subsequent optimising Problem

instance (no. of

pieces) Best

value Mean Best

value Mean Best

value Mean Best

value Mean KR01 (25) 107 111 111.8 109 109.4 110 110.9 109 109.8 KR02 (25) 103 107 107.6 104 105.0 105 105.2 104 105.0 KR03 (25) 102 105 106.8 104 104.2 105 105.2 104 104.4 KR04 (35) 151 156 158.3 152 153.0 153 153.0 151 152.6 KR05 (35) 122 127 127.5 123 123.4 124 124.0 123 123.7 KR06 (35) 123 127 128.4 124 124.6 125 125.4 124 124.9 KR07 (45) 194 202 202.8 196 197.0 196 196.1 195 195.5 KR08 (45) 163 171 172.8 164 165.2 164 164.9 164 164.5 KR09 (45) 133 139 139.2 134 135.2 134 135.0 134 134.9 KR10 (60) 249 256 259.6 253 253.8 251 251.5 250 251.0 KR11 (60) 275 286 288.0 279 280.8 277 277.2 276 276.6 KR12 (60) 280 292 294.6 283 284.6 281 281.9 280 281.4 Sum 1-12 2002 2079 2097.4 2025 2036.2 2025 2030.3 2014 2024.3 Mean 1-12 166.8 173.3 174.8 168.7 169.7 168.7 169.2 167.8 168.7

Both comparison procedures generate solutions that satisfy the guillotine cut condition. Results for the variants "without subsequent optimising" and "with subsequent optimising" are given for SPGAS. In the first variant, the heuristic for subsequent optimisation of solutions is not used and the constraint referred to above is also satisfied. In the second variant, subsequent optimisation is used, so that the generated solutions cannot, in general, be guillotined.

Columns 2 to 9 show the best values or the mean values respectively of the used container lengths (in length units, LE). The mean values per problem were acquired in the PGA from SCHNECKE from at least ten calculations, and from five calculations in the PGA from KRÖGER. With both SPGAS variants the mean values and the best values were all obtained from ten calculations per problem

(24)

instance for the seed values 1 to 10 of the random number generation. The lower-bound values were determined in accordance with the relationship (1) (see Section 3).

The results for the KR problems can be reported as follows. The PGA from SCHNECKE is clearly dominated by both the other methods. If the guillotine cut constraint is considered, the best values of the PGA from Kröger and of the SPGAS coincide, on average, where the comparison procedure is better for smaller instances, SPGAS for larger instances. Measured over all calculations, even without subsequent optimising, SPGAS achieves an improvement of 0.5 length units per instance in comparison with the PGA from KRÖGER.

If the guillotine cut condition is omitted, the SPGAS achieves new best values for five instances and equals the best values of KRÖGER's PGA for the remaining instances. The length reduction determined over all instances and calculations is now 1.0 length units. SPGAS misses the lower bounds by a maximum of two length units, in the average of the instances by a single length unit only, and generates (proven) optimum solutions for two instances.

The average container utilisation per instance is 99.0% with the SPGAS variant with subsequent optimising for the best values, and 98.4% for the mean values from ten calculations. Both SPGAS variants require an average computing time of approximately 137 seconds per instance. A comparison of the computing times is not possible because there is no corresponding data for the parallel GAs from SCHNECKE or KRÖGER.

In the comparison test using the problem instances from HOPPER and TURTON ("HT problems") the three most successful procedures introduced in HOPPER and TURTON (2000) are included, none of which takes account of the guillotine cut constraint. These procedures are, a GA, a method of naïve evolution (NE), i.e. a GA which has only a mutation operator and no crossover operator, and a SA procedure. All procedures are based on a solution presentation that encodes the sequence of the

(25)

placing of the pieces. The so-called "bottom-left first routine" BLF (cf. HOPPER and TURTON 2000) is used for the actual placing of pieces.

From the used container length lC_used of a solution HOPPER and TURTON (2000) determine the relative distance rel_dist to the known optimum lC_opt as a percentage, in other words the value rel_dist = (lC_used – lC_opt)/lC_opt*100. In addition, they document only best solutions for the

given procedures. Finally, for each of the seven instance groups C1 to C7 the authors indicate per procedure the mean value of rel_dist for the best solutions of the three instances in the group.

SPGAS was tested in the variant with subsequent optimising. The given best values all come from ten calculations that were carried out for the random seed values 1 to 10. In addition, the values of the relative distance rel_dist measured over the ten calculations are given in the last column in the table for SPGAS

Tab. 5. Results for the problem instances from Hopper and Turton (2000).

Optimum Hopper and Turton (2000) SPGAS lC_opt GA+BLF NE+BLF SA+BLF with subsequent

optimising Instance

group (no. of

pieces) Best value*

Best value*

Best value*

Best

value* Mean*

C1 (16-17) 20 4.0 5.0 4.0 1.7 1.7 C2 (25) 15 7.0 7.0 6.0 0.0 0.9 C3 (28-29) 30 5.0 4.0 5.0 2.2 2.2 C4 (49) 60 3.0 4.0 3.0 0.0 1.4 C5 (72-73) 90 4.0 4.0 3.0 0.0 0.0 C6 (97) 120 4.0 4.0 3.0 0.3 0.7 C7 (196-197) 240 5.0 5.0 4.0 0.3 0.5 Mean 1-7 - 4.6 4.7 4.0 0.6 1.0

* Relative distance to the optimum in %

The results for the HT problems are summarised as follows. SPGAS dominates clearly over all three comparison procedures. Measured over all instance groups, the relative distances to the optimum values achieved for the best solutions are at least 3.4 percentage points below the corresponding values in the comparison procedures; for the mean values from all calculations the distance to the

(26)

best solutions of the comparison procedures is still at least 3.0 percentage points, on average, over all instance groups.

SPGAS generates optimum solutions for 15 of the 21 instances; for the remaining six instances (namely 2, 7, 8, 16, 19 and 21) the optimum is missed in each case by a single length unit. A container utilisation of 99.4% is achieved, on average, for the best solutions. Measured over all ten calculations there is an average container utilisation of 99.0%.

Measured over all ten calculations, SPGAS requires an average computing time per instance of 136 secons. In this case a comparison of computing time is possible. From the corresponding data in HOPPER and TURTON (2000) computing times (in minutes) of 131.1 (GA), 81.9 (NE) and 674.0 (SA) result for the three comparison procedures when measured over all instances. The comparison procedures were tested on a Pentium Pro Processor (200 MHz), whereas SPGAS ran on a Pentium 4 Processor (2 GHz). The computer times for the comparison procedures are therefore divided by 10 for the sake of simplicity (the ratio of the MIPS figures is approximately 1 to 7) and are therefore in seconds 787 (GA), 491 (NE) and 4044 (SA). Even taking the different processors into account, the average computing time per instance for all comparison procedures is a multiple of the computing time for SPGAS.

All previous SPGAS calculations were carried out with the parameter setting delta_lb = 0 (cf.

Section 3). This means that a premature termination because of the achieved solution quality only takes place if an optimum solution was determined. The HT problems were also calculated for the value delta_lb = 1. In this case a calculation is ended when a container length is achieved which lies one unit above the lower bound. With ten calculations per problem, and measured over the best solutions as well as measured over all solutions, there was an average value of the relative distance to the optimum of 2.7%, which is still clearly below the corresponding value for the best comparison process (cf. Tab. 5). On the other hand, the mean computing time per instance is only

(27)

23 seconds. A reduction of the required quality level by one or a few units leads, particularly for larger problem instances (for example those in group C7), to only a slight reduction of the relative distance to the optimum, but is rewarded by a drastic saving of computing time.

Results of the validation test

The aim of the validation test is to check the contribution made by different components and concepts of the GA to the efficiency of the process. The KR problems and the HT problems are once again calculated ten times each for the validation of a component.

The results of four validation variants (Nos. 1 to 4) are shown in Tab. 6. The best results of the GA are shown again under No. 0 as a comparison. Apart from the change marked in each case, the original configuration of the GA was retained and, with the exception of No. 4, subsequent optimising is always used.

The best value sum, i.e. the best values of all instances, and the mean value sum, i.e. the sum of all mean values of all instances from ten calculations (cf. Tab. 4, penultimate line) are listed for the KR problems. For the HT problems the best value distance indicates the best relative distance per group measured over all groups, whereas the mean value distance measures the average relative distance per group, measured over all groups, from all calculations (cf. Tab. 5, last line).

Tab. 6. Results of the validation test.

No. Validation variant KR Problems HT Problems Best value

sum

Mean value sum

Best value distance

Mean value distance

(length units) (%)

0 Best GA variant 2014 2024.3 0.6 1.0 1 Adaptation with open

container 2026 2034.5 2.2 1.6 2 Without crossover 2023 2030.8 0.9 1.4 3 Without layer merger 2018 2025.4 1.3 1.5 4 Without subsequent

optimising 2025 2036.2 0.6 1.0

(28)

The results state that the adaptation with a closed container achieves a much better solution level in the comparison with the competitive adaptation version. In addition, it can be seen that both the crossover operator and layer merging make a considerable contribution to the quality of the solution.

As expected, the crossover operator requires considerable effort; without it, computing times fall to a similar extent as with the reduction of the given solution level.

While subsequent optimising in the KR problems reduces the used container length on average by one unit, it has no effect with the HT problems. There are several reasons for this. For example, subsequent optimising is frequently not used in the calculation of the HT problems because optimum solutions have already been achieved. In addition, the dimensions of the pieces and of the container are unfavourable for subsequent optimising. For example, one disadvantage is that many instances have a relatively high container width. On the other hand, subsequent optimising hardly increases the computing time at all, even with larger instances.

Finally, the effect of learning the layer parameters was examined. For this purpose the GA was tested with the best four fixed value combinations for these parameters, where in each case only one run (nruns = 1) was carried out. In addition, one run with dynamic distribution of the layer parameters was carried out for the start distributions shown in Tab. 3. Here the two dynamic variants were slightly better on average over all calculations for the KR and the HT problems than the best variant with fixed parameter values. There was a clearer picture with regard to the best values achieved by the GA on the whole for the KR and HT problems. With the four static variants, on average, only 64% of all best values were equalled, with the best static variant, 73% of these values were equalled. With the two dynamic variants, on average 83% of all best values were achieved and 85% with the better dynamic variant. The learning concept for the layer parameters therefore plays a considerable role in the generation of high-quality solutions. An even more fundamental validation of this concept is reserved for a subsequent examination.

(29)

5 Summary

In this paper a GA for the two-dimensional strip-packing problem was proposed in which layer-type structured packing plans are generated. The GA was acquired through adaptation of a genetic algorithm for the CLP. Tracing the solution of the SPP to the solution of several CLP instances with reducing container lengths proved to be a suitable adaptation approach. An improvement in the solution quality was achieved through the dynamisation of the parameters for layer generation, a diversification of the search based on this, and by a heuristic for the subsequent optimising of solutions.

With the help of familiar benchmark problems it was shown that the GA, at least for strongly heterogeneous piece sets, achieves high quality, near optimum solutions with acceptable computing times. The GA proved to be dominant in comparison to five comparison methods.

The search is carried out by means of problem-specific operators directly in the space of the completely defined packing plans. In accordance with the classification of solution approaches for packing problems from HOPPER and TURTON (2000), the GA is classified in Group 3. A particularly marked superiority was observed in comparison with several approaches in Group 1, which are based on a solution representation that encodes the placing sequence for the pieces. A packing plan is then generated by means of a given placing heuristic which sees each piece separately. This permutation-based approach complicates an informed generation of packing plans geared to the whole of the respective problem data. In contrast, because of the integrated heuristic for layer generation, the GA proposed here takes a more global view of the whole of the problem data. Its dominance in comparison with the permutation-based approaches in Group 1 therefore appears to be plausible.

The comparison methods of Group 1 represent metaheuristics of different types, and this has hardly any effect on the solution quality, relative to the GA. It seems that the type of metaheuristic is not

(30)

crucial for the success of the packing process. The representation, where applicable the quality of integrated heuristics for placing, and the ability to steer the search by means of a suitable evaluation of solutions, appear to be more essential.

As a whole the paper shows that the strip-packing problem can be handled successfully by means of genetic algorithms with a representation close to the problem and with corresponding operators. It is obvious that more attention should be paid to the packing approaches of Group 3 for the SPP and for other packing problems. The transformation of a CLP method into an SPP method with good results also demonstrate the close relationship of the two problems and invites us to transform other packing heuristics for the container loading problem in two and three dimensions into corresponding SPP methods.

(31)

Bibliography

BORTFELDT, A.; GEHRING,H. (1999). Two metaheuristics for strip packing problems. In: Despotis, D.K.; Zopounidis, C.

(eds), Proceedings of the Fifth International Conference of the Decision Sciences Institute, Athens, Vol. 2, pp.

1153–1156.

BORTFELDT, A.; GEHRING,H. (2001). A hybrid genetic algorithm for the container loading problem. European Journal of Operational Research 131, pp. 143–161.

COFFMAN JR.,E.G.;SHOR,P.W.(1990).Average-case analysis of cutting and packing in two dimensions. European Journal of Operational Research 44, pp. 134–144.

DYCKHOFF,H. (1990). A typology of cutting and packing problems. European Journal of Operational Research 44, pp.

145–159.

DYCKHOFF,H.; FINKE,U. (1992). Cutting and Packing in Production and Distribution. Physica, Heidelberg.

DYCKHOFF,H.; SCHEITHAUER,G.;TERNO,J.(1997). Cutting and Packing. Annotated Bibliographies in Combinatorial Optimization. Wiley, Chichester.

FAINA,L. (1999). Application of simulated annealing to the cutting stock problem. European Journal of Operational Research 114, pp. 542–556.

FALKENAUER,E. (1998). Genetic Algorithms and Grouping Problems. Wiley, Chichester.

HOPPER, E.; TURTON, B.C.H. (2000). An empirical investigation of meta-heuristic and heuristic algorithms for a 2D packing problem. European Journal of Operational Research 128, pp. 34–57.

HOPPER, E.; TURTON, B.C.H. (2001). A review of the application of meta-heuristic algorithms to 2D strip packing problems. Artificial Intelligence Review 16, pp. 257–300.

JAKOBS, S. (1996). On genetic algorithms for the packing of polygons. European Journal of Operational Research 88, pp. 165–181.

KRÖGER, B.(1993). Parallele genetische Algorithmen zur Lösung eines zweidimensionalen Bin Packing Problems.

Dissertation, Fachbereich Mathematik and Informatik, Universität Osnabrück.

KRÖGER,B.(1995).Guillotineable bin packing: A genetic approach. European Journal of Operational Research 84, pp.

645–661.

KRÖGER,B.;SCHWENDERLING,P.;VORNBERGER,O.(1991). Genetic packing of rectangles on transputers. Transputing

’91, Proceedings of the World Transputer User Group Conference 1991, Amsterdam, IOS-Press, pp. 593–608.

LAI, K.K.; CHAN, W.M. (1997). An evolutionary algorithm for the rectangular cutting stock problem. International Journal of Industrial Engineering 4, pp. 130–139.

LEUNG, T.W.; YUNG, C.H.; CHAN, C.K. (1999). Application of genetic algorithm and simulated annealing to the 2-dimensional non-guillotine cutting stock problem. IFORS ’99. Peking, China.

LIU, D.; TENG, H.(1999). An improved BL-algorithm for genetic algorithm of the orthogonal packing of rectangles.

European Journal of Operational Research 112, pp. 413–419.

MARTELLO,S.;PISINGER,D.;VIGO,D.(1998). The three-dimensional bin packing problem. Operations Research 48, pp.

256–267.

RATANAPAN, K.; DAGLI,C.H. (1998). An object-based evolutionary algorithm: The nesting solution. In: Proceedings of the International Conference on Evolutionary Computation 1998, ICEC ’98, IEEE, Piscataway, NJ, USA, pp.

581 – 586.

SCHNECKE, V. (1996). Hybrid genetic algorithms for solving constrained packing and placement problems. Dissertation, Fachbereich Mathematik and Informatik, Universität Osnabrück.

SIXT, M. (1996). Dreidimensionale Packprobleme. Lösungsverfahren basierend auf den Metaheuristiken Simulated Annealing and Tabu-Suche. Europäischer Verlag der Wissenschaften, Frankfurt am Main.

WOTTAWA, M. (1996). PACKLIB: Ein ASCII-Datenformat für Packungsprobleme. Zentrum für Paralleles Rechnen, Universität zu Köln, Report No. 96-216.

Referenzen

ÄHNLICHE DOKUMENTE

The clinical effects of fibrates are primarily illustrated by five pro- spective RCTs: Helsinki Heart Study (HHS), Veterans Affairs High- density lipoprotein Intervention

We report on the first lattice calculation of light-cone distribution amplitudes of the N ∗ (1535) resonance, which are used to calculate the transition form factors at large

T h e strong increase of A G * in the aqueous solutions with decreasing concentration of the amide, can definitely not be explained by a change of the bulk electro-

‘Participation’ and ‘Mobility', making sense of key challenges facing the cites when transitioning from traditional urban planning towards ‘smart’ urban planning.

Based on Permian, Triassic and Jurassic radiolarian biostratigraphic schemes, the geologic ages of the examined chert, siliceous mudstone and mudstone samples

In an effort to expand personal mobility among hunters and trappers in Canadas North experiments were carried out near Pond Inlet utilizing amphibious wheeled vehicles, The potential

Tuttavia, se si ipotizza che i costi unitari dei servizi pubblici e la loro qualità sono sufficientemente omogenei almeno all’interno dei gruppi ottenuti dalla procedura di

Before the parliamentary elections in 2012, Svoboda struck a deal with the United Oppo- sition Batkivshchyna, as a consequence of which the two groupings fielded joint candidates