Nonlinear programming approach to automated topology optimization

Nonlinear programming approach to automated topology optimization

Nonlinear programming approach to automated topology opti m ization M H Imam and M Mir The paper presents an analytical approach to the optimization ...

702KB Sizes 34 Downloads 167 Views

Nonlinear programming approach to automated topology opti m ization M H Imam and M Mir

The paper presents an analytical approach to the optimization ot the topological configuration ot a set ot functional blocks. By expressing the overlapping of blocks as an inequality constraint in a formulation based on nonlinear optimization, the blocks can move freely without any overlap during the optimization process. Some special characteristics of this problem, which prohibit the direct application of standard search methods for optimization, have been investigated. On the basis of this analysis, a search algorithm is developed. The proposed method allows fully automated design and exhibits computationally efficient convergence to local optima from random initial designs. nonlinear programming,topology, optimization

In various engineering applications, it is desirable to determine an optimal topological configuration of a set of functional blocks such that a certain objective function is minimized, satisfying some specified constraints. In architectural applications, the functional blocks represent enclosed spaces or activities, and the problem is generally known as computer-aided architectural floor-plan design or automated spatial synthesis ~-3. In electrical engineering, this problem is commonly referred to as the placement or chip floor-plan design problem, and the functional blocks represent electrical components, logic modules, or macro cells, and similar units 4-6. In industrial engineering, the same problem has many names including the assignment problem, layout planning, plant layout design and facilities allocation problem, and the functional blocks represent the facilities to be allocated 7~. There are other applications, and since the nature of the problem is the same, the techniques developed in one field are applicable to others. To generalize the terminology, this problem of finding an optimal topological configuration of a set of functional blocks will be referred to here as the topology optimization problem.

College of Applied Sciences and Engineering, Umm AI-Qura

University, PO Box 885, Makkah, Saudi Arabia

volume 21 number 2 march 1 9 8 9

Solutions to this problem have been presented using techniques such as exhaustive enumeration 1, branch and bound methods 4, and other heuristic procedures ~°-16. The heuristic procedures generally employ either quadratic programming or graph-theoretic formulations. 7. As the areas of various functional blocks are not necessarily the same the heuristic procedures based on quadratic programming formulation consider each block to be composed of a number of elemental blocks. This constrains the search in a 'noncontinuous' discrete space made of equally spaced grid locations. Examples of these techniques are 'iterative improvement' procedures, used in computer programs such as Craft ~°, Col ~, Aldep 12, and 'constructive' procedures, used in computer programs such as Domino 1, Corelap ~3, and Stuni ~4. In the graph-theoretic approach, the areas of functional blocks are completely ignored and the blocks are considered as points during the first phase in which the adjacency graph is determined. In the second phase, this adjacency graph is converted to a corresponding block layout designer's%Some analytical solutions have been presented for the problem of module placement on a printed circuit board 17'18. Here, also, the dimensions of the functional blocks (modules) are ignored during the search for optimum topological configuration. These blocks are then assigned their actual dimensions in the second phase and the overlaps between blocks are eliminated in an arbitrary manner. This paper presents an analytical approach to the optimization of the topology of rectangular functional blocks of different sizes and aspect (length to width) ratios. A nonlinear optimization formulation is used incorporating the actual dimensions of the blocks. The objective functions, generally applicable to this class of problems, are classified. The overlapping of blocks is modelled mathematically and is considered as a constraint. A penalty function approach is used to convert the problem into an unconstrained optimization problem. The special characteristics of the problem, which prohibit the direct application of standard search methods for optimization, have been investigated. A solution method has been suggested and implemented in a computer program. It allows a fully automated design, and produces feasible solutions without any overlaps at each iteration of the optimization process. The results obtained from the test problems are presented.

0010-4485/89/020107-09 $03.00 © 1989 Butterworth & Co (Publishers) Ltd

107

PROBLEM CHARACTERISTICS AND FORMULATION

ai

.

.,..

! I i

Variables of problem The topology optimization problem for n rectangular functional blocks of fixed dimensions, as described above, is characterized by the following variables

Aoq •

,i

(xj, Yi)

i

b~

Yoij i

x~ = x-coordinate of the centroid of block i

y, = y-coordinate of the centroid of block i

(X,, y, )

Thus, the problem of n blocks is represented by N = 2n variables. A vector of these 'design' variables X represents a continuous design space

xT=[xl

Y~ x2 Y2 ...

x,, Yn]

(1)

a~

X ° ,I

x

a

Constraints The particular requirement for this class of problems is that the blocks must not overlap each other. This is a behaviour constraint depending upon the design variables and the dimensions of the blocks. It can be represented mathematically by defining the area of overlap Ao,, shown hatched in Figure l(a) and (b) as

A,,,, = ~ii(Xo,i * Yo,,)

Ao il \

"\\\

l T

(2)

Yo, i

where

Xo,, = (ai + ai)/2 -- [ x, -- xi] (3)

Y,,,, = (b, + b,)/2 - t Y~- Y,] a~= dimension of block

along X direction

b~ = dimension of block

along Y direction

x

b Figure 1. (a) Positive overlap. (b) Negative overlap

~j = -- 1 for Xo,, <~ 0 and Yo,i~< 0

(4) ~,i= +1 forXo, j > 0 o r

Y,~,>O

The functions Xo,i and Yo,~may be positive or negative, but a positive overlap, as shown in Figure l(a), occurs only if both Xo~i and Yo~ are positive. For one or both of Xo,j and Yo,j being negative, Ao~ remains negative as shown in Figure 1 (b). Thus the overlap constraints can be expressed by the following set of m equations

Ao~i<~O f o r i = l , n - - l ;

m = n(n --1)/2

=i+1,

n

(5) (6)

For the work presented here, only these overlap constraints have been considered, and other behaviour constraints, which may occur due to particular applications, have not been included.

Adjacencies The functional blocks for a given topological problem are related by the specifications for their relative

108

'closeness' or 'nearness'. This relation may be expressed by the 'adjacency' coefficients c(~i such that larger values of ~ii will indicate closer association between blocks i and j, and vice versa. In the case of a printed circuit board problem, for example, the adjacency coefficients will be a function of the number of interconnection wires connecting the modules. A matrix of these coefficients I is called the connectivity matrix, adjacency matrix, or interaction matrix. It is a square matrix in which rows and columns represent the functional blocks, and each element describes the closeness rating between the corresponding pair of blocks.

Objective functions The purpose of optimization for the class of problems under consideration is to find a topological configuration that best meets the adjacency requirements without any overlaps. This objective can be achieved by different formulations of the objective function F. The two types of objective functions generally applicable to such problems were chosen for studying the problem, and are described in the following.

computer-aided design

formulated, such as

Area type objective function This includes the objective functions based on the sum of areas occupied by pairs of blocks. The objective function may be written as:

F~ = ~1

~

~iJ( Cxij "11-flxij)( Cyij hi- flYij)

(7)

i=1 /=i+1

where

cx,,= Ix,-x l,

cy,=ly,-y,I

(8)

and fl, and fl.. are arbitrary parameters introduced to avoid :~ero val'ues of F1 when C=q or Cyq becomes zero. By choosing

fl=q= (a~+ ai)/2

(9)

and

fly~ = (b, + bi)/2

(10)

the area encloses the two blocks completely as shown in Figure 2. Equation (7) can be written in terms of the design variables and block dimensions as Fl=n~l ~ i=1 j = i + l

~,i(Ix,--xil+(a,+a~)/2)*(ly,--yfl

+ (b, + bi)/2)

(11)

Distance type objective functions These include the objective functions based on the centre distances between the blocks. A function which is simply the sum of the products of the centre distances (sometimes referred as the 'Euclidean' or 'straight line' distances) and the adjacency coefficients between the blocks can be written as

x) 2 + ( y , - yj)2}

(13)

i=1 j = i + l

n-1 F4 =

i=1 j = i + l

(14)

Ix,-xjl + l y , - y , I }

This last objective function is based on what is called the 'city block' or 'Manhattan' distance between a pair of blocks.

Problem formulation for optimization The optimization problem is stated as follows minimize F(,X) subject to Gi(X)~<0,

j = 1, m

(15)

Where F is the objective function as described in the previous section, X is the vector of design variables, as in equation (1), and Gi are the constraints given by equation (5). This is a nonlinear constrained optimization problem and apparently can be solved by a number of methods 19. But because of the special nature of the problem, as discussed in the next section, these wellknown methods of constrained optimization cannot be directly applied. The method of solution presented later in this paper requires the problem to be converted to an unconstrained optimization problem by the penalty function approach. The objective functions are therefore modified to incorporate the penalty for overlapping. For instance, the objective function F3 can be rewritten using equation (3), as follows F3 = ~_1 ~ o~q(1+ P#,i){[(a, + a,)/2--(1 -- 214,,)Xo,,] i=1 j = i + l

+ [(bi + bi)/2 -

(1 -

2#ii)Yo,i] 2 }

(16)

n--1 F2 =

o~,i{(x,- xi)2 + (y,- yi)2 } '/2

(12)

i=1 j = i + l

Other objective functions similar to this may also be

where P is an arbitrarily selected large number as a penalty factor, and #q = 1

for Ao,j > 0

/~q --' 0

for Ao,i ~< 0

(17)

Ao, will be positive only if blocks i and j actua y overlap each other. In this case, #q = 1 and the pena ty factor P will cause a large increase in the value of the objective function. As indicated by equation (16), the increase in the value of objective function will be in proportion to the area of overlap Ao,. The overlaps, therefore, will be automatically avoide~ in a minimization process.

!iZ!i!iiiZiii!iiii!!i!!i!iiiiiii! i!i!i!!!Ziiiiil

ANALYSIS OF SPECIAL CHARACTERISTICS

The optimization problem of the above form is usually i:::::::: ii::: +:::::::::::::: I :::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ; :i::i:i;;i: ::::: I i

i:i:::i:::i::i:ii;:i:!:::::!:z:i::i:i:::i:i:ii:Z::i:::i:i:i:ii;i::!i!:ii ii ii ii!!:i;: ::iiiiii il

Figure 2. Area representation for F~ volume 21 number 2 march 1989

straightforward to solve for a number of other applications 2°'2~ by applying various search methods given in the literature. This problem of topology optimization, however, has some special characteristics which make the direct application of these search

109

methods unsuccessful. These characteristics were investigated by detailed analyses of the computer runs for various problems and by drawing mathematical inferences from them as described in the following.

Discontinuities of first partial derivatives The first partial derivatives of objective functions Ft and F4, with respect to design variable d~, have discontinuities at the points d~ = dj(for j = 1 to n). These discontinuities are due to the absolute functions used for F~ and F4. As is known, any derivative-based search method will not converge for this type of function. The method of steepest descent, therefore, failed to converge for all problems ranging from two to a large number of design variables.

Misleading direction of steepest descent If only two blocks are considered and b l o c k / i s fixed, then the problem has only two design variables xj and yj. For this case, the directions of steepest descent for the objective functions F~, F2, F~ and F4 are shown in Figure 3(a). The directions of steepest descent for F2 and F~ seem natural and the block / can be moved close to block i in one step, minimizing the objective function. The direction of steepest descent for F4 is along 45 ~ to the horizontal (regardless of the relative locations of blocks since the partial derivatives are always either + ~ i or - % except at the point of discontinuity), and even if the discontinuity is ignored the minimization will take more than one step. The direction of steepest descent for the function F~ depends upon the relative location of the blocks as given by the following derivatives

(x,-x,)

~r /.

[tyi-y,l+/3,,],

(Y'-Y') [Ix i - x , l + / ~ ] ,

c P1, ~Y~= ~,, l Y , - Y, I

the x-axis for lYj-Y,I ~l~,,. Close to tile point of discontinuity where I x~- xil ~ O, the direction of steepest descent becomes horizontal. This direction is very misleading and the proper search direction is along the line joining the centroids of the two blocks, which is close to vertical in fact.

Misleading derivatives due to overlap penalty Another problem preventing convergence is due to the discontinuities that take place when two blocks become adjacent and have a common side between them during the search. There is a discontinuity at the mating side and the derivatives will have an artificially large value because of the overlap penalty as given b y equation (16). And if there are adjacent blocks on both sides of a block, then the block cannot move since any movement in any direction will cause an overlap. And since the derivatives with respect to other blocks, which are away from this 'cluster' of adjacent blocks, are smaller (because of no overlap), there will be no movement in the search direction and the convergence will not take place.

'Fingers' problem More important than the above observations is the special character of the plots of the objective functions versus the individual design variables. Figure 4(a) shows a typical topology as obtained during optimization and Figure 4(b) shows the plot of one of the objective functions versus the design variable x, which pertains to the X movement of block i shown hatched in Figure 4(a). As it moves along X, it will overlap with blocks j, k and/. The objective function rises at these points as shown in Figure 4(b) by 'fingers' protruding on the

x,=/=x, (18)

y,Y:y,

(19)

I

I

Figure 3(b) shows the changes in the direction of steepest descent for different locations of block j along X

a

U

g

/

©

a

b

Figure 3. Directions ot steepest descent 110

b

Xi

Figure 4. The 'fingers' of overlap penalties

computer-aided design

curve. The points p, q, r, s, t and u represent the beginnings and ends of overlaps. These 'fingers' are clearly obstructions in the way of movement of block i and all search algorithms will move block i only to point p. Apparently there is no way to jump over the 'fingers' or the overlap constraints (in case a constrained optimization problem is formulated). This special character of the problem is typical of topology optimization, and most other problems do not behave in this manner.

SOLUTION The difficulties discussed above can be overcome if the determination of search direction does not involve any derivatives and, at the same time, the search algorithm allows jumping over the 'fingers' to find the segment of the curve that contains the minimum point. For this purpose a search algorithm was devised such that only one block is moved at a time either along the X- or Y- direction and its optimum location is determined. The approach is basically a 'univariate' search 22. It involves the search for minimum, varying only one of the design variables at a time. Thus

that the blocks are very far apart and free from 'clusters'. This allows the free movement of the blocks in the initial iterations of optimization. The problem of local minima can be addressed by starting from various random initial designs. The output of the program includes a graphic display of the optimal topology. It is to be noted that the program is fully automated and does not require user interaction during the optimization process. The program has options for optimizing different types of objective functions described in this paper, and has been tested for a number of examples in different fields. Two simple examples are presented in the following to describe the salient features of the proposed method. Another example for a relatively large-scale problem is also included. All the example problems were run on an IBM PC/AT. It was noted that average size problems (20 to 30 blocks) could be easily handled by the PC. For larger problems, a minicomputer may be preferable. The computational aspects of the proposed method are discussed in the next section.

[7

rl 3

8

g~=[1 0 0 ... 0],

5 ~ = [ 0 1 0 ... 0 l ,

...

(20)

and the iterations take place using the following equation:

Xq+l=

Xq +

ASq

(21)

[] 7 []

where Sq is the search direction at the qth iteration and A is the step size. This ' I D ' search, however, cannot be directly applied because of the 'fingers' problem, and therefore the following scheme was used: • First determine the minimum of the 'finger' ends p, q, r, s, t, etc. as shown in Figure 4(b) for the selected design variable. • Search for the minimum using a proper interpolation on the segment with the minimum 'finger' end as determined in the above step.

"~1"1

61-1 2['1 lo

a

Since the locations of all blocks are known at the beginning of each iteration, the location of the 'finger' end with the lowest value of objective function, such as q in Figure 4(b), can be determined. As shown in this figure, the minimum point of the curve occurs on a segment (q-r) having the lowest 'finger' end. This method of search allows the blocks to jump over each other and to achieve their best locations in each iteration of the univariate search.

8

5 4

6

IMPLEMENTATION AND EXAMPLES The method developed in the preceding section was implemented in a computer program named Topopt (topology optimization). The input to the program consists of block dimensions and their adjacency relationships. A random number generator is used to obtain an initial design on an 'extended plane', such

volume 21 number 2 march 1989

2

7

b Figure 5. (a) Initial design for example 1. (b) Optimum design for example 1

111

Example 1 This example illustrates the topology optimization process of Topopt for a set of eight functional blocks with defined adjacency relationships (see Appendix). These blocks, having different areas and aspect ratios, are to be placed such that the objective function F3, defined by Equation (13), is minimized. An initial random layout design on an extended plane is shown in Figure 5(a). In this figure, the blocks are shown with their actual dimensions. However, the scale is adjusted to display all the functional blocks. These blocks gradually come close to each other through a series of iterations. The final topological configuration is shown in Figure 5(b). There was no overlapping of blocks during any stage of the optimization process, and the blocks could 'jump' over the 'fingers' to their optimal locations. There are, however, small dead spaces between blocks 4 and 6 and also between 3 and 5. It seems that block 5 could have moved down to eliminate the dead space between blocks 3 and 5. Similarly, blocks 6 and 7 could have moved up slightly to eliminate the dead space between blocks 4 and 6. Interestingly, it was found that the value of the objective function increases if these changes are made. This is due to the adjacencies specified for these blocks. For this example, the solution converged in five iteration cycles. The term 'iteration cycle' implies that all the blocks have been considered for possible movement in X- and Y- directions, one at a time. Once a block has been considered for possible movement, it will be considered again in the next iteration cycle. A graph depicting the variation of objective function against the number of iteration cycles is shown in Figure 6.

As, for a given problem, the optimal topology is dependent upon the initial layout design, different random initial designs were used to study their impact on the converged solution. It was found that the variation range is not very large, and a relatively small number of trials are needed to generate a nearoptimum topological configuration. Example

2

The purpose of this example is to emphasize the importance of the 'finger' problem. Consider, for

11

10

a

11

._g 2 3 0

8

2

10

E z

I

I

'

[

I

1

2

3

4

5

Number of iterations

Figure 6. Convergence curve for example "I

112

b Figure 7. (a) Initial design for example 2. (b) Final design tot example 2

computer-aided design

shown in Figure 7(a). However, when this topological configuration was input to Topopt, the topology did change to further decrease the value of objective function. The final design is shown in Figure 7(b). It is observed that the optimal placement for room 2, based on the adjacencies, is between roooms 8 and 10. It was possible to obtain this design because room 2 was able to jump horizontally across rooms 3 and 6, and then move in a vertical direction close to room 9. After the movement of room 2, there was enough space available for room 4 to move up close to room 1 for a further reduction in the objective function.

'8 .23

'17

=5 • 19

"2

'6

=21

,11

= 26

B1

Example 3

a 22

"15 ,16

,14

,12

| 27

,10 '9

• 24

= 20

,25

=4

,7

,13

. 3

,18

a

rl3 nll 1121

96

o15

I-]1

016

23 " 9

D8

0 19

1017 25 o n10

120 114 113

i-15

2[] 22 []

{]24 2711 04 II 26

O20

This example presents the results of topology optimization of 27 modules on a printed circuit board. The modules are mostly integrated circuits with rectangular shapes of fixed dimensions. The adjacency relationship is defined by the number of interconnections between these modules. The objective is to minimize the sum of the square of wire lengths used for interconnections. This corresponds to minimizing the objective function F3 of equation (13). Since, for this type of problem, the routing channels are needed for wiring, the dimensions of the blocks used for optimization include the modules' dimensions and the additional spaces required for the routing channels. An initial random layout is shown in Figure 8(a) with the scale adjusted to display all the modules. The topological configuration after only one iteration cycle is shown in Figure 8(b). The final design, achieved in seven iteration cycles, is given in Figure 8(c). This figure shows the actual modules rather than the functional blocks used for optimization, and the spaces between them represent the routing channels. It is to be noted that although the initial placement was on a square plane, the final topology converged to a rectangular shape reflecting the adjacency requirements.

CONCLUDING REMARKS

n7

018

b 3 1121

l 1-[ 23E 17U [ ]

r"}

U20

18

1914

C Figure 8. (a) Initial placement for a PCB (example 3). (b) Placement after one iteration cycle. (c) Optimum placement example, that a layout design has been achieved for a research laboratory as shown in Figure 7(a). Analytical methods which cannot address the 'finger' problem will not cause any further improvement in the topology

volume 21 number 2 march 1989

For the test cases studied, it was observed that the number of liberation cycles needed for convergence is not significantly affected by the number of blocks or the random initial design. The average number of iteration cycles, in general, varies between four and ten. The number of calls to the objective function routine per iteration cycle is of the order of the square of number of blocks, O(n2). However, it may be noted that since only one block is moved at a time, the computations required for calculating the objective function value are drastically reduced. In fact, the objective function calculations are performed only for the block to be moved. For instance, when block k is moved such that dr is the new value of the design variable dk, the new value of objective function F3, denoted by F~, can be calculated as follows F~(dl, d2, ..., dr . . . . , dN)= F3(dl, d2 . . . . . dk, dN) + ~ ~/k[(d/-- d~) 2 -- ( d / - dk) 2]

(22)

i=1 i~=k

113

Thus the computations for objective function calculations are of the order of n only. The scheme, therefore, seems computationally efficient. The order of movement of blocks as given by equation (20) depends upon the numbering of the design variables which is quite arbitrary, and the ordering specified by the user's input. It was found that changes in the order cause the solution to converge to different local minima. Thus the effect of the order is similar to the effect of the initial design. A topic of further research is the variations in the aspect ratios during optimization, or in other words, inclusion of aspect ratios as design variables. The method presented allows these variations. For fixedshaped blocks, however, integer programming is involved because the blocks could be placed in either horizontal or vertical position only. This aspect of the problems was considered beyond the scope of this research. REFERENCES

1 Mitchell, W J Computer-aided architectural design Van Nostrand Reinhold, New York, USA (1977) 2 Hashimshony, R and Roth, J 'ALG: a model for generating alternative layout graphs under architectural constraints' Comput.-Aided Des. Vol 18 No 8 (October 1986) pp 431-436

3 Rooney, J and Steadman, P Principles of computeraided design Pitman, London, UK (1987)

13 Lee, R and Moore, U M 'CORELAP--computerized relationship layout planning' J. Ind. En~. Vol 18 (1967) pp 195-200 14 Willoughby, T 'Computer-aided design of a university campus' The Architect's Iournal (March 1970) pp 753-758 15 Kedem, G and Watanabe, H 'Graph-optimization techniques for IC layout and compaction' IEEE Trans. Comput.-Aided Des. Vol 3 No No 1 (January 1984) pp 12 20 16 Foulds, L R, Gibbons, P B and Giffin, J W 'Facilities layout adjacency determination: an experimental comparison of three graph-theoretic heuristics' Oper. Res. Vol 33 No 5 (September-October 1985) pp 1091-1106 17 Quinn, N R and Breuer, M A 'A force directed component placement procedure for printed circuit boards' IEEE Trans. Circuits Sys. Vol 26 No 6 (June 1979) pp 377-388 18 Cheng, C K and Kuh, E S 'Module placement based on resistive network optimization' IEEE Trans. Comput.-Aided Des. Vol 3 No 3 (July 1984) pp 218-225 19 Leunberger, D G Introduction to linear and nonlinear programming Addison-Wesley, Reading, MA, USA (1973)

4 Breur, M A (ed) Design automation of digital system: theory and techniques Prentice-Hall, Englewood Cliffs, NJ, USA (1972)

20 Atrek, E, Gallagher, R H, Ragsdell, K M and Zienkiewicz O C (eds) New directions in optimum structural design John Wiley and Sons, New York, USA (1984)

5 Supowit, K J and Slutz, E A 'Placement algorithms for custom VLSI' Comput-Aided Des. Vol 16 No 1 (January 1984) pp 45-55

21 Imam, M H 'Three-dimensional shape optimization' Int. J. Numer. Methods Eng. Vol 18 (1982) pp 635-673

6 Ueda, K, Kitazawa, H and Harada, I 'CHAMP: chip floor plan for hierarchical VLSI layout design' IEEE Trans. Comput.-Aided Des. Vol 4 No 1 (January 1985) pp 12 22

22 Fox, R L Optimum methods for engineering design Addison-Wesley, New York, NY, USA (1971)

7 Foulds, I_R 'Techniques for facilities layout: deciding which pairs of activities should be adjacent' Manage. Sci. Vol 29 No 12 (December 1983)pp 1414-1426.

The computer input data for the example problems are given in the following examples. The data for all the three problems consist of the dimensions (a,, hi) of the blocks and their adjacency matrices. Since the matrices are symmetric, only the upper triangles of these matrices are input.

8 Moore, J M 'Computer-aided facilities design: an international survey' Int. J. Prod. Res. Vol 12 (1974) pp 21-44

APPENDIX

2.0,3.0 4.0,5.0 2.0,2.0 3.0,3.0 2.0,4.0 4.0,4.0 4.0,4.0 3.0,4.0 0120 O43 O2 0

9 Ritzman, L P 'The efficiency of computer algorithms for plant layout' Manage. Sci. Vol 18 No 5 (January 1972) pp 240-248 10 Buffa, E S, Armour, G C and Vollmann, T E 'Allocating facilities with CRAFT' Harvard Bus. Rev. Vot 42 (November 1969) pp 136-155 11 Vollmann, T E, Nugent, C E and Zartler, R L 'A computerized model for office layout' J. Ind. Eng. Vol 19 No 7 (July 1968) pp 321-327 12 Seehof, J M and Evans, W O 'Automated layout design program' J. Ind. Eng. Vo118 No 12 (December 1967) pp 690-695

114

0020 6002 0310 5202 0004 040 O1

0

Example 1

computer-aided design

..A bq

O0 %O

D-

3

t~

O-

3

C

t~ -.A

3~D

o__

<

bO

7D

X n,

O ~ O O O ~ O O O O O O O O O O O O O ~ O O O O O ~ O

0 0 ~ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ~ 0 ~

O ~ O O O O O ~ O O O ~ O O O O O ~ O O ~ O O O ~ O O ~ O O O O O O O ~ O ~ O O O O O O O O O O O ~ O ~ O O O O O O ~ O O ~ O O O O O O ~ O ~ O O O O ~ O ~ O O ~ O O O O ~ O O O O O O O O O O ~ O O O ~ O O O ~ O ~ O O ~ O O O O O O O O O O O O O O O ~ O ~ O O O O ~ O O O O O O O O O O O O O ~ O O O ~ O ~ O O O ~ O ~ O O O O O O O O O O O ~ O ~ O ~ O O O O

O ~ O ~ O O O O O O O O O ~ O O O O ~ O O O O O O O ~ O ~ O ~ O ~ O ~ O ~ O O O O O ~

O O O O O O O O ~ O ~ O ~ O O O ~ O O O ~ O O ~

O ~ O O O ~ O O O O O ~ O O O ~ O O ~ O O

O O O O O ~ O O O O O O O O O O ~ O O O O O O ~ O O .O. .~.

3

t'~ X