GenFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
GGenFloor: Interactive Generative Space Layout System viaEncoded 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
A R T I C L E I N F O
Keywords :Generative DesignFloorplanningOptimizationSpace LayoutPerformance-based DesignOptioneering
A B S T R A C T
Automated floorplanning or space layout planning has been a long-standing NP-hard problem inthe field of computer-aided design, with applications in integrated circuits, architecture, urban-ism, and operational research. In this paper, we introduce GenFloor, an interactive design systemthat takes geometrical, topological, and performance goals and constraints as input and providesoptimized spatial design solutions as output. As part of our work, we propose three novel per-mutation methods for existing space layout graph representations, namely O-Tree and B*-Treerepresentations. We implement our proposed floorplanning methods as a package for Dynamo,a visual programming tool, with a custom GUI and additional evaluation functionalities to facil-itate designers in their generative design workflow. Furthermore, we illustrate the performanceof GenFloor in two sets of case-study experiments for residential floorplanning tasks by (a) mea-suring the ability of the proposed system to find a known optimal solution, and (b) observing howthe system can generate diverse floorplans while addressing given a constant residential designproblem. Our results indicate convergence to the global optimum is achieved while offering adiverse set of solutions of a residential floorplan corresponding to local optimums of the solutionlandscape.
1. Introduction
Space layout planning is the process of placing a set of discrete but independent spatial elements while attemptingto satisfy geometrical, topological, and performance goals in their layout. Due to the combinatorial enumeration ofspatial relationships and the subjective nature of their inter-dependencies, large numbers of potential solutions can begenerated even with a small number of space elements. Such complexity classifies the floorplanning process as anNP-Hard problem, where the size of solution spaces grows exponentially as the size of the problem increases [31].Applications of floorplanning can be seen in a wide variety of fields, such as integrated circuits [64], architecture,urbanism, and operational research [2]. More recently, with the rise of augmented and virtual reality platforms, theneed to automate surrounding object placements has surpassed virtual applications [38], and tasks such scene synthesis[75] and indoor object augmentation [37] take advantage of various implicit or explicit space layout methodologies,and are seen as promising research directions for next-generation computing platforms.This level complexity of floorplanning has encouraged researchers to explore this problem by developing generativesystems that take advantage of meta-heuristic search approaches. The general process of such systems can be describedin three modules (i) generating various layouts via a generative function (ii) analyzing the layouts using certain designobjectives via a fitness function, or comparing them to a set of priors; (iii) iterating this search until the optimalsolutions are found. Generating layouts often involves encoding a floorplan as a solution to a floorplan representationfunction. This representation not only defines the complexity of the solution but also impacts the efficiency of the searchprocess to find a desired floorplan in the solution landscape. Evaluation metrics can vary based on the design problemitself. In architectural space planning, for instance, performance metrics such as functional topologies, daylight, energyconsumption, etc. come along with geometrical requirements such as site boundaries, room areas, etc. In digitaldesign and VLSI (very large scale integrated-circuit) floorplanning, factors such as wire length and bounding area areoptimized while fulfilling the requirements of the fabrication technology (sufficient wire spacing, restricted numberof wiring layers, etc.). As each performance objective induces a new dimension within the solution space, searching ∗ Corresponding author [email protected] (M. Keshavarzi); [email protected] (M. Rahmani-Asl)
ORCID (s): (M. Keshavarzi)
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 1 of 18 a r X i v : . [ c s . G R ] F e b enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs for the desired solution has been widely incorporated with meta-heuristic search methods such as Genetic Algorithms,Simulated Annealing, Particle Swarm Optimizations, Ant Colony Optimization, etc.While much of the floorplanning methodologies proposed in current literature can be incorporated into cross-disciplinary challenges, many current space layout systems only target a specific range of design applications. Floor-planning software used by VLSI designers, for instance, is not often used by architects, and vice versa. This is mainlydue to fact that such systems differ in performance evaluation criteria and are designed primarily for users targeting aspecific application. Moreover, choosing the best heuristic optimization method can also be dependent on the designproblem itself. Previous studies have compared these search methods in various floorplanning benchmarks, showinghow each may perform better than the other in different design requirements [74, 8, 64]. However, not all optimizationmethods can be utilized in current floorplanning systems for a non-expert user to explore different optimization strate-gies. Such investigation, that would incorporate custom performance analysis and allow the user to choose betweendifferent search methods often requires advanced proficiency in programming, while allocating considerable time andresources.In the past two decades, many designers have adopted visual-programming languages (VPLs) such as Grasshopperand Dynamo to automate their design workflows. VPLs break down the functions of software into discrete components or nodes using a intuitive graphical interface. Each component within a VPL has its own inputs and outputs, essentiallyacting as an individual tool within a larger script or workflow. As a result, users can customize their workflows basedon the arrangement of components in their scripts, enabling them to engage different issues as they become relevantand experiment with new creative workflows as unique situations arise on projects [69]. Moreover, many buildingperformance evaluation libraries and third-party tools which facilitate bi-directional data-flow between simulationengines have become increasingly available through these platforms. In addition, meta-heuristic optimization librariessuch as SPEA-2 [76], HypE [5], NSGA-2 [13] have been integrated in various VPL plugins, allowing users to performgenerative design task, and visualize the results using the incorporated visualization tools. However, with all the designopportunities VPLs have brought for generative designers, there are a limited number of end-to-end workflows availablein VPLs that take advantage of established cross-disciplinary floorplanning representations, which are specificallydesigned for the meta-heuristic optimizations available in VPLs.Motivated by this challenge, in this paper we introduce an interactive generative floorplanning design system,GenFloor, which is developed as a library package for Autodesk Dynamo, allowing users to incorporate generativefloorplanning mechanism with third-party performance evaluators for optimization purposes within commonly usedCAD software. With a user-centric design approach and an end-to-end workflow, GenFloor takes geometrical, topo-logical, and performance goals and constraints as input and provides optimized spatial design solutions as output. Byproposing three novel permutation methodologies for binary and non-binary trees, and integrating them with meta-heuristic optimization algorithms and defined performance evaluators, GenFloor enables designers to generate andoptimize Manhattan-based floorplans for various design applications.
2. Related Work
Since the early 1960s, various methods have been developed for the computer-based solution of floorplanningproblems [15, 19]. One of the earliest work is of Armor and Buffa’s in
CRAFT [3].
CRAFT executed automatedfloorplanning tasks on Sketchpad, the first CAD system developed by Sutherland. Floorplanning research followedwith the work of of Grason [23], Miller [50], Ligget [42] and Mitchel [51] in the next two decades. Work of Marchand Steadman [46] and Shaviv [63] review the first 30 years of spatial allocation algorithms.The method that was employed in nearly all floorplanning and space layout systems at the time was a combinationof a generative mechanism for the creation of alternative variations and an evaluation mechanism to assess these vari-ations [52]. However, many classical approaches attempted to exhaustively search through all possible arrangementswith a specified number of rooms. In the 1990s, Flemming presented systems for generating layouts using constraintprogramming which was developed under the name
SEED [18] and
LOOS [17, 16]. LOOS used orthogonal struc-tures for the representation of loosely packed arrangements of rectangles. In the same decade, early examples of theuse of evolutionary approaches for floorplanning in architecture were explored by Tam [68] and Gero and colleagues[30, 20, 61, 31, 60]. An example of such an approach can be seen in Jo and Gero’s work [31] where topological and ge-ometrical goals of spatial elements were encoded in a GA for a large office layout problem. Though not many variationsof the spatial arrangement were highlighted, their work showed the robustness of coupling genetic algorithm-basedsearches with design workflows to produce good results in space planning.
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 2 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
In the 2000’s Work of Michalek, et al. [49], Knecht [41], and Doulgerakis [14] took advantage of graph andtree-based representation previously used in VLSI floorplanning [32, 70] and were utilized with various optimizationsearch methods in architectural contexts. Arvin and House [4] apply physically-based modeling to layout optimization,representing rooms and adjacencies as a mass-spring system. This heuristic has only been demonstrated on collectionsof rectangles and is sensitive to the initial conditions of the system. Nassar [58] presented new findings in graph theorywith direct implications in space planning problems. He described architectural space plans as simple, connected,labeled planar graphs, and elaborated on the relevance of finding a rectangle dual for every planar graph to increasesolution space. This work outlined a tool for architects to generate space plans. Realizing spatial relationships asplanar graphs with nodes as rooms and edges as adjacencies, it claimed that the proposed model could provide a trulyexhaustive set of potential designs. Work of Slusarczyk et al.[65] follows a similar approach, where they propose aframework for supporting the design process by defining design requirements over Hierarchical layout hypergraphs(HL-graphs) [22] representations of floorplan designs.More recently, researchers in the realm of Machine Learning have explored how Generative Advisoral Networks(GAN) can facilitate the space layout problem in architectural contexts. Originally introduced by Goodfellow et al,[21] GANs leverage a feedback loop between a Generator and Discriminator model, to slowly build an ability to createsynthetic data, factoring in phenomena found among observed data. The work of Isola et al [28] in Pix2Pix extends thisgenerative ability to images, by allowing networks to learn a proper mapping from one image to another. Huang andZheng [27] take advantage of Pix2PixHD [71] to recognize and generate furnished architectural drawings. They dothis by translating floorplan images to programmatic patches of color, and inversely, generate patches of color that areturned into floorplans. Chaillou expands this approach by nesting three models (footprint, program, and furnishing)to generate floorplans, given a set of initial conditions and constraints. Extracting and manipulating existing layoutsfrom images and sketches using model retrieval methods [36, 6] has also been used as a data augmentation method forgenerating new layouts [34].However, there are two main drawbacks in current GAN floorplanning methods which can be highlighted especiallyin performance-oriented design scenarios. First, as with any machine-learning model, GANs learn from statisticallysignificant features from the input data. Hence, the discriminator’s ability to classify various design generations isdependent on the data initially inputted to the discriminator. Given the fact that the reviewed systems above takeadvantage of the Pix2Pix model, the significant features required for the learning model are extracted from visualfeatures of input floorplan pictures. Therefore, in performance-based design scenarios, the user must ideally provideimages of pre-designed layouts with similar design constraints and performance goals, which may be difficult to gathersubject to the nature of the problem. Even from a visual standpoint, the results generated by GAN floorplanning systemsmay lack emergence and layout diversity when limited to previously designed datasets. Second, training current GANsystems is time-consuming procedures and often achieved with high-performance computational hardware. If weconsider the design process as an iterative process, where the designer may constantly change its performance prioritiesand goals based on various outputs in each design step, re-training and running such systems to alter design strategiesmay be a time-consuming procedure.Floorplanning is also considered an essential step in the VLSI physical design process. In such context, floorplan-ning methodologies mostly aim at optimizing chip area and wire lengths to reduce interconnections and improve timing[32]. The floorplan representation plays an important role in the robustness of the algorithm [29] and determines thesize of the search space and the complexity of transformation between a representation and its corresponding floorplan.Floorplanning representations are generally divided into two main categories: slicing and non-slicing representations[70]. In slicing methodologies, the floorplan is recursively bisected until each part consists of a single module. Com-monly represented by a binary tree, modules are represented at the leaves of the tree and horizontal and vertical cuts arerepresented as internal nodes. The normalized Polish Expression [72] is considered as a popular slicing representation,where the post-fix ordering of a binary tree is implemented after post-order traversal on a binary tree and does includeany node of the same cut type as its right child.Non-slicing representation are utilized for more general use cases where no recursive bisection of a certain areatakes place.[56, 9, 25, 24, 45, 44] Such representation are often defined in constraint graphs defining the horizontaland vertical relations among the modules. While no bisection of specific boundary is performed, non-slicing represen-tations can be bounded by a given fixed outline. Representations such as Sequence Pair [55], Bounding Slicing Grid[56], B*Tree [9], Integer Coding [25] , OTree[24], Corner Block List[45],Transitive Closure Graph [44] are amongwidely used non-slicing methodologies. Multiple studies have integrated these representations with various optimiza-tion algorithms such as Simulated Annealing (SA) [39, 40, 72], Genetic Algorithms (GA) [59, 57, 43, 25, 73] and
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 3 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Particle Swarm Optimization (PSO) [67, 11, 33, 66, 53]. These methods are also used in different versions of com-mercial floorplanning software such as PARQUET Floorplanner[1] where an inbuilt SA optimizer is implemented forthe search and optimization process. Our system takes advantage of non-slicing OTree and B*Tree representations butdiffers in the perturbation methodology previously used in these methods.It is important to note, all representations covered above provide an initial general layout for spatial elements.Additional operators can be implemented to transform the rectangular solutions into more complex geometries, orallocated circulations space in applications such as architecture and facility layout planning. Such an approach wouldresult in more satisfactory results. An example of such an approach can be seen in the work of Marson and Musse[47] for instance, implemented a squarified treemap algorithm [7] to compartmentalize the input space into differentzones or regions. These zones are organized into a hierarchy that satisfies design goals and site constraints and is visu-alized into a square treemap to generate various floor layouts. Their work excels at building sophisticated circulationnetworks. After the rooms are located in the boundary, a circulation network graph is built to understand which roomsare connected or disconnected from each other. They use an A* algorithm to traverse the connectivity graph and findthe shortest paths to access spaces from the lobby.There is also a large body of literature focused on how to interpret generative design solutions, and to provide theuser with appropriate workflows to modify and interact with the generated solution space [62, 26, 48]. Chaszar et al.[10] explored methods and tools for multivariate interactive data visualization of the generated designs and simulationresults by enabling designers to not only focus on high-performing results but also examine suboptimal ones. Muellerand Ochsendorf [54] proposed a computational design exploration approach that takes advantage of an interactiveevolutionary algorithm to integrate the designers’ preferences within the solution search. Work of Keshavarzi et al.[35] extends the user interaction with the solution space from 2D input to 3D exploration, by developing a virtualreality generative analysis framework for navigating large-scale solution spaces. In this work, we take advantage ofnative generative design visualization and exploration tools in Dynamo VPL, enabling the user to visualize, filter andanalyze Pareto-optimal solutions in real-time in different performance metrics.The work of Das et al. [12] is probably the most similar work to our system where they also take advantage of ef-ficient tree representation via Kd-trees as an initial generation method. Furthermore, they implement spatial groupingand circulation functions to achieve more feasible architectural floorplanning results. Their system is also developedas a library that can be loaded to Dynamo VPL, allowing users to generate and evaluate various floorplanning rep-resentations. However, from our analysis of their system, their generative model includes multiple random functionsand therefore does not generate deterministic results on multiple runs. Such attributes can cause challenges for solu-tion convergence in evolutionary solvers, especially population-based meta-heuristic optimization algorithms, wheredifferent results are generated in each generation of the search. In contrast, our system uses a deterministic encod-ing mechanism, providing a constant result for the same input and does not integrate any random functions with itsgenerative module.
3. Methodology
GenFloor is developed with the goal to be utilized by users with limited proficiency in visual scripting and pro-gramming while allowing advanced users to be able to modify and adjust input parameters of the system, dependenton their needs. As a first step, users define the geometrical and topological requirements of each space by producing
Spatial Requirement entities. Next, using encoding functions, a tree structure and its corresponding
Spatial Blocks are generated, resembling a spatial layout corresponding to an array of
Permutation Parameters . The Spatial Blockscan then be analyzed using various performance evaluators customized by the user. Finally, by integrating the systemwith a meta-heuristic multi-objective search mechanism, the optimization of the floorplans takes place allowing thesystem to find optimal tree permutations and subsequently their corresponding floorplans matching the defined goalsand constraints specified by the user.We implement our proposed methodology as a software package for the Autodesk Dynamo platform. Dynamois a visual programming language (VPL) used by engineers, architects, and urban designers allowing custom visualscripting in conventional design and engineering software such as Revit, Fusion, and FormIt. Moreover, visual pro-gramming platforms allow third-party developers to build various add-on libraries and custom functions as packages.Such packages can serve as custom performance-based analysis functions when integrated with GenFloor’s genera-tive design framework. Floorplans generated via GenFloor can be analyzed using custom libraries available in thevisual programming platform developed by other developers, while in contrast, standalone software outside VPL plat-
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 4 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 1:
GenFloor components available in Dynamo VPL. The Define components provide SpatialRequirements for theGenerate module, which outputs SpatialBlocks. The SpatialBlocks are further analyzed and use as fitness for the searchmechanism. Finally, the outcome of the results can be visualized using the corresponding components. forms may not have the ability of such integration. GenFloor is developed using
ZeroTouchNodes and
CustomUINodes libraries which are all written in C
4. Define
As a starting step, users of the system define geometrical and topological spatial requirements by either manuallydefining each spatial block using a customized interactive GUI node in the Dynamo interface, input from other dy-namic data streams in Dynamo, or importing program information from an excel spreadsheet. All three approachesare shown in Figure 2. Block dimensions and adjacency goals can be defined in this step. Defining the spatial require-ments using dynamic data streams would allow more advanced users to parametrize the input data with more control(eg. parameterize the dimension of the block), while the spreadsheet data parsing method is targeted for general andtraditional floorplanners that organize their program requirements in spreadsheet format. The data inputted in this stepis primarily used for generating the tree structures but can also serve as parameters defining the floorplanning goalsand constraints.By knowing the quantity of the blocks ( 𝑛 ) , a Standard Tree with 𝑛 nodes is generated. Since we use an O-Tree andB*Tree representation in our system, we develop two methods of Standard Tree generation for each representation. Ina B*Tree generation scenario, a Standard Tree is a complete binary tree of 𝑛 nodes, where each node corresponds toSpatial Requirement defined by the user. A complete binary tree is a binary tree in which every level, except possiblythe last, is filled, and all nodes are as far left as possible. The order of the nodes in the Standard Tree resembles theorder in which the user inputted each entity of the geometrical block properties. Therefore, the first entity correspondsto the tree root and the final entity is the far-right node on the last level. In an O-Tree scenario, the nodes are locatedon one single level, ordered from left to right. Figure 3 shows an example of a Standard Tree for a B*Tree and O-Tree. Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 5 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 2:
Various types of Define nodes in the GenFloor library for generating the SpatialRequirement data (a) CustomGUI node in the Dynamo interface where users can manually input the data (b) data can be imported from other datastreams and nodes (c) data can be imported from an external CSV file.
5. Generate
The goal of this module is to convert the Spatial Requirements to a tree representation and further to a set of SpatialBlocks using the Permutation Parameters. As part of our work, we propose three novel permutation methods for exist-ing space layout graph representations, namely O-Tree and B*-Tree representations to perturb the Standard Tree withPermutation Parameters. Permutation Parameters 𝑃 are an array of values, which vary in size and attributes dependingon the permutation method. We elaborate more on the properties of different types of Permutation Parameters whendescribing each permutation method. Our methods provide deterministic results of tree arrangements and do not utilizeany random functions in their process. After perturbing the Standard Tree with one of the permutation modules, thesubsequent tree is converted to a floorplan using O-Tree or B*-Tree representations. Users of our system can generatespace layouts by choosing one of the block generation methods. In simple terms, the Generation modules take SpatialRequirement data and Perturbation Parameters as input and output a list of Spatial Blocks which formulate together adetermined layout.To facilitate the explanation of our system, we initially describe how O-Tree and B*Tree non-slicing floorplanningrepresentations are defined, and then present our proposed permutation methods. Furthermore, we explain our im-plementation with the goal of allowing non-expert users to generatively design and manipulate floorplanning outputs.Finally, we introduce a procedural mechanism to extend the non-slicing representations to a slicing representation,allowing our system to generate layouts for applications such as indoor furniture layout. An O-tree is an ordered non-binary tree representing a determined floorplan layout. We define and implement amodified version of O-Trees first introduced by Guo et. al [24] mainly altering perturbation methodologies. Given anon-binary tree of function blocks, we first order the nodes using a depth-first search (DFS). Note that the root nodedoes not correspond to any function block and represents the left boundary of the placement. To generate the floorplanusing the ordered nodes we take the following steps for each function block. Each child 𝑗 of a parent node 𝑖 is placedon the right side of the parent node 𝑖 where 𝑥 𝑖 = 𝑥 𝑗 + 𝑤 𝑗 . For determining the height of the function block placement,the block is placed on top of the horizontal contour of the placement. The horizontal contour on the top edge of thepreviously placed function blocks the floor planning placement and is updated recursively when each function blockis placed. A B*-Tree is an ordered binary tree representing a floorplan layout. Our implementation of the B*-Tree floorplanning representation is a modified version of B*-Tree‚s initially introduced in Chang et al study [9] while havingmajor differences in the perturbation operations. In a B*Tree representation, the block assigned to the root node isplaced on the bottom-left corner. Using a depth-first search (DFS) procedure, we recursively construct the floor-planlayout by keeping the geometric relationship between two modules as follows. If node 𝑏 is the left child of node 𝑎 , theblock assigned to node 𝑏 must be located on the right-hand side to the block assigned to node 𝑎 in the floor planningplacement such as 𝑥 𝑏 = 𝑥 𝑎 + 𝑤 𝑎 ; where 𝑥 𝑖 is the starting point and 𝑤 𝑖 is the width of block 𝑖 . During the placement of Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 6 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 3:
Standard Tree of a (a) binary tree for B*Tree and (b) non binary tree for O-Tree. 𝑛 = 6 and each nodecorresponds to an spatial input entity (a-f). the function blocks, we also consider assigning the height of the function block based on the horizontal contour, whichwe explained in the previous section. Furthermore, if node 𝑐 is the right child of node 𝑎 , the block assigned to 𝑐 mustbe located above the horizontal contour and also the block assigned to block 𝑎 . As the construction of the floorplanlayout is recursively performed in the DFS order, we first complete the left subtree of each node and then apply thesame procedure to the right subtree of the node. The Proceeding Perturbation method converts a Standard O-Tree 𝑇 𝑠 = { 𝐷 , 𝐷 , ..𝐷 𝑛 } into various tree structuresvia input Permutation Parameters 𝑃 = { 𝑝 , 𝑝 , ...𝑝 𝑛 } where 𝑝 𝑖 ∈ {0 , , .., 𝑛 } . To produce alternative floorplanningplacements, we perturb the O-tree in 𝑛 steps, where in each step 𝑖 , 𝐷 ( 𝑝 𝑖 ) becomes the parent of 𝐷 𝑖 . In other words, ineach step, the active node proceeds the target node which holds the index of the corresponding Permutation Parameter.However, the perturbation is discarded if 𝑝 𝑖 = 𝑖 ; or 𝐷 𝑖 is to proceed a target node that has been defined as it’s child ordescendant in previous steps. Figure 4 shows the permutation of an O-Tree via a given 𝑃 and it’s tree representationusing the Proceeding method perturbation. Similar to the Proceeding Perturbation method, the Ascend/Descend method takes place in 𝑛 steps, wherein eachstep the active node is to be relocated or swapped with another node. We define the target node as the new positionof the active node. Starting with Standard Binary Tree, the permutation parameters of the Ascend/Descend methodare defined as 𝑃 = {( 𝑝 𝑈 , 𝑝 𝐷 ) , ( 𝑝 𝑈 , 𝑝 𝐷 ) , ..., ( 𝑝 𝑛 𝑈 , 𝑝 𝑛 𝐷 )} , where 𝑝 𝑖 𝑈 , 𝑝 𝑖 𝐷 ∈ {0 , . , , . , .., 𝑛 } . 𝑝 𝑖 𝑈 indicates themaximum levels the node moves up (ascend) in a tree, and 𝑝 𝑖 𝑈 indicates the maximum number of steps the node is tomove down (descend) in the binary tree in a breadth-first search (BFS) format. Half-step traversals are also definedto allow the insertion of a node between two levels. After locating the end position of the node relocation, if theend position is occupied by another node, swapping takes place. If no other node occupies the target position, thenode creates an internal (a position between two nodes) or an external branch within the tree. We follow the similarprocedures for deleting, inserting, and switching block function nodes explained in [9]’s study. Additional details ofthe different operations of the Ascend/Descend method can be found in Table 1. Figure 5 illustrates the permutationsteps of the Ascend/Descend perturbation method. Similar to the Ascend/Descend method, the Available Nodes method aims to relocate nodes of a input Standardbinary-tree 𝑇 𝑠 = { 𝐷 , 𝐷 , 𝐷 , ..𝐷 𝑛 } in 𝑛 steps, each time relocating one active node. The Permutation Parameters forthis method is defined as 𝑃 = { 𝑝 , 𝑝 , ...𝑝 𝑛 } , where 𝑝 𝑖 ∈ {0 , . , , . , ..., 𝑛 } . For each binary-tree 𝑇 with 𝑛 nodes,there are 𝑛 possible target locations in which a node can be relocated resulting in a creation of either an internal node,external node, or a node swap. We call these potential target node locations available nodes and represent them in BSForder in 𝑇 𝐴𝑣 = { 𝐷 ′0 , 𝐷 ′0 . , 𝐷 ′1 , ...𝐷 ′2 𝑛 } . In each step, 𝐷 𝑖 will be relocated to 𝐷 ′ 𝑝 𝑖 using the same operations used in theAscend/Descend method (Table 1), and 𝑇 𝐴𝑣 will be updated given the new tree structure. In contrast to the Ascend/Descent method where the solution space holds a 𝑛 𝑛 + (4 𝑛 ) 𝑛 complexity, the Available nodes method results in (4 𝑛 ) 𝑛 complexity achieving faster results. Figure 6 illustrates the process of the Available Nodes method. Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 7 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 4:
Proceeding Perturbation of O-Tree Method
While both O*Tree and B*Tree are tree representations of admissible non-slicing floorplan layouts, they can also beextended as slicing methodologies for a given spatial boundary. Such an approach would facilitate the layout planningin scenarios where all the given boundary is expected to be used without leaving empty space. Converting non-slicingrepresentations to slicing representations can extend the potential applications of our work to indoor furniture layout.Given an input boundary space, the system generates allocated areas for each furniture entity, while maintaining object-to-object topological requirements between objects.We implement our extended B*Tree method in four main steps: (i) generate B*Tree layout; (ii) scale the generatedlayout height and width to fit the input bounding area. We call the new blocks, “extended blocks”. If the ratio ofthe height or width is bigger than one, we penalize the B*Tree solution as the function blocks cannot fit within thebounding space without overlapping each other; (iii) We extend each extended block to the closest boundary edge,if not blocked by another extended block. This would allow the extended blocks to fill all available spaces withinthe boundary space. (iv) Finally, for non-flexible block functions such as furniture, where the dimension of the blockshould be constant, we allocate a section of the new extended blocks as the final location of the block while consideringblock constraints such as direction and edge requirements. This step does not execute for blocks that can have flexibledimensions. Figure 7 illustrates the process and Figure 8 shows examples of indoor furniture generation using theExtended B*Tree algorithm.
6. Evaluation and Search
The resulting floorplan can be then analyzed by various customized fitness functions corresponding to the projectrequirements. In this module, performance evaluations and simulations are incorporated to evaluate the fitness of thefloorplan. Other than the geometrical and topological analysis functions provided by GenFloor, users can integratethird-party libraries and simulators to analyze the generated layout. GenFloor provides basic evaluation functions thatcan be used as objectives or constraints of the search system. The number of adjacency goals achieved, bounding boxes,
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 8 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Table 1
Ascend/Descend scenarios and operations.
FunctionID Scenario OperationSU
Step up Target node is equal with target node parent 𝑇 = 𝑇 𝑝 . HSU
Half step up Target node is inserted between target nodeparent and target node. SR Up step count is larger thannode level 𝑁 𝑢 𝑝 > 𝑁 𝑙 Target node is equal to root node 𝑇 = 𝐷 . HSN
Up step is 0.5 𝑁 𝑢 𝑝 = 0 . Active nodes equal to target node and graphstays unchanged. SD Step down Target node is updated with next graphmember in BSF format.
HSD
Half step down Target node is placed between Ndown ceilingand Ndown ceiling parent. SW Target node points to a graphmember Active node and target node switch places. IN Target node is not graphmember and is between twograph members Active node is deleted and inserted betweentwo graph member nodes. DN Node is deleted and has nochild Parent node pointer to deleted node is set toNULL. DL Node is deleted and has leftchild. Node is switched with left child and thendeleted. DR Node is deleted and has rightchild only Nodes is switched with right child and thendeleted. SP Target node has parent that isnot graph member Target node is switched with previous stepuntil target node has parent that is a graphmembers. and closest distances between blocks can be calculated using native functions available in the GenFloor package.Adjacency evaluators allow users to analyze how the generated floorplan achieves topological and adjacency goals.The evaluator (1) calculates all adjacent blocks of each Spatial Block in a given list (resulted adjacency); (2) comparesthe resulted adjacencies and target adjacencies (goals) informing the user whether each resulted adjacency is presentin the target adjacency list or not (adjacency check); and (3) outputs the number of achieved adjacencies in all theSpatial Blocks (adjacency achieved count). Other evaluators that are incorporated in the system include boundingarea calculation (returns smallest enclosed rectangle, or the minimum bounding rectangle for the generated floorplan),closest distance (returns the closest distance of Spatial Block to a single or multiple Spatial Block and bounding curvestest (Calculates whether Spatial Blocks of a generated floorplan fall inside a given polygon).Finally, GenFloor can take advantage of Dynamo’s integrated Non-Sorting Genetic Algorithm II (NSGA-2) whichwould allow the user to define constraints and goals for the floorplanning problem. The solver would find PermutationParameters that correspond to tree representations of optimal solutions. While GenFloor is tested to work smoothlywith Dynamo’s NSGA-2 algorithm, the generation module of the system is independent of the search mechanism, andtherefore, can be replaced other search mechanisms such as simulated annealing, particle swarm optimization or otherevolutionary solvers, etc. Such approaches have not been experimented with within this study, however, given themodular development of our GenFloor library, such integration is feasible.
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 9 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 5:
Ascend/Descend of B*-Tree Method
7. BIM Integration and Visualization
Generated floorplans can be directly converted to BIM models using incorporated functions available in the Gen-Floor library. Users can generate walls, doors, and rooms of the populated GenFloor floorplans in Revit. Spatial Blocksare converted to two sets of non-overlapping walls representing the interior and exterior walls. Moreover, meta-datasuch as room names, spaces IDs, etc. can be transferred to Revit for additional documentation purposes. A proceduraldoor placement system is also available for users to further automate the process of floorplan generation. Figure 9illustrates an example set of results of BIM models, generated as an output of the GenFloor system.Furthermore, users can visualize the corresponding adjacency graphs of the generated layout with color codesdetermining which of its topological and adjacency goals it has been achieved and which has not. Adjacency graphsor bubble diagrams are a common method of representing topological relationships and requirements in a space layoutproblem. The corresponding tree structure (O-Tree or B*Tree) of the generated space layout can also be generated bythe user to allow additional analysis of the system workflow. Examples of such an approach can be seen in Figure 10.
8. Case Studies
In performance-based generative design systems, the general goal is to find optimal solutions that address theconstraints and goals defined by the user. Yet in applications such as space layout planning, automation can servein various stages of the design process with different objectives. In design scenarios where goals and constraintsare finalized, programmable, and clearly defined, the user is simply seeking the best solution (or a limited number ofsolutions) which achieves optimal performance. In such settings, an ideal performance-based generative design systemis able to generate and converge towards the global optima of the solution landscape without getting trapped in localoptimas.The other scenario is when all performance metrics are not programmable by the designer or have not yet finalizedthe performance metrics for its design. Programming evaluators often require time and expertise, and not always canprogrammable due to the qualitative nature which they may hold. In such cases, the designer may be yet flexible with
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 10 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 6:
Available Nodes of B*-Tree Method the defined metrics and would want to explore different design strategies. In such a scenario the user is looking for morediverse solutions. Instead of looking for one final answer, the designer is eager to explore a diverse set of solutions, alladdressing the goals and constraints to a good level of extent. Diverse design options sampled from different parts ofthe solution landscape can provide the user with multiple design directions or initiate a feedback loop so a redefinitionof the design problem takes place.We, therefore, conduct two preliminary experiments to address both scenarios explained above. In the first ex-periment, we measure the system’s ability to find a known optimal solution, given that that goals and constraints arefinalized and defined. In the second experiment, we observe how the system can generate diverse floorplans while (a) (b) (c) (d) (e)
Figure 7:
Extended B*Tree process: (a) generate B*Tree layout (b) scale the generatedlayout (c) extend to the closest boundary edge (d) allocate furniture location based onheuristic constraints (e) add furniture objects to location.Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 11 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 8:
Examples of indoor furniture generation via the Extended B*Tree algorithm addressing given a constant design problem. From a search perspective, we intend to measure the ability of the sys-tem to converge to the global optimum in the first experiment, while in the second experiment assessing its ability togather all potential solutions for the user often corresponding to local optimums of the solution landscape. We furtherelaborate on the experiments below.
The goal of this experiment is to evaluate whether our system can find a deterministic optimal solution for a givenspace layout problem. To do so, we define a pre-designed layout as an optimal design. We then use the topologicalproperties of a pre-defined design (optimal design) as goals and assess if the system is able to find a solution similarboth in topological performance and geometrical layout. Such an approach would allow us to observe whether thesystem would (i) converge to a deterministic optimal solution in different runs, (ii) compare the speed and memoryallocation for various permutation methods, and finally (iii) understand how various properties of the evolutionarysolver such as population size, generation count and mutation rate impacts the ability of our system to find the optimaldesign.Figure 11 shows the general workflow of the experiment. We use a residential floorplan as a pre-designed optimallayout with 8 spatial blocks, each corresponding to a spatial function. Next, by extracting the topological properties ofeach block, we produce the adjacency matrix of the floorplan. This would serve as input to the GenFloor system- asan optimization goal- alongside the geometrical properties of the corresponding blocks. We then examine whether thesystem would generate the ideal output: a floorplan with the maximum adjacency goals achieved and a spatial layoutsimilar to the layout defined as the optimal design.We perform the experiment with three different settings of the GA solver. In the first setting, we initiate a limitedpopulation size ( 𝑝 = 40) with limited generation runs ( 𝑔 = 5) . The second setting resembles a larger population withthe same limited generation run ( 𝑝 = 100 , 𝑔 = 5) , while the third setting consists of a larger population with a largernumber of generations. The cross-over rate for all runs is 20% and the mutation rate is set at 10%. Moreover, wedefine adjacency goals in three levels. The 𝐿 contains all the adjacency requirements ( 𝐴 𝐶𝑜𝑢𝑛𝑡 = 28) extracted fromthe pre-designed layout, the 𝐿 resembles high priority adjacencies from a designers perspective ( 𝐴 𝐶𝑜𝑢𝑛𝑡 = 20) . In 𝐿 , if we require 𝑆 𝐴 to be adjacent to 𝑆 𝐵 , while 𝑆 𝐵 is adjacent to 𝑆 𝐶 , then 𝑆 𝐶 adjacency to 𝑆 𝐴 will not be assignedas a goal. In such context, the number of adjacency required where decreased to ( 𝐴 𝐶𝑜𝑢𝑛𝑡 = 16) .Table 2 shows the results for our optimal solution search experiment. In 𝐿 where all extracted adjacencies arepresent, the system is not able to find the optimal pre-designed solution with the various settings and does not meet all Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 12 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 9:
Examples of different perturbations of a floorplan using GenFloor in Revit. The user can generate BIM modelsincluding walls, doors and rooms of the populated GenFloor floorplans using built-in components the adjacency goals. The maximum score is 0.86 resembling an over-constrained problem for the system. However,when the adjacency requirements are relaxed to a lower amount 𝐿 , the system is able to generate the exact optimallayout. In such a context, ( 𝑝 = 40 , 𝑔 = 4) starts with lower scores than other levels, but with increasing the genepopulation and generation runs, the system is able to find the optimal solution. Moreover, In the event where adjacencygoals are minimum (a = 16), we observe better adjacency scores in 𝑆 (40 , and ( 𝑝 = 100 , 𝑔 = 5) than other adjacencylevels. While all adjacency goals are achieved in ( 𝑝 = 100 , 𝑔 = 15) the output solution is not similar to our pre-designedoptimal layout. In this experiment, we intend to illustrate our system’s ability to generate diverse results given constant geometricaland topological goals and constraints. In addition to the permutation parameters, we add a binary rotation parameterallowing the Spatial Block to switch its width and height. We use the same residential problem in the previous subsec-tion with 𝐿 adjacency requirements where all spaces have at least one adjacency requirement, with the corridor having4 adjacency goals. However, instead of generating solutions that address all adjacency requirements ( 𝐴 𝐶𝑜𝑢𝑛𝑡 = 28) ,we aim to visualize a broader set of solutions that maintain at least ( 𝐴 𝐶𝑜𝑢𝑛𝑡 = 20) . Figure 12 illustrates the results froma ( 𝑝 = 100 , 𝑔 = 15) generation and their corresponding bubble diagram visualization explained in Sec 7. The results Figure 10:
Examples of an O-Tree graph visualization (left) corresponding to the generated floorplan (right) using thevisualization functions.Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 13 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 11:
Optimal solution search experiment workflow.
Table 2
Optimal Solutions Search.
Adjacency Re-quired AdjacencyCount ( 𝐴 𝐶𝑜𝑢𝑛𝑡 ) PopulationSize ( 𝑝 ) Generations ( 𝑔 ) Max Ad-jacencyAchieved Score
28 40 4 20 0.128 100 5 24 0.7928 100 15 24 0.8620 40 4 14 0.7020 100 5 16 0.8020 100 15 20
16 40 4 12 0.7516 100 5 14 0.8816 100 15 16 1.00 show how GenFloor is able to generate a diverse set of solutions for the defined space layout problem.
9. Discussions
One of the main drawbacks of using non-slicing floorplanning representation methods in floorplan generation istheir lack of intuitiveness between the encoding mechanism and the output floorplanning representation. In such con-text, while GenFloor aims to provide additional visualization modules for generative designers to view the resulted treestructures of the input array strings, it still falls short of providing a clear and straightforward connection between theinput parameters and output results for amateur users. In general, integrating slicing methods with optimization solversis more straight-forward as control parameters can simply correspond with the
𝐻, 𝑉 parameters. These parameterscan be explicit without requiring any post-processing conversation to floorplan representation. Such property does notalways hold in non-slicing methods, as encoding methodologies and perturbation operators prevent straight-forwardrepresentations of the control parameters.When comparing some of the limitations of the proposed permutation methods, we should highlight that the O-Tree Proceeding method comes with a larger number of discarding scenarios when compared to the proposed B*Treepermutation methods. Such property may be misleading for an evolutionary search mechanism, as solutions of neigh-boring parameters may need to be discarded because they don’t hold the requirements of permutation parameters,potentially disrupting the ability to converge to optimal solutions. The Ascend/Descend method comes with the limi-tation of potentially generating similar solutions given different parameters. For example, if the active node is locatedon the third level of the tree, any 𝑝 𝑖 𝑈 > would give the same ascending target node. The Available Nodes method isprobably the most efficient permutation model when compared to other methods. However, it lacks an intuitive cor- Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 14 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs
Figure 12:
Emerging Layout Search and corresponding bubble diagram visualization generated by GenFloor. respondence to the floorplanning representation. Since the traversal takes place using a BSF approach, understandingthe relationship between the permutation parameters and the resulting floorplan can be a challenge for a user. Whereasthe Ascend/Descend and the Proceeding methods come with much more intuitive permutation parameters, allowingthe user to have potentially more direct control over the floorplanning if desired.It is important to note, all representations introduced in this paper provide an initial general layout for spatialelements. Additional operators can be implemented to transform the rectangular solutions into more complex geome-tries, or allocated circulations space in applications such as architecture and facility layout planning. Such an approachwould result in more satisfactory results. In scenarios where computationally expensive evaluations take place, suchas physical-based simulations (eg. building energy simulations, daylighting simulations, etc.), a limited solution spacewould be beneficial for the search. Such an approach would also benefit workflows with limited computational re-sources, such as mobile applications or real-time gaming.
10. Conclusion
In this paper, we introduce an end-to-end interactive generative floorplanning design system, GenFloor, which takesgeometrical, topological, and performance goals and constraints as input and provides optimized spatial design solu-tions as output. By proposing three novel permutation methodologies for binary and non-binary trees, and integratingthem with genetic algorithms with defined performance evaluators, we are able to generate and optimize Manhattan-based floorplans for various design applications. Our system is developed as a library package for Autodesk Dynamo, avisual programming platform, allowing users to incorporate the generated floorplans with conventional CAD softwareand third-party performance evaluators for optimization purposes.Future work on the development of this system can fall into three main categories. First, extending the floorplanninggeneration to non-Manhattan-based design solutions. This can be explored when integrating physical-based simula-tions into the current workflow. In such an approach GenFloor can generate initial positioning for the non-rectangularblocks, and then the system can take advantage of mass-spring simulations to configure the geometrical conflicts andresemble a balanced layout. Second, we intend to increase the speed of our system by engineering the current develop-ment code with more efficient functions and run-time procedures. The current version released does not resemble thepotential speed in which tree representations can deliver in floorplanning optimization. Initially, additional interactiv-ity in post-modeling generated floorplanning can be added to the current system. While our integration with Revit’sBIM modeling system does allow parametric modification of our generated layouts, but slight re-arrangements of theoutputted layouts are not achieved smoothly in the current workflow. Such an approach would enable users to easilyimplement slight modifications to the generated solutions while obtaining instant feedback to control how the modified
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 15 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs layout affects the defined performance criteria
11. Acknowledgements
This research was initiated and supported by Autodesk’s AEC Generative Design Team. We would like to thanktheir support in Generative Design for Revit (formerly Project Refinery).
References [1] Adya, S., Chan, H., Markov, I., . Parquet: Fixed-outline foorplanner. online: http://vlsicad. eecs. umich. edu. BK/parquet .[2] Anjos, M.F., Vieira, M.V., 2017. Mathematical optimization approaches for facility layout problems: The state-of-the-art and future researchdirections. doi: .[3] Armour, G.C., Buffa, E.S., 1963. A heuristic algorithm and simulation approach to relative location of facilities. Management Science 9,294–309.[4] Arvin, S.A., House, D.H., 2002. Modeling architectural design objectives in physically based space planning. Automation in Construction11, 213–225.[5] Bader, J., Zitzler, E., 2011. Hype: An algorithm for fast hypervolume-based many-objective optimization. Evolutionary computation 19,45–76.[6] Bergin, M.S., Nourbakhsh, M., Keshavarzi, M., Cheng, C.Y., 2020. Automated parametrization of floor-plan sketches for multi-objectivebuilding optimization tasks. US Patent App. 16/681,591.[7] Bruls, M., Huizing, K., Van Wijk, J.J., 2000. Squarified treemaps, in: Data visualization 2000. Springer, pp. 33–42.[8] Caldas, L.G., 2001. An evolution-based generative design system: Using adaptation to shape architectural form. Ph.D. thesis. MIT. URL: http://hdl.handle.net/1721.1/8188 , doi: .[9] Chang, Y.C., Chang, Y.W., Wu, G.M., Wu, S.W., 2000. B*-trees: a new representation for non-slicing floorplans, in: Proceedings 37th DesignAutomation Conference, p. 458–463. doi: .[10] Chaszar, A., Von Buelow, P., Turrin, M., 2016. Multivariate Interactive Visualization of Data in Generative Design, in: Symposium onSimulation for Architecture and Urban Design, SimAUD, London.[11] Chen, G., Guo, W., Cheng, H., Fen, X., Fang, X., 2008. Vlsi floorplanning based on particle swarm optimization, in: 2008 3rd InternationalConference on Intelligent System and Knowledge Engineering, IEEE. pp. 1020–1025.[12] Das, S., Day, C., Hauck, J., Haymaker, J., Davis, D., 2016. Space plan generator: Rapid generationn & evaluation of floor plan design optionsto inform decision making .[13] Deb, K., Agrawal, S., Pratap, A., Meyarivan, T., 2000. A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization:Nsga-ii, in: International conference on parallel problem solving from nature, Springer. pp. 849–858.[14] Doulgerakis, A., 2007. Genetic programming+ unfolding embryology in automated layout planning. Ph.D. thesis. UCL (University CollegeLondon).[15] ELDARS, M.Z.A., 1964. An Approach to the Optimum Layout of Single Storey Buildings from the Point of View of Circulation with SpecialReference to Operating Theatre Suites. Thesis Ph. D., Liverpool University.[16] Flemming, U., 1989. More on the representation and generation of loosely packed arrangements of rectangles. Environment and Planning B:Planning and Design 16, 327–359.[17] Flemming, U., 1990. Planning in design synthesis, abstraction-based loos. Applications of Artificail Intelligence in Engineering V 1, 91–111.[18] Flemming, U., Woodbury, R., 1995. Software environment to support early phases in building design (seed): Overview. Journal of architecturalengineering 1, 147–152.[19] Frew, R.S., 1980. A survey of space allocation algorithms in use in architectural design in the past twenty years, in: Proceedings of the 17thDesign Automation Conference, pp. 165–174.[20] Gero, J.S., Kazakov, V.A., 1997. Learning and re-using information in space layout planning problems using genetic engineering. ArtificialIntelligence in Engineering 11, 329–334.[21] Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., Bengio, Y., 2014. Generative adversarialnets, in: Advances in neural information processing systems, pp. 2672–2680.[22] Grabska, E., Łachwa, A., Ślusarczyk, G., Grzesiak-Kopeć, K., Lembas, J., 2007. Hierarchical layout hypergraph operations and diagrammaticreasoning. Machine Graphics and Vision 16, 23–38.[23] Grason, J., 1970. Fundamental description of a floor plan design program, in: EDRA [1]. Proc. of the 1st ann. Design Research AssociationConf. held at Chapel Hill, North Carolina. Stroudsburg, Pennsylvania: Dowden, Hutchinson & Ross, Inc, pp. 175–180.[24] Guo, P.N., Cheng, C.K., Yoshimura, T., 2003. An o-tree representation of non-slicing floorplan and its applications, in: Proceedings 1999Design Automation Conference (Cat. No. 99CH36361), IEEE. p. 268–273. URL: http://ieeexplore.ieee.org/document/781324/ ,doi: .[25] Gwee, B.H., Lim, M.H., 1999. A ga with heuristic-based decoder for ic floorplanning. INTEGRATION, the VLSI journal 28, 157–172.[26] Herdy, M., 1996. Evolution strategies with subjective selection, in: Voigt, H.M., Ebeling, W., Rechenberg, I., Schwefel, H.P. (Eds.), ParallelProblem Solving from Nature — PPSN IV, Springer Berlin Heidelberg, Berlin, Heidelberg. pp. 22–31.[27] Huang, W., Zheng, H., 2018. Architectural drawings recognition and generation through machine learning, in: Proceedings of the 38th AnnualConference of the Association for Computer Aided Design in Architecture, Mexico City, Mexico, pp. 18–20.[28] Isola, P., Zhu, J.Y., Zhou, T., Efros, A.A., 2017. Image-to-image translation with conditional adversarial networks, in: Proceedings of theIEEE conference on computer vision and pattern recognition, pp. 1125–1134.
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 16 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs [29] Jain, L., Singh, A., 2013. Non slicing floorplan representations in vlsi floorplanning: A summary. International Journal of Computer Appli-cations 71.[30] Jo, J.H., Gero, J.S., 1995. Representation and use of design knowledge in evolutionary design .[31] Jo, J.H., Gero, J.S., 1998. Space layout planning using an evolutionary approach. Artificial intelligence in Engineering 12, 149–162.[32] Kahng, A.B., Lienig, J., Markov, I.L., Hu, J., 2011. VLSI physical design: from graph partitioning to timing closure. Springer Science &Business Media.[33] Kaur, P., 2014. An enhanced algorithm for floorplan design using hybrid ant colony and particle swarm optimization. Int. J. Res. Appl. Sci.Eng. Technol 2, 473–477.[34] Keshavarzi, M., Afolabi, O., Caldas, L., Yang, A.Y., Zakhor, A., 2020a. Genscan: A generative method for populating parametric 3d scandatasets. arXiv preprint arXiv:2012.03998 .[35] Keshavarzi, M., Bidgoli, A., Kellner, H., 2020b. V-dream: Immersive exploration of generative design solution space, in: InternationalConference on Human-Computer Interaction, Springer. pp. 477–494.[36] Keshavarzi, M., Hutson, C., Cheng, C.Y., Nourbakhsh, M., Bergin, M., Asl, M.R., 2020c. Sketchopt: Sketch-based parametric model retrievalfor generative design. arXiv preprint arXiv:2009.00261 .[37] Keshavarzi, M., Parikh, A., Zhai, X., Mao, M., Caldas, L., Yang, A., 2020d. Scenegen: Generative contextual scene augmentation using scenegraph priors. arXiv preprint arXiv:2009.12395 .[38] Keshavarzi, M., Yang, A.Y., Ko, W., Caldas, L., 2020e. Optimization and manipulation of contextual mutual spaces for multi-user virtual andaugmented reality interaction, in: 2020 IEEE Conference on Virtual Reality and 3D User Interfaces (VR), IEEE. pp. 353–362.[39] Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P., 1983. Optimization by simulated annealing. science 220, 671–680.[40] Kiyota, K., Fujiyoshi, K., 2005. Simulated annealing search through general structure floor plans using sequence-pair. Electronics andCommunications in Japan (Part III: Fundamental Electronic Science) 88, 28–38.[41] Knecht, K., König, R., 2010. Generating floor plan layouts with kd trees and evolutionary algorithms, in: Generative Art Conf, pp. 238–253.[42] Liggett, R.S., Mitchell, W.J., 1981. Optimal space planning in practice. Computer-Aided Design 13, 277–288.[43] Lin, C.T., Chen, D.S., Wang, Y.W., 2002. An efficient genetic algorithm for slicing floorplan area optimization, in: 2002 IEEE InternationalSymposium on Circuits and Systems. Proceedings (Cat. No. 02CH37353), IEEE. pp. II–II.[44] Lin, J.M., Chang, Y.W., 2005. Tcg: A transitive closure graph-based representation for general floorplans. IEEE transactions on very largescale integration (VLSI) systems 13, 288–292.[45] Ma, Y., Dong, S., Hong, X., Cai, Y., Cheng, C.K., Gu, J., 2001. Vlsi floorplanning with boundary constraints based on corner block list, in:Proceedings of the 2001 Asia and South Pacific Design Automation Conference, ACM. pp. 509–514.[46] March, L., Steadman, P., 1971. Spatial allocation procedures. The Geometry of Environment .[47] Marson, F., Musse, S.R., 2010. Automatic real-time generation of floor plans based on squarified treemaps algorithm. International Journalof Computer Games Technology 2010, 1–10. URL: , doi: .[48] Meignan, D., Knust, S., Frayret, J.M., Pesant, G., Gaud, N., 2015. A review and taxonomy of interactive optimization methods in operationsresearch. ACM Transactions on Interactive Intelligent Systems (TiiS) 5, 17.[49] Michalek, J., Choudhary, R., Papalambros, P., 2002. Architectural layout design optimization. Engineering Optimization 34, 461–484. URL: , doi: .[50] Miller, W.R., 1971. Computer-aided space planning-an introduction-, dmg newsletter vol. 5 no4/5. Design Methods Group .[51] Mitchell, W.J., 1975. The theoretical foundation of computer-aided architectural design. Environment and Planning B: Planning and Design2, 127–150.[52] Mitchell, W.J., 1990. The logic of architecture: Design, computation, and cognition. MIT press.[53] Moni, D.J., Arumugam, S., 2009. Vlsi floorplanning based on hybrid particle swarm optimization. Karunya Journal of Research 1, 111–121.[54] Mueller, C.T., Ochsendorf, J.A., 2015. Combining structural performance and designer preferences in evolutionary design space exploration.Automation in Construction 52, 70–82.[55] Murata, H., Fujiyoshi, K., Nakatake, S., Kajitani, Y., 1995. Rectangle-packing-based module placement, in: Proceedings of the 1995IEEE/ACM International Conference on Computer-aided Design, IEEE Computer Society, Washington, DC, USA. pp. 472–479. URL: http://dl.acm.org/citation.cfm?id=224841.225094 .[56] Nakatake, S., Fujiyoshi, K., Murata, H., Kajitani, Y., 1997. Module placement on bsg-structure and ic layout applications, in: Proceedings ofthe 1996 IEEE/ACM international conference on Computer-aided design, IEEE Computer Society. pp. 484–491.[57] Nakaya, S., Koide, T., Wakabayashi, S., 2000. An adaptive genetic algorithm for vlsi floorplanning based on sequence-pair, in: 2000 IEEEInternational Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No. 00CH36353),IEEE. pp. 65–68.[58] Nassar, K., 2010. New advances in the automated architectural space plan layout problem. Proceedings Computing in Civil and BuildingEngineering .[59] Rebaudengo, M., Reorda, M.S., 1996. Gallo: A genetic algorithm for floorplan area optimization. IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems 15, 943–951.[60] Rosenman, M., Gero, J., 1999. Evolving designs by generating useful complex gene structures. Evolutionary design by computers , 345–364.[61] Schnier, T., Gero, J.S., 1996. Learning genetic representations as alternative to hand-coded shape grammars, in: Artificial Intelligence inDesign’96. Springer, pp. 39–57.[62] Scott, S.D., Lesh, N., Klau, G.W., 2002. Investigating human-computer optimization, in: Proceedings of the SIGCHI conference on Humanfactors in computing systems, ACM. pp. 155–162.[63] Shaviv, E., 1987. Generative and evaluative caad tools for spatial allocation problem, in: Principles of computer-aided design: computabilityof design, Wiley-Interscience. pp. 191–212.
Keshavarzi and Rahmani-Asl:
Preprint submitted to Elsevier
Page 17 of 18enFloor: Interactive Generative Space Layout System via Encoded Tree Graphs [64] Singh, R.B., Baghel, A.S., Agarwal, A., 2016. A review on VLSI floorplanning optimization using metaheuristic algorithms, in: InternationalConference on Electrical, Electronics, and Optimization Techniques, ICEEOT 2016, Institute of Electrical and Electronics Engineers Inc.. pp.4198–4202. doi: .[65] Ślusarczyk, G., 2018. Graph-based representation of design properties in creating building floorplans. Computer-Aided Design 95, 24–39.[66] Sowmya, B., Sunil, M., 2013. Minimization of floorplanning area and wire length interconnection using particle swarm optimization. Inter-national Journal of Emerging Technology and Advanced Engineering 3.[67] Sun, T.Y., Hsieh, S.T., Wang, H.M., Lin, C.W., 2006. Floorplanning based on particle swarm optimization, in: IEEE Computer SocietyAnnual Symposium on Emerging VLSI Technologies and Architectures (ISVLSI’06), IEEE. pp. 5–pp.[68] Tam, K.Y., 1992. Genetic algorithms, function optimization, and facility layout design. European journal of operational research 63, 322–346.[69] Tedeschi, A., 2014. AAD, Algorithms-aided design: parametric strategies using Grasshopper. Le penseur publisher.[70] Wang, L.T., Chang, Y.W., Cheng, K.T.T. (Eds.), 2009. Electronic Design Automation: Synthesis, Verification, and Test. Morgan KaufmannPublishers Inc., San Francisco, CA, USA.[71] Wang, T.C., Liu, M.Y., Zhu, J.Y., Tao, A., Kautz, J., Catanzaro, B., 2018. High-resolution image synthesis and semantic manipulation withconditional gans, in: Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 8798–8807.[72] Wong, D.F., Liu, C.L., 1986. A New Algorithm for Floorplan Design, in: Proceedings of the 23rd ACM/IEEE Design Automation Conference,IEEE Press, Piscataway, NJ, USA. pp. 101–107. URL: http://dl.acm.org/citation.cfm?id=318013.318030 .[73] Xiaogang, W., et al., 2002. Vlsi floorplanning method based on genetic algorithms [j]. Microprocessors , 1.[74] Youssef, H., M. Sait, S., Adiche, H., 2001. Evolutionary algorithms, simulated annealing and tabu search: A comparative study. EngineeringApplications of Artificial Intelligence 14, 167–181. doi: .[75] Zhang, S.H., Zhang, S.K., Liang, Y., Hall, P., 2019. A survey of 3d indoor scene synthesis. Journal of Computer Science and Technology 34,594–608.[76] Zitzler, E., Laumanns, M., Thiele, L., 2001. SPEA2: Improving the strength Pareto evolutionary algorithm. TIK-report 103.
Keshavarzi and Rahmani-Asl: