Blog / Disruptive Technologies

Unlocking Creativity in Construction: The Essentials of Parametric and Algorithmic Design Explained

The use of computational tools in design offices has been a common practice since the mid-1990s (VOLTOLINI, 2016). These Computer-Aided Design (CAD) tools have significantly optimized the production of projects, particularly in terms of graphic representation and visualization.

The processes and methods involved in designing a project are broad, with no universality, as each individual possesses intrinsic creation and operation processes to express an idea. However, common analog processes emerge when utilizing certain technologies as tools or methods to articulate these ideas. When associated with the use of traditional tools (CAD), which is an additive process involving the insertion of information shaping and enhancing the project, the understanding and generation result from the form or spatial composition, known as FormMaking. In contrast, new methodologies like Parametric Design and Algorithmic Modeling are more inclined towards FormFinding, a process that seeks the form or outcome based on parameters, either fixed or manipulable (CARDOSO, 2017).

Through the application of Generative Design (DG) methods, Evolutionary Algorithms (EA) have been employed in architectural projects, aiding in shaping both the form of a building and geometric arrangements that align with environmental factors, such as solar incidence or compliance with zoning regulations. The fundamental idea is to draw inspiration from evolutionary concepts and theories in nature and how its systems function to generate new solutions more swiftly.

Evolutionary algorithms have been utilized to design various product typologies, ranging from airplanes to computer chips. They are particularly suited for problems where the desired solution is not known in advance, and the search space is vast and complex.

In this design approach, evolutionary algorithms simulate the process of natural selection, where the fittest members of a population are selected to reproduce and pass on their characteristics to the next generation, generating multiple solutions (referred to as populations). The algorithm begins with a population of random designs, evaluating each design against the desired objective. These solutions are then assessed in relation to a set of criteria called fitness functions (ROHRMANN, 2019). 

The fittest designs are chosen for reproduction, and their characteristics are combined to create new designs. Solutions demonstrating good performance according to fitness functions are selected to form a new generation of solutions. This process is repeated, with each new generation of solutions being superior to the previous one, until the desired objective is achieved or the best option is reached within a finite process (VOLTOLINI, 2020). The primary advantage of this approach is its ability to find excellent solutions for problems that are challenging for humans to solve.

The Evolutionary Journey of Algorithm Programming: A New Design Paradigm

The history of evolutionary algorithm programming begins with the idea of using evolution as a metaphor to solve problems. Darwin, in his book "On the Origin of Species," proposed that organisms evolve through a process of natural selection, where the fittest individuals are more likely to survive and reproduce. This logic can be applied to problem-solving using a population of potential solutions, selecting the fittest. The early works related to evolutionary computing were published in the mid-1950s (JONG et al., 1997). Three notable works stand out: Friedberg (1958), Friedberg et al. (1959), and Fraser (1957). In the same period, precisely in 1962, Bremermann presented his initial attempts to apply evolutionary simulation and numerical optimization to problem-solving, developing some of the earliest theories on Evolutionary Algorithms (JONG et al., 1997).

In the mid-1960s, the three main forms of Evolutionary Algorithms (EA) were established: Evolutionary Programming (EP) by Lawrence Fogel in San Diego, California; Genetic Algorithms (GA) by Holland from the University of Michigan; and Evolution Strategies (ES) developed by a group of students in Berlin: Nienert, Rechenberg, and Schwefel (JONG et al., 1997). These three evolutionary algorithm techniques are collectively known as Evolutionary Algorithms (EAs) (COELLO et al., 2007).

In the 1990s, the International Workshop on Parallel Problem Solving from Nature took place in Dortmund, fostering interaction between various evolutionary algorithm research communities. The constant and growing interaction led to the terminology known as Evolutionary Computation, still used today (SCHWEFEL and MÄNNER, 1991). Evolutionary Algorithms have been employed to design and optimize a wide range of products across different sectors, including architectural projects. In recent decades, one of the primary areas of exploration in architecture is the use of computational tools applied to the design process (KESTELIER and PETERS, 2006).

Some Key Definitions

For a better understanding, let's present definitions of concepts related to Evolutionary Algorithms, such as Algorithm, Algorithmic Modeling, Visual Programming, Parametric Design, Parametric Model, and Generative Design.

Algorithms: The Building Blocks of Innovative Design

In his renowned book "Algorithmic Architecture," Terzidis defines an Algorithm as (TERZIDIS, 2013): "An algorithm is a computational procedure to solve a problem in a finite number of steps. It involves deduction, induction, abstraction, generalization, and structured logic. It is the systematic extraction of logical principles and the development of a generic solution plan" (TERZIDIS, 2006, p. 159).

Algorithmic Modeling: Going Beyond Traditional Boundaries

Refers specifically to the use of scripting languages that enable designers to go beyond the limitations of conventional design software interfaces, expanding the ability to model through direct manipulation not of the form but of the code. Algorithmic modeling can generally be performed using computer programming languages such as RhinoScript. Still, with the difficulty of programming, applications like Generative Components and Grasshopper allow the use of code with pictorial forms (components) for automation (LEACH, 2014).

Visual Programming: Crafting the Future of Design with Drag-and-Drop

Visual programming enables the creation of algorithms through the manipulation of graphical components such as icons, buttons, and symbols. It is possible to perform parametric modeling with visual programming features without the need to type a line of text code. Unlike traditional code where lines of text are written in a compiler, visual programming uses programs that contain an interface where components are introduced to form the code that will perform the task. An example of such a program is Grasshopper, a plugin for Rhinoceros (CELANI and VAZ, 2012).

5a3daf7ad7cebfd05b8f64195f0cc503.jpg
Figure 1: Textual Programming vs. Visual Programming – Start, Mid, End point of a curve.Source: The author.

Parametric Design: A Game-Changer in Dynamic Project Evolution

Parametric software uses numerical and geometric parameters, allowing for incremental adjustments to an element that consequently affects the entire model in a chain reaction. In contrast to the traditional process, parametric design interconnects parts of the project and alters them together, integrated. This connection allows changes, relationships, additions, and repairs in the design, reducing rework and facilitating possibilities (LEACH, 2014).

The Genius of Generative Design: Algorithms That Imagine

Generative Design (DG) is defined as an approach to design that uses algorithms to generate projects (CAETANO et al., 2020). DG is an iterative cycle of applying and evaluating rules, meaning the initial design undergoes iterations through operations involving geometric and topological transformations, evolving to the resulting design (BERNAL et al., 2015).

Evolutionary Algorithms: The Nature-Inspired Solution Generators

Evolutionary Algorithms (EA) originate from computer science, specifically in artificial intelligence, computationally reproducing Darwin's evolutionary process. Based on four pillars (population, diversity, heredity, and selection), their main characteristic is the artificial reproduction of evolutionary mechanisms that enable adaptive behavior. 

Similar to nature, this process is characterized by the integration and interaction among a large number of species and their variations, seeking equilibrium with the environment through survival of the fittest. This is the primary focus of using EAs: searching for solutions that simultaneously resolve and satisfy different objectives of a specific problem (FLOREANO and MATTIUSSI, 2008). 

Many algorithms simulate the operation of natural processes, which, since their discovery by humans, are not conceived and controlled by the human mind but are captured, encoded, and executed by a computer system (TERZIDIS, 2006). EAs use concepts of mutation, selection, and inheritance, where individuals populate (population) a specific context, and the fittest, based on evolutionary theory, are determined as the best result "fitness" (RUTTEN, 2013). An EA consists fundamentally of a population of coded solutions (individuals) manipulated by a set of operators and evaluated by some fitness function (COELLO et al., 2007).

Exploring the Spectrum of Evolutionary Algorithms: From GA to ES

There are various types of Evolutionary Algorithms, with three main techniques applied from the EA concept known as Genetic Algorithms, Evolutionary Programming, and Evolution Strategies.

bb00a553dded207c2dab4e35410bcd6f.jpg
Table 1. Main Implementation Differences of EAs

Genetic Algorithms (GAs): Mimicking Evolution for Better Design Outcomes

The first algorithm to use this idea was the Genetic Algorithm (GA), proposed by John Holland in the 1960s. GA is a search algorithm that uses a population of potential solutions and applies operators like selection, crossover, and mutation to produce new generations of solutions (JONG et al., 1997).

Evolutionary Programming (EP): Adapting Intelligence to Design

Idealized by Lawrence J. Fogel in 1960 while a special assistant at the National Science Foundation (NSF), EP considered that, at the time, artificial intelligence was concentrated around heuristics and the simulation of primitive neural networks, limited approaches as they model humans and not the process of producing individuals, relating it to the evolutionary process. Thus, he understood that intelligence had to be based on adapting behavior to a variety of environments (JONG et al., 1997). In EP, an individual in a population is represented by a finite state machine (FSM), and the reproduction of the population and the generation of descendants from all individuals are performed by mutation operators. In the selection of individuals for the next generation, descendants compete with parents, and only individuals with higher fitness, both from the current generation and descendants, survive (GABRIEL, 2013).

Evolution Strategies (ES): Optimizing Design with Biological Precision

The first version of Evolution Strategies (ES) appeared in 1964, carried out by students from the Technical University of Berlin: Bienert, Rechenberg, and Schwefel, during aerospace technology studies. After unsuccessful attempts using manual strategies, Rechenberg envisioned using data for random decisions, later successfully executed by Schwefel on a mechanical calculator and by Bienert (1967) in creating a robot that performed actions and decisions automatically (JONG et al., 1997). In ES, the so-called (1+1)-ES was developed, where one individual generates only one descendant, and both the generator and the descendant compete for survival (GABRIEL, 2013). In the 2000s, a new type of evolutionary algorithm was proposed, called Genetic Programming (GP). GP is similar to GA and EP but uses a different set of operators.
 

Computational Tools for Evolutionary Algorithms: Shaping the Future with Galapagos and Wallacei

Galapagos

Developed by David Rutten, an architect graduated from Delft University of Technology, Galapagos is a standard plugin for Grasshopper, used for complex optimization and design with many variables. It implements two generic solvers, one using a genetic algorithm and the other using a simulated annealing algorithm (RUTTEN, 2013).

Wallacei

Initially conceived as an analytical tool by Mohammed Makki and later integrated by researchers Milad Showkatbakhsh and Yutao Song, Wallacei became an evolutionary mechanism allowing users to perform evolutionary simulations. It also enables users to select, reconstruct, and produce any phenotype from the population resulting from the simulation, according to its developers in the Wallacei Primer 2.0 manual (MAKKI, 2019). Unlike the previous plugin, Wallacei enables a multi-objective approach, expanding the ability to work with multiple stakeholders within the same algorithm.

References

BERNAL, Marcelo; HAYMAKER, John R.; EASTMAN, Charles. On the role of computational support for designers in action. Design Studies, [s. l.], v. 41, ed. Part B, p. 163-182, 2015.

CAETANO, Inês; SANTOS, Luís; LEITÃO, António. Computational design in architecture: Defining parametric, generative, and algorithmic design. Frontier of Architectural Research, [s. l.], v. 9, p. 287-300, 2020.

CARDOSO, Carmo Gonçalves Machado. Performance-based Design: From form making to form finding. 2017. Tese (Mestrado) - Instituto Técnico de Lisboa, [S. l.], 2017.

CELANI, G.; VAZ, C. E. V. Scripts em CAD e ambientes de programação visual para modelagem paramétrica: uma comparação do ponto de vista pedagógico. In: Cadernos Proarq. Revista do Programa de Pós-graduação em Arquitetura da UFRJ, Rio de Janeiro: v.1, n. 18, p. 177-194, 2012.

COELLO, Carlos A. Coello; LAMONT, Gary B.; VELDHUIZEN, David A. Van. Evolutionary Algorithms for Solving Multi-objective Problems. Springer, [s. l.], ed. Second Edition, 2007.

FLOREANO, Dario; MATTIUSSI, Claudio. Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies. Cambridge, Massachusetts London, England: The MIT Press, 2008.

FRASER, A.S. Simulation of Genetic Systems by Automatic Digital Computers. Australian Journal of Biological Sciences, vol 10, p 484-491, 1957.

FRIEDBERG, Richard M. A Learning Machine: Part I. IBM Journal of Research and Development, vol. 2, no. 1, p. 2-13, 1958.

FRIEDBERG, Richard M.; DUNHAM, Bradford; NORTH, J. H. A Learning Machine: Part II. IBM Journal of Research and Development, vol. 3, no. 3, p. 282-287, 1959.

GABRIEL, Paulo Henrique Ribeiro; DELBEM, Alexandre Cláudio Botazzo. Fundamentos de algoritmos evolutivos. [S.l: s.n.], 2008.

JONG, Kenneth De; FOGEL, David B.; SCHWEFEL, Hans-Paul. A history of evolutionary computation. In book: Handbook of Evolutionary Computation, Oxford University Press, p. A2.3:1-A2.3:12, 1997.

LEACH, Neil. Parametrics Explained. Next Generation Building, [s. l.], v. I, 2014.

MAKKI, M., SHOWKATBAKHSH, M. and SONG, Y. (2019) ‘Wallacei Primer 2.0’, [Online].

Available at wallacei.com

KESTELIER, Xavier de; PETERS, Brady. Computation Works: The Building of Algorithmic. Architectural Design, [s. l.], v. 83, ed. 2, p. 8-15, 2013.

ROHRMANN, Jacqueline. Design Optimization in Early Project Stages: A Generative Design Approach to Project Development. 2019. Dissertação (Mestrado em Engenharia Civil) - Technical University of Munich, Munich, 2019.

RUTTEN, David. Galapagos: On the Logic and Limitations of Generic Solvers. Architectural Design, v.83, n. 2, p. 132-135, 2013.

SCHWEFEL, Hans-Paul; MÄNNER, Reinhard. Parallel Problem Solving from Nature: 1st Workshop, PPSN I Dortmund, FRG, October 1–3, 1990 Proceedings. Lecture Noter in Computer Science, [s. l.], v. 496, 1991.

TERZIDIS, Kostas. Algorithmic Architecture. [S. l.]: Architectural Press, p. 159, 2006.

VOLTOLINI, Giovani. Design Paramétrico e Modelagem Algorítmica: Os Efeitos De Seus Conceitos e Técnicas em Académicos de Arquitetura. 2016. Tese (Mestrado) - Universidade Federal de Santa Catarina, [S. l.], 2016.

VOLTOLINI, Giovani; PUPO, Regiane Trevisan; QUEIROZ, Natália. Design paramétrico e modelagem algorítmica: os efeitos de seus conceitos e técnicas para o estudante de arquitetura. Revista Geometria Gráfica, [s. l.], v. 4, ed. 1, p. 75-93, 2020.

Author

Alessandro Ferrari

Academic Director | Architect | Alumni of ZIGURAT's parametric course | CanBIM P2 - Certified BIM Professional | MBA Project Management | Mgtr BIM Management | Msc BIM Evolutionary Algorithms