ReviewFloor plan generation through a mixed constraint programming-genetic optimization approach
Introduction
Designing an apartment layout can be a long and tedious task, especially when it comes to large surface areas or layouts subjected to complex constraints. As a result, in most real estate development projects, customers are proposed predefined floor plans designed mainly to comply with regulations that may not match their exact needs. Architect personalization would be costly and time-consuming.
Automatic floor plan generation is a key approach to address those limitations. This has been a research area since the 1970s [1]. Several mathematical techniques were employed to draw floor plans algorithmically [2]. Some authors used a constraint programming approach. In this paradigm, the plan is described by a set of variables that shall respect some imperative constraints. In [[3], [4], [5], [6], [7], [8], [9]] the apartment space is divided into rectangular rooms defined by a set of variables (e.g., positions and dimensions) to which various constraints are applied (e.g non-overlapping, adjacency and target area). Although those approaches may generate valid layouts, they are here limited to the over-simplistic case of rectangular rooms within rectangular apartment envelopes. In [10] authors propose and mixed integer quadratic approach leading to designs in more complex enveloppes, but only rectilinear polygonal room shapes areconsidered.
Some authors propose procedural techniques to draw floor plans. In [11], a growth-based algorithm is used to expand rooms in the plan but the apartment envelope can evolve which makes the problem much less constrained than ours. In [12] the plan is decomposed in a grid and a stochastic growth algorithm allocates cells to specified rooms, but since the grid is cartesian, only apartments with rectilinear walls can be obtained (mixed integer approach shall rather be linked to the constraint programming part, see above).
Shape grammars have also been used for procedural layout generation. The plan is formed through the composition of a set of hard-coded rules. Depending on the defined grammar, the technique can be limited to a given architectural style [1] or to limited types of envelope structures [13,14].
Some works treat the problem through an optimization formalism. In [15], floor plans are obtained as the result of a cell allocation problem: the plan is decomposed into a grid, and resulting cells are allocated through an optimization process that ensures the floor plan validity. In [[16], [17], [18]] genetic algorithms are employed to organize a floor space but again results are illustrated on simple rectangular geometries. Non-rectilinear envelopes are a challenge most approaches seem to forego. We can however notice that in [19] some floor plans with non-rectilinear enveloppes are obtained. But it is quite difficult to conclude about the reliability of the method because the large-scale dataset used in this work only contained floor plans with axis-aligned walls.
Some known works use machine learning techniques. [20] proposed a graph-constrained relational generative adversarial network method for house layout generation problem not compatible with a fixed apartment border given as an input. [21] proposes a deep learning framework driven by a layout graph for floorplan generation. It enables user preferences and fixed apartment borders in inputs. However, these methods have two major limitations compared to the approach presented in this article: they are based on existing datasets which are not easy to collect and which may induce an architectural bias and they only deal with rectilinear plans.
Our work aims in particular to fill the gap in existing literature on automatic floor plan generation in non rectilinear enveloppes. Floor plans can contain a high amount of information (e.g., rooms may have various and complex non-standard polygonal shapes) and they may be structured by numerous imperative constraints as well as by aesthetic considerations that can hardly be formalized as imperative constraints. The problem dimensionality and the non-imperative nature of some design rules make the use of any of those previous techniques alone a challenging path.
We have developed an automatic floor plan generator called Optimizer. For a given apartment envelope and specifications on both the types of rooms it shall contain and their respective area, Optimizer generates various layouts that respect architectural and functional constraints along with the required specifications, without any human intervention. To do so we adopt a mixed approach. The envelope is first decomposed into a grid designed based on architectural considerations and adapted to any envelope shape. The grid cells are then allocated to the specified rooms in a constraint programming framework, an allocation is performed so as to respect architectural and functional constraints. Various layouts respecting the constraints can be obtained for a given couple (plan envelope, specifications). Circulations are then drawn in the layouts and a final cell shuffle is performed through a genetic optimization algorithm so as to obtain functional and aesthetic layouts. The process run by Optimizer is detailed in this article.
Section snippets
General principle
Optimizer is a novel algorithm for automatic floor plan generation. From an apartment envelope and a requested list of rooms with specified areas, it generates a set of layouts satisfying both architectural and functional constraints as well as the input specifications. See Fig. 1 for input/output illustration.
Objectives
In order to significantly reduce the search space for our problem, we create a generic grid inside the envelope polygon, thus transforming the partition problem into an assignment problem: which room of the floor plan should be assigned to each cell of the grid. The search space can therefore be reduced to the discrete parametrization of a boolean matrix M of shape N x S (N being the number of cells of the grid and S the number of rooms or circulation spaces of the apartment) with each element
Rooms placement through constraint programming
At this step, grid cells are distributed among the rooms the apartment shall contain. A given cell distribution corresponds to a solution layout. Here, we aim at generating all solutions that satisfy architectural and functional requirements specified as constraints.
Layouts selection
In this section, we describe how to keep, among all the solutions obtained through constraint programming, the three most relevant ones while being different from each other in terms of room distribution.
To do so, the layouts are clustered according to a custom metric that focuses on the distribution of the cells around structural elements. One element from each cluster is scored and the best three layouts are finally kept for the following steps.
Circulation setting
At this stage of the algorithm, there is no guarantee that it is possible to circulate in the apartment since no corridor has been drawn. In this part, we expose how corridors are inserted in the layout.
In the following, we define as ‘circulating rooms’ the rooms belonging to the set {‘living’, ‘living kitchen’, ‘entrance’, ‘dining room’, ‘corridor’}. Other rooms are referred to as ‘non-circulating rooms'. A room is said to be ‘isolated’ if it is not possible to reach it when coming from the
Problem
In order to reduce the time spent by the constraint solver, its search space was reduced through the grouping of the cells of the grid in bigger cells (cf. part 4.a). This implies that the solutions returned are suboptimal with respect to the wider original search space. Moreover, the number and precision of the constraints given to the solver must be limited in order to reduce the processing time and to ensure that the problem has some solutions.
The solutions returned exhibit approximate
Results
Optimizer has been designed and improved through the use of a training database of sixty-two couples (plan envelope, specifications). To assess the quality of the results and ensure that we did not overlearn on this first database, we tested the algorithm on another database of nineteen couples (plan envelope, specifications), referred to as the validation database. For each element of the test database, we also have the floor plan proposed by an architect, referred to as the reference plan. A
Conclusion
In conclusion, we proposed in this note an algorithm for automatic apartment plan generation. Given a plan envelope and specifications, it provides various layout alternatives within a short computing time. We validated our approach by comparing the results obtained with plans proposed by architects; this leads to promising perspectives.
Optimizer proposes layout options to our customers every day, based on their needs. It allows going one step further in the customization process. At present,
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Acknowledgments
The authors are grateful to all HABX team for their support, especially Florent Clairambault and Jean Clairambault for their advices to improve the manuscript. This work was partially financed by a grant of Bpifrance(France) obtained during a digital innovation competition (Concours d'Innovation Numérique). The illustration plans were inspired by our collaborations with AAVP Architecture, Antonio Virga Architecte, Alternative Architecture, Architectonia, Armand Nouvet Architecture et Urbanisme,
References (27)
- et al.
Separating topology and geometry in space planning
Comput. Aided Des.
(2000) - et al.
Customization and generation of floor plans based on graph transformations
Autom. Constr.
(2018) - et al.
A discursive grammar for customizing mass housing: the case of Siza’s houses at Malagueira
Autom. Constr.
(2005) - et al.
From the generation of layouts to the production of construction documents: an application in the customization of apartment plans
Autom. Constr.
(2018) The Palladian grammar
Environ. Plan.
(1978)- et al.
A Literature Review for Space Planning Optimization Using an Evolutionary Algorithm Approach: 1992-2014
(2015) A constraint-based approach for the generation of floor plans
- et al.
A Constraint Based Generative System for Floor Layouts, the Fifth Conference on Computer Aided Architectural Design Research in Asia / ISBN 981-04-2491-4 Singapore 18-19 May 2000
(2000) - et al.
Projet HM2PH, Génération Automatique de Plans et Visite Virtuelle D'habitats Adaptés pour Personnes Handicapées (HM2PH Project, Automatic Generation of Plans and Virtual Tour of Adapted Housing for Disabled People)
- et al.
Automated generation of dimensioned rectangular floorplans
Autom. Constr.
(2020)
Addressing adjacency constraints in rectangular floor plans using Monte-Carlo tree search
Autom. Constr.
MIQP-based layout Design for Building Interiors
Comp. Graphics Forum
Computer-Generated Residential Building Layouts. Association for Computing Machinery Transactions on Graphics. Article No.: 181
Cited by (16)
Architectural layout generation using a graph-constrained conditional Generative Adversarial Network (GAN)
2023, Automation in ConstructionAutomated building layout generation using deep learning and graph algorithms
2023, Automation in ConstructionAutomated layout of modular high-rise residential buildings based on genetic algorithm
2023, Automation in ConstructionGraph-based approach for enumerating floorplans based on users specifications
2021, Artificial Intelligence for Engineering Design, Analysis and Manufacturing: AIEDAMAn integrated method of automated layout design and optimization for modular construction
2024, Engineering, Construction and Architectural ManagementExtension of constraint-procedural logic-generated environments for deep Q-learning agent training and benchmarking
2023, Journal of Logic and Computation