development of flat pattern nesting software

52 downloads 152029 Views 148KB Size Report
Email:[email protected], [email protected] ... placement matches concavities and convexities existing in objects and defines a best-fit adjacent ... interest to industries involved with mass production as small improvements in the ...
All India Seminar on Advances in Product Development (APD-2006) (February 17-18, 2006)

DEVELOPMENT OF FLAT PATTERN NESTING SOFTWARE Dr. A.D.Bhatt Ravi Kumar Gupta MNNIT – Allahabad Email:[email protected], [email protected] APD-2006

1. ABSTRACT Flat pattern nesting problems are optimization problems that are concerned with finding a good arrangement of multiple two dimensional objects on two-dimensional stock. This work deals with nesting of two-dimensional objects (regular and irregular, convex and non-convex) on twodimensional rectangular stock. An approach is given in the present work for optimal layout of irregular two-dimensional objects using heuristic methods. It works by hierarchically decomposing original problem into many subproblems. It is assumed that combining the solution of each sub-problem will yield a good result. First ranked the objects according to a sequencing policy and then placed the sequenced objects using bottom left placement heuristic. Finally, interactive nesting strategy is used to get closed and compact nesting (better solution) on results obtained by automatic nesting. The algorithm for placement matches concavities and convexities existing in objects and defines a best-fit adjacent object for each of 360 orientations. The proposed methodology has been implemented in the form of a menu-driven program using MATLAB and a GUI has been developed to interact user with different modules of the software.

2. INTRODUCTION Nesting problems are optimization problems that are concerned with finding a good arrangement of multiple items in a containing region. The usual objective of the allocation process is to maximize the material utilization and hence to minimize the "wastage" area. This is of particular interest to industries involved with mass production as small improvements in the layout can result in saving of material and a considerable reduction in production cost. Such a method to solve the industrial packing problem clearly must consider the complexity of the problem, determined by the geometry of the objects and the constraints imposed. In two-dimensional nesting, the objects, which are to be cut or placed, are two-dimensional and the stock from where the objects are to be cut is also two-dimensional. In the present manufacturing scenario, cutting or placing of two-dimensional shaped objects from twodimensional stocks, with a minimum wastage of material is an important task. This task of arranging the parts on the sheet is known as two-dimensional nesting. A large number of different industries are regularly forced with the problem of cutting two-dimensional objects from a stocksheet as the first stage of their manufacturing process. The most common are the garment industries, ship-building industries, stamping industries, leather industries etc. The amount of the surface area that is not covered by parts and is not usable for nesting is called “wastage”. Thus,

1

the aim is to minimize the wastage. Figure 1 shows an example of a nest i.e. a non-overlapping placement of objects on a surface. Stock

Objects

Wastage Figure 1: Two-dimensional nesting

Nesting for Industries:- Cutting and packing problems occur across the full spectrum of business activity, from design, through various aspects of the manufacturing process, to distribution and sales. For example:(i)

Cutting a given set of parts from a stock sheet.

(ii)

Packing goods into a fixed loading area.

(iii)

Designing the layout of a newspaper page.

These are all practical problems in which a set of demanded items are to be placed in a given region without overlap. The basic problem is to determine an efficient arrangement of the pieces in a containing region or stock-sheet without overlap. Locating suitable articles with reference to a different industry from one's own is further complicated by the differences in terminology, constraints and objectives. For example:(i)

The shipbuilding industry refers to the problem as parts nesting.

(ii)

In the garment industry, it is usually known as the marker layout problem.

(iii)

In steel and glass industries, it is known as template layout [Arb 93].

Developed nesting software automatically generates optimum layout and /or cutting layout for two-dimensional irregular objects in two-dimensional stock.

3. Review of solution Approaches Initially the researches had started with mathematical methods such as dynamic programming and integer programming. These approaches are impractical and computationally infeasible, when a large number of parts are to be arranged in sheets of larger sizes and /or when sheets and parts are of irregular shapes. Problems involving irregular pieces comprise the most difficult class of packing problems. A number of researchers have considered an alternative approach in which the irregular pieces are nested inside other more regular shapes and these simpler shapes are then packed into the available area [Kat 95]. The most popular shape for nesting is the

2

rectangle, which can then be packed using one of the many rectangle packing methods. If the orientation of the piece is not restricted then it is sensible to enclose it in a rectangle of minimum area. This type problem is tackled by Freeman and Shapira [Fre 75]. Given any shape defined by a close curve (i.e. a shape without holes) they first enclose it in a convex polygon and then find the required rectangle by iteratively basing the rectangle on each of the edges of the polygon. In practice, solutions of this type will only prove satisfactory if the pieces themselves are close to rectangular so that the wasted area inside the enclosure is small. They were first developed for the shipbuilding industry where many of the given pieces are rectangular and will not nest easily with the remaining irregular shapes. If many of the pieces are far from rectangular in shape, a more effective option is to nest more than one piece together. This is the approach taken by Adamowicz and Albano [Ada 76]. They place a threshold on the amount of wastage. Higher dimensional cutting stock problems are discussed as linear programming problems. Knapsack problem and its solution by two-stage guillotine cutting and staged linear programming are discussed [Gil 65]. Dowsland and Dowsland have outlined some of the approaches used to solve irregular packing problems in a variety of industries [Kat 95]. Heuristic approach described by Babu and Babu [Bab 01] consider the sheets and parts in a sequential manner and arrange the parts on the sheets using the bottom-left strategy. Genetic algorithms are used to generate the sequence of the sheets and parts. Miguel Gomes and Jose Oliveira [Gom 02] describe a heuristic for the nesting problem based on a 2-exchange neighbourhood generation strategy. They use the concept of no-fit-polygon and inner-fit-rectangle for nesting irregular shaped objects and stock.

4. Solution methodology The original problem is solved by generating a stack of sub problems. The idea behind generating sub-problems is that they will be simpler to solve and a good solution for the sub-problem will imply a good solution for the original problem. The main heuristics used in the present work are as follows:

First calculate the minimum area enclosing rectangle of every object with edges horizontal and vertical and then objects are arranged according to some sequencing policy or according to some preference criteria. This heuristic is crucial in reducing the dimensionality of the problem.



Once allocation for a rectangular subpart (sub-problem) of the sheet is over, the solution is not reconsidered. That is the subsequent decisions do not have any influence on a subproblem that has been solved previously.

The first heuristic, in fact, at each stage reduces the intractable two dimensional allocation problems, to allocation of strips, in the width direction of the rectangular subpart of the original rectangular stock.

3

Minimum area enclosing rectangle is the minimum area enclosing rectangle of an object with edges horizontal and vertical. For this algorithm, find enclosing rectangle of each 1

o

o

rotation of the object upto 179 and area of the corresponding enclosing rectangle. Select one combination having minimum area of enclosing rectangle, which is the required minimum area enclosing rectangle. This algorithm is valid for convex as well as non-convex objects. Figure ‘2’ illustrates the minimum area enclosing rectangle of an object. Enclosing rectangle

Object h1

Minimum area enclosing rectangle

Object h1

Given Object Figure 2: Minimum area enclosing rectangle of an object.

Point inside an object algorithm is used to identify the interior region of an object. In figure ‘3’, a polygon abcdefg and a point ‘p’ are shown. Since ‘p’ is inside the polygon, then angle o

apb, bpc … etc., total 360 , if the angles measured in one sense are treated as positive and those o

measured in the opposite sense are treated as negative. Angle apb, bpc … etc., total 0 in the case shown in figure ‘4’ if point ‘p’ is outside the polygon [Tai 02].

f

f

e

p g

d

e

g

d

b

b a

c

∠ apb+ ∠ bpc+ ∠ cpd+ ∠ dpe o + ∠ epf + ∠ fpg+ ∠ gpa = 360 Figure 3: Point ‘p’ is inside of the object.

a

c p

∠ apb+ ∠ bpc+ ∠ cpd+ ∠ dpe o + ∠ epf+ ∠ fpg+ ∠ gpa = 0 Figure 4: Point p is outside of the object.

4

This algorithm is applicable for convex as well as non-convex objects. In the nesting software, I use the above algorithm to select one object among a group of objects.

Inflation of an object can be explained with the help of figure ‘5’. Inflation is used for cutter clearance and equal to half of cutter diameter. As illustrated in figure ‘5’, first offset each edge by half of cutter diameter then extend the offset edges. Next find the intersection of two subsequent offset edges, which is a vertex forming the inflated polygon. This procedure is applied to get the vertices of the inflated polygon.

Half of cutter diameter

Given object

Offset of edges

Intersection of offset edges

Half of cutter diameter

Inflated polygon of object Figure 5: Inflation of an object

5

Utilization Ratio: - The factor on the bases of final nesting is selected is called utilization ratio. It is the ratio of total area of nested objects to the stock area used for nesting. m

Σ Ah i i=1

Utilization Ratio =

Stock length used x width Where:-

Ah i = Area of i

th

object.

m = Number of nested objects on the stock sheet.

5. Software development The nesting software has been developed for nesting of two-dimensional objects (rectangular and irregular, convex and non-convex shapes) in two-dimensional stock (rectangular). AutoCAD is used for object layout. MATLAB is used to develop program and graphical user interface (GUI). Block diagram for nesting is depicted in figure ‘6’. GUI of developed nesting software is depicted in figure ‘7’.

User

Graphical User Interface (GUI)

Input

Process

Output

Sequencing

Nested Objects Bottom left placement heuristic

Graphical display

Back filling Stock

Object

.dat/.txt file

Inflation Stock length and width

Vertices information

.dat /.txt file Edges information AutoCAD Drawing

.dxf file

Figure 6: Block diagram of nesting software

6

Stock is of rectangular shape and presented by letter ‘S-’ Objects are of any shape and presented by letter ‘h- ’ followed by object number. For an object with n-vertices, Vertices = [{X } {Y }] Where {X } = Vector for x-coordinate of all vertices {Y } = Vector for y-coordinate of all vertices Developed nesting software is user-friendly software for nesting irregular two dimensional objects onto a sheet of rectangular shape. This software aims at minimizing wastage during nesting of flat patterns onto a rectangular resource and the optimum layout can be worked out at shop floor level using standard PC platform. Later, this geometry can be used to generate the optimum cutting path. This results in the minimization of material wastage, stock length and optimization of other resources. Software Details:- The program for the present work has been implemented in MATLAB (Version 6) and AutoCAD (Release 12). The advantages of doing so is to harness the powerful graphics engine of MATLAB and AutoCAD in terms of creating drawings of flat patterns (two dimensional) and displaying the same. Using heuristic and modified algorithm, specified number of unlike shapes are nested onto a stock sheet of user defined dimensions. The program execution is faster in MATLAB. It is independent of any particular machine architecture. Graphics output is displayed in windows which are created and run in MATLAB under the window management system. For user interaction with the software, pushbutton, popup menu, edit window and command prompt have been provided. The interactive placement of objects has been implemented using pushbuttons of move, rotate, delete and copy object with user define incremental values. The program is user-friendly and includes suitable prompts and error messages to guide user. On line help has been provided with each menu display. The program includes a ‘2D-graphic window’ for creating any two-dimensional polygonal geometrical shape interactively on the screen. User can draw a polygon by selecting pushbutton pick-point-draw-object and then selecting vertices point on the screen. All the shapes should always be defined in anticlockwise direction. AutoNEST pushbutton is provided for automatic nesting of object. After layout, user has to simply push the AutoNEST pushbutton to get nesting. The final results are displayed on the drawing area and save in Autosave.dat for the latter used of nesting result. GUI of nesting software is depicted in figure ‘7’. It consists of four major sections as Top Menu, Side Menu, Drawing Area and Command Prompt Area.

7

Top Menu

Side Menu

Drawing Area

M.Tech. Thesis Ravi Kumar Gupta Command Prompt Area

Starting window of nesting software Figure 7: Graphical user interface (GUI).

6. ILLUSTRATIVE EXAMPLES The example presented in this section seeks to illustrate the automatic nesting procedure used for nesting. Data for the shape geometry and shape information can be input through the two dimensional editor provided in the software. The two dimensional editor has a facility for drawing and editing objects shapes. The alternative way of feeding data into the software is through data file of a specified format. The data which is input through the editor is pre-processed in the following manner. (i) The dimension of the minimum area enclosing rectangle is found. (ii) The profile of the shapes is inflated, by offsetting the object through the cutter radius. Subsequently, the pre-processed data is sent to the automatic nesting routine. The data to the automatic nesting routine can also be given in the form of a neutral file format, as mentioned earlier. The program can be invoked by typing ‘nesting’ on MATLAB command prompt. A graphical user interface will appear with push-buttons, popup-menus and edit-text for different operations and a figure window for display input and output.

Nesting of Rectangular Objects:-Figure 8. shows the input shapes which are of rectangular shapes. Figure 9. shows the nested pieces laid on the stock and the final result is stored in Autosave.dat file. Finally objects are nested according to the increasing width as

8

sequencing policy which have maximum utilization ratio as shown in table 5.1. The table 5.1 summarizes the execution trace for the given input and the comparison of results for different sequencing policies. The size of stock sheet is taken as 450cm x 135cm (1350mm x 4500mm Galvanized steel coil and sheets are of standard size, available in India).

Table 5.1 Nesting of rectangular objects For rectangular stock of 450 x 135 (length x width) square centimeters Sequencing Rectangular objects Length Width Nos policy

Nested Objects

50 50 70 50 45

50 70 50 80 55

Area of objects

3 3 3 3 3

Increasing Area Decreasing Area Increasing length Decreasing Length Increasing Width Decreasing Width Random

13 12

Area of nested objects 39925 40500

Stock area used for nesting 53325 54000

Utilization Ratio in %

74.871 75.000

13

40925

54675

74.851

10

33000

54000

61.111

14

43925

57375

12

39425

57375

76.558 (Maximum) 68.715

12

36925

57375

64.357

59925 unit square

% area utilization = 76.558

Figure 8: Rectangular objects as input

Figure 9: Nesting of rectangular object

Nesting of Irregular Objects (Convex and non-convex):- Figure 10. shows the input shapes which are of irregular shape. Figure 11 shows the nested pieces laid on the stock and the final result (objects geometry with reference to stock geometry) is stored in Autosave1.dat file. Finally objects are nested according to the increasing width as sequencing

9

policy which have maximum utilization ratio as shown in table 5.2. The table 5.2 summarizes the execution trace for the given input end the comparison of results for different sequencing policies.

Table 5.3 Nesting of irregular objects (Convex and non-convex) For rectangular stock of 300 x 200 (length x width) square centimeters Sequencing Nested Area of Stock area Irregular objects policy Objects nested used for Number of objects = 39 objects nesting 33690 54564 Increasing Area 39 Area of 39 objects 33690 Decreasing 39 55137 = 33690 unit square Area 33690 Increasing 39 55162 length 31313 Decreasing 33 59457 Length Increasing 39 33690 54343 Width Decreasing 39 33690 54770 Width Random 39 33690 58800 Area of 60000 unit objects square

Utilization Ratio in %

61.744 61.102

61.075 52.665 61.995 (Maximum) 61.512

57.295

% area utilization =61.995

Figure 10: Irregular objects as input (Convex and non-convex) 39 objects.

Figure 11: Nesting of irregular objects (Convex and non-convex)

10

7. Conclusions The developed software can be used for any type of industries for nesting two dimensional objects. It is developed for general purpose applications. It can be used for leather industries, garment industries, sheet metal industries, ship building industries, rapid prototyping, printing media, PCB designing etc.

(a)

MATLAB based software was developed to nest two dimensional regular and irregular objects on two dimensional rectangular stock.

(b)

A GUI was developed for interactive nesting of objects and to interact user with different modules of the software.

(c)

Heuristics were used to sequence and then place the objects. It is found that sequencing the objects according to increasing width sequencing policy and then place the objects with bottom left placement heuristic works best for general objects.

(d)

Objects were inflated to take into account cutter thickness. These inflated objects were also nested.

8. References 1. [Ada 76] Adamowicz M. and Albano A.: “Nesting two dimensional shapes in rectangular modules”, Computer Aided Design, vol.8/1, pages 27-33, 1976. 2. [Alb 77] A. Albano: “A method to improve two-dimensional layout”, Computer Aided Design, Vol.9/1, pages 48-52, Jan 1977. 3. [Alb 79] A. Albano and R. Orsini: “A heuristic solution of the rectangular cutting stock problem”, Computer Aided Design, Vol.23/4, pages 338-343, Mar 1979. 4. [Arb 93] Arbel A: “Large scale optimisation methods applied to the cutting stock problem of irregular shapes”, International Journal of Production Research, vol.31/2, pages 483-500, 1993. 5. [Ast 04] Astrokettle Group - A non-formal group of phys.-math software developers, 2004, 6.

[Bab 01] A. Ramesh Babu, N. Ramesh Babu: “A Ganeric approach for nesting of 2-D parts in 2-D sheets using genetic and heuristic algorithms”, Computer-Aided Design vol.33, pages 879-891, 2001.

7. [Bro 71] A.R.Brown: “Optimum Packing and Depletion”, published by Macdonald-Lomdon and American Elsevies Inc. New York 1971. 8.

[Fre 75] Freeman, H., and Shapira, R.: “Determining the minimum area encasing rectangle for an arbitrary closed curve”, Communications of the ACM vol.81/7, pages 409-413, 1975.

9. [Geo 03] Geometric Software Solutions Company Limited, 2003 10. [Gil 65] Gilmore P C, Gomory R E: “Multistage cutting stock problems of two and more dimensions”, Operation Research, pages 94-120, 1965.

11

11. [Gom 02] A. Miguel Gomes, Jose F Oliveira: “A 2-exchange heuristic for nesting problems”, European Journal of Operational Research, pages 359-370, 2002. 12. [Gon 79] V.Gonzalez and J.Sklansky: “Fast polygonal approximation of digitized curves”, Pattern Recognition, August 1979. 13. [Hea 95] Ronald B. Heady, Alfred G. Toma and John H. Ristroph; “Evaluation of carton packing rules for high volume operations”, Journal of Operations Management, Vol.13/1, pages 59-66, July 1995. 14. [Hop 99] E. Hopper, B. Turton: “A Genetic Algorithm for a 2D Industrial Packing Problem”, Computers & Industrial Engineering vol.37, pages 375-378, 1999. 15. [Kat 95] Kathryn A. Dowsland, William B. Dowsland: “Solution approaches to irregular nesting problems” European Journal of Operational Research vol.84, pages 506-521, 1995. 16. [Sap 99] N.S. Sapidis, G. Theodosiou: “Planar domain simplification for modeling virtualsolids in plant and machinery layout”, Computer-Aided Design vol.31, pages 597-610, 1999. 17. [Tai 02] Tai-Ran Hsu and Dipedra K. Sinha: “ Computer-Aided Design:

An Integrated

Approach”, published by West Publishing Compay - New York 2002

12

Suggest Documents