Genetic algorithms as Generative Design System, half scale
A Genetic Algorithm must fulfill a series of spatial and volumetric constraints that oppose each other. The GA proposes ways based on restrictions. A binary list (i. e. 1010) represents a series of cubes stacked together forming a rectangular test bed. The restrictions that must satisfy are: Maximize the volume, minimize the land occupation area, search for information within their DNA and penalize the distance between boxes and objects. The final form is the result of all restrictions based on the optimal that doesn’t damage any restriction over the other ones. The tool works as a generative design system through Genetic Algorithm. Instead of generate random shapes, the designer can define many restriction as goal objective, where the GA must by satisfies all of them with out preferences. the idea do not consist in satisfy one objective over the others but find a fussy balance between all objectives.
Design a building is a very complex task, in which are involved many variables that must be satisfied. The Architect will decide which of this variables are more important than others and also the building must be satisfy other restrictions such as, budget, laws, clients, technical conditions, materials, fashions, etc.
This experiment use GAs as generative design system to purpose raw shapes trough a series of optimized functions. The goal consist in satisfy all the functions in the fitness, i. e. min = ( f(x1), f(x2, f(x3), f(x4), …, f(x+i) ). The idea consist in find the optimum for a series of functions , but is not possible to makes at least one function better off without making any other function worse off, this definition is knowing as Pareto frontier.
The developer’s Manhattan function: Maximize the volume and minimize the use in the ground floor. (COATES, Paul., Programming.Architecture, Nueva York, Routledge, 2010, p. 97 )
Point Repellor function: If some part of the building is inside of an influence area the chromosome is punished.
Data type in the chromosome: The function award the chromosome if some data type is founded inside it.
The model is an imaginary prisma of 20x15x30 units composed by 1x1x1 cubes.
Genetic Algorithm parameters
Objective Function: Fitness = (fitSequence + Volume) – ( (InsidePts x 2) + footPrint))
Codification: Bynary string.
Type of problem: Multy-objective
Number of generations: 300
Size of population: 20 ind.
Natural selection: Roulette Wheel, scaled by non-polinomic function.
Crossover: Uniform crossover
Mutation: Bit string mutation, 0.65%
Genetic Algorithm Structure:
The Chromosome is made by a binary list , 100101010101. 1 represents a cube and 0 empty.
0 1 2 4 5 6 … 9 n+1
1 0 1 0 1 1 … 0 1
If(footPrint > 45) Then footPrint = footPrint * 5
If(Volume > 800) Or (Volume < 700) Then Volume = Volume * 0.5
Fitness = (fitSequence + Volume) – ( (InsidePts x 2) + footPrint))
The natural selection used is a roulette wheel scaled by a non-polynomial function and with a variable to manage the factor decay of the curvature. This improvement allows a more detailed selection for the individuals.
Two types of crossovers where implemented in this GA. A Single point crossover and uniform crossover. The single point crossover works splitting the parents in two stripes in order to create the descendant. The uniform crossover works with a random index which determine if the father o mother will inheritance the gen to the descendant. Both operators produce two descendants.
The mutation operates swapping a 1 for a 0 or vice versa.
Results, city project
For further information, please visit A.I. IN DESIGN section.