Computer-Aided Design 45 (2013) 875–886 Contents lists available at SciVerse ScienceDirect Computer-Aided Design journal homepage: www.elsevier.com/locate/cad Efficient parts nesting schemes for improving stereolithography utilization Vassilios Canellidis, John Giannatsis, Vassilis Dedoussis ∗ Center for Product Development and Rapid Prototyping, Laboratory of Advanced Manufacturing Technologies & Testing, Department of Industrial Management & Technology, University of Piraeus, 80 Karaoli & Dimitriou str., 18534 Piraeus, Greece article info Article history: Received 24 April 2012 Accepted 4 December 2012 Keywords: Stereolithography Nesting problem 2D packing Genetic algorithm Additive manufacturing abstract In the present paper, the platform layout optimization problem for the simultaneous fabrication of different parts, which is addressed in the batch planning of Stereolithography Additive Manufacturing technology, is studied. The methodology proposed in the paper employs a Genetic Algorithm technique for the 2D nesting of parts on the platform of the stereolithography machine. The build orientation of the parts is assumed fixed and is decided prior to layout optimization, according to part-specific quality and cost requirements. Three placement schemes, appropriately adapted to the problem, are considered for the parts nesting and fabrication layout definition. The algorithms and placement schemes developed are evaluated in several test cases/benchmarks involving parts with both simple and complex geometries. The computational results included in the paper indicate that the proposed methodology can lead to satisfactory layout/packing–nesting arrangements in a time efficient manner, leading, therefore, to substantial improvement of stereolithography machine utilization. © 2012 Elsevier Ltd. All rights reserved. 1. Introduction Since their introduction, Additive Manufacturing (AM) technologies have been mainly employed as methods for the production of models and prototypes for new product development; hence the term Rapid Prototyping has been associated to them. In AM, parts are fabricated by the controlled addition of material, usually in the form of thin layers. Some of the most well known AM technologies are Stereolithography (SL), Selective Laser Sintering, 3D Printing (3DP), Multi-jet Modeling (MJM) and Fused Deposition Modeling (FDM). In recent years the capabilities of AM technologies with respect to reliability and materials have significantly improved, to the point that they are increasingly employed for the production of actual end-use products or their components [1,2]. The main applications of this sort include the production of geometrically complex and/or highly customized or specialized products in small numbers. Compared with other manufacturing methods, AM methods have significant advantages, namely the capability to fabricate parts of almost any geometry in relatively short times. On the other hand, the cost per part associated with AM methods is relatively high. For the successful implementation of AM in the industrial manufacturing setting, therefore, it is crucial to achieve cost-effective utilization of the associated equipment and full exploitation of their capabilities in terms of time and geometrical flexibility. Under this new perspective, the study of process planning problems in AM gains further importance, because ∗ Corresponding author. Tel.: +30 210 414 2320; fax: +30 210 414 2454. E-mail address: vdedo@unipi.gr (V. Dedoussis). 0010-4485/$ – see front matter © 2012 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2012.12.002 the corresponding decisions of the user/operator of the AM system significantly affect the perceived production time, cost and quality. From the applications point of view, the selection of build parameters such as build orientation and layer thickness/pattern, and the efficient utilization of the machine time and workspace have been recognized as two of the most important problems in AM process planning [3]. The selection of build parameters concerns the fabrication of a single part and it is essentially a multi-objective optimization problem, in which the optimum compromise between fabrication cost and quality under specific constraints is sought. In this context, several tools have been proposed during the last few years, in order to aid the operator in the selection of build orientation and layering strategy [4–6]. Efficient utilization of the machine time and workspace, on the other hand, concerns the simultaneous production of different (or geometrically similar/identical) parts, in a time and cost-efficient manner. AM equipment is capable of fabricating various different parts concurrently, in the so-called fabrication jobs, without human supervision. Job setup is performed by the operator, who chooses and places the parts/products to be built in a manner that will efficiently utilize the machine workspace, usually through the maximization of the number of parts per job or of the corresponding build volume. This way significant cost and time savings may be gained, because the number of labor intensive and time consuming job setups is reduced, and in some cases a more efficient use of the AM machine is achieved. The machine utilization is relatively more important in technologies like SL or SLS, where the ‘dead’ time associated with the necessary layer recoating or material spreading step, is allocated in as many parts as possible. Further gains can also be expected in some cases through 876 V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 the minimization of the amount of unused or secondary raw material that is discarded after production (e.g. supports and/or trapped material). In this paper we concentrate on SL, which is perhaps the most mature and widely used of all AM technologies. The relevant problem of raising the degree of utilization of the SL machine is addressed by determining the optimum placement layout of different parts on the SL machine platform/workspace. The problem is tackled employing a Genetic Algorithm (GA) approach in conjunction with three different placement schemes, which are based on established nesting and 2D packing methodologies appropriately adapted to the SL case. The feasibility and efficiency of the developed schemes is investigated via a series of case studies involving standard benchmark tests and a representative test case with ‘‘real-world’’ parts of quite general free-form geometry. 2. Proposed methodology and problem formulation The packing or layout planning problem in SL has been the subject of relatively few studies. Most of the works reported in the literature concern other AM technologies and address in most of the cases the fully 3D packing problem using heuristic optimization schemes, mainly different variations of GA [7–10]. Contrary to most of the problems investigated in the previous literature, where the placement of parts to be fabricated on top of others is permitted (as is the case in powder-based technologies like SLS), in the case of SL this is not generally advisable because of the adverse effects of support structures. In order to be effective, in any optimization approach the specific characteristics and constraints of the particular technology under investigation should be first considered. These characteristics should then be reflected in the problem formulation and the construction of the optimization objective function. The most basic relevant ‘‘constraint’’ in the context of SL seems to be the requirement for support structures which are fabricated concurrently and by the same material as the part and which are necessary in order to prevent part/layer drifting and deformations. If a part is placed over another (along the build direction) the support structure of the top part will interfere with or ‘‘touch’’ the geometry of the bottom part, at its top surfaces. This interference can significantly deteriorate the surface quality (increase the corresponding roughness) and possibly the dimensional accuracy of the bottom part, as well as increase the required post-processing time (manual polishing/finishing). Due to this, parts in SL are usually placed alongside each other, after of course a proper build orientation for each one is chosen; hence the packing problem essentially becomes two-dimensional (2D packing). An alternative approach to resolving this issue and formulating a more holistic approach can be to construct a weighted multi-criteria objective function that incorporates the technology specific constraints [11], but this approach seems to be sensitive to the selection of criteria weight values. Another methodological concern is the apparent trade-off between the quality of the optimization solution and the required computational time, which is a very important parameter in the manufacturing environment. For the problem under investigation significant parameters that affect the quality/time trade-off, besides the choice of a specific optimization technique, are the number of orientations allowed per part and the selection/construction of a specific placement and interference checking strategy. The choice of a free orientation scheme, that considers rotations of the parts about all three axes, will probably lead to significantly better results in terms of packing density than those obtained with a fixed build orientation per part, where only rotations about the Z axis are permitted. This approach, on the other hand, significantly increases the associated complexity and does not guarantee that specific part quality/cost constraints are satisfied. This is the reason that the middle road, i.e. the examination of a limited set of acceptable orientations, is proposed in several studies [12,11,13]. Due to the possible adverse effects of support structures in SL and the need for relatively low computational times, the approach followed in the present paper examines placement layouts with parts alongside each other (no part is placed beneath another) and assumes a fixed build orientation/direction per part. The build orientation of a part is selected according to part-specific quality, cost and time requirements and constraints, which are defined by the SL machine operator according to the part’s geometry and its intended use. Casting patterns and final products, for example, require high dimensional accuracy and surface finish, while for concept models low fabrication cost is more significant. For the purposes of the present study, orientation evaluation is performed automatically following a methodology proposed by the authors in [6]. The adopted methodology incorporates a multi-objective function for the representation of the SL operator’s preferences regarding the relative importance of build quality, as expressed by mean part surface roughness due to stair-stepping and contact with supports, and build-time/-cost. According to these preferences, as well as constraints regarding the minimum acceptable quality and maximum acceptable cost, a GA technique is employed for the automatic identification of the optimum build orientation among the many possible. Build-time/-cost and part surface roughness per orientation are evaluated from the STL file according to experimentally derived formulas described in [14]. Following the orientation selection for each part and if it is quite obvious that the parts cannot be fitted in one fabrication job, a sub-grouping of parts may take place. In this case the operator should try and group parts by their respective build height (Z dimension) in order to avoid inefficient packing solutions where ‘‘high’’ parts, with a relatively high number of layers, are fabricated concurrently with ‘‘low’’ parts, with relatively lower numbers of layers, which sometimes require considerably lower fabrication times. Subsequently the layout planning or platform packing phase takes place, where the already oriented parts are positioned on the platform of the machine alongside each other, trying to fit as many as possible and exploit the available area. In this step the problem could be said to reside in the dense packing/nesting of the parts’ projections on the platform plane. The latter polygonal projection of each part can be computed from the Boolean union of all the slices that are obtained after slicing the corresponding STL file (Fig. 1). Having derived the parts projections on the platform of the SL machine, the sole optimization objective can be defined, therefore, as that of maximizing the area of the platform that is covered by the non-overlapping projections of, say n, parts: n f = Projection_Area_of_the_ith_part i =1 Fabrication_Platform_Area . (1) Under this definition of the objective function, the packing problem in SL can be considered as a 2D nesting problem [15]. The 2D irregular parts nesting problem is a widely-addressed subject in various manufacturing sectors such as that of metal products, textiles, footwear and furniture, as well as ship building. Particularly in the field of metal processing and manufacturing, and especially in the area of sheet-metal cutting, shearing and stamping, various problem-solving approaches have been proposed in order to minimize waste material and efficiently automate the part layout planning process. One of the earliest proposed approaches is that of employing a sliding algorithm for the optimum nesting of two blanks in sheet metal stamping [16]. Another approach is proposed by Lamousin and Waggenspack [17] who employ a heuristic technique for the progressive nesting of parts through the matching between V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 90 80 70 60 Z 50 40 30 20 10 0 80 60 Y 40 20 0 10 20 30 40 50 60 70 80 90 X Fig. 1. STL model and its projection on the build platform (XY plane). complementary features of the parts and the stock material. A similar boundary nesting approach that employs evolutionary heuristic techniques is adopted in a study by Tay et al. [18]. In order to increase the efficiency of the heuristic employed for the nesting of irregular-shaped polygons a hybrid approach has also been proposed by Mahanty et al. [19]. Algorithms that optimize the orientation and layout of identical polygonal blanks in a strip for minimum material usage have been also proposed by Nye [20], Cui and Huang [21], and Licari and Valvo [22]. The problem of optimum nesting of a large number of copies of an irregularly shaped part in a limited sheet is investigated by Costa et al. in [23], as well as in a study by Martins and Tsuzuki [24]. The problem of optimum part layout arrangement in multiple sheets is addressed in studies by Babu and Babu [25] and Lee et al. [26]. The nesting problem has also been investigated in the context of combined manufacturing processes such as sheet metal cutting and punching [27,28], laser cutting and bending [29] and the design of progressive dies [30,31]. Integrated computeraided systems that employ nesting algorithms have also been proposed by Rao et al. [32] and Xie et al. [33]. The study of the relevant literature shows that there are two important methodological decisions that have to be made in order to address any specific instance of the 2D nesting problem, namely the selection of an optimization scheme, i.e. how an exploration of the space of all possible layouts/solutions is performed, and that of a placement scheme, i.e. how a specific layout is constructed through the placement of the various parts. The characteristics and details regarding the optimization and placement schemes adopted in the present study are given in the following sections. 2.1. Optimization scheme From an optimization point of view the parts nesting or layout planning problem in SL seems to share the most similarities with the knapsack problem, according to the typology proposed in [34]. In this context, the problem is considered as NP-complete and its complexity is related to the size/shape variety of the parts and the number of feasible placement positions for each part; hence heuristic optimization algorithms, like Genetic Algorithms (GA) and Simulated Annealing (SA), are often applied for solving it. Heuristic approaches do not guarantee that the global optimum is 877 found, but they can provide ‘‘acceptably good’’ solutions, i.e. solutions close to the global optimum, with low computational effort. For the problem under investigation GA, which is based on genetics and evolution theory, has been adopted as the optimization technique. The basic concept behind GA is that the ‘‘genetic pool’’ of a given set of problem solutions potentially contains traces of the optimum solution, which can be discovered by controlled ‘‘evolution’’ of the initial population. GA maintains, therefore, a set of potential solutions (population) that ‘‘evolves’’ in subsequent ‘generations’ towards hopefully better solutions, according to the principles of ‘‘natural selection’’ and ‘‘survival of the fittest’’. This evolution is carried out as potential solutions (individuals), represented by chromosomes, are combined in pairs (parents) in order to produce new chromosomes (offsprings) thus providing a new generation of individuals. Random changes in individuals (mutations) add a stochastic element to the evolution procedure in order to avoid premature convergence to a local optimum solution. For a more detailed presentation of the various GA approaches/ variations the reader is referred to [35]. In the context of the present problem employing the GA approach means that a set of randomly-constructed packing layouts/solutions is allowed to ‘‘evolve’’ towards a set that contains the optimum and/or near-optimum packing layouts. The chromosomal representation (genotype) of packing layouts/solutions utilizes a permutation coding scheme, for which individual solutions are coded as sequences of integers (genes) that correspond to the placement sequence of a set of parts. The packing layout π for the jth chromosome, for example, πj = {5, 3, 7, 1, 2, 4, 6} can be interpreted as the consecutive placement of the projections of seven parts on the fabrication platform, beginning with the projection of part no. 5 then that of part no. 3, etc. The placement of each projection is carried out according to a prescribed placement strategy, which is explained in the next section, thus constructing the corresponding nesting layout (phenotype). The population evolution is performed following the generally applied GA process presented in Fig. 2. The first step in this process consists of defining the initial population, i.e. a set of possible packing layouts/solutions, which is constructed either at random or by the operator. Then, an evaluation of the ‘‘fitness’’ value for each individual takes place. The fitness value of an individual/chromosome j corresponds to the respective value of the objective function fj derived from Eq. (1), thus the higher the area utilization percentage of a solution the higher its fitness. Subsequently, a test of convergence is performed, namely the evaluation of the difference between the mean fitness value of the population and the fitness value of the best solution. If there is no difference between the two values (the population is homogeneous), it is assumed that an optimum or near-optimum solution has been reached and the algorithm terminates, otherwise the population is allowed to evolve further. The next step in the algorithmic ‘‘evolution’’ involves the selection of layouts/solutions for reproduction, through the use of specific selection operators. In the present paper the proportional selection approach proposed in [36] has been adopted. According to this approach, the probability pi of an individual i to be selected for reproduction is proportional to its relative fitness, as expressed by the following: pi = fi >0 m (2) fj j =1 where m is the number of chromosome/solutions of the population. Following the computation of the reproduction selection probability for all chromosomes, the interval I = [0, 1) is divided into m sub-intervals, one for each chromosome, denoted by 878 V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 for example, that the father-string is π1 = {1, 2, 3, 4, 5, 6, 7}, the mother-string is π2 = {6, 4, 2, 5, 3, 1, 7}, p = 2 and q = 3. In this case, the first three genes of the first offspring are selected from the father-string (2, 3, 4) while the next four empty gene-slots are filled by the remaining mother-genes, thus producing offspring π3 = {2, 3, 4, 6, 5, 1, 7}. Similarly, for the construction of the second offspring, q consecutive genes, starting from the p-th gene, are first selected from the mother-string, while the remaining empty gene-slots are filled by the corresponding father-genes. The second offspring, therefore, is π4 = {4, 2, 5, 1, 3, 6, 7}. The mutation operator, on the other hand, aims at adding diversity to the population through the introduction of new traits that are not present in the individuals/chromosomes. This operation reduces the probability of converging to a local optimum solution too fast and before a sufficient amount of the solution space has been searched, especially when several local optima may be expected. In the present GA application, mutation is performed by simply swapping the location of two genes in a chromosome, which has been selected randomly from the population according to the specified mutation rate. Following reproduction, the evolution strategy is applied. In this step, the removal of a number of individuals from the population is required in order to keep the population size constant. This is performed by ranking the old and new individuals/chromosomes according to their fitness value and removing the less-fit excessive part of the list. The final step of the algorithm is to perform the convergence test on the newly-created generation in order to determine whether the termination criterion is satisfied or the algorithmic evolution will continue. Fig. 2. Flowchart of the GA employed in the study. 2.2. Placement scheme Ai (πi , fi ), as follows: A1 (π1 , f1 ) ↔ I1 = [0, p1 ) A2 (π2 , f2 ) ↔ I2 = [p1 , p1 + p2 ) Aj (πj , fj ) ↔ Ij = [p1 + · · · + pi−1 , p1 + · · · + pi ) Am (πm , fm ) ↔ Im = [1 − pm , 1). After the association of each individual chromosome Ai (πi , fi ) to a sub-interval, two random numbers αi ∈ [0, 1), i = 1, 2 are generated. The different intervals, in which the two random numbers lie, represent the individual chromosomes on which crossover or mutation operates. If the generated numbers lie within the same interval, additional random numbers are considered. In the following reproduction step, new children chromosomes (‘‘offspring’’) representing new packing layouts/solutions are ‘‘bred’’. Breeding and offspring generation are carried out via two operators, the crossover and the mutation operator. The crossover operator aims at the preservation and improvement of promising genetic material from one generation to the next by selecting two chromosomes from the population (according to their respective selection probability) and producing a new, possibly better, chromosome that combines features of both its parents. Currently there are quite a few rules that could be followed in crossover operation, but there is not a unique operator that performs well in all cases, as its performance is usually problem specific [35]. For the permutation type of problems such as the present one, the SJX operator, introduced by Jakobs [37], has been found to perform quite well and has been adopted in this work. Given a father and a mother string/permutation, as well as two integers p and q, the SJX operator produces two offspring. For the construction of the offspring the operator selects q consecutive genes, starting from the pth gene, from the first parent, and fills in the remaining offspring genes with the corresponding different genes of the second. In order to clarify the function of the operator an example is given in Fig. 3. Suppose, The issue of placement strategies/rules and interference checks in nesting is quite important, because it influences not only the quality of the solution but also the required computational effort. Various part placement methods, such as the Left-Bottom, the Pixel–Raster, the Direct Trigonometry, the No-fit polygon and the Phi function methods, have been proposed in the nesting problems literature [15]. Each one of them has certain advantages and disadvantages that make it appropriate for addressing different variants of the nesting problem. Variations of the Left-Bottom heuristic technique are usually easy to implement and provide fast solutions, but are considered to be better suited for simple orthogonal geometries rather than for geometrically complex arbitrary shapes. Raster/pixel methods are also relatively easily implemented and are usually employed for non-convex pieces of moderate geometrical complexity. For geometries of higher complexity and levels of detail, however, the memory requirements increase significantly and this may also lead to significantly higher computational effort [15,38]. Direct trigonometry methods cope better with geometrical complexity and highly irregular shapes but they are also computational expensive [39]. The No-Fit Polygon technique is an efficient and commonly utilized method for conducting intersection tests between pairs of polygons, but it has not been widely applied in the context of nesting problems due to the large number of degenerate cases, which can arise when various forms of shapes are considered [15,38]. Finally, the phifunction method, which aims at the representation of all mutual positions of two shapes through mathematical expressions, has not been broadly adopted, as there is not currently any algorithmic procedure for generating the required phi-function for arbitrary shapes [40]. In the context of the present study, three different placement schemes were examined, the first employing the LeftBottom/Down-Bottom (LBDB) method and the Ray Casting technique, the second employing the No-Fit Polygon method, while the V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 879 Fig. 3. Example of the SJX crossover operator. 18 16 14 12 10 8 6 4 2 0 0 2 4 6 8 10 12 14 16 18 Fig. 4. Schematic representation of the MBR of an arbitrary object. third is a hybrid one, employing a combination of the previous two methods. The LBDB method incorporates rules that aim at placing objects as close as possible to the platform origins, i.e. the left bottom corner. In order to reduce the required computational effort, the Minimum Bounding Rectangle (MBR) of the polygon that should be placed and the corresponding MBRs of the already placed parts are initially determined. The MBR is defined as the minimum area rectangle that encapsulates the convex hull of a polygonal object as illustrated in the example of Fig. 4. The Left-Bottom/Down-Bottom rule, which employs vertical and horizontal insertion lines defined by the borders of the platform and previous MBRs, are then applied in order to evaluate different placement positions for the incoming object. An example of the LBDB method is presented in Fig. 5, where two possible placement positions for rectangle B are evaluated. The position chosen for placement is the one that minimizes the distance of the MBR origin to the platform origin (Fig. 5(c) or (d)). In this position, two possible MBR orientations, the initial one and its 90° rotation about the Z axis, are evaluated and the one that leads to the minimum ‘‘height’’ along the Y dimension is chosen. In order to enhance further the nesting of the incoming polygon to the previously placed adjacent polygons, a second densification step involving horizontal and vertical movements is employed. The extent of possible movements is determined employing casting of rays from the vertices of the incoming polygon and evaluating the corresponding distances until another polygon or the platform boundaries are met (Fig. 6(a)). This procedure is also followed for selected vertices of previously placed polygons (Fig. 6(b)) and the minimum of the examined distances is determined. The evaluated minimum distance and the corresponding vertex define the vector of translation for the incoming polygon towards the already placed polygons without interference. The ray-casting process is performed for both the previously chosen MBR orientation, as well as its mirror orientation (rotated 180° about the Z axis), and the one leading to the closest to the platform origin placement is chosen. In order to further illustrate the ray-casting densification operation an animated example is presented in Animation 1 (see the Appendix). The second placement method is based on the concept of the No-Fit Polygon (NFP) [15], which can be used to determine all arrangements that two arbitrary polygons of standard orientation may assume so that the two shapes touch. These arrangements are the closest possible that can be defined between the two polygons without intersection. An intuitively simple method to construct the NFP of two polygons, say A and B, is to keep one (e.g. A) fixed in position, while the other traverses around the fixed polygon’s edges, ensuring that the polygons always touch but never intersect (see Fig. 7). The corresponding NFP (NFPAB ) is thereby drawn as the route trajectory of a chosen reference point of polygon B. In previous studies, robust analytical methods for the construction of the NFP of two convex shapes have been presented [41,42]. However, in the case of concave shapes similar methods or algorithms are still under development. In order to overcome this difficulty in the case of concave shapes a method for obtaining an estimation (as a point cloud) of the actual NFP boundary of two highly irregular shapes has been devised. The method initially computes the convex hull of the corresponding original concave geometry, thus covering concave regions with dummy lines, as presented in Fig. 8. An initial rough approximation of the NFP is then constructed based on the convex hulls of the original polygons. The resulting NFPCONVEX shares common edges with the actual NFP, i.e. all edges that are determined employing the actual 880 V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 Fig. 5. Schematic representation of the LBDB placement procedure. a b Fig. 6. The ray-casting densification process. edges of the original polygons, but differs from the actual one in the areas composed of dummy edges, where a tighter arrangement of the two polygons is possible. The dummy edges are then replaced by approximations of the corresponding actual edges, which are created by successive sliding moves of polygon B as close as possible towards the fixed polygon. The sliding movement is performed at points on the dummy edge which are determined by a user selected threshold value and the traveling distance is computed through ray casting. The resulting points form an approximation of the corresponding areas of the actual NFP, the accuracy of which is determined by the threshold value. In order to find the best possible arrangement between the two polygons, polygon B is allowed to ‘‘slide’’ along the edges of the approximated NFP (NFPESTIMATOR ), following a procedure similar to that employed for the construction of the NFPESTIMATOR . The best of the possible arrangements is the one that minimizes the ratio r (Eq. (3)), which is defined as the sum of the areas of A and B divided by the area of the convex hull of the A and B Boolean union (A ∪ B): r = Area of A + Area of B Area of the A ∪ B Convex hull . (3) Having placed the first two polygons their Boolean union is constructed. This new polygon is then employed as the fixed polygon for the insertion of the next polygon from the permutation order and the NFP construction and placement process is repeated. Compared with the LBDB method which gradually packs the objects following the permutation sequence and filling the platform from the bottom-left corner, the NFP method fills the platform following a pattern from the platform center towards its periphery. In order to better illustrate the NFP placement process an animated example is presented in Animation 2 (see the Appendix). The required computational effort for the construction of the NFP approximation of two polygonal objects can be quite big, and increases significantly as the complexity of the polygons, i.e. the V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 881 Fig. 7. Illustration of the NFP construction process. Fig. 9. Schematic representation of the combined LBDB/NFP placement process. 2.3. 2D packing/layout optimization process Fig. 8. Schematic representation of the NFP estimation process for non-convex polygons. number of their edges, increases. In an effort to decrease the computational time and exploit the advantages of both previous methods a third placement scheme has been examined. In this scheme the LBDB strategy is followed but instead of employing the ray-casting technique in order to pack the nesting placement, the NFP is employed. To better illustrate the placement process an example is presented in Fig. 9, where the incoming object, polygon B, has already been placed based on the MBRs of the objects and following the LBDB rules. In the specific arrangement there is unutilized space between the two objects that can be minimized by a leftward movement of polygon B. The corresponding travel distance is computed by casting a ray from a reference point of object B to the approximate NFP of the two objects (NFPAB ), thus reducing the computational time associated with ray-casting in the standard LBDB scheme. In order to accelerate the packing process the NFPs of all pair combinations of the available objects are computed prior to the initiation of the GA heuristic process. An animated example illustrating the combined LBDB and NFP placement scheme is presented in Animation 3 (see the Appendix). The 2D nesting/layout optimization process for all three placement schemes follows three basic phases presented in Fig. 10. In the first phase the orientation of each one of the parts to be fabricated is defined according to the associated quality and cost requirements and the corresponding projection on the platform plane is evaluated. Next comes the initialization phase where preprocessing data operations that reduce the computational effort associated with optimization are performed. The most basic of these operations is that of simplifying the geometry of projections by reducing the associated number of points of the parts employing the Douglas–Peucker algorithm [43]. In order to avoid possible intersections between parts due to this geometry simplification a small offset of the original geometry by a certain threshold is first applied. In the combined LBDB and NFP scheme a database containing the NFPs or NFP estimates of all possible combinations of parts in pairs is also constructed during the initialization phase. Finally, in the third phase the GA is employed in order to search the solution space and identify the optimum or near-optimum parts layout arrangement on the platform of the machine. The evaluated layouts are constructed employing one of the three schemes presented in previous paragraphs. 3. Computational results and discussion The efficiency of the proposed methodology and placement strategies was investigated using four case studies; three involving 882 V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 Fig. 10. Flowcharts of the packing optimization process for the three placement schemes under investigation. sets of relatively simple 2D shapes presented in previous studies and one involving ‘‘real-world’’ SL parts. The software implementation of the proposed methodology has been carried out employing Matlab R2008a. The parameters of the implemented GA algorithm in all test cases were: population size of 50 chromosomes, crossover rate of 100% and mutation rate of 1.25%. The GA terminated when the population became fully homogeneous, i.e. the mean value of the fitness function (mean percentage of platform area coverage) of the population reached the corresponding maximum fitness value (maximum percentage of platform area coverage obtained by the best layout arrangement in a generation). All test cases were run on a PC equipped with a Pentium 4 processor at 3.4 GHz and 2 GB of RAM. Table 1 Results of benchmark test cases. Platform area coverage (%) No. parts packed Albano set Mean comput. time per packing arrangement/generation (s) Total computational time (s) Mao set Blaz set 3.1. Benchmark test cases A series of three test cases was examined first. The data sets for the three test cases were obtained from the ESICUP web site (http://paginas.fe.up.pt/~esicup/tiki-index.php) which contains a publicly available archive of data sets employed in previous packing/nesting problem studies. The first data set (Albano set) has been examined in a study by Albano and Sapuppo [44] and contains 24 instances of the shapes presented in Fig. 11(a), the second (Mao set) has been proposed by Bounsaythip and Maouche in [45] and contains 20 instances of the shapes presented in Fig. 11(b), while the third (Blaz set) contains 20 instances of the shapes presented in Fig. 11(c) that have been used by Blazewicz et al. in [46]. The specific test cases were selected because of the irregular geometry of the associated polygons which corresponds to what should be expected for parts projections in SL practice. The results of the test cases in terms of packing/nesting efficiency, as measured by the percentage of platform area coverage and the number of parts placed, as well as the associated required time per placement scheme are presented in Table 1. The corresponding layout arrangements of the shapes per placement scheme and case are presented in Fig. 12. It should be noted that Platform area coverage (%) No. parts packed Mean comput. time per packing arrangement/generation (s) Total computational time (s) Platform area coverage (%) No. parts packed Mean comput. time per packing arrangement/generation (s) Total computational time (s) LBDB NFP LBDB and NFP 82.2 24 1.30 71.6 23 6.00 82.2 24 0.60 11,554 19,017 5760 71 20 1.18 71 20 7.70 71 20 0.39 3115 19,455 928 71.4 20 0.98 71.4 20 5.23 71.4 20 0.40 2652 5230 1372 the three test cases were examined following the testing methodology proposed by the corresponding authors for comparative reasons; hence the packing areas are not square as is the case with the SL platform. The obtained results do not show any significant differences between the three placement schemes in terms of packing efficiency, since all three methods lead to the placement of all parts and identical values of platform coverage, with the exception of the results obtained by applying the NFP scheme in the Albano case. The observed values of area coverage are also comparable to that reported in the relevant literature. In terms of computational time, however, it is evident that the combined use of LBDB and NFP techniques leads to significant time savings compared to the placement schemes employing solely LBDB or NFP. This conclusion becomes more evident if the mean computational time per layout arrangement or generation is examined, where the sole application of the NFP or LBDB schemes leads to quite high computational time requirements compared to the corresponding ones, when the combination of both schemes is applied. V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 (a) Albano set. 883 (b) Mao set. (c) Blaz set. Fig. 11. Polygonal shapes examined in benchmark test cases. 3.2. ‘‘Real-world’’ stereolithography parts test case Fig. 12. ‘‘Optimum’’/best layout arrangements for the benchmark cases using different part placement schemes. In order to further investigate the proposed approaches another test case, comprising of 20 parts fabricated by SL in the context of past projects and partnerships of the Center for Product Development and Rapid Prototyping at the University of Piraeus, was computed. The corresponding parts are of variable size and geometrical complexity, as could be expected for a representative ‘‘real-world’’ case of a stereolithography build job in a RP/RM service bureau (see Table 2 and Fig. 13). The orientation of the parts was selected according to part-specific quality/cost requirements following the procedure proposed by the present authors and presented in detail in [6]. The platform dimensions were set at 250 mm × 250 mm, equal to that of the SL machine used for their fabrication. The projections of the parts on the platform were computed after slicing the STL files and carrying out the Boolean union of the corresponding slices. Due to the relatively high level of detail and complexity of the STL files the obtained 2D projections had a significantly higher number of points per polygon compared to the benchmark test cases (see Table 2). A preliminary application of the developed algorithms employing these original projections showed that significant computational effort was required; hence a reduction of the level of detail of the projected polygons was applied. Geometry simplification was achieved through the reduction of the number of polygon points employing the Douglas–Peucker algorithm [43], following an initial offset of the original geometry by a certain threshold, to avoid possible intersections between parts due to the simplification procedure. The test case results are 884 V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 Fig. 13. Parts examined in the SL test case. z y y z x x y z x Fig. 14. ‘‘Optimum’’/best layout arrangements for the SL test case using different part placement schemes. presented in Table 3 while the corresponding packing/nesting arrangements are illustrated in Fig. 14. From Table 3 it can be observed that the best layout arrangements are obtained employing the LBDB and NFP placement schemes. In both cases only one part, the human jaw medical model, is not present in the layout arrangement (see Fig. 14) probably due to the size and highly non-convex nature of the corresponding polygonal projection. To further illustrate the layout construction process employing the LBDB and NFP scheme for a single solution/individual an animated example is presented in Animation 4 (see the Appendix). Employing solely the NFP technique, on the other hand, leads to relatively worse results in terms of both packing efficiency and computational time, as is also observed in the first test case. The relatively high computational time of the NFP approach can be attributed to the relatively high mean time that is required per packing arrangement/generation (16 s) as well as to the relatively high number of generations (700 generations) required for convergence, as can be seen in Fig. 14. The LBDB and NFP schemes on the other hand converged significantly faster, in about 200 generations. Examining further the mean and best fitness plots (Fig. 15) also shows that the optimum solution for all three schemes is discovered well before converging, in the range of 100–150 generations, an indication that, perhaps, the computational time can be significantly reduced if another termination criterion, such as the maximum number of generations or the average change in fitness value, is applied. The computational results presented above indicate that the combined application of the LBDB packing procedure and the NFP technique for pair-wise part arrangement is overall superior. Part name and number Hinge (16 & 19) Washing machine arm–left component (17 & 20) Bishop (9) Distributor (14) Fliptop (1 & 2) Gear (5 & 6) Knight (8) Washing machine arm–central component (12 & 18) Ship model (7) Engine model (11 & 15) Jaw (4) Caliper model (3 & 13) Cover (10) STL STL triangles volume (cm3 ) 4,860 10.95 10,394 20.55 30,171 8.21 4,028 7.15 6,552 2.07 1,420 0.54 75,934 9.78 17,718 28.55 Projection’s Projection’s Projection NoPoints NoPoints area after (mm2 ) reduction 157 340 439 39 450 256 430 120 20 25 519.5 4958.9 16 7 14 9 16 13 937.45 1893.06 1346.4 114.2 937.4 6236.5 828 0.23 4,427 38.60 231 292 27 19 255.8 3141.7 100,948 64.37 49,682 38.36 4119 894 43 25 3447.5 2105.9 12,300 19.78 735 13 7808.1 4.8 4.6 LBDB 4.4 4.2 4 3.8 0 78 19 1.95 15,493 LBDB and NFP 73 18 16 22,313 78 19 0.4 2600 4. Concluding remarks In the present paper an investigation of the parts placement problem encountered during the job process planning phase of the SL fabrication procedure is presented. Taking into account the specific characteristics of the SL technology, maximization of the platform area coverage has been chosen as the primary optimization objective that needs to be achieved, in order to reduce the number of machine setups and increase its utilization. A GA heuristic technique and three distinct part placement schemes were applied for the nesting of parts on the platform and the optimization of their layout arrangement. In order to evaluate the efficiency of the proposed methodology, algorithm and placement schemes, four case studies were examined; the first three concerning relatively simple geometrical forms whilst the fourth one had actual/‘‘realworld’’ parts fabricated using the SL technique. The test results indicate that employing the combined LBDB and NFP scheme for the placement of parts and the associated layout arrangement in conjunction with the GA optimization technique leads to ‘‘good’’ 2D packing/nesting solutions. Also, taking into account that the process planning in SL is performed on dedicated process-planning computers and in parallel with SL machine operation, as is quite often the case in actual practice, the computational time involved is considered to be acceptable. Furthermore, the combined LBDB and NFP approach seems to be able to handle 2D polygonal forms of variable complexity, similar to those expected in SL fabrication jobs, without significant problems in terms of part intersections and degenerate cases. From the applications point of view it is concluded, therefore, that the proposed methodology presents a valuable tool for the automation of the job/layout planning task, thereby reducing the cost and time of process planning and increasing the utilization of the SL systems. Obviously, the present methodology could be also applied to any other AM technology 100 150 200 250 0.74 0.72 0.7 0.68 NFP 0.66 0.64 0.62 0.6 0.58 0 NFP 50 Number of Generations Utilized Area of Manufacturing Platform (mm2) Platform area coverage (%) No. parts packed Mean computational time per packing arrangement/generation (s) Total computational time (s) × 104 5 Table 3 Results of the SL test case. LBDB 885 3.6 Utilized Area of Manufacturing Platform (%) Table 2 Data of parts examined in the SL test case. Utilized Area of Manufacturing Platform (mm2) V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 5 100 200 300 400 500 600 700 800 Number of Generations × 104 4.8 LBDB &NFP 4.6 4.4 4.2 4 3.8 3.6 0 50 100 150 200 250 Number of Generations Fig. 15. Convergence plots of mean and best fitness values per generation for the SL test case using different parts placement schemes. that shows the same predominant fabrication characteristic, i.e. requirement of support structures, such as the FDM process. Appendix. Supplementary data Supplementary material related to this article can be found online at http://dx.doi.org/10.1016/j.cad.2012.12.002. References [1] Wohlers T. Wohlers report 2011—additive manufacturing and 3D printing state of the industry. Oak Ridge-Colorado, USA: Wohlers Assoc. Inc.; 2011. [2] The Economist 3D printing: the printed world. February 12th issue. Available at: http://www.economist.com/node/18114221 (last accessed 07.02.11). [3] Munguia J. Pursuing successful rapid manufacturing: a user’s best practices approach. Rapid Prototyping J 2008;14(3):173–9. [4] Pandey PM, Reddy NV, Dhande SG. Part deposition orientation studies in layered manufacturing. J Mater Process Technol 2007;185:125–31. [5] Byun HS, Lee KH. Determination of the optimal build direction for different rapid prototyping processes using multi-criterion decision making. Robot CIM-Int Manuf 2006;22(1):69–80. [6] Canellidis V, Giannatsis J, Dedoussis V. Genetic algorithm based multiobjective optimization of the build orientation in stereolithography. Int J Adv Manuf Technol 2009;45(7–8):714–30. [7] Wodziak JR, Fadel GM, Kirschman C. A genetic algorithm for optimizing multiple part placement to reduce build time. In: Proc. of the 5th international conference on rapid prototyping. June 12–15, 1994, p. 201–10. 886 V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886 [8] Zhang X, Zhou B, Zeng Y, Gu P. Model layout optimization for solid ground curing rapid prototyping processes. Robot CIM-Int Manuf 2002;18:41–51. [9] Lewis JE, Ragade RK, Kumar A, Biles WE. A distributed chromosome genetic algorithm for bin-packing. Robot CIM-Int Manuf 2005;21(4–5):486–95. [10] Hur SM, Choi KH, Lee SH, Chang PK. Determination of fabricating orientation and packing in SLS process. J Mater Process Technol 2001;112:236–43. [11] Gogate S, Pande SS. Intelligent layout planning for rapid prototyping. Int J Prod Res 2008;46(20):5607–31. [12] Ikonen I, Biles W, Kumar A, Ragade RK, Wissel JC. A genetic algorithm for packing three-dimensional non-convex objects having cavities and holes. In: Proc. of 7th international conference on genetic algorithms, 1997, p. 591–98. [13] Canellidis V, Dedoussis V, Mantzouratos N, Sofianopoulou S. Pre-processing methodology for optimizing stereolithography apparatus build performance. Comput Ind 2006;57:424–36. [14] Giannatsis J, Dedoussis V. Decision support tool for selecting fabrication parameters in Stereolithography. Int J Adv Manuf Technol 2007;33:706–18. [15] Bennell J, Oliveira JF. The geometry of nesting problems: a tutorial. European J Oper Res 2006;184:397–415. [16] Prasad YKDV, Somasundaram S, Rao KP. A sliding algorithm for optimal nesting of arbitrarily shaped sheet metal blanks. Int J Prod Res 1995;33(6):1505–20. [17] Lamousin H, Waggenspack Jr WN. Nesting of two-dimensional irregular parts using a shape reasoning heuristic. Comput Aided Des 1997;29(3):221–38. [18] Tay FEH, Chong TY, Lee FC. Pattern nesting on irregular-shaped stock using genetic algorithms. Eng Appl Artif Intell 2002;15(6):551–8. [19] Mahanty B, Agrawal RK, Shrin S, Chakravarty S. Hybrid approach to optimal packing using genetic algorithm and coulomb potential algorithm. Mater Manuf Process 2007;22(5):668–77. [20] Nye TJ. Optimal nesting of irregular convex blanks in strips via an exact algorithm. Int J Mach Tools Manuf 2001;41(7):991–1002. [21] Cui Y, Huang L. Dynamic programming algorithms for generating optimal strip layouts. Comput Optim Appl 2006;33(2–3):287–301. [22] Licari R, Lo Valvo E. Optimal positioning of irregular shapes in stamping die strip. Int J Adv Manuf Technol 2011;52(5):497–505. [23] Costa MT, Gomes AM, Oliveira JF. Heuristic approaches to large-scale periodic packing of irregular shapes on a rectangular sheet. European J Oper Res 2009; 192(1):29–40. [24] Martins TC, Tsuzuki MSG. Simulated annealing applied to the irregular rotational placement of shapes over containers with fixed dimensions. Expert Syst Appl 2010;37(3):1955–72. [25] Babu R, Babu NR. A generic approach for nesting of 2-D parts in 2-D sheets using genetic and heuristic algorithms. Comput Aided Des 2001;33(12): 879–91. [26] Lee W-C, Ma H, Cheng B-W. A heuristic for nesting problems of irregular shapes. Comput Aided Des 2008;40(5):625–33. [27] Xie SQ, Tu YL, Liu JQ, Zhou ZD. Integrated and concurrent approach for compound sheet metal cutting and punching. Int J Prod Res 2001;39(6): 1095–112. [28] Pan M, Rao Y. An integrated knowledge based system for sheet metal cuttingpunching combination processing. Knowl -Based Syst 2009;22(5):368–75. [29] Verlinden B, Cattrysse D, Van Oudheusden D. Integrated sheet-metal production planning for laser cutting and bending. Int J Prod Res 2007;45(2): 369–83. [30] Kumar S, Singh R. Automation of strip-layout design for sheet metal work on progressive die. J Mater Process Technol 2008;195(1–3):94–100. [31] Ghatrehnaby M, Arezoo B. A fully automated nesting and piloting system for progressive dies. J Mater Process Technol 2009;209(1):525–35. [32] Rao Y, Huang G, Li P, Shao X, Yu D. An integrated manufacturing information system for mass sheet metal cutting. Int J Adv Manuf Technol 2007;33(5): 436–48. [33] Xie SQ, Wang GG, Liu Y. Nesting of two-dimensional irregular parts: an integrated approach. Int J Computer Integr Manuf 2007;20(8):741–56. [34] Wäscher G, Haußner H, Schumann H. An improved typology of cutting and packing problems. European J Oper Res 2007;183:1109–30. [35] Dréo J, Pétrowski A, Siarry P, Taillard E. Metaheuristics for hard optimization. Berlin, Heidelberg: Springer-Verlag; 2006. [36] Holland JH. Adaptation in natural and artificial systems. 2nd ed. MIT Press; 1992. [37] Jakobs S. On genetic algorithms for the packing of polygons. European J Oper Res 1996;88:165–81. [38] Whitwell G. Novel heuristic and metaheuristic approaches to cutting and packing. Ph.D. Thesis. School of Computer Science and Information Technology. Univ. of Nottingham. 2004. [39] Hopper E. Two dimensional packing utilising evolutionary algorithms and other meta-heuristic methods. Ph.D. Thesis. School of Engineering, Univ. of Wales, Cardiff, 2000. [40] Chernov N, Stoyan Yu, Romanova T. Mathematical model and efficient algorithms for object packing problem. Comput Geom Theory Appl 2010; 43(5):535–53. [41] Burke E, Hellier R, Kendall G, Whitwell G. Complete and robust no-fit polygon generation for the irregular stock cutting problem. European J Oper Res 2007; 179(1):27–49. [42] 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. [43] Douglas D, Peucker T. Algorithms for the reduction of the number of points required to represent a digitized line or its caricature. Cartographica 1973; 10(2):112–22. [44] Albano A, Sapuppo G. Optimal allocation of two-dimensional irregular shapes using heuristic search methods. IEEE Trans Syst Man Cybern 1980;10(5): 242–8. [45] Bounsaythip C, Maouche S. Irregular shape nesting and placing with evolutionary approach. IEEE Trans Syst Man Cybern 1997;4:3425–30. [46] Blazewicz J, Hawryluk P, Walkowiak R. Using a tabu search approach for solving the two-dimensional irregular cutting problem. Ann Oper Res 1993; 41:313–25. Vassilios Canellidis received his undergraduate degree (ptychion) in industrial management and technology (2002) from the Department of Industrial Management & Technology in the University of Piraeus. He carried out postgraduate studies at the School of Electrical and Computer Engineering in the National Technical University of Athens and at the Department of Industrial Management & Technology in the University of Piraeus, where he received the M.Sc. (2006) and Ph.D. (2011) degrees in techno-economic systems and optimization methods for advanced manufacturing systems respectively. He is the author or co-author of 15 papers published in refereed journals and scientific conference proceedings. His published work focuses on the solution of combinatorial optimization problems in the fields of Additive Fabrication and Rapid Prototyping technologies. Current research interests also include Combinatorial Geometry, the application of meta-heuristic algorithms for optimizing industrial processes as well as applications of Additive Fabrication Technologies. He is a reviewer for the International Journal of Advanced Manufacturing Technology and speaks both Greek and English. John (Ioannis) Giannatsis received his undergraduate degree (ptychion) in industrial management and technology (1995) and the Ph.D. degree in CAD/CAM and rapid prototyping/manufacturing systems (2005) from the Department of Industrial Management & Technology in the University of Piraeus. During his Ph.D. studies he worked as a Research Assistant at the Department of Industrial Management & Technology, which he joined in 2005 as a Teaching Assistant. In 2008 he was elected Lecturer and he is currently teaching courses in the areas of Advanced Manufacturing technologies, CAD/CAM systems, Industrial & Operations Management and Product Development. He is the author or co-author of more than 20 papers published in refereed journals and scientific conference proceedings. His published work focuses on Additive Manufacturing and Rapid Prototyping technologies, as well as their applications in product design/development and the medical sector. His current research interests include also Computer Integrated Manufacturing, Virtual Modeling and Ergonomic Design. Vassilis Dedoussis, is Professor in Industrial Systems Techniques and Director of the Laboratory of Advanced Manufacturing Technologies & Testing at the Department of Industrial Management & Technology, University of Piraeus. He has received the Dipl. Ing. degree from the National Technical University of Athens (Mechanical Engineering, 1981), and the M.Sc. (with distinction) and Ph.D. degrees in computational aerodynamics from Imperial College, London (Aeronautics 1983, 1988). He is a member of the Technical Chamber of Greece and the Greek Association of Computational Mechanics. His published work focuses on computer aided engineering of aircraft, industrial and power installations as well as commercial product components. His current research interests include CAD and rapid prototyping applications for product design and development.