new constructive algorithms for leather nesting in the automotive industry

19
New constructive algorithms for leather nesting in the automotive industry Cla ´ udio Alves n , Pedro Bra ´ s, Jose ´ Vale ´ rio de Carvalho, Telmo Pinto Centro de Investigac - ~ ao Algoritmi da Universidade do Minho, Escola de Engenharia, Universidade do Minho, 4710-057 Braga, Portugal article info Available online 31 August 2011 Keywords: Leather nesting problem Constructive heuristics Computational study abstract In this paper, we address one of the hardest two-dimensional cutting stock problems that can be found in industry. The problem is called the Leather Nesting Problem, and it consists in finding the best layouts for a set of irregular shapes within large natural leather hides with highly irregular contours, and which may have holes and quality zones. Here, we focus on a real case from the automotive industry, and in particular on the production of car seats. In this case, the irregular shapes that have to be cut from the hides are pieces of the car seats. The practical relevance of this problem, and the potential value of the savings that good solutions may generate, contrasts with the very small number of contributions that have been reported in the literature. In this paper, we aim to contribute to the efficient resolution of this problem by exploring in depth many new different constructive procedures. Our approaches rely on the computation of no-fit polygons, and try to use the information provided by these polygons as much as possible. Different strategies for sorting, selecting and placing the pieces, and for evaluating the placement of these pieces are proposed and discussed. We also report on an extensive set of computational experiments using real instances. To evaluate our approaches, we applied the real criteria used by companies operating in this sector. These experiments show that our approaches can generate very high quality layouts within the same time limits as those needed by human operators. & 2011 Elsevier Ltd. All rights reserved. 1. Introduction The cutting and packing area is a very active field of research within the combinatorial optimization community. In their recently proposed typology, W ¨ ascher et al. [10] could identify more than 400 papers published in this area in the decade from 1995 to 2004. Despite this, the Leather Nesting Problem which is addressed in this paper and which belongs to this class of problems remains a very poorly studied problem. As shown below, only very few publications address this problem, and many of them focus on special cases with some additional constraints that simplify the problem in practice. This situation contrasts with both the practical relevance of the problem and the potential value of the savings that may result from the generation of good solutions given the value of the raw material involved. The Leather Nesting Problem (LNP) is a two-dimensional cutting stock problem that consists in finding the best layouts for a set of irregular shapes within the boundaries of natural leather hides, whose contour is also irregular. A natural leather hide may have holes and zones with different quality levels. In fact, the surface of the leather hides can be very heterogeneous. Indeed, there can be a large number of different quality zones and holes with different sizes and shapes. Furthermore, their distribu- tion through the hide may vary significantly. The degree of irregularity of the contour of the hides is also very high. As a consequence, two leather hides are typically very different from each other. The characteristics of the irregular shapes that have to be cut from these hides depend typically on the application that is considered. In this paper, we address the real case of a large multinational company that produces seats for the automotive industry. Here, the irregular shapes to be cut from the leather hides are pieces of these car seats. The pieces may have holes and must also satisfy minimum quality requirements defined by the clients. These requirements translate into quality zones within the pieces, which in turn restrict the position of the pieces within the hides. According to the typology presented in [10], the LNP addressed in this paper can be classified as a 2D-RCSP (two- dimensional residual cutting stock problem). All the details of this particular LNP will be discussed in Section 2. To the best of our knowledge, the first results published in the literature concerning the solution of the LNP are due to Heistermann and Lengauer [7]. The authors proposed a greedy algorithm to solve the problem. Their approach starts by identifying a limited and empty region of the hide in order to place one of the available Contents lists available at SciVerse ScienceDirect journal homepage: www.elsevier.com/locate/caor Computers & Operations Research 0305-0548/$ - see front matter & 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2011.08.021 n Corresponding author. Tel.: þ351 253 604765; fax: þ351 253 604741. E-mail addresses: [email protected] (C. Alves), [email protected] (P. Bra ´ s), [email protected] (J. Vale ´ rio de Carvalho), [email protected] (T. Pinto). Computers & Operations Research 39 (2012) 1487–1505

Upload: claudio-alves

Post on 05-Sep-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: New constructive algorithms for leather nesting in the automotive industry

Computers & Operations Research 39 (2012) 1487–1505

Contents lists available at SciVerse ScienceDirect

Computers & Operations Research

0305-05

doi:10.1

n Corr

E-m

pedro.b

telmo@

journal homepage: www.elsevier.com/locate/caor

New constructive algorithms for leather nesting in the automotive industry

Claudio Alves n, Pedro Bras, Jose Valerio de Carvalho, Telmo Pinto

Centro de Investigac- ~ao Algoritmi da Universidade do Minho, Escola de Engenharia, Universidade do Minho, 4710-057 Braga, Portugal

a r t i c l e i n f o

Available online 31 August 2011

Keywords:

Leather nesting problem

Constructive heuristics

Computational study

48/$ - see front matter & 2011 Elsevier Ltd. A

016/j.cor.2011.08.021

esponding author. Tel.: þ351 253 604765; fa

ail addresses: [email protected] (C. Alve

[email protected] (P. Bras), [email protected]

dps.uminho.pt (T. Pinto).

a b s t r a c t

In this paper, we address one of the hardest two-dimensional cutting stock problems that can be found

in industry. The problem is called the Leather Nesting Problem, and it consists in finding the best

layouts for a set of irregular shapes within large natural leather hides with highly irregular contours,

and which may have holes and quality zones. Here, we focus on a real case from the automotive

industry, and in particular on the production of car seats. In this case, the irregular shapes that have to

be cut from the hides are pieces of the car seats.

The practical relevance of this problem, and the potential value of the savings that good solutions

may generate, contrasts with the very small number of contributions that have been reported in the

literature. In this paper, we aim to contribute to the efficient resolution of this problem by exploring in

depth many new different constructive procedures. Our approaches rely on the computation of no-fit

polygons, and try to use the information provided by these polygons as much as possible. Different

strategies for sorting, selecting and placing the pieces, and for evaluating the placement of these pieces

are proposed and discussed. We also report on an extensive set of computational experiments using

real instances. To evaluate our approaches, we applied the real criteria used by companies operating in

this sector. These experiments show that our approaches can generate very high quality layouts within

the same time limits as those needed by human operators.

& 2011 Elsevier Ltd. All rights reserved.

1. Introduction

The cutting and packing area is a very active field of researchwithin the combinatorial optimization community. In theirrecently proposed typology, Wascher et al. [10] could identifymore than 400 papers published in this area in the decade from1995 to 2004. Despite this, the Leather Nesting Problem whichis addressed in this paper and which belongs to this class ofproblems remains a very poorly studied problem. As shownbelow, only very few publications address this problem, andmany of them focus on special cases with some additionalconstraints that simplify the problem in practice. This situationcontrasts with both the practical relevance of the problem and thepotential value of the savings that may result from the generationof good solutions given the value of the raw material involved.

The Leather Nesting Problem (LNP) is a two-dimensionalcutting stock problem that consists in finding the best layoutsfor a set of irregular shapes within the boundaries of naturalleather hides, whose contour is also irregular. A natural leatherhide may have holes and zones with different quality levels. In

ll rights reserved.

x: þ351 253 604741.

s),

.pt (J. Valerio de Carvalho),

fact, the surface of the leather hides can be very heterogeneous.Indeed, there can be a large number of different quality zones andholes with different sizes and shapes. Furthermore, their distribu-tion through the hide may vary significantly. The degree ofirregularity of the contour of the hides is also very high. As aconsequence, two leather hides are typically very different fromeach other.

The characteristics of the irregular shapes that have to be cutfrom these hides depend typically on the application that isconsidered. In this paper, we address the real case of a largemultinational company that produces seats for the automotiveindustry. Here, the irregular shapes to be cut from the leatherhides are pieces of these car seats. The pieces may have holes andmust also satisfy minimum quality requirements defined by theclients. These requirements translate into quality zones withinthe pieces, which in turn restrict the position of the pieces withinthe hides. According to the typology presented in [10], the LNPaddressed in this paper can be classified as a 2D-RCSP (two-

dimensional residual cutting stock problem). All the details of thisparticular LNP will be discussed in Section 2.

To the best of our knowledge, the first results published in theliterature concerning the solution of the LNP are due to Heistermannand Lengauer [7]. The authors proposed a greedy algorithm to solvethe problem. Their approach starts by identifying a limited andempty region of the hide in order to place one of the available

Page 2: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–15051488

pieces. This region is called the focus, and it may be fixed if it isalways located in the same part of the hide, or variable if its positionwithin the hide may be different from one iteration to another. Inthe latter, the best focus is chosen among all the possible foci byevaluating a multi-criteria quality function for each focus. Theauthors restrict the placement of the pieces to a limited region ofthe hide to improve the efficiency of their algorithm.

Once the focus has been determined, a subset of pieces isselected from the whole set of pieces that remain to be placed.These pieces are selected by first inspecting the geometry of theircontour, and by comparing it with the geometry of the focus. Thiscomparison is made by analyzing the inner angles of the pieces,and the lengths of the corresponding edges. The pieces whosegeometry best approximates the geometry of the focus areselected. Among the selected pieces, only those that favor theconstruction of potentially good layouts are chosen. The area ofthe pieces and its quality zones are used as criteria in thissecond step.

The placement of each selected piece is then evaluated usingdifferent criteria such as the area of the piece and the distancebetween its contour and the borders of the hide and the currentpartial layout. Note that this placement may be infeasible.The authors overcome this problem by applying compactiontechniques.

Heistermann and Lengauer [7] report on computationalexperiments conducted on real instances from the furniture andautomotive industry. However, they do not distinguish betweenthe results obtained for each type of instances. Note that in thefurniture industry, the pieces tend to be much larger than in theautomotive industry. To evaluate their approach, they used theaverage material usage per hide. The authors claim that theirapproach was becoming competitive with human operators.

In [5], Crispin et al. describe two genetic algorithms based ondifferent coding methodologies to solve the LNP arising in theshoe manufacturing industry. Beyond the quality and non-over-lapping constraints that apply to the LNP addressed in this paper,the problem tackled by Crispin et al. considers additional direc-tionality constraints that reduce the solution space by imposingspecific directions for the pieces in given regions of the hides.

The first algorithm suggested in [5] is based on the placementof pieces within a limited window area. The pieces are placed soas to maximize the space utilization locally. Their second algo-rithm relies on connectivity graphs built using no-fit polygonsand whose edges are related to pieces that may touch in a feasiblelayout. In both cases, no-fit polygons are used to ensure that theplacement of the pieces is always valid. The authors report oncomputational experiments, and claim that their approachesgenerate solutions with values of material usage comparable withthe results obtained by human operators.

In [12], Yuping et al. proposed a simulated annealing algorithmfor the LNP with no quality zones. To generate valid placements,the authors perform translation and rotations of the pieces usingauxiliary sliding procedures. Their approach is based on a so-called re-annealing schedule which is faster than other classicalannealing schedules. The authors compared their approach withthe results obtained when the nesting is done manually. Onaverage, they achieved a better material usage in nearly the sametime limits as those needed by human nesters which are between15 and 30 min. The authors claim that their approach is effectivewhen the number of pieces is moderate.

More recently, Yuping and Caijun [11] proposed a new solu-tion procedure based on genetic algorithms and simulatedannealing for the case where the hides have defects but noquality zones. The shapes representing the pieces and hides ofthe problem are discretized using grids of pixels in a way that issimilar to the approach proposed in [2]. The pieces are placed on

the hides using a bottom-left heuristic. To look for goodsequences of pieces to place on the hides, the authors developeda novel approach combining a genetic algorithm with simulatedannealing. The cooling schedule of their simulated annealingalgorithm controls the mutation rate of their genetic algorithm,and according to the authors, it improves the convergence toglobal optimal solutions. Computational results are described fora case with two hides. The authors indicate that their approachcan find solutions with a percentage of material usage greaterthan 70% within 1 h.

In [9], Lee et al. described an heuristic for placing irregularshapes on multiple sheets. Their approach consists in placing theshapes one-by-one on the sheet using a simple nesting rule, andthen moving and rotating the shape so to as to improve itsplacement. Although the authors claim that their approach can beused when the sheets are irregular, they report only on a singleexperience with one instance for this particular case. Further-more, they do not consider the existence of quality zones eitheron the sheets or on the shapes.

Although many different approaches have been proposed tosolve two-dimensional cutting stock problems with irregularshapes (see [8], for example), the problems that are addresseddo not typically fit the specificities and requirements of the LNP.Even among all the contributions described above, only Heister-mann and Lengauer [7] proposed a solution approach for thesame problem as the one addressed here.

In this paper, we describe a new set of constructive algorithmsfor the general LNP in which the hides and the pieces may haveholes and quality zones. We explore in particular differentstrategies for grouping, selecting and placing the pieces withinthe hides, and for evaluating the quality of the placement of apiece at a given point. Our approaches are based on the computa-tion of no-fit polygons (see [4] for a comprehensive survey). Tothe best of our knowledge, these are the first algorithms reportedin the literature for this general LNP that use this technique.

The results described in this paper are based on the real casestudy described above. In this context, the problem consists infinding the best layouts for a set of pieces (from a givenproduction order) on a set of leather hides. Hence, the LNPreduces to a cutting stock problem on multiple hides. Further-more, the criteria used to evaluate the quality of the solutions arenot only based on the percentage of material usage on a singlehide, but it also takes into account the usable space left on the lasthide used to cut the order. All our algorithms have beenimplemented and tested using real instances.

The paper is organized as follows. In the next section, wedescribe all the elements that define the general LNP addressed inthis paper. In Section 3, we discuss the approaches used to dealwith the geometric aspects of the problem. In Section 4, wedescribe in detail the different parts that define our constructivealgorithms. In Section 5, we describe the criteria used to assessthe quality of a solution. Our computational experiments con-ducted on real instances are reported in Section 6. Some finalconclusions are drawn in Section 7.

2. The leather nesting problem

The LNP is a two-dimensional cutting stock problem in whicha set of small irregular shapes has to be placed on other largerirregular shapes that represent the leather hides so as to optimizesome criteria. Here, we consider the case where the set of shapesmay occupy more than a single hide, and hence, we seek the bestlayouts over possibly multiple hides.

The leather hides are a natural product. Their contour is highlyirregular, and their interior is usually heterogeneous. A leather

Page 3: New constructive algorithms for leather nesting in the automotive industry

Fig. 2. Piece of a car seat with quality zones. (For interpretation of the references

to color in this figure legend, the reader is referred to the web version of this

article.)

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–1505 1489

hide may have holes, defects and regions with different levels ofquality (the quality zones). Holes and defects are treated in thesame way as obstacles where a shape cannot be placed. They aretypically handled as if there were shapes already placed on thehide. In this sense, they are different from the quality zones sincea shape can be placed on a given quality zone provided the qualityrequirements of the parts of this shape that overlap this qualityzone is not greater than the level of quality of this zone. In theautomotive industry, we usually distinguish among four distinctquality zones designated by A, B, C and D. The letter A stands forthe best quality zone, D for the worst quality zone, and B and C forthe medium quality zones, being B better than C. Additionally,some parts at the boundaries of the hides are considered as wastebecause their quality is too low to cut any piece of a car seat. Fig. 1shows an example of a real leather hide. In all the figures ofthis paper, the quality zones A, B, C and D of the hides will berepresented in black, red, green and blue, respectively, while theunusable area at the boundaries of the hides will appear in grey.The holes will be represented in white.

In our implementation, we consider that the underlying usablearea of the hide is a shape of quality A, and that all the other zonesof lower quality and holes inside the hide overlap this single area.

It is important to emphasize the value of the leather hides.Actually, the price of this raw material tends to increase with theincreasing demand. For the companies with high levels of pro-duction, a gain in efficiency can lead to significant savings. Here,this gain can be obtained by generating layouts with a bettermaterial usage.

The shapes to be placed on the hides are also irregular. In ourcase, these shapes correspond to pieces of car seats. These piecesmay also have holes in their interior, and they are composed bydifferent quality zones which are set by the clients. A quality zonein a piece defines a minimum quality requirement for this zone ofthe piece. Such a zone can never be placed on a part of the leatherhide whose quality is lower. For example, the quality zones A ofthe pieces can only be cut from the quality zones A of the leatherhides. A quality zone B of a piece can be cut from a zone A or B ofthe hide, but not from a C or D, and so on. Fig. 2 illustrates a pieceof a car seat with different quality zones. Throughout the paper,the quality zones A of the pieces will be represented in magenta,while the holes and the other quality zones will be representedwith the same colors as for the hides. The piece illustrated inFig. 1 has three quality zones in its interior (B, C and D). Note that

Fig. 1. Leather hide. (For interpretation of the references to color in this figure

legend, the reader is referred to the web version of this article.)

the pieces of the car seats are usually defined with a border oflower quality which is used for the seams.

The characteristics of the small shapes depend heavily on theapplication. In the shoe making industry, for example, most ofthe shapes tend to be relatively small compared with the size ofthe hides, while in the furniture industry, the opposite applies.In the automotive industry, the variety of pieces is large. The areaof the pieces ranges typically from 0.1% of the area of the hides forthe smallest to 6% for the largest.

A layout, or cutting pattern, is completely defined by the set ofpieces placed on the hide, and their corresponding position androtation. A layout is feasible if all the pieces do not overlap witheach other and with the holes and the defects of the hide, and ifthey are all placed within the boundaries of the usable area of thehide. Apart from the quality constraints described above, no moreconstraints apply to the layouts in our case.

A production order is made of different pieces of the car seats.To place all the pieces of an order, more than one hide may benecessary. To evaluate the quality of the corresponding layouts,the companies operating in the automotive sector take intoaccount the percentage of material usage on each of the hidesand also the percentage of usable space on the last hide. Theunused space in the last hide is considered as ‘‘usable’’ if a boxwith a pre-defined area can be cut from it. Note that since thequality zones can still be used to cut some parts of other pieces,they can also be considered as usable space. In practice, the bestlayout is the one that uses the minimum number of hides, andmaximizes the usable space in the last hide.

3. Geometric aspects of the problem

3.1. Representation of the shapes

The hides and the pieces including their holes and qualityzones are represented by polygons. In the automotive industry,the original representation of the pieces lead usually to polygonswith a very high number of vertices. The average number ofvertices by piece is typically around 150. For the most compli-cated pieces, this number can go up to almost 300. Note thatthese numbers take into account the polygons representing theholes and quality zones of the pieces. These numbers increasesignificantly for the hides. The hides are scanned and digitizedright after the human operators have marked the defects andquality zones in their interior. The number of vertices of theresulting polygons ranges from 500 to more than 1000.

The number of vertices that define the polygons has a directimpact on the efficiency of the solution algorithms. In practice,some of the vertices can be removed with a very marginalmodification on the shapes. In our implementation, we simplifiedthe polygons of both the hides and pieces, including their qualityzones and holes. The simplifications were made such that a layoutbuilt with the simplified shapes remain feasible when all theshapes are replaced by the original ones.

For the hides, we used an inner approximation of the usablearea (which is a region of quality level A as referred to in

Page 4: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–15051490

Section 2), while the other (lower) quality zones were replaced byan outer approximation. With such an approach, it may happenthat two (or more) quality zones or/and holes overlap in the finalapproximated representation of the hide. Even if we may expectsuch a situation to happen only very rarely, the fact is that it hasno impact on the feasibility of the layouts. Indeed, the constraintson the lowest quality zones will always dominate (note that theholes can be considered as the lowest quality zones). For example,assume that the polygon for a zone B and the polygon for a zone Dof the hide overlap in the final approximated representation of ahide. In this case, the overlapping area will be subject to twoplacement constraints: a constraint related to the zone B, andanother related to the zone D. As a consequence, there will neverbe a shape of quality greater than D placed on this overlappingarea.

All the polygons representing the pieces are replaced by outerapproximations. Again, even if some of the resulting polygonsoverlap, the layouts will remain always feasible for the originalshapes. In this case, the constraints on the highest quality zones ofthe pieces will dominate the constraints for the other zones. Forexample, if the polygon for a zone A and the polygon for a zone Dof the same piece overlap, the overlapping area will never beplaced on a zone of the hide with a quality lower than A. Fig. 3illustrates the result of this simplification on a real piece.

A simple procedure was used to generate the approximations.The vertices are inspected in sequence. Given three adjacentvertices i, iþ1 and iþ2, if the distance between i and iþ2 issmaller than a given parameter (typically a very small value), andif removing iþ1 leads to an inner (respectively outer) approx-imation of the original shape with a marginal difference in thetotal area (given by a parameter), then the vertex iþ1 is removed,and the process continues starting with iþ2.

This process allowed us to decrease significantly the numberof vertices of the polygons. For the real instances used in ourcomputational experiments, the number of vertices for the hideswas reduced to almost 300 on average, while the approximatedrepresentations of the pieces used around 80 vertices on average.Note that even with these reductions, these numbers remainmuch higher than the values reported in [7]. In the latter, theoriginal representations of the shapes (before the simplificationapplied by these authors) consist of 100 vertices for the hides andup to 70 vertices for the pieces.

3.2. No-fit polygons

A fundamental (and non-trivial) issue in nesting problems is todetermine the relative position of two polygons, and particularlywhether two polygons overlap or not. This issue arises naturallyin the LNP, with the additional complexity brought by theexistence of quality zones. The specificity of the LNP is that whilesome parts of a piece must not overlap with some regions of thehide, other parts may overlap, as long as the minimum qualityrequirements are satisfied. As a consequence, the different partsof the pieces must be considered individually.

Fig. 3. Representation of a piece before (a)

In [4], the authors survey different approaches to compute therelative position of two polygons. Here, we consider the use of no-fit polygons (NFPs) [1]. Several methods can be used to generatethe NFPs [4]. In our implementation, the NFPs are computed usingMinkowski sums [6,3].

The NFP of two polygons A and B (NFPA,B) with a fixedorientation is another polygon (possibly with holes) that dividesthe space into regions where B can be placed from those whereplacements are not allowed, because they result in overlaps. Theboundaries of NFPA,B correspond to the path followed by a givenreference point of B when B slides around A. In this operation, it isassumed that B always touches A without ever overlapping.

The relative position of A and B depends on the position of thereference point. If it is inside NFPA,B, then A and B overlap. If it isoutside NFPA,B, then A and B do not even intersect. Otherwise, if thereference point lies at the boundary of NFPA,B, then A touches B.

The inner-fit polygon of two polygons A and B (IFPA,B) isdefined similarly except that now it is obtained by sliding Baround A such that B remains always inside A and in contact withthe contour of A. The polygon IFPA,B is used to determine whetherB is completely inside A or not. If the reference point is placed atthe boundary of IFPA,B, then B is inside A, and it touches itscontour. If the reference point is placed inside of IFPA,B, then B isinside A, but it does not touch its contour. Finally, if the referencepoint is outside IFPA,B, then B is not completely inside A.

To avoid the overlap between two pieces in the layouts, theNFPs of each pair of pieces must be computed. In this case, theNFPs are obtained using the contours of the pieces. Note that,even if the pieces may have holes, they are never large enough toplace other pieces of the car seats.

To ensure that the pieces are placed completely inside the hide,we have to compute the IFPs of the contour of each piece and theusable area of the hides. Furthermore, to guarantee that the qualityrequirements are correctly addressed, we have to compute the NFPsof each quality zone of the pieces and each zone of the hide with alower quality. Clearly, for each piece, the reference point must alwaysbe the same. We will denote the NFP of a quality zone Z of a hide anda piece P by NFP0Z,P . The NFP of a quality zone ZH of a hide and aquality zone ZP of a piece will be denoted by NFP00ZH ,ZP

. For a givenpiece P and for each quality zone Z of a hide, three cases may occur:

(a)

and

NFP0Z,P does not intersect the IFP of the piece and the usablearea of the hide;

(b)

NFP0Z,P intersects the IFP of the piece and the usable area ofthe hide;

(c)

NFP0Z,P is completely inside the IFP of the piece and the usablearea of the hide.

In the case (a), the IFP remains unchanged. In the case (b), theintersecting area must be removed from the IFP. In the case (c),NFP0Z,P becomes a hole of the IFP.

Fig. 5 illustrates this process for the real hide and piece of Fig. 4.In this example, we consider only the no-fit polygons of the qualityzones of the piece and the largest zone of quality C of the hide. LetHA and HC denote the polygons associated to the usable area and the

after (b) the elimination of points.

Page 5: New constructive algorithms for leather nesting in the automotive industry

Fig. 4. Computing IFPs in the LNP (a).

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–1505 1491

largest zone of quality C of the hide, respectively. Furthermore, let P,PA and PB denote the polygons for the contour, the zone of quality Aand the zone of quality B of the piece, respectively.

Note that a single polygon may not be enough to identify allthe feasible placement positions of a piece inside a hide. In fact, itmay happen that these positions are represented by differentunconnected IFPs.

As noted in [4], the concepts of NFPs and IFPs allow us to explorenew and interesting placement approaches. The information pro-vided by these polygons can be used to guide the nesting algorithminto specific regions for some pieces. We explored these ideas in theconstructive algorithms described in the next section.

4. Constructive algorithms

4.1. Overview

To address the real LNP described in Section 2, we developed,implemented and tested a set of strategies from which severalconstructive heuristics can be defined. These strategies can begrouped into four different classes as follows:

strategies for grouping the pieces, � strategies for selecting the next piece to place, � strategies for selecting a feasible placement region inside the

hide, and

� strategies to evaluate a given placement position.

Each of these classes correspond typically to a step of a nestingheuristic, although in some cases some of them may be appliedsimultaneously. First, the pieces are grouped according to the valueof a given attribute (area or degree of irregularity, for example). Thenumber of pieces per group depends on the instance and on thenumber of groups allowed. Based on the values of the specificattribute chosen, we can define an order to sort the different groups,and to sort the pieces within the same group. The objective ofdefining such groups is to give a similar treatment to pieces thathave almost the same value of a given attribute.

A piece is then selected to be placed inside the hide. Thisselection can be done by considering all the pieces, or only thosethat belong to a given group. A piece may be selected according tothe characteristics of the regions where it can be placed. As aconsequence, the piece and the feasible region where to place itare selected at the same time. In this case, we resort to theinformation provided by the IFPs of the pieces and the hide.

Two general approaches can be followed to choose a place-ment position. We may search for a good position by considering

all the hide, or we may restrict the placement to a specific regionof the hide. After a feasible placement region has been selected,the next step consists in evaluating the feasible placementpositions inside this region. This can be done using simple criteriasuch as the distance of the point to the contour of the hide, orusing more sophisticated criteria associated for example to howwell does a piece fit in the current layout. Note that, given thecharacteristics of the LNP addressed in this paper, it may happenthat a piece is placed at a position where it does not touch thecontour of the hide nor the current layout. The piece (or part of it)can be placed for example on a given quality zone of the hide. Thisstrategy is frequently used by human operators who try to use theworst quality zones of the hides as much as possible.

In the next sections, we describe in detail all these strategies.

4.2. Grouping the pieces

In this section, we describe the different grouping strategies.The purpose of grouping is to allow the pieces that have nearlythe same value of a given attribute to be treated in the same way,and hence, to avoid giving the priority to a piece only because thevalue of its attribute is slightly greater or smaller than the valuefor the other piece (as it could happen with a simple sorting rule).The attributes used to define the groups of pieces mentionedabove are the following:

(G1)

area, (G2) degree of irregularity, (G3) degree of concavity, (G4) ratio between the length and the width of the enclosing

rectangle,

(G5) value of the piece based on the quality zones and the areas

of these zones;

(G6) homogeneity of the quality zones.

Additionally, we explored the case (denoted by (G7)) where piecesare grouped using a linear combination of the values of all theseattributes. In the sequel, we will denote by Aj, Ij, Cj, Rj, Vj and Hj thevalues of the attributes (G1) to (G6) of a piece j, respectively.

Let n be the maximum number of groups allowed, and let minand max denote respectively the minimum and maximum valueof the attribute among all the pieces of a given instance. Eachgroup m, with m¼ 1, . . . ,n�1, is defined as the set of pieces withvalues of the attribute belonging to the following interval:

minþmax�min

n� ðm�1Þ;minþ

max�min

n�m

� �,

while for the nth group, the following interval applies:

minþmax�min

n� ðn�1Þ;max

� �:

Groups are sorted in increasing order of the values of theattribute, i.e. the value of a piece in a group iþ1 is always greaterthan the value of the attribute of a piece in group i.

The degree of irregularity Ij of a piece j is measured using thenumber of points of the polygon representing the contour of thepiece. Here, we consider the polygons resulting from the simpli-fications described in Section 3.1, since they give a more accurateperspective of the irregularity of the shapes. We evaluate thedegree of concavity Cj of a piece j using the difference between thearea of the convex enclosure of the polygon representing its outerboundary and the area of the piece. The ratio Rj between thelength and the width of the enclosing rectangle of a piece j allowsus to distinguish between long and large pieces. Throughout thepaper, we will assume that the original rotation of a piece is suchthat the largest edge of its enclosing rectangle is either parallel to

Page 6: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–15051492

the x- or y-axis of the Cartesian coordinate system. Furthermore,we will assume that the hides are placed originally as illustratedin Figs. 1, 4 and 5. Pieces with a ratio R]j close to 1 have anenclosing rectangle that approximates a square.

The previous attributes do not take into account the existenceof quality zones in the pieces. However, when placing a piece onthe hide, one may want to give a higher priority to pieces witha greater distribution of higher quality zones, for example. Tohandle these cases, we define the value Vj of a piece j as theweighted sum of the areas of each zone of the piece times a givenfactor. In our implementation, we used the factors 4, 3, 2 and 1 forthe quality zones A, B, C and D, respectively.

Another relevant characteristic of a piece is the homogeneity of itssurface. Pieces with many quality zones can be harder to place on ahide efficiently, i.e. at a position where the quality zones of the hidematch the quality zones of the piece. Using the number of qualityzones of a piece as a measure of its homogeneity may not provide anaccurate estimate. For example, a piece with a large quality zone anda lot of very small quality zones could be considered erroneously asstrongly heterogeneous. To assess the homogeneity Hj of a piece j, weuse a weighted sum of the relative areas of its quality zones times afactor that decreases with the area of the zone. Let q be the number ofquality zones in a given piece, and let ai be the area of the ith quality

Fig. 5. Computing IFP

zone. We denote by aT the total area of the piece, i.e. aT ¼Pq

i ¼ 1 ai.Assume that the quality zones are sorted in decreasing order of theirarea. The value of the homogeneity is computed as follows:

Xq

i ¼ 1

1

iai=aT :

For pieces with a single quality zone, this value is equal to 1.We also considered the case where groups are defined by a

combination of all the previous attributes. For an instance of theLNP with p pieces, let Amax, Imax, Cmax, Rmax, Vmax and Hmax denoterespectively the maximum value of the attributes (G1) to (G6)among all the pieces, i.e. Amax ¼maxj ¼ 1,...,pAj, Imax ¼maxj ¼ 1,...,pIj,Cmax ¼maxj ¼ 1,...,pCj, Rmax ¼maxj ¼ 1,...,pRj, Vmax ¼maxj ¼ 1,...,pVj andHmax ¼maxj ¼ 1,...,pHj. A piece j will be assigned to one of thegroups based on the value of the following expression:

a1 �Aj

Amaxþa2 �

Ij

Imaxþa3 �

Cj

Cmaxþa4 �

Rj

Rmaxþa5 �

Vj

Vmax

þa6 �Hj

Hmax,

with ai, i¼ 1, . . . ,6, being the weights of each attribute.Note that the attributes (G1) to (G6) are independent of the

rotation of the pieces. However, in case (G4), using such a ratio is

s in the LNP (b).

Page 7: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–1505 1493

only meaningful if one keeps the initial rotation of the piecesunchanged. Hence, when this grouping criterion is used, we willassume that the pieces cannot be rotated.

The maximum number n of groups has a direct impact on thenumber of pieces within each group. For small values of n, thenumber of pieces per group tends to be high, while for large values ofn, this number decreases. Clearly, it is always possible to find a valuen such that each group has at most one piece. In this case, thisapproach is similar to having all the pieces ordered according to agiven criterion.

4.3. Selecting the next piece to place

To select the next piece to place on the hide, we explored twostrategies. In the first one, the pieces are selected in increasing ordecreasing order of the value of the selected attribute ((G1) to (G6), ora combination (G7) of these attributes). Clearly, in this case, thegrouping strategy has no impact on the selection process of the piece.

In the second one, we use explicitly the groups of pieces definedearlier. First, a group of pieces that remain to be placed is selected.This choice is based on the indexes of the groups. It is made either inincreasing or decreasing order of the value of these indexes. In thelatter, the first group of pieces chosen contains the pieces with thelowest values of the selected attribute, while in the former itcontains the pieces with the largest values of the attribute. Thenext piece to place is chosen among the pieces of the selected groupbased either on the characteristics of its associated IFPs with thehide, or on the value of the function used to evaluate the placementpositions. These strategies can be summarized as follows:

(S1.I/D)

selection of a piece from the complete set of pieces inincreasing (S1.I) or decreasing (S1.D) order of the valueof the selected attribute;

(S2.I/D)

selection of a group of pieces in increasing (respectivelydecreasing) order of the indexes of the groups, andselection of a piece from the selected group based on:(S2.I/D.1) the characteristics of the IFPs;(S2.I/D.2) the value provided by the function used to

evaluate the placement positions.

As mentioned in Section 3.2, the feasible placement positions of apiece inside a hide may be described by different unconnected IFPs.To the best of our knowledge, the IFPs were never used before toguide the selection of a piece in other nesting algorithms. However,in some cases, the IFPs of a piece may provide a potentially goodestimate of the quality of the placement of the piece in thecorresponding region. For example, if the IFP of a small piece witha region of the hide is small, we may expect that the piece will fitquite well in this region. Hence, we explored the following strategiesfor choosing a piece after a group of pieces have been selected:

(S2.I/D.1.a)

selection of the piece with the smallest IFP; (S2.I/D.1.b) selection of the piece with the largest IFP; (S2.I/D.1.c) selection of the piece with the largest or smallest IFP

depending on the selected group of pieces.

When one of these selection strategies is used, the next piece andthe region of the hide to place it are selected at the same time.

Different approaches can be considered for (S2.I/D.1.c). As anexample, if the index of the selected group of pieces is larger(respectively smaller) than n/2, then one can choose the piecewith the largest (respectively smallest) IFP.

An alternative consists in choosing the piece with the bestvalue of the function used to evaluate the feasible placementpositions. The placement positions on the hide are evaluated foreach piece in the selected group. In this case, the next piece and

its position on the hide are selected simultaneously. The numberof points to evaluate can be reduced by restricting the regionwhere its placement is allowed. To restrict the placement regions,we considered different strategies that will be described in thenext section.

Note that when a piece is selected using the strategies (S1.I/D),its rotation remains open. In these cases, the rotation of a piece ischosen later by evaluating the feasible placement positions foreach admissible rotation of the piece. When the strategies (S2.I/D)are applied, the pieces and their rotations are selected simulta-neously. Furthermore, in the case of (S2.I/D.2), the final placementposition of the piece is also determined.

4.4. Selecting feasible placement regions

Restricting the placement of a piece to a given region of the hidereduces the time needed to evaluate the placement positions, andhence, the time to select the final position. Furthermore, it allows tocontrol how the hide will be filled, by assigning for example a higherpriority to regions with particular characteristics.

As mentioned above, some of the strategies for selecting thenext piece force the selection of the placement region, namelythose relying on the characteristics of the IFPs of the pieces.For example, when (S2.I/D.1.a) is used, the selected piece will beplaced on the hide such that its reference point lies at theboundary of its smallest IFP.

For the other cases, we also considered alternative strategies toselect a restricted placement region. Additionally, we exploredthe extreme case where the selected piece can be placed any-where on the empty spaces left on the hide (as long as it remainsinside the hide, and it does not overlap with the current layout).The regions considered in our implementation are the following:

(P1)

all the empty spaces on the hide; (P2) vertical strips starting from the one with the largest

x-coordinate (from the right to the left of the hide);

(P3) vertical strips starting from the one with the smallest

x-coordinate (from the left to the right of the hide);

(P4) the smallest IFP of the piece; (P5) the largest IFP of the piece; (P6) the largest or smallest IFP depending on the group of the

selected piece;

(P7) the smallest empty space on the hide; (P8) the largest empty space on the hide; (P9) the empty space with the lowest quality;

(P10)

the empty space with the highest quality; (P11) the empty space with the less irregular contour; (P12) the empty space with the most irregular contour.

The strategies (P2) and (P3) are inspired on the proceduresfollowed by human operators. Indeed, these operators tend toplace the pieces so as to fill a layer with empty spaces as much aspossible. Typically, they start filling the next layer only when nomore pieces can be placed on the current one. Although theyusually start from the bottom of the hides (from the right to theleft, in our representation), in our implementation, we consideredthe two directions.

The strategies (P4) to (P6) restrict the placement of thereference point of a piece to one of the IFP of the piece andthe hide.

For the strategies (P7) to (P12), obviously, we consider thesmallest empty space where at least one of the (available) piecescan be placed. The piece is selected among the pieces that fit inthis empty space (i.e. those whose one or more of its IFPs intersectthis empty space). Assume for example that (P7) is used, and thatwe have to choose between a piece i and a piece j. If the smallest

Page 8: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–15051494

empty space on the hide where i can be placed is smaller than theempty space where j can be placed, then i will be selected. Thesame applies to the other strategies from (P8) to (P12).

The empty space with the lowest quality on the hide is theregion (not covered by the current layout) with the largestpercentage of its surface occupied by quality zones worse thanA. If all the empty spaces have quality A, we assume thatthe region with the lowest quality is the smallest empty space.A similar reasoning applies to the strategy (P10). The empty spacewith the highest quality is assumed to be the empty space withthe largest percentage of quality zone A. If all the empty spaceshave no quality zones A, then we will assume that the largestempty space is also the highest quality region.

Again, to evaluate the degree of irregularity of the contours ofthe empty spaces for the strategies (P11) and (P12), we resort tothe number of points of the corresponding polygons.

4.5. Evaluating the quality of the placement positions

After a piece (and possibly its rotation) and a feasible placementregion have been selected, the next step consists in choosing theposition on the hide where the piece will be placed. The candidatepoints are always either at the boundary of an IFP of the piece or atthe boundary of the NFP of the piece with the current layout. Theselection of a placement position in the feasible regions defined inSection 4.4 is based on the value of an evaluation function. Some ofthese functions rely on simple criteria such as the distance to theborder of the usable area of the hide, while others try to evaluatehow well a piece fits on the hide by taking into account the currentlayout, the border of the hide and the quality zones of both the pieceand the hide.

Some of the criteria used are based on the intersection areabetween the border of the usable area of the hide and the borderof the current layout and an offset of the piece. For the sake ofconciseness, from this point forward, we will refer to the usablearea of the hide as the hide. In practice, the offset of a piececorresponds to the NFP of a square and the border of the piece.The reference point used in this operation is the center of thesquare. The size of the square defines the extra width of the offsetcompared to the original piece. This value is used as a parameterin our implementation. Fig. 6 illustrates this concept.

Let I be the set of polygons resulting from the intersection ofthe offset O of a piece P with the current layout and the regionoutside the hide, and let areaðIiÞ be the area of the ith polygon of I.The functions used to evaluate the placement positions for a givenpiece P can be summarized as follows:

(E1)

P9I9

i ¼ 1 areaðIiÞ: total intersection area between O, the currentlayout and the region outside the hide;

(E2)

P9I9

i ¼ 1 areaðIiÞ=ðareaðOÞ�areaðPÞÞ: relative intersection areabetween O, the current layout and the region outside the hide;

Fig. 6. Offset of a piece.

(E3)

maxi ¼ 1,...,9I9areaðIiÞ: largest intersection area among thepolygons resulting from the intersection between O, thecurrent layout and the region outside the hide;

(E4)

maxi ¼ 1,...,9I9areaðIiÞ=ðareaðOÞ�areaðPÞÞ: largest relative areaamong the polygons resulting from the intersection betweenO, the current layout and the region outside the hide;

(E5)

total intersection area between O, the current layoutand the region outside the hide plus the total area ofthe quality zones of P placed in a similar quality zone ofthe hide;

(E6)

relative intersection area between O, the current layout andthe region outside the hide plus the relative area of thequality zones of P placed in a similar quality zone of the hide;

(E7)

total intersection area between O, the current layoutand the region outside the hide plus the total area of thequality zones of P placed in zones of the hide with a qualityB, C or D;

(E8)

relative intersection area between O, the current layout andthe region outside the hide plus the relative area of thequality zones of P placed in zones of the hide with a qualityB, C or D;

(E9)

number of empty spaces generated when placing P; (E10) total area of waste generated when placing P; (E11) distance to the border of the hide; (E12) distance to the center of the hide; (E13) distance to the region of lowest quality of the hide; (E14) distance to the region of highest quality of the hide.

The relative values (E2), (E4), (E6) and (E8) are used to avoidthe largest pieces to be selected preferentially. Clearly, theserelative values are only useful when different pieces are com-pared (as happens when selecting the next piece using (S2.I/D.2)).In the other cases, these values lead to the same result as the oneobtained with the absolute value (E1), (E3), (E5) and (E7).

In Fig. 7, the intersection of the offset of the piece with theregion outside the hide leads to two unconnected polygons. Thefunction (E1) corresponds to the sum of the areas of thesepolygons. Function (E3) is used to favor the placements in whicha larger portion of the piece touches the border of the hide or theborder of the current layout. Functions (E5) to (E8) take intoaccount the usage of the quality zones of the hide together withthe quality of the fitting. With (E5) and (E6), we favor theplacements with the best correspondence between the qualityzones of the hide and the quality zones of the piece. In alternative,the functions (E7) and (E8) favor the placements that use qualityzones of the hide whose quality is lower than A as much aspossible.

In the case of (E9), we count the number of empty spacescreated when the piece is placed in the corresponding position.We do not consider the empty spaces where none of the availablepieces fit. With (E10), the value of this generated waste isconsidered explicitly.

In (E13) and (E14), the regions with the lowest and highestquality of a hide are determined by dividing the hide into squares,and by computing the value of each square in a way that is similarto the grouping strategy (G5).

Note that, in some cases, one may choose the placementposition that maximizes or minimizes the evaluation func-tion. This is the case for (E12) to (E14). In the sequel, we willuse the terminology (E12.MIN) ((E12) is used as an example) and(E12.MAX) when we will be searching respectively for the positionwith the smallest and the largest value of the correspondingfunction. For the other functions, it only makes sense either tomaximize its value ((E1)–(E8), for instance) or to minimize it(namely for (E9)–(E11)).

Page 9: New constructive algorithms for leather nesting in the automotive industry

Fig. 7. Intersection between the offset of a piece and the region outside the hide.

(G1) − (G7)1. Grouping the pieces

2. Selecting the next piece (S1. I/D)

(G1) − (G7) (G1) − (G7)

3. Selecting the placement region

MIN or MAX4. Selecting the placement position

(P1) − (P12)

4. A. Evaluating the placement positions (E1), (E3), (E5), (E7)

(S2.I/D.1)(a) − (c)

theplacementregionistheIFPusedtoselectthepiece

MIN or MAX

(E1) − (E14)

(S2.I/D.2)

(P1) − (P12)

MIN or MAX

(VAR 1) (VAR 2) (VAR 3)

(E9) − (E14)(E1), (E3), (E5), (E7)

(E9) − (E14)

Fig. 8. General variants of the constructive algorithm.

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–1505 1495

4.6. Summary of the algorithms

Based on the strategies described in the previous sections, it ispossible to define different variants of the constructive algorithm.Three variants emerge from this description which differ primar-ily in the strategy used to select the next piece to place on thehide. We will denote these variants by (VAR1), (VAR2) and (VAR3),respectively. The key distinctive features of these variants aresummarized next.

(VAR1)

If (S1.I/D) is used, then the next piece to place, the feasibleregion where to place the piece and the position ofthe piece in this region are selected sequentially andindependently.

(VAR2)

If (S2.I/D.1) is used, the next piece is selected according tothe characteristics of the IFPs, and its reference point is

placed on the IFP that determined its selection. In thiscase, we do not have to specify a strategy for selecting thefeasible placement region. The next piece and the regionwhere it will be placed are selected simultaneously, whilethe placement position is chosen in an independent step.

(VAR3)

With (S2.I/D.2), the next piece is the one that leads to thebest value of the evaluation function at one of the pointsin the feasible region. In this case, the piece, the feasibleregion and the final position of the piece are determinedsimultaneously. The feasible region where the piece canbe placed and the criteria used in the evaluation functionare selected according to the set of strategies described inSections 4.4 and 4.5.

Fig. 8 gives a summary of the constructive algorithms that canbe built from these definitions, and it identifies the combinations

Page 10: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–15051496

of strategies that are allowed within each variant. Each level isassociated to one of the steps of the algorithm, namely thegrouping of the pieces, the selection of the next piece that willbe placed on the hide, the selection of the feasible region wherethis piece will be placed, and the evaluation of the placementpositions and corresponding selection of the final position wherethe reference point of the piece will be placed. In this figure, tworectangles connected by an arrow means that the correspondingoperations are performed independently (and in sequence). Whena rectangle extends over more than one level, the correspondingoperations are interrelated and performed simultaneously. Forexample, in (VAR3), the selection of the next piece to place impliesthe selection of the region where it will be placed and its finalposition. Indeed, a piece is selected because it leads at a givenposition of the feasible region to the best value of the evaluationfunction among all the pieces of the selected group, and among allthe corresponding feasible regions and placement positions.

The text inside the rectangles in Fig. 8 identifies the strategiesthat can be used within the corresponding variant. Two generalstrategies can be used to select the final placement position of thepiece, whether finding the position with the maximum or mini-mum value of the evaluation function. This step is done byinspecting the positions in the feasible region and by computingthe corresponding value of the evaluation function (E1)–(E14).Note that there are no restrictions on how to combine thestrategies listed in Fig. 8 for each of the three variants.

5. Evaluating the quality of the solutions

Most of the production orders are cut using more than onehide. While on the first hides the efficiency of the layouts aremeasured using a common indicator, the same does not apply tothe last hide. The quality of the layouts on the first hides areevaluated essentially using the percentage of usable area coveredby the layout. The remaining area is considered as waste, and it isnot used to cut forthcoming orders.

The empty space left on the last hide is usually enough to cutpieces of the next order. Hence, it is important that these regionsof the hide can be reused in the best conditions. The criterion usedin practice to evaluate the quality of these regions is the total areaof the subparts from which a square of a given size can be cut. Inthis operation, the square cannot be rotated and no distinctionsare made among the different quality zones. Fig. 9 illustrates thisprocess. The left picture shows a feasible layout that occupiesa small portion of the hide, while the right picture identifies the

Fig. 9. Evaluating the usable

empty space where a given square fits. The square used tocompute this area appears at the top of Fig. 9.

Note that while some of the areas where the square does notfit are independent from the layout, most of these areas are aconsequence of the placement of the pieces.

6. Computational results

In this section, we report on the computational experimentsconducted on real instances from the company used as our casestudy. All the algorithms were implemented in Cþþ. We used theversion 3.7 of the Computational Geometry Algorithms Library(CGAL) to implement some of the geometric operations and datatypes. The tests were performed on a PC with an Intel Core i3 CPUwith 2.27 GHz and 4 GB of RAM. In Section 6.1, we describe thedetails of the instances used in our experiments.

Two sets of experiments were conducted: one to compare thedifferent strategies proposed in this paper and to evaluate theirimpact on the quality of the solutions, and another to evaluatethe performance of different combinations of strategies. In thissecond set of experiments, we used in particular the combina-tions that lead to the best layouts and to those that run fasterfor the instance used in the first set of experiments. The resultsof these experiments are discussed in Sections 6.2 and 6.3,respectively.

In the company, the pieces are placed on the hides by twooperators that take on average 600 s to fill a hide. In the sequel,we will refer to this value to draw some conclusions about theperformance of the algorithms, and we will use it also as aparameter in the experiments reported in Section 6.3.

6.1. Test instances

Two data sets from the company were used in our experi-ments. Each set is related to a specific car model, and to a specificpart of the car. The first set is composed by 23 different pieces,and the second by 22. From this point forward, we will denote thefirst and second data set by Instance1 and Instance2, respectively.

In our implementation, we considered a limited number ofrotations for each piece. The pieces were rotated by multiples of451 such that the rotated piece is significantly different from theoriginal non-rotated piece. The following set of rules were appliedto choose the rotations of each piece. For the large and mediumsize pieces with many concavities, we considered the sevenpossible rotations (plus the original orientation of the piece),

area left on the last hide.

Page 11: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–1505 1497

while for those with less concavities we considered only therotations that are multiple of 901. For the pieces with two axis ofsymmetry (horizontal and vertical), we considered two cases: ifthe ratio between the length and the width of the enclosingrectangle of the piece is far from the value 1, then three rotations(45, 90 and 1351) are applied. If this ratio is close to 1, then onlythe rotation by 451 is considered. For the small pieces, we onlyapplied rotations by 901. With these rules, 75 rotations wereapplied to the pieces of Instance1, and 68 for the pieces ofInstance2. Since the original orientation of the pieces is alsoconsidered, when computing the NFPs and IFPs, we can assumethat Instance1 and Instance2 have respectively 98 and 80 differentpieces.

We defined different production orders from Instance1 andInstance2 by varying the number of different pieces and thenumber of times a given piece has to be cut from the hides. Tocut the pieces, we assumed that three hides were available.For Instance1 and Instance2, we defined respectively seven andfour different orders. Table 1 indicates the number of differentpieces (column DPieces) and the total number of pieces for eachproduction order (column NPieces).

6.2. Comparative analysis of the different strategies

The objective of our first set of experiments was to comparethe strategies within each one of the classes described in theSections 4.2–4.5. The experiments were conducted so as toevaluate the impact of each strategy in the quality of the solutionsboth in terms of the material usage and the percentage of usablearea left on the last hide. For this purpose, we used the productionorder 1 of the Instance1 described in Table 1. For these experi-ments, the value of the maximum computing time was set to 4 h.

For ease of presentation, we use the following abbreviations torefer to each class of strategies:

GRP

class of strategies for grouping the pieces; SEL class of strategies for selecting the next piece to place;

PLAC

class of strategies for selecting a feasible region where toplace the next piece;

EVAL

class of strategies to evaluate a given placement position.

Table 2Strategies used to evaluate the impact of the grouping strategies.

SEL PLAC EVAL

(S1.D) (P2), (P4), (P6), (P7), (P9), (P12) (E1)

(S2.D.1.a–c) – (E1)

The classes of strategies were evaluated one after the other. Giventhe large number of algorithms that can be defined by combiningthe strategies of these classes, when evaluating the strategies of aspecific class C, we restricted the set of strategies used from theother classes. Whenever a more restricted subset of strategies isused, the reasons that motivated the choice of the strategies arepresented.

For the evaluation of each class of strategies, we report onthe number of pieces placed on the hides, on the material usage

Table 1Instances and production orders.

Instance Order DPieces NPieces

1 1 23 60

2 8 80

3 23 80

4 8 100

5 23 100

6 8 120

7 23 120

2 1 22 60

2 9 80

3 22 80

4 22 100

for each hide and on the computing time needed to build thecorresponding layouts. For the last hide, the percentage of usablearea that remains is also reported. When the number of runs islarge, we give the average results, and the best and worstsolutions obtained for each case (considering as the first criterionthe material usage on the first hides and then the usable area onthe last hide). These results are reported in Tables 3–12. Theresults for each hide are given in the sets of columns HIDE1,HIDE2 and HIDE3. The meaning of the other columns is thefollowing:

Pieces

(S2.D.

Table 3Evaluat

GRP

(G1)

(G2)

(G3)

(G4)

(G5)

(G6)

(G7)

number of pieces placed on the corresponding hide;

Usage percentage of material usage for the corresponding hide;

t

computing time (in seconds) needed to generate thelayout;

Rem.

percentage of usable area left on the last hide.

Note that, when the pieces of an order cannot be placed all on thethree hides, there is no entry on the column Rem. On the contrary, ifless than three hides are required, the hides that are not used areomitted. In our experiments, the maximum number n of groupsallowed was set to 10, while the weights used in the groupingstrategy (G7) are all equal to 1. For the strategies (S2.D.1.c) and (P6),we used the following rule suggested in Section 4.3: if the index ofthe selected group of pieces is larger (respectively smaller) thann/2, then the next piece is the one with the largest (respectivelysmallest) IFP.

The first class of strategies evaluated was the class GRP. Forthese experiments, we used the strategies of the classes SEL, PLAC

and EVAL reported in Table 2.For each combination of the strategies listed in Table 2, we

executed the corresponding algorithm obtained by varying thegrouping strategy from (G1) to (G7). Hence, a total of 105 runswere performed. The results of these experiments are reported inTables 3 and 4.

From Table 3, it is apparent that the best average results areachieved by two specific grouping strategies, namely (G1) and(G5) that rely respectively on the total area of the piece and on itsvalue. These strategies yield results that are significantly betterthan the other strategies both in terms of the percentage ofmaterial usage achieved on the first hide and on the percentage ofusable area left on the second (and final) hide. The strategy basedon (G5) leads to results that are slightly better than (G1) in terms

2) (P2), (P4), (P6), (P7), (P9), (P12) (E1)

ing the impact of the grouping strategies (Part I: average results).

Hide 1 Hide 2

Pieces Usage t Pieces Usage t Rem.

53.47 70.50 1119.30 6.53 13.84 235.55 83.43

53.27 68.31 1703.18 6.73 15.87 238.27 81.79

53.27 68.33 1875.67 6.73 15.85 194.48 81.61

55.50 65.99 1499.36 4.50 18.02 108.96 80.16

53.93 70.55 822.73 6.07 13.79 224.36 83.53

54.64 68.78 1719.08 5.36 15.43 303.38 82.29

53.21 68.09 1426.47 6.79 16.07 176.11 81.49

Page 12: New constructive algorithms for leather nesting in the automotive industry

Table 4Evaluating the 3impact of the grouping strategies (Part II: best and worst solutions).

Solutions GRP Hide 1 Hide 2

Pieces Usage t Pieces Usage t Rem.

Best solutions (G1) 55 72.71 588.80 5 11.79 388.84 86.23

(G2) 55 73.58 1305.36 5 10.98 41.23 87.13

(G3) 54 71.72 3297.17 6 12.71 418.78 84.47

(G4) 55 70.76 2570.67 5 13.59 266.21 84.42

(G5) 56 73.74 676.58 4 10.84 352.66 87.15

(G6) 55 72.83 1031.97 5 11.68 552.21 86.11

(G7) 54 71.72 3673.58 6 12.71 430.33 84.47

Worst solutions (G1) 51 68.16 96.91 9 16.01 30.55 81.04

(G2) 52 60.13 354.86 8 23.45 69.44 73.84

(G3) 49 55.26 498.44 11 27.97 102.74 69.08

(G4) 55 58.29 1457.43 5 25.16 62.05 72.28

(G5) 53 67.84 175.66 7 16.31 66.34 80.65

(G6) 55 61.00 345.81 5 22.64 32.87 75.39

(G7) 49 55.26 504.95 11 27.97 103.62 69.08

Table 5Strategies used to evaluate the impact of the strategies for selecting the next piece

(class SEL).

GRP PLAC EVAL

(G1)–(G7) (P2), (P4), (P6), (P7), (P9), (P12) (E1)

Table 6Evaluating the impact of the strategies of the class SEL (Part I: average results).

SEL Hide 1 Hide 2

Pieces Usage t Pieces Usage t Rem.

(S1.D) 53.83 69.33 697.24 6.17 14.93 243.94 82.48

(S2.D.1.a) 53.71 66.20 103.68 6.29 17.36 5.92 80.79

(S2.D.1.b) 52.57 62.22 420.54 7.43 21.52 70.58 75.92

(S2.D.1.c) 54.29 66.42 156.83 5.71 17.62 15.88 81.41

(S2.D.2) 54.13 69.89 2972.84 5.87 14.41 276.62 83.05

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–15051498

of these criteria. However, the largest difference between thesetwo strategies is on the average computing time required in eachcase. With (G5), the algorithms required on average 5 min lesstime to build the layouts. This behavior can be explained asfollows. The pieces with lower quality requirements can be placedin larger regions of the hide compared to the pieces with higherquality requirements. Hence, the number of placement positionsthat have to be evaluated for the latter is smaller than in the caseof the pieces with low quality requirements. As a consequence,the pieces with higher quality requirements are placed faster thanthe pieces with low quality requirements. Obviously, the numberof feasible placement positions decreases with the number ofpieces that are placed on the hide. When a piece with low qualityrequirements will have to be placed, this number will be smallerthan if the same piece was to be placed earlier. The strategy (G5)gives priority to the large pieces with high quality requirements,and hence, it generates a sequence of pieces that are placed moreefficiently on the hides. Another advantage of the strategy (G5) isthat it tends to avoid placing the pieces with low qualityrequirements on high quality regions of the hides.

The results of Table 4 confirm that the strategy (G5) leads tohigh quality layouts. The best material usage on the first hide andthe largest usable area on the last hide are achieved using thisstrategy (73.74% and 87.15%, respectively). The worst solutionobtained with (G5) is slightly worse than the solution obtainedwith (G1), but it remains better than all the other strategies. Fromthese experiments, it seems clear that there are advantages intaking explicitly into account one of the key specificities of theLNP, i.e. the existence of quality zones.

The five strategies of the class SEL were evaluated using thestrategies of the classes GRP, PLAC and EVAL used in the previousanalysis. For the sake of clarity, we recall these strategies inTable 5.

The computational results related to the five strategies of theclass SEL ((S1.D), (S2.D.1.a), (S2.D.1.b), (S2.D.1.c) and (S2.D.2)) arereported in Tables 6 and 7.

The best average results in terms of the material usage on thefirst hide and usable area on the last hide is achieved with thestrategy (S2.D.2). The result is not surprising since, in this case,the piece that is selected and placed on the hide at each iterationis the piece of the group that leads to best value of the evaluationfunction. The counterpart is the high computing time. Thisstrategy forces to inspect all the placement positions within theselected region of the hide for each piece of the group, while inthe other strategies, the next piece is selected using criteria

whose evaluation is computationally less expensive. Furthermore,the results achieved with (S2.D.2) are only slightly better thanthose achieved with (S1.D) that uses a simple criterion based onthe value of the selected attribute for each piece, while theaverage computing time is more than three times higher (forthe first hide). The strategies (S2.D.1.a–c) lead to solutions whosequality is lower than with the other two strategies. However, thecomputing time is much smaller than the computing timerequired by the algorithms based on the other two strategies. Inthe case of (S2.D.1.b), the difference is not so large. That can beexplained by the fact that, by using the largest IFP as the feasibleplacement region, the number of placement positions to evaluatecan sometimes be high, thus degrading the efficiency of thealgorithm. For the strategies (S2.D.1.a) and (S2.D.1.c), the differ-ence is even more significant for the last hide where only a fewpieces have to be placed.

The relative quality of the best solutions achieved with each ofthe strategies is almost similar to the average results reported inTable 6 (the best solution obtained with (S2.D.2) is only slightlyworse than the solution obtained with (S1.D)). On the contrary,the relative quality of the worst solutions is different from theaverage results. While the strategy (S2.D.1.b) produces the worstresults, the strategies (S2.D.1.a) and (S2.D.1.c) lead to solutions

Page 13: New constructive algorithms for leather nesting in the automotive industry

Table 7Evaluating the impact of the strategies of the class SEL (Part II: best and worst solutions).

Solutions SEL Hide 1 Hide 2

Pieces Usage t Pieces Usage t Rem.

Best solutions (S1.D) 56 73.74 676.58 4 10.84 352.66 87.15

(S2.D.1.a) 52 69.46 92.99 8 14.81 15.65 82.70

(S2.D.1.b) 53 70.42 166.14 7 13.91 74.17 83.41

(S2.D.1.c) 53 70.97 100.30 7 13.41 6.25 84.63

(S2.D.2) 55 73.58 1305.36 5 10.98 41.23 87.13

Worst solutions (S1.D) 56 63.72 506.50 4 20.13 12.87 78.58

(S2.D.1.a) 56 63.72 134.03 4 20.13 2.48 78.72

(S2.D.1.b) 49 55.26 504.95 11 27.97 103.62 69.08

(S2.D.1.c) 55 61.00 345.81 5 22.64 32.87 75.39

(S2.D.2) 55 58.29 1457.43 5 25.16 62.05 72.28

Table 8Strategies used to evaluate the impact of

the strategies of class PLAC.

GRP SEL EVAL

(G1)–(G7) (S2.D.2) (E1)

Table 9Evaluating the impact of the strategies of class PLAC (Part I: average results).

PLAC HIDE 1 HIDE 2

Pieces Usage t Pieces Usage t Rem.

(P1) 55.00 72.10 11375.60 5.00 12.35 436.81 85.33

(P2) 54.14 70.10 1996.99 5.86 14.21 89.09 83.47

(P3) 54.57 70.93 1648.13 5.43 13.44 101.39 84.44

(P4) 53.43 68.07 699.26 6.57 15.43 89.66 82.13

(P5) 54.00 67.32 3566.73 6.00 16.79 667.53 80.84

(P6) 54.43 68.87 978.37 5.57 15.53 113.81 82.08

(P7) 54.43 71.46 3238.11 5.57 12.95 484.37 84.36

(P8) 53.67 70.78 4528.16 6.33 13.21 626.98 83.97

(P9) 54.00 71.18 7131.46 6.00 13.21 475.41 84.08

(P10) 54.43 71.46 4947.73 5.57 12.95 721.82 72.93

(P11) 54.29 71.09 5990.63 5.71 13.29 492.42 83.91

(P12) 54.43 71.46 4465.82 5.57 12.95 697.56 72.93

Table 10Evaluating the impact of the strategies of class PLAC (Part II: best and worst

solutions).

Solutions PLAC Hide 1 Hide 2

Pieces Usage t Pieces Usage t Rem.

Best

solutions

(P1) 55 72.10 11,375.60 5 12.35 436.81 85.33

(P2) 55 73.58 1305.36 5 10.98 41.23 87.13

(P3) 55 71.96 1559.61 5 12.49 62.85 85.38

(P4) 56 71.62 901.81 4 12.80 33.67 85.22

(P5) 54 71.79 1942.07 6 12.64 731.96 84.77

(P6) 55 71.36 574.91 5 13.05 65.93 85.37

(P7) 55 72.34 6601.14 5 12.14 625.06 84.96

(P8) 55 72.10 4872.39 5 12.35 579.64 85.34

(P9) 55 72.10 4972.20 5 12.35 428.40 85.34

(P10) 55 72.34 10,076.90 5 12.14 940.56 84.96

(P11) 55 72.34 7495.32 5 12.14 611.85 84.96

(P12) 55 72.34 9384.27 5 12.14 874.22 84.96

Worst

solutions

(P1) 55 72.10 11,375.60 5 12.35 436.81 85.33

(P2) 53 67.86 2253.33 7 16.29 127.27 80.87

(P3) 55 69.82 1074.69 5 14.47 58.84 83.90

(P4) 56 63.72 880.92 4 20.13 27.74 78.32

(P5) 55 58.29 7242.62 5 25.16 323.70 73.89

(P6) 55 65.74 1545.57 5 18.25 255.05 79.67

(P7) 53 69.72 2406.77 7 14.56 557.47 82.42

(P8) 52 68.53 4416.73 8 15.73 655.55 82.11

(P9) 53 69.72 7878.98 7 14.56 567.17 82.42

(P10) 53 69.72 3659.12 7 14.56 831.60 82.42

(P11) 54 68.13 4472.97 6 16.04 353.24 81.29

(P12) 53 69.72 3389.72 7 14.56 809.26 82.42

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–1505 1499

that are better than the one given by (S2.D.2). From these results,it seems to be clear that (S2.D.1.b) is the less efficient among allthe strategies of the class SEL. On another hand, the strategies(S2.D.1.a) and (S2.D.1.c) lead to algorithms that are much fasterthan those obtained using (S1.D) and (S2.D.2). If on average thatcomes with the price of lower quality layouts, the resultsconcerning the worst solutions in Table 7 indicate that in somecases the quality of the solutions are comparable to thoseobtained with (S1.D) and (S2.D.2). In the next section, we willsee that this observation is confirmed by the computationalresults performed with the other production orders, especiallywhen a shorter time limit is imposed.

The next experiments were conducted to compare the strate-gies of the class PLAC used to select a feasible placement regionwithin the hide to place the next piece. We recall that in the caseof the strategies (S2.D.1.a–c), we do not have to select any strategyof the class PLAC since they are implicitly defined in the former.Furthermore, since on average, the strategy (S2.D.2) yielded thebest solutions in our previous experiments, and because of thelarge number of strategies in the class PLAC, we used only thisstrategy from the class SEL in the next experiments. A summary ofthe strategies used in these experiments is provided in Table 8.

A total of 84 runs were performed to evaluate the strategies(P1) to (P12) of class PLAC. The computational results of theseexperiments are reported in Tables 9 and 10.

The strategy (P1) is clearly the most time consuming among allthe strategies. This is due to the fact that all the empty spaces onthe hide are considered as a potential region where to place thepiece. In fact, only one of the seven runs where this strategy wasused completed before the time limit of 4 h. Hence, in Table 10,the best and worst solutions obtained with this strategy are infact the same solution. Nevertheless, Table 10 shows that theother strategies may lead to solutions that are competitive oreven better than the solutions generated with the algorithmsusing (P1).

If we consider the material usage achieved in the first hide, theaverage results reported in Table 9 can be divided in two groups.The solutions obtained with (P1)–(P3) and (P7)–(P12) have nearlythe same quality in terms of this criterion (more than 70% ofmaterial usage on average), while (P4)–(P6) lead to solutions witha material usage that is less than 70%. The strategies (P10) and

Page 14: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–15051500

(P12) lead to worst results in terms of the percentage of usablearea that is left on the last hide. The strategies (P4)–(P6) are betterthan the latter in terms of this criterion, but still below the resultsachieved by the remaining strategies. Concerning the computingtime required in each case, three groups of strategies emerge fromthe results of Table 9: (P4) and (P6) are the strategies that yieldthe fastest algorithms, followed by the strategies (P2) and (P3)that divide the hides in vertical strips and force the pieces to beplaced on these restricted areas of the hides. All the otherstrategies lead to algorithms that require nearly 1 h or more tobuild the layouts. Note that the results achieved with (P4) and(P6) are consistent with the results obtained in the previousexperiments with (S2.D.1.a) and (S2.D.1.c).

These observations are confirmed by the results reported inTable 10. These results show that it is possible to generate layoutswith (P4)–(P6) that are competitive with the much more timeconsuming approaches relying on the other strategies.

The final class of strategies to be evaluated was the class EVAL

that contains the functions used to evaluate the placementpositions. Note that there are 17 different evaluation functions.We recall that the functions (E12) to (E14) can be either max-imized or minimized. To restrict the number of combinations, weselected the most promising strategies identified in the experi-ments discussed above. For instance, in the class GRP, we chosethe strategy (G5). For the class SEL, we chose the strategy (S2.D.2)because it yielded the best average results, and the strategy(S2.D.1.c) because it led to the best solutions among the fasteststrategies in class SEL. Note that with (S2.D.1.c), the results givenby (E2), (E4), (E6) and (E8) are similar to those obtained with (E1),(E3), (E5) and (E7), respectively. Indeed, when the evaluationfunction is applied with (S2.D.1.c), the next piece has already beenselected, and hence, it makes no difference whether the absoluteor relative value of the function is used. With (S2.D.2), we used

Table 11Assessing the quality of the function used to evaluate the placemen

GRP SEL PLAC EVAL Hide 1

Pieces Usag

(G5) (S2.D.1.c) – (E1) 53 70.9

(E3) 53 70.4

(E5) 52 67.1

(E7) 52 67.1

(E9.MIN) 52 62.1

(E10.MIN) 53 64.4

(E11.MIN) 51 63.3

(E12.MIN) 53 65.6

(E12.MAX) 54 67.6

(E13.MIN) 54 69.7

(E13.MAX) 52 66.0

(E14.MIN) 53 67.7

(E14.MAX) 53 66.5

(G5) (S2.D.2) (P6) (E1) 55 71.3

(E2) 53 71.9

(E3) 53 70.4

(E4) 53 70.4

(E5) 53 69.7

(E6) 53 71.8

(E7) 54 70.7

(E8) 55 72.4

(E9.MIN) 53 67.1

(E10.MIN) 53 66.3

(E11.MIN) 53 67.8

(E12.MIN) 54 68.9

(E12.MAX) 52 66.3

(E13.MIN) 52 65.2

(E13.MAX) 52 67.3

(E14.MIN) 52 66.7

(E14.MAX) 52 66.3

the strategy (P6) of class PLAC because from the results of Table 9,it is the strategy that yielded the best results among the fasteststrategies in class PLAC (the average material usage on the firsthide is better than with (P4), while the average usable area on thelast hide is almost the same). Furthermore, the computing timerequired by the algorithms using the strategy (P6) is smaller than1200 s, which is the average time that a single operator of thecompany would need to fill a hide. Hence, a total of 30 runs wereperformed to compare the evaluation functions of class EVAL.

Our objective with these experiments was to evaluate theimpact of the each evaluation function of class EVAL in the qualityof the solutions for two specific versions of the algorithm: onethat yields the best results among the fastest versions of thealgorithm, and another that yields high quality results withoutdegrading too much the total computing time. The computationalresults obtained with each of these 30 runs are reported inTable 11.

The first conclusion that can be drawn from the results ofTable 11 is that the strategy (E1) leads to solutions that are thebest (or among the best) among all the strategies of class EVAL.In fact, the best quality layouts are obtained with the evaluationfunctions that rely on the computation of the offsets described inSection 4.5, which validates the quality of the approach. Thecounterpart is the computing time required by the algorithmsusing these evaluation functions. This can be explained by theneed of computing intersections between the offsets, the currentlayout and the region outside the hide. Among the strategiesrelying on offsets, the strategies (E5) and (E6) are those thatrequire more computing time. Apart from the intersectionsbetween the offsets, the layouts and the outside part of the hide,these strategies force to compute the intersection between theparts of the piece and the regions of the hide that have exactly thesame quality.

t positions.

Hide 2

e t Pieces Usage t Rem.

7 139.38 7 13.41 8.60 84.63

0 140.83 7 13.93 9.52 83.91

4 216.06 8 16.96 15.05 81.44

4 176.02 8 16.96 14.41 81.44

6 119.43 8 21.57 21.85 76.21

2 125.73 7 19.47 16.93 79.78

3 83.30 9 20.49 13.23 76.54

0 78.00 7 18.38 8.68 80.44

1 82.35 6 16.52 8.38 81.31

4 72.01 6 14.55 7.60 84.11

7 82.30 8 17.95 10.84 79.39

3 74.04 7 16.41 10.35 81.57

4 76.18 7 17.51 10.75 81.14

6 868.36 5 13.05 97.11 85.37

1 725.63 7 12.54 212.05 85.10

0 738.23 7 13.94 289.78 83.30

8 825.12 7 13.86 157.11 84.22

4 1326.25 7 14.55 333.97 84.76

6 1299.73 7 12.58 113.68 86.46

6 843.56 6 13.60 94.74 85.54

6 770.31 5 12.03 124.01 87.28

0 356.16 7 16.99 124.80 81.36

6 398.05 7 17.68 75.50 79.98

0 59.19 7 16.34 7.47 81.23

9 58.73 6 15.24 6.19 84.27

0 65.54 8 17.73 7.21 79.61

2 57.69 8 18.74 6.68 79.40

7 64.29 8 16.74 9.08 80.34

9 58.45 8 17.28 7.97 80.37

0 64.23 8 17.74 9.00 79.57

Page 15: New constructive algorithms for leather nesting in the automotive industry

Table 12Evaluating the impact of the offsets.

EVAL Offset Hide 1 Hide 2

Pieces Usage t Pieces Usage t Rem.

(E1) 1 54 68.92 153.12 6 15.30 15.54 82.78

(E1) 2 52 68.97 142.59 8 15.26 10.42 82.60

(E1) 3 53 70.51 148.77 7 13.83 9.50 84.37

(E1) 4 53 70.97 139.38 7 13.41 8.60 84.63

(E3) 1 54 71.04 137.37 6 13.34 9.03 75.54

(E3) 2 53 70.40 142.55 7 13.93 28.86 79.78

(E3) 3 53 70.40 143.40 7 13.93 28.50 79.78

(E3) 4 53 70.40 140.83 7 13.93 9.52 83.91

(E5) 1 52 66.64 199.92 8 17.42 35.51 81.14

(E5) 2 52 66.64 203.63 8 17.42 34.48 81.14

(E5) 3 52 65.87 207.17 8 18.13 17.92 79.80

(E5) 4 52 67.14 216.06 8 16.96 15.05 81.44

(E7) 1 52 66.64 175.21 8 17.42 33.77 81.14

(E7) 2 52 66.64 173.45 8 17.42 33.74 81.14

(E7) 3 52 65.87 181.23 8 18.13 17.15 79.80

(E7) 4 52 67.14 176.02 8 16.96 14.41 81.44

Table 13The 10 fastest and the 10 best combinations of strategies.

IND GRP SEL PLAC EVAL

1 (G1) (S2.D.1.a) – (E1)

2 (G5) (S2.D.1.a) – (E1)

3 (G6) (S2.D.1.a) – (E1)

4 (G1) (S2.D.1.c) – (E1)

5 (G5) (S2.D.1.c) – (E1)

6 (G5) (S2.D.1.c) – (E12.MAX)

7 (G5) (S2.D.1.c) – (E14.MIN)

8 (G5) (S2.D.1.c) – (E14.MAX)

9 (G5) (S2.D.1.c) – (E13.MIN)

10 (G5) (S2.D.1.c) – (E13.MAX)

11 (G5) (S1.D) (P1) (E1)

12 (G5) (S1.D) (P6) (E1)

13 (G1) (S1.D) (P7) (E1)

14 (G5) (S1.D) (P7) (E1)

15 (G6) (S1.D) (P7) (E1)

16 (G5) (S1.D) (P9) (E1)

17 (G5) (S1.D) (P12) (E1)

18 (G2) (S2.D.2) (P2) (E1)

19 (G1) (S2.D.2) (P7) (E1)

20 (G1) (S2.D.2) (P12) (E1)

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–1505 1501

From the second part of Table 11, we can observe that thefunctions relying on the computation of offsets and based onrelative values always improve the quality of the solutions.Furthermore, the improvements brought by the subset of func-tions (E5)–(E8) that consider explicitly the existence of qualityzones occur only when relative values are used (namely with (E6)and (E8)). Among these functions, (E7) and (E8) are those that leadto the best solutions. These functions favor the placement of thepieces in any region of the hide with a quality level lower than A.They are, in a sense, less restrictive than (E5) and (E6) since thelatter favor the placements with perfect matching between thequality zones of the piece and the hide.

The functions that are not based on the computation of offsetshad different behaviors depending on the other strategies used inthe algorithms. In the case of the combination (G5), (S2.D.2) and(P6), the results achieved with these evaluation functions werequite similar. The largest difference between the percentage ofmaterial usage achieved in the first hide was equal to 2,15%. Thisdifference is much more significant for the percentage of theusable area on the last hide. Nevertheless, with the combination(G5) and (S2.D.1.c), the differences were sometimes very signifi-cant for both these criteria.

These results seem to indicate that when the algorithm canselect the piece with the best value of the evaluation function, thespecific criterion used in this function (distance to the center or tothe border of the hide, for example) has a lower impact on thequality of the solutions. In other words, if the selection andplacement process are driven by the same criterion, there will notbe significant differences on the quality of the resulting layouts. Onanother hand, when the selection of the next piece is not based onthe value given by the evaluation function, the solutions seem to bemore sensitive to the criterion used in these functions. FromTable 11, it appears that the best solution achieved with thesestrategies is obtained with the strategy (E13.MIN) which favors theplacement of the pieces near to the lowest quality regions of thehides. The algorithms using this strategy tend to fill first the regionsof the hides where it is more difficult to place a piece (because thenumber of pieces that can be placed on them is smaller than for ahigher quality region). Note that this criterion is somehow related to(E14.MIN), which yields the second best solution among thoseassociated to this subset of strategies.

One of the clear advantages of the evaluation functions(E9.MIN)–(E14.MAX) is the low computing time required tocalculate their value. From the results reported in Table 11, wecan observe that the algorithms using these strategies can be upto 20 times faster than the algorithms using strategies based onthe computation of offsets. This behavior can be easily explainedby the simplicity of the underlying criteria.

The final set of experiments were conducted to evaluate theimpact of the size of the offsets in the quality of the solutions. Inthese experiments, we used the same strategies as those reportedin the first part of Table 11, i.e. the strategy (G5) for the class GRP

and (S2.D.1.c) for the class SEL. We selected these strategiesbecause, among the strategies that lead to the best solutions,they are also those that lead to the fastest algorithms. We recallthat, when (S2.D.1.c) is used, the evaluation functions based onrelative values lead to the same solutions as those obtained withthe functions based on absolute values. Hence, we combined theprevious strategies only with the functions (E1), (E3), (E5) and (E7)of class EVAL. To evaluate the impact of the size of the offsets, weused four different values of offsets. The results of these experi-ments are reported in Table 12. The column OFFSET identifies thesize of the offset, from the smallest with value 1 to the largestwith value 4.

The best solutions in terms of the material usage on the firsthide are obtained in most of the cases with the largest offset.

These offsets lead also to the best value of usable area on the lasthide in all the cases. This behavior can be explained as follows.A consequence of using larger offsets is that the evaluationfunctions become less sensitive to the irregularity of the contoursof both the pieces and the hides. With a small offset, it can happenthat a (potentially good) placement position has a low value ofthe evaluation function for a given piece just because the offset ofthe piece is not large enough to detect the proximity of a border(of the hide or the current layout).

Note that the results obtained when the pieces are selected inincreasing order of the value of the grouping attribute is most ofthe time worse than the results achieved by selecting the piecesby decreasing order. For the sake of conciseness, we do not reportthese results here.

6.3. Testing the performance of different combinations of strategies

In this section, we report on the results obtained in oursecond set of experiments. Our objective was to evaluate theperformance of specific versions of the algorithm obtained by

Page 16: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–15051502

combining different strategies of the classes GRP, SEL, PLAC andEVAL. For the sake of clarity, we will use the term algorithm torefer to a version of the constructive algorithm resulting from thecombination of these strategies. We selected two groups ofalgorithms based on the computational results obtained for theproduction order used in our previous experiments. These algo-rithms are described in Table 13. The first group is composed bythe 10 combinations of strategies that lead to the fastest algo-rithms. To select these algorithms, we used as a criterion thecomputing time required to build the layout on the first hide. Thesecond group of algorithms is composed by the ten combinationsthat lead to the best quality solutions in terms of the materialusage achieved on the first hide. The index of the combination isgiven in the column IND. The indexes of the fastest algorithms gofrom 1 to 10, while the indexes for the algorithms that lead to thebest quality solutions go from 11 to 20.

Table 14Computational results for Instance1 (Part I).

Order Ind Hide 1 Hide 2

Pieces Usage t Pieces U

1 1 52 69.46 92.99 8 1

2 53 69.35 85.02 7 1

3 55 66.45 95.71 5 1

4 51 68.16 96.91 9 1

5 53 70.97 100.30 7 1

6 54 67.61 82.35 6 1

7 54 69.74 72.01 6 1

8 52 66.07 82.30 8 1

9 53 67.73 74.04 7 1

10 53 66.54 76.18 7 1

12 54 72.92 305.81 6 1

13 55 72.71 588.80 5 1

17 55 72.68 549.96 5 1

2 1 52 69.01 56.63 26 5

2 54 68.88 53.09 22 5

3 55 64.94 58.30 23 5

4 51 68.93 68.50 27 5

5 52 70.47 69.20 28 5

6 49 64.01 20.86 25 5

7 50 68.78 19.14 28 5

8 50 69.09 22.01 28 5

9 49 67.58 20.27 26 5

10 47 65.31 20.14 28 5

12 48 68.68 213.27 32 5

18 49 67.19 444.05 31 6

3 1 53 70.29 97.13 27 4

2 54 69.05 90.72 26 4

3 59 69.63 100.62 21 4

4 54 70.24 114.35 26 4

5 55 72.16 105.61 25 4

6 56 70.46 58.27 24 4

7 58 72.83 53.37 22 4

8 56 71.12 56.65 24 4

9 57 71.89 52.42 23 4

10 55 68.21 54.46 25 5

12 55 72.89 301.14 25 4

4 1 71 71.18 105.48 24 5

2 71 71.18 104.99 25 5

3 76 71.50 130.16 19 5

4 68 70.25 110.43 27 6

5 68 70.29 112.24 27 6

6 73 69.42 23.39 21 5

7 67 71.62 20.84 29 5

8 72 70.93 25.09 23 5

9 69 69.89 22.96 23 5

10 71 69.89 23.46 24 5

12 71 71.21 350.44 25 5

The list of algorithms given in Table 13 confirms most of theconclusions drawn in the previous section. The combinations thatlead to the fastest algorithms rely either on (S2.D.1.a) or (S2.D.1.c),i.e. the strategies that consist in selecting the pieces based on thecharacteristics of the related IFPs, and in placing the referencepoint of the pieces on the IFP that determined the selection of thepiece. Furthermore, one of the combinations that produces thebest quality layouts uses the strategy (P6) of the class PLAC, whichconsists in placing the reference point of the pieces on the largestor smallest IFP of the piece and the hide depending on thecharacteristics of the piece. In the next results, we will see thatthis strategy yields also the fastest algorithm among the combi-nations 11–20. From Table 13, it is clear that (G1) and (G5) leadsmore often to the fastest and best algorithms. The strategies ofclass SEL that provide the best quality layouts are (S1.D) and(S2.D.2). However, there are no strategies in the class PLAC that

Hide 3

sage t Pieces Usage t Rem.

4.81 15.65 82.70

4.90 6.39 82.87

7.59 4.96 81.29

6.01 30.55 81.04

3.41 6.25 84.63

6.52 8.38 81.31

4.55 7.60 84.11

7.95 10.84 79.39

6.41 10.35 81.57

7.51 10.75 81.14

1.59 119.74 85.60

1.79 388.84 86.23

1.82 382.25 85.75

7.00 49.08 2 1.71 5.55 97.41

1.66 27.99 4 6.47 2.53 92.01

5.84 22.45 2 6.00 0.70 93.50

7.07 51.40 2 1.71 5.43 97.41

7.60 50.75 31.86

5.96 13.09 6 6.65 1.59 92.02

5.46 12.06 2 3.23 0.45 95.87

6.92 13.68 2 1.71 0.30 96.91

5.38 13.31 5 4.27 0.97 94.33

7.49 13.20 5 4.27 1.33 93.95

9.26 310.14 29.44

0.65 605.65 20.92

8.43 49.62 42.21

9.58 94.59 40.49

9.04 51.47 41.34

8.48 81.35 44.14

6.70 94.04 43.40

8.28 26.08 42.89

6.07 25.82 48.92

7.66 25.12 46.41

6.94 25.01 44.96

0.36 28.67 41.63

6.02 562.63 17.22

4.69 33.16 5 12.64 2.42 85.98

8.76 38.38 4 9.08 2.75 89.55

3.43 24.21 5 13.47 3.29 84.87

1.80 45.10 5 7.18 1.71 91.28

0.23 51.05 5 8.52 5.51 89.71

4.72 14.90 6 14.03 3.27 84.28

8.35 19.05 4 9.08 2.27 89.60

6.38 16.81 5 11.36 3.01 86.90

7.66 16.04 8 11.09 3.13 87.25

7.35 15.84 5 11.36 2.93 87.02

8.73 239.08 4 9.08 13.11 89.17

Page 17: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–1505 1503

dominate clearly the others. On the contrary, the strategy (E1)from class EVAL is always part of the algorithms that produce thebest quality layouts. In five cases, this strategy is also associatedto the fastest algorithms. In the remaining cases (5–10), thefastest algorithms are obtained with evaluation functions of class(EVAL) that do not rely on the computation of offsets.

For this set of experiments, we used the whole set of produc-tion orders described in Table 1. The maximum time limit was setto 600 s for each hide. Whenever a given algorithm fails ingenerating a layout within this time limit, the correspondingrow will be omitted in Tables 14, 15 and 16 reporting thecomputational results.

From the results of the Tables 14–16, we can observe that allthe fastest algorithms (1–10) run systematically in less than themaximum time limit. The largest computing time required togenerate a feasible layout on the first hide by one of thesealgorithms is 148.36 s for the production order 7 of Instance1.The computing time of the algorithms depends in part on thenumber of different pieces in the production orders. It increaseswith the number of different pieces because the number of NFPsand IFPs that must be computed depends directly on the numberof different pieces. For some production orders of Instance1 witheight different pieces, some algorithms can generate a feasiblelayout on the first hide in less than 20 s. This is the case, forexample, of the algorithm 7 applied on the production order 2 ofInstance1. In fact, the algorithm 7 is the fastest for 3 of the 11production orders. For the remaining eight orders, the fastestalgorithm is the algorithm 9. It is clear that the algorithms 1–5take usually more time to complete the orders than the algo-rithms 6–10. This can be explained by the fact that the latter do

Table 15Computational results for Instance1 (Part II).

Order Ind Hide 1 Hide 2

Pieces Usage t Pieces U

5 1 72 75.09 131.95 28 4

2 76 74.41 131.14 24 4

3 73 73.36 125.43 27 4

4 71 74.67 129.57 29 4

5 70 76.36 123.61 30 4

6 70 73.94 64.42 30 4

7 77 76.12 60.63 23 4

8 72 75.60 62.76 28 4

9 68 74.83 59.56 32 4

10 76 73.47 64.51 24 4

12 67 76.41 383.56 33 4

6 1 59 70.68 93.38 21 5

2 61 71.59 85.53 20 5

3 61 69.59 78.73 26 6

4 62 72.13 91.44 21 5

5 60 70.20 84.45 22 5

6 61 69.38 21.75 19 5

7 65 70.01 19.92 13 4

8 62 70.43 22.78 20 5

9 62 68.63 19.55 17 5

10 61 68.36 22.39 19 5

12 60 73.91 290.74 23 5

7 1 72 75.42 121.33 40 6

2 80 76.42 133.72 36 6

3 81 74.25 148.36 34 5

4 78 76.20 135.20 37 6

5 75 76.84 126.80 41 6

6 71 73.43 64.97 44 6

7 76 76.34 62.26 38 5

8 72 75.06 63.89 43 6

9 66 73.99 55.93 51 6

10 78 74.38 66.62 35 5

12 63 76.33 307.98 53 6

not rely on the strategy (E1) and in the computation of offsets. In asignificant number of cases, the algorithms 6–10 generate layoutsthat are also very competitive with the other fast algorithms.Hence, it is reasonable to consider these algorithms as a buildingblock for an improvement method.

Among the fastest algorithms, the best results are achievedmost of the time with the algorithm 5 that combines (G5) with(S2.D.1.c) and (E1). For seven production orders, this algorithmfinds the best solution both in terms of the material usage and theusable area left on the last hide. For the production order 2 ofInstance1, it places all the pieces in only two hides while all theother algorithms (of the group of fast algorithms 1–10) requirethree hides to fulfill the production order. The maximum comput-ing time required by this algorithm to generate a layout on thefirst hide is 126.80 s for the production order 7 of Instance1. It isimportant to note that the solutions obtained with this algorithmare competitive with those generated by the only algorithms11–20 that run within the maximum time limit for all theseproduction orders. In the production orders 2 and 7 of Instance1,the algorithm 5 generates solutions that are even better thanthose obtained with the algorithms 11–20. These results confirmthe conclusions drawn in the previous section. Indeed, thisalgorithm uses some of the promising strategies identified inour first set of experiments.

The results of Tables 14–16 show that the majority of thealgorithms leading to the best results (11–20) are usually not ableto complete the orders within the maximum time limit of 600 sper hide. The exception is the algorithm 12 that combines (G5),(S1.D), (P6) and (E1) that are able to generate feasible layoutswithin this time limit for all the production orders except for the

Hide 3

sage t Pieces Usage t Rem.

8.29 62.65 43.07

8.92 55.69 43.77

9.89 64.84 41.71

8.67 56.54 42.10

7.11 65.16 44.25

9.35 33.99 42.75

7.34 21.69 45.95

7.81 34.53 42.92

8.53 38.54 39.02

9.79 28.45 42.52

7.07 586.34 43.60

9.91 24.24 24 50.46 47.77

8.97 24.76 23 52.70 53.13

0.03 32.35 18 56.07 34.72

5.60 44.14 20 51.47 62.18

6.58 45.55 22 56.02 68.59

5.75 20.12 22 52.11 27.17

8.87 14.73 22 53.30 25.65

4.75 18.76 18 47.87 25.76

0.44 14.00 19 47.74 22.97

5.32 18.78 22 54.03 24.07

8.51 172.96 22 54.06 417.28

1.15 94.16 8 7.63 15.57 90.83

1.67 82.48 4 6.37 2.98 92.56

8.23 64.41 5 11.12 5.13 87.49

2.06 73.40 5 6.20 8.70 92.74

2.03 77.86 4 5.72 3.76 92.66

1.14 57.03 5 9.25 3.12 89.63

9.78 52.02 6 8.08 2.34 91.15

0.10 59.95 5 8.84 2.79 89.18

5.22 52.28 3 5.24 1.36 93.92

8.30 41.75 7 10.95 4.49 87.00

4.68 432.03 4 3.81 57.72 95.16

Page 18: New constructive algorithms for leather nesting in the automotive industry

Table 16Computational results for Instance2.

Order Ind Hide 1 Hide 2 Hide 3

Pieces Usage t Pieces Usage t Pieces Usage t Rem.

1 1 31 65.55 74.18 29 47.93 104.98 46.30

2 29 64.57 73.86 31 48.91 166.66 44.12

3 34 66.25 88.22 26 47.23 71.25 48.25

4 31 66.85 103.41 29 46.63 85.19 50.92

5 35 70.20 106.14 25 43.28 73.09 54.13

6 32 67.09 62.73 28 46.39 35.33 49.96

7 34 68.12 61.70 26 45.37 32.79 52.44

8 31 66.88 55.68 29 46.60 37.33 48.26

9 34 68.96 54.93 26 44.52 37.43 50.94

10 32 67.28 65.13 28 46.21 34.43 50.74

12 34 71.34 320.63 26 42.15 392.96 55.67

2 1 35 66.67 50.51 35 61.09 90.05 10 11.84 68.01 86.51

2 36 67.88 50.47 32 58.98 90.23 12 12.74 27.67 85.19

3 34 65.94 61.32 35 59.26 117.42 11 14.40 53.32 83.38

4 35 67.99 82.71 34 59.52 114.92 11 12.09 124.20 85.88

5 36 67.54 80.68 30 57.15 117.53 14 14.92 40.40 82.74

6 32 63.62 33.11 34 61.76 26.05 14 14.22 9.08 83.10

7 35 66.06 32.79 32 59.83 25.45 13 13.71 6.30 84.45

8 33 65.71 29.54 33 59.03 26.07 14 14.86 7.45 82.18

9 32 65.51 28.76 36 61.34 27.13 12 12.74 6.14 84.75

10 32 64.19 34.48 34 60.61 35.86 14 14.80 6.99 82.91

12 35 70.23 286.11 40 65.30 587.86 5 4.07 43.71 94.61

3 1 30 65.33 74.77 38 66.83 72.90 12 13.71 14.13 84.27

2 28 64.29 74.55 38 67.04 83.92 14 14.54 37.97 82.37

3 35 66.91 94.85 35 62.28 68.99 10 16.68 7.79 82.12

4 28 67.78 109.64 36 66.17 115.22 16 11.92 16.53 85.40

5 31 70.27 109.60 37 65.72 113.85 12 9.88 12.85 88.05

6 30 66.82 65.25 37 64.62 48.40 13 14.43 13.96 82.31

7 31 67.31 64.53 36 65.09 55.99 13 13.47 13.41 84.99

8 31 68.60 59.02 40 67.78 58.58 9 9.48 6.79 89.21

9 29 66.73 57.72 36 64.94 51.24 15 14.20 14.53 83.72

10 32 67.10 64.35 35 66.49 57.10 13 12.28 12.77 85.57

12 32 70.65 320.33 37 68.31 363.32 11 6.91 209.02 91.51

4 1 29 65.97 72.80 40 65.35 113.28 31 32.50 298.77 63.72

2 28 64.59 73.01 40 65.35 119.87 32 33.88 174.26 61.62

3 35 66.25 100.02 37 64.34 111.36 28 33.22 41.73 63.95

4 28 67.78 103.21 42 66.98 146.25 30 29.06 303.25 68.02

5 31 70.27 104.20 43 67.17 150.14 26 26.38 128.54 71.25

6 30 66.25 64.88 40 67.86 67.59 30 29.71 43.14 64.56

7 31 66.70 61.84 41 67.14 64.91 28 29.98 36.24 67.60

8 31 68.60 56.71 39 66.61 71.00 30 28.61 42.86 66.56

9 29 66.26 54.62 41 66.90 64.64 30 30.67 44.61 65.94

10 31 66.16 63.89 38 64.73 66.84 31 32.93 43.63 62.67

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–15051504

order 4 of Instance2. Using the strategy (P6) for selecting thefeasible region where to place the next piece restricts the set ofplacement positions that have to be inspected. The criterion usedto select this feasible region relies on the characteristics of theIFPs of the piece and the hide. It was defined and implementedunder the assumption that it could be a good indicator of howgood a piece will fit in the region. When combined with (S1.D), itallows to achieve high quality solutions without degrading toomuch the computing time required to generate them.

The algorithm 12 generates the best solutions in terms of thematerial usage on the first hide for seven production orders. Itgenerates the best solution in terms of this criterion and theusable area left on the last hide for four production orders.However, in all the cases, the total computing time needed tocomplete an order is greater than any of the other algorithms thatrun within the time limit. In most of the cases, the computingtime needed to fill the second hide is greater than the timeneeded for the first hide. Although the grouping strategy (G5)relies on the value of the pieces, and takes into account both itsarea and quality zones, the smallest pieces of the productionorders will be placed typically at the end. When one of these

pieces is to be placed on the second hide, it is not infrequent thatthere is still plenty of empty space on the hide. In that case,restricting the feasible placement region to a specific IFP may notreduce significantly the set of feasible placement positions.In our experiments, the time required to fill the third hide isnot very high compared to the other hides because, in most of thecases, only a few pieces remain to be placed at this stage.The exception is the production order 6 of Instance1. Apart fromthis increase in the computing time, we can also observe adecrease in the material usage achieved on the second hide(specially, when the second hide is not the final hide like in theproduction orders 2, 4, 6 and 7 of Instance1 and the orders 2–4 ofInstance2). This behavior occurs with all the algorithms, and itcan be explained by the reduction in the number of differentpieces and the consequent reduction in the number of possiblearrangements.

From these experiments, we can conclude that the best compro-mise between the required computing time and the quality of thesolutions can be achieved by considering the strategies defined inthis paper that relies on the characteristics of the IFPs either to selectthe next piece and restrict its placement positions or only to select

Page 19: New constructive algorithms for leather nesting in the automotive industry

C. Alves et al. / Computers & Operations Research 39 (2012) 1487–1505 1505

the feasible placement region. Furthermore, the results are alreadyvery competitive with those generated by the operators of thecompany. A strong constraint that applies in this specific contextis the limit on the computing time of the algorithm which isdetermined by the production cycles of the company. Our first setof experiments showed that it may be possible to improve thequality of the solutions by choosing other strategies such as (S2.D.2),but at the expense of a non-negligible increase in the total comput-ing time.

7. Conclusions

The general LNP is clearly one of the most challenging two-dimensional cutting stock problems found in industry. Despiteits practical relevance, very few approaches were described inthe literature to solve this problem. Even those that addressthis problem consider in practice some additional simplifyingassumptions and constraints.

In this paper, we addressed the general LNP considering thereal case of a multinational company that produces car seatsfor the automotive industry. We described a large set of newconstructive algorithms, and we report also on the first set ofextensive computational experiments for this problem. Ourexperiments show that using some original strategies proposedin this paper to guide the nesting algorithm can lead to verypromising results. This is the case for example of the strategiesbased on the information provided by the IFPs.

Acknowledgments

This work was partially supported by the Algoritmi ResearchCenter of the University of Minho for Claudio Alves and Jose

Valerio de Carvalho, by the Portuguese Science and TechnologyFoundation through the doctoral grant SFRH/BDE/15650/2007 forPedro Bras and through the research grant UMINHO/BII/183/2009for Telmo Pinto. It was developed in the Systems Engineering,Optimization and Operations Research Group.

The authors would like to thank the anonymous referee for hisconstructive comments, which helped improving the quality ofthe paper.

References

[1] Art R. An approach to the two-dimensional, irregular cutting stock problem.Technical Report 36.008, IBM Cambridge Centre; 1966.

[2] Babu A, Babu N. A generic approach for nesting of 2-d parts in 2-d sheets usinggenetic and heuristic algorithms. Computer-Aided Design 2001;33(12):879–91.

[3] Bennell J, Dowsland J, Dowsland K. The irregular cutting-stock problem—anew procedure for deriving the no-fit polygon. Computers and OperationsResearch 2001;28:271–87.

[4] Bennell J, Oliveira J. The geometry of nesting problems: a tutorial. EuropeanJournal of Operational Research 2008;184(2):397–415.

[5] Crispin A, Clay P, Taylor G, Bayes T, Reedman D. Genetic algorithm codingmethods for leather nesting. Applied Intelligence 2005;23(1):9–20.

[6] Ghosh P. An algebra of polygons through the notion of negative shapes.CVGIP: Image Understanding 1991;54:119–44.

[7] Heistermann J, Lengauer T. The nesting problem in the leather manufacturingindustry. Annals of Operations Research 1995;57:147–73.

[8] Hopper E, Turton BCH. A review of the application of metaheuristic algorithmsto 2d strip packing problems. Artificial Intelligence Review 2001;16(4):257–300.

[9] Lee W, Ma H, Cheng B. A heuristic for nesting problems of irregular shapes.Computer-Aided Design 2008;40:625–33.

[10] Wascher G, Haußner H, Schumann H. An improved typology of cutting andpacking problems. European Journal of Operational Research 2007;183:1109–30.

[11] Yuping Z, Caijun Y. A generic approach for leather nesting. In: Fifth interna-tional conference on natural computation, vol. 5; 2009. p. 303–7.

[12] Yuping Z, Shouwei J, Chunli Z. A very fast simulated re-annealing algorithmfor the leather nesting problem. International Journal of Advanced Manu-facturing Technology 2005;25:1113–8.