Professional Documents
Culture Documents
DESIGN
Computer-Aided Design 33 (2001) 879891
www.elsevier.com/locate/cad
A generic approach for nesting of 2-D parts in 2-D sheets using genetic
and heuristic algorithms
A. Ramesh Babu, N. Ramesh Babu*
Manufacturing Engineering Section, Department of Mechanical Engineering, Indian Institute of Technology, Madras 600 036, India
Received 25 November 1999; revised 14 July 2000; accepted 31 July 2000
Abstract
In this paper, a genetic and heuristic approach is proposed for the nesting of multiple two-dimensional (2-D) shaped parts in multiple 2-D
shaped sheets with the aim of minimizing the wastage of the sheet material. The paper proposes a new method of representing the sheet and
part geometries in discrete form to arrange the parts on the sheet quickly, irrespective of the complexity in the geometry of the sheets and
parts. The proposed heuristic approach considers the sheets and parts in a sequential manner and arranges the parts on the sheets using the
bottom-left strategy. The genetic algorithm generates the best sequence of the sheets and parts for nesting the parts on multiple sheets,
utilizing the sheet material optimally. The effectiveness of the proposed approach is shown by comparing the results obtained with the present
approach to those obtained with the approaches proposed by Jakobs (Eur J Oper Res, 88 (1996) 165), Ramesh Babu and Ramesh Babu (Int J
Prod Res, 37(7) 1999 1625), and Jain and Chang (Engng Comput, 14 (1998) 206). The generic nature of the present approach is illustrated by
considering a variety of parts, ranging from a simple rectangular shape to a highly irregular shape, in different combinations with or without
grain orientation constraint, apart from nesting of multiple irregular shaped parts in multiple sheets of complex geometry. q 2001 Elsevier
Science Ltd. All rights reserved.
Keywords: Nesting; Genetic algorithm; 2-D cutting
1. Introduction
In the present manufacturing scenario, cutting of twodimensional (2-D) shaped parts from 2-D sheets, with a
minimum wastage of material, is an important task. The
task of arranging the parts on the sheet, known as nesting,
is being attempted by several researchers employing several
methods and implementing them using digital computers.
While developing the nesting methods for a given set of
parts and sheets, one should consider certain geometrical
and technical aspects. The geometry of the parts to be cut
may vary from a simple rectangular shape to a highly irregular one. In the case of irregular parts, the geometry may
contain a straight line and curvilinear features. Further, 2-D
parts may also contain internal features (either holes or
cutouts) being regular or irregular in geometry. In a similar
manner, the geometry of the sheet material can vary from
regular to irregular shapes with or without defective regions.
The defective areas on the sheet material are nothing but the
defects on certain naturally occurring materials like granite,
* Corresponding author. Tel.: 191-44-4458540; fax: 191-44-2352545.
E-mail addresses: a_ramesh_babu@hotmail.com (A. Ramesh Babu),
nrbabu@acer.iitm.ernet.in (N. Ramesh Babu).
wood, etc. and certain sheets produced by different manufacturing processes. While nesting the parts in sheets it is
essential to avoid these regions.
Apart from the geometry of the sheets and parts, several
technical aspects such as the cutting process employed, the
nature of application of parts for further processing, such as
bending, impose certain constraints in generation of nested
pattern. Based on the cutting process employed, various
cutting allowances, such as bridge width in press working
operations and kerf width in unconventional cutting
processes, should be included in the actual geometry of
the parts considered for nesting. In certain applications, it
is important to consider the direction of grain orientation
while nesting the parts in the sheets.
By considering these aspects, several researchers attempted
to develop methods for nesting of different shaped parts in
different shaped sheets. Nesting of rectangular shaped parts
in rectangular sheets is quite an easy task in view of the geometry being simple. Different mathematical techniques such
as dynamic programming [1], integer programming [5] and
integer linear programming [16,18] were employed for the
nesting of rectangular shaped parts in rectangular sheets.
These techniques are impractical and computationally
infeasible when a large number of parts are to be arranged in
0010-4485/01/$ - see front matter q 2001 Elsevier Science Ltd. All rights reserved.
PII: S 0010-448 5(00)00112-3
880
881
Fig. 1. Different mirror images of an irregular shaped part with its rotation
at 108.
882
To arrange the 2-D shaped parts with any particular orientation, on multiple 2-D sheets, with bottom-left positioning
strategy, the sheets and parts are considered in a sequential
manner. Fig. 3(a) shows the procedure followed by the
heuristic algorithm in arranging the parts on the sheet. This
procedure works based on the assumption that sufcient
number of sheets are available for the nesting of the given
parts and each part can t into at least one of the given sheets.
In order to position each part at the acceptable bottom-left
position on the sheet, the part should be located from the
bottom-left corner of the sheet. The bottom-left position
strategy ensures the arrangement of the parts in the space
available between the nested parts thus leading to close
arrangement of the parts in the sheets. For this purpose,
the staring position for each part is considered as the one
where the bottom-left corner of the imaginary rectangular
enclosure of the part coincides with the imaginary rectangular enclosure of the sheet. To arrange the parts on the
sheet, each part from its starting position moves along the
x-direction with an incremental movement at each and every
incremental position of one grid size (1 mm) in the y-direction of the sheet. This is done until the part is located on the
sheet at an acceptable position. An acceptable position of a
part on the sheet is indicated as the one where the part is
within the sheet boundary and does not overlap with the
parts nested previously. For any position of the part on
the sheet, the following scanning algorithm nds whether
the position of the part is acceptable or not.
2.3. Scanning technique
Fig. 3(b) shows the procedure adopted by the scanning
algorithm. For any position of the part on the sheet, the grid
of the part overlaps with a certain portion of the grid on the
sheet. The position of a part on the sheet is acceptable only if
all the pixels of the part with values of `0' matches exactly
with the pixels of the sheet with values of `0'. To identify
this, all the pixels of the part and pixels of the sheet in a
particular region where the part overlaps on the sheet, are
scanned. At this point, the positive values assigned to the
pixels on the part, which are incremented leftwards, help to
identify the position of the pixel on the part with `0' value
quickly. This avoids scanning of each pixel of the part and
reduces the scanning time.
The proposed heuristic approach moves each part
along the x-direction at every incremental distance in the
y-direction. The positive pixel values on the sheet, which are
883
Fig. 3. (a) Heuristic algorithm to arrange the parts on the sheet with bottom-left positioning strategy. (b) Scanning algorithm to identify the acceptance of the
position of a part for any location on the sheet.
Fig. 4. Values of the pixels on the sheet (Fig. 2(b)) after locating three parts
(Fig. 2(a)) in a sequence of part 1, part 3 and part 2.
884
885
Fig. 6. Crossover operation to change the sequence of the sheets and parts
without disturbing the orientation of the parts.
Fig. 7. Mutation operation to: (a) interchange the position of two sheets and parts separately; (b) modify the mirror image position of the parts; and (c) modify
the angle of rotation of the parts.
886
pc 1= fmax 2 fave ;
Case 2:
if fave fmax and=or fave . fi
p c k1
p m k2
where fi is the tness value of the ith string, fmax the maximum tness value in the population, fave the average tness
value of the population, and k1 and k2 are random numbers in
the range of 01.
By subjecting each string in the reproduction population
to crossover and mutation operations by choosing the above
probabilities, a new population is obtained. For each string
in this new population, the tness values are evaluated after
arranging the parts on the sheet by employing the proposed
heuristic method. Then, the initial population is treated as
the old population and the strings with low tness values in
the old population are replaced by the strings with high
tness values in the new population. The entire process is
treated as one generation. The next generation starts with
reproduction again. To arrive at an optimal solution, the
entire genetic process will be repeated for a certain number
of generations. Since the number of generations, after which
optimal/near solution is expected, varies with the number of
parts and sheets and the geometry of the parts and sheets, it
is very difcult to set any xed number of generations. Thus,
in the present work, the complete genetic process is repeated
until there is no improvement in the solution for 25 consecutive generations. Based on observations and experience,
the above value of 25 has been set. This is a more appropriate strategy to automatically terminate the genetic
process when the convergence nature of the algorithm is
slow. This strategy denitely ensures optimal/near optimal
solution quickly irrespective of the geometry of parts and
sheets, their quantity, population size, etc. At the end of the
genetic process, the string that gives out the best pattern of
nesting with maximum utilization of the sheet material is
considered as an optimal or near optimal solution.
pm 1= fmax 2 fave :
The above expressions give the values of pc and pm independent of the individual tness values ( fi) of the strings in
887
Table 1
Different rectangular shaped parts considered for nesting
Part number
Part number
Part number
1
2
3
4
5
6
7
10 15
15 10
25 10
10 15
35 10
10 30
20 10
8
9
10
11
12
13
14
15 10
25 20
20 10
35 15
5 20
10 5
5 15
15
16
17
18
19
20
25 5
15 35
10 25
35 10
10 30
5 20
Table 2
Performance evaluation of different approaches for the nesting of different rectangular parts in a single rectangular sheet
Number of rectangular parts 20 (Table 1); sheet size 80 mm 200 mm; optimal pattern height 60 mm
Jakobs approach [11]
Pattern number
Number of generations
Height of the pattern (mm)
% Utilization (rectangular boundary)
CPU time (s)
Number of times heuristic executed
Approximate number of patterns per second
Ramesh Babu and Ramesh Babu approach [15]
Pattern number
Number of generations
Height of the pattern (mm)
% Utilization (rectangular boundary)
CPU time
Number of times heuristic executed
Approximate number of patterns per second
Proposed generic approach
Pattern number
Number of generations
Height of the pattern (mm)
% Utilization (irregular boundary)
CPU time (s)
Number of times heuristic executed
Approximate number of patterns per second
1
1
100
60
,1
21
1
1
70
85.7
,1s
44
1
1
65
96
4
118
29.5
2
10
95
63.1
,1
30
2
10
65
92.3
,1s
242
2
10
65
99.48
21
804
38.2
3
100
80
75
1
120
120
4
200
75
80
2
320
160
3
261
60
100
7s
5764
823.4
3
50
65
100
122
4726
38.7
4
4237
60
100
10492
407,931
38.8
5
2,500,000
65
92.3
18,353
2,500,020
136.2
888
Table 3
Performance evaluation of different approaches for nesting of different orthogonal edged parts in a single rectangular sheet
Number of orthogonal edged parts 14; sheet size 40 mm 60 mm; optimum pattern height 20 mm
Method
Pattern
Number of generations
Pattern size (mm mm)
% Utilization
CPU time
Number of times
heuristic executed
Approximate number of
patterns per second
A
1
40 20
100
2s
43
B1
1
25 45
71.1
21 s
28
B2
10
25 40
80
3 min 32 s
154
B3
20
20 45
88.8
7 min 25 s
295
B4
100
20 40
100
34 min 6 s
1414
21.5
1.33
0.73
0.66
0.69
Fig. 8. Arrangement of different orthogonal edged parts in a single rectangular sheet with the proposed approach (Pattern A) and the Jain and Chang
[10] approach (Patterns B1B4).
889
Fig. 10. Arrangement of multiple orthogonal edged parts in multiple orthogonal edged sheets.
890
Fig. 11. Nested pattern generated on multiple 2-D sheets for multiple 2-D parts (number of parts 150, variety of parts 15).
in multiple 2-D shaped sheets with the objective of minimizing the wastage of the sheet material. With the method
proposed for representing the geometry of the sheets and
parts in discrete form, the nesting process is carried out
quickly irrespective of the complexity in the geometry of
the sheets and parts. The proposed heuristic algorithm, using
the bottom-left positioning strategy, arranges the parts, with
their orientations, on the sheets, in an effective manner.
With the help of the genetic algorithm, the best sequence
of the sheets and parts with their orientations can be
obtained for nesting the parts in an optimal manner. In the
genetic process, the crossover operator generates a new
sequence of the sheets and parts without disturbing the
orientation of the parts in strings. However, the mutation
helps to change the orientation of the parts selectively
References
[1] Beasley JE. Algorithms for unconstrained two-dimensional guillotine
cutting. J Oper Res Soc 1985;36(4):297306.
[2] Bounsaythip C, Maouche S. Irregular shape nesting and placing with
evolutionary approach. IEEE International Conference on Systems,
Man, and Cybernetics, Orlando, USA, vol. 4, 1997. p. 342530.
[3] Chambers L. Practical handbook of genetic algorithms. Boca Raton,
FL: CRC Press, 1995.
[4] Cheng SK, Rao KP. Quick and precise clustering of arbitrarily shaped
at patterns based on stringy effect. Comput Ind Engng
1997;33(34):4858.
[5] Farley AA. Mathematical programming models for cutting-stock
problems in the clothing industry. J Oper Res Soc 1988;39(1):4153.
[6] Fujita K, Akagi S, Hirokawa N. Hybrid approach for optimal nesting
using a genetic algorithm and a local minimization algorithm. Proceedings of the 1993 ASME Design Automation Conference, Albuquerque,
New Mexico, USA, vol. 65(1), September 1993. p. 47784.
[7] Goldberg DE. Genetic algorithms in search, optimization, and
machine learning. Reading, MA: Addition-Wesley, 1989.
[8] Han G-C, Na S-J. Two-stage approach for nesting in two-dimensional
cutting problems using neural network and simulated annealing. Proc
Inst Mech Engrs, J Engng Manuf 1996;210:50919.
[9] Ismail HS, Hon KKB. The nesting of two-dimensional shapes using
genetic algorithms. Proc Inst Mech Engrs, J Engng Manuf
1995;209:11524.
[10] Jain S, Chang HG. Two-dimensional packing problems using genetic
algorithms. Engng Comput 1998;14:20613.
[11] Jakobs S. On genetic algorithms for the packing of polygons. Eur J
Oper Res 1996;88:16581.
891