Professional Documents
Culture Documents
1 s2.0 S2095263521000443 Main
1 s2.0 S2095263521000443 Main
1 s2.0 S2095263521000443 Main
ScienceDirect
RESEARCH ARTICLE
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
772
Frontiers of Architectural Research 10 (2021) 771e786
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
776
Frontiers of Architectural Research 10 (2021) 771e786
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
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
778
Frontiers of Architectural Research 10 (2021) 771e786
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
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
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