A general indirect representation for optimization of generative design
systems by genetic algorithms: Application to a shape grammar-based
design system
Vasco Granadeiro
a,d,
⁎, Luis Pina
b
, José P. Duarte
c,d
, João R. Correia
d
, Vítor M.S. Leal
e
a
IN+, Instituto Superior Técnico, Technical University of Lisbon, Av. Rovisco Pais 1, 1049-001 Lisboa, Portugal
b
Pina Robotic Solutions, Rua Eduardo Coelho 43-3 Esq., 1200-165 Lisboa, Portugal
c
CIAUD, Faculty of Architecture, Technical University of Lisbon, Rua Sá Nogueira, 1349-055 Lisboa, Portugal
d
Instituto Superior Técnico/ICIST, Technical University of Lisbon, Av. Rovisco Pais 1, 1049-001 Lisboa, Portugal
e
Institute of Mechanical Engineering, Faculty of Engineering of the University of Porto (IDMEC-FEUP), Rua Dr. Roberto Frias, 4200-465 Porto, Portugal
abstract article info
Article history:
Accepted 18 May 2013
Available online xxxx
Keywords:
Generative design system
Shape grammars
Parametric design
Optimization
Genetic algorithm
Representation
Generative design systems coupled with objective functions can be efficiently explored through the use of
stochastic optimization algorithms, such as genetic algorithms. The first step in implementing genetic
algorithms is to define a representation, that is, the data structure representative of the genotype space
and its mathematical relation to the data of the phenotype space — the variables of the real problem. This
can be a hard task, particularly if the design system contains dependency between variables. This paper pre-
sents a general representation, which enables the use of standard variation operators, allows defining both
continuous and discrete variables from a single type of gene and is easily adaptable to different problems,
with a larger or smaller number of variables. This representation was created to solve the representation
problem in the design system for Frank Lloyd Wright's prairie houses, a shape grammar that was converted
into a parametric design system.
© 2013 Elsevier B.V. All rights reserved.
1. Introduction
A generative design system is a model composed of a set of com-
putational rules that are applied to generate alternative designs
[1–3]. In addition to enabling the desired design variety, rules encode
constraints to create only the intended output. Therefore, through a
well-designed system of rules, generative design systems have the ca-
pability of maintaining stylistic coherence and design identity while
generating diverse designs.
The advantage of having alternative designs is to allow choosing
the one that better fits a certain context or achieves a defined objec-
tive. Frequently, this can be translated into an objective function,
linked to the design system. Within the flexibility of the design
system, variables (in the form of rule applications and/or parameters)
can be edited to improve the value of the objective function, looking
for the best performing design. However, for a large number of variables,
search algorithms are a much more efficient method to explore the
solution space. Of course, this requires design systems to be programmed
in numerical computing languages.
Exhaustive search is the ideal method for small solution spaces.
Exact optimization algorithms, such as linear programming, branch-
and-bound and dynamic programming, are very proficient in finding
the best solution in convex solution spaces. However, in general, gen-
erative design systems involve very large and non-convex solution
spaces. Therefore, stochastic optimization algorithms are the most
appropriate search method, even though they do not guarantee find-
ing the global optimal solution. Among them, genetic algorithms have
been proven to find high quality solutions in large solution spaces and
in reasonable time periods [4].
The first step in solving an optimization problem with genetic algo-
rithms is to define an adequate representation and a corresponding geno-
type–phenotype mapping. The real-world problem involves variables.
Genetic algorithms work with genes, the corresponding entities for the
variables. The representation is the definition of the genes and the geno-
type–phenotype mapping is the mathematical relation between genes
and variables. The informal term “genetification” is sometimes used as a
mnemonic for the task of creating the representation and the genotype–
phenotype mapping. The two main requirements for a representation
are encoding all the possible solutions of the problem and enabling the
application of the variation operators to them (crossover and mutation).
Automation in Construction xxx (2013) xxx–xxx
⁎ Corresponding author at: IN+, Instituto Superior Técnico, Technical University of
Lisbon, Av. Rovisco Pais 1, 1049-001 Lisboa, Portugal. Tel.: +351 918506061.
E-mail addresses: vascogranadeiro@ist.utl.pt, vgrana@media.mit.edu
(V. Granadeiro), luismppina@gmail.com (L. Pina), jduarte@fa.utl.pt (J.P. Duarte),
jcorreia@civil.ist.utl.pt (J.R. Correia), vleal@fe.up.pt (V.M.S. Leal).
AUTCON-01585; No of Pages 9
0926-5805/$ – see front matter © 2013 Elsevier B.V. All rights reserved.
http://dx.doi.org/10.1016/j.autcon.2013.05.012
Contents lists available at SciVerse ScienceDirect
Automation in Construction
journal homepage: www.elsevier.com/locate/autcon
Please cite this article as: V. Granadeiro, et al., A general indirect representation for optimization of generative design systems by genetic
algorithms: Application to a shape..., Automation in Construction (2013), http://dx.doi.org/10.1016/j.autcon.2013.05.012