1 s2.0 S2095263521000443 Main

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Frontiers of Architectural Research 10 (2021) 771e786

Available online at www.sciencedirect.com

ScienceDirect

journal homepage: www.keaipublishing.com/foar

RESEARCH ARTICLE

GenFloor: Interactive generative space


layout system via encoded tree graphs
Mohammad Keshavarzi a,*, Mohammad Rahmani-Asl b

a
Department of Architecture, University of California, Berkeley, CA, USA
b
Autodesk Inc., San Francisco, CA, USA

Received 7 April 2021; received in revised form 14 June 2021; accepted 9 July 2021

KEYWORDS Abstract Automated floorplanning or space layout planning has been a long-standing NP-hard
Generative design; problem in the field of computer-aided design, with applications in integrated circuits, archi-
Floorplanning; tecture, urbanism, and operational research. In this paper, we introduce GenFloor, an interac-
Optimization; tive design system that takes geometrical, topological, and performance goals and constraints
Space layout; as input and provides optimized spatial design solutions as output. As part of our work, we pro-
Performance-based pose three novel permutation methods for existing space layout graph representations, namely
design; O-Tree and B*-Tree representations. We implement our proposed floorplanning methods as a
Optioneering package for Dynamo, a visual programming tool, with a custom GUI and additional evaluation
functionalities to facilitate designers in their generative design workflow. Furthermore, we
illustrate the performance of GenFloor in two sets of case-study experiments for residential
floorplanning tasks by (a) measuring the ability of the proposed system to find a known optimal
solution, and (b) observing how the system can generate diverse floorplans while addressing
given a constant residential design problem. Our results indicate that convergence to the
global optimum is achieved while offering a diverse set of solutions of a residential floorplan
corresponding to local optimums of the solution landscape.
ª 2021 Higher Education Press Limited Company. Publishing services by Elsevier B.V. on behalf
of KeAi Communications Co. Ltd. This is an open access article under the CC BY-NC-ND license
(http://creativecommons.org/licenses/by-nc-nd/4.0/).

* Corresponding author.
E-mail addresses: mkeshavarzi@berkeley.edu (M. Keshavarzi), mohammad.asl@autodesk.com (M. Rahmani-Asl).
Peer review under responsibility of Southeast University.

https://doi.org/10.1016/j.foar.2021.07.003
2095-2635/ª 2021 Higher Education Press Limited Company. Publishing services by Elsevier B.V. on behalf of KeAi Communications Co. Ltd.
This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).
M. Keshavarzi and M. Rahmani-Asl

1. Introduction due to fact that such systems differ in performance eval-


uation criteria and are designed primarily for users tar-
Space layout planning is the process of placing a set of geting a specific application. Moreover, choosing the best
discrete but independent spatial elements while attempt- heuristic optimization method can also be dependent on
ing to satisfy geometrical, topological, and performance the design problem itself. Previous studies have compared
goals in their layout. Due to the combinatorial enumeration these search methods in various architectural design
of spatial relationships and the subjective nature of their benchmarks, showing how each may perform better than
inter-dependencies, large numbers of potential solutions the other in different design requirements (Youssef et al.,
can be generated even with a small number of space ele- 2001; Caldas, 2001; Singh et al., 2016). However, not all
ments. Such complexity classifies the floorplanning process optimization methods can be utilized in current floor-
as an NP-Hard problem, where the size of solution spaces planning systems for a non-expert user to explore different
grows exponentially as the size of the problem increases (Jo optimization strategies. Such investigation, that would
and Gero, 1998). Applications of floorplanning can be seen incorporate custom performance analysis and allow the
in a wide variety of fields, such as integrated circuits (Singh user to choose between different search methods often
et al., 2016), architecture, urbanism, and operational requires advanced proficiency in programming, while allo-
research (Anjos and Vieira, 2017). More recently, with the cating considerable time and resources.
rise of augmented and virtual reality platforms, the need to In the past two decades, many designers have adopted
automate surrounding object placements has surpassed visual-programming languages (VPLs) such as Grasshopper
virtual applications (Keshavarzi et al., 2020e), and tasks and Dynamo to automate their design workflows. VPLs
such as scene synthesis (Zhang et al., 2019) and indoor break down the functions of software into discrete com-
object augmentation (Keshavarzi et al., 2020d) take ponents or nodes using an intuitive graphical interface.
advantage of various implicit or explicit space layout Each component within a VPL has its own inputs and out-
methodologies, and are seen as promising research di- puts, essentially acting as an individual tool within a larger
rections for next-generation computing platforms. script or workflow. As a result, users can customize their
This level complexity of floorplanning has encouraged workflows based on the arrangement of components in
researchers to explore this problem by developing genera- their scripts, enabling them to engage different issues as
tive systems that take advantage of meta-heuristic search they become relevant and experiment with new creative
approaches. The general process of such systems can be workflows as unique situations arise on projects (Tedeschi,
described in three modules (i) generating various layouts 2014). Moreover, many building performance evaluation
via a generative function (ii) analyzing the layouts using libraries and third-party tools which facilitate bi-directional
certain design objectives via a fitness function, or data-flow between simulation engines have become
comparing them to a set of priors; (iii) iterating this search increasingly available through these platforms. In addition,
until the optimal solutions are found. Generating layouts meta-heuristic optimization libraries such as SPEA-2 (Zitzler
often involves encoding a floorplan as a solution to a et al., 2001), HypE (Bader and Zitzler, 2011), NSGA-2 (Deb
floorplan representation function. This representation not et al., 2000) have been integrated in various VPL plugins,
only defines the complexity of the solution but also impacts allowing users to perform generative design task, and
the efficiency of the search process to find a desired visualize the results using the incorporated visualization
floorplan in the solution landscape. Evaluation metrics can tools. However, with all the design opportunities VPLs have
vary based on the design problem itself. In architectural brought for generative designers, there are a limited
space planning, for instance, performance metrics such as number of end-to-end workflows available in VPLs that take
functional topologies, daylight, energy consumption, etc. advantage of established cross-disciplinary floorplanning
come along with geometrical requirements such as site representations, which are specifically designed for the
boundaries, room areas, etc. In digital design and VLSI (very meta-heuristic optimizations available in VPLs.
large scale integrated-circuit) floorplanning, factors such as Motivated by this challenge, in this paper we introduce
wire length and bounding area are optimized while fulfilling an interactive generative floorplanning design system,
the requirements of the fabrication technology (sufficient GenFloor, which is developed as a library package for
wire spacing, restricted number of wiring layers, etc.). As Autodesk Dynamo, allowing users to incorporate generative
each performance objective induces a new dimension floorplanning mechanism with third-party performance
within the solution space, searching for the desired solution evaluators for optimization purposes within commonly used
has been widely incorporated with meta-heuristic search CAD software. With a user-centric design approach and an
methods such as Genetic Algorithms, Simulated Annealing, end-to-end workflow, GenFloor takes geometrical, topo-
Particle Swarm Optimizations, Ant Colony Optimization, logical, and performance goals and constraints as input and
etc. provides optimized spatial design solutions as output. By
While much of the floorplanning methodologies pro- proposing three novel permutation methodologies for bi-
posed in current literature can be incorporated into cross- nary and non-binary trees, and integrating them with meta-
disciplinary challenges, many current space layout systems heuristic optimization algorithms and defined performance
only target a specific range of design applications. Floor- evaluators, GenFloor enables designers to generate and
planning software used by VLSI designers, for instance, is optimize Manhattan-based floorplans for various design
not often used by architects, and vice versa. This is mainly applications.

772
Frontiers of Architectural Research 10 (2021) 771e786

2. Related work (Slusarczyk, 2018) follows a similar approach, where they


propose a framework for supporting the design process by
2.1. Floorplanning with CAD defining design requirements over Hierarchical layout
hypergraphs (HL-graphs) (Grabska et al., 2007) represen-
tations of floorplan designs.
Since the early 1960s, various methods have been devel-
oped for the computer-based solution of floorplanning
problems (ELDARS, 1964; Frew, 1980). One of the earliest 2.2. Machine Learning and GANs
work in automated floorplanning was introduced by
(Armour and Buffa, 1963) in CRAFT. CRAFT executed auto- More recently, researchers in the realm of Machine
mated floorplanning tasks on Sketchpad, the first CAD sys- Learning have explored how Generative Advisoral Networks
tem developed by Sutherland. Floorplanning research (GAN) can facilitate the space layout problem in architec-
followed with the work of (Grason, 1970), (Miller, 1971), tural contexts. Originally introduced by (Goodfellow et al.,
(Liggett and Mitchell, 1981) and (Mitchell, 1975) in the next 2014), GANs leverage a feedback loop between a Generator
two decades (March and Steadman, 1971). and (Shaviv, and Discriminator model, to slowly build an ability to create
1987) review the first 30 years of spatial allocation synthetic data, factoring in phenomena found among
algorithms. observed data. The work of (Isola et al., 2017) in Pix2Pix
The method that was employed in nearly all floor- extends this generative ability to images, by allowing net-
planning and space layout systems at the time was a com- works to learn a proper mapping from one image to another
bination of a generative mechanism for the creation of (Huang and Zheng, 2018). Take advantage of Pix2PixHD
alternative variations and an evaluation mechanism to (Wang et al., 2018) to recognize and generate furnished
assess these variations (Mitchell, 1990). However, many architectural drawings. They do this by translating floorplan
classical approaches attempted to exhaustively search images to programmatic patches of color, and inversely,
through all possible arrangements with a specified number generate patches of color that are turned into floorplans.
of rooms. In the 1990s, Flemming presented systems for Chaillou expands this approach by nesting three models
generating layouts using constraint programming which was (footprint, program, and furnishing) to generate floorplans,
developed under the name SEED (Flemming and Woodbury, given a set of initial conditions and constraints. Extracting
1995) and LOOS (Flemming, 1989, 1990). LOOS used and manipulating existing layouts from images and sketches
orthogonal structures for the representation of loosely using model retrieval methods (Keshavarzi et al., 2020c;
packed arrangements of rectangles. In the same decade, Bergin et al., 2020) has also been used as a data augmen-
early examples of the use of evolutionary approaches for tation method for generating new layouts (Keshavarzi
floorplanning in architecture were explored by (Tam, 1992) et al., 2020a).
and Gero and colleagues in (Jo and Gero, 1995, 1998; Gero However, there are two main drawbacks in current GAN
and Kazakov, 1997; Schnier and Gero, 1996; Rosenman and floorplanning methods which can be highlighted especially
Gero, 1999). An example of such an approach can be seen in in performance-oriented design scenarios. First, as with any
(Jo and Gero, 1998) where topological and geometrical machine-learning model, GANs learn from statistically sig-
goals of spatial elements were encoded in a GA for a large nificant features from the input data. Hence, the discrim-
office layout problem. Though not many variations of the inator’s ability to classify various design generations is
spatial arrangement were highlighted, their work showed dependent on the data initially inputted to the discrimi-
the robustness of coupling genetic algorithm-based nator. Given the fact that the reviewed systems above take
searches with design workflows to produce good results in advantage of the Pix2Pix model, the significant features
space planning. required for the learning model are extracted from visual
In the 2000’s, work of (Michalek et al., 2002), (Knecht features of input floorplan pictures. Therefore, in
and König, 2010), and (Doulgerakis, 2007) took advantage performance-based design scenarios, the user must ideally
of graph and tree-based representation previously used in provide images of pre-designed layouts with similar design
VLSI floorplanning (Kahng et al., 2011; Wang et al., 2009) constraints and performance goals, which may be difficult
and were utilized with various optimization search methods to gather subject to the nature of the problem. Even from a
in architectural contexts (Arvin and House, 2002). Apply visual standpoint, the results generated by GAN floor-
physically-based modeling to layout optimization, repre- planning systems may lack emergence and layout diversity
senting rooms and adjacencies as a mass-spring system. when limited to previously designed datasets. Second,
This heuristic has only been demonstrated on collections of training current GAN systems is time-consuming procedures
rectangles and is sensitive to the initial conditions of the and often achieved with high-performance computational
system (Nassar, 2010). Presented new findings in graph hardware. If we consider the design process as an iterative
theory with direct implications in space planning problems. process, where the designer may constantly change its
He described architectural space plans as simple, con- performance priorities and goals based on various outputs
nected, labeled planar graphs, and elaborated on the in each design step, re-training and running such systems to
relevance of finding a rectangle dual for every planar graph alter design strategies may be a time-consuming procedure.
to increase solution space. This work outlined a tool for
architects to generate space plans. Realizing spatial re- 2.3. Floorplanning in VLSI physical design
lationships as planar graphs with nodes as rooms and edges
as adjacencies, it claimed that the proposed model could Floorplanning is also considered an essential step in the
provide a truly exhaustive set of potential designs. Work of VLSI physical design process. In such context, floorplanning

773
M. Keshavarzi and M. Rahmani-Asl

Fig. 1 GenFloor components available in Dynamo VPL. The Define components provide SpatialRequirements for the Generate
module, which outputs SpatialBlocks. The SpatialBlocks are further analyzed and use as fitness for the search mechanism. Finally,
the outcome of the results can be visualized using the corresponding components.

methodologies mostly aim at optimizing chip area and wire Xiaogang et al., 2002) and Particle Swarm Optimization
lengths to reduce interconnections and improve timing (PSO) (Sun et al., 2006; Chen et al., 2008; Kaur, 2014;
(Kahng et al., 2011). The floorplan representation plays an Sowmya and Sunil, 2013; Moni and Arumugam, 2009). These
important role in the robustness of the algorithm (Jain and methods are also used in different versions of commercial
Singh, 2013) and determines the size of the search space floorplanning software such as PARQUET Floorplanner (Adya
and the complexity of transformation between a repre- et al.) where an inbuilt SA optimizer is implemented for the
sentation and its corresponding floorplan. Floorplanning search and optimization process. Our system takes advan-
representations are generally divided into two main cate- tage of non-slicing OTree and B)Tree representations but
gories: slicing and non-slicing representations (Wang et al., differs in the perturbation methodology previously used in
2009). In slicing methodologies, the floorplan is recursively these methods.
bisected until each part consists of a single module. It is important to note, all representations covered
Commonly represented by a binary tree, modules are rep- above provide an initial general layout for spatial elements.
resented at the leaves of the tree and horizontal and ver- Additional operators can be implemented to transform the
tical cuts are represented as internal nodes. The rectangular solutions into more complex geometries, or
normalized Polish Expression (Wong and Liu, 1986) is allocated circulations space in applications such as archi-
considered as a popular slicing representation, where the tecture and facility layout planning. Such an approach
post-fix ordering of a binary tree is implemented after post- would result in more satisfactory results. An example of
order traversal on a binary tree and does include any node such an approach can be seen in the work of (Marson and
of the same cut type as its right child. Musse, 2010) for instance, implemented a squarified tree-
Non-slicing representation are utilized for more general map algorithm (Bruls et al., 2000) to compartmentalize the
use cases where no recursive bisection of a certain area input space into different zones or regions. These zones are
takes place (Nakatake et al., 1997; Chang et al., 2000; organized into a hierarchy that satisfies design goals and
Gwee and Lim, 1999; Guo et al., 2003; Ma et al., 2001; Lin site constraints and is visualized into a square treemap to
and Chang, 2005). Such representation are often defined in generate various floor layouts. Their work excels at building
constraint graphs defining the horizontal and vertical re- sophisticated circulation networks. After the rooms are
lations among the modules. While no bisection of specific located in the boundary, a circulation network graph is built
boundary is performed, non-slicing representations can be to understand which rooms are connected or disconnected
bounded by a given fixed outline. Representations such as from each other. They use an A) algorithm to traverse the
Sequence Pair (Murata et al., 1995), Bounding Slicing Grid connectivity graph and find the shortest paths to access
(Nakatake et al., 1997), B)Tree (Chang et al., 2000), spaces from the lobby.
Integer Coding (Gwee and Lim, 1999), OTree (Guo et al.,
2003), Corner Block List (Ma et al., 2001), Transitive 2.4. Floorplanning and generative design
Closure Graph (Lin and Chang, 2005) are among widely used
non-slicing methodologies. Multiple studies have integrated There is also a large body of literature focused on how to
these representations with various optimization algorithms interpret generative design solutions, and to provide the
such as Simulated Annealing (SA) (Kirkpatrick et al., 1983; user with appropriate workflows to modify and interact
Kiyota and Fujiyoshi, 2005; Wong and Liu, 1986), Genetic with the generated solution space (Scott et al., 2002;
Algorithms (GA) (Rebaudengo and Reorda, 1996; Nakaya Herdy, 1996; Meignan et al., 2015). (Chaszar et al., 2016)
et al., 2000; Lin et al., 2002; Gwee and Lim, 1999; explored methods and tools for multivariate interactive

774
Frontiers of Architectural Research 10 (2021) 771e786

Fig. 2 Various types of Define nodes in the GenFloor library for generating the SpatialRequirement data (a) Custom GUI node in
the Dynamo interface where users can manually input the data (b) data can be imported from other data streams and nodes (c)
data can be imported from an external CSV file.

data visualization of the generated designs and simulation allowing users to generate and evaluate various floor-
results by enabling designers to not only focus on high- planning representations. However, from our analysis of
performing results but also examine suboptimal ones their system, their generative model includes multiple
(Mueller and Ochsendorf, 2015). Proposed a computational random functions and therefore does not generate deter-
design exploration approach that takes advantage of an ministic results on multiple runs. Such attributes can cause
interactive evolutionary algorithm to integrate the de- challenges for solution convergence in evolutionary solvers,
signers’ preferences within the solution search. Work of especially population-based meta-heuristic optimization
(Keshavarzi et al., 2020b) extends the user interaction with algorithms, where different results are generated in each
the solution space from 2D input to 3D exploration, by generation of the search. In contrast, our system uses a
developing a virtual reality generative analysis framework deterministic encoding mechanism, providing a constant
for navigating large-scale solution spaces. In this work, we result for the same input and does not integrate any
take advantage of native generative design visualization random functions with its generative module.
and exploration tools in Dynamo VPL, enabling the user to
visualize, filter and analyze Pareto-optimal solutions in
real-time in different performance metrics. 3. Methodology
Hua (2017) developed a bi-directional procedural model
for building irregular floorplans in which the forward pro- GenFloor is developed with the goal to be utilized by users
cess constructed the derivation tree with production rules, with limited proficiency in visual scripting and programming
while the backward process realized the tree with shapes in while allowing advanced users to be able to modify and
a stepwise manner. In another study (Hua, 2016) developed adjust input parameters of the system, dependent on their
a system for automatic construction of irregular floor plans needs. As a first step, users define the geometrical and
via given image patterns and statistical region merging. topological requirements of each space by producing
Irregular floorplans have also been explored via deformable Spatial Requirement entities. Next, using encoding func-
templates. Work of (Peng et al., 2014) is an example of such tions, a tree structure and its corresponding Spatial Blocks
approach where they define a tiling-based approach as a are generated, resembling a spatial layout corresponding to
global optimization problem to tackle the problem of an array of Permutation Parameters. The Spatial Blocks can
generating water-tight layouts for deformable templates. then be analyzed using various performance evaluators
Their layout algorithm initially generates approximate customized by the user. Finally, by integrating the system
template positions and further attempts to refine the with a meta-heuristic multi-objective search mechanism,
shapes towards a deformable geometry. In a further study the optimization of the floorplans takes place allowing the
(Peng et al., 2016) explore how corridors could be effec- system to search various tree permutations and to match
tively modeled as computational networks, enhancing the the defined goals and constraints specified by the user.
layout generation of floorplans with functional connections We implement our proposed methodology as a software
(Guo and Li, 2017). Introduced a topology finding process package for the Autodesk Dynamo platform. Dynamo is a
through a multi-agent system, where rooms are repre- visual programming language (VPL) used by engineers, ar-
sented as bubble-like agents and connections as strings chitects, and urban designers allowing custom visual
linking the agents. Their model is also integrated with an scripting in conventional design and engineering software
evolutionary optimization process, allowing the system to such as Revit, Fusion, and FormIt. Moreover, visual pro-
narrow down the generated floorplans to predefined gramming platforms allow third-party developers to build
architectural criteria in both 2D and 3D layouts. various add-on libraries and custom functions as packages.
The work of (Das et al., 2016) is probably the most Such packages can serve as custom performance-based
similar work to our system where they also take advantage analysis functions when integrated with GenFloor’s gener-
of efficient tree representation via Kd-trees as an initial ative design framework. Floorplans generated via GenFloor
generation method. Furthermore, they implement spatial can be analyzed using custom libraries available in the vi-
grouping and circulation functions to achieve more feasible sual programming platform developed by other developers,
architectural floorplanning results. Their system is also while in contrast, standalone software outside VPL
developed as a library that can be loaded to Dynamo VPL, platforms may not have the ability of such integration.

775
M. Keshavarzi and M. Rahmani-Asl

GenFloor is developed using ZeroTouchNodes and Custom-


UINodes libraries which are all written in C# language.
In the following subsections, we elaborate on the details
of the system in four major steps, commonly used in a
generative design workflow: (1) Define, where the user
provides the system the Spatial Requirements; (2)
Generate, where the system generates the Spatial Blocks;
(3) Evaluate and Search, where the fitness of each solution
is calculated and is input to the ongoing search (4) Visu-
alize, where the final floorplan, it’s tree representation and Fig. 3 Standard Tree of a (a) binary tree for B*Tree and (b)
adjacency graphs are visualized or converted to a BIM non binary tree for O-Tree. n Z 6 and each node corresponds
model. Fig. 1 illustrates a number of GenFloor components to an spatial input entity (aef).
grouped in the aforementioned steps.
perturb the Standard Tree with Permutation Parameters.
4. Define Permutation Parameters P are an array of values, which
vary in size and attributes depending on the permuta-
As a starting step, users of the system define geometrical tion method. We elaborate more on the properties of
and topological spatial requirements by either manually different types of Permutation Parameters when
defining each spatial block using a customized interactive describing each permutation method. Our methods
GUI node in the Dynamo interface, input from other provide deterministic results of tree arrangements and
dynamic data streams in Dynamo, or importing program do not utilize any random functions in their process.
information from an excel spreadsheet. All three After perturbing the Standard Tree with one of the
approaches are shown in Fig. 2. Block dimensions and permutation modules, the subsequent tree is converted
adjacency goals can be defined in this step. Defining to a floorplan using O-Tree or B)-Tree representations.
the spatial requirements using dynamic data streams Users of our system can generate space layouts by
would allow more advanced users to parametrize the choosing one of the block generation methods. In simple
input data with more control (eg. parameterize the terms, the Generation modules take Spatial Require-
dimension of the block), while the spreadsheet data ment data and Perturbation Parameters as input and
parsing method is targeted for general and traditional output a list of Spatial Blocks which formulate together
floorplanners that organize their program requirements in a determined layout.
spreadsheet format. The data inputted in this step is To facilitate the explanation of our system, we initially
primarily used for generating the tree structures but can describe how O-Tree and B)Tree non-slicing floorplanning
also serve as parameters defining the floorplanning goals representations are defined, and then present our proposed
and constraints. permutation methods. Furthermore, we explain our
By knowing the quantity of the blocks (n), a Standard implementation with the goal of allowing non-expert users
Tree with n nodes is generated. Since we use an O-Tree and to generatively design and manipulate floorplanning out-
B)Tree representation in our system, we develop two puts. Finally, we introduce a procedural mechanism to
methods of Standard Tree generation for each representa- extend the non-slicing representations to a slicing repre-
tion. In a B)Tree generation scenario, a Standard Tree is a sentation, allowing our system to generate layouts for ap-
complete binary tree of n nodes, where each node corre- plications such as indoor furniture layout.
sponds to Spatial Requirement defined by the user. A
complete binary tree is a binary tree in which every level, 5.1. O-tree representation
except possibly the last, is filled, and all nodes are as far
left as possible. The order of the nodes in the Standard Tree
An O-tree is an ordered non-binary tree representing a
resembles the order in which the user inputted each entity
determined floorplan layout. We define and implement a
of the geometrical block properties. Therefore, the first
modified version of O-Trees first introduced by Guo et al.
entity corresponds to the tree root and the final entity is
(2003) mainly altering perturbation methodologies. Given
the far-right node on the last level. In an O-Tree scenario,
a non-binary tree of function blocks, we first order the
the nodes are located on one single level, ordered from left
nodes using a depth-first search (DFS). Note that the root
to right. Fig. 3 shows an example of a Standard Tree for a
node does not correspond to any function block and rep-
B)Tree and O-Tree.
resents the left boundary of the placement. To generate
the floorplan using the ordered nodes we take the following
5. Generate steps for each function block. Each child j of a parent node
i is placed on the right side of the parent node i where
The goal of this module is to convert the Spatial Re- xi Z xj þ wj. For determining the height of the function
quirements to a tree representation and further to a set block placement, the block is placed on top of the hori-
of Spatial Blocks using the Permutation Parameters. As zontal contour of the placement. The horizontal contour on
part of our work, we propose three novel permutation the top edge of the previously placed function blocks the
methods for existing space layout graph representa- floor planning placement and is updated recursively when
tions, namely O-Tree and B)-Tree representations to each function block is placed.

776
Frontiers of Architectural Research 10 (2021) 771e786

Fig. 4 Proceeding perturbation of O-Tree method.

5.2. B)Tree representation between two modules as follows. If node b is the left child
of node a, the block assigned to node b must be located on
A B)-Tree is an ordered binary tree representing a floorplan the right-hand side to the block assigned to node a in the
layout. Our implementation of the B)-Tree floor planning floor planning placement such as xb Z xa þ wa; where xi is
representation is a modified version of B)-Tree’s initially the starting point and wi is the width of block i. During the
introduced in Chang et al. study (Chang et al., 2000) while placement of the function blocks, we also consider
having major differences in the perturbation operations. In assigning the height of the function block based on the
a B)Tree representation, the block assigned to the root horizontal contour, which we explained in the previous
node is placed on the bottom-left corner. Using a depth- section. Furthermore, if node c is the right child of node a,
first search (DFS) procedure, we recursively construct the the block assigned to c must be located above the hori-
floor-plan layout by keeping the geometric relationship zontal contour and also the block assigned to block a. As

Fig. 5 Ascend/descend of B*-Tree method.

777
M. Keshavarzi and M. Rahmani-Asl

the construction of the floorplan layout is recursively per- and piU indicates the maximum number of steps the node is
formed in the DFS order, we first complete the left subtree to move down (descend) in the binary tree in a breadth-first
of each node and then apply the same procedure to the search (BFS) format. Half-step traversals are also defined to
right subtree of the node. allow the insertion of a node between two levels. After
locating the end position of the node relocation, if the end
5.3. Proceeding Perturbation of O-Tree position is occupied by another node, swapping takes place.
representations If no other node occupies the target position, the node
creates an internal (a position between two nodes) or an
The Proceeding Perturbation method converts a Standard external branch within the tree. We follow the similar
O-Tree Ts Z {D0, D1, ..., Dn} into various tree structures via procedures for deleting, inserting, and switching block
input Permutation Parameters P Z {p1, p2, ., pn} where pi function nodes explained in (Chang et al., 2000)’s study.
˛{0, 1, ..., n}. To produce alternative floorplanning place- Additional details of the different operations of the
ments, we perturb the O-tree in n steps, where in each step Ascend/Descend method can be found in Table 1. Fig. 5
i, Dðpi Þ becomes the parent of Di. In other words, in each illustrates the permutation steps of the Ascend/Descend
step, the active node proceeds the target node which holds perturbation method.
the index of the corresponding Permutation Parameter.
However, the perturbation is discarded if pi Z i; or Di is to 5.5. Available nodes of B)-Trees
proceed a target node that has been defined as its child or
descendant in previous steps. Fig. 4 shows the permutation Similar to the Ascend/Descend method, the Available
of an O-Tree via a given P and it’s tree representation using Nodes method aims to relocate nodes of an input Standard
the Proceeding method perturbation. binary-tree Ts Z {D1, D2, D3, ..., Dn} in n steps, each time
relocating one active node. The Permutation Parameters
5.4. Ascend/descend perturbation method of B)- for this method is defined as P Z {p1, p2, ., pn}, where pi
Trees ˛{0, 0.5, 1, 1.5, ., 2n}. For each binary-tree T with n
nodes, there are 4n possible target locations in which a
Similar to the Proceeding Perturbation method, the node can be relocated resulting in a creation of either an
Ascend/Descend method takes place in nsteps, wherein internal node, external node, or a node swap. We call these
each step the active node is to be relocated or swapped potential target node locations available nodes and repre-
with another node. We define the target node as the new ^; D02n g. In
sent them in BSF order in TAv ¼ fD00 ; D00:5 ; D01 ; a
0
position of the active node. Starting with Standard Binary each step, Di will be relocated to Dpi using the same op-
Tree, the permutation parameters of the Ascend/Descend erations used in the Ascend/Descend method (Table 1), and
method are defined as P Z fðp1U ; p1D Þ; ðp2U ; p2D Þ; .; ðpnU ; TAv will be updated given the new tree structure. In
pnD Þg, where piU ; piD ˛f0; 0:5; 1; 1:5; :::; 2ng. piU indicates contrast to the Ascend/Descent method where the solution
the maximum levels the node moves up (ascend) in a tree, space holds a 2nn þ (4n)n complexity, the Available nodes

Table 1 Ascend/Descend scenarios and operations.


Function ID Scenario Operation
SU Step up Target node is equal with target node parent
T Z Tp.
HSU Half step up Target node is inserted between target node
parent and target node.
SR Up step count is larger than node level Nup > Nl Target node is equal to root node T Z D0.
HSN Up step is 0.5 Nup Z 0.5 Active nodes equal to target node and graph stays
unchanged.
SD Step down Target node is updated with next graph member in
BSF format.
HSD Half step down Target node is placed between Ndown ceiling and
Ndown ceiling parent.
SW Target node points to a graph member Active node and target node switch places.
IN Target node is not graph member and is between Active node is deleted and inserted between two
two graph members graph member nodes.
DN Node is deleted and has no child Parent node pointer to deleted node is set to
NULL.
DL Node is deleted and has left child. Node is switched with left child and then deleted.
DR Node is deleted and has right child only Nodes is switched with right child and then
deleted.
SP Target node has parent that is not graph member Target node is switched with previous step until
target node has parent that is a graph members.

778
Frontiers of Architectural Research 10 (2021) 771e786

Fig. 6 Available nodes of B*-Tree method.

method results in (4n)n complexity achieving faster results. considering block constraints such as direction and edge
Fig. 6 illustrates the process of the Available Nodes method. requirements. This step does not execute for blocks that
can have flexible dimensions. Fig. 7 illustrates the process
5.6. Extended B)Tree and Fig. 8 shows examples of indoor furniture generation
using the Extended B)Tree algorithm.
While both O)Tree and B)Tree are tree representations of
admissible non-slicing floorplan layouts, they can also be 6. Evaluation and search
extended as slicing methodologies for a given spatial
boundary. Such an approach would facilitate the layout The resulting floorplan can be then analyzed by various
planning in scenarios where all the given boundary is ex- customized fitness functions corresponding to the project
pected to be used without leaving empty space. Converting requirements. In this module, performance evaluations and
non-slicing representations to slicing representations can simulations are incorporated to evaluate the fitness of the
extend the potential applications of our work to indoor floorplan. Other than the geometrical and topological
furniture layout. Given an input boundary space, the sys- analysis functions provided by GenFloor, users can inte-
tem generates allocated areas for each furniture entity, grate third-party libraries and simulators to analyze the
while maintaining object-to-object topological re- generated layout. GenFloor provides basic evaluation
quirements between objects. functions that can be used as objectives or constraints of
We implement our extended B)Tree method in four the search system. The number of adjacency goals ach-
main steps: (i) generate B)Tree layout; (ii) scale the ieved, bounding boxes, and closest distances between
generated layout height and width to fit the input bounding blocks can be calculated using native functions available in
area. We call the new blocks, “extended blocks”. If the the GenFloor package.
ratio of the height or width is bigger than one, we penalize Adjacency evaluators allow users to analyze how the
the B)Tree solution as the function blocks cannot fit within generated floorplan achieves topological and adjacency
the bounding space without overlapping each other; (iii) We goals. The evaluator (1) calculates all adjacent blocks of
extend each extended block to the closest boundary edge, each Spatial Block in a given list (resulted adjacency); (2)
if not blocked by another extended block. This would allow compares the resulted adjacencies and target adjacencies
the extended blocks to fill all available spaces within the (goals) informing the user whether each resulted adjacency
boundary space. (iv) Finally, for non-flexible block func- is present in the target adjacency list or not (adjacency
tions such as furniture, where the dimension of the block check); and (3) outputs the number of achieved adja-
should be constant, we allocate a section of the new cencies in all the Spatial Blocks (adjacency achieved
extended blocks as the final location of the block while count). Other evaluators that are incorporated in the

779
M. Keshavarzi and M. Rahmani-Asl

Fig. 7 Extended B*Tree process: (a) generate B*Tree layout (b) scale the generated layout (c) extend to the closest boundary
edge (d) allocate furniture location based on heuristic constraints (e) add furniture objects to location.

system include bounding area calculation (returns smallest representing the interior and exterior walls. Moreover,
enclosed rectangle, or the minimum bounding rectangle for meta-data such as room names, spaces IDs, etc. can be
the generated floorplan), closest distance (returns the transferred to Revit for additional documentation purposes.
closest distance of Spatial Block to a single or multiple A procedural door placement system is also available for
Spatial Block and bounding curves test (Calculates whether users to further automate the process of floorplan genera-
Spatial Blocks of a generated floorplan fall inside a given tion. Fig. 9 illustrates an example set of results of BIM
polygon). models, generated as an output of the GenFloor system.
Finally, GenFloor can take advantage of Dynamo’s inte- Furthermore, users can visualize the corresponding ad-
grated Non-Sorting Genetic Algorithm II (NSGA-2) which jacency graphs of the generated layout with color codes
would allow the user to define constraints and goals for the determining which of its topological and adjacency goals it
floorplanning problem. The solver would find Permutation has been achieved and which has not. Adjacency graphs or
Parameters that correspond to tree representations of bubble diagrams are a common method of representing
Pareto-optimal solutions. While GenFloor is tested to work topological relationships and requirements in a space
smoothly with Dynamo’s NSGA-2 algorithm, the generation layout problem. The corresponding tree structure (O-Tree
module of the system is independent of the search mech- or B)Tree) of the generated space layout can also be
anism, and therefore, can be replaced other search generated by the user to allow additional analysis of the
mechanisms such as simulated annealing, particle swarm system workflow. Examples of such an approach can be
optimization or other evolutionary solvers, etc. Such ap- seen in Fig. 10.
proaches have not been experimented with within this
study, however, given the modular development of our 8. Case studies
GenFloor library, such integration is feasible.
In performance-based generative design systems, the gen-
7. BIM integration and visualization eral goal is to find Pareto-optimal solutions that address the
constraints and goals defined by the user. Yet in applica-
Generated floorplans can be directly converted to BIM tions such as space layout planning, automation can serve
models using incorporated functions available in the Gen- in various stages of the design process with different ob-
Floor library. Users can generate walls, doors, and rooms of jectives. In design scenarios where goals and constraints
the populated GenFloor floorplans in Revit. Spatial Blocks are finalized, programmable, and clearly defined, the user
are converted to two sets of non-overlapping walls is simply seeking the best solution (or a limited number of

Fig. 8 Examples of indoor furniture generation via the Extended B*Tree algorithm.

780
Frontiers of Architectural Research 10 (2021) 771e786

Fig. 9 Examples of different perturbations of a floorplan using GenFloor in Revit. The user can generate BIM models including
walls, doors and rooms of the populated GenFloor floorplans using built-in components.

solutions) which achieves optimal performance. In such observe how the system can generate diverse floorplans
settings, an ideal performance-based generative design while addressing given a constant design problem. From a
system is able to generate and converge towards the global search perspective, we intend to measure the ability of the
optima of the solution landscape without getting trapped in system to converge to the global optimum in the first
local optimas. experiment, while in the second experiment assessing its
The other scenario is when all performance metrics are ability to gather all potential solutions for the user often
not programmable by the designer or have not yet finalized corresponding to local optimums of the solution landscape.
the performance metrics for its design. Programming We further elaborate on the experiments below.
evaluators often require time and expertise, and not always
can programmable due to the qualitative nature which they
may hold. In such cases, the designer may be yet flexible 8.1. Known optimal solution search
with the defined metrics and would want to explore
different design strategies. In such a scenario the user is The goal of this experiment is to evaluate whether our
looking for more diverse solutions. Instead of looking for system can find a deterministic known optimal solution for
one final answer, the designer is eager to explore a diverse a given space layout problem. To do so, we define a pre-
set of solutions, all addressing the goals and constraints to a designed layout as an known optimal design. We then use
good level of extent. Diverse design options sampled from the topological properties of a pre-defined design (optimal
different parts of the solution landscape can provide the design) as goals and assess if the system is able to find a
user with multiple design directions or initiate a feedback solution similar both in topological performance and
loop so a redefinition of the design problem takes place. geometrical layout. Such an approach would allow us to
We, therefore, conduct two preliminary experiments to observe whether the system would (i) converge to a
address both scenarios explained above. In the first deterministic known optimal solution in different runs, (ii)
experiment, we measure the system’s ability to find a compare the speed and memory allocation for various
known optimal solution, given that goals and constraints permutation methods, and finally (iii) understand how
are finalized and defined. In the second experiment, we various properties of the evolutionary solver such as

Fig. 10 Examples of an O-Tree graph visualization (left) corresponding to the generated floorplan (right) using the visualization
functions.

781
M. Keshavarzi and M. Rahmani-Asl

Fig. 11 Known optimal solution search experiment workflow.

population size, generation count and mutation rate im- adjacent to SC, then SC adjacency to SA will not be assigned
pacts the ability of our system to find the optimal design. as a goal. In such context, the number of adjacency
Fig. 11 shows the general workflow of the experiment. required where decreased to (ACount Z 16).
We use a residential floorplan as a pre-designed optimal Table 2 shows the results for our optimal solution search
layout with 8 spatial blocks, each corresponding to a spatial experiment. In L1 where all extracted adjacencies are
function. Next, by extracting the topological properties of present, the system is not able to find the optimal pre-
each block, we produce the adjacency matrix of the designed solution with the various settings and does not
floorplan. This would serve as input to the GenFloor system- meet all the adjacency goals. The maximum score is 0.86
as an optimization goal-alongside the geometrical proper- resembling an over-constrained problem for the system.
ties of the corresponding blocks. We then examine whether However, when the adjacency requirements are relaxed to
the system would generate the ideal output: a floorplan a lower amount L1, the system is able to generate the exact
with the maximum adjacency goals achieved and a spatial optimal layout. In such a context, (p Z 40, g Z 4) starts
layout similar to the layout defined as the optimal design. with lower scores than other levels, but with increasing the
We perform the experiment with three different settings gene population and generation runs, the system is able to
of the GA solver. In the first setting, we initiate a limited find the optimal solution. Moreover, In the event where
population size (p Z 40) with limited generation runs adjacency goals are minimum (a Z 16), we observe better
(g Z 5). The second setting resembles a larger population adjacency scores in S(40,5) and (p Z 100, g Z 5) than other
with the same limited generation run (p Z 100, g Z 5), adjacency levels. While all adjacency goals are achieved in
while the third setting consists of a larger population with a (p Z 100, g Z 15) the output solution is not similar to our
larger number of generations. The cross-over rate for all pre-designed optimal layout.
runs is 20% and the mutation rate is set at 10%. Moreover,
we define adjacency goals in three levels. The L1 contains 8.2. Emerging Layout Search
all the adjacency requirements (ACount Z 28) extracted
from the pre-designed layout, the L2 resembles high prior- In this experiment, we intend to illustrate our system’s
ity adjacencies from a designers perspective (ACount Z 20). ability to generate diverse results given constant geomet-
In L3, if we require SA to be adjacent to SB, while SB is rical and topological goals and constraints. In addition to

Table 2 Known optimal solutions search.


Adjacency Required Adjacency Count (ACount) Population Size (p) Generations (g) Maximum Adjacency Achieved Score
28 40 4 20 0.1
28 100 5 24 0.79
28 100 15 24 0.86

20 40 4 14 0.70
20 100 5 16 0.80
20 100 15 20 1.00

16 40 4 12 0.75
16 100 5 14 0.88
16 100 15 16 1.00

782
Frontiers of Architectural Research 10 (2021) 771e786

Fig. 12 Emerging Layout Search and corresponding bubble diagram visualization generated by GenFloor.

the permutation parameters, we add a binary rotation permutation methods. Such property may be misleading for
parameter allowing the Spatial Block to switch its width and an evolutionary search mechanism, as solutions of neigh-
height. We use the same residential problem in the previous boring parameters may need to be discarded because they
subsection with L1 adjacency requirements where all don’t hold the requirements of permutation parameters,
spaces have at least one adjacency requirement, with the potentially disrupting the ability to converge to optimal
corridor having 4 adjacency goals. However, instead of solutions. The Ascend/Descend method comes with the
generating solutions that address all adjacency re- limitation of potentially generating similar solutions given
quirements (ACount Z 28), we aim to visualize a broader set different parameters. For example, if the active node is
of solutions that maintain at least (ACount Z 20). Fig. 12 located on the third level of the tree, any piU > 2 would
illustrates the results from a (p Z 100, g Z 15) genera- give the same ascending target node. The Available Nodes
tion and their corresponding bubble diagram visualization method is probably the most efficient permutation model
explained in Section 7. The results show how GenFloor is when compared to other methods. However, it lacks an
able to generate a diverse set of solutions for the defined intuitive correspondence to the floorplanning representa-
space layout problem. tion. Since the traversal takes place using a BSF approach,
understanding the relationship between the permutation
parameters and the resulting floorplan can be a challenge
9. Discussions for a user. Whereas the Ascend/Descend and the Proceed-
ing methods come with much more intuitive permutation
One of the main drawbacks of using non-slicing floor- parameters, allowing the user to have potentially more
planning representation methods in floorplan generation is direct control over the floorplanning if desired.
their lack of intuitiveness between the encoding mecha- It is important to note, all representations introduced in
nism and the output floorplanning representation. In such this paper provide an initial general layout for spatial ele-
context, while GenFloor aims to provide additional visual- ments. Additional operators can be implemented to trans-
ization modules for generative designers to view the form the rectangular solutions into more complex
resulted tree structures of the input array strings, it still geometries, or allocated circulations space in applications
falls short of providing a clear and straightforward such as architecture and facility layout planning. In sce-
connection between the input parameters and output re- narios where computationally expensive evaluations take
sults for amateur users. In general, integrating slicing place, such as physical-based simulations (eg. building en-
methods with optimization solvers is more straight-forward ergy simulations, daylighting simulations, etc.), a limited
as control parameters can simply correspond with the H, V solution space would be beneficial for the search. Such
parameters. These parameters can be explicit without property would also benefit workflows with limited
requiring any post-processing conversation to floorplan computational resources, such as mobile applications or
representation. Such property does not always hold in non- real-time gaming. While there is no limitation to the num-
slicing methods, as encoding methodologies and perturba- ber of spatial blocks handled by GenFloor, given the NP-
tion operators prevent straight-forward representations of hard essence of the space layout problem, the increase of
the control parameters. the number of blocks would significantly increase the
When comparing some of the limitations of the proposed complexity of the solution and therefore result in slower
permutation methods, we should highlight that the O-Tree convergence to suitable solutions. Furthermore, exploring
Proceeding method comes with a larger number of dis- various optimization techniques to maintain the diversity of
carding scenarios when compared to the proposed B)Tree the solutions in the resulting Pareto frontier while achieving

783
M. Keshavarzi and M. Rahmani-Asl

a fast search can be an important direction to further generated solutions while obtaining instant feedback to
validate the effectiveness of the proposed representation. control how the modified layout affects the defined per-
While measuring shape diversity and aesthetic performance formance criteria.
through predefined metrics can be challenging, taking
advantage of shape sampling methods such as (Khan and
Gunpinar, 2018; Gunpinar and Gunpinar, 2018) can guide Declaration of competing interest
the space layout search towards more diversified results,
potentially addressing the designer’s requirements while There is no conflict of interest.
introducing emergence to the generative design workflow.
Acknowledgements
10. Conclusion
We thank the anonymous reviewers for their insightful
In this paper, we introduce an end-to-end interactive comments. This research was initiated and supported by
generative floorplanning design system, GenFloor, which Autodesk’s AEC Generative Design Team. We would like to
takes geometrical, topological, and performance goals and thank their support in Generative Design for Revit (formerly
constraints as input and provides optimized spatial design Project Refinery). The authors would also like to thank
solutions as output. By proposing three novel permutation Luisa Caldas, James O’Brien and Payam Delgosha for their
methodologies for binary and non-binary trees, and inte- constructive feedback on the research.
grating them with search algorithms with defined perfor-
mance evaluators, we are able to generate and optimize
Manhattan-based floorplans for various design applications. References
By utilizing the proposed permutation methodology with O-
Tree and B)-Tree representations, we significantly reduce Adya, S., Chan, H., Markov, I., . Parquet: fixed-outline foorplanner.
the complexity of the solution space when compared to online: http://vlsicad.eecs.umich.edu.BK/parquet.
standard O-Tree and B)-Tree permutation methods, and Anjos, M.F., Vieira, M.V., 2017. Mathematical optimization ap-
proaches for facility layout problems. The state-of-the-art and
hence reduce the optimization process for floorplanning
future research directions.
tasks. With a user-centric generative design approach, our
Armour, G.C., Buffa, E.S., 1963. A heuristic algorithm and simula-
system is developed as a custom library package for Autodesk tion approach to relative location of facilities. Manag. Sci. 9,
Dynamo, a visual programming platform, allowing users to 294e309.
analyze and incorporate the generated floorplans with con- Arvin, S.A., House, D.H., 2002. Modeling architectural design ob-
ventional CAD software and third-party performance evalu- jectives in physically based space planning. Autom. ConStruct.
ators. Using the GenFloor package, designers can intuitively 11, 213e225.
combine various floorplanning and evaluation components, Bader, J., Zitzler, E., 2011. Hype: an algorithm for fast
define goal and constraints and receive visual real-time hypervolume-based many-objective optimization. Evol. Com-
feedback during their generative design process. put. 19, 45e76.
Bergin, M.S., Nourbakhsh, M., Keshavarzi, M., Cheng, C.Y., 2020.
Future work on the development of this system can fall
Automated parametrization of floor-plan sketches for multi-
into four main categories. First, extending the floor-
objective building optimization tasks. US Patent App 16/681,
planning generation to non-Manhattan-based design solu- 591.
tions. This can be explored when integrating physical-based Bruls, M., Huizing, K., Van Wijk, J.J., 2000. Squarified treemaps.
simulations into the current workflow and taking advantage In: Data Visualization 2000. Springer, pp. 33e42.
of previous research in deformable templates. In such an Caldas, L.G., 2001. An Evolution-Based Generative Design System:
approach GenFloor can generate initial positioning for the Using Adaptation to Shape Architectural Form. Ph.D. thesis.
non-rectangular blocks, and then the system can take MIT.
advantage of mass-spring simulations to configure the Chang, Y.C., Chang, Y.W., Wu, G.M., Wu, S.W., 2000. B)-trees: a
geometrical conflicts and resemble a balanced layout. new representation for non-slicing floorplans. In: Proceedings
37th Design Automation Conference, pp. 458e463.
Second, we intend to increase the speed of our system by
Chaszar, A., Von Buelow, P., Turrin, M., 2016. Multivariate interac-
engineering the current development code with more effi-
tive visualization of data in generative design. In: Symposium on
cient functions and run-time procedures. The current Simulation for Architecture and Urban Design. SimAUD, London.
version released does not resemble the potential speed in Chen, G., Guo, W., Cheng, H., Fen, X., Fang, X., 2008. Vlsi floor-
which tree representations can deliver in floorplanning planning based on particle swarm optimization. In: 2008 3rd
optimization. Third, additional statistical testing can be International Conference on Intelligent System and Knowledge
conducted to measure the diversity of the proposed floor- Engineering. IEEE, pp. 1020e1025.
planning method when compared with other state-of-the- Das, S., Day, C., Hauck, J., Haymaker, J., Davis, D., 2016. Space
art techniques and benchmark datasets. Finally, additional Plan Generator: Rapid Generationn & Evaluation of Floor Plan
interactivity in post-modeling generated floorplanning can Design Options to Inform Decision Making.
Deb, K., Agrawal, S., Pratap, A., Meyarivan, T., 2000. A fast elitist
be added to the current system. While our integration with
non-dominated sorting genetic algorithm for multi-objective
Revit’s BIM modeling system does allow parametric modi-
optimization: nsga-ii. In: International Conference on Parallel
fication of our generated layouts, but slight re- Problem Solving from Nature. Springer, pp. 849e858.
arrangements of the outputted layouts are not achieved Doulgerakis, A., 2007. Genetic Programmingþ Unfolding Embry-
smoothly in the current workflow. Such an approach would ology in Automated Layout Planning. Ph.D. thesis. UCL (Uni-
enable users to easily implement slight modifications to the versity College London).

784
Frontiers of Architectural Research 10 (2021) 771e786

Eldars, M.Z.A., 1964. An Approach to the Optimum Layout of Single Kaur, P., 2014. An enhanced algorithm for floorplan design using
Storey Buildings from the Point of View of Circulation with hybrid ant colony and particle swarm optimization. Int. J. Res.
Special Reference to Operating Theatre Suites. Thesis Ph. D., Appl. Sci. Eng. Technol. 2, 473e477.
Liverpool University. Keshavarzi, M., Afolabi, O., Caldas, L., Yang, A.Y., Zakhor, A.,
Flemming, U., 1989. More on the representation and generation of 2020a. Genscan: A Generative Method for Populating Para-
loosely packed arrangements of rectangles. Environ. Plann. metric 3d Scan Datasets arXiv preprint arXiv:2012.03998.
Plann. Des. 16, 327e359. Keshavarzi, M., Bidgoli, A., Kellner, H., 2020b. V-dream: immersive
Flemming, U., 1990. Planning in design synthesis, abstraction- exploration of generative design solution space. In: Interna-
based loos. Applications of Artificail Intelligence in Engineer- tional Conference on Human-Computer Interaction. Springer,
ing V 1, 91e111. pp. 477e494.
Flemming, U., Woodbury, R., 1995. Software environment to sup- Keshavarzi, M., Hutson, C., Cheng, C.Y., Nourbakhsh, M.,
port early phases in building design (seed): Overview. J. Ar- Bergin, M., Asl, M.R., 2020c. Sketchopt: Sketch-Based Para-
chitect. Eng. 1, 147e152. metric Model Retrieval for Generative Design arXiv preprint
Frew, R.S., 1980. A survey of space allocation algorithms in use in arXiv:2009.00261.
architectural design in the past twenty years. In: Proceedings of Keshavarzi, M., Parikh, A., Zhai, X., Mao, M., Caldas, L., Yang, A.,
the 17th Design Automation Conference, pp. 165e174. 2020d. Scenegen: Generative Contextual Scene Augmentation
Gero, J.S., Kazakov, V.A., 1997. Learning and re-using information Using Scene Graph Priors arXiv preprint arXiv:2009.12395.
in space layout planning problems using genetic engineering. Keshavarzi, M., Yang, A.Y., Ko, W., Caldas, L., 2020e. Optimization
Artif. Intell. Eng. 11, 329e334. and manipulation of contextual mutual spaces for multi-user
Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde- virtual and augmented reality interaction. In: 2020 IEEE Con-
Farley, D., Ozair, S., Courville, A., Bengio, Y., 2014. Generative ference on Virtual Reality and 3D User Interfaces (VR). IEEE,
adversarial nets. In: Advances in Neural Information Processing pp. 353e362.
Systems, pp. 2672e2680. Khan, S., Gunpinar, E., 2018. Sampling cad models via an extended
Grabska, E., Łachwa, A., Slusarczyk, G., Grzesiak-Kopec, K., teachingelearning-based optimization technique. Comput.
Lembas, J., 2007. Hierarchical layout hypergraph operations Aided Des. 100, 52e67.
and diagrammatic reasoning. Mach. Graph. Vis. 16, 23e38. Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P., 1983. Optimization by
Grason, J., 1970. Fundamental description of a floor plan design simulated annealing. science 220, 671e680.
program. In: EDRA [1]. Proc. Of the 1st Ann. Design Research Kiyota, K., Fujiyoshi, K., 2005. Simulated annealing search
Association Conf. Held at Chapel Hill. Dowden, Hutchinson & through general structure floor plans using sequence-pair.
Ross, Inc, North Carolina. Stroudsburg, Pennsylvania, Electron. Commun. Jpn. Part III Fundam. Electron. Sci. 88,
pp. 175e180. 28e38.
Gunpinar, E., Gunpinar, S., 2018. A shape sampling technique via Knecht, K., König, R., 2010. Generating floor plan layouts with kd
particle tracing for cad models. Graph. Model. 96, 11e29. trees and evolutionary algorithms. In: Generative Art Conf,
Guo, P.N., Cheng, C.K., Yoshimura, T., 2003. An o-tree represen- pp. 238e253.
tation of non-slicing floorplan and its applications. In: Pro- Liggett, R.S., Mitchell, W.J., 1981. Optimal space planning in
ceedings 1999 Design Automation Conference (Cat. No. practice. Comput. Aided Des. 13, 277e288.
99CH36361). IEEE, pp. 268e273. Lin, C.T., Chen, D.S., Wang, Y.W., 2002. An efficient genetic al-
Guo, Z., Li, B., 2017. Evolutionary approach for spatial architecture gorithm for slicing floorplan area optimization. In: 2002 IEEE
layout design enhanced by an agent-based topology finding International Symposium on Circuits and Systems. Proceedings
system. Frontiers of Architectural Research 6, 53e62. (Cat. No. 02CH37353). IEEE (pp. IIeII).
Gwee, B.H., Lim, M.H., 1999. A ga with heuristic-based decoder for Lin, J.M., Chang, Y.W., 2005. Tcg: a transitive closure graph-based
ic floorplanning. Integrat. VLSI J. 28, 157e172. representation for general floorplans. IEEE Trans. Very Large
Herdy, M., 1996. Evolution strategies with subjective selection. In: Scale Integr. Syst. 13, 288e292.
Voigt, H.M., Ebeling, W., Rechenberg, I., Schwefel, H.P. (Eds.), Ma, Y., Dong, S., Hong, X., Cai, Y., Cheng, C.K., Gu, J., 2001. Vlsi
Parallel Problem Solving from Nature d PPSN IV. Springer Berlin floorplanning with boundary constraints based on corner block
Heidelberg, Berlin, Heidelberg, pp. 22e31. list. In: Proceedings of the 2001 Asia and South Pacific Design
Hua, H., 2016. Irregular architectural layout synthesis with graph- Automation Conference. ACM, pp. 509e514.
ical inputs. Autom. ConStruct. 72, 388e396. March, L., Steadman, P., 1971. Spatial Allocation Procedures. The
Hua, H., 2017. A bi-directional procedural model for architectural Geometry of Environment.
design. In: Computer Graphics Forum. Wiley Online Library, Marson, F., Musse, S.R., 2010. Automatic real-time generation of
pp. 219e231. floor plans based on squarified treemaps algorithm. Interna-
Huang, W., Zheng, H., 2018. Architectural drawings recognition tional Journal of Computer Games Technology 2010 1e10.
and generation through machine learning. In: Proceedings of Meignan, D., Knust, S., Frayret, J.M., Pesant, G., Gaud, N., 2015. A
the 38th Annual Conference of the Association for Computer review and taxonomy of interactive optimization methods in
Aided Design in Architecture, pp. 18e20. Mexico City, Mexico. operations research. ACM Transactions on Interactive Intelligent
Isola, P., Zhu, J.Y., Zhou, T., Efros, A.A., 2017. Image-to-image Systems (TiiS) 5, 17.
translation with conditional adversarial networks. In: Pro- Michalek, J., Choudhary, R., Papalambros, P., 2002. Architectural
ceedings of the IEEE Conference on Computer Vision and layout design optimization. Eng. Optim. 34, 461e484.
Pattern Recognition, pp. 1125e1134. Miller, W.R., 1971. Computer-aided space planning-an introduc-
Jain, L., Singh, A., 2013. Non slicing floorplan representations in tion-. dmg newsletter 5 (4/5) (Design Methods Group).
vlsi floorplanning: a summary. Int. J. Comput. Appl. 71. Mitchell, W.J., 1975. The theoretical foundation of computer-
Jo, J.H., Gero, J.S., 1995. Representation and Use of Design aided architectural design. Environ. Plann. Plann. Des. 2,
Knowledge in Evolutionary Design. 127e150.
Jo, J.H., Gero, J.S., 1998. Space layout planning using an evolu- Mitchell, W.J., 1990. The Logic of Architecture: Design, Computa-
tionary approach. Artif. Intell. Eng. 12, 149e162. tion, and Cognition. MIT press.
Kahng, A.B., Lienig, J., Markov, I.L., Hu, J., 2011. VLSI Physical Moni, D.J., Arumugam, S., 2009. Vlsi floorplanning based on hybrid
Design: from Graph Partitioning to Timing Closure. Springer particle swarm optimization. Karunya Journal of Research 1,
Science & Business Media. 111e121.

785
M. Keshavarzi and M. Rahmani-Asl

Mueller, C.T., Ochsendorf, J.A., 2015. Combining structural per- Singh, R.B., Baghel, A.S., Agarwal, A., 2016. A review on VLSI
formance and designer preferences in evolutionary design space floorplanning optimization using metaheuristic algorithms. In:
exploration. Autom. ConStruct. 52, 70e82. International Conference on Electrical, Electronics, and Opti-
Murata, H., Fujiyoshi, K., Nakatake, S., Kajitani, Y., 1995. Rect- mization Techniques, ICEEOT 2016. Institute of Electrical and
angle-packing-based module placement. In: Proceedings of the Electronics Engineers Inc., pp. 4198e4202
1995 IEEE/ACM International Conference on Computer-Aided Slusarczyk, G., 2018. Graph-based representation of design prop-
Design. IEEE Computer Society, Washington, DC, USA, erties in creating building floorplans. Comput. Aided Des. 95,
pp. 472e479. 24e39.
Nakatake, S., Fujiyoshi, K., Murata, H., Kajitani, Y., 1997. Module Sowmya, B., Sunil, M., 2013. Minimization of floorplanning area and
placement on bsg-structure and ic layout applications. In: Pro- wire length interconnection using particle swarm optimization.
ceedings of the 1996 IEEE/ACM International Conference on International Journal of Emerging Technology and Advanced
Computer-Aided Design. IEEE Computer Society, pp. 484e491. Engineering 3.
Nakaya, S., Koide, T., Wakabayashi, S., 2000. An adaptive genetic Sun, T.Y., Hsieh, S.T., Wang, H.M., Lin, C.W., 2006. Floorplanning
algorithm for vlsi floorplanning based on sequence-pair. In: 2000 based on particle swarm optimization. In: IEEE Computer Soci-
IEEE International Symposium on Circuits and Systems. ety Annual Symposium on Emerging VLSI Technologies and Ar-
Emerging Technologies for the 21st Century. Proceedings. IEEE, chitectures (ISVLSI’06). IEEE, p. 5.
pp. 65e68 (IEEE Cat No. 00CH36353). Tam, K.Y., 1992. Genetic algorithms, function optimization, and
Nassar, K., 2010. New advances in the automated architectural facility layout design. Eur. J. Oper. Res. 63, 322e346.
space plan layout problem. Proceedings Computing in Civil and Tedeschi, A., 2014. AAD, Algorithms-Aided Design: Parametric
Building Engineering. Strategies Using Grasshopper. Le penseur publisher.
Peng, C.H., Yang, Y.L., Bao, F., Fink, D., Yan, D.M., Wonka, P., Wang, L.T., Chang, Y.W., Cheng, K.T.T. (Eds.), 2009. Electronic
Mitra, N.J., 2016. Computational network design from func- Design Automation: Synthesis, Verification, and Test. Morgan
tional specifications. ACM Trans. Graph. 35, 1e12. Kaufmann Publishers Inc., San Francisco, CA, USA.
Peng, C.H., Yang, Y.L., Wonka, P., 2014. Computing layouts with Wang, T.C., Liu, M.Y., Zhu, J.Y., Tao, A., Kautz, J., Catanzaro, B.,
deformable templates. ACM Trans. Graph. 33, 1e11. 2018. High-resolution image synthesis and semantic manipula-
Rebaudengo, M., Reorda, M.S., 1996. Gallo: a genetic algorithm for tion with conditional gans. In: Proceedings of the IEEE Confer-
floorplan area optimization. IEEE Trans. Comput. Aided Des. ence on Computer Vision and Pattern Recognition,
Integrated Circ. Syst. 15, 943e951. pp. 8798e8807.
Rosenman, M., Gero, J., 1999. Evolving designs by generating Wong, D.F., Liu, C.L., 1986. A new algorithm for floorplan design.
useful complex gene structures. Evolutionary design by com- In: Proceedings of the 23rd ACM/IEEE Design Automation Con-
puters 345e364. ference. IEEE Press, Piscataway, NJ, USA, pp. 101e107.
Schnier, T., Gero, J.S., 1996. Learning genetic representations as Xiaogang, W., et al., 2002. Vlsi floorplanning method based on
alternative to hand-coded shape grammars. In: Artificial Intel- genetic algorithms. Microprocessors 1.
ligence in Design’96. Springer, pp. 39e57. Youssef, H., Sait, M., Adiche, H., 2001. Evolutionary algorithms,
Scott, S.D., Lesh, N., Klau, G.W., 2002. Investigating human-computer simulated annealing and tabu search: a comparative study. Eng.
optimization. In: Proceedings of the SIGCHI Conference on Human Appl. Artif. Intell. 14, 167e181.
Factors in Computing Systems. ACM, pp. 155e162. Zhang, S.H., Zhang, S.K., Liang, Y., Hall, P., 2019. A survey of 3d
Shaviv, E., 1987. Generative and evaluative caad tools for spatial indoor scene synthesis. J. Comput. Sci. Technol. 34, 594e608.
allocation problem. In: Principles of Computer-Aided Design: Zitzler, E., Laumanns, M., Thiele, L., 2001. SPEA2: Improving the
Computability of Design. Wiley-Interscience, pp. 191e212. Strength Pareto Evolutionary Algorithm. TIK-report 103.

786

You might also like