Review
Floor plan generation through a mixed constraint programming-genetic optimization approach

https://doi.org/10.1016/j.autcon.2020.103491Get rights and content

Highlights

  • Automatic floor plan generation algorithm based on a mixed constraint programming - genetic optimization approach.

  • For a given apartment envelope, several alternatives satisfying both architectural and functional constraints are obtained.

  • In most cases, solutions are obtained is less than few minutes.

Abstract

We present a novel approach for automatic apartment layout generation. Given a polygonal apartment envelope and a list of rooms with associated area, our so-called Optimizer algorithm generates several floor plans aiming at both architectural and functional constraints.

To do so, Optimizer discretizes the floor space into a grid according to architectural constraints and reduces the problem to a cell assignment which is solved through a coupled constraint programming - genetic optimization approach.

Obtained results demonstrate the feasibility of our approach, customized plans are architecturally and functionally valid, they are mostly generated in about 1 min.

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)

  • Shi et al.

    Addressing adjacency constraints in rectangular floor plans using Monte-Carlo tree search

    Autom. Constr.

    (2020)
  • Wu et al.

    MIQP-based layout Design for Building Interiors

    Comp. Graphics Forum

    (2018)
  • Merrell et al.

    Computer-Generated Residential Building Layouts. Association for Computing Machinery Transactions on Graphics. Article No.: 181

    (2010)
  • Cited by (16)

    • Graph-based approach for enumerating floorplans based on users specifications

      2021, Artificial Intelligence for Engineering Design, Analysis and Manufacturing: AIEDAM
    • An integrated method of automated layout design and optimization for modular construction

      2024, Engineering, Construction and Architectural Management
    View all citing articles on Scopus
    View full text