Master in City & Technology 2020/21 – Term III
Seminar Name: Computational Urban Design III
Total Hours: 20 hours
Faculty: Milad Showkatbakhsh


Evolutionary Algorithms have been used extensively in recent years to mimic the principles of evolutionary science to solve common real-world problems through search and optimisation procedures of single or multiple objectives, a process that is commonly known as Generative Design in the AEC industry. Ranging from the fields of economics to politics and music to architecture, evolutionary algorithms have proven to be an efficient problem-solving technique to find multiple trade-off solutions for problems that possess multiple ‘fitness criteria’ (objectives) that conflict with one another. The seminar aims to introduce the concepts of multi-objective optimisation and develop an understanding of their application in design, primarily through the development of urban tissues. The seminar provides the necessary knowledge of biological principles of evolution and thoroughly elaborates on their impacts in the design process through the implementation of evolutionary computation in urban design to solve complex design problems. The objective of this seminar to provide a deep understanding of the application of evolutionary algorithms in design – a process that is widely known to be a black box. This seminar tends to open this black box, although challenging; once mastered, the application of evolutionary algorithms in design becomes a robust tool in addressing design problems comprised of multiple conflicting objectives that hold no clear single design solution.

Context – Evolution as a Design Model

Evolutionary strategies have been utilised widely since the late 20th century as robust problem-solving methods. The work of Sewell Wright in the 1930s is the earliest instance of the application of evolutionary principles as optimisation processes (Wright, 1932). Midway through the 20th century, John Holland’s genetic algorithms (GA) (Holland, 1962), Rechenberg and Schwefel’s evolutionary strategies (ES) (Rechenberg, 1965) and Fogel et al.’s evolutionary programming (EP) (Fogel et al., 1966) were developed independently from one another and led to the establishment of a unified field of Evolutionary Computation in the late 20th century as a result of several conferences in this field (De Jong, 2006).

Erns Myer described the evolutionary model as a two-step process; random variation within the genome of a phenotype and subsequently the selection of the phenotype through environmental pressures (Mayr, 1988). In the biological sciences, genotype or genome comprises a set of genes or instructions (codes) that performs as a blueprint for developing and constructing the phenotype. Phenotype is the physical expression (morphological and behavioural manifestation) of the genotype. In the field of evolutionary computation and in the context of design disciplines, a genotype is equivalent to a set of instructions or codes that will produce the geometry, namely the phenotype. In line with evolutionary processes in nature, the application of evolutionary computation in design is founded upon the two primary components of variation in the code responsible for generating the geometry (genotype) and the selection of the geometry (phenotype) that fits better in the environmental conditions. In this context, the environment is equivalent to a set of fitness objectives and the design constraints to be met. The successful construction of the genotype and phenotype to address the fitness objectives is crucial for the effective implementation of evolutionary principles as a design model.

Most of the widely used evolutionary algorithms, such as NSGA-II (developed by (Deb et al., 2000)) has been developed based on Mayr’s definition. The algorithm goes through a primary loop and starts with generating an initial random population of solutions. It continues with modifications of genomes through random variations and evaluation of the solutions on their objective performances. It ends with selecting a group of solutions based on a predefined selection mechanism (Fogel, 2008). Through this iterative process of generation, evaluation and selection, each phenotype (geometry or a design option) will be evaluated based on a set of objective measurements, and iteratively the population increases its fitness. Therefore, the formulation of the environment, which comprises the calculation of the fitness objectives, and the algorithmic construction of the genotype and phenotype (which are equal to the design problem) in this process is essential for constructing a successful evolutionary model to produce valid design options.

The term ‘Optimisation’ in evolutionary computation refers to finding the fittest solution (or best solution) to a problem that is constrained by a set of predefined limitations. In single-objective optimisation, where the problem comprises only one objective, finding the optimal solution is a relatively straight forward process. However, when a problem consists of two or more conflicting objectives (multiple objectives), finding the optimal solution becomes significantly more challenging; as a solution increases in fitness to one objective, it necessitates a decrease in fitness for the opposing objective; therefore, no single best solution that is optimal for both objectives is possible. As such, by employing an evolutionary approach to generate a set of optimal solutions, one can incrementally evolve a population of individuals that respond to the multiple conflicting objectives over multiple generations, thus limiting any user-influenced preferences throughout the simulation. Urban design problems are inherently complex and are required to address multiple set of objectives that are conflicting with one another, such as increase in density while increasing the solar gain. Thus, the application of multi-objective evolutionary algorithms in urban design problems can provide deep and objective insight into the problem at hand and allow the urban designers to make an informed decision at every stage of the problem-solving process.


Milad Showkatbakhsh is the Studio Master of Emergent Technologies and Design Postgraduate Programme (EmTech) at the Architectural Association School of Architecture (AA) in London, where he is a doctoral candidate under Dr Michael Weinstock’s directorship as well. He holds BSc. in Architectural Engineering from Shahid Beheshti University and M.Arch. from Pratt Institute, where he graduated with Sidney Katz award for design excellence in 2015. Milad has worked for several architecture and design firms in Asia, U.S.A and Europe as a design technology specialist, such as Contemporary Architecture Practice (CAP), Led by Ali Rahim and Hina Jamelle. His research has been published in peer-reviewed journals and conferences such as the International Journal of Architectural Computing, Journal of Computational Design and Engineering and Computer-Aided Design and Applications journal. Milad is the co-director of the AA Istanbul visiting school with the research focus on the integration of algorithmic design methods with large-scale digital fabrication tools. He is the co-founder of ‘Wallacei’, an evolutionary and analytic engine with embedded machine learning algorithms that gives users full control over their evolutionary simulations in Grasshopper 3D. Milad’s research interest is the application of biological principles of intelligence in architecture and urban design through computational processes.