Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms...

10
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL IO, NO. 4. APRIL 1991 483 Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde, Member, IEEE, Worthy N. Martin, Member, IEEE, and Dana S. Richards Abstract-Floorplan design is an important stage in the VLSI design cycle. Designing a floorplan calls for arranging a given set of modules in the plane to minimize the weighted sum of area and wirelength mea- sures. This paper presents a method to solve the floorplan design prob- lem using distributed genetic algorithms. Distributed genetic algo- rithms, based on the paleontological theory of punctuated equilibria, offer a conceptual modification to the traditional genetic algorithms. Experimental results on several problem instances demonstrate the ef- ficacy of our method, and point out the advantages of using this method over other methods, such as simulated annealing. Our method has per- formed better than the simulated annealing approach, both in terms of the average cost of the solutions found and the best-found solution, in almost all the problem instances tried. I. INTRODUCTION LOORPLAN design is an important stage in the overall F cycle of VLSI design, as clearly indicated by the consider- able attention it has received in the literature [21]-[24], [27], [30], [33]-[35]. The floorplan design problem is to arrange a given set of modules in the plane to minimize the weighted sum of the area within the bounding rectangle of the arranged mod- ules and the wirelength measures between modules that must be connected in the circuit. In this way, floorplan design can be seen as an optimization problem. However, the bin-packing as- pect of the design criteria causes the problem to have a com- binational nature and thereby, precludes the direct application of many standard optimization techniques, e.g., gradient-based hill climbing. This combinatorial nature has caused some re- searchers to turn to probabilistic search mechanisms, such as simulated annealing [ 191 and genetic algorithms [ 161. In partic- ular, these investigations have considered parallel search for- mulations (e.g., simulated annealing [2], [5], [20], [26] and genetic algorithms [6], [18], [25], [31]. We are studying a novel formulation of genetic algorithms, called GAPE, that is motivated by the concept of punctuated equilibria in evolution theory [IO], [ 1 11 and the desire to effec- tively use large scale, distributed memory, message passing, parallel processing systems [28]. In this paper we present the results of our study of the applicability of GAPE to floorplan design. In order to have a scale against which to judge the ef- Manuscript received October 17, 1988; revised August 29, 1989. This work was supported in part by the Office of Naval Research under Grant N00014-88-K-0486 and by the Jet Propulsion Laboratory of the California Institute of Technology under Contract 957721 to the University of Vir- ginia’s Institute for Parallel Computation. The work of J. P. Cohoon was supported by the National Science Foundation under Grant DMC 8505354. This paper was recommended by Associate Editor R. H. J. M. Otten. This is an expanded version of the paper presented at ICCAD-88. The authors are with the Department of Computer Science. University IEEE Log Number 9042070. of Virginia, Charlottesville, VA 22903. fectiveness of GAPE, we decided to use the formulation of floorplan design given by Wong and Liu [33]. We believe their work to be one of the best examples in the recent literature of the application of probabilistic search techniques (in this case, simulated annealing) to floorplan design. By using this formu- lation we are able to run GAPE and simulated annealing, as well as a sequential genetic algorithm, on exactly the same test suite of floorplan instances. Having the exact same test cases allows us to directly com- pare the resulting best “scores” of each method. Final com- parison of the effectiveness of the methods, however, is prob- lematic due to the substantial difference in the underlying computational schemes. For example, direct machine runtimes can be quite misleading because of the extensive opportunities to “fine tune” the operating parameters and the low-level util- ity functions of each method. The comparison to Wong and Lui is based on our version of simulated annealing. That version was implemented in a straightforward manner and might con- tain extremely inefficient (in terms of CPU seconds) compo- nents. Thus we do not base our evaluation of the effectiveness of the techniques upon CPU runtimes. Rather, we allow each technique to perform the same amount of “work” and then compare the “scores” of the best designs found in the process. Since the problem is being formulated as a combinatorial opti- mization problem, we define “work” to be measured in terms of the number of tentative solutions each technique examines in its optimization process. Under the constraint of equivalent “work,” GAPE has performed better than the simulated an- nealing approach, both in terms of the average cost of the so- lutions found and the best-found solution, in almost all the problem instances tried. Section I1 of this paper reviews the floorplan design problem formulation. In Section 111, we briefly discuss sequential ge- netic algorithms, and present our distributed genetic algorithm paradigm based on the theory of punctuated equilibra, GAPE. Section IV presents the implementation details of the applica- tion of the distributed genetic algorithms to the floorplan design problem. In Section V, we show experimental results to dem- onstrate the efficacy of our method. Conclusions and future di- rections are discussed in Section VI. 11. FLOORPLAN DESIGN PROBLEM Following Wong and Liu [33], the floorplan design problem is formulated as follows: there is a set of m modules, denoted { M, } for i = 1, 2, . . . , m. In this formulation, the modules are restricted to be rectangular. Thus each module i is charac- terized by a triple (A,, l,, U, ), where A, is the area of the mod- ule, and 1, and U, are the lower and upper bounds, respectively, on the allowed aspect ratio, i.e., the ratio of the height h, to 0278-0070/9110400-0483$01 .OO 0 1991 IEEE

Transcript of Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms...

Page 1: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL IO, NO. 4. APRIL 1991 483

Distributed Genetic Algorithms for the Floorplan Design Problem

James P. Cohoon, Member, IEEE, Shailesh U. Hegde, Member, IEEE, Worthy N. Martin, Member, IEEE, and Dana S. Richards

Abstract-Floorplan design is an important stage in the VLSI design cycle. Designing a floorplan calls for arranging a given set of modules in the plane to minimize the weighted sum of area and wirelength mea- sures. This paper presents a method to solve the floorplan design prob- lem using distributed genetic algorithms. Distributed genetic algo- rithms, based on the paleontological theory of punctuated equilibria, offer a conceptual modification to the traditional genetic algorithms. Experimental results on several problem instances demonstrate the ef- ficacy of our method, and point out the advantages of using this method over other methods, such as simulated annealing. Our method has per- formed better than the simulated annealing approach, both in terms of the average cost of the solutions found and the best-found solution, in almost all the problem instances tried.

I. INTRODUCTION LOORPLAN design is an important stage in the overall F cycle of VLSI design, as clearly indicated by the consider-

able attention it has received in the literature [21]-[24], [27], [30], [33]-[35]. The floorplan design problem is to arrange a given set of modules in the plane to minimize the weighted sum of the area within the bounding rectangle of the arranged mod- ules and the wirelength measures between modules that must be connected in the circuit. In this way, floorplan design can be seen as an optimization problem. However, the bin-packing as- pect of the design criteria causes the problem to have a com- binational nature and thereby, precludes the direct application of many standard optimization techniques, e.g., gradient-based hill climbing. This combinatorial nature has caused some re- searchers to turn to probabilistic search mechanisms, such as simulated annealing [ 191 and genetic algorithms [ 161. In partic- ular, these investigations have considered parallel search for- mulations (e.g., simulated annealing [2], [5], [20], [26] and genetic algorithms [6], [18], [25], [31].

We are studying a novel formulation of genetic algorithms, called GAPE, that is motivated by the concept of punctuated equilibria in evolution theory [IO], [ 1 11 and the desire to effec- tively use large scale, distributed memory, message passing, parallel processing systems [28]. In this paper we present the results of our study of the applicability of GAPE to floorplan design. In order to have a scale against which to judge the ef-

Manuscript received October 17, 1988; revised August 29, 1989. This work was supported in part by the Office of Naval Research under Grant N00014-88-K-0486 and by the Jet Propulsion Laboratory of the California Institute of Technology under Contract 957721 to the University of Vir- ginia’s Institute for Parallel Computation. The work of J . P. Cohoon was supported by the National Science Foundation under Grant DMC 8505354. This paper was recommended by Associate Editor R. H. J . M. Otten.

This is an expanded version of the paper presented at ICCAD-88. The authors are with the Department of Computer Science. University

IEEE Log Number 9042070. of Virginia, Charlottesville, VA 22903.

fectiveness of GAPE, we decided to use the formulation of floorplan design given by Wong and Liu [33]. We believe their work to be one of the best examples in the recent literature of the application of probabilistic search techniques (in this case, simulated annealing) to floorplan design. By using this formu- lation we are able to run GAPE and simulated annealing, as well as a sequential genetic algorithm, on exactly the same test suite of floorplan instances.

Having the exact same test cases allows us to directly com- pare the resulting best “scores” of each method. Final com- parison of the effectiveness of the methods, however, is prob- lematic due to the substantial difference in the underlying computational schemes. For example, direct machine runtimes can be quite misleading because of the extensive opportunities to “fine tune” the operating parameters and the low-level util- ity functions of each method. The comparison to Wong and Lui is based on our version of simulated annealing. That version was implemented in a straightforward manner and might con- tain extremely inefficient (in terms of CPU seconds) compo- nents. Thus we do not base our evaluation of the effectiveness of the techniques upon CPU runtimes. Rather, we allow each technique to perform the same amount of “work” and then compare the “scores” of the best designs found in the process. Since the problem is being formulated as a combinatorial opti- mization problem, we define “work” to be measured in terms of the number of tentative solutions each technique examines in its optimization process. Under the constraint of equivalent “work,” GAPE has performed better than the simulated an- nealing approach, both in terms of the average cost of the so- lutions found and the best-found solution, in almost all the problem instances tried.

Section I1 of this paper reviews the floorplan design problem formulation. In Section 111, we briefly discuss sequential ge- netic algorithms, and present our distributed genetic algorithm paradigm based on the theory of punctuated equilibra, GAPE. Section IV presents the implementation details of the applica- tion of the distributed genetic algorithms to the floorplan design problem. In Section V, we show experimental results to dem- onstrate the efficacy of our method. Conclusions and future di- rections are discussed in Section VI.

11. FLOORPLAN DESIGN PROBLEM Following Wong and Liu [33], the floorplan design problem

is formulated as follows: there is a set of m modules, denoted { M, } for i = 1, 2, . . . , m. In this formulation, the modules are restricted to be rectangular. Thus each module i is charac- terized by a triple ( A , , l , , U , ), where A , is the area of the mod- ule, and 1 , and U , are the lower and upper bounds, respectively, on the allowed aspect ratio, i.e., the ratio of the height h , to

0278-0070/9110400-0483$01 .OO 0 1991 IEEE

Page 2: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

484 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL. IO, NO. 4, APRIL 1991

width w i of the module. That specification leads to the follow- ing relationships:

(1) w . h . = A . 1 I I 9

and

h . l i I L I ui.

W i

If 1 , = U , then M, is said to be rigid, otherwise, it i s j e x i b l e . The aspect ratio can also be defined as the inverse of that indi- cated in (2), so modules are further designated as being of either fixed orfree orientation. The fixed orientation modules are con- strained by ( 2 ) , while the free orientation modules are con- strained by the following:

h . W . l i I 1 I u i or l i I 2 I ui. wi hi

(3)

For example, a rigid module of fixed orientation specifies its height and width by h , = and w , = m, while a rigid module of free orientation allows those two dimensions to be interchanged. A flexible module of free orientation allows its configuration to be any rectangle satisfying both (1) and (3).

A j o o r p l a n for the given m modules consists of a bounding rectangular, R , partitioned by horizontal and vertical line seg- ments into m nonoverlapping rectangle regions, denoted { r, } for i = 1, 2 , * . . , m. Each region r , , with width x , and height y , , must be large enough to accommodate its module, M,. For instance, if M, is a fixed module, r, must be such that A , I x , y , and 1 , I y , / x , I U,. Further, the bounding rectangle, R , is constrained to have an aspect ratio that lies between two given numbers, p and 4, p I q.

Each floorplan is evaluated by an objective function having a total-area component and a weighted wirelength component. The total area is the area of R , i.e., Er=, x l y I . The wirelength between each pair of modules M, and MJ is the Manhattan dis- tance between the centers of the corresponding regions r, and rJ, and is denoted d , . The center of a region is the geometric center of the region. Each connection between modules has an associated cost, c,, 2 0. Note the fact that two modules are not to be connected is represented by the cost being set to 0. The overall evaluation of a particular floorplan is summarized in its score, as given in the following:

m m

score = c x i y i + X c c u d u . i = 1 iJ = 1

(4)

Thus the floorplan design problem is to find a floorplan having the minimum score. The user specified constant, A, controls the relative importance of total area and weighted wirelength. In all of the experiments described in this paper, X = 1.

By restricting the partitions of the rectangle R to recursive subdivisions, one obtains a slicing structure. An example is provided in Fig. l(a). Henceforth, our attention will be re- stricted to floorplans which are slicing structures. Let the op- erations of a horizontal cut and a vertical cut be denoted by the operators +. and *, respectively. Operators + and * are of dif- ferent types. Slicing structures comprising the m given modules (also called operands) can be represented by slicing trees p2] , [23] or Polish expressions [33] over the alphabet C = { 1, 2, . . . , m , *, + }. pote that here the index is used to name the module. In a slicing tree operators are internal nodes and op- erands are leaves. There exists a one-to-one mapping from the set of slicing trees to the set of Polish expressions. The Polish

/ \ 3 ’

/ \ 1 2

/ \ 4 3

/ \ 1 2

4 3 + 1 2 ‘ + 4 3 1 2 ’ + +

(b) (C) Fig. 1 . A slicing structure and its representations. (a) Slicing structure. (b) Skewed slicing tree and normalized Polish expression. (c) Slicing tree and Polish expression.

expression associated with a slicing tree can be obtained by a post-order traversal [ l ] of the slicing tree. Although there can be more than one slicing tree or Polish expression for the same slicing structure, uniqueness can be achieved by systematically partitioning R from top to bottom and from right to left at any stage of recursive subdivision. This results in slicing structures being represented as skewed slicing trees or normalized Polish expressions [33]. Fig. l(b) and (c) both provide slicing trees and Polish expressions that correspond to slicing structure of Fig. l(a). In a skewed slicing tree, no operator of the same type appears as the right son of an operator. In a normalized Polish expression, operators of the same type do not occur next to one another. There also exists a one-to-one mapping from the set of skewed slicing trees to the set of normalized Polish expressions. Thus the slicing tree and Polish expression given in Fig. l(b) are skewed and normalized, respectively. While the slicing tree and Polish expression of Fig. l(c) are not. Note that a slicing tree, a Polish expression, a skewed slicing tree, and a normal- ized Polish expression all have m operands and ( m - 1 ) oper- ators, resulting in a total size of ( 2 x m - 1 ). By convention, we number the items, i.e., operands or operators, in a Polish expression or a normalized Polish expression from left to right ranging from 1 to ( 2 x m - 1 ).

The set of possible dimensions, ( x i , y , ) of the region r, ac- commodating M, can be determined using the following infor- mation: ( A t , l , , U , ), whether M, has fixed or free orientation, and (1)-(3). Such a set, termed the boundary region of M,, is a subset of the Cartesian plane, and is characterized by a mono- tonically nonincreasing curve, called the bounding curve of M,. When bounding curves of the modules are piecewise linear, the bounding curve of a slicing structure can be obtained by doing simple addition operations on the “comers” identifying the piecewise-linear curves [33]. This gives a method of computing the area and wirelength measures of a floorplan.

111. GENETIC ALGORITHMS A. Sequential Genetic Algorithm

The genetic algorithm paradigm has been proposed to gen- erate solutions to a wide range of problems [16], [17]. In par- ticular, several optimization problems have been investigated. These include control systems [ 131, function optimization [3], and combinatorial problems 171, [9], [121, [141, [151, [291. A more complete motivation and exposition for the material in this section can be found in our recent paper [6].

Page 3: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

COHOON et al. : ALGORITHMS FOR THE FLOORPLAN DESIGN PROBLEM 485

In a genetic algorithm, a population of solutions to the prob- lem at hand is maintained and allowed to evolve through suc- cessive generations. A suitable encoding of each solution in the population is used to allow computation of the$tness, i.e., a measure of the solution’s competence, and manipulation to form new solutions. The capabilities provide the means to create a sequence of generations. To create the next generation, new solutions are formed by either merging two solutions from the current generation via a crossover operator or modifying an in- dividual solution using a mutation operator. The solutions to be

initialize for E Iterations do

parfor each processor i do

endfor parfor each processor 1 do

run GA for G generations

for each neighbor J of i do

endfor send a set of solutions. Su. from f to J

endfor parfor each processor i do

endfor select an n element subpopulation

endfor

included in the next generation are then probabilistically se- lected according to the fitness values from the set comprising the current generation and the newly formed solutions. Typi-

Fig. 2. High-level description of a genetic description of a genetic algo- rithm with punctuated equilibria.

cally, a constant number of solutions are selected so that the maintained population is of fixed size. After an arbitrary num- ber of generations the process is terminated and the best re- maining solution (or the best ever seen) is reported.

There are many simple avenues to parallelize a sequential genetic algorithm (assuming a global shared memory), e.g., se- lecting and crossing over pairs of solutions in parallel, and mu- tating solutions in parallel. However, such avenues result in only a simple hardware accelerator, and will not be suitable for local memory, message passing, distributed models of com- putation. Therefore, we have turned our attention to the theory of punctuated equilibria that provides a suitable paradigm to map genetic algorithms onto a distributed system.

B. Punctuated Equilibria The theory of punctuated equilibria has been proposed to re-

solve certain paleontological dilemmas in the geological record [lo], [ 1 11. Punctuated equilibria is based on two principles: al- lopatric speciation and stasis. Allopatric speciation involves the rapid evolution of new species after a small set of members of a species, peripheral isolates, becomes segregated into a new environment. Stasis, or stability, of a species is simply the no- tion of lack of change. It implies that after equilibria is reached in an environment there is very little drift away from the genetic composition of a species. Ideally, a species would persist until its environment changes (or the species would drift very little). Punctuated equilibria stresses that a powerful method for gen- erating new species is to thrust an old species into a new envi- ronment, where change is beneficial and rewarded. For this rea- son we should expect a genetic algorithm approach based on punctuated equilibria to perform better than the typical single environment scheme.

What are the implications for the genetic algorithm ap- proach? If the environment is unchanging, then equilibrium should be rapidly attained. The resulting “equivalence classes’’ of similar solutions would correspond to “species.” It is pos- sible that solutions in the “vicinities” of the minima of the objective function have not been explored. A genetic algorithm relies on the mutation and crossover operators to eventually cre- ate solutions “near” the minima. While stasis indicates that an isolated population will stabilize over time, allopatric specia- tion indicates that continued evolution can be obtained through the introduction of previously stabilized species into different environments. Therefore, a genetic algorithm should alternate the maintenance of populations isolated in different environ- ments to allow the development of species with the introduction of species to new environments.

We create different environments by having the fitness mea- sure defined relative to the current local population. In this way, exchanging sets of solutions between local populations will al-

ter the evaluation of the members (of the local populations), and introduce new competitors, thereby effecting the desired allo- patric speciation. Alternate schemes for establishing different environments are possible, of course. For example, if the prob- lem domain requires a multi-objective fitness measure, various low-order approximations to or projections of the true fitness measure could be used at different populations. This multi-ob- jective fitness scheme and others will be investigated in our con- tinuing research.

C. Genetic Algorithms with Punctuated Equilibria

Our basic model of a genetic algorithm with punctuated equi- libria assigns a set of n solutions to each of N processors, for a total population of size n x N . The set assigned to each pro- cessor is its subpopulation. The processors are connected by an interconnection network. In practice, we might expect a con- ventional topology to be used, such as a mesh or a hypercube. The network should have sufficient connectivity and small di- ameter to ensure adequate mixing as time progresses.

The overall structure of our approach is seen in Fig. 2 . There are E major iterations called epochs. During an epoch, each processor, disjointly and in parallel, executes the genetic al- gorithm on its subpopulation. Theoretically each processor con- tinues until it reaches equilibrium. Since, as yet, we know of no adequate stopping criteria, we have used a fixed number, G , of generations per epoch. This considerably simplifies the prob- lem of synchronizing the processors, since each processor should be completed at nearly the same time. After each pro- cessor has stopped, there is a phase during which each proces- sor copies randomly selected subsets (of size S = I S,, I ) of its population to neighboring processors. Each processor now has acquired a surplus of solutions and must probabilistically select a set of n solutions to survive to be its initial subpopulation at the beginning of the next epoch.

The relationship to punctuated equilibria is the following. Each processor corresponds to a disjoint environment (as char- acterized by the mix of solutions residing in it). After G gen- erations we expect to see the emergence of some very fit spe- cies. Then a catastrophe occurs and the environments change. This is simulated by having representatives of geographically adjacent environments regroup to form the new environments. By varying the amount of redistribution, S, we can control the amount of disruption.

The genetic algorithm code used by each processor is shown is Fig. 3. The crossover rate, 0 5 C 5 1, determines how many new offspring are produced during each generation. Par- ents are chosen probabilistically (by fitness) with replacement. The crossover and other details are discussed below. The fit- nesses are recalculated, relative to the new larger population.

Page 4: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

486 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL. 10, NO. 4, APRIL 1991

for G lteratlons do while number of offspring

created < n xc do select two solutions crossover the two solutions to create ofispring

endwhUe add all offspring to subpopulatlon calculate fiinesses select a population of n elements generate nxM random mutations

endfor

Fig. 3. Genetic algorithm used with an epoch at each processor

Then, probabilistically (by fitness) without replacement, the next population is selected. Finally, in a uniformly random manner elements are mutated. The mutation rate, 0 I M I 1, determines how many mutations altogether are performed dur- ing each generation.

We have already developed a system to simulate a distributed genetic algorithm, experimented with the NP-complete optimal linear arrangement problem, and empirically demonstrated that our formulation is much more than a simple hardware acceler- ator version of sequential genetic algorithms [6].

IV. SEARCH OPERATORS In simulated annealing the search of the solution space is

largely unconstrained during the high-temperature phase, and becomes more conservative through the low-temperature phase. In genetic algorithms there is a similar but not strictly analogous phenomenon. At the beginning when there is a wide almost ran- dom, diversity, the crossover operators tend to produce dra- matic “jumps” in the solution space. Later, as clusters of high fitness solutions develop, the crossover operators provide effi- cient exploration in the neighborhood of each cluster. During the later stages, crossovers between individuals from different clusters continue, of course, to exploit the remaining diversity. Note that the change in character of the exploration mode is not due primarily to the specific form of the crossover operators. In most systems discussed to date, the form of the operators, in fact, remain unchanged throughout the evolutionary process. The prime cause of the shift in the exploration mode is the clus- tering of individuals, in terms of the genotypes, i.e., string rep- resentations, through the evolutionary process. We contend that the crossover operators discussed below share information from the parents in the offspring, and thus the offspring are “be- tween” the parents.

Mutation operators also are largely unconstrained at the be- ginning, since the average fitness is low and the population is comparatively large. Later, after the average fitness has in- creased, explorations by the mutation operators are decreased. The change in exploration mbde is again not due to a change in the mutation operator. The primary causes are the selection pro- cess at the end of each generation and the changing distribution of fitness values in the population. As the evolutionary process proceeds, the fitness values tend to cluster and the random mod- ifications made by the mutation operators will most often create individuals with fitnesses well below the average fitness of the cluster, just as simulated annealing would at high temperatures. The GAPE mutation operations appear to always “accept,” (in the sense of simulated annealing) the random change. However, the analogous selection against the resulting poor individuals is not made by the mutation operators. Rather, at the end of each generation the selection is made against the whole population. Thus the degree of exploratory search is determined by the “se- lective pressure,” i.e., the relationship between the population

size, the crossover and mutation rates, and the current distri- bution of individuals in the population.

The current version of GAPE has four crossover loperators, CO,, CO2, CO,, and CO,. The first two, CO, and CO,, operate primarily in terms of string manipulation, though they are de- signed so that the resulting string is a valid Polish expression for a slicing tree. Each of CO, and CO, take two parent strings and create one offspring string, which we denote by P I , P2 and 0 with a possible index, i (1 I i I 2m - l ) , indicating a selected position within the given string.

Crossover operator CO, first copies the operands from parent PI into the corresponding positions in the offspring, 0. Then, it copies operators from P2, by making a left-to-right scan, to complete 0. It is to be noted that COI propagates groups of operands from PI into 0. Notationally, for PI let the set, { n,,} with 1 I j I m, be the indexes of the m operands of PI. Thus { n,, } indicates the string positions, ordered left-to-right, of the operands of the Polish expression. Also, let the set, { r l k } with 1 I k I m - 1 , be the indexes of the m - 1 operators of Pi. Similarly, for P2 define { n2 , } and { rZk}. CO, then performs the following steps: 1) get operands: for eachj , 1 5 j I m, assign O[n,,] the value of PI [ n l k ] ; and 2) get operators: for each k , 1 5 k I m - 1 , assign O[r,,] the value of P 2 [ 1 2 k ] .

Fig. 4 gives an illustration of CO,. CO, starts out by copying the operators from P, into the cor-

responding positions in 0. Then, it completes the construction of 0 by copying the operands from P1, by making a left-to-right scan. By propagating the groups of operators from PI into 0, CO2 produces an offspring having the same overall slicing structure as that of P,. CO, performs the following steps: 1) get operators: for each k , 1 I k I m - 1, assign 0 [ I, k ] the value of P, [ r , J ; and 2) get operands: for eachj, 1 I j I m, assign O[nl,] the value of P , [ n , , ] . Fig. 5 illustrates the operation of

The remaining two operators, CO, and CO,, have been de- signed to function in terms of subtrees, i.e., subexpressions, because we consider subtrees to be the natural building blocks of slicing trees. We intend GAPE to use CO, and CO, to main- tain building blocks in the offspring in much the same manner as Holland describes [16]. Each subtree in a slicing tree corre- sponds to a contiguous substring in the Polish expression with an operator as the leftmost element, i.e., the root of the subtree. Notationally, the subtree, s, of P I , is represented by the sub- string of P, beginning at index b, and ending at e,.

CO, again takes two parents, P, and P,, and creates a single offspring, 0, propagating into 0 the overall nature of the slicing and a complete slicing substructure, i.e., a subtree, from PI. The overall slicing is propagated, as in CO2 by copying the operators in place from P I . The propagated subtree is com- pleted by also copying its operands from PI. The order of the remaining operands is derived from P,. The following steps are performed by CO,: 1) get operators: for each k, 1 I k 5 m - 1 , assign 0 [ r1 k ] the value of PI [ rl k ] ; 2) subtree operands: ran- domly select sI, a subtree of PI specified by ( b l , e l ) , and for each i in { n,,} such that b, 5 i I e,, assign O[i ] the value of PI [ i 1; and 3) remaining operands: for each i in { n, , } such that ( i < b, or e, < e , ) , assign O[i] the value of NEXT-OPERAND ( P2 ) .

NEXT-OPERAND is a function that returns the leftmost “unused,” i.e., not previously selected in this instance of CO,, operand of its parameter string. Note that the subtree is selected by randomly choosing an index of an operator in P I , called e, above. A leftward scan of P, can determine the appropriate bl

CO*.

Page 5: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

487 COHOON et al. : ALGORITHMS FOR THE FLOORPLAN DESIGN PROBLEM

Parent1 1 4 5 6 * + + 8 7 * 3 2 * + *

\\\\ \\\I\

Fig. 4. Illustration of the crossover operator, CO,

Parent1 1 4 5 6 + + 8 7 3 2 * +

\\\ \ \\\ Offspring 2 6 t 3 \ * + ) 5 f 4 * f l f 3 * +

Parent2 2 6 8 ’ 7 . 5 + 4 * 1 3 + +

Fig. 5 . Illustration of the crossover operator, CO2

in ( e , - b, ) simple steps. The operation of CO3 is illustrated in Fig. 6 , with the randomly selected operator being the right- most + from Parent 1.

Crossover operator CO4 takes two parents P , and P, , and cre- ates two offspring, 0, and 02, by directly interchanging build- ing blocks, i.e., subtrees, between the parents. CO, begins by randomly selecting s,, a subtree of P I specified by ( b , , e , ) , and s2, a subtree of P , specified by (b,, e 2 ) , under the constraint that s, and s2 have the same size, i.e., ( e , - b , ) = ( e 2 - b 2 ) . If no solutions satisfying the constraint can be selected, then CO4 fails. If appropriate subtrees can be selected, then CO, per- forms the following steps to create 0,: 1) get operators: for each k , 1 5 k s m - 1, assign O [ r l k ] the value of P I [ r l k ] ; 2 ) insert subtree: for each i, 0 5 i 5 ( e , - b, ) assign 0, [ b, + i ] the value of P2[b2 + i ] (possibly overwriting some op- erators); and 3 ) remaining operands: for each i in { a,,} such that ( i < b, or e , < i), assign 0, [ i ] the value of NEXT - OPERAND ( P , ).

In a similar manner 0, is created by the following steps: 1) get operators: for each k , 1 5 k I m - 1, assign O2 [ r2k] the value of P 2 [ r 2 k ] ; 2 ) insert subtree: for each i, 0 5 i I ( e 2 - b 2 ) assign 0 2 [ b 2 + i ] the value of P2[b2 + i ] (possibly overwriting some operators); and 3 ) remaining operands: for each i in { a2, } such that ( i < b, or e2 < i ), assign 0, [ i ] the value of NEXT-OPERAND ( P I ). Fig. 7 illustrates the opera- tion of CO4.

The selection of the appropriate subtrees is done by first cal- culating, for each operator in P , and P,, the size of the subtree rooted at that operator. This calculation can be done in a left- to-right scan of the strings, and thus requires on the order of 2m - 1 steps. Let SZ, and SZ2 be the set of distinct subtree sizes (other than 1) in P , and P 2 , respectively. Let COMMON = SZ, fl SZ, . If COMMON = 0 the crossover fails as no subtrees of the same size exist. Otherwise, a subtree size, z ( 2 < z < m ) , is randomly selected from COMMON. The restric- tion on z is imposed because the effect of exchanging subtrees with z = 2 can be easily achieved by mutation operators (de- scribed later), and the case z = m results in exchanging the entire tree thus creating no new solutions. Having selected z , the sets E , and can be created to contain the ending indexes of the subtrees having size z in P I and P2, respectively. Random selections from E I Z and E2: yield the appropriate e , and e2, and thereby the subtrees, si and s2.

Having a set of crossover operators means that GAPE must choose among the possibilities. In all the experiments within this study a crossover operator is selected randomly from the

Parent2 2 6 8 ’ * 7 * 5 + 4 * 1 3 + +

Fig. 6. Illustration of the crossover operator, CO,

Parent1 1 4 5 6 *(K( 7 * 3 2 * + *

* * < 0ITspflng 1

Parent2 2 6 8 * * 7 5 + 4

Parent 1 1 4 5 6

Offspring2 8 7 * 3 2

Parent2 2 6 8 * * 7 ’ 5 + 4 * 1 3 + t

SZ, =(2 ,3 .4 .8) SZz=(2.3.4.5.6.81 COMMON=(2.3.4.8I 2 = 4

E,, = (7.141 E,, = (7) Ib,.e, l = 18.141 (b,.ezl = 11.71

Fig. 7 . Illustration of the crossover operator, CO,.

set { CO,, CO,, CO3, CO, } whenever a crossover operation is to be performed. In creating this particular set for the floorplan design application, our motivation is to have the operators prop- agate and modify two types of information: string information, i.e., genotype building blocks, and slicing tree information, i.e., phenotype building blocks. CO, and CO2 are primarily string operations and are a “symmetric” pair with regard to operand/ operator orientation. CO, and CO, provide two levels of subtree operations, with CO3 propagating a subtree from a selected par- ent and CO, interchanging subtrees between parents. Given that no theory of crossover selection has emerged in the GA litera- ture, several studies were performed using various combina- tions of the four crossover operators. Throughout those exper- iments the selection from the full set resulted in the best average scores and best-found scores.

The mutation operators take a single individual and modify it in a localized manner. We use the moves specified by Wong and Liu [33 ] as our mutation operators. They are: swapping two adjacent operands, switching a sequence of adjacent operators, and swapping an operator and a neighboring operand. Wong and Liu note that slicing trees are not unique representations because two trees may be distinct in terms of the ordered string of operands and operators in the Polish expression, yet repre- sent the same floorplan. Restricting the annealing process to the domain of normalized [33 ] trees yields a one-to-one mapping between floorplans and slicing trees. This restricted search space is not “biased” [33 ] in terms of representational frequency, i.e., each floorplan represented has a representational frequency of one. While the restriction has the stated effect, bias in the search of a space is not completely determined by the represen- tational frequency. The incremental search operations, i.e., the

Page 6: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

488 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL. IO, NO. 4, APRIL 1991

I I I I

4000 5ooo 6ooo 7000 Score

Fig. 8. Distribution of scores of 10 000 random solutions.

“next state” moves of Wong and Liu and the crossover oper- ators of GAPE specify limited access paths in the search space. For example, in the simulated annealing of Wong and Liu it is not possible for the next state to be an arbitrary element of the search space. The possibilities are severely limited by the avail- able “next state” moves. We contend that for GAPE the bias created by the multiple representations is more than counter- balanced by the reduction in access bias throughout the search space. To support this contention we duplicated experiments configuring GAPE with and without unique representations. In every case, the multiple representation version of GAPE de- rived superior solutions. Since the search strategies are different between GAPE and simulated annealing the above contention does not contradict Wong and Liu’s statement that normalized representations are best for simulated annealing. Thus in the experiments reported in the next section our implementation of simulated annealing uses only normalized representations, while we allow GAPE to use unnormalized representations.

With any minimization problem, such as the floorplan design problem, the scores of the solutions should decrease over time. The score is the value of the objective function, (4). Two sim- ple fitness functions suggest themselves. First, the fitness could be inversely related to the score; this could cause excessive compression of the range of fitnesses. Second, the fitness could be a constant minus the score. The constant must be large enough to ensure all fitnesses are positive (since they are used in the selection process) and not too large (effectively causing compression). If such a constant were optimal initially, it would become a poor choice near equilibria. For these reasons we use a time-varying “normalized” fitness.

We choose our fitness to be a function of ail the scores in the current subpopulation. We have empirically found that ran- domly generated solutions to the floorplan design problem have scores that are “normally distributed,” i.e., have a bell-shaped curve. Fig. 8 shows the distribution of scores of 10 000 ran- domly generated solutions for a problem of size 25 to be dis- cussed in the subsequent sections. For the data in Fig. 8, 95.74% of the solutions live within two standard deviations (SD) of the mean, and 99.93% within four SD’s. (Related evi- dence on normal distribution of scores can be found in [8], [32].) Therefore, we use

( ps - score(x)) + au, fitness(x) = ( 5 ) 2au,

where p, is the mean of the scores, U, is the SD, and a is a small constant parameter. However, for the experiments discussed in the following section we set a = 1. We use clipping, i.e., set- ting the fitness to a very small positive value if it is negative, to ensure that fitness of a solution is positive.

Our current implementation, GAPE, is a sequential simula-

tion of the distributed genetic algorithm with punctuated equi- libria. The system has been developed in C in a UNIX environ- ment on a VAX 11 /780. We are in the process of porting our system to a hypercube machine recently made available to us by the University of Virginia’s Institute for Parallel Computa- tion. To make a comparative study, we also implemented a sim- ulated annealing approach of Wong and Liu [33] in C in a UNIX environment on a VAX 11 /780.

V. EMPIRICAL STUDIES We have performed several experiments to demonstrate that

GAPE is an effective approach. The demonstration takes the form of a comparative study of GAPE and simulated annealing. As mentioned in the introduction simulated annealing was cho- sen for comparison because it is a probabilistic search technique of substantial interest in the research community. In addition, from an experimental point of view, the choice is important because of the documented work on floorplan design using a formulation of the problem that allows direct comparison of the resulting solutions. The comparison will be with regard to the quality of the solutions (average scores and best-found scores) derived, while holding the number of opportunities to create possible solutions nearly constant.

The quality of solution is a better measure than precise com- putation times, for instance, for two reasons. First, the degree to which both GAPE and simulated annealing can be “fine tuned,” in terms of CPU utilization, is enormous and we cannot with our current implementation be “fair” to the simulated an- nealing approach. Second, and more importantly, GAPE admits a natural extension to a parallel processing system. Here “nat- ural” means that one should expect the additional processors to provide ‘‘linear speedup’ ’ over the current sequential simula- tion of GAPE. Evidence of the correctness of this expectation is currently being documented in a version of GAPE imple- mented for the NCUBE and Intel hypercubes. Preliminary ex- periments on these machines indicate that GAPE communica- tion costs are negligible with respect to total computation cost, and that linear speedup is being obtained [4]. We do not foresee such a natural extension for simulated annealing. As noted pre- viously, there are several parallel simulated annealing algo- rithms in the literature [2], [5], [20], [26]; however, these all involve changes in the basic model, whereas GAPE can be par- allelized without change.

The comparison of quality of the resulting solution will be in the context of constant work. We define “work” to be mea- sured in terms of the number of tentative solutions each tech- nique examines in its optimization process. In particular, for the experiments described in the following, GAPE is configured with the following set of parameters: n = 80, E = 16, G = 50, C = 0.5, and M = 0.3. Recall that n is the number of solutions in each subpopulation, E is the number of epochs, G is the num- ber of generations per epoch, C is the crossover rate, and M is the mutation rate. For a GAPE configuration with four subpo- pulations, i.e., N = 4, the above parameters specify the crea- tion of N X E x G = 4 X 16 x 50 = 3200 generations. If we assume, in the most optimistic sense, that each crossover cre- ates a new solution not seen before, C x n = 0.5 x 80 = 40 new solutions are seen per generation. Adding the solutions produced due to mutations (i.e., M X n = 0.3 X 80 = 24) to the above number, we come at a figure of 64 solutions per gen- eration, resulting in 64 x 3200 = 204 800 as the total number of solutions seen by GAPE. (The qualification, “optimistic,” is used due to the phenomenon of stasis, i.e., not all crossovers

Page 7: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

COHOON er al. : ALGORITHMS FOR THE FLOORPLAN DESIGN PROBLEM 489

and mutations result in new solutions, reducing the total number of distinct strings seen.)

With simulated annealing “work” is in the form of moves per temperature change and the number of such changes. For example, 175 temperature changes with 1200 moves allowed in each temperature regime results in 175 x 1200 = 210 000 so- lutions seen. We note that one advantage of the simulated an- nealing formulation is not accounted for in our work measure. The move operators of Wong and Liu allow information from the previous state to be used in calculating the new score with a savings up to possibly 30% of the score computation time [30]. We have yet to derive incremental scoring for the GAPE crossover operators, causing the score of each newly created solution to be calculated completely. Developing an incremen- tal scorer is important, as scoring dominates significantly both mutation and crossover.

In the following we will describe two types of problems. The first type has been specifically fabricated to be “artificial” problems for which the optimal solution is known. This knowl- edge provides an absolute scale against which to measure the scores of the solutions found. The second type is “random” and follows the specifications given by Wong and Liu [33]. For the random instances it is very difficult to know what the opti- mal score is.

A. ArtiJcial Problem Instances

Let A1 and A2 denote two artificial problem instances. A1 has sixteen modules ( m = 16) each of which is a rigid square ( 1 , = U , = 1 ) of unit area, yielding a minimum total area of 16. The wirelength costs are binary (c,, = 0 or 1) with the nonzero costs selected so that the minimum wirelength of 48 is obtained when the modules are arranged in a 4 by 4 matrix. This means that the cost between pairs of modules having unit Man- hattan distance between their centers, i.e., horizontal and ver- tical neighbors, is set to 1 and all other costs are set to 0. Thus the optimal overall score is the sum of the minimum area and the minimum number of unit connections in the grid, 16 + 48 = 64.

For the runs on A1 , GAPE uses a mesh configuration with N = 4, i.e., each subpopulation is able to “communicate” during the interepoch transition with two other subpopulations. Each initial subpopulation is selected by creating n “random” solu- tions, i.e., strings representing valid Polish expressions of 16 operands. The other parameters are as given at the beginning of this section.

The simulated annealing runs of A1 also use the parameters given above, but we further specify that the annealing schedule is given by T, + = 6 * TI , with 6 = 0.973. The initial temper- ature was determined by making 1000 moves starting from a randomly generated solution, computing the average uphill cost, and setting the acceptance probability to 0.95 for that average uphill cost. The initial state is a randomly selected normalized solution.

Since each run of either GAPE or simulated annealing is probabilistic, ten runs, each with a distinct “random number seed,” are made by each system on Al. For each run the best- found solution is saved and the scores associated with those solutions are reported in the rows marked 1 , 2, * 10 in Table I with the best score found overall given in row 1 . The average of the ten scores is reported as s.

Problem instance A2 has twenty modules ( m = 20) each of which is rigid ( 1 , = U,), but not necessarily a square, i.e., U ,

10

Fig. 9. Optimal floorplan for problem A2.

TABLE I PERFORMANCE COMPARISON ON PROBLEMS WITH

KNOWN OPTIMAL SOLUTIONS

Problem

A1 (16 Modules) A2 (20 Modules)

Trial GAPE SA

1 2 3 4 5 6 7 8 9

S

72 94 80 98 80 99 83 100 89 105 91 106 94 107 94 109 96 109 91 112 87.6 103.9

GAPE SA

166 154 166 164 167 176 183 178 184 186 184 190 187 194 193 196 199 196 202 198 183.3 183.5

may not be 1 . The U are chosen in conjunction with the binary costs so that the optimal placement is as shown in Fig. 9. For example, us = 1 , cg4 = 1 , cg7 = 1 , cgy = 1, c8, = 1 , and cgj = 0 for the remainingj; also, uy = 1 /3 = hy/wy, cy4 = 1 , cyg = 1 , cy, I I = 1, cy, 12 = 1 , and cyj = 0 for the remainingj. Thus for A2 the optimal score is 42 (area) + 83 (wirelength) = 125.

The configuration for GAPE and simulated annealing are the same as for A1 , except that for simulated annealing 6 = 0.970. The results for ten runs are also shown in Table I .

In interpreting Table I , it is clear that GAPE performed much better on problem A1 in both the best-found and the average- best, s, senses. On A2 simulated annealing found two solutions better than any found by GAPE. However, we make two ob- servations. First, the average best is essentially identical for the two sets of runs. Second, the spread of the best-found scores over the sets of runs is slightly smaller for GAPE. In summary, GAPE performed much better on A1 , but marginally worse on A2. Note: the data columns in both Tables I and I1 are indepen- dently sorted.

B. Random Problem Instances Let R1, R2, and R3 denote three instances, randomly selected

using the following characteristics. All instances have twenty- five modules ( m = 25). The area (Ai) of each module is se- lected randomly from a uniform distribution over [ 1 , 201. The cost matrices have random entries selected from a uniform dis- tribution over [0, 11. For R1 and R2, the modules have u i = 3, while for R,, U , is randomly selected from a uniform distribu- tion over [ 1 , 41. For all three instances the modules are speci- fied to be flexible by setting li = U;’, i.e., by creating a range of allowable aspect ratios for the modules. In all cases the mod-

Page 8: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

490 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL. IO, NO. 4, APRIL 1991

TABLE I1 PERFORMANCE COMPARISON

Problem Instances with 25 Modules

R1 R2 R3

Trial GAPE SA GAPE SA GAPE SA

e S

2880 3083 3371 2932 3113 3391 2939 3132 3409 2961 3135 3419 2965 3147 3442 2974 3147 3453 2984 3151 3463 2985 3165 3470 2990 3174 3518 3031 3191 3581 2964.6 3144.3 3452.2

3563 3594 3619 3623 3639 3660 3675 3688 3719 3736 3652.0

2956 3129 2980 3130 3034 3147 3043 3161 3063 3166 3085 3206 3093 3219 3102 3220 3137 3231 3139 3256 3063.7 3186.9

ules have free orientations. Since the data are random, we do not know the optimal costs.

For these three problem instances GAPE is in a hypercube configuration having N = 8, i.e., a regular cube, and each sub- population communicates with three other subpopulations. All the other GAPE parameters are the same as above. On these problems, simulated annealing runs for 350 temperature changes with 1200 moves allowed in each temperature regime in order to make the “work” conformable. Further, 6 = 0.9874, 0.9840, and 0.9827 for R I , R2, and R3, respectively. Finally, for each of the three random problem instances, GAPE and sim- ulated annealing run ten times, with the results reported in Ta- ble 11.

In interpreting Table 11, it is clear that GAPE performs sub- stantially better than simulated annealing. In fact, in each set of ten runs all but one or two of the GAPE runs yields a solution having a score that is better than any solution found in simulated annealing runs.

In order to explore the effects of utilizing more computational resources, consider the results from five additional runs of each system on each problem, R1, R2, and R3. GAPE uses more resources by being configured as a five-dimensional hypercube, i.e., N = 32, having each subpopulation communicating with 5 other subpopulations. Simulated annealing increases its al- lowable work by having 4800 moves per temperature regime. The resulting 3’s are shown in Table 111. Again, GAPE per- forms better than simulated annealing. Note also, that as one expects, the increased resources helps both systems relative to the original runs, but that the simulated annealing with addi- tional resources still did not perform as well as the original runs of GAPE.

To provide some indication of the dynamic behavior of GAPE, beyond the quality of derived solutions we display Fig. 10. The plot depicts the average and the best-found perfor- mance of one subpopulation of the hypercube. The average computed is the average score of the solutions forming a sub- population after a given generation has been completed. The best score is the score of the best solution produced in that gen- eration. We note a steep fall in the first four epochs, and a local search in the later epochs. Also of interest is the fact that the curves are not monotonically decreasing. The often found in- crease in the average score and the best score is the result of two factors: catastrophic mixing during the communication phase of GAPE, and the creation and survivial of solutions with

* O r e 4 ” 1 3500 L I

-0 , 200 400 600 800 Generation Number

(a)

-0 200 400 600 800 Generation Number

(b)

Fig. 10. Behavior of one subpopulation of an 8-node hypercube. (a) Per- formance based on averages. (b) Performance on the best-generated solu- tions.

TABLE I11 PROBLEM COMPARISONS WHEN GIVEN

ADDITIONAL COMPUTATIONAL RESOURCES

- S

GAPE SA Problem

R1 2905.0 3079.3 R2 3383.4 3600.6 R3 3028.7 3090.7

relatively “bad” scores. We contend that these factors are nec- essary to avoid getting trapped in local minima. The key param- eter affecting the steepness of the curves is a in the fitness func- tion, ( 5 ) .

VI. CONCLUSIONS AND EXTENSIONS

We have shown how distributed genetic algorithms can be used to solve the floorplan design problem. We have also em- pirically demonstrated the efficacy of our method, and com- pared it with the SA approach. Given approximately the same number of strings to be examined, our method performed con- sistently better than the simulated annealing approach in almost all the problem instances tried, both in terms of the average cost of the solutions found and the best-found solution. Our method can be easily implemented on a local memory, message passing distributed computer.

GAPE is characterized by many parameters. We are currently studying the detailed dynamics of GAPE to understand the spe- cific effects of these parameters. The scaling factor, a, of (5) determines the importance of relative differences in the scores of members forming a subpopulation. In some of our prelimi- nary experiments we have observed that lower values of a pro-

Page 9: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

COHOON et al. : ALGORITHMS FOR THE FLOORPLAN DESIGN PROBLEM 49 I

duce solutions (of relatively inferior quality) faster. We conjec- ture that CY plays a role equivalent to that of temperature in simulated annealing [ 191. Therefore, various schedules can be tried on C Y . Similarly, the mutation rate can be varied over time.

The objective function in (4) has two distinct components- area and wirelength-to be minimized which can be tackled by two separate sets of communicating subpopulations, one set emphasizing the area term and another emphasizing the wire- length term (by using different vlaues of A). Similarly, the area and the wirelength terms can be given dynamically, changing relative importance over different epochs.

REFERENCES

A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms. Reading, MA: Addison-Wes- ley, 1974. P. Banerjee and M. Jones, “A parallel simulated annealing al- gorithm for standard cell placement on a hypercube computer,” in Proc. IEEE Int. Conf. on Computer-Aided Design, Santa Clara,

A. Bethke, “Genetic algorithms as function optimizers,” Ph.D. disseratation. Dep. Comput. Commun. Sci., Univ. Michigan, 1981. F. Z. Brill, D. E. Brown, and W. N. Martin, Genetic Algorithms for Feature Selection for Counterpropogation Networks. Char- lottesville, VA: Instute of Parallel Computation, University of Virginia, 1990, pp. 90-105. A. Casotto, R. Romeo, and A. Sangiovanni-Vincentelli, “A par- allel simulated annealing algorithm for the placement of macro- cells,” IEEE Trans. Computer-Aided Design, vol. CAD-6, pp. 838-847, Sept. 1987. J . P. Cohoon, S. U. Hegde, W . N. Martin, and D. Richards, “Punctuated equilibria: A parallel genetic algorithm,” in Proc. Second Int. Con$ Genetic Algorithms and Their Applications, Cambridge, MA, 1987, pp. 148-154. J . P. Cohoon and W. D. Paris, “Genetic placement,” IEEE Trans. Computer-Aided Design, vol. CAD-6, pp. 956-964, Nov. 1987. J. P. Cohoon and M. T. Roberson, Jump Starting Simulated An- nealing, Dept. Comput. Sci., Univ. of Virginia, 1987. L. Davis, “Job shop scheduling with genetic algorithms,” in Proc. Int. Con& on Genetic Algorithms and Their Applications, Pittsburgh, PA, 1985, pp. 136-140. N. Eldredge and S. J. Gould, “Punctuated equilibria: An alter- native to phyletic gradualism,” in Models of Paleobiology, T. J. M. Schopf, Ed. San Francisco: CA, Freeman, Cooper and Co.,

N. Eldredge, Time Frames. New York: Simon and Schuster, 1985. M. P. Fourman, “Comparison of symbolic layout using genetic algorithms,” in Proc. Int. Conf. on Genetic Algorithms and Their Applications, Pittsburgh, PA, 1985, pp. 141-150. D. E. Goldberg, “Computer-aided gas pipeline opertion using genetic algorithms and learning rules,” Ph.D. dissertation Dept. Civil Eng., Univ. Michigan, 1983. D. E. Goldberg and R. Lingle, Jr., “Alleles, loci, and the trav- eling salesperson problem,” in Proc. Int. Conf. on Genetic Al- gorithms and Their Appications, Pittsburgh, PA, 1985, pp. 154- 159. J . J. Grefenstette, R. Gopal, B. J . Rosmaita, and D. Van Gucht, “Genetic algorithms for the traveling salesperson problem,” in Proc. Int. Conf. on Genetic Algorithms and Their Applications, Pittsburgh, PA, 1985, pp. 160-168. J. H. Holland, Adaptation in Natural and Artificial Systems. Ann Arbor, MI: University of Michigan, 1975. J. H. Holland, K. J . Holyoak, R. E. Nisbett, and P. R. Thagard, Induction: Processes of Inference, Learning, and Discovery. Cambridge, MA: MIT, 1986. P. Jog and D. Van Gucht, “Parallelisation of probabilistic se- quential search algorithms,” in Proc. Second Int. Conf. on Ge- netic Algorithms and Their Applications, Boston, MA, 1987, pp.

NOV. 1986, pp. 34-37.

1972, pp. 82-115.

170- 176.

[19] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi, “Optimization by simulated annealing,” Sci. 220, pp. 671-680, May 13, 1983.

[20] S. Kravitz and R. Rutenbar, “Placement by simulated annealing on a multiprocessor,” IEEE Trans. Computer-Aided Design, vol.

[21] D. P. LaPotin and S. W. Director, “Mason: A global footplan- ning tool,” in Proc. IEEE Int. Conf. on Computer-Aided Design, Santa Clara, CA, 1985, pp. 143-145.

[22] R. H. J. M. Otten, “Automatic floorplan design,” in Proc. 19th ACM-IEEE Design Automation Conf., Minneapolis, MN, 1982,

[23] -, “Efficient floorplan optimization,” in Proc. IEEE Int. Conf. on Computer Design, Port Chester, NY, 1983, pp. 499-502.

[24] R. H. J. M. Otten and L. P. P. P. van Ginneken, “Floorplan design using simulated annealing,” in Proc. IEEE Int. Conf. on Computer-Aided Design, Santa Clara, CA, 1984, pp. 96-98.

[25] C. B. Pettey, M. R. Leuze, and J . J . Grefenstette, “A parallel genetic algorithm,” in Proc. Second Int. Conf. on Genetic Al- gorithms and Their Applications. Boston, MA, 1987, pp. 155- 161.

[26] J. B. Rose, W. M. Snelgrove, and 2. G. Vranesic, “Parallel standard cell placement algorithms with quality equivalent to simulated annealing,” IEEE Trans. Computer-Aided Design, vol. CAD-7, pp. 387-396, Mar. 1988.

[27] C. Sechen and A. Sangiovanni-Vincentelli,” The Timbenvolf placement and routing package,” IEEE J. Solid-state Circuits,

[28] C. L. Seitz, “The cosmic cube,” Commun. ACM, vol. 28, no.

[29] D. Smith, “Bin packing with adaptive search,” in Proc. Int. Con$ on Genetic Algorithms and Their Applications, Pittsburgh,

[30] L. Stockmeyer, “Optimal orientations of cells in slicing floorplan designs,” Inform. Contr., vol. 59, pp. 91-101, 1983.

[31] R. Tanese, “Parallel genetic algorithm for a hypercube,” in Proc. Second Int. Conf. on Genetic Algorithms and Their Applications, Boston, MA, 1987, pp. 177-183.

[32] S. R. White, “Concepts of scale in simulated annealing,” in Proc. IEEE Int. Conf. on Computer Design: VLSI in Computer, Port Chester, NY, 1984, pp. 646-651.

[33] D. F. Wong and C. L. Liu, “A new algorithm for floorplan de- sign,” in Proc. 23rd ACM-IEEE Design Automation Conf., Las Vegas, NV, 1986, pp. 101-107.

[34] D. F. Wong, H. W. Leong, and C. L. Liu, Simulated Annealing for VLSI Design.

[35] L. S. Woo, C. K. Wong, and D. T . Tang, “Pioneer: A macro- based floorplanning design system,” VLSI Systems Design, pp.

CAD-4, pp. 534-549, July 1987.

pp. 261-267.

vol. SC-20, pp. 510-522, 1985.

1, pp. 22-33, 1985.

PA, 1985, pp. 202-206.

Boston, MA: Kluwer Academic, 1988.

32-43, Aug. 1986. [36] D. F. Wong, personal communication.

James P. Cohoon (M’82) received the B.S. degree in mathematics from Ramapo College of New Jersey, Mahwah, NJ in 1975, the M.S. degree in computer science from Pennsylvania State University, State College, PA in 1978, and the Ph.D. degree in computer science from the University of Minnesota, Minneapolis, MN in 1982.

In 1983, he joined the Department of Com- puter Science at the University of Virginia, Charlottesville, VA. where he is currently an

Associate Professor. He is also a member of the Institute for Parallel Computation and the Center for Semicustom Integrated Systems. His primary research interests are in various aspects of computer-aided de- sign, with particular emphasis on circuit layout. Other research inter- ests include computational geometry, parallel algorithms, and heuristic search.

Dr. Cohoon is a member of the ACM, SIGACT, SIGDA, DATC, and Upsilon Pi Epsilon. He has served on such programming commit- tees as the IEEE International Conference on Computer-Aided Design and the International Workshop on Layout Synthesis. He is a member of the SIGDA Advisory Board and administers their travel and library grant programs.

Page 10: Distributed genetic algorithms for the floorplan design ...€¦ · Distributed Genetic Algorithms for the Floorplan Design Problem James P. Cohoon, Member, IEEE, Shailesh U. Hegde,

492 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL. 10, NO. 4, APRIL 1991

Shailesh U. Hegde (M’OO) received the B.S. degree in computer science and engineering from the Indian Institute of Technology at Bombay, in 1986, the M.S. degree in computer science from the University of Virginia in 1988, and the M.S. degree in computation and neural systems from the California Institute of Tech- nology in 1989.

He is currently with Tanner Research, Inc., working on VLSI CAD tools and applications of neural networks. His areas of interest in-

clude design automation, neural networks, genetic algorithms and combinatorial optimization. He is the author of seven publications. Mr. Hegde has been the winner of several awards including the National Talent Search Scholarship for 1980- 1986, IEEE Vincent Bendix Award for 1984-1985, ACM Master’s Degree Grant instituted by the Wash- ington DC chapter (1987) and Ralph M. Parsons Foundation Fellow- ship for 1988-1989. He is a member of AAAI, ACM, and the Inter- national Neural Network Society.

Worthy N. Martin (S’80-M’81) received the B.A. degree in mathematics, the M.A. degree in computer science, and the Ph.D. degree in computer science, all from the University of Texas at Austin.

He is currently an Associate Professor of Computer Science at the University of Vir- ginia, having joined the faculty in 1982. He is also a member of the Institute for Parallel Com- putation at the University of Virginia. His re- search interests include dyhamic scene analy-

sis, probabilistic problem solving methods (e.g., genetic algorithms), and applications of computer vision (e.g., user interfaces for the hand- icapped, and computer-aided analysis of imagery from archaeological artifacts). Among his published work is the book, Motion Understand- ing: Robot and Human Vision, co-edited with J. K. Agganval, (1988).

Dr. Martin is a member of the Association for Computing Machinery and the American Association for Artificial Intelligence.

Dana S. Richards received the M.S. degree in computer science from the University of Vir- ginia in 1976, and the Ph.D. degree in com- puter science from the University of Illinois in 1984.

For 5 years, he taught in the Department of Computer and Information Science at Indiana University-Purdue University at Indianapolis as a Lecturer. In 1984 he joined the University of Virginia as an Assistant Professor of Computer Science. His research interests are in the design

and analysis of algorithms, with an emphasis on combinational appli- cations and parallel implementations. Particular problems include graph algorithms, information dissemination in networks, parallel sorting, biological sequence analysis, Steiner trees, and new paradigms for combinatorial optimization.