Irregular stock cutting system based on AutoCAD

Irregular stock cutting system based on AutoCAD

Advances in Engineering Software 42 (2011) 634–643 Contents lists available at ScienceDirect Advances in Engineering Software journal homepage: www...

1MB Sizes 0 Downloads 71 Views

Advances in Engineering Software 42 (2011) 634–643

Contents lists available at ScienceDirect

Advances in Engineering Software journal homepage: www.elsevier.com/locate/advengsoft

Irregular stock cutting system based on AutoCAD Wei-Chu Weng ⇑, Hsin-Chuan Kuo Department of Systems Engineering and Naval Architecture, National Taiwan Ocean University, Keelung, Taiwan, ROC

a r t i c l e

i n f o

Article history: Received 24 April 2011 Received in revised form 27 April 2011 Accepted 27 April 2011

Keywords: Irregular stock cutting problem Nesting Packing Bitmap representation BLF algorithm AutoCAD

a b s t r a c t This paper presents an irregular stock cutting system (NEST) developed on AutoCAD software platform. A detail description to its mechanism is included. This development is based on two known techniques: the bitmap representation to transform all shapes drawn by AutoCAD into pixel matrices before nesting, and the bottom-left-fill algorithm for nesting. The system NEST is developed for further research works on practical stock cutting problems. It provides two important parameters: one is the precision level which decides how the bitmap representation can precisely describe a shape and therefore affects the time taken by nesting procedure; the other is the unit rotation angle which make a shape self-rotates in steps with small angle and to be finally placed on sheet material with its best self-rotation angle. NEST can tightly position every shape on a sheet material and performs satisfyingly from practical view point. The nesting result is demonstrated by the original drawings of all shapes and the sheet material instead of their graphics transformed from pixel matrices. Several tests are carried out to show its performance. Ó 2011 Elsevier Ltd. All rights reserved.

1. Introduction An irregular stock cutting system (NEST) developed on AutoCAD software platform is introduced. We choose AutoCAD as the common platform for NEST system because it is one of the most popular software in most industries. NEST system is therefore developed for further research on stock cutting problem. This paper includes a detail description to its mechanism and flowchart. Several tests are carried out to show its performance. An irregular stock cutting problem is a two-dimensional problem how to place many irregular shapes together on a sheet material without improper situations so that, after cutting, the remained sheet material is as integral and large as possible. The improper situations are the full-overlap and the intersection between positioned shapes as shown in Fig. 1. This problem is usually faced in many industries such as leather, paper, sheet metals, plastics and shipbuilding. An irregular shape is a piece of plane that has irregular outline or has regular outline but with holes. One shape may have several pieces together to place on a sheet material. A nesting system needs two basic abilities: geometry identification and nesting procedure. The former is easy to human eyes but difficult for computers. Most widely-used geometric representations for identifying geometries can be roughly classified into the bitmap (BMP-rep) and the vector (Vector-rep). BMP-rep is also termed as grid approximation [1] or pixel/raster method ⇑ Corresponding author. Address: Department of Systems Engineering and Naval Architecture, National Taiwan Ocean University, 2 Pei-Ning Rd., Keelung, Taiwan, ROC. Tel.: +886 2 24622192x6030; fax: +886 2 24625945. E-mail addresses: [email protected], [email protected] (W.-C. Weng). 0965-9978/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.advengsoft.2011.04.009

[2]. Generally speaking, Vector-rep indicates other representations that use lots of vectors to record data of a geometric outline such as vertices and edges. Similar usages are adopted in the method of direct trigonometry [2] and Refs. [1,3–6]. We make a clear description about BMP-rep and Vector-rep to understand the difference in between. BMP-rep digitizes a shape into pixels and represents it by a pixel matrix. It describes not only the shape’s contour but also its inner area. In this paper, this pixel matrix is a matrix of bits 0 and 1. It defines the smallest rectangle space containing an integral geometric outline where bit 1 represents an occupied pixel and bit 0 represents unoccupied pixel. The example shown in Fig. 2 is only for demonstration although the shape is poorly represented by the pixel matrix due to low precision. The left figure shows a digitized shape where one small square is one pixel. The right figure demonstrates its pixel matrix where all partially occupied squares are denoted by bit 1. Nevertheless, partially occupied squares are denoted by bit 0 when a sheet material is represented. Vector-rep usually represents a shape’s outline with a closed clockwise/ anticlockwise path defined by a set of consecutive vectors. The contour of a shape except its inner area is described. Thus, the full-overlap situation needs additional detecting procedure. For example, as shown in Fig. 2b, the path direction of the shape’s outer contour is anticlockwise while the path direction of its inner hole is clockwise. When BMP-rep is applied, the way to detect full-overlap and intersection situations is to do the AND operation (one of Boolean operations) of the current shape’s pixel matrix and a sub-matrix. This sub-matrix is the part on the sheet material’s pixel matrix where the current shape’s pixel matrix occupies according to its

W.-C. Weng, H.-C. Kuo / Advances in Engineering Software 42 (2011) 634–643

(a) intersection

(b) full overlap

Fig. 1. Improper situations for nesting shapes.

0 1 1 0 0 0

1 1 1 1 1 0

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 0 1 0

1 1 1 1 0 0

0 1 1 1 0 0

(a) BMP-rep of a shape

(b) Vector-rep of a shape with hole Fig. 2. Geometric representations.

current position. One of improper situations is detected as long as the generated matrix by AND operation contains any bit 1. The current shape is going to try on other positions until the generated matrix contains no bit 1 s. Consequently, the current shape is positioned and the newly occupied pixels in the sheet material’s pixel matrix must be updated by bit 1. Vector-rep can accurately describes polygons and very popular for representing irregular shapes [3]. An algorithm of no-fit

(a) inner hole

polygon (NFP) is developed for Vector-rep geometries to effectively check whether two positioned shapes on a sheet material are fully overlapped or intersected. However, in Ref. [2], authors Bennell and Oliveira mentioned that NFP needs additional approaches for general non-convex shapes such as shapes with holes, shapes of interlocking concavities and jigsaw shapes as shown in Fig. 3 [1,2]. In Refs. [4–6], the additional approaches have been proposed and performed well. In Ref. [1], Burke et al. mentioned that BMP-rep was ever applied in 1991. Apparently, it took much time for nesting once because computers at that moment had poor computation capability. According to Ref. [2], Bennell and Oliveira surveyed different geometric representations associated with their intersection detections and found that these representations have their own advantages and limitations. In Ref. [7], various optimization methods were listed for their successful applications to irregular stock cutting problems. However, Hopper and Turton mentioned that it is rarely addressed to nest shapes by rotating them in steps other than 90°. BMP-rep and Vector-rep have their own advantages [1,2]. However, we are familiar with BMP-rep and then choose BMP-rep as the geometry identification of NEST system. On the other hand, a well known and the most popular algorithm is adopted as the nesting procedure in NEST, i.e. the bottom-left filling algorithm (BLF). BLF algorithm was usually applied to nesting problems no matter what kinds of geometric representation used [1,8]. As indicated in the middle figure in Fig. 4, BLF starts to stepwise position the current shape’s pixel matrix based on its left-bottom point from the most left-bottom bit 0 in the sheet material’s pixel matrix. An intersection is detected if the currently generated matrix contains any bit 1 by AND operation. It is like the crossed-oblique-lines area (several bit 1 s) shown in the middle figure in Fig. 4. Thus, the current shape’s pixel matrix is moved upward one bit 0 by one bit 0 (all bit 1 s are bypassed) along the current pixel line of the sheet material’s pixel matrix until a proper bit 0 is found for positioning the current shape without intersection. Otherwise, the current shape’s pixel matrix is moved to next pixel line right to the current one and then moved upward one bit 0 by one bit 0 again. NEST is developed by VBA (visual basic application) programming language. NEST only accepts closed graphs drawn by PLINE (AutoCAD drawing command). Users can adjust the scale between AutoCAD graphics and the corresponding pixel matrix. Under the

(b) interlocking concavities

(c) jigsaw type

Fig. 3. Difficult Vector-rep shapes for NFP.

Sheet material and the current shape

635

nesting Fig. 4. Illustration of BLF algorithm.

assigned by moving up some pixels

636

W.-C. Weng, H.-C. Kuo / Advances in Engineering Software 42 (2011) 634–643

(a) user interface

(b) demonstration of nesting result Fig. 5. NEST user interface.

consideration of efficiency, the best size of a pixel matrix is not larger than 1000 by 1000. Some advantages about NEST are summarized as below:

(1) NEST is a tiny system which contains only two files. Users can use NEST in different computer by copying instead of installation.

W.-C. Weng, H.-C. Kuo / Advances in Engineering Software 42 (2011) 634–643

(4) BMP-rep has accuracy problem in geometric representation. Thus, a parameter c is provided for users to decide how accurately BMP-rep represents a geometric drawing. In order to prevent geometry distortion, NEST demonstrates the nesting result by directly using shapes’ and sheet material’s original drawings as shown in Fig. 5b. (5) Users can select multiple sheet materials for nesting once. Any shape is placed on next sheet material when the current sheet material does not have sufficient empty space.

(2) AutoCAD is a professional software for computer-aideddesign and very popular for many industries. NEST is therefore easy to integrate with upstream and downstream working procedures. The drawings of other CAD software have to be saved to a data file importable by AutoCAD, such as DXF file [9]. (3) NEST places every shape on a sheet material by rotating it in steps unnecessary 90°. There is a changeable integer parameter termed as unit rotation angle a and 5° 6 a 6 360°.

Start AutoCAD Open load the a drawing drawingfile and and start start NEST NEST Select shapes and sheet materials

Place current piece with current rotation angle on current sheet material

N

Enough space on sheet material?

Next sheet

Y Last rotation angle?

N

Next rotation angle, the 1st sheet

N

Next piece, 1st rotation angle, 1st sheet material

Y Position current piece with best rotation angle Last piece? Y Last shape?

N

637

1st piece of next shape, 1st rotation angle, 1st sheet material

Y Stop & show the result

End AutoCAD Fig. 6. NEST flowchart.

tolerance

tolerance

convex arc

concave arc Fig. 7. Arc approximation.

638

W.-C. Weng, H.-C. Kuo / Advances in Engineering Software 42 (2011) 634–643

The following section describes the procedure of NEST in detail. Several tests were carried out and discussed in the Section 3. These tests are test of regular versus irregular, test of unit rotation angle, precision test and performance test. Conclusions are made in the final section.

2. Nesting system NEST must be manually executed in the environment of VBA editor embedded in AutoCAD. It contains two parts: one is the user interface and the other is a file of dynamic link library. The latter contains all necessary subroutines and functions. Two windows are shown in Fig. 5a and the smaller one is NEST’s user interface which is composed of 5 sub-interfaces. Three main sub-interfaces are used for selecting single material, selecting shapes and starting nesting algorithm. The function for selecting multiple sheet materials is designed on another sub-interface. Before any selection, users must firstly decide values for three parameters: the precision level c, the tolerance error and the unit rotation angle a. Parameter of precision level decides how accurately the BMP-rep represents a geometric drawing. The tolerance error indicates the approximate level for approaching arcs by polygonal segments as shown in Fig. 6. The unit rotation angle decides how NEST stepwise rotates and then places every shape on a sheet material. For example, when a = 30°, total 12 pixel matrices (360/30 = 12) are generated for a shape sequentially rotated based on its left-bottom point by angle 0°, 30°, 60°, 90°, 120°, 150°, 180°, 210°, 240°, 270°, 300° and 320°. One of the 12 pixel matrices that results in the best nesting is based to position the current shape. As to the parameter of precision level, when c = 0.5 indicates that one pixel in BMP-rep represents 0.5 unit length (non-dimensional) in AutoCAD. Enlarging or shrinking drawings of shapes and sheet materials together has similar effect. The flowchart of NEST is shown in Fig. 7. When AutoCAD is loaded, users can open a drawing file, manually load application NEST and then execute NEST in the VBA editor. By the user interface, users can select a sheet material’s drawing. During shape selection, the amount of total pieces for the current-selected shape is requested to input. Moreover, the pixel matrices of a shape with various rotations, based on the predefined unit rotation angle a, are generated as long as it is selected. The sheet material drawing is also transformed to its pixel matrix when selected. When the nesting algorithm starts, NEST attempts to rotate the current piece of current shape with the first rotation angle and then place on the first selected sheet material. Such an attempt is for next sheet material and with the first rotation angle for the current piece if the current sheet material does not have sufficient empty space. The current piece’s final position is on which it is ever placed with the best rotation angle. The best rotation angle indicates the placement on specific sheet material which results in the best nesting result through several attempts based on different rotation angle. This specific sheet material is not necessary the first when multiple sheet materials are selected. The attempt always starts from the first selected sheet material and with the first rotation angle for next piece of current shape and the first piece of next shape. The first piece of next shape is going to rotate and place starting from the first rotation angle when all pieces of the current shape are positioned. The final nesting result is directly shown on AutoCAD when all pieces of all shapes are positioned. NEST has two kinds of evaluations: the usage length and the usage density. The usage length is defined as the ratio of Lu over Lt as shown in Fig. 8. The usage density is especially used for multiple sheet materials and defined as the ratio of total area size of all positioned pieces over Lu  H. Parameter Lu is the horizontal length

Lt Lu

H

Fig. 8. Parameters for evolution.

of the rectangle area occupied by all positioned pieces. The size of the sheet material is Lt  H.

3. Numerical experiments Nesting performance depends on both the geometric representation and the nesting algorithm. If the performance for single sheet material is acceptable, that for multiple sheet materials would be acceptable. Thus, all tests in this paper are designed for single sheet material. They were carried out by a computer with an Intel Core2 CPU 6300 @ 1.86 GHz. If no special description is given, the length of the sheet material is 1000 units length where precision level is c = 1. The sequence of shape selection is based on the shape-size in descending order. The value of unit rotation angle is a = 30°. The tolerance error for arcs is always 0.1. Some of our cases are referred to the instances in Ref. [1] and the clear datasets are referred to reference [10]. We use their instance names and our drawings are very similar to but not as same as their drawings.

3.1. Regular versus irregular This test was carried out in order to demonstrate BMP-rep performance. Shapes and sheet materials with regular and irregular outlines were cross-tested with all shapes selected from the largest to the smallest. One set of regular shapes and two sets of irregular shapes, which are profiles1 and profiles9 in Ref. [10], were nested onto a rectangle sheet material with size 1000 units long by 500 units high. Additionally, another set of regular shapes and the irregular shapes of profiles9 were both nested onto an irregular sheet material. Fig. 9 shows the nesting results. In subfigure (ii) of Fig. 9a, the left part displays the NEST result, and the right part is the optimization result of profiles1 in Ref. [1]. Fig. 9a (iii) shows the test results for the shapes of profiles9. All drawings are drawn based on the dataset [10]. The nesting results of profiles1 and profiles9 in Ref. [1] were obtained by optimization. Our results were obtained according to shape’s area from the largest to the smallest. NEST system does not involve optimization methods. Therefore, we do not make comparison but to show that our system can tightly place these irregular shapes on the most left part of the sheet material. The nesting results of all cases are acceptable, with all pieces of all shapes positioned tightly on the sheet material, as demonstrated in Fig. 9. Both holes and free spaces between positioned pieces were sufficiently utilized. NEST is apparently capable of identifying complicate shape.

W.-C. Weng, H.-C. Kuo / Advances in Engineering Software 42 (2011) 634–643

(i) regular shapes

(ii) irregular shapes of profiles1

(iii) irregular shapes of profiles9 (a) regular sheet material

(b) irregular sheet material Fig. 9. Test of regular versus irregular.

639

640

W.-C. Weng, H.-C. Kuo / Advances in Engineering Software 42 (2011) 634–643

3.2. Test of unit rotation angle The unit rotation angle a affects the efficiency and efficacy of nesting, since each piece of each shape is positioned onto a sheet material with its optimal rotation. Three cases were tested with

different unit rotation angle 5°, 15°, 30°, 60°, 90° and 360°. In case 1, total 250 pieces of shape pentagon are nested on a circle sheet material. In case 2, total 250 pieces of same shape are nested on a square sheet material. In case 3, total 250 pieces of shape h are nested on a circle sheet material.

α=108°

α=90°

(a1) nesting layout of case 1

(a2) nesting layout of case 2 60 50 40 30 20 10 0

50

100

150

200

250

(b) the computation time for case 1 70 60 50 40 30 20 10

5

15

30

60

90

108

(c) the usage length for case 1 Fig. 10. Test of unit rotation angle: case 1 and case 2.

360

641

W.-C. Weng, H.-C. Kuo / Advances in Engineering Software 42 (2011) 634–643

Fig. 10 shows the results of case 1 and case 2 while Fig. 11 shows the result of case 3. In these figures, subfigure (a) illustrates the nesting layout; subfigure (b) displays the relationship diagram of computation time (s) versus various unit rotation angles where 50, 100, 150, 200 and 250 pieces are respectively positioned, and subfigure (c) shows the relationship diagram of usage length (%) versus various amount of total pieces with different unit rotation angles. Points on subfigure (b) and subfigure (c) are connected by lines only to demonstrate the difference between adjacent points. The case when a = 360° indicates that every piece are attempted to nest only with rotation angle 0°.

γ=1

3.2.1. pentagon shape Total 250 pieces of pentagon shape were nested onto two kinds of sheet materials, a circle sheet material with radius 400 units and a square sheet material with side length 1000 units. A unit rotation angle a = 108 is especially considered for this test.

γ = 2500

γ = 10000

(a) nesting layouts with three kinds of precision

(a) layout of the best nesting result 350 300 250 200 150

area scale (log)

100

(b) the computation time

50 0 50

100

150

200

250

(b) the computation time 80 70 60 50 40 30

area scale (log)

20 10

(c) the usage length 5

15

30

60

90

360

(c) the usage length Fig. 11. Test of unit rotation angle: case 3.

Fig. 12. Precision test.

Fig. 10a1 and a2 respectively show both nesting results for different sheet material. Fig. 10b and c display the corresponding

642

W.-C. Weng, H.-C. Kuo / Advances in Engineering Software 42 (2011) 634–643

Table 1 Results of performance test. Cases

Profiles1

Profiles2

Profiles3

Profiles4

Profiles8

Profiles9

Shapes Pieces Sheet size Usage Cpu

8 32 500  1000 38.5% 1.094 s

7 50 500  1000 72.1% 5.016 s

7 46 250  1000 84.9% 2.375 s

7 54 105  1000 49.4% 0.656 s

9 18 400  1000 56.1% 2.703 s

16 57 500  1000 44.7% 20.77 s

(a) profiles2

(b) profiles3

(c) profiles4

(d) profiles8 Fig. 13. Results by applying the rule of shape-size in descending.

relationship diagram for the circle sheet material. Points on these diagrams are connected by lines only to show the difference between adjacent points. From Fig. 10b, the bold line (a = 108°) was almost consistent with the line marked with small squares (a = 90°). This is because both the total numbers of various rotations for one piece under different conditions were very close to each other. Moreover, their computation times of nesting were very short (around 3–5 s). The best result with constant the total number of pieces was always achieved when the unit rotation angle is a = 108°, which is exactly the interior angle of a pentagon. For instance, there are

total 250 pieces to be nested onto a square sheet material. As shown in Fig. 10a2, where the upper nesting layout (a = 108°) was apparently better than the lower (a = 90°). 3.2.2. ‘‘h’’ shape Total 250 pieces of ‘‘h’’ shape were nested onto a circle sheet material with a radius of 400 units. Fig. 11a displays the best nesting result with the unit rotation angle a = 5°, where, in a circled area, there was a piece positioned with a rotation of almost 90°. This is because this piece when positioned with such rotation locally resulted in the minimum usage

W.-C. Weng, H.-C. Kuo / Advances in Engineering Software 42 (2011) 634–643

length. The best result was obtained with the unit rotation angle a = 5°, as indicated in Fig. 11c. The nesting layout with a = 60° is better than that with a = 30°. The trend was more obvious when more pieces were nested. This is concerned with both the outlines of ‘‘h’’ shape and the sheet material. Apparently, for this case, a small unit rotation angle produced a small improvement in usage length, with a lengthy computation time. 3.3. Precision test As mentioned before, to enlarge or shrink drawings of shapes and sheet materials together has same effect of decreasing or increasing the value of precision level c. The precision test was therefore carried out by enlarging and shrinking drawings together. For example, one piece of a triangle with a side length of 1 m (m) may be drawn to a triangle graph with a side length of 1 unit or 100 units in AutoCAD. Fig. 12 displays total 165 pieces of triangle shape with its side length 0.5 m, nested onto a rectangular sheet material with a size of 8 m long by 5 m high. Nine cases were tested with various scales of one unit to 1 m, 1/7 m, 1/10 m, 1/20 m, 1/30 m, 1/40 m, 1/50 m, 1/70 m and 1/100 m. The corresponding area scale for each linear scale is 1, 49, 100, 400, 900, 1600, 2500, 4900 and 10,000 unit2/ m2, respectively. Larger area scale indicates higher precision. The side lengths of these triangle graphs were respectively 0.5, 3.5, 5, 10, 15, 20, 25, 35 and 50 units. In Fig. 12b and c, the horizontal axis displays the logarithms base 10 for area scale from 1 to 10,000. Points are connected by lines for easy understanding. Fig. 12b indicates that the best result for every case was always obtained with the area scale 2500 instead of the largest area scale 10,000. The worst result was clearly obtained with the smallest area scale 1. Fig. 12b shows that larger area scale (higher precision) took more computation time for nesting. It is around from 0.5 s to 8 s for different area scales. Larger area scale (higher precision) describes the shapes and sheet materials more accurately. Nevertheless, in the precision test, the largest area scale (the highest precision) did not obtain the best nesting result. This is concerned about the relative size between sheet material and shapes. In this example, the layout for the area scale 10,000 clearly describes more empty space on top of the most left vertically-aligned triangles than that for the area scale 2500. This extra described space is only sufficient for a partial triangle instead of a whole one. Consequently, the alignment-style layout for the area scale 10,000 was interfered earlier than that for the area scale 2500. 3.4. Performance test Due to BMP-rep, NEST takes more computation time for more precise geometric representation. Total 6 cases of irregular shapes and sheet material are prepared for the test. They are profiles1, profiles2, profiles3, profiles4, profiles8 and profiles9 in Ref. [10]. The shape sequence for nesting is according to a popular empirical rule of shape’s area size in descending. In NEST system, the pixel matrix size for a shape is exactly the size of the smallest rectangle bounding this drawn shape in AutoCAD. When a drawn shape is enlarged, the size of its pixel matrix for representing this shape is also enlarged. For the case profiles1, profiles2, profiles3, profiles4, profiles8 and profiles9, the pixel

643

matrix size of its largest shape is 872  310, 188  120, 947  919, 98  78, 200  163 and 530  465 respectively. The detail information is listed in Table 1. For instance, the case of profiles1 has total 32 pieces of 8 different shapes nested on a sheet material of 500 wide by 1000 long. Furthermore, the usage length after nesting is 38.5% and the CPU time for nesting is 1.094 s. The nesting layout for profiles1 and profiles9 is respectively shown in subfigure (ii) and subfigure (iii) in Fig. 9a and those for other cases are shown in Fig. 13. From the practical view point, the CPU time for every case is acceptable. The main reason is that personal computers nowadays are fast. Profiles9 takes the longest time for nesting. It has the largest number of total pieces and there are holes in shapes. 4. Conclusion NEST has been successfully developed and performs satisfyingly from the practical view point. All positioned shapes are tightly positioned on a sheet material through several tests. Holes within positioned shapes and spaces between them are sufficiently utilized by small shapes. Due to the definition of precision level in NEST, graphic size decides the precision level, i.e. larger drawing indicates larger pixel matrix. Nevertheless, higher precision level results in longer nesting time. BMP-rep has the accuracy problem in geometric representation. NEST demonstrates the nesting result by original geometric drawings although their pixel matrices are based for the nesting procedure. Parameters of the unit rotation angle and the precision level affect the nesting results. According to our experiences, size and outline of shapes and sheet materials also affect nesting results. Acknowledgments The authors would like to thank the National Science Council of the Republic of China, Taiwan for financially supporting this research under Contract No. NSC96-2221-E-019-052. References [1] Burke EK, Hellier RSR, Kendall G, Whitwell G. A new bottom-left-fill heuristic algorithm for two-dimensional irregular packing problem. Oper Res 2006;54(3):587–601. [2] Bennell Julia A, Oliveira Jose F. The geometry of nesting problems: a tutorial. Eur J Oper Res 2008;184(2):397–415. [3] Lee WC, Ma H, Cheng BW. A heuristic for nesting problems of irregular shapes. Comput Aided Des 2008;40(5):625–33. [4] Burke EK, Hellier RSR, Kendall G, Whitwell G. Complete and robust no-fit polygon generation for the irregular stock cutting problem. Eur J Oper Res 2007;179(1):27–49. [5] Bennell Julia A, Song Xiang. A comprehensive and robust procedure for obtaining the nofit polygon using Minkowski sums. Comput Oper Res 2008;35(1):267–81. [6] Bennell JA, Dowsland KA, Dowsland WB. The irregular cutting-stock problem a new procedure for deriving the no-fit polygon. Comput Oper Res 2001;28(3):271–87. [7] Hopper E, Turton BCH. A review of the application of meta-heuristic algorithms of 2D strip packing problems. Artif Intell Rev 2001;16:257–300. [8] Ramesh Babu A, Ramesh Babu N. A genetic approach for nesting of 2-D parts in 2-D sheets using genetic and heuristic algorithms. Comput Aided Des 2001;33:879–91. [9] [10]