A literature review for space planning optimization using an evolutionary algorithm approach: 1992-2014

NP-complete and presents all the difficulties associated with this class of problems (GERO; KAZAKOV, 1997). For that kind of problem it is impossible to find an optimal solution in a rational time by means of an algorithmic process, because of the invested computational time (GERO; KAZAKOV, 1997). Searching methods such as genetic algorithms have shown success in solving combinatorial optimization problems, increasing their use in SP problems. Tam(1992) argues that evolutionary algorithms, and more specifically genetic algorithms (GA), work differently to the major searching techniques that follow a point search mechanism which tries to find a solution in a specific solution space. A GA mechanism maintains a population of points to be explored and identifies and explores


Introduction
An important task in architectural design that architects and designers have to solve is the organization of the space that should work appropriately and especially creatively to attend a purpose.Space planning in architecture (SP) is a field of research in which the process arranging a set of space elements and problems such as distance, adjacency and other functions of arrangement are a principal concern (EASTMAN, 1971;1973).
According to Ligget (2000), there are three main methods for solving SP problems.The first method implies the optimization of a function that uses a single criterion that is designed to minimize the material´s flow between activities.The second method is related to graph theory in which the problem is structured by a planar adjacency graph where each node represents an activity and edges are adjacency conditions.The third method is not performed to optimize a single measure or variable, but the objective is to satisfy a diverse set of constraint relations.
All these methods are defined through two subsets; (1) topological constraints and (2) geometric constraints.Topological constraints define a hierarchy of relationships of spatial elements such as adjacency, non-adjacencies and proximities between rooms (HOMAYOUNI, 2007).Secondly, geometrical constraints are defined on a surface, length or width, or in a space orientation.Sutherland made Sketchpad in 1963 (SUTHERLAND, 1963), as the first CAD system, and in the same year the first paper about an algorithmic implementation (CRAFT) of space planning was published by Armor and Buffa (ARMOUR;BUFFA, 1963).However, only six years later, Krejcirik (KREJCIRIK, 1969) published the first paper relating space planning to CAD software.The 1970s and 80s were particularly fruitful (GRASON, 1970;MILLER, 1971;LIGGETT;MITCHELL, 1981).
In the early 1990s, many papers relating artificial intelligence to design were published.Evolutionary algorithms such as genetic algorithm and genetic programming are methods explored in some of these publications (JO, 1993;DAMSKI;GERO, 1995;GERO;KAZAKOV,1997).
According to Gero, an SP problem is NP-complete and presents all the difficulties associated with this class of problems (GERO; KAZAKOV, 1997).For that kind of problem it is impossible to find an optimal solution in a rational time by means of an algorithmic process, because of the invested computational time (GERO; KAZAKOV, 1997).Searching methods such as genetic algorithms have shown success in solving combinatorial optimization problems, increasing their use in SP problems.Tam(1992) argues that evolutionary algorithms, and more specifically genetic algorithms (GA), work differently to the major searching techniques that follow a point search mechanism which tries to find a solution in a specific solution space.A GA mechanism maintains a population of points to be explored and identifies and explores common building blocks of good structures.In other words, during the search process the useful information of the whole population is not lost, because the GA´s mechanism can learn with the developing of generations preserving the fittest structures.These methods continue to be explored in some recent research due to the fact that their positive success achieved with the results and its potential has not been fully explored.
In the past 15 years,at least three literature reviews about SP have been published based on an evolutionary approach.The first survey (LIGGETT, 2000) is not specifically on evolutionary systems on SP problems, but classifies this kind of SP problems and is the first to address this theme.Homayoumi (HOMAYOUMI, 2007) presented some main pieces of research and methods to solve SP problems.A recent research made by Dutta and Sarthak (DUTTA; SARTHAK, 2011) is currently the most complete and it is the first survey that categorizes and compares sixteen papers on that subject.However, none of the others literature reviews used databases available online to cover the period in which SP based on evolutionary study has been developed.A study in which a dynamic and updated database online is used to show the methods of space planning and evolutionary algorithm is needed.
The present work presents a review of 31 papers among applications and reviews of Space planning method using evolutionary algorithm.These were organized, discussed and compared.The databases used for selecting that papers were CUMINCAD, IEEXplore, ACM digital Library, Research Gate, Science direct and CiteSeerX.
The objective of this paper is guide future research in the field.The paper is organized as follows: 1 -Introduction; 2 -A Brief introductory material providing principles of SP based on an evolutionary approach; 3 -A review of the literature of SP based on an evolutionary approach problem; the theme is categorized, discussed compared and the data are presented in that section; And 4-A conclusion section that underscores some points was addressed for future works.

Methodology
The first step of this research consisted in reviewing the existent literature about SP based on an evolutionary approach; we used six steps for identifying, selecting and reviewing the potential papers and theses.
(1) Publications were identified in online databases (CUMINCAD, IEEXplore, ACM digital Library,Research Gate,Science direct and CiteSeerX) using the specific keywords :"facility layout problem", "space planning" and "space layout planning"; (2) The following words: "genetic algorithm", "evolutionary", "genetic programming" one by one were added for each keyword defined in step (1); (3) For each publication selected, the bibliography was exanimated for new potential publications; (4) After reading them, some publications were cut off and some new potential ones were added; (5) The next step consisted of a critical review for each selected publication.and (6) The final step was classifying and comparing each publication by: evolutionary system used, space planning system, the algorithm representation of the evolutionary system and the type of plan layout problem solved.
We excluded any research which has not been published in English.
The following list presents the selected publications in chronological order.

SP based on an evolutionary approach
An evolutionary algorithm is a computational search method based on Darwin´s evolution theory, in which a population of competing solutions is ranked and selected over generations based on an objective function.This is a wide field of research that investigates different types of algorithms, such as genetic algorithms, evolutionary strategies and genetic programming.Evolutionary algorithms are based on five basic steps described by Fogel(2006) as: (1) selecting parents in an initial population (2) modifying the individuals randomly(3) evaluating each individual by worth (4) selecting parents in the next generation Population(back to step 2).(FOGEL,2006) The use of evolutionary algorithms in space planning problems has been explored since the early 90´s (TAN, 1992).An evolutionary algorithm is suitable to this kind of space arrangement problem, because the SP problem is part of a set of decisions problems denominated NP Problems (nondeterministic polynomial time), which means that this class of problems is solvable in a polynomial time by a nondeterministic Turing Machine.
An algorithm is non-deterministic if it presents different behaviors for each execution for the same input given (ROSSETTI et.al., 2010).Therefore a space planning problem could be solved efficiently by a non-deterministic algorithm.However, especially for this class of problems, the computational time is still too long for large scale problems (GERO; KAZAKOV, 1997) As described by Tan, (TAN, 1992) the majorsearching techniques follow a point search mechanism, while GA -and others evolutionary methods-maintain a population of points to be explored.The evolutionary process over the generations explores the whole solution space, thus is not restrict to a local solution as in others search methods, but looking for a nearby global solution.In the next sessions, evolutionary methods, space planning creation methods and space planning evaluation methods are described.

Evolutionary methods
The evolutionary methods found in the selected papers for this survey are: genetic algorithm, genetic programing, evolutionary strategies, interactive evolutionary algorithm and parallel genetic algorithm.Each method will be briefly described below in the subsections.

Genetic algorithms (GA´s)
The genetic algorithms are the most well-known evolutionary algorithm and it was developed to explain the adaptive process of natural system by John Holland in 1973 (Bentley, 1999).Genetic algorithm is based on two separated spaces: the search space and the solution space.The search space is where there are the solutions of the problem, coded as chromosomes (genotypes).The genotypes must be mapped as phenotypes and are possible solutions for the problem.The simplest form of GA is developed with three types of operators: selection, crossover and mutation (MITCHELL, 1995).
Selection: The operator selects chromosomes in the population for reproduction, in which the fittest chromosomes have more chances to be selected and reproduce.
Crossover: The operator exchanges subsequences of two chromosomes to create two offspring.The example below shows a crossover operation (a)01001110 (b) 01101110 (a)0100|1110 <--> (b) 0110|1000 (ab)01001000 (ba)01101110 Mutation: The operator applies a random change in some bits in a chromosome of a small percentage of the population.

Parallel genetic algorithm
The main difference of the parallel genetic algorithm is that it assumes that it is possible to evolve populations in parallel methods supported by parallel computing.

Genetic Programming
According to Bentley (1999) genetic programming (GP) is a specialized form of genetic algorithm that manipulates a solution in a specific way using modified genetic operators.
It was developed by Koza(1992) for evolving computer programs.GP represents a solution in a hierarchal manner and the chromosomes could be different in length in the same population, while in a GA the population of chromosomes has a fixed length.The basic steps in a GP are similar to the GA ones: generate, evaluate, crossover, mutate and offspring.

Genetic Engineering
Genetic Engineering (GE) in Evolutionary Algorithms developed by Gero and Kazakov(1997) is an extension to the classic genetic algorithm and it is based on the model of genetic engineering of natural organisms.The use of methods from genetic engineering in a GA was made to identify genes, genes sequences or genes structures (GERO;KAZAKOV,1997) that are associated to perform an objective function.Gero and Kazakov (1997) state that the genetic engineering GA identifies features of the problem, and automatically produces chromosomes called "evolved genes".They are pattern solutions that are introduced in the random population before the crossover and mutation steps, providing to the classic GA the capacity to create a design tool that learns during the process.

Evolutionary Strategy
Evolutionary algorithm is the general term that covers the algorithms that use a computational search method based on the Darwin´s evolution principle (FOGEL, 2006).In this paper we assume that when the mix of the methods occurs, we will call it an evolutionary algorithm.

Space planning methods
The basic two kinds of method that an evolutionary algorithm uses to solve space planning problems are: methods that create the plan and methods to evaluate that plan.(LIGGET, 2000) In the papers selected we identified 6 methods that create plans and 4 methods that evaluate plans.The 6 creation methods are: Half plan, K3d tree, Shape Grammar, Blocking, One-to-one assignment and Slice tree structure.The four evaluation methods are: Quadratic Assignment Problem, Interactive Evaluation, Adjacency Matrix and Graph Theory.We will present a short description about each method in the next subsection.

Space planning creation methods
Space planning creation methods are methods used to create the plans in space planning problems.Bellow we will start the description of these methods.

Half Plan
A half plan is a formal system of representing shapes through an abstract border that divides a plane into two nonoverlapping areas(DAMSKI; GERO, 1997).To represent a half plane it is necessary to map each geometrical line in a figure into a half plane, then map the half plane into a Boolean logic.The half plan could be represented as an ordered bit string representation with n bits.

K3d tree
A k-dimensional tree (KD3) is a method of binary search and partitioning trees in which a set of points is represented in a multi-dimensional space (KNECHT,2010).A dimensional space is divided by partition planes that are perpendicular to one of the coordinate axis .These planes are created based on the median or average of the point coordinates.

Shape Grammar
Shape Grammar was invented by George Stiny and James Gips in 1971.It consists of a generative formal system of shapes rules and generation's rules.According to Celani et. al. (2007) a shape grammar is developed following three basic elements: a formal vocabulary, spatial relations and rules.In space planning problems, shape grammar is used as a generative system that creates rooms or complete floor plans.

Blocking
In a blocking method a polygon represents an activity and should be able to maintain the required activity area at the same time it changes itself fitting together with other activities spaces that must conform to the objective function of the evolutionary algorithm.

One-to-one assignment
The one-to-one assignment is the assignment of a set of activities to a set of locations (LIGGET, 2000).There are two main approaches in this method: equal areas and unequal areas.In one-to-one assignment with equal areas, a plan is subdivided in equal parts and each part represents a space to be located by an activity.In the case of one-to-one assignment with unequal areas, the plan is subdivided in small units and a space is created accordingly to the area requirements summing units.

Slice Tree Structure (STS)
The slice tree structure was developed by (OTTEN, 1982).It is a method that creates a layout by "slicing stages of topdown cuttings" (KADO, 1995).These top-down cuttings can be represented by a hierarchal tree or by a polish expression.The tree is subdivided in terminal nodes and non-terminal nodes, in which every single terminal node corresponds to a facility and each non-terminal node represents a relative position of the facility.(KADO, 1995).

Space planning Evaluation Methods
As previously mentioned in this paper, an evolutionary algorithm uses two kinds of methods to solve space planning problems: methods that creates the plan and methods to evaluate that plan.We will start with the description of the methods that evaluate the plan.

Quadratic Assignment Problem
Quadratic assignment problem is one of the most popular methods to solve space planning problems (LIGGET, 2000).It was formulated by Koopmans and Beckmann(1964) for problems related to the cost of the flowing of goods between rooms in manufacturing plans.A Quadratic Assignment Problem (QAP) is developed to search for optimal locations for a set of interrelated elements (LIGGET,2000).The main objective in this method is to minimize the cost of transportation between locations.The mathematical formulation for the problem is (Koopmans;Beckmann, 1996) Set:N = {1,2,…,n} Sn = Ø: N -> N is the set if all permutations Parameters: F = (fij) is an n x n matrix where fij is the required flow between facilities i and j.D = (dij) is an n x n matrix where dij is the distance between locations i and j.Optimization Problem: Where: Ø Permutation Ø(i) location for each facility assigned fij .dØ(i) Ø(j) individual product of the cost of assignment facility i to location Ø(i) and facility j to location Ø(j).

Interactive Function Fitness
Interactive function fitness is when the function fitness in an evolutionary algorithm is part or fully replaced by human evaluation.As argues Takagi (2001), the human evaluation can not be easily modeled and it becomes more difficult when this function is based on personal preferences.(TAKAGI, 2001) Adjacency Matrix An adjacency matrix is used to represent adjacency requirements between facilities .The presence or not of relationship between two facilities are represented by 1 or 0, respectively.(MILLIER, 1969) The relationship between facilities is bidirectional.
As shown in Graph 1, the period from 1995 to 2000 was the most fruitful in the publishing of papers.A range of evolutionary algorithms were used in these analyzed papers.We identified 7 evolutionary methods and two methods that were used as a complement of the evolutionary algorithm.The evolutionary systems identified were: (1) Genetic Algorithm(GA) (2)Genetic Programming(GP)(3) Evolutionary Strategy(ES)(4)Genetic Engineering(GE)(5) Interactive evolutionary Algorithm(IEA)(6)Parallel genetic algorithm(PGA) (7)Evolutionary Algorithm.The two algorithms that complement the evolutionary system in some cases are: Simulating Annealing (SA) and Case-based reasoning (CBR).As shown in Graph 2.

Graph Theory
The use of graph theory approach in space planning problems has been studied since 1970 (MILLER,1971;GRASON, 1971), it is a method of creation of planar graphs that matches adjacencies relations between rooms in layout plans, in which a node represents a location and an edge represents a relation between two locations.A simple space planning problem that is solved using this method is formulated by a topological relation represented in a planar graph that shows to the designer a set of options of design arrangements that are topologically equal.An improvement of this method, developed by Grason (1971), uses two graphs overlapped (dual planar graph), the second graph is built based on the first and suggests a closed curve that could be redesigned as a geometric space.

Twenty-two years of SP based on an evolutionary approach
In this section we will present and compare through graphs the data collected in the 31 papers.
There are three dominant categories organized by the evolutionary system identified in this survey which have two or more papers published during the time considered: (1) Genetic Algorithm and Parallel Genetic algorithm (2) Genetic Programming and (3) Evolutionary Algorithm.As it was previously described, when a mix of evolutionary methods occurred in the papers chosen, they were classified as evolutionary algorithm.Graph 3 shows that the mix of methods occurs in most of the selected papers.
Among the space planning methods used to generate the plans, the blocking plan and one-to-one assignment were the Graph 4: Space planning creation method.
Graph 7: Facilities max numbers by year.
Graph 10: Evolutionary methods during the studied time.
Graph 8 and 9: Maximum generation numbers by year and maximum population number by year.
Graph 6: Space planning evaluation method.
most chosen methods followed by slice tree structure (Graph 4).
The integer representation for the chromosome was the most used representation as shown in Graph 5.
The evaluation method most used was the quadratic assignment problem.We noticed in the papers that the equation provided by the quadratic assignment problem facilitates the transcription to an objective function of the evolutionary algorithm.
Gero and Kazakov(1997) argue that the computational time was too long for large scale space planning problems.The development of computation in the recent years does not appear to impact significantly the development of space planning problems, as we only noticed a large computational breakthrough in one paper (RODRIGUES; GASPAR; GOMES, 2013).In this paper there is a significant increase in the number of facilities computed.Graph 7 shows the highest number of facilities implemented by paper.
In 15 years, from 1998 to 2013, 42 more arrangements of elements could be computed, but this increase was not linear or exponential as it has been being the case in the computation increase.Furthermore, if we compare the maximum number of elements in a population and the maximum number of a generation (iterations), in 1998 it was necessary 7000 more iterations per max population and the number of elements in a population was 2850 times lower than in 2013.It is important to explain that the procedures and methods were different and we are just considering the increase of the numbers computed during this time.
It is clear the preference for the genetic algorithm and the mix of methods as evolutionary methods during the period considered in this review.Graph 10 maps the evolutionary methods during the studied time.
Checking the prospect and demands for future works, we identify as main demands: The requirement of a refinement of the crossover operator (KOCHHAR; FOSTER; HERAGU, 1998), more applications with an interactive function fitness (HOMAYOUNI,2007), more genetic engineering methods to improve the crossover operator (HOMAYOUNI,2007), more applications that solve three dimensional problems as a single problem (HOMAYOUNI,2007;DOULGERAKIS,2007;FLACK ,2010) and more applications that work with non-orthogonal planes (KNECHT, 2010).All these demands are addressed as future work and have not been fully explored.

Conclusion
The space planning problems based on an evolutionary approach have been developed for 22 years and yet are not fully explored.The development of computation in the recent years does not impact significantly the development of space planning problems and new algorithms to optimize the processing time are required to allow the number of elements in the arrangement to be increased.Space planning problems form a wide field of research and have been explored since the beginning of the development of the computational design field, although new methods and the improvement of the old ones have to be done to the development of this field.

Figure 1 :
Figure 1: a hierarchal representation represented in a tree structure and polish expression.

Figure 2 :
Figure 2: A crossover operation between two chromosomes represented in a tree structure and polish expression.

Figure 3 :
Figure 3: An adjacency matrix representing the relationship between rooms.

Graph 3 :
Evolutionary algorithms represented by number of papers containing mix of methods.Graph 2: Evolutionary algorithms represented by number of papers.

Table 1 :
List of selected papers.