Growing and Evolving 3D Prints

07/07/2021 ∙ by Jon McCormack, et al. ∙ Monash University 15

Design - especially of physical objects - can be understood as creative acts solving practical problems. In this paper we describe a biologically-inspired developmental model as the basis of a generative form-finding system. Using local interactions between cells in a two-dimensional environment, then capturing the state of the system at every time step, complex three-dimensional (3D) forms can be generated by the system. Unlike previous systems, our method is capable of directly producing 3D printable objects, eliminating intermediate transformations and manual manipulation often necessary to ensure the 3D form is printable. We devise fitness measures for optimising 3D printability and aesthetic complexity and use a Covariance Matrix Adaptation Evolutionary Strategies algorithm (CMA-ES) to find 3D forms that are both aesthetically interesting and physically printable using fused deposition modelling printing techniques. We investigate the system's capabilities by evolving and 3D printing objects at different levels of structural consistency, and assess the quality of the fitness measures presented to explore the design space of our generative system. We find that by evolving first for aesthetic complexity, then evolving for structural consistency until the form is 'just printable', gives the best results.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 4

page 5

page 6

page 8

page 9

page 11

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Architects and Designers sit at the intersection of engineering and art, because designed artefacts provide both practical solutions to everyday problems and have an aesthetic impact that shapes the environment in which they operate [1, 2]. Often these two aspects of design (addressing practical problems and making a cultural impact) are in conflict, typically due to combining unconnected approaches, such as formal optimisation and purely intuitive craft. This leads to addressing the practical and aesthetic considerations separately, often resulting in poor or disjointed design solutions.

One family of methods that have been in use in the arts since Aristotle are generative systems: techniques that use the decomposition, analysis and reorganisation of existing artefacts to give way to new ones [3]. Amongst them, self-organising simulation methods, such as cellular automata [4], developmental models [5], agent-based models [6, 7] and evolutionary methods [8, 9] have been adopted as a means to explore creative, aesthetically driven spaces in contemporary architecture, art and design.

These systems have proven particularly useful in developing complex, aesthetically novel forms [10, 11, 12], but with a priority on the aesthetic aspects of the object, leaving the practical aspects to be solved through traditional and largely human-driven design optimisations. Evolutionary optimisation methods are often used to solve practical design problems, but usually come into the process after the aesthetic design decisions have been made. Typically they address quantifiable problems, such as the distribution of structural elements [13] or optimisation of energy consumption [14].

Hence, an exploration into integrated systems capable of reconciling aesthetic and practical design goals can contribute significantly to advancing computational design practice.

We present the design of a generative system that incorporates methods to simultaneously evaluate both pragmatic and creative value, seeking to balance the tension between aesthetics (visual complexity) and practical goals (fabrication). Our aim is to bring the digital and material qualities of design into closer harmony, allowing the designer to explore the aesthetic possibilities of complex generative systems and the material possibilities of design through digital fabrication.

Our system has its origins in the layering process of additive manufacturing: synthesising physical objects directly through the use of 3D printing technologies [15]. Since toolpath manipulation is the basis of form generation in our system, we bypass the traditional problem of transforming 3D digital mesh models into 3D printer toolpath operations using techniques such as slicing and scaffolding [16] – often a challenging process that can result in incomplete or failed prints [15] and which omit certain creative possibilities for printing, such as control over a single layer of filament deposition. The main limitation of this approach relates to printability; something we address through a formalised fitness measure. We then deploy evolutionary methods that combine practical and aesthetic fitness measures to allow an efficient exploration of the design space by automatically rejecting designs that are infeasible to fabricate or aesthetically poor.

We adopt a “generate and explore” methodology, similar to the one designers intuitively use. Motivated by the inherent design complexity of biological systems, and the need to directly control the 3D printer toolpath, our system employs a combination of physics and biology simulation to generate complex 3D forms, then a CMA-ES algorithm for exploration of the feasible design space. We introduce metrics to evaluate aesthetic complexity and structural consistency, allowing the designer to explore the tension between design possibility and fabrication integrity.

The remainder of this paper is structured as follows: first, an overview of work related to generative and optimisation systems in design is provided (Section II). Next, the two main components of the proposed system – the generative developmental system (III) and the form-finding exploratory system (IV) – are outlined. Section V describes the experimental setup in detail, and quantitative results are presented, alongside the 3D prints of the grown physical objects evolved by the system. Section VI reflects on the results produced by our method, along with suggestions for future development before concluding (Section VII).

Ii Related Work

Ii-a Generative Systems in Art and Design

Generative art has a history that predates computers by thousands of years [17] and generative techniques have been well studied as a framework for art and design [18, 19, 20, 21, 22, 23]. We limit our examination to computational examples of 3D form generation using biologically-inspired techniques that directly relate to the research presented here.

The irruption of computers into design practice and research has lead to a multitude of generative approaches to design, ranging from form exploration to structural optimisation. Early adopters looked at natural processes [24], patterns of organisation and development [25, 26] or formal design grammars based on shape [27]. More recent forays borrow from advances in complex systems, artificial life and agent-based models [19].

A notable example of this kind of approach is Accretor, a project in which Dutch artists Driessens and Verstappen used a semi-totalistic 3D cellular automaton to generate a range of diverse form configurations, from regular and ‘boring’, to highly disordered [28]. Computationally generated forms were human-selected for 3D printing, searching for what the authors refer to as in between objects. The criteria used for categorisation of the outcomes was not disclosed, but was likely based on the artists’ aesthetic preferences.

Similarly, digital artist Andy Lomas’ work Cellular Forms explores the morphogenetic capabilities of a generative system based on cellular reproduction [lomas2013, 29]. The process begins with a single spherical cell that progressively subdivides based on environmental conditions. Lomas used principles analogous to photosynthesis to generate sophisticated and diverse biomorphic 3D forms, a number of which were 3D printed. Initially the materialisation was achieved “manually” through standard 3D printing slicing and scaffolding, but in more recent work Lomas has used layer overhang metrics to automate determination of successful fabrication [30].

Ii-B Evolutionary Methods

Many generative artists and designers (see, e.g. [31, 32, 33, 8, 9]) employ evolutionary methods as a search or optimisation strategy, often a variant of the

Interactive Genetic Algorithm

(IGA) [34]. The IGA is popular for creative applications because it substitutes formalised fitness measures with human judgement. It circumvents the difficulty of developing generalised fitness measures for “subjective” criteria, such as personal aesthetic judgement or taste, allowing users to move through a design space, hopefully guiding the evolutionary search towards specific aesthetic results. However, problems with the IGA are well known: human evaluation creates a bottleneck; subjective comparison is only possible for a small number of individuals (i.e. ); human users become fatigued after only a few generations; evolving to specific targets is often difficult or impossible. There have been many attempts to overcome these problems, for example distributed evolution with multiple users [35], but distributed techniques are obliviously incompatible with individual designers or personal aesthetic preferences. In the basic IGA the role of the human creative is the equivalent of a “pigeon breeder”, where the only valid action is selecting from a small set of individuals. This may be why the method has been more suited to use by non-experts than design professionals111Some commercial design and music software products and have integrated IGAs or similar evolutionary methods into design workflows, but in general the technique has not been adopted professionally. [34, 36].

Another way to address problems with the IGA is to formalise or automate the aesthetic evaluation, freeing the human user from endless comparative evaluations. Research communities from both computational aesthetics (CA) and psychology have proposed numerous theories and measures of aesthetics [37]. However, a computable, universal aesthetic measure remains an unsolved open problem [38]. One of the main barriers is the psychological nature of aesthetic judgement and experience. Leder et al.’s model of aesthetic appreciation and judgement describes information-processing relationships between various components that integrate into an aesthetic experience and lead to an aesthetic judgement and aesthetic emotion [39, 40]. The model includes perceptual aesthetic properties, such as symmetry, complexity, contrast, and grouping, but also social, cognitive, contextual and emotion components that all contribute to forming an aesthetic judgement. A key element of Leader’s revised model [40], is that it recognises the influence of a person’s affective state on many evaluative components and that aesthetic judgement and aesthetic emotion co-direct each other. Hence, a comprehensive computational aesthetic measure must consider the interaction between cognition and affect, along with prior knowledge and viewing context of the human observer, making generalisation extremely difficult.

Neural networks have long been proposed as a way to automate aesthetic judgement in creative evolutionary systems [41]

. Recent approaches rely on advances in deep learning to learn individual artistic or stylistic preferences

[42, 43]. While these methods have had some success, they require a large training corpus that has user-defined rankings or categorisations, which is typically a manual, time-intensive process.

An important difference in the work introduced here is that we formalise both aesthetic and practical measures to assist in design generation, but we do not remove the human designer completely from the design process. We automate fitness evaluation but allow the designer to dynamically change the weighting between aesthetics and practicality to explore the design space.

Ii-C Generative 3D printing

Researchers have explored applications of generative and evolutionary systems to solve practical problems related to 3D printing. In [44], the authors use a combination of generative and evolutionary techniques to produce mechanically functional objects that can be manufactured using a consumer-grade 3D printer. Similarly, [45] use decomposition of digital 3D models and evolutionary approaches (CMA-ES and MOEA) to optimise the manufacturing process by reducing the use of waste material. Techniques developed in [46] introduced the use of space-filling curves for 3D printing, as an efficient alternative to infilling. The method defines a single line toolpath, minimising material usage. These techniques are aimed at printing optimisation for pre-existing 3D designs, the difference in our approach is that we integrate printing optimisation and aesthetic design as a single process, directly outputting toolpath instructions (as opposed to geometry) to the 3D printer.

As discussed in the previous section, recent work by Lomas examined automated methods to eliminate overhangs in morphogenetic 3D printed forms [30]. He developed a set of constraints that were built into the form generation system to prevent growth that would likely result in an unprintable form.

Our method is concerned with maintaining toolpath profile generation within a usable range via a computable fitness measure (Figure 1 shows an example). We build a 3D form through accreted vertical layering, where the major concern is the physical change between consecutive layers: without sufficient material in any preceding layer to support the next, the print will likely fail. This requirement often sits in tension with our aesthetic requirements that are based on variations in complexity of the final form. We allow the designer an exploratory trade-off between design aesthetics and risk of the form being unprintable.

So while the work we present in the following sections shares principles with the projects mentioned in this section, it advances these ideas by combining a generative system with an evolutionary one to explore a design space where practical and aesthetic characteristics are considered as equally valuable, and viable designs emerge through a process where practical and aesthetic possibilities are co-developed.

Fig. 1: A 3D printed form grown using the system described in this paper

Iii Form Generation Model

Our model consists of two main components: (i) a generative developmental system for form generation (described in this section), and (ii) an exploratory evolutionary system for form finding (described in Section IV). The source code implementation of our model is available on-line [Cruz2021]. The generative developmental system uses a physically-based, biologically-inspired model that simulates the development of an organic form via morphogenesis. The model has a series of encoded parameters (the genotype, see Section III-B) that affect the form’s developmental process and hence, the resultant form.222Other factors, such as the simulated developmental environment also play an important role, we discuss this further in Sections III-A and III-F. The exploratory system allows efficient searching through the design space of this developmental system. Through the use of a weighted, multi-objective fitness function, the exploratory system aims to search for forms that are both aesthetically interesting and directly printable using FDM 3D printing.

Our generative developmental system is based on Differential Growth (DG) in two dimensions [47]. The motivations for using this system include its ability to coherently generate complex forms through development and the 2D constraint allows us to conveniently layer each developmental cycle directly as a 3D print layer. We use the metaphor of cells connected in a sequence to form an “organism”. Cells seek to acquire energy from the environment in order to grow and reproduce. Organisms may also divide into two or more separate entities as part of their development. We capture this developmental process over time and translate it directly to 3D printer toolpath instructions, building a finished print a series of stacked layers (Figure 1), without recourse to intermediate representations or the need for extraneous scaffolding or support structures often needed in 3D printing.

Biology serves as the inspiration in the form generation process, because nature is a rich source of design ideas, capable of generative complexity and functional diversity [48]. However, it is important to emphasise that the model is not meant to inform biology or be physically or biologically faithful – biology is the inspiration but design is the goal.

Iii-a Developmental System

Development in our system occurs in discrete, fixed timesteps (, with ) in a physically simulated two-dimensional, viscous medium of uniform density (the environment). Capturing the system state at each timestep is an important part of the form generation process (detailed in Section III-H).

We define an organism () as a series of connected cells . A cell, , where is the cell’s vertex (location), the cell’s mass and the cell’s energy. Each cell is connected in sequence by edges, , where for and , ensuring closed loops. Edges use a simulated tension and compression spring to help maintain separation of their connected cells, and also to prevent them from moving too far apart. Physical attributes of both the cells and edges determine the growth and change in shape over time.333Our system was inspired by Anders Hoff’s differential line algorithm: https://inconvergent.net/generative/differential-line The full set of organisms generated over time is called a colony, . The colony is the unit of selection in the evolutionary component of our system.

Iii-B Genetic Parameters

A colony shares a genome, with the following alleles:

  • Metabolic rate () determines a cell’s capacity to transform resources into energy, i.e. how efficiently a cell converts acquired nutrients into usable energy (Section III-F). Cells that metabolise more efficiently also consume more energy, and vice-versa.

  • Cell drag coefficient () represents the surface drag of a cell per unit area. Low drag allows the cell to move more quickly but makes stable configurations more difficult to achieve.

  • Energy capacity () defines a cell’s capacity to store energy. Greater capacity increases cell mass, increasing the amount of energy required for movement and metabolism.

  • Edge spring coefficient () determines edge stiffness of the springs between cells (see Section III-A). High () coefficients give stiff connections, resulting in organisms that appear rigid. Lower coefficients allow cells to move more freely, giving way to organisms that move more fluidly. The disadvantage of low spring coefficient is that connections tend to be longer, which makes the transmission of energy between cells less effective, as more energy is lost in transmission. Very low coefficients make it difficult for cells to move effectively to locate nutrients, as they tend to overshoot the source.

  • An Energy ratio () controls the proportionate size of new organisms after the splitting process occurs.

Together these genetic parameters determine the final 3D form generated by the development process. We next discuss the physical aspects of the model.

Iii-C Physical Simulation

Fig. 2: Cells connected by edges with springs: forces shown acting on a single cell. represents the sum of forces excerpted on cell by its neighbouring cell and the spring that connects them , represents the sum of the force excerpted on by neighbouring cell and their connecting spring , and represents the sum of repulsion forces by all the other cells in the system closer than to

To help maintain cell and organism separation, cells exert a repulsive () force on every other cell within a specified radius from the cell’s centre, (Figure 2). The repulsion force between two cells and is applied according to:

(1)

where is the distance between the centres of and and a constant used to control the relative amount of repulsive force. Additionally, spring forces also act on connected cells based on Hooke’s law: , where is the spring coefficient and is the compression (-ive) or expansion (+ive) distance of the spring over its rest length, (Figure 2). Rest length is a dynamic property of an edge, , dependent on cell energy and explained in the next section. Cells can also instigate motion towards a positive nutrient gradient using internal forces, this is detailed in Section III-F. A cell’s mass is proportional to its energy (Section III-D). At each timestep, the total forces on each cell are summed and the cell moves as a result of the cumulative forces acting on it.

Iii-D Energy Model

Each cell, , has an energy, , representing the metabolised energy currently stored in that cell. Cells are created with a default energy, , and may accumulate, diffuse and loose energy as the organism develops. The maximum energy a cell can accumulate () is genetically determined (Section III-B). Let be a function that returns the energy level of a given cell at time , and a function that returns the total energy for all cells in at time . The overall change in energy for a cell at each timestep is given by:

(2)

Where represents internal energy loss, energy diffused and energy metabolised. The energy loss per timestep is calculated as:

(3)

where is a ‘cost of living’ constant, is the cell’s metabolic rate, is its energy capacity (Section III-B), a constant and the internal movement force (explained further in Section III-F).

A diffusion process () occurs at each timestep, whereby energy from cells with higher energy is diffused to those neighbours with lower energy. For example, if then:

(4)

where is the diffusion rate, is the loss of energy per unit distance (both constants), and is the length of the edge connecting and . This diffusion process ‘evens out’ the energy distribution of the organism over time, helping cells that can’t directly acquire energy to survive. An organism grows and develops through the accumulation of energy acquired by cells from nutrients in its environment, (detailed in Section III-F).

Energy determines how a cell changes, according to the following condition-action rules:

The action occurs when a cell’s energy level becomes 0. The cell and its leading edge are deleted from the organism and the previous cell’s edge () connected to the successor cell. The rest length of connecting springs is determined proportional to the sum of the energies of the cells at each end of the edge:

(5)

At least three cells are required to maintain a closed loop, so if less than three cells remain the organism is deleted. The rest length of a spring connecting two cells changes according to the energy of the cells, as per (5). So the more energy the longer the rest length, which has the effect of pushing high energy cells further apart. The logic is based on a metaphor of metabolised growth. Growth increases the length of edges, effectively causing the organism to encompass a larger area, increasing its mass and surface area, which in turn impacts on the cell’s dynamics.

When a cell’s energy equals or exceeds the action is initiated, which causes the cell to divide, spawning a new cell (Figure 3). This new cell receives half of the energy of its parent, and both cells share the same location at the start of the process. A new spring is created to connect the cells. The spring’s rest length is determined by the energy of the two connecting cells (5). The rest length causes energy minimisation in the system, pushing new cells apart until their connecting edges’ rest lengths are achieved.

Fig. 3: Cellular division: (a) Cell has reached so will divide. (b) has divided into two new cells, and . The rest lengths of the springs at each edge are set proportional to the cell’s energy, causing the new cells to push apart until they reach equilibrium (c). The dotted circles represent the energy level of each cell.

In biology, organisms acquire energy for growth through, e.g., photosynthesis or the digestion and metabolism of nutrients. We experimented with a number of different scenarios, finding the nutrient metabolism model the most expressive in terms of model form variation. This model in detailed in Section III-F.

Iii-E Organism Division

At each timestep, the combined energy of all an organism’s cells is calculated using . If this total exceeds a threshold, , division occurs, with the original organism splitting into two. The division process proceeds in several steps (see Figure 4):

  1. the cell with the highest energy is found (i.e. ), let this cell be ;

  2. beginning at the organism is traversed along the leading (clockwise) edge, summing the energy of the next cell, ;

  3. the process continues until the ratio of summed energy to total energy () equals , let this cell be ;

  4. An attractive force, , is applied between and until the distance between their centres is ;

  5. the cells and are duplicated and the leading edges of each are connected to the incoming and leading edges of their respective neighbour cells (see Figure 4).

  6. the organism has split into two separate organisms and development of each now continues independently.

Fig. 4: Stages of organism splitting. a) and are defined. b) Attraction forces between and are applied. c) Distance between and reaches splitting threshold () d) Organism splits, producing two separate and independent organisms

Through these processes of cellular and organism growth, the system develops over time. Of course, growth requires energy, so we next outline the metabolic energy model.

Iii-F Metabolic Model

To provide energy to the growing cells we implemented a simple nutrient and metabolism model. We place a fixed number () of nutrition sources, , with uniform random distribution within the 2D simulation environment.444Note that the overall size of the environment is determined by the 3D printer’s build plate area, see Section V-A1. Each nutrient source has a fixed production rate, , measured in nutritional units per timestep, , and a production capacity of nutritional units.

Nutrients are emitted from a source at rate until the total nutrient production from the source reaches . Once a source’s production is exhausted, it is replaced by a new source, at a new random location in the environment. The constants and

are assigned from a normal distribution at the instantiating of

.

Emitted nutrients diffuse uniformly from the source location into the environment. Let the concentration of nutrients at a particular location in the environment be , then the diffusion of nutrients is given by:

(6)

is the time derivative of , is a global constant that controls the rate of diffusion and is the Laplacian of and is a constant decay rate, representing nutrient loss to the environment. In practice we use a two dimensional array of discrete samples mapped over the environment and approximate using finite difference methods.

Cells are able to perceive the presence of nutrients if they are within a fixed distance from the cell. When a cell senses nutrients it excerpts a force, , in the direction of maximum positive gradient of nutrient. The magnitude of the force is proportional to and exerting this force depletes a cell’s energy at a rate (see Section III-D).

Iii-G Model Analysis

To analyse the contribution of each model component described in this section, we turned off components and generated 100 individuals with random seeding for each. Table I

gives quantitative results of each component of the model. The table shows the normalised standard deviations relative to the full model, with

and the standard deviation of printability and complexity fitness measures (Section IV-A), volume and volume variation. Values are shown with the energy model (Section III-D), organism division (Section III-E), metabolism (Section III-F) and physical simulation (Section III-C) ablated. Removing these model features generally results in significantly less variation in the diversity that the system is capable of generating.

full model 1.0 1.0 1.0 1.0
no energy 0.637489 1.25948 0.724754 1.10708
no division 0.47171 1.18837 0.523708 0.851265
no meta 0.0 0.144783 0.0193064 0.018196
no physics 0.005308 0.384408 0.101377 0.281548
TABLE I: Normalised standard deviations for model components.

Iii-H Simulation into Form

To turn our simulation into form we work within a set of physical constraints defined by 3D printing. The objective is to make this process as efficient as possible by directly controlling the deposition of physical material from the simulation without processing intermediate 3D geometric representations. To generate a 3D form that can directly control the 3D printer, we output the simulation geometry to the printer at each timestep, . This is achieved by converting the simulation geometry directly into G-code,555G-code, also known as RS-274 is a widely used programming language for computer numerical control of computer aided manufacturing tools. i.e. there is no intermediate 3D representation as would normally be required when printing 3D objects. The G-code required to print in extrusion-based printers represents a series of movements between coordinates with instructions to control the volume of material extrusion when moving. As the simulation effectively consists of a series of connected lines, we use this information to directly drive the 3D print head in 2D, allowing the printer to deposit a layer of thin filament that represents organisms’ shapes under simulation at each time step.

As shown in Figure 5, successive layers are added on top of previous ones, turning a set of developing 2D polygons into a 3D object. The coherence of the developmental sequence ensures a degree of continuity between successive layers. The final object represents the developmental history of the 2D organism over a fixed number of time steps. The height of each layer was usually set to 0.2mm and run for 500 time steps during testing, producing an object up to 10cm in height. One limitation is the maximum height that the 3D printer is capable of printing, in the case of our experiments this was 20cm or 1,000 timesteps.

a b c d
Fig. 5: Example 3D printed objects generated during the development phase of our system, where a) is a detail of the object shown in Figure 1 – an object that developed as a single organism, b) and c) show fully printed objects that exhibit some aesthetic diversity, and d) shows an organism that failed to print.

This method also has another important constraint if the form is to be successfully printed: each 2D layer cannot differ from the previous layer too significantly, otherwise the print will fail (known as layer coherence). This is due to the extruded filament not being able to attach to the layer below and hence sagging or entangling the print head (see Figure 5d), resulting in a failed print.

There are a number of possible ways to address this problem: a simple method would be to reduce the magnitude of the timestep , effectively slowing down the development of the organism to reduce the possibility of unacceptable changes between layers. However this typically results in limited change overall and thus produces objects of little aesthetic interest.

A better alternative is to optimise the parameters that determine the organism’s development so it grows in a way that produces aesthetically interesting but printable 3D forms. We discuss this strategy next.

Iv Evolutionary Form-finding

We now describe the form-finding component of our system. We use an evolutionary approach, based on the CMA-ES algorithm [49], to explore the generative capabilities of the simulation model described in the previous section. For this we introduce two distinct fitness measures that look at potentially conflicting characteristics of generated objects: structural consistency, which attempts to measure the viability of the form to be successfully 3D printed, and formal complexity, which in this case is used as a proxy of aesthetic appeal [50, 37].

We use evolution as a method of assisted exploration of the design space, rather than as a fully automated optimisation system. In any complex generative design system, there is no single best solution, rather a range of interesting or acceptable designs that are considered by the human designer. So our aim is to find the most promising regions of the design space effectively, but give the human designer an overall say in which designs are to be selected.

The use of two different fitness measures allows us to investigate the tension between the practical (structural consistency) and aesthetic (formal complexity) aspects of a designed artefact that designers traditionally face through their creative process. By dynamically changing fitness weights, properties of the object, such as regularity, fragmentation, texture and form tectonics emerge from the evolution of the system, rather than being determined through design operations, opening the possibility of unexpected and surprising design outcomes.

Iv-a Fitness functions

As discussed, we calculate fitness for 3D printability () and aesthetic complexity (). In our model these two criteria are often in tension: highly complex objects may not be printable and highly printable objects may not be interesting. Hence a possible design goal would be to generate objects that can be successfully printed yet are as complex as possible, understanding complexity as an approximation of aesthetic appeal.

Iv-A1 Structural Consistency

We base the structural consistency (printability) measure of generated 3D objects on the constraints of Fused Deposition Modelling (FDM) (see Section III-H) – a commonly available method for 3D printing [15]. We aim to print objects using a single strand of plastic filament with no additional supports as a way to minimise the amount of material waste from printing and to reduce post processing after the model is printed (e.g. removal of support structures). However, for this to be feasible two conditions must be met: (i) the smallest diameter () of the convex hull of all organisms cannot be smaller than a threshold (determined empirically) and (ii) each layer of material has to be physically supported by the layer that precedes it.

To account for the diameter constraint we assign a diameter factor () to each organism in an object based on the following conditions:

(7)

where is the smallest diameter of the convex hull of an organism, calculated using the rolling calipers method [51].

In order to determine if a layer is supported we consider the recommendation of the 3D printer manufacturer, which indicates that for material to be supported the overhang between layers should not exceed 45 degrees (Figure 6a). We use this principle to calculate a support score () for the vertices and midpoint of every edge in the object using the following equation:

(8)

where is the distance between the 2D projections of the vertex being assessed and the edge closest to it in the layer below (see Figure 6b), and is the height of the layer.

Fig. 6: Layer support: (a) Axonometric projection showing stacked layers of filament (), extruded from the print head, with open end faces. The angle of overhang () is measured between the vertical axis a layer and the line connecting the centre points of that layer and the one immediately above. This angle should not exceed (b) Top down projection of the centre axis of segments of filament.

We then use the support score of vertices and edge midpoints, in conjunction with of the organism to calculate the ratio of the edge that is supported () as follows:

(9)

where are the support scores for the start point, mid point and end point of the edge, respectively.

Finally, the overall printability for the colony, , is the normalised measure that the form can be successfully printed, calculated using the following equation:

(10)

where is the total number of edges in an object, is the support score of edge and is its length.

Iv-A2 Formal Complexity

We employed two separate metrics to evaluate the complexity of a candidate form: convexity

and the quartile

coefficient of dispersion of angles between consecutive edges. Each measure is calculated for every organism in the colony at each time step.

Convexity, , is calculated as the ratio between the perimeter of the convex hull of a shape and its total perimeter, i.e.

(11)

where is a function that returns the perimeter length of at time , and a function that returns the perimeter length of the convex hull of . A completely convex shape will yield a convexity score of 1. Conversely, a shape with a ‘rougher’ surface will yield a lower score.

The quartile coefficient of dispersion of angles is calculated as follows:

(12)

where and are the first and third quartiles of the sorted array of all angles between consecutive edges in the 3D shape. A low dispersion score indicates a lack of diversity of angles, which translates into a regular shape.

To calculate overall formal complexity of a colony, , we use a weighted sum: , where is the normalised relative weighting. Similarly, overall fitness is the weighted sum of and . We experimented with different weights and changing weights during an evolutionary run, described in Section V.

Iv-B Evolution strategy

We used an implementation of the covariance matrix adaptation evolution strategy (CMA-ES) [49]

, because it is well suited to work with low-dimensional floating point vectors as genomes, directly matching the genetic encoding of our system. Additionally, its adaptive capabilities enable us to purposefully explore a fitness landscape that, as revealed by our preliminary studies, is far from unimodal. Lastly, it allows us to work with variable weight fitness functions during a single evolutionary run.

Iv-C Model Design Space

To better understand the design space of our form generation model we generated a number of individual forms to examine the range and diversity of possible forms. Fixed aspects built into the model constrain the overall size and basic structure of any possible form. These constraints include the build area of the 3D printer and the underlying stacked 2D, line-based geometry used to generate toolpah movements. Nevertheless the range of possible forms possible is quite diverse. A dataset of 2,500 generated forms is available for the interested reader to examine [52]. We generated 9,950 uniform random initialised forms and measured their and fitness values. The mean was 0.946 with . Mean was 0.105 with . This indicates that the majority of forms are highly printable but aesthetically uninteresting. Hence we turn to evolution to find highly complex yet printable forms.

V Experiment Settings and Results

In this section we present a series of experiments running the CMA-ES on the generative system to evolve suitable designs. The two approaches we explored consider a) evolving generated colonies using different fitness weights, and b) altering weights at different points in an evolutionary run.

V-a Initial parameters for the generation of organisms

The evolution of 3D printable objects using our generative developmental system is based on the progressive transformation of the five alleles in the genome of an organism (). We defined the remaining parameters of the system as follows:

V-A1 Environment

The environment is defined as a 2D plane that corresponds to 3D printer’s build plate dimensions. We used a resolution of units (0.35mm/unit) giving sufficient detail for intricate shapes and motifs balanced with reasonable processing times. The placement and diffusion of nutrients in the environment is discreetised into tiles, with number of sources and , where

returns a uniformly distributed pseudo-random number in the range

(refer Section III-F).

V-A2 Colonies

The colony is the unit of selection in the evolutionary component of our system, i.e. we evolve populations of colonies. Each colony generated by the evolutionary system is initialised with a single circular organism with its centroid at the centre of the build plate, a radius of 100 units and initial energy, , for each cell. The number of initial cells in the organism is set to , where is the initial organism radius (100). The repulsion radius, for the cells is set to 3 and the cost of living . Additionally, the diffusion rate is set to and loss of energy per unit distance (refer Section III-D).

V-B Parameters for the evolutionary processes

A hyperparamerter search was conducted to determine the CMA-ES values for , and the standard deviation for initial sampling , with , and found to offer the best trade-off between search efficiency and compute resources. The remaining parameters, maximum iterations and step size (learning rate) used different values for each experiment. For the initial experiments, and .

V-C Experiments and Results

a b
Fig. 7: Evolutionary runs showing the mean printability (), complexity (

) and overall fitness for the best individual at every generation averaged over 30 runs. The shaded components show the variance. In a) the system was set to optimise

and equally, and in b) only .

Our first experiments tested the ability of the system to find designs using a weighted sum of the fitness measures and . Figure 7 shows the results averaged over 30 runs, with each run using a new random seed for the environment (Section V-A1) – designed to eliminate environmental dependencies when evaluating the overall ES performance. Figure 7a, shows the results using equal weighting. As can be seen, the printability quickly optimises while there is a modest increase in complexity. Visually examining the fittest individuals at each generation revealed that once the system had found a highly printable form, it was difficult to escape the basic structure of that form to find more complex objects that remain as printable.

We experimented with increasing the weighting of , and ultimately found that maximising the weighting gave the most interesting design results (Figure 7b). In this case, evolution was better able to optimise complexity without the additional constraint of printability, confirming what is often intuitive to experienced human designers: that practical constraints often limit the overall complexity a form can achieve.

Figure 8 shows example outcomes when evolving colonies optimising for complexity and illustrates the consequences of a low printability score. The two images on the left (a) show the digital rendering and 3D printed versions of a form with and , resulting in a failed print. The images on the right (b) show an object with higher complexity () and printability (), which prints successfully.

Fig. 8: Side by side comparison of digital rendering and 3D printed versions of two generated forms. For (a) and , resulting in a failed print. For (b) and , giving a fully printable form.

In the second set of experiments, we attempted to improve the printability of specific objects generated in the previous stage while preserving their physical complexity. The rationale for this is to “tame” an interesting design back to just being printable while trying to preserve its complexity. To do so we selected visually interesting individuals (high ) with low measures from the first set of evolutionary runs, and used them as reference individuals when sampling the initial population. The seed for the environment was carried over from the seed individual’s initial evolution, to ensure an identical form. For these runs the number of maximum iterations was set to , the initial standard deviation to and the learning rate to , favouring local search around the initial form. Figure 9 shows how CMA-ES managed to improve . Figure 10 shows example initial and final objects. It is possible to observe that while both objects are different, they maintain similarities in overall shape and complexity – especially in the lower section. A closer inspection of the finished products reveals deficiencies in the quality of the initial print, that are corrected in the final outcome.

Fig. 9: Evolutionary run initialised with an individual selected for its complexity and aesthetic interest. This individual is used as reference point to sample the initial population of an evolutionary process aimed at maximising .
a b
Fig. 10: Initial (a) and final form (b) evolved to optimise .

Vi Analysis and Discussion

The results demonstrate that our generative developmental system can be effective for producing objects with a diverse range of physical characteristics and unique aesthetic properties.

Vi-a Fitness Measures

The two new fitness measures we introduced (Section IV-A) were designed to evaluate the opposing tensions of structural consistency (printability) and formal complexity (aesthetics). We empirically tested and tuned these measures on hundreds of simulations and many dozens of physical prints to arrive with the final formulations presented.

Using a continuous measure of printability allows the designer to decide how much they are willing to risk a print failing in order to create a specific aesthetic form. Empirically testing our measure on dozens of actual 3D prints showed it to be a reliable indicator of how well a form will print, with a measure of 1 being effectively ‘perfect’ (always printable without flaws) and values having very slight, occasional flaws but are always fully printable. Values below 0.8 have noticeable flaws but are generally still fully printable, whereas those below 0.7 will often fail to fully print at all (Figure 8a). Having a reliable measure such as this is important. Complex 3D prints can take many hours (or even days in extreme cases) to print and require significant quantities of print material. Both time and material are wasted on a failed print. Knowing that a form will successfully print eliminates this problem.

Our complexity measure was developed as a quantifiable proxy for visual aesthetics. This intuition is based on past findings that associate complexity with aesthetics [50, 37]. As we discussed in Section II-B, human aesthetic judgement depends on many factors beyond the visual or structural appearance of objects. Hence it is difficult to objectively evaluate the effectiveness of our measure in absolute terms, beyond our observations as practising designers that objects with higher complexity measures seem more interesting to us.

However, an additional study using a dataset of 2,500 forms [52] confirmed that our formal complexity measure has a high correlation to visual complexity. We evaluated the Pearson correlation between and the 2D image visual complexity measure described in [53], achieving a correlation of 0.774 with [54]. Hence we believe we can claim our measure is comparable with other leading measures of visual complexity for the forms generated by our system.

Vi-B Evolution

Adjusting the weights of the components of the fitness function over evolutionary runs and the learning rate to find and refine complex objects proved to be viable technique for the exploration of the useful design space produced by the generative system.

By observing the evolution of the fittest individual in the population, when the system is set to optimise for complexity, the CMA-ES approach is capable of finding fitter individuals over time. However, without taking into account the printability, some complex designs will fail to successfully print. Reducing the learning rate favours localised search, in which characteristics of the objects being generated are preserved, but their printability increases significantly.

Comparing the evolutionary trajectories of the populations evolved with differently weighted fitness functions, two main observations can be made. Firstly, it is not possible to draw an absolute correlation between complexity and printability, as can be seen in Figure 7(b). However, Figure 7(a) shows that by weighting printability and complexity equally, the search for more complex objects is less effective. This is most likely due to the nature of the fitness landscape, which has a large number of forms with high but medium to low scores.

In light of the results obtained, the flexibility shown by the generative system, and the capability of the CMA-ES strategy to improve the fitness of generated objects over time, we foresee two main avenues to continue our exploration. First, the revision and adjustment of the method that measures complexity seems to be paramount, as some formal aspects of the generated objects that have a significant impact on printability, as well as on their perceived complexity, such as the repeated division of organisms – which results in branching 3D objects – are not sufficiently reflected in complexity scores.

Second, using the adaptive capabilities of CMA-ES, it should be possible to dynamically vary fitness and learning weights as a way to explore the design space interactively. Compute times to generate populations remains the barrier to doing this in real time, so greater efficiencies in our generative model need to be implemented.

Given this could be considered a multi-objective optimisation problem, it is reasonable to ask why MOEA methods such as NSGA-II [55] were not used in our system. While the MOEA approach is more flexible in its ability to allow wider candidate solutions with diverse features to be evolved at the same time, crossover is capable of capturing diversity more consistently when performed on larger (higher dimension) feature vectors. Conversely the CMA-ES approach works well with low-dimensional genome vectors, and requires a much smaller population size, which leads to faster execution, especially when it finds a good solution. Given the significant processing time to grow a colony into a final form, we opted for this efficiency, hoping for more interactive explorations of the design space through many short evolutionary runs. Future work could certainly look into the use of MOEA as an alternative to CMA-ES.

Vii Conclusion

In this paper we have described a system that explores a design space to find 3D forms with high practical and aesthetic fitness. The system was developed in two stages: First, a generative developmental system was devised that is capable of generating a diverse range of 3D forms via the manipulation of a low-dimensional parameter vector; and second, an evolutionary algorithm that incorporates printability and aesthetic fitness measures was used to explore the design space produced by the generative system.

We tested the system by evolving populations of generated 3D objects suitable for 3D printing. The primary goal was to find candidates that were both printable and aesthetically complex. However, this exploration also provided insight into the characteristics of the design space itself, via the comparative analysis of the generated objects.

The results show that the evolution strategy used provides a reliable search mechanism for the exploration of design space, as long as the fitness functions accurately represent the design objectives being pursued. Being able to dynamically adjust the weights between practical (printability) and aesthetic (visual complexity) goals as the evolution progresses opens the possibility of a designer-guided exploration of the design space. In contrast to algorithms such as the IGA, we automate both aesthetic and practical optimisation goals, removing the designer from selecting the fittest individual at every generation. Instead, after evolving for specific criteria, the designer can then shift the weighting of fitness criteria and learning rate for selected high fitness individuals, then using the evolutionary system to maintain one evolved trait (e.g. Complexity) while improving the other (Printability). This form of guided evolutionary search allows the designer to focus on selection of individuals at specific points in the overall process, leaving evolution to do the optimisation via formalised fitness measures.

Acknowledgements

This research was supported by an Australian Research Council grant FT170100033.

References

  • [1] B. Hillier and J. Hanson, The social logic of space.   Cambridge university press, 1989.
  • [2] B. Lawson, How designers think: The design process demystified, 2nd ed.   London: Routledge, 1990.
  • [3] W. J. Mitchell, Computer-aided architectural design.   New York: John Wiley & Sons, Inc., 1977.
  • [4] A. Adamatzky and G. J. Martinez, Eds., Designing Beauty: The Art of Cellular Automata, ser. Emergence, Complexity and Computation.   Springer International Publishing, 2016.
  • [5] J. McCormack, “A developmental model for generative media,” in Advances in Artificial Life (8th European Conference, ECAL 2005), M. Capcarrere, A. A. Freitas, P. J. Bentley, C. G. Johnson, and J. Timmis, Eds.   Berlin; Heidelberg: Springer-Verlag, 2005, vol. LNAI 3630, pp. 88–97.
  • [6] G. Greenfield and P. Machado, “Simulating artist and critic dynamics - an agent-based application of an evolutionary art system,” in IJCCI, A. D. Correia, A. C. Rosa, and K. Madani, Eds.   INSTICC Press, 2009, pp. 190–197.
  • [7] J. Jones, From Pattern Formation to Material Computation, ser. Emergence, Complexity and Computation.   Springer International Publishing, 2015. [Online]. Available: http://dx.doi.org/10.1007/978-3-319-16823-4
  • [8] P. J. Bentley, Evolutionary design by computers.   San Francisco, Calif.: Morgan Kaufmann Publishers, 1999.
  • [9] P. J. Bentley and D. W. Corne, Eds., Creative Evolutionary Systems.   London: Academic Press, 2002.
  • [10] G. Lynn and T. Kelly, Animate form.   Princeton Architectural Press New York, 1999.
  • [11] B. Porter and J. McCormack, “Developmental modelling with SDS,” Computers & Graphics, vol. 34, no. 4, pp. 294–303, 2010.
  • [12] I. Dino, “Creative design exploration by parametric generative systems in architecture,” METU Journal of Faculty of Architecture, vol. 29, no. 1, pp. 207–224, 2012.
  • [13] D. J. Munk, G. A. Vio, and G. P. Steven, “Topology and shape optimization methods using evolutionary algorithms: a review,” Structural and Multidisciplinary Optimization, vol. 52, no. 3, pp. 613–631, 2015.
  • [14] C. Waibel, T. Wortmann, R. Evins, and J. Carmeliet, “Building energy optimization: An extensive benchmark of global search algorithms,” Energy and Buildings, vol. 187, pp. 218–240, 2019.
  • [15] B. Harwood, F. Schöffer, and B. Garret, The 3D Printing Handbook.   The Netherlands: 3D Hubs B.V., 2018.
  • [16] J. C. Steuben, A. P. Iliopoulos, and J. G. Michopoulos, “Implicit slicing for functionally tailored additive manufacturing,” Computer-Aided Design, vol. 77, pp. 107–119, 2016.
  • [17] J. McCormack, O. Bown, A. Dorin, J. McCabe, G. Monro, and M. Whitelaw, “Ten questions concerning generative computer art,” Leonardo, vol. 47, no. 2, pp. 135–141, 2014.
  • [18] M. Whitelaw, “System stories and model worlds: A critical approach to generative art,” in Readme 100: temporary software art factory.   Norderstedt: Herstellung und Verlag, 2005, pp. 135–156.
  • [19] J. McCormack, A. Dorin, and T. Innocent, “Generative design: A paradigm for design research,” in Futureground, J. Redmond, D. Durling, and A. de Bono, Eds.   Melbourne, Australia: Design Research Society, 2004. [Online]. Available: https://dl.designresearchsociety.org/drs-conference-papers/drs2004/researchpapers/171/
  • [20] M. A. Boden and E. A. Edmonds, “What is generative art?” Digital Creativity, vol. 20, no. 1 & 2, pp. 21–46, March 2009.
  • [21] C. Reas, C. McWilliams, and LUST, Form+Code in Design, Art, and Architecture.   Princeton Architectural Press, Inc., 2010. [Online]. Available: http://formandcode.com/
  • [22] A. Dorin, J. McCabe, J. McCormack, G. Monro, and M. Whitelaw, “A framework for understanding generative art,” Digital Creativity, vol. 23, no. 3-4, pp. 239–259, 2012. [Online]. Available: https://doi.org/10.1080/14626268.2012.709940
  • [23] H. Bohnacker, B. Groß, J. Laub, and C. Lazzeroni, Generative Design: Visualize, Program, and Create with Processing, English ed.   Princeton Architectural Press, 2012.
  • [24] P. S. Stevens, Patterns in nature.   Boston, Mass.: Little Brown, 1974.
  • [25] C. Alexander, Notes on the synthesis of form.   Cambridge, Mass: Harvard University Press, 1964.
  • [26] ——, A pattern language: towns, buildings, construction.   Oxford university press, 1977.
  • [27] G. Stiny, Pictorial and formal aspects of shape and shape grammars, ser. ISR, Interdisciplinary systems research;.   Basel; Stuttgart: Birkhäuser, 1975, no. xv, 399.
  • [28] M. Whitelaw, “Accretor: Generative materiality in the work of Driessens and Verstappen,” Artificial life, vol. 21, no. 3, pp. 307–312, 2015.
  • [29] A. Lomas, “Cellular forms: an artistic exploration of morphogenesis,” in AISB.   ACM, 2014.
  • [30] ——, “Morphogenetic vase forms,” Artificial Life Conference Proceedings, no. 31, pp. 523–530, 2019. [Online]. Available: https://www.mitpressjournals.org/doi/abs/10.1162/isal˙a˙00215
  • [31] K. Sims, “Artificial evolution for computer graphics,” in Computer Graphics, vol. 25, no. 4, ACM SIGGRAPH.   New York: ACM SIGGRAPH, July 1991, pp. 319–328. [Online]. Available: http://www.genarts.com/karl/papers/siggraph91.html
  • [32] J. McCormack, “Interactive evolution of forms,” in Cultural Diversity in the Global Village: Third International Symposium on Electronic Art, A. Cavallaro, R. Harley, L. Wallace, and M. Wark, Eds.   Sydney, Australia: The Australian Network for Art and Technology, 1992, p. 122.
  • [33] S. Todd and W. Latham, Evolutionary Art and Computers.   London: Academic Press, 1992.
  • [34]

    H. Takagi, “Interactive evolutionary computation: Fusion of the capabilities of EC optimization and human evaluation,”

    Proceedings of the IEEE, vol. 89, pp. 1275–1296, Sep 2001.
  • [35] J. Secretan, N. Beato, D. B. D’Ambrosio, A. Rodriguez, A. Campbell, J. T. Folsom-Kovarik, and K. O. Stanley, “Picbreeder: A case study in collaborative evolutionary exploration of design space,” Evolutionary Computation, vol. 19, no. 3, pp. 373–403, 2011.
  • [36] O. Bown and J. McCormack, “Taming nature: tapping the creative potential of ecosystem models in the arts,” Digital Creativity, vol. 21, no. 4, pp. 215–231, 2010.
  • [37] C. G. Johnson, J. McCormack, I. Santos, and J. Romero, “Understanding aesthetics and fitness measures in evolutionary art systems,” Complexity, vol. 2019, no. Article ID 3495962, p. 14 pages, 2019. [Online]. Available: https://doi.org/10.1155/2019/3495962
  • [38] J. McCormack, “Open problems in evolutionary music and art,” in EvoWorkshops, ser. Lecture Notes in Computer Science, F. Rothlauf, J. Branke, S. Cagnoni, D. W. Corne, R. Drechsler, Y. Jin, P. Machado, E. Marchiori, J. Romero, G. D. Smith, and G. Squillero, Eds., vol. 3449.   Springer, 2005, pp. 428–436.
  • [39] H. Leder, B. Belke, A. Oeberst, and D. Augustin, “A model of aesthetic appreciation and aesthetic judgments,” British Journal of Psychology, vol. 95, pp. 489–508, 2004.
  • [40] H. Leder and M. Nadal, “Ten years of a model of aesthetic appreciation and aesthetic judgments: The aesthetic episode – developments and challenges in empirical aesthetics,” British Journal of Psychology, vol. 105, pp. 443–464, 2014.
  • [41] S. Baluja, D. Pomerleau, and T. Jochem, “Simulating user’s preferences: Towards automated artificial evolution for computer generated images,” Connection Science, vol. 6, pp. 325–354, 1994.
  • [42] J. McCormack and A. Lomas, “Understanding aesthetic evaluation using deep learning,” in Artificial Intelligence in Music, Sound, Art and Design. EvoMUSART 2020, ser. LNCS, J. Romero, A. Ekárt, T. Martins, and J. Correia, Eds.   Springer, Cham, 2020, vol. 12103.
  • [43] ——, “Deep learning of individual aesthetics,” Neural Computing and Applications, vol. 33, pp. 3–17, October 2021.
  • [44] C. C. Tutum, S. Chockchowwat, E. Vouga, and R. Miikkulainen, “Functional generative design: an evolutionary approach to 3D-printing,” in Proceedings of the Genetic and Evolutionary Computation Conference, 2018, pp. 1379–1386.
  • [45] E. A. Yu, J. Yeom, C. C. Tutum, E. Vouga, and R. Miikkulainen, “Evolutionary decomposition for 3D printing,” in Proceedings of the Genetic and Evolutionary Computation Conference, 2017, pp. 1272–1279.
  • [46] H. Zhao, F. Gu, Q.-X. Huang, J. Garcia, Y. Chen, C. Tu, B. Benes, H. Zhang, D. Cohen-Or, and B. Chen, “Connected fermat spirals for layered fabrication,” ACM Transactions on Graphics (TOG), vol. 35, no. 4, pp. 1–10, 2016.
  • [47] P. Barlow, P. Brain, and J. Adam, “Differential growth and plant tropisms: a study assisted by computer simulation,” in Differential Growth in Plants.   Elsevier, 1989, pp. 71–83.
  • [48] P. Ball, The self-made tapestry: pattern formation in nature.   Oxford University Press Oxford, 1999.
  • [49] N. Hansen and A. Ostermeier, “Completely derandomized self-adaptation in evolution strategies,” Evolutionary computation, vol. 9, no. 2, pp. 159–195, 2001.
  • [50] A. Forsythe, M. Nadal, N. Sheehy, C. J. Cela-Conde, and M. Sawey, “Predicting beauty: fractal dimension and visual complexity in art.” British Journal of Psychology, vol. 102, no. 1, pp. 49–70, 2011.
  • [51] M. I. Shamos, “Computational geometry.” Ph. D. Thesis, Yale University, 1978. [Online]. Available: https://ci.nii.ac.jp/naid/10000034927/en/
  • [52] J. McCormack and C. C. Gambardella, “DLA Form Generation dataset,” 1 2021. [Online]. Available: https://bridges.monash.edu/articles/dataset/DLA˙Form˙Generation˙dataset/13663400
  • [53] S. Lakhal, A. Darmon, J.-P. Bouchaud, and M. Benzaquen, “Beauty and structural complexity,” Phys. Rev. Research, vol. 2, p. 022058, Jun 2020. [Online]. Available: https://link.aps.org/doi/10.1103/PhysRevResearch.2.022058
  • [54] J. McCormack, C. C. Gambardella, and A. Lomas, “The enigma of complexity,” arXiv preprint arXiv:2102.02332, 2021. [Online]. Available: https://arxiv.org/abs/2102.02332
  • [55] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, “A fast and elitist multiobjective genetic algorithm: NSGA-II,” IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182–197, April 2002.