Joel Simon

Evolving Floorplans

Evolving Floor Plans was an experimental research project exploring speculative, optimized floor plan layouts. The creative goal was to approach floor plan layouts purely from a perspective of optimization and without regard for convention, contractibility, etc. The research goal was to see how a combination of explicit, implicit and emergent methods allow floor plans of high complexity to evolve. The rooms are assembled with graph contraction and hallways grown with an ant-colony inspired algorithm.

The results were biological in appearance, intiguing in character and wildly irrational in practice. There were some technical flaws in the execution but it was a very valuable learning experience.

Left is the original school and center and right are optimzied layouts.


A central challenge of spatial design problems is optimizing the relative positions, shapes and sizes of forms. Within architectural design, the layout of rooms is an early stage of the design process that is guided by multiple competing objective and subjective measures.

Recent computational tools that model the simulation of traffic, acoustics and heat conservation, among others, are allowing a more quantitative objective evaluation of forms. Converging with those abilities are advances in manufacturing, including CNC milling, on­site 3D printing, self­assembling structures and others, which are enabling new and more complex possible forms for which there are no simple means of designing. New tools for managing this complexity can empower designers to explore and optimize the increasingly high dimensional fitness spaces.


The floor plan genome is a weighted, connected and undirected graph with any given adjacency requirements as a subgraph with maximum edge weight. There are no parallel edges or loops. Every room in the specification is represented with a node gene that contains the information such as the room’s size and name. Connection genes specify two node genes to span as well as a randomly initialized weight; they are added in a random manner until the graph is connected. The genetic encoding is a generalization of NeuroEvolution of Augmenting Topologies (NEAT) [9] that allows the artificial evolution of neural networks to graphs. This applies historical markers to allow crossover of graphs with varying topology. This allows floor plans to differ in the number of rooms they have (for a full review see [9]). In addition to the node genes and connection genes that form the graph, there are also attribute genes which each contains a scalar value and its bounds. The attribute genes encode meta­parameters that control various aspects of the rest of the mapping process. This is analogous to developmental genes that establish patterns and guide development. Nodes and connections that were dictated in the user specifications are not added randomly and are marked ‘fixed’ with a flag bit, preventing removal.

Genotype To Phenotype Mapping

The mapping process from genome to phenotype is done in four parts. First, each node in the graph is arranged with a spectral layout to an intermediary position (figure 1a). Second, a physics simulation maps the intermediate positions to final coordinates that are the center of that room in the floor plan (figure 1b). Third, the room centers are converted into a polygonal mesh representing the walls (figure 1c, 1d). Fourth, the hallways are created along the edges of this mesh, and then pruned and finalized using an algorithm inspired by ant­-colonies behavior and converted into a final geometry (figure 1e, 1f).

Figure 1: The complete mapping process. a) The initial physics simulation using a spectral layout as input. b) The final result of the physics simulation. c) The concave hull of points (red) has been inflated to produce boundary Voronoi seeds (purple circles). d) The Voronoi tessellation creates geometry mesh. e) The floor plan with interior edges added and results of the hallway algorithm drawn in yellow. f) The final floor plan phenotype. Hallways are merged into a final geometry and interior edges used for door placement.

Figure 2: A representational overview of the hallway generation process. a) The mesh representation of a floor plan phenotype with three rooms. b) The creation of interior nodes and edges shown as hollow circles and dotted lines. c) The initial results of the OHP. Selected edges drawn in red. d) Smoothing of hallways by moving hallway vertices halfway to their projection onto the segment formed by neighbors. e) Creation of hallway geometry by using outer tangent lines of circles with radius proportional to travel load. f) The final hallway geometry with doors placed from interior edges with travel loads.