0% found this document useful (0 votes)
43 views19 pages

Genetic Algorithms in Computer Aided Design

This document discusses the use of genetic algorithms in computer aided design. It begins by noting that design problems can often be formulated as optimization problems, where the goal is to find the best set of parameters or structure to meet predefined requirements. While traditional optimization methods have limitations for complex real-world design problems, genetic algorithms are well-suited for solving such problems. Genetic algorithms mimic natural evolution by maintaining a population of potential solutions and applying principles of selection, crossover and mutation to arrive at improved solutions over multiple generations. The document provides an overview of genetic algorithms and their applications in various domains of engineering design.

Uploaded by

nania.armando
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views19 pages

Genetic Algorithms in Computer Aided Design

This document discusses the use of genetic algorithms in computer aided design. It begins by noting that design problems can often be formulated as optimization problems, where the goal is to find the best set of parameters or structure to meet predefined requirements. While traditional optimization methods have limitations for complex real-world design problems, genetic algorithms are well-suited for solving such problems. Genetic algorithms mimic natural evolution by maintaining a population of potential solutions and applying principles of selection, crossover and mutation to arrive at improved solutions over multiple generations. The document provides an overview of genetic algorithms and their applications in various domains of engineering design.

Uploaded by

nania.armando
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/235707728

Genetic Algorithms in Computer Aided Design

Article in Computer-Aided Design · August 2003


DOI: 10.1016/S0010-4485(03)00003-4

CITATIONS READS

307 379

2 authors:

Gabor Renner A. Ekárt


Hungarian Academy of Sciences Aston University
43 PUBLICATIONS 638 CITATIONS 62 PUBLICATIONS 819 CITATIONS

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Evolutionary Art View project

INdividual Vascular SignaTure (INVeST): A new machine learning tool to aid personalised
management of risk for cardiovascular disease View project

All content following this page was uploaded by A. Ekárt on 14 April 2016.

The user has requested enhancement of the downloaded file. All in-text references underlined in blue are added to the original document
and are linked to publications on ResearchGate, letting you access and read them immediately.
Computer-Aided Design 35 (2003) 709–726
www.elsevier.com/locate/cad

Genetic algorithms in computer aided design


Gábor Rennera,*, Anikó Ekárta,b
a
Computer and Automation Research Institute, Hungarian Academy of Sciences, P.O. Box 63, 1518 Budapest, Hungary
b
School of Computer Science, The University of Birmingham, Birmingham B15 2TT, UK
Accepted 23 December 2002

Abstract
Design is a complex engineering activity, in which computers are more and more involved. The design task can often be seen as an
optimization problem in which the parameters or the structure describing the best quality design are sought.
Genetic algorithms constitute a class of search algorithms especially suited to solving complex optimization problems. In addition to
parameter optimization, genetic algorithms are also suggested for solving problems in creative design, such as combining components in a
novel, creative way.
Genetic algorithms transpose the notions of evolution in Nature to computers and imitate natural evolution. Basically, they find solution(s)
to a problem by maintaining a population of possible solutions according to the ‘survival of the fittest’ principle. We present here the main
features of genetic algorithms and several ways in which they can solve difficult design problems. We briefly introduce the basic notions of
genetic algorithms, namely, representation, genetic operators, fitness evaluation, and selection. We discuss several advanced genetic
algorithms that have proved to be efficient in solving difficult design problems. We then give an overview of applications of genetic
algorithms to different domains of engineering design.
q 2003 Elsevier Science Ltd. All rights reserved.
Keywords: CAD; Genetic algorithms; Optimization; Geometric design; Conceptual design; Mechanism design

1. Introduction they may fail in more complex design situations. In real


design problems the number of design parameters can be
Design is an engineering activity for creating new very large, and their influence on the value to be optimized
technical structures characterized by new parameters, (the goal function) can be very complicated, having a
aimed at satisfying predefined technical requirements. As strongly non-linear character. The goal function usually has
does any process, it consists of several phases, which differ many local extrema, whereas the designer is interested in
in details such as depth of the design, kind of input data, the global extremum. Such problems cannot be handled by
design strategy and procedures, and results: e.g. consider the classical methods (e.g. gradient methods) at all, or they only
differences between conceptual design and detail design. In compute local extrema. In these complex cases stochastic
spite of the great variety of design tasks, the design steps can optimization techniques including evolutionary algorithms
often be interpreted as solving optimization problems. In such as genetic algorithms may offer solutions to the
this case a structure and/or a set of parameters is sought, problem; they may find a design near to the global optimum
which results in the best value of some attribute character- within reasonable time and computational costs.
izing the quality of the design. Different variants of gradient methods start from a single
Classical (analytical or numerical) methods for calculat- point in the search space (a solution to the design problem),
and search for a better solution in the direction of the
ing the extrema of a function have been applied to
gradient of the goal function (this method is also called hill
engineering computations for a long time. While they
climbing). If the new point has a better value of the goal
perform well in many cases of everyday design practice,
function, it becomes the current point and the process is
* Corresponding author. repeated. The method is efficient, because it requires just a
E-mail addresses: [email protected] (G. Renner), few evaluations of potential solutions, which may be crucial
[email protected] (A. Ekárt). in complex engineering problems. However, gradient
0010-4485/03/$ - see front matter q 2003 Elsevier Science Ltd. All rights reserved.
doi:10.1016/S0010-4485(03)00003-4
710 G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726

methods have several difficulties. The basic problem is that Table 1


gradient methods find only a local optimum, and no The correspondence of terms between natural and artificial evolution
information is available on how good it is compared to the Nature Evolutionary computation
global one. Moreover, the local optimum found depends on
the starting point; to improve results the computation is Individual Solution to a problem
usually repeated for a number of starting points. The goal Population Collection of solutions
function must be smooth, and a procedure is needed to Fitness Quality of a solution
Chromosome Representation of a solution
compute gradients (analytically, or at least numerically). In
Gene Part of representation of a solution
real design problems—with complicated or possibly Crossover Binary search operator
discontinuous goal functions, and discrete variables— Mutation Unary search operator
these conditions are in general not straightforward to fulfill. Reproduction Reuse of solutions
Some of the disadvantages of the gradient method can be Selection Keeping good subsolutions
eliminated by the simulated annealing method, which is a
stochastic search method. Here a new solution is obtained
by perturbing the current solution. If the goal function of the and the weak individuals, which are not so fit, die off. New
new solution is better than that of the previous solution, then individuals are created from one or two parents by mutation
it is accepted. It is also possible, however, for the method to and crossover, respectively (unary and binary operators).
accept a solution, which produces a worse value of the goal They replace old individuals in the population and they are
function. The probability of accepting a worse solution is usually similar to their parents. In other words, in a new
reflected in the temperature of the system. The temperature generation there will appear individuals that resemble the fit
is gradually lowered as the search proceeds through an individuals from the previous generation. The individuals
annealing process (e.g. following Boltzmann’s law), thus survive if they are fitted to the given environment.
allowing acceptance of worse solutions with greater In Table 1 we present the analogy of terms between
probability at the beginning and with smaller probability Nature and artificial evolutionary systems in general.
later. From a practical point of view, the advantage of
simulated annealing is that there is a good chance of finding
the global optimum and that the solution does not depend on 2. Genetic algorithms at work
the starting point. It is clear, however, that simulated
annealing requires higher computational effort than the Evolution is an emergent property of artificial evolution-
gradient method. ary systems. The computer is only told to (1) maintain a
Genetic algorithms strongly differ in conception from population of solutions, (2) allow the fitter individuals to
other search methods, including traditional optimization reproduce, and (3) let the less fit individuals die off. The new
methods and other stochastic search methods. The basic individuals inherit the properties of their parents, and the
difference is that while other methods always process single fitter ones survive for the next generation. The final
points in the search space, genetic algorithms maintain a solutions will be much better than their ancestors from the
population of potential solutions. first generation.
Genetic algorithms constitute a class of search methods This evolution is directed by fitness. The evolutionary
especially suited for solving complex optimization problems search is conducted towards better regions of the search
[6,8,36,44,64]. Search algorithms in general consist of space on the basis of the fitness measure. Each solution in a
systematically walking through the search space of possible population is evaluated based on how well it solves the
solutions until an acceptable solution is found. Genetic given problem. Correspondingly, each member of the
algorithms transpose the notions of natural evolution to the population is assigned a fitness value.
world of computers, and imitate natural evolution. They Genetic algorithms use a separate search space and
were initially introduced by John Holland [44] for explain- solution space. The search space is the space of coded
ing the adaptive processes of natural systems and for solutions, i.e. genotypes or chromosomes consisting of
creating new artificial systems that work on similar bases. In genes. More exactly, a genotype may consist of several
Nature new organisms adapted to their environment develop chromosomes, but in most practical applications genotypes
through evolution. Genetic algorithms evolve solutions to are made of one chromosome. The solution space is the
the given problem in a similar way. They maintain a space of actual solutions, i.e. phenotypes. Any genotype
collection of solutions—a population of individuals—and so must be transformed into the corresponding phenotype
perform a multidirectional search. The individuals are before its fitness is evaluated.
represented by chromosomes composed of genes. Genetic
algorithms operate on the chromosomes, which represent the 2.1. The outline of a genetic algorithm (GA)
inheritable properties of the individuals. By analogy with
Nature, through selection the fit individuals—potential When solving a problem using genetic algorithms, first a
solutions to the optimization problem—live to reproduce, proper representation and fitness measure must be designed.
G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726 711

The above process transposes the natural process of


evolution into algorithmic terms. To predict the GAs’
behavior, it would be useful to have a mathematical
characterization of how they work. Unfortunately, it is
very difficult—if not impossible—to predict how a
stochastic search method like GAs will perform on a
specific problem in a complex, highly non-linear domain.
However, there are theoretical results highlighting why and
how GAs work for idealized settings.
Theoretical work shows that already evolved good parts
of solutions (building blocks, or so-called schemata) can be
transferred to subsequent generations through crossover [36,
44]. In a genetic algorithm, schemata of small size and with
performance better than average appear at exponentially
increasing rates in consecutive generations. The so-called
schema theorem states that good schemata are expected to
gain precedence throughout evolution at an exponential
Fig. 1. Genetic algorithm flowchart.
rate.
When applying GAs to more complex design problems, a
complete theoretical analysis is not possible, and in such
Many representations are possible, and will work. Some are cases ingenious GA design ideas in the choice of
better than the others, however. Devising the termination representation and operators are needed to ensure evolution
criterion should be the next step. The termination toward good solutions.
criterion usually allows at most some predefined number
of iterations and verifies whether an acceptable solution has 2.2. Representation
been found. The genetic algorithm then works as follows
(also shown in Fig. 1):
When designing a genetic algorithm for a given problem,
choosing the representation (i.e. constructing the chromo-
1. The initial population is filled with individuals that are some) is the first step. Generally, for the same problem one
generally created at random. Sometimes, the individuals can imagine a number of possible representations, ranging
in the initial population are the solutions found by some from very simple representations to more complicated ones.
method determined by the problem domain. In this case, Despite using the same underlying principles of inheritance
the scope of the genetic algorithm is to obtain more and evolution, the results obtained with the different
accurate solutions. representations can be very different. Some representations
2. Each individual in the current population is evaluated can successfully lead to good solutions, while others fail to
using the fitness measure. converge or take too much time to complete. The reason is
3. If the termination criterion is met, the best solution is that the representation together with the recombination
returned. operators bound the exploration of the search space to
4. From the current population individuals are selected certain regions. In some situations it is desirable to explore
based on the previously computed fitness values. A new as much of the search space as possible. In other situations,
population is formed by applying the genetic operators when many restrictions on the acceptable solution are
(reproduction, crossover, mutation) to these individuals. imposed, it is preferable to explore only the regions of the
The selected individuals are called parents and the search space that correspond—at least partly—to these
resulting individuals offspring. Implementations of restrictions. Also, different representations reparameterize
genetic algorithms differ in the way of constructing the the search space, making it easier or harder to search.
new population. Some implementations extend the A common representation used in simple genetic
current population by adding the new individuals and algorithms is the fixed length bit string. In the case of
then create the new population by omitting the least fit more complex problems a more sophisticated representation
individuals. Other implementations create a separate might lead to better results. In some cases the problem
population of new individuals by applying the genetic consists of function optimization over one or more real
operators. Moreover, there are GAs that do not use valued parameters. In such situations, real valued strings can
generations at all, but continuous replacement. lead faster to the desired solutions, if the genetic operators
5. Actions starting from step 2 are repeated until the are also properly designed.
termination criterion is satisfied. An iteration is called In solving complex design problems, e.g. in the case of
generation. shape design, when the task is to find a complicated shape
712 G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726

that corresponds to some criteria, a two or three dimensional domain knowledge related to the given problem. In a
representation is often much more successful. representation consisting of numerical values, the so-called
In other cases, variable length representations may be arithmetic crossover generates offspring as a component-
chosen, when the genetic algorithm finds the appropriate wise linear combination of the parents.
length of the chromosome and its content at the same time. In later phases of evolution it is more desirable to keep fit
A general experience is that incorporating knowledge individuals intact, so it is a good idea to use an adaptively
specific to the problem domain into the representation helps changing crossover rate: higher rates in early phases and a
to guide the evolutionary process towards good solutions. lower rate at the end of the genetic algorithm. Sometimes it
However, there is no exact recipe for choosing the right is also helpful to use several different types of crossover at
representation for each problem. One always has to make a different stages of evolution.
trade-off. On one hand, with simple representations, the Mutation. A new individual is created by making
genetic algorithm might spend too much time exploring modifications to one selected individual. The modifications
irrelevant regions of the search space. On the other hand, can consist of changing one or more values in the
when incorporating too much domain knowledge, the representation or in adding/deleting parts of the represen-
resulting offspring might get too far from their parents tation. In genetic algorithms mutation is a source of
without ever reaching equilibrium (see Section 2.6). variability, and is applied in addition to crossover and
reproduction.
2.3. Genetic operators At different stages of evolution, one may use different
mutation operators. At the beginning mutation operators
In each generation, the genetic operators are applied to resulting in bigger jumps in the search space might be
selected individuals from the current population in order to preferred. Later on, when the solution is close by, a mutation
create a new population. Generally, the three main genetic operator leading to slighter shifts in the search space could
operators of reproduction, crossover and mutation are be favored.
employed. By using different probabilities for applying
these operators, the speed of convergence can be controlled. 2.4. Fitness assignment
Crossover and mutation operators must be carefully
designed, since their choice highly contributes to the The probability of survival of any individual is
performance of the whole genetic algorithm. determined by its fitness: through evolution the fitter
Reproduction. A part of the new population can be individuals overtake the less fit ones. In order to evolve
created by simply copying without change selected good solutions, the fitness assigned to a solution must
individuals from the present population. This gives the directly reflect its ‘goodness’, i.e. the fitness function must
possibility of survival for already developed fit solutions. indicate how well a solution fulfills the requirements of the
Crossover. New individuals are generally created as given problem.
offspring of two parents (as such, crossover being a binary Fitness assignment can be performed in several different
operator). One or more so-called crossover points are ways:
selected (usually at random) within the chromosome of each
parent, at the same place in each. The parts delimited by the † We define a fitness function and incorporate it in the
crossover points are then interchanged between the parents, genetic algorithm. When evaluating any individual, this
as shown in Fig. 2. The individuals resulting in this way are fitness function is computed for the individual.
the offspring. Beyond one point and multiple point † Fitness evaluation is performed by dedicated separate
crossover, there exist more sophisticated crossover types. analysis software. In such cases evaluation can be time-
The so-called knowledge-augmented crossover operator consuming, thus slowing down the whole evolutionary
constructs offspring from the parents by making use of algorithm.

Fig. 2. Different types of crossover.


G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726 713

† Sometimes there is no explicit fitness function, but a containing the individuals that satisfy all the constraints) is
human evaluator assigns a fitness value to the solutions convex and reasonably large. However, if the initial
presented to him/her. population consists of infeasible individuals only, they
† Fitness can be assigned by comparing the individuals in could be repaired instead of being rejected. Repair of
the current population. For example, if the problem is infeasible individuals in a population is a popular approach,
about game-playing, and a solution corresponds to a especially in the case of problems where it is relatively easy
game-playing strategy, its fitness depends on the to repair an infeasible individual. The disadvantage of this
number of other solutions in the population that are method is that for each problem a specific repair algorithm
defeated by it. must be devised. Meanwhile, evaluation can be tuned in
such a way that individuals slightly violating the constraints
2.5. Selection methods are still accepted.
A frequently applied technique for handling constraints
Only selected individuals of a population are allowed to is to introduce a penalty into the fitness function. Individuals
have offspring. Selection is based on fitness: individuals that do not fulfill the constraints are given penalties that
with better fitness values are picked more frequently than depend on the extent of violating the constraints. Selection
individuals with worse fitness values. We present here the is based on a weighted sum of fitness and penalty. Thus, the
most commonly used selection schemes. infeasible individuals participate in the genetic process, as
Fitness-proportional selection. When using this selection they are still considered capable of delivering useful
method, a solution has a probability of selection directly offspring. However, careful adjustment of the penalty
proportional to its fitness. The mechanism that allows fitness weight is needed. If the penalty weight is too low, ‘very’
proportional selection is similar to a roulette wheel that is infeasible individuals could be preferred to slightly less fit
partitioned into slices. Each individual has a share directly
but much more feasible individuals. On the other hand,
proportional to its fitness. When the roulette wheel is
application of high penalty weight may push promising
rotated, an individual has a chance of being selected
individuals out of the population, and the process may
corresponding to its share.
converge to feasible but unfit individuals. There is a general
Ranked selection. The problem of fitness-proportional
view that GAs with variable penalty weights work better
selection is that it is directly based on fitness. In most cases,
than GAs with a fixed penalty weight. For instance, in many
we cannot define an accurate measure of goodness of a
cases a good strategy is to start with relaxed constraints, i.e.
solution, so the assigned fitness value does not express
low penalty weights, and then continue with strengthened
exactly the quality of a solution. Still, an individual with
constraints, i.e. higher penalty weights, as the GA proceeds,
better fitness value is a better individual. In rank based
selection, the individuals are ordered according to their thus ensuring a path to promising solutions.
fitness. The individuals are then selected with a probability A more reliable approach is to incorporate all constraints
based on some linear function of their rank. into the genetic representation, i.e. to devise a representation
Tournament selection. In tournament selection, a set of n which does not allow any individual to violate any
individuals are chosen from the population at random. Then constraints. While in the case of simple constraints this
the best of the pool is selected. For n ¼ 1, the method is may work, for more complex cases it may be very tricky or
equivalent to random selection. The higher is the value of n, impossible. Additionally, incorporating too much problem
the more directed the selection is towards better individuals. specific knowledge into the representation largely limits the
size of the search space and may require the careful
2.6. Constraints in GAs definition of specific crossover and mutation operators.

Design problems usually contain constraints. In many


2.7. Advanced genetic algorithms
cases the constraints can be expressed as well-defined
intervals for the design parameters, but sometimes it is quite
difficult to specify them (e.g. forbidden regions in robot path Genetic algorithms work well for many practical
design). A key question in applying genetic algorithms to problems. In their application to complex design problems,
design is the handling of design constraints. Several however, simple GAs may converge slowly, evaluations
techniques have been developed to introduce constraint may be computationally intensive, or GAs may fail because
handling into different components of GAs [65]. of convergence to an unacceptable local optimum. Con-
A popular method of constraint satisfaction in GAs is to siderable research effort has been made to improve the
reject individuals that violate constraints, i.e. the infeasible efficiency of GAs, which has resulted in advanced genetic
individuals. Infeasible individuals can be represented and algorithms. We mention the most important extensions
can appear as the result of the genetic operators but are not shown to be advantageous in the application of genetic
admitted to the new generation. This method may work algorithms to design problems. An overview of other useful
when the feasible region of the search space (i.e. the region extensions is given by Bentley [8].
714 G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726

2.7.1. Multiobjective GAs where one processor—the master—stores a single popu-


In engineering design, we often want to obtain good lation and the other processors—the slaves—evaluate the
performance and low cost, which constitute two conflicting individuals, apply mutation and sometimes crossover. In
objectives. Or we want the artifact to perform well against this case the result of the parallel GA is the same as the
different related or unrelated criteria. For example, in a result of a sequential GA: it is just obtained much faster.
linkage design problem we might want the coupler point to Another approach to parallelism is to use multiple
follow a certain path and the linkage to be mobile while subpopulations. A number of subpopulations or so-called
satisfying additional constraints (see Section 4.5). demes are evolved in parallel. Individuals compete with
The goal of multiobjective optimization in general is to each other within a subpopulation. Since the different
optimize a vector function whose elements are the objective subpopulations may evolve towards different optima, the
functions. The objective functions usually conflict with each result of the multiple subpopulation parallel GA could be
other, so a solution results having acceptable values rather better than the result of just one sequential GA. In
than optimum values for all objectives. approaches using migration the so-called migration operator
A very simple technique for optimizing several objective consisting of moving an individual from one subpopulation
functions is the aggregation of the multiple objectives into a to another is applied in a timely manner. In so-called
single objective function, e.g. by the use of their weighted injection island GAs [29] the different subpopulations
sum as an objective function. evaluate fitness at different levels of complexity. The
Schaffer’s Vector Evaluated Genetic Algorithm [83] more complex the fitness evaluation is, the higher
extends the simple genetic algorithm with a selection the resolution of an island becomes. The reason for using
scheme that takes into consideration multiple objectives. In the lower resolution islands is that they can quickly find
each generation a number of subpopulations are selected, good building blocks, which can then be fine-tuned by the
each based on proportional selection according to one higher resolution islands. The islands are connected in a
objective function. Then the subpopulations are mixed to hierarchy, so that they share portions of the search space.
obtain one population, on which crossover and mutation are Usually migration is allowed only from a lower resolution
applied in the usual way. island to a higher resolution island. In a general island
A number of approaches such as the Multiple Objective model the individuals can move to any other subpopulation,
Genetic Algorithm of Fonseca and Fleming [31] and the whereas in a stepping stone model they can only move to
niched Pareto GA of Horn et al. [45] rely on the notion of neighboring subpopulations. To achieve coarse grained
Pareto nondomination. A solution is Pareto nondominated if parallelism, a small number of large subpopulations is used.
any other solution that is better over some objective Similarly, the use of a large number of small subpopulations
functions, is worse over some other objective functions. In leads to fine grained parallelism. Coarse-grained parallel
many situations it is desirable to obtain a set of Pareto non- GAs are also called distributed GAs. Other parallelization
dominated solutions. For example, if it is difficult to methods include multiple overlapping subpopulations with-
quantify the relative importance of different objectives, out migration, dynamic subpopulations, and hybrid methods
then the designer is presented with a set of solutions to [68]. Scalability (with use of an increasing number of
choose from, without any pressure to express beliefs computers) of parallel GAs is discussed by Rivera [77].
quantitatively beforehand. More detailed descriptions of
these and other multiobjective evolutionary techniques are 2.7.3. Diversity maintenance
given by Coello [22] and by Tan et al. [89]. A common characteristic of genetic algorithms is fast
evolution toward better individuals during early gener-
2.7.2. Parallel GAs ations. In later generations the population begins to
In many practical cases in engineering design the converge and the individuals become more and more
evaluation of the fitness function is very time consuming. similar. Then the population eventually converges to a
It may require for instance the solution of linear or non- single solution [36].
linear equations in two or three dimensions. Compared to Premature convergence is thought to be a major problem
this, the effort needed for the genetic computations can be in GAs in general. Several methods have been devised to
marginal. A natural way to improve speed is to evaluate the prevent the population from converging too early to some
individuals in parallel rather than sequentially. In fact, in the local optimum. So-called niching methods [7,36,44,45,57,
case of large and difficult problems it is necessary to use 69,98] preserve the diversity of a population by keeping the
some sort of parallelism in order to enable the GA to find individuals in the population reasonably away from each
acceptable solutions in reasonable time. other. Mahfoud [57] gives a comprehensive classification
Cantú-Paz [16] gives a comprehensive overview of and discussion of niching techniques.
parallel GAs with applications, whereas Nowostawski and Fitness sharing [36,45,98] is considered the most
Poli [68] present a taxonomy of parallel GAs. Parallelism in successful niching technique. Fitness sharing treats fitness
genetic algorithms can be achieved in several ways. The as a shared resource of a population: similar individuals
easiest thing to do is to use a simple master-slave approach share their fitness, that is, individuals are penalized
G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726 715

according to how close they are to other individuals in the can be seen as the transformation of the specifications into
population. The fitness of each individual is worsened by its design descriptions. The design description must contain
neighbors in the search space: the more and the closer sufficient information (numerical, graphical, symbolic) for
neighbors an individual has, the worse its fitness becomes. manufacturing the product. Functionality and manufactur-
As a result, the population does not converge as a whole, but ability impose constraints on the structure and parameters of
convergence takes place within neighborhoods of the the product. Thus, design—as an intelligent activity—can
optima—the so-called niches. be characterized as a goal oriented, constrained, decision
The notion of species was defined for GAs: similar making process [34]. Engineering design typically involves
individuals form a species, and the technique of implement- exploration and learning. While exploration is needed to
ing species is called speciation. When mating can take place identify what kinds of structures and variables are appro-
only between individuals of the same species and is priate to fulfill the requirements, learning attempts to use
disallowed for individuals of different species, the specia- experience gained from previous design processes and from
tion method is mating restriction [27,57]. emerging solutions.
Using parallel (even simulated) GAs is another possi- A considerable effort has been made to model the design
bility for maintaining diversity, more precisely for finding process [47]. Although the basic aim is to provide a solid
multiple solutions. The use of several independent sub- basis for building computer programs to automatize—or at
populations increases the chances of finding several least assist—the design process, modeling has contributed
different optima. Migration between subpopulations helps to a better understanding of what design is.
diversity maintenance during the run. The information flow model [3] concentrates on
communication of information and data during design in
2.8. Other evolutionary algorithms sequential stages with fixed feedback. The model reflects
the organization of activities required to solve a design task,
Genetic algorithms constitute the most popular but says almost nothing about the role of knowledge used in
method—having the greatest number of applications—of design. In spite of the apparent simplification, this model is
evolutionary computation. Here we give only brief defi- currently used for building CAD systems, and for integrat-
nitions of other evolutionary methods, whose detailed ing them with CAPP and CAM systems.
comparative description and fields of application can be The cognitive model tries to describe reasoning, inten-
found in Refs. [4,8]. tions, problem solving and decision making processes of the
Evolutionary programming was created by Lawrence designer during design [87]. Although this kind of model
Fogel [30] for generating machine intelligence. Evolution- provides deeper understanding of the intellectual process
ary programming works directly on the variables of the during design, it is very difficult to transform into
problem and uses only inheritance from one parent: it computational terms.
creates new individuals only by mutation. Intelligent Design can be conceived as a search for a suitable or
behavior was viewed as the ability to predict the optimal construction, where the term search is used in a
environment and to give proper response so as to reach a technical sense. A search problem consists of a desired state
certain goal. Initially, evolutionary programming was (goal state), a search space and a search process. In design
applied to the evolution of finite state machines. the goal state represents the characteristics of the final
Evolution strategies were developed by Ingo Rechenberg design. The goal state is consistent and complete: its
[76]. Evolution strategies represent individuals as real characteristics are non-conflicting and fully specify the final
valued vectors and also create new individuals by mutation design. The search space is the set of all designs
only. In contrast to evolutionary programming, evolution characterized by all possible (or allowable) values of the
strategies select the parents for a new generation
design parameters. The search process (deterministic or
deterministically.
heuristic) consists of searching for the goal state in the
Genetic programming is a relatively new development
search space, in this case searching for the optimal design in
initiated by Nichael Cramer and John Koza [24,53,54].
the space of all designs.
Genetic programming operates on computer programs
A comprehensive bibliography on ‘Artificial Intelligence
represented in various forms—trees, sequential structures
in Design’ is maintained by Brown [13].
or graphs—by using modified genetic operators.

3. Genetic algorithms in design 3.1. Routine design

Engineering design is aimed at creating artifacts In many design situations the relationship between the
(products) that satisfy well-defined human needs or change functional requirements and the structure or form needed to
the environment around us. satisfy those requirements is known. In this case—referred
Expectations and requirements concerning the product to as routine design—the parameters allowing variation in
are described in design specifications. The design process the design are also known. The design task consists of
716 G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726

defining appropriate values for the parameters, which Examples of such systems are evolutionary art systems.
frequently means searching for their optimal values. Most of these systems evolve aesthetic images, and require
The concepts of routine design can be directly mapped to human guidance in selecting the more beautiful ones.
genetic algorithms: the parameters are encoded as genes that Evolutionary art systems are very popular, and are available
form chromosomes, which are evolved by the genetic as art packages [9,81].
algorithm. There is a close relation—usually a one to one Systems that generate creative results (i.e. solve
mapping—between the chromosomes (genotype) and the problems that only creative people could solve) provide
parameters (phenotype). Addition and deletion of genes solutions automatically. The evolutionary techniques are
(parameters) is generally not performed during evolution. applied non-traditionally: only the tools for constructing the
In routine design, the search space is fully determined by solution are made available to the system, possible solutions
the structure and range of the design parameters. The fitness are not [9]. One way of doing this is to relax constraints in
function evaluates all states, and the goal state is determined order to explore more potential solutions [9,71]. In a
by the optimum of the fitness function. The search space is traditional GA system, only good parametrization leads to
defined by the chromosomes, and the search process is the good solutions. By allowing modification of the represen-
artificial evolution. tation, we could expect the GA system to be able to solve
The high efficiency of applying GAs to parameter problems beyond optimization. According to Boden [11],
optimization can be explained by the intensive exploration creativity can be achieved by finding some new solution that
and exploitation of the search space through selection, could not have been defined by a representation (but Boden
crossover and mutation. believes that computers will never be able to do so).
In the new approach, the parameters do not represent the
3.2. Creative design solution itself, but the components from which the solution
is constructed. The genetic representation consists of a set of
Creativity is a concept that is hard to define [66]. We rules for the construction of a solution. These rules are
mostly associate the attribute ‘creative’ to a human [9] for mapped into a solution through so-called embryogeny [9].
doing something that results in a creative product or The phenotype is then evaluated for fitness either with
performing something in a creative way. human guidance or automatically, by a fitness function.
For a long time there has been a general view that Embryogenies are used for exploring the search space, as
computers cannot be creative. Pioneering work on using they allow the construction of solutions from components,
computers for creative architectural design was done by contrary to genetic optimization where the parameters of a
Stiny and Mitchell, and Frazer [9,32]. An early application fixed system are optimized.
of artificial intelligence to the design of simple mechanical There are few systems generating creative results.
devices is the ‘EDISON’ system described by Dyer, Flower Bentley and Wakefield [10] propose an automatic creative
and Hodges [28], which is another attempt to make design system for optical prisms. Funes and Pollack [33] use
computers creative. artificial evolution to generate 2D and 3D Lego structures
It is only recently that so-called creative evolutionary that accomplish certain objectives. The obtained structures
systems have been developed. They are defined by Bentley are feasible and completely different from human-designed
and Corne [9] as evolutionary systems that possess one or structures. Taura and Nagasaka [90] use different represen-
both of the following features: tations for genotype, embryogeny and phenotype for
configuration design of a satellite. They adopt a so-called
1. They aid human creativity; adaptive-growth-type shape representation: the actual shape
2. They solve problems that only creative people could is determined by the interaction between the generational
solve. rules and the environment.
Goldberg [38] explains how to design and implement
In systems that aid human creativity selection is guided innovative genetic algorithms based on understanding
by the user. When the user is asked to rank the individuals in human innovation.
a population, he/she actually plays the role of a fitness We expect that as the advantages of creative evolution
evaluator, which is good and bad at the same time: are better understood, the number of such applications will
increase.
† good, because there is no need to define a fitness
function, and premature convergence can be avoided
through the user enforcing alternatives; 4. Genetic algorithm applications to design
† bad, because the system is very slow due to the limited
speed of rating and interaction. In general, the user Genetic algorithms are being applied to many areas
cannot cope with very large populations, and the user of engineering design in mechanical engineering, electrical
may judge the same individual differently at different engineering, aerospace engineering, architecture and
stages. civil engineering, etc. It is practically impossible to give
G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726 717

a comprehensive overview of all existing applications even a way that it can move the population outside the original
for one such area. state space. This strategy supports creative design, and
We have decided to discuss six categories of applications therefore can be used in the conceptual stage of the design.
in mechanical engineering: conceptual design, shape
optimization, data fitting, reverse engineering, mechanism 4.2. Shape optimization
design and robot path design. These are the branches of
mechanical engineering in which GAs are most extensively Shape is one of the most important characteristics of
used. The common feature of all these areas is their strong technical objects; their compliance to functional require-
geometric nature, which is also important in most ments, and production costs strongly depend on shape.
engineering design problems. At the same time, the above Considerable efforts are continuously exerted in engineering
fields represent a wide range of mechanical engineering science to find better shapes, or to optimize the shape of a
problems. This also indicates that genetic algorithms can be component subject to engineering constraints.
efficient in solving problems with very different engineering Shapes can be described by a great variety of different
content within a similar framework and by using similar representations. They may be a structured set of shape
procedures. parameters; scalars, vectors, or discrete representations such
as pixels or voxels. In shape optimization, values of the
4.1. Conceptual design shape variables have to be determined which result in an
optimal value of a target parameter. This latter characterizes
Conceptual design of an artifact takes place in an early the object from some technical, economical or aesthetic
stage of design and usually requires the designer to act aspect or some combination of these. In engineering
creatively. The designer either uses novel components or practice, the function describing the dependency of the
combines known components in a novel way. The design target value on the shape variables—the fitness function for
parameters to be optimized are decided at this stage of the GAs—may be very complex, highly non-linear, having
design process. There could be several ways of constructing many local extrema, and even discontinuities. While
good conceptual designs, but there is no fixed methodology classical methods for optimization often fail under such
to follow. complicated conditions, genetic algorithms may offer
Goldberg [37] presents an idealized framework for solutions in many practical situations. In addition to this,
conceptual design. The essence of conceptual design is design constraints that are very hard to handle by analytic
captured in four components: a problem to solve (the design methods (e.g. forbidden regions of the space, tolerances)
challenge), someone to solve it (the designer), one or can be directly incorporated into a genetic optimization.
more (conceptual) designs, and a means for comparing In what follows, we discuss typical genetic solutions to
alternative designs (the design competition). He shows how shape optimization problems. Because of the rapid expan-
genetic algorithms can be thought of as ‘a lower bound sion of genetic applications, our overview may not be
on the performance of a designer that uses recombinative complete, and other ideas may be relevant as well.
and selective processes’. In other words, a human
designer should perform a conceptual design task at least 4.2.1. Parametric GA
as well as GAs. There is a great variety in the number and structure of
Bentley and Wakefield [10] describe a GA-based system shape parameters of different technical problems. Some-
that evolves new conceptual designs from scratch. They times we are lucky, being able to characterize the technical
apply the system to designing geometries of optical prisms problem just by one parameter. In Ref. [21], for example,
such that light is directed through the prisms according to the optimum diameter of a rotor shaft is sought by a genetic
the design specifications. Domain knowledge is used in the algorithm, to yield a critical speed as far as possible from the
evaluation software. Only the function of the design is pre- operating speed.
specified, the shape of the prism is not. For more For more complex shapes, more parameters are needed.
complicated problems they start from previously found Eby et al. [29] optimize by GA the shape and material
good components and optimize for their positions and for placement for a flywheel to give the maximum specific
the choice of components. energy density when having an upper bound on the
Cvetković and Parmee [25] use a genetic algorithm as a maximum allowable angular velocity. The shape is
component in a hybrid system for conceptual airframe composed of concentric rings, and the design parameters
design. Rasheed et al. [75] have devised a GA for are their heights. An injection island genetic algorithm (see
continuous design space search that uses new genetic Section 2.7.2) is applied that searches at various levels of
operators corresponding to the structures and properties of model resolution. The shape of a disk on which turbine
the engineering design domains. They apply the new GA to blades are mounted in a jet engine is optimized for minimal
conceptual supersonic aircraft design. Gero and Kazakov stress and mass by Smith et al. [86]. The design parameters
[35] use GAs to enlarge the state space, so that the set of specify the lengths of straight lines, and angles of the cross
possible designs changes. They generalize crossover in such section of the disk. Careful coordination between the genetic
718 G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726

search process and evaluation through proper definition of interpolation, control points of a Bézier or B-spline
the genetic representation is emphasized. representation), they provide a natural transformation of
The size of the search space largely depends on the the inheritable characteristics of the curve into a sequential
genetic representation (the chromosome) of the object to be genetic code. As a result, the genetic code can be arranged in
designed. If the representation is very general, the space such a way that segments of the curve correspond to
could be too large, resulting in too many impossible, spiky segments of the chromosome. Accordingly, good segments
or unusual shapes being generated, and the probability of of the curve correspond to good substructures of the genetic
finding valid shapes can be quite low. Although invalid code, and the probability of disrupting a promising short
shapes can be eliminated by post-processing or using a code segment by crossover may be kept small. Later on, as
penalty in the fitness function, the search process will take the process evolves, the short segments meet each other in
an unnecessarily long time in these cases. In addition to this, the offspring and tend to produce longer and longer good
GA search may exploit weaknesses of the evaluation segments. Moreover, due to the nature of the segmentation,
process, e.g. finite element evaluations may give completely deception—a common GA malfunction when good sub-
misleading results outside the normal design space. If this structures lead to poor combined structures—rarely occurs.
results in good—but incorrect—fitness values, the whole Mäkinen et al. [58] use as shape parameters the control
search will be corrupted. The lesson is that careful points of a planar Bézier curve which describes the profile of
coordination of the search and the evaluation process is an airfoil. The cost function which must be minimized
necessary for a successful optimization. depends on the scattered electromagnetic wave and the
On the other hand, limiting the size of the search space or pressure distribution of the airfoil. Using the same two-
access to some of its regions by the genetic representation dimensional curve representation, Marco and Lanteri [60]
may hinder innovation in the GA process. A widely applied address the optimum shape design of several aerodynamic
methodology is to start with an existing, successful design configurations.
and optimize its parameters. For many technical design Different tasks in designing characteristic curves can also
problems this may be the correct solution, but one cannot be supported by genetic algorithms. Some conversions
expect to obtain constructions with novel and original between curve representations, which are frequently used in
shapes. CAGD, can be performed only approximately (e.g. degree
Deb [26] demonstrates the robustness and efficiency of reduction, rational to polynomial conversion). One possible
GA optimization by solving mechanical component design means of selecting the approximating curve is to apply an
problems in pressure vessel design, spring design, and additional criterion for its optimal shape. Márkus et al. [62]
hydrostatic thrust bearing design. The genetic represen- present a GA based method for degree reduction of Bézier
tations include geometric parameters of the components, curves. The approximating curve is defined to lie in a strip
which can be discrete or continuous. The results show that around the given high degree curve, as a constraint, and to
even if the initial population is away from the optimal have an optimal shape characterized by its minimal
solution, the GA can find a nearby optimal solution, which is curvature integral. The fitness of a curve is composed of
better than the results obtained by traditional methods. two parts: one is the curvature integral, and the other is a
A fairly large number of papers address the optimization penalty. The penalty depends upon the degree of constraint
of truss and bridge structures, including geometrical violation, i.e. the length of curve segment that leaves the
parameters such as size and cross sections [1,2,49,50,73, predefined strip. Strategies are developed to use different
88,96]. Grierson and Pak [39] present optimal design of types of crossover operations and varying weights of the two
skeletal building structures accounting for discrete sizing as components of fitness during the genetic process. To
well as geometrical and topological variables. Based on illustrate the genetic process, Fig. 3 shows the evolution
numerical experiments, different types of crossover oper- history of the population: the initial population, an
ations (single point, two point, multiple point, uniform) intermediate state, and the best curve as a sixth degree
were thoroughly evaluated with respect to the exploration curve together with the 11th degree original one.
and exploitation aspects of the search process, and relative A GA based method for the computation of curve –
effectiveness [1,50,88,96]. New types of crossover tech- curve intersections is presented in Ref. [41], which is
niques have also been suggested, e.g. the mixed crossover independent of the parametrization of the curve and of its
technique of Hasancebi and Erbatur [40] combines the topological properties (e.g. cusps, loops, zero curvature
crossover methods discussed in Section 2, and provides a spans, etc.). Pairs of randomly selected points on each
tool for controlling the exploration of the design space (at curve are represented in the chromosome. A genetic
the beginning of optimization), then its exploitation (in later algorithm works on the generations of point pairs, and by
stages of the genetic process). minimizing the distance between them, it converges to
In many cases, complex shapes can be optimized by one of the points of intersection.
optimizing the shape of characteristic curves. Whenever the In contrast to the simple bit strings commonly used in
ordering of the defining curve data has a close geometric GA literature, genetic algorithms of the above type usually
relation to consecutive parts of the curve (e.g. points of contain scalar or vector elements. This fact has further
G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726 719

computational hierarchy. Mäkinen et al. [58] use a master-


slave process, Marco and Lanteri [60] a two level strategy
for the parallelization of the GA.

4.2.2. Cell GA
An alternative way of representing the shape of an object
to be optimized is to subdivide the design space into small
rectangular domains (pixels in 2D, voxels in 3D), and assign
them a binary full value (1) for material or empty value (0)
for void (see Fig. 4), or integers for different materials. This
kind of cellular representation has the advantage that any
shape can be represented with a certain accuracy, which can
be increased by increasing the resolution. At the same time,
the cellular representation can be mapped directly into a two
or three-dimensional binary genetic representation, result-
ing in a two or three-dimensional array chromosome. By
Fig. 3. Evolution history of the population.
applying this representation, domain specific knowledge
and geometric constraints can easily be built into the genetic
consequences; genetic operators and selection methods process. It has a great advantage from the point of view of
must be capable of handling these structures, which means shape optimization, and also compared to a parametric GA,
that readily available GA software packages cannot be used that the structure and topology of the object need not be
in shape design without modification. fixed in advance, but arise through the optimization process.
Shapes with complex geometrical properties can be As a result, a properly designed genetic process can work in
represented by two or three-dimensional grids of control an extended search space and give better results. However,
points of Bézier, B-spline, NURBS surfaces or volumes. unwanted small holes may appear in the final shape, and
Following the discussion for curves, a grid structure of lack of smoothness of the boundary may not be acceptable
control points may be suitable for genetic representation. in certain engineering problems.
Simple genetic codes are not applicable directly to these When a genetic algorithm for shape optimization is
structures, and new genetic operators must also be designed based on two or three dimensional arrays as a
developed. For example, crossover operating on grids of genetic representation, specific two or three dimensional
the same size can be defined by first randomly selecting crossover operators must be developed. One practical
subgrids at the same position in the two individuals and then solution—a direct generalization of one point crossover—
exchanging them in the offspring. A frequently occurring is first to select randomly a point in the middle of the array.
problem is the appearance of self-intersecting grids, which Then complementary parts of the parents’ chromosomes in
may result in self-intersecting shapes. To avoid this, blocks determined by the selected point are used to form the
intersecting grids may be locally deformed or they may be chromosomes of the children (see Fig. 5). For this type of
strongly penalized in the fitness calculation. Variants of the genetic representation, fitness evaluation is more compli-
control point representations can also be used as genetic cated and time consuming than in the case of a simple
representation of shapes. For example, Wataba and Okino sequential genetic code. Typically, planar or spatial
[95] use the free form deformation lattice (deformation of a distribution of geometrical or physical quantities need to
grid of Bézier control points) introduced by Sederberg and
Parry [84] as shape chromosomes, and solve a minimum
weight design problem with constraint conditions, and
limitation of maximum stress.
In many practical shape optimization problems, evalu-
ation of the fitness function for a given set of shape
parameters is computationally demanding; it frequently
requires the solution of non-linear state equations in two or
three dimensions. Genetic algorithms, however, can be
easily parallelized (see Section 2.7.2): after individuals of
the current population have been created, evaluation of their
fitness can be computed in parallel. In this setting a master–
slave distribution of the work is efficient. In more complex
cases, more sophisticated ways of distributing computations
may be needed, e.g. distribution among several levels of Fig. 4. The cell representation of a cantilever.
720 G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726

realistic structures a connectivity analysis is performed; all


material elements in the topology which are not connected to
another one through an edge are set to void. Chen and Rajan
[18] consider simultaneous sizing, shape and topology
optimization of structural framed systems subject to static
and dynamic loads. Raich and Ghaboussi [72] develop an
implicit redundant representation genetic algorithm, which
allows the representation of a variable number of location
independent parameters. In this way the fixed parameter
limitations of usual genetic algorithms can be overcome.
A special type of cell representation called cell division
model is introduced by Taura et al. [91]. The shape of a free
form object is represented by dots (cells) on the surface of a
sphere; the distance between a point on the surface of the
Fig. 5. The diagonal crossover for 2D arrays. free-form object and the center of the sphere is proportional
to the local density of cells on the sphere. Shape evolves
be evaluated, often by using demanding analysis programs through a series of cell divisions, which are governed by a
(e.g. finite element programs). set of rules. These rules indirectly hold the features of the
shapes, and are encoded as bit strings. A GA is applied for
Baron et al. [5] study the shape optimization of a beam
adaptive generation of new rules and for testing the
and an annulus. Instead of finetuning various parameters of
effectiveness of existing ones. The whole mechanism
the GA, they focus on the development of new operators in
resembles the early development of a living creature. In
an attempt to eliminate some of the weaknesses of the
nature, cell divisions divide the fertilized egg (a single cell)
cellular representation. For example in order to reduce the
into a population of smaller cells, which form the early
number of small holes, they apply a smoothness operator;
embryo. Shape features of the evolving multicellular system
the most common value for cells in a rectangular region
are determined by rules of cell division. Although the
with random position is applied to all the cells in that region.
complexity and accuracy of shapes which can be handled by
They also use an n-dimensional crossover operator which
the model is questionable, first experiments show that shape
swaps rectangular areas with randomly selected size and
features can be represented, held, combined and manipu-
location in the array. It is rather interesting that the design lated by the method, which is useful and especially valuable
produced by the cell representation compares well with that in the early phase of design.
produced by a parametric GA [85]; however, the cell GA
requires more time to find a solution. This can be explained 4.3. Data fitting
by the fact that, when using a cell representation, the GA has
to search a much larger space with fewer constraints. Fitting of continuous curves and surfaces to discrete data
Duda and Jakiela [27] describe a speciating genetic points is often needed in a number of engineering
algorithm for shape optimization. The speciation is based on endeavors. There are well-established fitting methods
a sharing function computed from the distance in the (usually variants of the least-squares technique), but they
genotype and phenotype space. Using statistical cluster perform well only if several parameters are defined in
analysis, this measure allows the quantification of the extent advance, e.g. for spline fitting, the process is computation-
to which a population is speciated. The sharing function is ally feasible (linear) if the degree, knot distribution, and
also used for mating restriction during evolution. As a result parametrization of the data points are given and fixed for the
of the genetic process, the speciated final population computation. In practical situations, however, these are not
contains not only one solution, but good designs with known to the designer. Currently there is no better way than
different topology and shape. The method has been shown to to start with some values and gradually improve them.
be efficient for solving planar strain problems based on cell Complicated and cumbersome methods are in use to find
shape representation and finite element methods for good initial values and refine them during a repeated fitting
structural analysis. process. At the same time, the above parameters strongly
Two-dimensional cell (pixel) representation is also used influence the quality of the fit, because they determine the
for shape optimization by Kane and Schoenauer [51]. The structure and the basic geometric properties of the
inadequacy of one dimensional (bitstring) representation is approximating function. If they are not defined properly,
emphasized and an evolutionary choice made among either the accuracy will be poor or the shape quality will not
different two dimensional genetic operators. be satisfactory. The complicated and strongly non-linear
Chapman and Jakiela [17] apply cell representation for the interdependence of the parameters and their influence on the
geometric and topological design of truss structures having a fitting process is hard to keep under control, but is relatively
maximum stiffness-to-volume ratio. In order to obtain easy to include into a GA. Successful experiments have
G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726 721

been made to replace the complicated and unreliable 4.4. Reverse engineering
process of determining the fitting parameters or a subset
of them with genetic algorithms. Fitting curves and surfaces to a large number of digitized
Márkus et al. [63] develop a genetic algorithm for the data points constitutes an important part of reconstructing a
computation of parameter values associated with given data geometric model from a physically existing object. The
points as knots of an interpolating cubic spline curve. The process of reverse engineering [94] starts with registration,
curve has optimal shape in the sense that its curvature i.e. matching and fusing of point sets from separate views.
integral is minimal. An additional constraint can also be Then a topology (usually a triangulation) is built over the
handled; the curve must not pass outside a strip around a unstructured point cloud, which reflects neighborhood
predefined curve (which is here the interpolating curve with relations. The main parts of the reconstruction are to
chord length parameter). separate subsets of data that belong to the constituting
The application of a statistical technique called kriging geometrical elements, and to determine types and par-
was proposed for curve and surface fitting by Limaiem et al. ameters of the extracted elements. For each phase, the
[56]. The kriging model consists of a drift function application of GA techniques has been investigated.
describing the average shape and fluctuations, derived GAs were used for registration of 3D images in medical
from the general covariance function. The model par- applications by Jacq and Roux [48], and for free form
ameters are set by a GA to yield the minimum average error surface matching by Brunnström and Stoddart [14]. In
between the kriged (continuous) curve or surface and the registration, a 3D transformation is to be determined, which
data points. brings a pair of point sets into correspondence. Although
The special case of data fitting when a polygonal accurate registration is usually based on gradient descent
approximation of an object curve is sought is fundamental algorithms (e.g. iterative closest point, ICP), they work only
in computer graphics, image processing and pattern if an initial guess reasonably close to the actual solution is
recognition, and also plays an important role in engineering known. In Ref. [14] chromosomes represent a correspon-
design (e.g. NC tool path calculation). The GA based dence between the two point sets. The fitness reflects the
quality of the match by evaluating quantities that are
technique developed by Huang and Sun [46] significantly
invariant under translation and rotation (distances and
reduces the integral square error between the polygon and
relative orientation of normal vectors between point
the curve, and is insensitive to the selection of starting point
pairs). When a good match has been achieved, the
for a closed curve and initial solutions.
transformation is computed by an SVD based solution of
Manela et al. [59] apply genetic search to finding the best
a system of least-squares equations. Yamany et al. [97] use a
combination of the number of knots and the factor that
somewhat different strategy of registration. Their matching
balances the interpolating and smoothness capabilities of a
is based on a grid closest point technique. The genetic code
univariate cubic spline function fitted to noisy data points.
is composed of the parameters of the transformation matrix,
The cost function to be minimized is the Generalized Cross
and the genetic search minimizes the distances between
Validation Function (suggested by Craven and Wahba), and associated points.
the control points are computed by linear least-squares The construction of an optimized triangulation of a point
minimization. set is discussed by Chen and Wang [20]. Although the
The difficulties in defining the fitting parameters are even method was developed for creating optimized STL files (a
more serious if not just a low dimensional shape, but a large standard for rapid prototyping), it seems to be suitable for
set of high dimensional data with a large number of preparing surface reconstruction as well. Starting from an
variables (say 20 or 30) must be fitted. Rogers [78] describes initial triangulation, triangles which are coplanar or nearly
a multidimensional (multivariate) adaptive linear regression coplanar are removed. Then blank regions, bounded by a set
algorithm, which determines linear spline parameters using of straight-line segments, are re-triangulated by a genetic
a GA. The fitness function is based on the least squared error algorithm. To obtain a valid triangulation, constraints are
with an additional penalty term related to the size of the built into the initial population, the crossover and the
model. mutation operators (a geometry constraint and crossing
Classical least squares methods can be quite sensitive to constraint). Fitness is evaluated according to the smoothness
noise and errors in the data, and especially to outliers (points of the triangulation in the blank region, the smoothness of its
that are not consistent with the rest of the data set). Robust connection to the surroundings, and the shape of the
statistical procedures, such as median least squares, have individual triangles (equiangularity).
been developed for these cases; they are superior to least The extraction of geometric primitives (straight lines,
squares techniques in a strongly noisy environment. Their circles) using GAs is discussed by Hill and Taylor [42] and
basic characteristic is that they are powerful, if they are Roth and Levine [80]. Their methods are mainly aimed at
combined with an efficient search algorithm. Karr et al. [52] 2D-image interpretation. Chen and Liu [19] give a GA
utilize the search capability of a GA to develop a least based algorithm which is capable of extracting quadric
median square curve-fitting algorithm. surfaces from a set of data points. The genetic representation
722 G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726

is a string containing the indexes of a set of data points (gene considered as a non-linear programming problem and an
points) as elements. For the fitness evaluation, the (pseudo exact gradient method is used for the dimensional synthesis
geometric) distances of data points to a quadric—least- of mechanisms [61].
squares fitted to the gene points—are evaluated. The Also, for problems with more than five points specified,
evolution of the surface representation is achieved through some variant based methods have been developed, such as
the genetic improvement of the gene points. The extracted case-based reasoning [12]: after a multi-level case retrieval
surfaces are classified into specific quadric surfaces process, adaptation is accomplished by simple transform-
according to a classification table. ation rules (increasing or decreasing the length of one link by
a small percentage). However, the method is applicable only
4.5. Mechanism design to cases where the coupler curve contains no crossings or
there is a close-enough curve in the case-base. In other work
A mechanism is defined as an arrangement of machine [43] neural networks are used for learning and synthesizing
elements that produce a specified motion. The synthesis of a mechanisms for coupler curves similar to the ones stored in
mechanism is the process of combining parametric elements the knowledge base. Since the coupler curves are stored as
into a mechanism that shows complex behavior. bitmaps, pattern matching is used to find similar curves.
Four bar mechanisms are a class of simple but practically Several works [55,79,93] address the path generation
important mechanisms. Their utilization ranges from simple problem by means of genetic algorithms. In fact, the main
devices, such as windshield-wiping mechanisms and door- characteristics of the problem are such that the application
closing mechanisms, to complicated ones, such as rock of genetic algorithms is almost straightforward:
crushers, sewing machines, round balers, and suspension
systems of automobiles. † there is no exact solution for the general problem of n-
Fig. 6 shows the structure of a four bar mechanism, point path generation, as the problem is overconstrained,
where a represents the fixed link, b the input link, c the and therefore cannot be solved by classical analytical
coupler link, d the follower link, and P the tracer point. methods;
Designing four bar mechanisms for generating a † the problem can be seen as an error minimization
particular path is a very difficult problem. The path problem, i.e. a good solution mechanism generates a
generation problem can be stated as follows: given certain coupler curve that is as close to the desired points as
path fragments, find the mechanism (i.e. its structural possible; and
parameters) whose coupler curve contains these fragments. † there are a fixed number of numerical parameters, i.e.
A path fragment is given as an ordered set of points. In the the lengths of links, the location of the coupler point,
case of path generation with prescribed timing, an input and possibly the position of the mechanism.
angle is associated with each point (a in Fig. 6). The
classical analytical approach [82] is limited to the case of When deciding on the GA implementation for the four
five specified points. For more than five points the path bar mechanism design problem, one has to consider the fact
generation problem is overconstrained, and in most cases that the problem domain is highly constrained. Each
there is no mechanism that produces exactly the desired mechanism can be completely described by a set of real-
path. In these cases, the problem can be relaxed by valued parameters corresponding to the link lengths and
specifying an acceptable tolerance between the input path positions, but not every set of values for the parameters
fragments and the coupler curve. For this more general case, represents a feasible mechanism (for example, no mechan-
there is no general recipe for choosing the structural ism with b þ c þ d , a can be manufactured). For example,
parameters for the mechanism that approximates a given Kunjur and Krishnamurty [55] define genetic operators that
path. Recent work has been done on finding numerical create only feasible mechanisms as offspring when applied
methods for the general case: e.g. mechanism synthesis is to feasible parents.
The representation can be binary [79] or real-valued [55]
and accordingly, the genetic operators can be the usual
crossover and mutation or specialized operators for this
specific problem. Kunjur and Krishnamurty [55] use a
specialized crossover operator that creates an offspring
whose design variable values are in between the corre-
sponding design variable values of its parents. They also
take into consideration the relative quality of the parent
designs when applying crossover.
Evaluation is based on the difference between the actual
path followed by the tracer point and the desired path
fragments. A point of the mechanism’s swept path is
Fig. 6. The four bar mechanism layout. associated with each point on the desired path fragment and
G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726 723

the distance between them is computed. The fitness of a additional constraints. Several approaches exist for supply-
mechanism is then computed as a function of these ing these additional constraints [70], such as the so-called
positional errors. resolved motion method and the extended Jacobian method,
The results are promising: the GA provides the designer both involving computing the inverse or the pseudoinverse
with an approximate solution for a number of specified points of a Jacobian matrix; the method based on Lagrangian
on the desired path (up to 24 in Ref. [79]), and there is no need multipliers; the method using a modified Newton – Raphson
to browse through large catalogs and try out many linkages. It technique for solving a system of nonlinear equations.
is the decision of the designer whether a mechanism Appropriate constraints are derived for the most flexible
producing a certain error is of acceptable quality. There configuration, the most realizable joint angle velocities and
can be other requirements for the mechanism, such as ‘no part the maximized force exertion capability. When tackling the
of the mechanism should leave a predefined area’. These robot manipulator positioning problem, GAs have several
additional constraints can be easily incorporated into the GA advantages over previous methods [67,70,92]:
system, and the designer does not have to perform any
tedious computations in order to redesign the mechanism. † the fitness function does not need to have continuous
GAs have also proved successful in the design of more derivatives;
complicated, five bar mechanisms [23]. Five bar mechan- † no Jacobian matrix needs to be computed (singularity
isms are also designed for producing desired coupler curves; problems related to inverting the matrix can be avoided);
the main difference from four bar mechanisms is that they † only forward kinematics equations are needed;
have two inputs. The input link rotates fully around its † joint rotation limits (for feasibility) can be handled
ground point and the final link is a servo motor input having directly;
a programmable motion. This is a multiobjective optimiz- † any additional constraints can be easily specified;
ation problem: † several solutions can be produced by using multiple
populations.
† the coupler point must follow the desired coupler curve
(within the given tolerance range), Parker et al. [70] use simple binary GAs to solve an
† the mechanism must be mobile, that is, for all given inverse kinematic problem for a redundant robot with four
positions of the input link, the mechanism should be able degrees of freedom allowing arbitrary positioning in three-
to close (there are two possibilities of closure for any dimensional space. They use as fitness function a weighted
mobile mechanism), sum of the positioning error and the rotational displacement
† the constraints on the servo motor displacements of the joint angles from the initial position. They aim for
should be met. zero positioning error and minimum displacement. The
solutions offered by the GA are close to the global optimum
For evaluation, the multiple objectives are combined into in terms of displacement, but the positioning error is
a weighted sum. The GA is able to find designs better (from relatively high. The use of a Newton –Raphson technique is
the point of view of servo motor displacements) than a proposed for reducing the positioning error.
standard test mechanism. Van de Logt and Walter [92] use multi-population GAs
for finding multiple solutions to the positioning problem for
4.6. Robot path design a six degrees-of-freedom robot arm. They optimize for both
position and orientation error. They maintain several
Robot manipulators are universally used in industry when independent subpopulations that may interact only through
the operating environment is too dangerous for humans, two special operators: exchange and migration. The
such as highly radioactive areas, or when the required work exchange operator compares the best individuals of all
is very time consuming [15]. The positioning task consists of subpopulations. If two individuals are very similar, the
determining the movement of the manipulator that leads its exchange operator replaces the top individuals in one of the
end effector from an initial position to a goal position. For subpopulations with random individuals. The migration
increased flexibility, the manipulator is usually redundant; operator consists of the movement of selected individuals of
i.e. it has at least one degree of freedom more than the each subpopulation to another subpopulation (see Section
minimum necessary for the positioning task. Given the 2.7.2). This approach is able to find solutions that are
motion of the joints and links of a redundant manipulator, it relatively close to the actual optima. Note that the number of
is easy to determine the position of the end effector, i.e. the subpopulations used is an upper bound for the number of
forward kinematics of redundant manipulators is fairly solutions that could be found. In order to obtain all the
simple. But for a given positioning of the end effector, there optima, one should know the number of solutions in advance
may exist an infinite number of joint variable settings which in order to choose an appropriate number of subpopulations.
produce this positioning [70]. This makes solving the The path planning problem becomes more complicated if
inverse kinematics very difficult: from a large number of static or dynamic obstacles are present in the environment.
feasible solutions one has to select the best one by imposing Then the new objective of planning a collision-free path
724 G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726

emerges. Buckley et al. [15] report on applying GAs for The strength of genetic algorithms in design can be
positioning a snake manipulator in a gas duct for inspection attributed to several factors. They are flexible and can be
and repair work in nuclear reactors. With a simple GA they adapted to different design problems. Realization of GA
experienced premature convergence, and the GA population procedures results in robust and stable algorithms and
quickly converged to sub-optimal solutions. The loss of computer codes. Complexity of a problem can be handled
diversity in the simple GA was due to the fact that most of by their ability to work with many parameters simul-
the encoded parameters were strongly dependent on others. taneously in a search space of complicated structure. In
Much better, but still not optimal results were obtained design applications it is very important that there is a built-
when rank-based selection, diversity promoting techniques in tendency to find global optima. GAs can also be used
and domain knowledge were used. They used a so-called beyond parameter optimization, for creative design.
incest prevention scheme that allows mating only between Due to the nature of design problems, the application of
dissimilar individuals. The incorporation of knowledge GAs is not always as straightforward and successful as it
related to the kinematics of the snake manipulator reduced would seem. For instance, evaluation of the quality of the
the search space and resulted in improved performance. solutions (i.e. the fitness function) during the genetic
Nearchou and Aspragathos [67] formulate the collision- process can be computationally very demanding (e.g.
free path planning problem as a constrained optimization requiring finite element analysis software). Great efforts
problem. They use a fitness function based on positioning have been made towards reducing the number of evaluations
error and assign a fitness value of zero to any path with needed before the final solution is reached. This has resulted
collisions. The decision whether a path is collision-free is in advanced and improved genetic algorithms, such as
made with the help of a method based on convex hulls. The parallel and distributed GAs.
solutions guarantee obstacle avoidance and their positioning Genetic algorithms imitate the very basic properties and
error is also acceptable. fundamental mechanisms of natural evolution. Natural
Rana and Zalzala [74] tackle the problem of path evolution, however, possesses complicated structures and
planning for two robot manipulators which act as dynamic complex, well regulated and fine-tuned mechanisms.
obstacles for each other. The paths are represented as strings Although our current knowledge about evolution is rather
of via-points through which the robots have to pass. Fitness limited, we can expect that ideas learned from studying
is calculated as a weighted sum of penalties for path lengths, evolution will be extensively used to solve complex
uneven distribution of via-points and collisions. They also engineering problems. Promising results have been obtained
consider a safety distance between the two robots at any in all fields of evolutionary computation. More complex
time instant. biological structures and mechanisms (e.g. brain, viruses,
and immune system) can also be incorporated into
computational systems in order to support complex
5. Conclusion intellectual activities, like design. A great challenge for
future research is to understand the functioning of these
Evolutionary methods such as genetic algorithms have systems and to transpose abstracted ideas into computer
increasingly been applied in engineering in the past decade. aided design systems.
Basically, genetic algorithms have been considered as tools
for optimization and parameter tuning in engineering design.
Although the algorithmic implementation of artificial Acknowledgements
evolution is much simplified compared to real natural
evolution, GAs are capable of solving surprisingly complex
The authors are grateful to Ralph Martin for numerous
design problems. Genetic algorithms conduct a search
helpful comments and suggestions.
through the space of potential solutions to the problem.
They provide a balance between two search strategies—
exploration and exploitation—: they explore the search
space and in the mean time exploit the good features of References
already found promising solutions. GAs perform an
[1] Adeli H, Cheng N-T. Integrated genetic algorithms for optimization of
independent sampling on a large population of design
space structures. J Aerospace Engng 1993;6(4):315–28.
solutions, then select members of the population, i.e. highly [2] Adeli H, Cheng N-T. Concurrent genetic algorithms for optimization
fit designs, for survival, and create new designs by crossover of large structures. J Aerospace Engng 1994;7(3):276 –96.
(combination of building blocks from different individuals) [3] Asimov M. Introduction to design. New Jersey: Prentice Hall; 1962.
and by mutation. Crossover ensures the inheritance and [4] Bäck TB, Hammel U, Schwefel H-P. Evolutionary computation:
comments on the history and current state. IEEE Trans Evolutionary
dominance of valuable features, whereas mutation intro-
Comput 1997;1(1).
duces variability. Together with the selection mechanism, [5] Baron P, Fisher R, Tuson A, Mill F, Sherlock A. A voxel-based
they drive the artificial evolution process towards generat- representation for evolutionary shape optimization. Artif Intell Engng
ing better and better solutions. Des, Anal Manufact 1999;13:145–56.
G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726 725

[6] Beasley D, Bull DR, Martin RR. An overview of genetic algorithms: [32] Frazer J. Creative design and the generative evolutionary paradigm.
part 1, fundamentals. University Comput 1993;15(2):58–69. In: Bentley PJ, Corne DW, editors. Creative evolutionary systems.
[7] Beasley D, Bull DR, Martin RR. A sequential niche technique for New York: Academic Press; 2002. p. 253 –74.
multi-modal function optimisation. Evolutionary Comput 1993;1(2): [33] Funes P, Pollack J. Computer evolution of buildable objects. In:
101–25. Bentley PJ, editor. Evolutionary design by computers. Los Altos:
[8] Bentley P. An introduction to evolutionary design by computers. Morgan Kaufmann; 1999. p. 387 –403.
Evolutionary Design by Computers, Los Altos, CA: Morgan [34] Gero J. Design prototypes: a knowledge representation schema for
Kaufmann; 1999. design. AI Magazine 1990;11(4):26 –36.
[9] Bentley PJ, Corne DW. An introduction to creative evolutionary [35] Gero J, Kazakov V. Adaptive enlargement of state spaces in
systems. Creative Evolutionary Systems, New York: Academic Press; evolutionary designing. Artif Intell Engng Des, Anal Manufact
2002. 1– 75. 2000;14:31 –8.
[10] Bentley PJ, Wakefield JP. Conceptual evolutionary design by a [36] Goldberg DE. Genetic algorithms in search, optimization, and
genetic algorithm. Engng Des Automation 1997;3(2):119–31. machine learning. Reading, MA: Addison-Wesley; 1989.
[11] Boden M. The creative mind: myths and mechanisms. London [37] Goldberg DE. Genetic algorithms as a computational theory of
Cardinal; 1992. conceptual design. Appl Artif Intell Engng 1991;VI:3 –16.
[12] Bose A, Gini M, Riley D. A case-based approach to planar linkage [38] Goldberg DE. The design of innovation: lessons from and for genetic
design. Artif Intell Engng 1997;11:107–19. algorithms. Dordercht: Kluwer; 2002.
[13] Brown, DC. Worcester Polytechnic Institute artificial intelligence in [39] Grierson DE, Pak WH. Optimal sizing, geometrical and topological
design webliography. http://cs.wpi.edu/Research/aidg/AIinD-hotlist. design using a genetic algorithm. Struct Optimization 1993;6(3):
html, Worcester Polytechnic Institute; 2002. 151–9.
[14] Brunnström K, Stoddart AJ. Genetic algorithms for free-form surface [40] Hasancebi O, Erbatur F. Evaluation of crossover techniques in genetic
matching. Proc Int Conf Pattern Recogn 1996;IV:689 –93. algorithms based optimum structural design. Comput Struct 2000;
[15] Buckley KA, Hopkins SH, Turton BCH. Solution of inverse 78(1–3):435–48.
kinematics problems of a highly kinematially redundant manipulator [41] Hawat RN, Piegl LA. Genetic algorithm approach to curve–curve
using genetic algorithms. Genetic Algorithms Engng Syst: Inno- intersection. Math Engng Ind 1998;7(2):269–82.
vations Appl 1997;264 –9. [42] Hill A, Taylor CJ. Model based image interpretation using genetic
[16] Cantú-Paz E. A survey on parallel genetic algorithms. ILLIGAL algorithms. Image Vision Comput 1992;10:295– 300.
report 97003, University of Illinois at Urbana-Champain; 1997. [43] Hoeltzel DA, Chieng W-H. Pattern matching synthesis as an approach
[17] Chapman CD, Jakiela MJ. Genetic algorithm-based structural to mechanism design. ASME J Mech Des 1990;112:190–9.
topology design with compliance and topology simplification [44] Holland JH. Adaptation in natural and artificial systems. Ann Arbor:
considerations. J Mech Des 1996;118:89 –98. The University of Michigan Press; 1975.
[18] Chen SY, Rajan SD. A robust genetic algorithm for structural [45] Horn J, Nafpliotis N, Goldberg DE. A niched Pareto genetic algorithm
optimization. Struct Engng Mech 2000;10(4):313– 36. for multiobjective optimization. Proc First IEEE Conf Evolutionary
[19] Chen YH, Liu CY. Quadric surface extraction using genetic Comput 1994;82–7.
algorithms. Comput Aid Des 1999;31(2):101–10. [46] Huang SC, Sun YN. Polygonal approximation using genetic
[20] Chen YH, Wang YZ. Genetic algorithms for optimized retriangulation algorithms. Pattern Recogn 1999;32:1409 –20.
in the context of reverse engineering. Comput Aid Des 1999;31(4): [47] Hubka V. Principles of engineering design. Guildford: Butterworth
261–71. Scientific ; 1982.
[21] Choi BG, Tang BS. Optimum shape design of rotor shafts using [48] Jacq JJ, Roux C. Registration of 3D images by genetic optimization.
genetic algorithm. J Vibration Control 2000;6:207– 22. Pattern Recogn 1995;16(8):823 –56.
[22] Coello CAC. An updated survey of evolutionary multiobjective [49] Jenkins WM. Plane frame optimum design environment based on
optimization techniques: state of the art and future trends. Proc genetic algorithm. J Struct Engng 1992;118(11):3103–12.
Congress Evolutionary Comput 1999;3–13. [50] Jenkins WM. On the application of natural algorithms to structural
[23] Connor AM, Douglas SS, Gilmartin MJ. The synthesis of hybrid five- design optimization. Engng Struct 1997;19(4):302– 8.
bar path generating mechanisms using genetic algorithms. Genetic [51] Kane C, Schoenauer M. Genetic algorithms for two dimensional
Algorithms Engng Syst: Innovations Applications 1995;313–8. shape optimization. Artif Evolution 1996;355–69.
[24] Cramer N. A representation for the adaptive generation of simple [52] Karr CL, Weck B, Massart DL, Vankeerberghen P. Least median
sequential programs. Proc Int Conf Genetic Algorithms Appl 1985; squares curve fitting using a genetic algorithm. Engng Appl Artif
183–7. Intell 1995;8(2):177–89.
[25] Cvetković D, Parmee IC. Genetic algorithms based systems for [53] Koza JR. Genetic programming: on the programming of computers by
conceptual engineering design. Int Conf Engng 1999;29–36. means of natural selection. Cambridge, MA: MIT Press; 1992.
[26] Deb K. GeneAS: a robust optimal design technique for mechanical [54] Koza JR. Genetic programming: automatic discovery of reusable
component design. Evolutionary algorithms in engineering appli- programs. Cambridge, MA: MIT Press; 1994.
cations, Berlin: Springer; 1997. p. 497–514. [55] Kunjur A, Krishnamurty S. Genetic algorithms in mechanism synthesis.
[27] Duda JW, Jakiela M. Generation and classification of structural Fourth Applied Mechanisms and Robotics Conference; 1995.
topologies with genetic algorithm speciation. J Mech Des 1997;119: [56] Limaiem A, Nassef A, El-Maraghy HA. Data fitting using dual kriging
127–31. and genetic algorithms. Ann CIRP 1996;45(1):129–34.
[28] Dyer M, Flower M, Hodges J. EDISON: an engineering design [57] Mahfoud S. Niching methods for genetic algorithms. ILLIGAL report
invention system operating naively. Artif Intell 1986;1:36–44. 95001, University of Illinois at Urbana-Champaign; 1995.
[29] Eby D, Averill RC, Punch WF, Goodman ED. Optimal design of [58] Mäkinen R, Periaux J, Toivanen J. Shape design
flywheels using an injection island genetic algorithm. Artif Intell optimization in 2D aerodynamics using genetic algorithms on
Engng Des, Anal Manufact 1999;99:327–39. parallel computers. Parallel Comput Fluid Dyn: Implementations
[30] Fogel L, Owens AJ, Walsh MJ. Artificial Intelligence Simulated Results Using Parallel Comput, Proc Parallel CFD’95 Conf 1996;
Evolution 1966. 395–402.
[31] Fonseca CM, Fleming PJ. Genetic algorithms for multiobjective [59] Manela M, Thornhill N, Campbell JA. Fitting spline functions to
optimization: formulation, discussion and generalization. Proc Fifth noisy data using a genetic algorithm. Proc Fifth Int Conf Genetic
Int Conf Genetic Algorithms 1993;416–23. Algorithms 1993;549–53.
726 G. Renner, A. Ekárt / Computer-Aided Design 35 (2003) 709–726

[60] Marco N, Lanteri S. A two level parallelization startegy for genetic [85] R. Smith. A parameterised Rolls Royce annulus. Internal report no.
algorithms applied to optimum shape design. Parallel Comput 2000; 21, Manufacturing and Planning Group, Department of Mechanical
26(4):377– 97. Engineering, University of Edinburgh, UK; 1995.
[61] Mariappan J, Krishnamurty S. A generalized exact gradient method [86] Smith R, Warrington S, Mill F. Shape representation for optimization.
for mechanism synthesis. Mech Mach Theory 1996;31:413–21. Genetic Algorithms Engng Syst: Innovations Appl 1995;112–7.
[62] Márkus A, Renner G, Váncza AJ. Genetic algorithms in free form [87] Smithers T. AI based design vs. geometry based design, or why design
curve design. Math Meth Curves Surfaces 1995;343–54. cannot be supported by geometry alone. Comput Aid Des 1989;21(3):
[63] Márkus A, Renner G, Váncza J. Spline interpolation with genetic 141 –50.
algorithms. Shape Modeling Appl 1997;47–54. [88] Syswerda G. Uniform crossover in genetic algorithms. Proc Third Int
[64] Michalewicz Z. Genetic algorithms þ data structures ¼ evolution Conf Genetic Algorithms 1989;2–9.
programs. Berlin: Springer; 1992. [89] Tan KC, Lee TH, Khor EF. Evolutionary algorithms for multi-
[65] Michalewicz Z, Dasgupta D, Riche RGL, Schoenauer M. Evolution- objective optimization: performance assessments and comparisons.
ary algorithms for constrained engineering problems. Comput Ind Artif Intell Rev 2002;17:253 –90.
Engng 1996;30(4):851–70. [90] Taura T, Nagasaka I. Adaptive-growth-type 3D representation for
[66] Michie D, Johnston R. The creative computer: machine intelligence configuration design. Artif Intell Engng Des, Anal Manufact 1999;13:
and human knowledge. Penguin; 1985. 171 –84.
[67] Nearchou AC, Aspragathos NA. Application of genetic algorithms to [91] Taura T, Nagasaka I, Yamagishi A. Application of evolutionary
point-topoint motion of redundant manipulators. Mech Mach Theory programming to shape design. Comput Aid Des 1998;30(1):29–35.
1996;31(3):261–70. [92] van de Logt G, Walter M. Computing robot configurations using a
[68] Nowostawski M, Poli R. Parallel genetic algorithm taxonomy. Proc genetic algorithm for multimodal optimization. IEEE World Congress
Third Int Conf Knowledge-based Intell Information Engng Systems Comput Intell, 1998 EEE Int Conf Evolutionary Comput 1998;312–7.
KES’99 1999. [93] Vancsay G. The application of genetic algorithms in mechanical
[69] Oei CK, Goldberg DE, Chang SJ. Tournament selection, niching and design (in Hungarian). PhD thesis, Technical University of Budapest;
the preservation of diversity. ILLIGAL report 91011, University of 2000.
Illinois at Urbana-Champaign; 1991. [94] Várady T, Martin R, Cox J. Reverse engineering of geometric
[70] Parker JK, Khoogar AR, Goldberg DE. Inverse kinematics of models—an introduction. Comput Aid Des 1997;29(4):255 –68.
redundant robots using genetic algorithms. IEEE Int Conf Robotics [95] Wataba H, Okino A. A study on genetic shape design. Proc Fifth Int
Automation 1989;271–6. Conf Genetic Algorithms 1993;445–50.
[71] Parmee I. Exploring the design potential of evolutionary search, [96] Wu S-J, Chow P-T. Steady-state genetic algorithms for discrete
exploration and optimisation. In: Bentley PJ, editor. Evolutionary optimization of trusses. Comput Struct 1995;56(6):979– 91.
design by computers. Los Altos: Morgan Kaufmann; 1999. p. [97] Yamany SM, Ahmed MN, Farag AA. A new genetic-based technique
119–43. for matching 3D curves and surfaces. Pattern Recogn 1999;32:
[72] Raich AM, Ghaboussi J. Evolving structural design solutions using an 1817–20.
implicit redundant genetic algorithm. Struct Multidisciplinary Optim- [98] Yin X, Germay N. A fast genetic algorithm with sharing scheme using
ization 2000;20(3):222– 31. cluster analysis methods in multimodal function optimization. In:
[73] Rajeev S, Krishnamoorty CS. Discrete optimization of structures Albrecht RF, Steele NC, Reeves CR, editors. Artificial neural nets and
using genetic algorithms. J Struct Engng 1992;118(5):1233–50. genetic algorithms. ; 1993. p. 450– 7.
[74] Rana AS, Zalzala AMS. An evolutionary algorithm for collision free
motion planning of multi-arm robots. Genetic Algorithms Engng Syst:
Innovations Appl 1995;123 –30.
[75] Rasheed K, Hirsh H, Gelsey A. A genetic algorithm for continuous Gábor Renner is a senior research fellow at the
design space search. Artif Intell Engng 1997;11:295– 305. Computer and Automation Institute, Hungarian
[76] Rechenberg I. Evolutionsstrategie: Optimierung technischer Systeme Academy of Sciences, and a professor at the
nach Prinzipien der biologischen Evolution; 1973. Technical University, Budapest. He holds an MS
[77] Rivera W. Scalable parallel genetic algorithms. Artif Intell Rev 2001; in electrical engineering and an advanced degree
16:153–68. of technical sciences (PhD) in computer science.
[78] Rogers D. G-splines: a hybrid of Friedman’s multivariate He is author of more than 80 papers on
adaptive regression splines (MARS) algorithm with Holland’s geometric modeling, reverse engineering and
genetic algorithm. Proc Fourth Int Conf Genetic Algorithms 1991; CAD/CAM, published in international journals and conference proceed-
384–91. ings. His recent research interests include curve and surface design,
[79] Roston GD, Sturges RH. Genetic algorithm synthesis of four-bar reconstruction of free form surfaces, medial surface computations and
mechanisms. Artif Intell Engng Des, Anal Manufact 1996;10: geometric optimization with genetic algorithms.
371–90.
[80] Roth G, Levine MD. Geometric primitive extraction using a genetic
algorith. IEEE Trans Pattern Anal Mach Intell 1994;16(9):901–5. Anikó Ekárt has an MS degree in electrical
[81] Rowbottom A. Evolutionary art and form. In: Bentley PJ, editor. engineering and a PhD degree in informatics.
Evolutionary design by computers. Los Altos: Morgan Kaufmann; She is a lecturer at the University of Birming-
1999. p. 261–77. ham, UK, and also a senior research fellow at the
[82] Sandor GN, Erdman AG, Advanced mechanism design: analysis and Computer and Automation Institute, Hungarian
synthesis, vol. 2. Englewood Cliffs, NJ: Prentice Hall; 1984. Academy of Sciences. Her main research area is
[83] Schaffer JD. Multiple objective optimization with vector evaluated evolutionary computation, including appli-
genetic algorithms. Genetic Algorithms Appl: Proc First Int Conf cations of genetic algorithms and genetic
Genetic Algorithms 1985;93–100. programming to engineering design problems. She is currently teaching
[84] Sederberg TW, Parry R. Free form deformation of solid geometric Artificial Intelligence Techniques and Human–Computer Interaction. For
models. SIGGRAPH’86 1986;20(4):151– 60. more information see http://www.cs.bham.ac.uk/ , axe

View publication stats

You might also like