## Serviços Personalizados

## Journal

## Artigo

## Indicadores

- Citado por SciELO
- Acessos

## Links relacionados

## Compartilhar

## Pesquisa Operacional

##
*versão impressa* ISSN 0101-7438*versão On-line* ISSN 1678-5142

### Pesqui. Oper. v.20 n.2 Rio de Janeiro dez. 2000

#### http://dx.doi.org/10.1590/S0101-74382000000200007

THE SEQUENTIAL VALUE CORRECTION METHOD FOR THE TWO-DIMENSIONAL IRREGULAR CUTTING STOCK PROBLEM

**M.A. Verkhoturov O.Y. Sergeyeva **Ufa State Aviation Technical University

Ufa, Russia

Abstract

This paper regards the problem of the two-dimensional *irregular cutting stock problem* (ICSP), where the pieces to be cut out may be of any shape. *The sequential value correction method* has been developed to solve this problem. This method is based on *dual values* (variables), which is the essential concept of linear programming. We suggest a technique of value calculation for such pieces. The algorithms are included. We also describe a computing experiment whose results are the evidence of the good performance of the algorithms developed.

**Keywords:** irregular cutting stock problem; nesting; heuristics; hodograph.

1. Introduction

The two-dimensional irregular cutting stock problem may be applied in a number of industries, including clothing industry, shoe-leather cutting, furniture industry, aerospace industries, machine-building, etc. The problem under investigation is as follows: a set of *2D*-*pieces* of irregular shape is to be placed on a given area of a *stock-material* with minimum of *trim-loss*. The most common technological limitation here concerns permissible rotation angles of the pieces. Permissible placement of wanted pieces on stock-material is called *cutting pattern*. The cutting pattern has no overlaps of the pieces and meets all technological requirements. The quality of a cutting pattern is determined by the *cutting ratio*,which is defined as the ratio between the total area of the placed pieces and the total area of the stock-material.

See Figure 1 for the classification of solution methods.

The method based on approximation and decomposition is a widespread solution method for complex problems in many fields of knowledge. This method reduces the problem to solution of one or, sequentially, several simple problems. This method can be used for solving ICSP as well. The simplest method here is approximation of every piece (or several pieces) from the initial set by a geometrical object (objects) which can be easily placed on the stock-material without overlapping, Adamovicz & Albano (1976).

This method appears rather effective for ICSP with pieces similar to those simple geometrical objects for which these problems can be easily solved by exact and fast methods now existing.

However, most of the real-world ICSP deal with pieces of arbitrary configurations. In this case, there are substantial material wastes and the method in question is not always effective.

Problems of this class are generally solved based on the actual shape of pieces. The principal classification of solution methods for such problems is done with respect to the optimization degree. The problems class is regarded as *NP*-*hard*. If rotation of pieces is forbidden, we may solve ICSP by global optimization methods. However, even for this problem the exhaustive search appears too involved to yield exact solution within acceptable time. These methods are therefore mainly a theoretical achievement.

For real-world tasks, *approximate* and *heuristic* methods are used, which are both most wide-spread and most intensively developed.

*Exact methods* are based on *linear programming *concepts and methods, Novogilova (1988), Milenkovic (1996).

In *approximate methods*, both *linear programming* methods and *non-linear programming *methods, Ivanov (1993), may be used. These help to find local optima and to arrange among exhaustive search of extreme values of the goal function.

Another set of methods for approximate solution contains heuristic algorithms. These methods search for admissible (near-optimal) cutting patterns. They are well-established solution methods for *NP*-*hard *problems, Papadimitriou & Steiglitz (1985). Their distinctive feature is that at each simple step they operate as a rule individual pieces (*piece-by-piece placement method)*, transforming their geometry. These transformations may be of two types:

Arbitrary shiftsandrotationspermitting overlap of pieces;

Shift transformationof pieces, for which a piece, at each subsequent point of the path, remains contiguous with pieces formerly placed and/or stock-material (these transformations are based on the notion ofhodograph, Stoyan & Gil (1976)).

Among the variety of heuristic methods note the most frequently used meta-heuristic methods such as *"simulated annealing" (SA) *(e.g., Heckmann & Lengauer (1995)),* "genetic algorithm" (GA), "tabu search" (TS)* (e.g., Blazewicz *et al.* (1993)) and *special heuristics *(e.g., Verkhoturov (1997)).

The present paper discusses the method of *piece-by-piece placement,* based on the notion of *hodograph*, combined with the method of* sequential value correction*.

2. Problem Formulation

We have the *stock-material* *W* and the set of *2D*-*pieces*, *P* = {*p*_{1},
,*p _{n}*}. Denote the arbitrary fixed point on the piece

*p*as the

_{i}*center*

*c*.

_{i}*The cutting pattern*is the mapped stock-material

*W*with pieces

*p*,

_{i}*i*= 1, ,

*n*that satisfy the following conditions:

Let *S*(*x*) be the *area* of the piece *x*. It is also assumed that

Divide the cutting patterns into two parts: the *part* *U* and its *occupied part* *Q*, so that *Q* = *W* \ *U*. Distribute the *trim-loss* *H *of *Q* among the pieces *p _{i}*,

*i*= 1, ,

*n*and the outside ,

*i*= 0 of the

*stock-material*into parts

*y*,

_{i}*i*= 0,1, ,

*n*such that the following conditions (Figure 2):

are satisfied.

The *goal function* is described by:

.

Our aim is to minimize the trim-loss of the *stock-material.*

The quality of the cutting pattern is determined by the *a* *cutting* *ratio K _{p}*

_{ }:

where

In order to place the piece *p _{i}* in

*W*

_{ }

*,*we use the above-mentioned notion of

*hodograph*(Figure 3).

Under *the hodograph* *G _{ij}(*q

*q*

_{i},*of the piece*

_{j})*p*with respect to the piece

_{i}*p*we understand such a set of positions of the center

_{j}*c*in the piece

_{i}*p*rotated at an angle q

_{i}*, for which the pieces*

_{i}*p*and

_{i}*p*do not intersect in their inner points; note that the piece

_{j}*p*is rotated at an angle q

_{j}*to satisfy that*

_{j}*Minkowski operations*, Serra (1982), allow us to define the *hodograph G _{ij}(*q

*q*

_{i},*as*

_{j})is the *Minkowski sum *of two sets, *A *and *B;*

is the *Minkowski difference;*

is the set complement of *A *to R^{2}*;*

is the mapping of the set *A *relative to the origin of axes.

For the piece *p _{i}* rotated at an angle of q

*, the hodograph relative to the stock-material*

_{i}*W*is determined in a similar manner:

Generally, the *hodograph* may consist of several parts (see Figure 3), and incorporate separate segments or their aggregates (given dense nesting), as well as separate points.

3. Representation of Information and Model Hodograph

In order to describe the pieces and the stock-material, we resort to our earlier suggested method of *discrete-logic representation *and* chain encoding*, Verkhoturov (1992). This method is essentially multi-stage approximation (see Figure 4). The first stage involves a polygonal approximation of the piece contour represented by linear and arc segments. Next, the polygon is approximated by another polygon whose tops have integer coordinates. At the last stage, the polygon with integer coordinates is replaced by chain codes (four- or eight-connected, Pavlidis (1982)). Chain encoding facilitates construction of the hodograph since all calculation is in fact cut down to *logical operations* over nulls and units. This is especially important when using a computer.

These questions are considered in the article, Verkhoturov & Sergeyeva (1992, 1996), more detailed.

4. Method of Sequential Value Correction

At present, no exact algorithms of polynomial complexity exist for NP-hard problems. The method of SVC has been effectively used as the ground for building approximate polynomial solution algorithms for some NP-hard cutting and packing problems, Mukhacheva & Zalgaller (1993). It has also been chosen to solve a sub-problem of the external optimization level, namely, that of the order of sequence of the pieces to be arranged, and the problem of 2-D pieces packing.

First, we focus on the values properties and the principles of SVC.

Based on a certain permissible cutting pattern, we calculate the *material consumption rates* for each piece and assume them to be the *values*, . These values are fully consistent within the problem formulation. Their role is analogous to that of *dual variables* in linear programming problems as they serve to test the permissible cutting pattern for optimality, and also to generate new cutting patterns. The method proposed is an iteration process that at each step recalculates the values to fit each next cutting pattern. The values allow us to determine the exhaustive search order for combinations of pieces; the search is done according to the priority list wherein pieces have been arranged in the order of decrease of *specific values* . This method was developed by the students of Prof. E. Mukhacheva and was applied to guillotine cutting optimization under the name of SVC.

The SVC method was further used for solving rectangular and parallelepiped packing problems.

The effective value-based optimization formalism may also be applied to pieces of irregular shape. In this case, as with integer linear cutting, the physical meaning of dual variables must be taken into account. In what follows, we consider the calculation method for pieces values and the optimization schemes based on the above ideas.

Suppose we have a cutting pattern with a trim-loss *H *(see Figure 5). This cutting pattern contains a set of pieces, , and a set of unoccupied parts (trim-loss), (*n=6, m=8* in Figure 5). *s _{v} *and

*l*(

_{v}*v = {i,j}*) are the area and the perimeter of the

*i-th*piece or the

*j-th*unoccupied part, respectively. It is convenient to regard the outside of the area as an earlier arranged piece with subscript "

*0*". It is also assumed that . We must cut

*m*unoccupied parts

*h*into

_{j}*(n+1)*values

*y*between

_{i}*n*pieces

*p*and the outside of the placement area, .

_{i}

Let *I ^{ j} *Ì

*I È*{0} be the set of pieces that define the

*j-th*unoccupied part and

*l*a segment of the perimeter pertaining to the

_{i }*i*-

*th*piece,

*i Î I*. The value

^{ j}*y*, is then determined as:

^{}_{i}The essence of the formula is that the value of piece *y ^{}_{i}* is equal to its area

*s*plus: from the area of each unoccupied part

_{i}*s*around the piece

_{j}*p*, such part is taken that is proportional to the segment of the perimeter of the unoccupied part, which is formed by the piece .

_{i}Consider now the procedure for determining every next piece to be arranged. Let *Q(I ^{ 0})* be a partial cutting of pieces in a set

*I*. We assume that the position of each piece to be arranged with the fixed angle q

^{ 0}*in the cutting area,*

_{k}*i Î I*\

*I*(

^{ 0}*X,Y*being the pole coordinates), is uniquely defined by the hodograph modeling procedure. The number of permissible rotations is fixed at

*w*which is the multiple of

The placement of the piece *i Î I *\ *I ^{ 0}* leads to

*m*new unoccupied parts, , and

_{i}*r*edges, , shared by the piece

_{i}*i*with the packed part of the area (see, for instance, the placement of the piece

*p*in Figure 6, where we have

_{4}*m*= 2 for and , and

_{4}*r*= 2 for and ). Let

_{4}*I*Ì

^{ j}*I*È

^{ 0}*{i,0}*be a set of pieces that define the area

*j*(for

_{ Î }{1,...,m_{i }}*j=1 – I*=

^{ 1}*{1,2,4}*) and

*I*Ì

^{ e}*I*È

^{ 0}*{i,0}*) a pair of pieces that define the edge

*e*

_{ }_{Î }

*{1,...,r*(for

_{i}}*e=1 – I*)

^{ 1}={0,4}*.*Then for each next piece to be placed, the value of

where *l _{e} *is the

*L*edge length, is calculated for all unplaced pieces

^{i}_{e}*i*Î

*I*\

*I*with the fixed rotation angle

^{0}*k=0,...,w-1*.

The next piece to be placed, *i, *is chosen such that the angle q* *corresponds to the maximum value of . This is analogous to the choice of a piece with such a rotation angle that, being placed in the placement area, this piece (i) forms *m _{i}* unoccupied areas

*h*, each of which encompasses a set of such

^{i}_{j }*I*pieces that have had large values at the previous iteration (the 1

^{ j}^{st}item in (2)); (ii) has larger

*l*

_{e}_{ },

*r*that share rib parts with surrounding pieces (the 2

_{i}^{nd}item in (2)) and (iii) forms unoccupied areas

*h*

^{i}_{j}_{ },

*j Î {1,...,m*with minimum total area (the 3

_{i }}^{rd}item in (2)).

5. Algorithms

The *SVC-*method algorithm may be represented as three algorithms: the outer (*SVC*) and the inner (*Pattern Cutting* and *FFD*) algorithms.

*SVC*__ Algorithm__

__ Generate__ the initial cutting pattern

*M*with

_{1}*H=H*

_{1}. (

*FFD*Algorithm).

k: =1;s;^{min}: = S(H_{1})M^{opt }: =M_{1}

__ Analyze__ the obtained cutting pattern

*M*

_{1} * while *"

*Condition of algorithm continuation"*=

**TRUE**

*do*

{

valuesCalculatey^{'}_{i },iÎ Iaccording to (1).

k: =k+1.

Generatek-thcurrent cutting patternM(Algorithm_{k}Pattern Cutting).

ifS(H_{k})<s^{min}then{M^{opt }: = M_{k};s^{min }: = S(H_{k}).}

}

*FFD*__ Algorithm__

__ Formation__ of the priority list

*PL[n]*with decrease of the areas of pieces

**for ***i : =1 to n do*

{

l¥_{min }: =.

forz : = 0to(w-1)do

{

Hodograph modelingPL[i]-th piece and selection of its point(Xmin, Y).

ifl_{min}> X_{min}then{lq_{min}: = X_{min }; Y' := Y_{ }; i : = PL[i]_{ }; : =q_{z }.}

}

the pieceInsertiwith the angle of rotation qinto the point (l) of pattern._{min},Y'^{ }

}

Algorithm *Pattern Cutting *generates a new cutting pattern based on the calculated piece values:

*Pattern Cutting*__ Algorithm__

*I={1,...,n}* is a set pieces.

*I ^{0 }*

^{Í }

*I*is a set of placed pieces.

I^{0 }: = Æ .

* while I *\

*I*Æ

^{0}¹

*do*

{

forz:=0to(w-1)do

{

of theHodograph modelingi-thpiece and selection, according to some criterion, of one of its points (X, Y) (e.g., withX = Xmin).

by (2).Calculate

}

the pieceInsertiwith the angle qinto the pattern.

I:=^{0 }I^{0 È }{ i}

}

6. Experimental Results

35 examples of cutting problems taken from literature and practice were used to evaluate the efficiency of algorithms. The *SVC* algorithms were compared with one another and also with two additional algorithms of *random search* (randomly generated sequence of pieces on the priority list) (*RS*) and *fixed PL evaluation* (with pieces put on the list in the order of *specific value* decrease) (*FPL*). Experiments were conducted on an IBM PC Pentium100 MHz. The results were assessed after 100 iterations for *RS* and *FPL*, and after 40 iterations for *SVC*.

Comparison of *SVC* with *RS* and *FPL* algorithms gives us the following results. Solutions produced by *SVC* were better in 93% examples as compared with RS, and 89% examples as compared with *FPL*.

The temporal characteristics of algorithms are presented in Table 1.

Some more examples of algorithms taken from literature were also used for comparison.

The method called* tabu search *(*TS*) was proposed by Blazewicz *et al.* (1993), for calculating efficient packing of 2-D pieces, and calculation results were reported. We used many examples reported by these authors for comparison of *SVC* with *TS* and also with the hodograph algorithm (*Hdg*)*,* proposed by Heckmann & Lengauer (1998). Results of comparison are given in Table 2. *K _{p}* stands for the cutting ratio (per cent),

*T*is the count runtime (

*s*) until a better solution is produced.

*TS*and

*SVC*calculations were done on an IBM-PC while R. Heckmann employed the SPARC-ULTRA workstation. The table shows that solutions generated by

*SVC*are practically always better than those by

*TS*, but 1.7% worse than those by

*Hdg*.

7. Summary

The paper investigates the possibilities for adapting the method of sequential valuecorrection to irregular cutting stock problems. This method proves competitive for linear and rectangular cutting problems. It is used for solving ICSP in combination with geometry transformation modeling method based on the hodographnotion. The idea of evaluation is analogous to that of dual values found in linear programming problems; in cutting problems, dual values denote material consumption rates per detail. We suggest the method of values count for irregular *2-D* pieces. This method underlies the algorithm generated for the *SVC*-method. *SVC* as applied to ICSP gives up the fixed priority list used in linear and rectangular CSP in advantage of the greedystrategyof its formation. The methods proposed are compared with the priority list formation methods based on the randomand fixed-in-the-order-of-values-decrease principles, as well as with the tabu searchmethod by J. Blazevicz and the hodographmethodby R. Heckmann.

The quality of the results obtained by the methods based on the notion of hodograph depends to a large degree on the manner of its construction. In this paper, we employ the procedure based on representation of piece contours in the form of chain codes. The yield greatly depends on the level of approximation accuracy. The higher the discretization step, the better the quality of the yield is. We further intend to study this dependence in more detail. It also appears promising to investigate the approximation accuracy dependence of the count time and to develop a selection procedure for the best accuracy approximation.

References

(1) Adamovicz, A. & Albano, A. (1976). Nesting two-dimensional shapes in rectangular modules. *Computer Aided Design*, **8**, 27-33. [ Links ]

(2) Blazewicz, J.; Hawryluk, P. & Walkowiak, R. (1993). Using a tabu search approach for solving the two-dimensional irregular cutting problem. *Annals of OR*, **41**(1-4), 313-325. [ Links ]

(3) Heckmann, R. & Lengauer, T. (1995). A simulated annealing approach to the nesting problem in the textile manufacturing industry. *Annals of Operations Research*, **57**, 103-133. [ Links ]

(4) Heckmann, R. & Lengauer, T. (1998). Computing closely matching upper and lower bounds on textile nesting problems. *European Journal of Operational Research*, **108**, 473-489. [ Links ]

(5) Ivanov, G.A. (1993). Flat geometric object allocation projecting by non-linear programming methods: Autoref. Dissert...cand.techn.sc. – Ioshkar-Ola, 16p. [ Links ]

(6) Milenkovic, V.J. (1996). Translational Polygon Containment and Minimal Enclosure using Mathematical Programming Based Restriction. Proceedings of the 1996 ACM Symposium on the theory of Computing (STOC), May 22-24, 109-118. [ Links ]

(7) Mukhacheva, E.A. & Zalgaller, V.A. (1993). Linear Programming Cutting Problems. *International Journal of Software Engineering and Knowledge Engineering*, **3**(4), 463-476. [ Links ]

(8) Novogilova, M.V. (1988). Solution of the task of searching of a global extremum of linear function of the purpose on a structure of linear inequalities. *Kharkov*, 48p. (preprint Institute of problems of a mechanical engineering; N 292). [ Links ]

(9) Papadimitriou, C.H. & Steiglitz, K. (1985). *Combinatorial optimization*, Mir, Moscow, 512p. [ Links ]

(10) Pavlidis, T. (1982). *Algorithms for graphics and image processing*. Computer science press, 400p. [ Links ]

(11) Serra, J. (1982). *Image analysis and mathematical morphology*, Academic press, New-York, v.1. [ Links ]

(12) Stoyan, Yu.G. & Gil', N.I. (1976). *Methods and algorithms of allocation of flat geometric objects*, Naukova dumka, Kiev, 248p. [ Links ]

(13) Verkhoturov, M.A. (1992). Irregular cutting stock problem on base discrete logical representation. Thesis competing for a candidate degree of technical science, SATUU, Ufa, 147p. [ Links ]

(14) Verkhoturov, M.A. & Sergeyeva, O.U. (1996). Some specific details of the geometrical object packing realization based on chain coding. – Deciding under Conditions of Uncertainty, SATUU, Ufa, 70-78. [ Links ]

(15) Verkhoturov, M.A. (1997). Combinatorial methods and algorithms for irregular cutting stock problem. – Decision making under conditions of uncertainty (Cutting-Packing Problems), The International Scientific Collection, SATUU, Ufa, 270-283. [ Links ]