Algorithms in graph theory and their use for solving problems in architectural design

Algorithms in graph theory and their use for solving problems in architectural design

Algorithms in graph theory and their use for solving problems in architectural design d Roth and R Hashimshony The authors' work on developing models...

735KB Sizes 0 Downloads 23 Views

Algorithms in graph theory and their use for solving problems in architectural design d Roth and R Hashimshony

The authors' work on developing models based on graph theory to solve problems in architectural design is summarized. The models presented are aimed at helping designers in the initial stages of design. Plans are represented by graphs and the Max-flow Min-cut algorithm is described for decomposing complex graphs. The PERT technique is used to transform graphs into plans. computer-aideddesign,architecturaldesign,graph theory Graph theory is a branch of mathematics. Its importance increased in the last two decades in conjunction with the development of computer technology 1'2. Graph theory application to other fields was concurrently encouraged, as can be seen from various publications (see for example: Bondy and Murty~; Harary and Maybee2; and Narsingh4). One of the fields, in which graph theory has been applied, is architectural design. An architectural design process, making use of quantitative models, may be described as having the following steps (see Figure 1): • Definition of the design problem: its elements and their characteristics, the relations between them, spatial requirements etc. • Representation of the design problem in the form of a mathematical model (in this paper, graph theory is used for this purpose). • Use of an algorithm to solve the given problem. If an existing algorithm is used, the formulation of the model should follow the algorithm's specific requirements; otherwise, a new algorithm has to be developed to solve the problem. • Appraisal of the alternative solutions and elaboration of the chosen ones into architectural plans. Since Levin introduced the idea of using graphs for modelling architectural design problems s, much research work has been done following this line 6 8. The main Faculty of Architecture & Town Planning,Technion-lsrael Institute of Technology, Technion City, Haifa 3200, Israel

volume 20 number 7 september 1988

[~ Definition of I I e resentatio l the design I I I I-~l~as mathmatical problem Imodel (=program of I requirements) l

Solution by I u s e of existing I algorithm l

[

I

½ [~

ppraisa, of

alternative ,~1 solutions

I

I

Elaboration of

chosen so ut ons

]Development of] ~lnew algorithm y to solve given program

Figure 1. Schematic description of architectural design process using quantitative models advantage of using graphs for representing architectural design problems lies in the fact that it enables a selective representation of only those characteristics essential to the solution of the design problem in question. Use can be made of different kinds of graphs, describing various properties according to specific needs. Graphs are made of vertices and edges. Which attributes are represented by the vertices of the graph and which by its edges, remain to be defined by the user. Some types of graphs used for representing design problems are summarized in Table 1. The advantages of applying graph representations to architectural arrangements are discussed in March and Steadman 9, March 1° and Steadman 1~. This paper concentrates on two types of graphs: • Graphs representing only the organization of cells in a plan. • Graphs representing the characteristics of a plan as a whole, including cell organization as well as the geometrical characteristics (dimensions). The use of the above graphs will be illustrated for two cases. The first case involves the description of existing plans. The graph representation for this case is unique. The second case involves generating plans according to prescribed requirements. In this latter case, different alternative solutions exist for the same problem. One benefit of applying different branches of mathematics, such as graph theory, to architecture, is

0010 4485/88/070373 09 $03.00~ 1988Butterworth & Co (Publishers)Ltd

373

Table 1. Representation of design problems by graphs: different types of graphs and their characteristics Graph type

Representing geometrical characteristics

Representing cell organisation

I

iT]

1]

SIMPLE Intersection of walls or borders

Vertex --

Wall

or

II ,l

Wall or border

Edge =

Distance between walls or borders

WEIGHTED Weight =

[ Dimension,

Cell or zone

border

size

Cell or zone I

i

i

Adjacency (common wall or b o r d e r )

Possible passage (door, road)

~r

Ir

Im)ortance of connection between two cells or zones

DIRECTED Direction of circulation between d i f f e r e n t cells or zones

Direction --

COLOURED Colour

=

[

Direction

in orthogonal grid

that use can be made of existing algorithms, already developed for other purposes. This idea was previously suggested by March and Steadman, who used Kirchoffs' laws (for electricity) to solve the problem of dimensioning architectural plans. Some examples of using different graph theory algorithms will be presented in this paper. (The following description concentrates on floor plans. However, the techniques presented may also be applied to solve problems in town planning, by replacing the terms: cells and walls with zones and borders.)

Figure 2(a) shows an existing plan to be represented by a graph. Different information may be included in such a graph, as shown in Figures 2(b)-(d), for example:

The simplest transformation of a plan into a graph is by defining

• The graph maintains only relations between the walls (which of the walls meet each other); see Figure 2(b). • The graph contains information about direction of the walls (in the orthogonal grid) as well as the relations between them; the direction is represented by the colour of the edges: one colour for walls in the x-direction and another colour for walls in the y-direction. The resulting graph will be a coloured graph (see Figure 2(c)). • The graph includes information about dimensions of the walls, as well as the above information. Dimensions are represented by the weight of the edges. This graph, called a coloured weighted graph, enables the complete reconstruction of the plan from the graph (see Figure 2(d)).

vertex -- intersection of walls edge = wall between two intersections (or vertices)

A different way of representing the geometrical characteristics of a plan by a graph, is by using the

REPRESENTING GRAPHS

E X I S T I N G P L A N S BY

R e p r e s e n t a t i o n of g e o m e t r i c a l characteristics

374

computer-aided design

BR

B

i BR

C

K

LR

I a h

g

e

I

I

fill

H

h'" ~

~

- -

le II

ff )e ~

h'l

b g I I I I

I I I I

I i i

I I I

I

I

b dI

I I

I I

b

6

d"

dl,,

d

d--

d

C c--

3 I

~1

2 I

2I

b--

3

b'

b"

bill

I

2

a-2

3

aI

a~

a

C

5

3

d Figure 2. Representation ot geometrical characteristics ot plan by graphs: vertex stands for intersection of walls; edge is the wall between two intersections: (a) given plan, (b) graphs maintaining only the relations between the walls, (c) coloured graph representing relations between walls and direction of the walls, and (d) coloured weighted graph, representing relations, direction and dimensions of walls following transformation vertex = wall edge = connects two vertices describing the two parallel walls of the same cell In this case a plan will be represented by two

volume 20 number 7 september 1988

Figure 3. Representation of geometrical characteristics of plan by graph: vertex represents wall; edge represents distance between two parallel walls: (a) given plan, (b ) subgraph representing cells' dimensions in x-direction, and (c) subgraph representing cells' dimensions in y-direction

disconnected graphs: the vertices of one graph represent the walls in the x-direction, and the vertices of the other graph represent the walls in the y-direction. Again, different attributes may be assigned to the graph. For example: the distance between two parallel walls of a cell may be described by the weight of the appropriate edge (see Figure 3). Representation

of cells'

organization

The most common way of representing a plan by a

375

graph is by its dual graph. The transformation is the following vertex = cell edge = connects two vertices only when a passage exists between the two cells represented by the vertices ( = a door between two rooms) (see Figure 4(a)) The resulting graph is called a passages graph. The decision is to which kind of cells should be represented by a vertex is not unique, and depends on specific needs. For example, is the entrance regarded as a cell and hence represented by a vertex? Is the corridor a cell? Different amounts of information may be included in the graph, as shown in Figures 4(b) and (c). The organization of the cells may be described by changing the definition of edges: An edge connects two vertices if the cells represented by the vertices share a common boundary (=wall). The resulting graph is called an adjacency graph. In the same line, different types of connections (e.g. visual, acoustic) may be described by the edges. The direction (in the orthogonal grid) of the boundaries between the cells (the walls), may be

B ()

I#l

BR

~)c

BRO LR

indicated by colouring the edges of the above graph, resulting in a coloured adjacency graph. Different attributes may be added to each of the above graphs. First, directions may be added to the edges of the passages graph, in case this is of significant importance (e.g. a graph representing the production lines in a factory, or a road network). Second, each of the above graphs may be turned into a weighted graph, the weight describing the importance, or intensity, of each connection, according to the specific definition.

REPRESENTING GRAPHS BY PLANS (DESIGN PROCESS) So far, the various ways of representing a given plan by different types of graphs have been discussed. The transformation of a plan into any type of graph is unique and straightforward. This is not the case when dealing with the reverse operation: transforming a graph into a plan. Since the graph usually represents only part of the plan's physical characteristics, and since graphs may be drawn in different ways (isomorphs), all maintaining the same properties (see Figure 5), it may well happen that the same graph can be a representation of a number of different plans (see Figure 6). During the design process, the final plan is not known, and has to be elaborated so as to comply with the problem's definition. The first stage in the proposed design process is that of building up a graph, based on the given program of requirements (this is the

OBR

OK

BR

BR

K

BR

LR

K

LR

C

I a

BRd~ BR

K

Figure 5. Different representations ( isomorphs ) of graph shown in Figure 4(b) B

LR

I

K

b

O

B LRO

BR~BR \

LR-

I

-K

\ \ \

I l I

LR~:Z)

I I I

~ K

O K

BRL:c[ LR

C

Figure 4. Representation of organization of (;ells in plan, by graph: ( a) passages graph, ( b ) adjacencies graph, and (() coloured adjacencies graph (one colour is shown in full lines and the other in dotted lines)

376

LR

Figure 6. Different plans having same passage graph

computer-aided design

requirements graph). This graph has then to be transformed into a plan. The fact that the given graph does not represent a unique plan, means that once the designer has described his requirements in the form of a graph, there is still a great variety of possible architectural solutions, and the designer's creativity does not have to be threatened by the proposed systematic design process (see for example, Roth and Hashimshony~2). Even before starting the transformation of a graph into a plan, some elaboration of the graph may be performed, as part of the design process. The advantage of performing some of the needed operations on the abstract graph rather than on the plan, is that at this stage all decisions may be completely objective. Considerations regarding the shape of spaces and their looks do not interfere with judgement at this stage. Also, it allows the designer to concentrate on the main issues to be solved in the different stages of the design. Three examples of using existing graph theory algorithms for such elaboration of the requirements graph will be presented in the following sections.

Simplifying complex problems by decomposing their graphs The transformation of a graph into a plan is a tedious process. If the graph is very complex (i.e. made of a large number of vertices and/or edges), even computer-based systems will not be able to handle it. A method of decomposing a complex graph into subgraphs is needed. A decomposition model making use of the Min-cut Max-flow algorithm (developed for flow networks) will be described later.

Solving the planarity problem If the plan to be generated has to be of one level, the graph representing it (the dual of the desired plan; types III IV in Table 1) has to be planar (a planar graph is one which may be drawn on the plane without intersecting edges). Once the requirements graph exists, its planarity may be checked by use of one of the algorithms developed for this purpose. If it is not planar, it has to be turned into such. A model developed to solve this problem is described.

Plan dimensioning Even when the graph is simplified and planar, there is no guarantee that it may be transformed into a plan. Usually, by introducing the required dimensions, some of the design adjacency requirements represented by the graph may not be accomplished, and more changes have to be introduced into the graph. A later section describes the use of the PERT (Program Evaluation and Review Techniques) algorithm for transforming a given graph into a dimensioned floor plan. The way the suggested models participate in the design process, is demonstrated diagrammatically in Figure 7.

volume 20 number 7 september 1988

Program of requirements I Matrix of required adjacencies

l

Dimension of cells

Additional constraint

] Decomposition model (decomposing complex systems into smaller components)

~l

Topological stage

I

Planaritymodel (checking the planarityof the requirements graph. Turning nonplanar graphs .... into planar ones

RDP model (generating Rectangular Dimensioned Plans Geometrical stage

Dimensioned layouts

Figure 7. Schematic representation of sequence in which models may be used

Using Max-flow Min-cut algorithm to decompose complex graphs Some design problems deal with systems composed of a large number of activities, having different types of connections among them (e.g. hospitals). The graph representing such a system is very complex, and its elaboration into a plan is difficult even when using computer models. To cope with such complex systems, a model aimed at splitting the whole system into subsystems, each containing a smaller number of activities, was developed. It is called the decomposition model ~. A subsystem resulting from the model may represent different entities in the final design, depending on the definition of a specific problem : a single building out of a group of buildings, one wing out of a complex building, one floor in a multifloor building, etc. To enable a successful functional performance of the final design, a good decomposition is defined as having the lowest possible total weight (or number, if the connections are not weighted) of the connections between the activities belonging to different subsystems (components), while the total weight of the connections between the activities belonging to the same subsystem (component) is as high as possible. The 'decomposition' of a graph means the removal of a set of edges from it so that the remaining graph is split into at least two components. The removed edges represent the connections (which will not be kept in the final solution) between the activities belonging to different components, and their total weight

377

Romove(j edges /

" ~

_

Component

Fiow-rCm

~

\.~.

I

i

i

Component

II

The requirements graph. The area of each activity (optional). Final number of components into which the system should be decomposed (e.g. number of floors in a multifloor building), or the area of each final component, when the area of the activities is given.

,

Minimum

existing algorithm ~', and as a result, the group oi: edges included in the minimum cut is determined. The removal of these edges is the best way to split the given graph into two components. 1-he same procedure may continue on each of the resulting components separately, until the size of each of the attained components (defined by the number of vertices, or the total area of the activities) satisfies the design needs. The input for the model comprises oi:

cut

The output of the model is:

b Figure 8. Decomposition model: (a) removing edges to split given graph into components, and (b) schematic description of the 'Min-cut Max-flow" principle should be minimized (see Figure 8(a)). To find this minimum, some notions taken from flow networks were used. If the graph is looked at as a flow network, the best place to split it into two parts will be where there is a 'bottleneck' in the flow, namely: the place where the minimum cut of the network is. It is known that in flow networks, the size of the minimum cut defines the quantity of the maximal flow (see Figure 8(b)), so that once the maximum flow between the source (the vertex from which the flow starts) and the sink (the vertex into which the flow ends) is determined, the minimum cut may be located. To use this idea, the given graph has to be turned into a flow network first, by fixing a source vertex and a sink vertex, and by directing the edges from the source to the sink. The maximum flow between the source and the sink is then calculated by use of an

r'''

• The requirements graph, decomposed into hierarchically ordered components. Figure 9 shows an example of the model problem comprising 80 activities. Figure 9(a) of the input: the required adjacencies graph. shows the graph representation of the final sition.

used for a shows part Figure 9(b) decompo-

Using planarity check algorithm to turn nonplanar graphs into planar ones As previously mentioned, the requirements graph, dual to the desired floor must be planar if the plan has to be of one level. Several algorithms have been proposed to check whether a given graph is planar or not ~s'~>. The authors have made use of the algorithm suggested by Lempel et al.~7 After the requirements graph has been worked out, its planarity is checked. If it is planar, no more elaboration is needed at this stage, and it may be

{7

f.

,~

/ /

I \ /. . . . /

",,/' ®

. ,

. !~j,i~l~( .U~, , ,,~ ' /

Figure 9. Example of using decomposition model: ( a ) part ot Input, and ( b ) graph representation of final decomposition

378

computer-aided design

translated into a dimensioned floor plan by use of any technique. If, on the other hand, the graph is found to be nonplanar, a method for turning it into a planar one is needed. A nonplanar graph means that in any way it is drawn on the plane, some of its edges intersect (see Figure 10(a)). There are two theoretical ways of turning a nonplanar graph into a planar one. The first is to exchange each intersection of edges with a vertex, resulting in the addition of cells to the final plan. These additional cells will serve as circulation areas, since no specific functional activity was prescribed for them in the formulation of the problem. Different ways of drawing the nonplanar graph will result in different sets of intersecting edges and consequently, different locations and numbers of the additional vertices (see Figures 10(b)-(d)). The second way to turn a nonplanar graph planar is to eliminate one edge whenever an intersection occurs. The elimination of an edge from the graph means cancelling the possibility of connection (common boundary, visual connection etc.) between the two appropriate cells in the final plan (see Figure 10(e)). The model described here for turning a nonplanar graph into a planar one, uses the second method: cancelling edges where intersections occur TM. The suggested model tries to solve the planarity problem while fulfilling two goals: eliminating only the low weighted edges and eliminating a minimal number of edges. In order to achieve these goals, two extreme situations are checked. First, the elimination of a single edge, no matter how high its weight, to make the graph planar (this procedure is carried out only if checking by Euler's formula for a planar connected graph shows that the elimination of a single edge might be enough to make the graph planar). The process is done by removing one edge at a time, according to their order in the requirements matrix, and applying the planarity test algorithm to the remaining graph. After the check, the removed edge is returned to the graph, and another

Additional vertex

0

Figure "/0. Turning (a) nonplanar graph into planar by (b)-(d) adding vertices, or (c) removing edges

volume 20 number 7 september 1988

2

4

Figure 11. Turning nonplanar graph into a planar one by removing edges (removed edges drawn in dotted lines): (a) removal ot a single edge of weight 4, and ( b ) removal of two low weighted edges edge is removed. Out of all the single edges, whose removal leaves the graph planar, the one having the minimal weight is chosen (see Figure 11(a)). Second, the elimination of a number of low weighted edges. First, the edges are ordered according to their increasing weight (the low ones first). The lowest edge is removed, and the planarity of the remaining graph is checked. If the graph is still nonplanar, the next edge is removed, and so on, until the remaining graph is planar. Because of the order in which the edges are removed, the removal of parts of them do not contribute to the planarity of the graph. To ensure the removal of the necessary edges only, the possibility of returning each of the removed edges to the graph is checked. This is done by returning the removed edges, one at a time, in reverse order of their removal (the highly weighted ones first). After the addition of each edge, the planarity of the graph is checked. If the resulting graph is planar, the edge is left in the graph. If not, it is removed again and the possibility to return the next edge on the list is checked (see Figure 11 (b)). The above model does not offer an optimal solution, which may lie somewhere in between the two extreme situations checked: a combination of some low-weighted edges and some high-weighted ones, so that the total sum of the weights of the removed edges is minimal. To achieve this optimum means to perform a systematic search through all possible combinations: a process that is time consuming and that might not cause a significant improvement in the results.

Using PERT algorithm to transform graph into rectangular dimensioned plan After the designer is faced with a simple planar requirements graph, it has to be translated into a dimensioned floor plan. The RDP model developed for this purpose TM, enables the transformation of a planar requirements graph into a schematic dimensioned plan. This is done by elaborating the given graph into a directed coloured graph, which is then turned into a dimensions graph. Once the dimensions graph is reached, the PERTtechnique is applied to calculate the best dimensioning of the layout, according to the specified required dimensions. The PERT technique enables the rooms' dimensions to be calculated, using the critical path method, so that the resulting plan has a minimal length of envelope and minimal or maximal area (depending on the user's definition). The model

379

Room No Bedroom I 1 Bedroom 2 2 Bathroom 3 Kitchen 4 Living room 5 Hall 6

®

Length(A) rain max 4 8 6 8 4 6 4 6 8 12 2 6

Width (B) Area inin max r a i n max 6 8 24 50 4 8 24 50 2 4 8 24 4 8 16 30 6 8 48 100 2 3 4 30

Proportion (max) 1:2.00 1:1.50 1:2.00 1:1.50 1:2.00 1:5.00

C

a

b

4/8

I

416

./8 4>

\

/ 34/8i2/6 6 \~I

g

6

5

6/8_~~8/12 8

-g-

f

e

316

316 2

2

6/8~~8/12

d

c

5

5

Envelope:48 Area: 140

2

h

5

Envelope:48 Area:136

i

Envelope:q8 Area: 120

Figure 12. Example of using RDP model for design of a 6 activities dwelling unit: (a) planar requirements graph, (b ) required dimensions of cells, ((-) layout graph, ( d) coloured graph, (e ) dimensions graph, (f) dimensions graph including rooms" dimensions, (g)-(i) alternative solutions is of a tree type and it enables the intervention of the user after each stage. The user may choose the graph (or graphs) to be used for the next stage and/or change the demands or the objective function. The model can handle different types of problems: convex and nonconvex envelopes; multistorey buildings; and the dissection of given envelopes into cells 2°?~. The input for the model consists of: • Planar requirements graph, • required dimensions of the cells (all dimensions are given as a range between a minimum and a maximum), • type of required envelope (convex or nonconvex), • objective function (minimum envelope and/or area). The output of the model is: • Alternative schematic plans in which the required adjacencies are maintained; the dimensions of the

~80

cells fit the requirements, and the objective function is fulfilled. Figure 12 shows an example of the use of the RDP model for the design of a 6 activities dwelling unit (the required adjacencies graph of which was used in Figure 4(a)). Figures 12(a) and (b) present the input; Figures 12(c) (e) show the different elaborations that the given graph underwent, until it was presented in the form of a dimensions graph as in Figure 12(e) (this is only one alternative out of all the possible ones); Figure 12 (f) shows the application of the PERTtechnique to determine the critical path, and the resulting alternative rooms' dimensions; Figures 12(g) -(i) show different architectural solutions, one with a convex envelope and two with different nonconvex envelopes. All the solutions have the same minimal length of envelope (48 modules). Solution 12(g) has the minimal possible area within a convex envelope. Solution 12(i) has the minimal possible area for the given problem: the envelope is nonconvex and each activity reaches its minimal allowed area.

computer-aided design

SUMMARY

AND CONCLUSIONS

(eds) Applications of Graph Theory Academic Press, London, UK (1979)

In this paper, the authors have tried to summarize some of their work in the last few years in developing models based on graph theory for solving problems in architectural design. A lot has been said on the general advantages of using graph theory for architectural design, but few specific uses have been demonstrated. The introduction of computer-aided design, but in practice and as part of the architect's education, can be justified only by the improvement of the final product: the final design. The computer can be of help to achieve this goal, if it is used in the early stages of design as a real design aid and not only as a drafting aid, as seems to be the tendency in the last few years. The models presented in this paper are aimed at helping the designer in the first stages of the design. In the authors' opinion, an effort should be made in this direction of development to make the computer more attractive to architects. Such design-help models, combined with performance evaluation models and drafting models (many types of which already exist in the market, and are being used by design firms), will form a real CAD system, which will free the architect to spend more time on the main issues of design: definition of the design problem to start with, and the elaboration of the final design, to end with.

13 Shaviv, E, Hashimshony, R and Wachman, A 'A decomposition-recomposition model for multi-cell systems' Building and Environment Vol 13 (1978) pp 109-123

ACKNOWLEDGEMENTS

14 Even, S Graph algorithms Computer Science Press, Rockville MD, USA (1979)

7 Seppanen, J and Moore, J M 'Facilities planning with graph theory' Management Science 17(4) B (1970) pp 242-253 8 Mitchell, W J, Steadman, J P ~and Liggett, R S 'Synthesis and optimization of small rectangular flow plans' Environment and Planning B Vol 3 (1976) pp 37-70 9 March, L and Steadman, P The geometry of environment RIBA, London, UK (1971) 10 March, L J (ed) The architecture of form Cambridge University Press, Cambridge, UK (1976) 11 Steadman, J P Architectural morphology Pion Ltd, London, UK (1983) 12 Roth, J and Hashimshony, R 'Comparison of existing three-room apartment plans with computergenerated layouts' Environment and Planning B; Planning and Design Vol 14 (1987) pp 149-161

The decomposition model and the model for turning a nonplanar graph into a planar one have been developed as part of the DSc thesis of R Hashimshony, under the supervision of A Wachman and E Shaviv. The RDP model has been developed as part of the DSc thesis of J Roth, under the supervision of A Wachman and R Hashimshony.

15 Bruno, J, Steiglitz, K and Weinberg, L 'A new planarity test based on 3 connectivity' IEEE Trans. Circuit Theory Vol CT-17 No 2 (May 1970) pp 197-206

REFERENCES

17 Lempel, A, Even, S and Cederbaum, I 'An algorithm for planarity testing of graphs' Theorie des Graphs Rome (1966)

1 Biggs, N L, Lloyd, E K and Wilson, R J Graph theory "1736-1936 Clarendon Press, London, UK (1976) 2 Harary, F and Maybee, J S (ed) Graphs and applications: Proc. First Colorado Symp. on Graph Theory John Wiley (1985) 3 Bondy, J A and Murty, U S Graph theory with applications American Elsevier (1976) 4 Narsingh, D Graph theory with application to engineering and computer science Prentice-Hall, Englewood Cliffs, NJ, USA (1974) 5 Levin, P H 'Use of graphs to decide the optimum layout of buildings' Archit. J. (1966) pp 809-817 6 Earl, C F and March, t J 'Architectural applications of graph theory' in Wilson, R J and Beineke, L W

volume 20 number 7 september 1988

16 Shirley, E 'Implementation and Analysis of Efficient Graph Planarity Testing Algorithms' Unpublished PhD thesis University of Wisconsin, Wl, USA (1969)

18 Hashimshony, R, Shaviv, E and Wachman, A 'Transforming an adjacency matrix into a planar graph' Building & Environment Vol 15 (1980) pp 205-217 19 Roth, J, Hashimshony, R and Wachman, A 'Turning a graph into a rectangular floor-plan' Building & Environment Vol 17 (1982) pp 163-173 20 Roth, J, Hashimshony, R and Wachman, A 'Generating layouts with non-convex envelopes' Building & Environment Vol 20 (1985) pp 211-219 21 Hashimshony, R, Roth, J and Wachman, A 'A model for generating floor-plans in multi-story buildings' Design Computing Vol 1 No 2 (1986) pp 136-157

381