In the domain of facility and factory layout planning, the di cult problem of. ®nding a maximum ... The shop ¯ oor design depends heavily on the anticipated .... graph contains vertices of less than degree 3 (in the case of K3) or adjacent vertices of ... EdgeCutList is organized as a heap which can be updated in O(log n) time.
int. j. prod. res., 1999, vol. 37, no. 2, 263± 283
E cient facility layout planning in a maximally planar graph model E. PESCH² *, F. GLOVER ³ , T. BARTSCH§, F. SALEWSKI§, and I. OSMAN¶ In the domain of facility and factory layout planning, the di cult problem of ® nding a maximum weight planar subgraph of an edge-weighted complete graph has many important practical applications. We introduce new neighbourhood structures to generate an initial solution and yield feasible modi® cations of a current layout. We compare our constructive algorithm to a couple of approaches from the literature in order to receive an initial feasible solution. Moreover, a new implementation of Leung’s greedy heuristic outperforms all other layout approximation algorithms in quality. Computational results demonstrate the performance characteristics.
1.
Introduction and backgroun d
Optimal design of the physical layout of a manufacturing system is a key issue that must be confronted in the early stages of a system design. Facilities or complex ¯ exible machines of a production system are to be laid out on a planar surface, e.g. a factory ¯ oor. Good solutions are basic to an e ective utilization of the system. The most frequently encountered layout types in automated manufacturing systems are circular (directed and undirected) machine layout, linear single or double row machine layout, and cluster machine layout (cf. Kouvelis and Kim 1992, Blazewicz et al. 1992, Heragu and Kusiak 1988, Hassan 1994). Here we discuss the cluster machine layout. A layout plan must encompass a variety of demands arising from requirements of routing and scheduling, inventory, product, communication, physical factory conditions or cell sizes for manufacturing cells in a ¯ exible system. The layout design objective can be a ected by numerous factors, e.g. inaccuracy of the input data, large planning horizons, short product life cycles and changing processing technologies. The increased need in modern manufacturing environments to solve facility or plant layout problems derives from the increased use of ¯ exible machines. Such machines are capable of handling many di erent types of operations on diverse products. The processed material must follow di erent processing routes through Revision received January 1998. ² Institute of Economics and Business Administration, BWL 3, University Bonn, Adenauerallee 24-42, D-53113 Bonn, Germany. ³ US West Chair in System Science, College of Business and Administration and Graduate School of Business Administration, University of Colorado at Boulder, Campus Box 419, Boulder, Colorado 80309-0419, USA. § Faculty of Economics and Business Administration, University Kiel, Olshausenstrasse 40, D-24118 Kiel, Germany. ¶ Institute of Mathematics and Statistics, University of Kent at Canterbury, Kent CT2 7NF, UK. * To whom correspondence should be addressed. 0020± 7543/99 $12. 00
Ñ
1999 Taylor & Francis Ltd.
264
E. Pesch et al.
the manufacturing shop. The shop ¯ oor design depends heavily on the anticipated product ¯ ow and associated tool requirements. The design of the facility layout has cost implications for the maintenance and operation of the material handling system, load balancing, production delays, work-in-process, makespan, and many other objectives. For instance, the cost of material ¯ ow is a ected not only by the quantity of material exchanged between any two machines, but also by the relative location of these machines. Hence, the question arises of determining the machines or manufacturing cells that should be placed adjacent to each other in a layout. Desired adjacency can be expressed by an index, which may be the function of predicted ¯ ow between machines or cells, technological constraints, etc. Recent reviews of the facility layout literature are given in Kusiak and Heragu (1987), and Hassan (1994). The facility layout problem can be treated as a graph theoretical problem. Machines or manufacturing cells are represented by the vertices of a complete edge-weighted graph, where the weight on an edge indicates the desirability of placing the corresponding machine cells adjacent to each other. Negative weights express relationships where the manufacturing cells or machines should be separated, as in the presence of environmental incompatibilities, e.g. noise, vibration, pollution, etc. Positive weights tend to be related to material ¯ ows in the facility. Physical conditions, e.g. material ¯ ow lines, gas or air lines, lighting ® xtures and other equipment imply that not all adjacencies of the complete graph can be realized in the layout. Crossed communication lines or supply lines are unacceptable. The goal is then to locate machines with a high positive a nity or relationship next to each other, and machines with a negative relationship separated from one another. Hence, the problem of determining which machine cells should be adjacent is equivalent to ® nding a maximum planar subgraph of the given complete graph such that the weight of all the edges in the subgraph is maximal. In this step of the problemsolving process, the relative position of the manufacturing cells or machines is the considered primary objective, while their space requirements are ignored (Armour and Bu a 1963). The resultant outcome, the maximally planar graph of maximum weight, then has to be converted into a layout design of rectangular blocks which yield all rectangular-shaped manufacturing cells or machine places. As the ® nal step, the block layout should be converted into a detailed layout that shows material handling aisles and interface points. In this paper we focus on the second problem, that of creating a maximally planar graph of maximum weight. Figure 1 shows a layout design of manufacturing cells or machine places, and the associated maximally planar graph with vertices a, b, c, d, e, f , g, h. Edge weights are neglected in this ® gure. For the remainder of this section assume Kn denotes the complete graph on n vertices. We let wij denote the weight of the edge ij connecting vertices i and j. The weight w ( G) of a subgraph G is de® ned to be the sum of the weights of its edges. A graph is said to be planar if it can be drawn in a plane, using distinct points for vertices and simple curves for edges in such a way that any two such curves do not intersect anywhere other than their endpoints. The representation of G in the plane is called a topological planar graph, however, we will identify a planar graph with its topological representation and speak only of a planar graph. A maximally planar graph is a graph G that contains a maximum number of edges subject to the condition of being planar, i.e. the addition of any new edge connecting vertices i and j in G would result in a non-planar graph. (The condition of being maximal is equivalent to the condition of being maximum in this setting. ) We seek a subgraph G* of Kn that
Maximally planar graph model
Figure 1.
265
A layout of manufacturing cells and the associated maximally planar graph.
is maximally planar and yields w ( G*) max {w ( G) G is maximally planar}. The maximum weight planar graph problem is NP-complete (Garey and Johnson 1979) except for the case where all the edge weights are equal, which is solvable in linear time. Foulds and Robinson (1976), and Foulds (1983) have developed optimal algorithms which maintain the maximum weight condition and introduce a planarity check at each step. JuÈnger and Mutzel (1992, 1996) have attacked the problem from a polyhedral standpoint and proved that the number of edges in G is facet bounding. Edge weights are non-negative in most applications (e.g. in layout and space planning problems), but we do not impose non-negativity as a necessary assumption. Throughout the following we reserve the symbol G to refer to a maximally planar graph. The outline of this paper is as follows. In the next section we de® ne the basic neighbourhood structure, the edge-cut move, and describe its appropriate data structure for an e cient implementation. More complex neighbourhoods are described in § 3 and 4; their data structures leading to an e cient implementation can also be found in § 4. The generic constructive algorithm of § 5 is also the body of many of the selected procedures from the literature, the ideas of which are brie¯ y reviewed in § 6. Computational results ® nally show the power of our implementation. 2.
Fundamental results
A representation of a planar graph in the plane divides the plane into regions bounded by the edges and the vertices connecting the edges, the latter set is called the boundary. If the interior of a region (not considering its boundary) does not contain any vertex or edge, then the region is called a face. Hence, there is one in® nite face, the outer one. Two faces are adjacent if their boundaries have at least one edge in common (and not only common vertices).
266
E. Pesch et al.
We introduce the following preliminary conventions.
A face of a maximally planar graph will be denoted by a triple x, y, z where x, y and z are the vertices of the face, and xy, yz and zx are its edges. De® ne a move a : G G transforming a given graph G into a new one G to be legitimate if G is also a maximally planar graph. Denote the weight of a move a by w ( a ) [which equals w ( G ) w ( G) if the move a transforms G into G ]. For a given edge ij of a maximally planar graph, let Cut i, j denote the unique edge pq such that i, p, j and i, q, j are faces of the maximally planar graph. De® ne an edge-cut to be a move that replaces a given edge ij of G with the edge pq such that pq Cut i, j . Denote the operation that produces an edge-cut move by EdgeCut i, j ; hence w [EdgeCut i, j ] w p, q w i , j for pq Cut i, j .
There are only two cases of maximally planar graphs consisting of three or four vertices, both of which are unique. These are the complete graphs K3 and K4 , respectively. It is an immediate fact that these are the only cases where a maximally planar graph contains vertices of less than degree 3 (in the case of K3 ) or adjacent vertices of degree 3 (in the case of K4). Any maximally planar graph containing more than four vertices cannot have two adjacent vertices of degree 3, and any degree 3 vertex belongs to a subgraph isomorphic to K4. If Cut i, j is already an edge of G, such an edge exchange move would produce only duplicate edges which we are not going to consider. So, there is no legitimate move EdgeCut i , j where both edges, the old one ij and the new one pq Cut i, j belong to a subgraph of G isomorphic to a K4 . Now we can restrict the de® nition of a legitimate move EdgeCut i, j to only those cases where Cut i, j is not an edge of G. As a consequence, legitimate moves cannot touch the `interior’ of a K4 subgraph, which gives us that the move EdgeCut i, j is legitimate i i, j, p, q are not vertices of a subgraph isomorphic to K4. In particular, i and j must not have degree 3 in G. So we may assume that G has more than four vertices. An appropriate data structure in order to describe and implement a sequence of moves will be in the form of a list, e.g. an EdgeCutList, that contains one row for each edge ij of G. A row consists of the three entries, edge ij, Cut i, j , w[EdgeCut i, j ]. These entries will be called, respectively, the drop edge, the add edge and the move weight. By reference to the entries of the EdgeCutList, let pq Cut i, j , and let vertices r, s, t, u be given by ir Cut p, j , is Cut q, j , tj Cut i, q , uj Cut i, p , if these edge-cuts are legitimate, see ® gure 2. A legitimate move, EdgeCut i, j , a ects ® ve or six rows of the EdgeCutList, producing updated entries whose elements are identi® ed as follows: every row contains the same drop edge in the new list as in the original list except the row for pq, which replaces the original row for ij (reversing ij and pq as the drop and add edges). The entries in table 1 below are the entries after the move EdgeCut i, j . The entries in the EdgeCutList before the move are shown in brackets. In the ® rst four rows of table 1, the add edges must not exist in G. Otherwise, the edge-cut move described in that row is not legitimate, which is indicated by ` ’. It depends on G (the existing edges) if (at most) one of the last four rows of table 1 below leads to a changed add edge entry after the move EdgeCut i, j . Figure 2(a) contains the case where precisely ® ve rows of the
Maximally planar graph model
(a)
(b)
(c) Figure 2. The edge-cut move.
267
268
E. Pesch et al. Drop edge
Add edge
Move weight
For For For For For
row row row row row
pj: qj: iq: ip: pq:
jp ( jp) jq ( jq) iq ( iq) ip ( ip) pq ( ij)
rq ( ri) sp ( si) tp ( tj) uq ( uj) ij ( pq)
wjp wjq wiq wip wpq
For For For For
row row row row
ur : st: ut : rs:
ur st ut rs
( ur) ( st) ( ut) ( rs)
( pq) ( pq) ij ( ) ij ( )
0 ( wur 0 ( wst wut wrs
wrq ( wjp wsp ( wjq wtp ( wiq wuq ( wip wij ( wij
wri ) wsi ) wtj) wuj ) wpq )
wpq ) wpq)
wij (0) wij (0)
Table 1. Updating of the EdgeCutList.
EdgeCutList change, while ® gure 2(b) and (c) leads to six row changes in the EdgeCutList. The observation that there are at most six rows in the list a ected by a move establishes that the available edge-cut moves and their move weights can be identi® ed highly e ciently, in constant time, from one iteration to another. The most improving edge-cut move can thus be performed in O (log n) time, where n is the number of vertices in G. Here we make use of the fact that the number of edges, i.e. also the number of legitimate moves, in a planar graph is O ( n). Furthermore, the EdgeCutList is organized as a heap which can be updated in O (log n) time. Also, because removing a vertex of 3 degrees still yields a maximum planar graph, we may consider the use of edge-cut moves as a useful supplement to the extract± insert moves, de® ned as follows. Extract a 3 degree vertex by deleting its incident edges in G, and insert the vertex in any face of the resulting graph other than the face created by the extraction, adding the three edges to join it to the vertices of this face. Every maximally planar graph contains at least one vertex of degree 3, 4 or 5. However, we subsequently identify an algorithm which generates maximally planar graphs that contain no vertices of degree 3 or no vertices of degree 4. The extract± insert moves cannot operate on such graphs, and hence the edge-cut moves are relevant either as a replacement or supplement to extract± insert moves in order to provide legitimate transformations of graphs of these types. This is analogous to the travelling salesman case, where the 2-opt neighbourhood and its associated moves are elementary and connected, i.e. from any travelling salesman tour there is a sequence of 2-opt moves that leads to an optimal solution. Similarly, while extract± insert moves do not de® ne a neighbourhood which is connected, the edgecut moves do. The edge-cut move is equivalent to the diagonal swap move of Boswell (1991 ), Al-Hakim (1991), or Foulds and Robinson (1976). It has been shown that for any maximally planar graph there is a sequence of edge-cut moves leading to an optimal solution, i.e. a maximum planar graph of maximum weight (Ning 1987, Eggleton and Al-Hakim 1991). However, there can exist an arbitrary number of moves in order to transform a locally optimal solution into a slightly di erent one (Boswell 1991). This result motivates us to seek more advanced moves. Construction algorithms also can be used to generate graphs that are candidates for a maximum weight maximally planar graph. However, we will focus on transformation approaches rather than construction approaches, using construction approaches primarily to provide diverse starting structures.
269
Maximally planar graph model h a b
1 1
c d e f
g
1 1 1
a
1 1 1 1
e
d
1
1
1 1
1 1 1
f
1 1 1
c
1 1 1
g
1 1
1 1
1
d
e
f
1
1
1
b
1 1
1
Table 2. (a) First instance of Star (G).
g a b c
1 1
b
c
1
1 1
1
d
1
e f
1
g
1
1 1
a
1 1 1 1
1 1 1
1 1
1 1 1 1
h
1 1 1 1 1
Table 2. (b) Second instance of Star (G).
We propose additional more advanced moves that may be used to supplement the edge-cut moves, and then elaborate on how both the simpler and more advanced moves can be implemented e ectively.
3.
Advanced moves
For a given vertex i, let Star ( i) denote the list of vertices j such that ij is an edge of G. We say Star ( i) is (facially) ordered if for each two consecutive vertices r and s in this list (. . . , r, s, . . . ), the triple i, r, s is a face of G, where by convention we say that the last vertex of Star ( i) immediately precedes the ® rst. Denote the collection consisting of Star ( i) for each vertex i of G by Star ( G). We call Star ( G) ordered if every Star ( i) is ordered. In addition, we call Star ( G) uniformly ordered if every Star ( i) is ordered by assigning a common orientation (e.g. clockwise) to the sequence in which the faces are encountered by this ordering. That means Star ( G) is uniformly ordered if there is a sequence of the faces of G such that the order of every Star ( i) is a subsequence. In other words, all orders Star ( i) are induced by Star ( G). It can be shown by induction that Star ( G) always exists. Consider the maximally planar graph G of ® gure 1. Then the following matrices of table 2(a) and (b) are two instances of a Star ( G). The head row describes the order of Star ( G) and the sequence of 1-entries in row i corresponds to Star ( i). One edge in G uniquely determines two faces, and each face in G is uniquely determined by two of its bounding edges. Two edges de® ning a face of G are called partners. We call vertices r and s consecutive in Star ( i) if one immediately precedes the other. Assume Star ( i) is ordered. Then edges ir and is are partners if and only if r and s are consecutive in Star ( i).
270
Figure 3.
E. Pesch et al.
A maximally planar graph with only one legitimate partner-rotation move for face ( i, q, r, s, t).
Hereafter we assume that Star ( G) is always uniformly ordered. Write h Before i, k and k After i, h if h immediately precedes k in Star ( i) [maintaining the convention that the last vertex of the star immediately precedes the ® rst]. Let r Before i, s . Then, if degree ( i) is at least 4, the operation of deleting the partner edges ir and is yields a face i , q, r, s, t , where q and t are identi® ed by q Before i, r and t After i, s . By means of the foregoing de® nition and the associated data structure embodied in a uniformly ordered Star ( G), we will show it is possible to implement a set of advanced moves for transforming G into a new graph G*, which also is maximally planar. In particular, for each such advanced move, we will identify a set of e cient rules (algorithms) that correspondingly transform Star ( G) into Star ( G*), where Star ( G*) is likewise uniformly ordered. Moreover, we will show this data structure also permits these advanced moves to be coordinated with both the edge-cut moves and extract± insert moves, with similar e ciencies. These advanced moves in fact encompass both the edge-cut and extract± insert moves as simple special cases. 3.1. Form of advanced moves 3.1.1. Partner-rotation move For a vertex i of degree at least 4, delete any two partner edges ir and is, where r Before i, s . Consider the resulting face i, q, r, s, t , and add the pair of edges that join any vertex other than i to the two non-adjacent vertices of the face. Hence, this adds qs and qt, or adds ri and rt, etc. This move is only legitimate if none of the two edges added exists in the graph. Each of these four possible moves, given i, r and s, may be viewed as rotating the partners ir and is to yield a corresponding pair of partner edges emanating from one of the other vertices of the pentagonal face. Figure 3 shows an example where, e.g. face i, q, r, s, t allows only one legitimate partner-rotation move joining vertices q and i to s. Observe, after dropping both
Maximally planar graph model
271
edges si and ri, the former is introduced again. Hence, the only partner-rotation move is simply an edge-cut with qs Cut ( ri). 3.1.2. Mulitlevel extract± insert± replacement move We are considering operations which focus on those vertices in the graph which have at most degree 5. Hence, from a complexity point of view, there are three levels A, B and C, indicating whether the vertex under consideration has degree 3, 4 or 5, respectively, in G. Extraction operation. For a given vertex x of degree 3, 4 or 5, extract x by deleting all the edges of Star ( x). Level A extraction: no further operation. Level B extraction: denote Star ( x) by ( q, r, s, t) [in ordered form]. Add edge qs or rt. (If one of the edges qs, rt already exists in G then add the other one. ) Level C extraction: denote Star ( x) by ( q, r, s, t, u). Add a pair of partner edges from any of these vertices to any two non-adjacent vertices. (This yields at least two and at most ® ve possibilities consisting of adding qs and qt, or rt and ru, etc. without doubling any of the existing edges in G. If one of the partner edges already exists, e.g. qs, then only three possibilities remain; if two of the partner edges already occur in G, e.g. qs and su, then only two possibilities remain, see ® gure 4. ) Insert± replacement operation. Start with a graph produced by an extraction operation. Let x be the extracted vertex. Level A insert± replacement: select any face that has not been newly created by the extraction, and insert vertex x by connecting it by an edge to each vertex of the face. Level B insert± replacement: select any edge ij of the graph other than an edge newly added by the extraction operation. Replace this edge by connecting vertex x by an edge to each of the vertices i, j, p, q, where pq Cut i, j . Level C insert± replacement: select any pair of partner edges ir and is. Replace this pair of edges by connecting x to each of the vertices i, q, r, s, t, where q Before ( i, r) and t After i, s [relative to Star ( i)].
The following results and observations identify the properties of the preceding moves. A partner-rotation move is legitimate if neither of its added edges duplicates an edge of G except for one of the deleted edges. (The latter duplication reintroduces the edge previously deleted, resulting in no net change for that edge. ) Each of the two ways of duplicating a deleted edge (reintroducing ir as a result of adding the pair ri and rt, or reintroducing an edge is as a result of adding the pair si and sq) yields a simple edge-cut move, and all edge-cut moves are included among the partner-rotation moves. A level B insert± replacement may be viewed as a step that ® rst transforms a three-edge bounded face into a four-edge bounded face by deleting an edge, and then inserting vertex x within this resulting four-edge bounded face. Similarly, a level C insert± replacement may be viewed as a step that ® rst transforms a three-edge bounded face into a ® ve-edge bounded face by deleting a pair of edges, and then inserting vertex x within the ® ve-edge bounded face. The representation of these steps as an operation of replacing an edge or pair of partner edges in G leads to an organization that allows them to be considered without duplications.
272
E. Pesch et al.
Figure 4.
Level C extractions in case r, s, t, u, q de® ne more than one face.
A level B insert± replacement can allow ij to be one of the newly added edges if a level C extraction is used. Compounding an insert± replacement operation by adding an edge that does not meet vertex x only duplicates a move considered by a lower level operation. More complex multilevel moves can be de® ned by extrapolating the ideas of the moves indicated, but their options become combinatorically more di cult to itemize. The foregoing moves are useful because the faces, edges and pairs of partner edges are readily isolated [by reference to Star ( G) and simple associated data structures], and are all of the order of the number of edges.
4.
Updates and data structure management for advanced moves
The goal of this section is to show how Star ( G) can be e ciently transformed into Star ( G*) for the advanced moves, while preserving the property of being uniformly ordered. We begin by considering partner-rotation moves. Relative to the ® ve-edge bounded face ( i, q, r, s, t) produced by deleting the partner edges ir and is in the ® rst step of a partner rotation move, de® ne the focal vertex of the move to be the particular vertex q, r, s or t that is shared in common by the two added partner edges in the second step. Denote a vertex whose star is changed by the move to be a key vertex of the move, and denote the part of the star that changes to be the key substar. (The identity and order of vertices preceding and following the key substar remains intact after executing a move, where we maintain the convention that the last vertex of the star immediately precedes the ® rst. ) Table 3(a)± (d) identi® es the changes to Star ( G) that yield Star ( G*) under each of the four possible focal vertices of the partner rotation move. The updates speci® ed by table 3 require examining the stars for either four or ® ve key vertices upon executing a move, thus producing a very small change to Star ( G). Only one table is applicable to a given move. Moreover, the organization of Star ( G) allows a fast evaluation of the weight change produced by candidate moves, causing a signi® cant gain in e ciency, since such evaluation is performed many times at each iteration.
Maximally planar graph model Key vertex
(a)
(b)
(c)
(d)
Table 3.
Key substar
Key substar becomes
r, s i i i i
deleted
i r s t
s i i i
deleted
i q r s
r i i i
deleted
r, s i i i i
deleted
{
i q r s t
{ {
{
i q r s t
273
s, t, i
deleted q i,q
t, i
deleted i,r
s, i
deleted i,q
t, i t
deleted i,q, r
Change in Star ( G ) focal vertex (a) q ; (b ) r ; (c) s; (d ) t .
The fact that edge-cut moves result for the two cases where the focal vertex is r or s, joined with the observation that in those two cases only four key vertices have to be examined, indicates that the use of this updating structure can be used to implement edge-cut moves with almost the same number of operations required by using the EdgeCutList. However, the EdgeCutList additionally provides a convenient summary of the move weights for precisely updating the subset of weights that change. The data structures indicated for the advanced moves can also bene® t from auxiliary tables to identify and update the move weights that change at each iteration. We now identify the appropriate changes for executing the multilevel extract± insert± replacement moves. The extraction steps and insert± replacement steps are treated separately. The changes in Star ( G) for the extraction steps are as follows, where all entries of Star( x) are deleted at the end of each of the following operations. (1) Level A extraction: for each of the three vertices i in Star ( x), delete x from Star ( i). (2) Level B extraction: assume without loss [by the choice of naming the vertices in Star ( x)] that qs is the edge added when x is extracted. Replace x by s in Star ( q) and replace x by q in Star ( s). Delete x from Star ( r) and Star ( t). (3) Level C extraction: assume without loss that qs and qt are the edges added when x is extracted. Replace x by s, t in Star ( q), and replace x by q in both Star ( s) and Star ( t). Delete x from Star ( r) and Star ( u).
274
E. Pesch et al. Key vertex (a)
(b)
(c)
{
i j k x
{
i p j q x
{ i q r s t x
Key substar
Key substar becomes
j k i
j, x k, x i, x i, j, k
j j i i
x j, x x i, x i, p, j, q
all (empty)
all (empty) r, s r i i i
all (empty)
x r, x x x i, x i, q, r, s, t
Table 4. Change in Star ( G ) for a level A (a), B (b), C (c) insert± replacement.
The changes in Star ( G) for the insert± replacement steps are as shown in table 4. (Except for vertex x, the names of the vertices in this step have no relation to the names in the extraction step. ) Let ( i, j, k ) denote the three-edge bounded face in which x is inserted. For the higher level moves, the same notation as in the previous section applies. As in the case of the partner-rotation moves, the foregoing changes to update the data structure of Star ( G) are both small in number and fast to execute. Again, the data structure of Star ( G), uniformly ordered, permits highly e cient evaluation of candidate moves. This evaluation can be further accelerated by maintaining auxiliary tables to precisely update the move weights that change, provided attention is restricted to a single level of extraction and insert± replacement. Thus, a method that restricts attention in this manner for some number of iterations, then chooses another pair of levels under a similar restriction, yields a repeating process that may allow gains in e ciency. Otherwise, an intelligent candidate list approach may be used to limit the number of moves evaluated at each iteration, relying on the e ciency of full weight evaluations to yield a search algorithm that performs e ectively overall. 5.
A generic algorithm for generating and improving maximally plana r graphs
Our development yields a class of search neighbourhoods for progressively improving a starting maximally planar graph by a descent method, or for more generally improving a collection of starting maximally planar graphs by genetic algorithms, simulated annealing or tabu search, as they are presented in Hassan and Osman (1995). We also directly obtain a broad class of constructive algorithms. These constructive algorithms can be used in two ways: (1) to yield initial maximally planar graphs for the other methods; (2) to give a basis for applying a strategic oscillation approach, by constructing a graph until it is maximally planar, followed by progressive waves of partial deconstruction and reconstruction.
Maximally planar graph model
5.1.
275
Generic constructive generation algorithm
Step 1. Step 2.
Start with G consisting of a triangle or K4. At each iteration, select any vertex not yet in G, and introduce it into G by a Level A, B or C insert± replacement operation (using the updating rules mentioned). Step 2A. For a selected number of moves of the current iteration, seek to improve the current G by using either the simple or advanced rules of the preceding sections. Step 3. Return to the start of Step 2, unless no vertices remain to be added to G. The foregoing class of constructive algorithms can be extended to a strategic oscillation approach by employing a controlled set of Level A, B and C extraction moves, e.g. making use of tabu search memory. 6.
S elected heuristics from literature
In order to be able to compare our approaches to those obtained in previous publications, we brie¯ y review the most important procedures described in the literature. We shall see that many of them are re¯ ected in the constructive generation algorithm scheme, as described in the previous section. The deltahedron-heuristic by Foulds and Robinson (1976) starts from a K4 as follows: choose an edge of highest weight, say uv . Add vertex w such that the sum of the edge weights of uv, uw, vw is maximum. Once more, choose a vertex x such that the weight of the K4 consisting of the vertices u, v, w and x is maximum. Add the remaining vertices, one at a time, choosing each time a triangle in which the new vertex will be added. The vertex y is to be selected for which the sum of the edgeweights of all edges connecting y to any vertex of the planar subgraph is maximum. Insert the vertex to that triangle that causes the largest increase of the weight of the planar subgraph. The worst case running time is proportional to O ( n2 ). Edge-cut moves as well as Level A extract± insert± replacement moves are proposed by Foulds et al . (1985) in order to improve the deltahedron-heuristic results through O ( n) steps. The Green± Al-Hakim heuristic (1985) is a slight modi® cation of the deltahedronheuristic. Instead of using a K4 as the initial structure, they start with a K3 of maximum weight. In each subsequent iteration, one vertex is added to a face in a way which increases the objective function value the most. The worst case running time is 3 proportional to O ( n ). The wheel-expansion-heuristic of Eades et al . (1982 ) constructs an initial K4 in the way the deltahedron-heuristic does and continuously adds a vertex, one at a time, as follows: consider a planar subgraph. Replace a vertex u of degree at least 4 by two adjacent vertices u1 and u2, so that the vertices formerly adjacent to u are adjacent to at least one of u1 and u2, and the resulting graph remains to be planar. (Hence, a wheel is split into two amalgamated wheels, an operation which is called wheel expansion. ) Obviously, there are only two vertices, e.g. v and w which are adjacent to both u1 and u2. The new planar subgraph depends on the choice of the four vertices u1 , u2 , v and w. They are chosen such that the increase of the weight of the planar subgraph is maximum. The worst case running time is proportional to 4 O ( n ). In order of decreasing edge weights, the greedy heuristic by Foulds et al . (1985 ) successively adds the next possible (with respect to planarity) edge to the current
276
E. Pesch et al.
planar subgraph. This operation is repeated until 3n 6 edges have been accepted. 3 The greedy heuristic results in a complexity of O ( n ). The idea of Boswell’ s heuristic TESSA (1992) is to greedily add faces to the current planar subgraph in order to increase the weight of the subgraph in each iteration as much as possible. TESSA starts from a K3 with maximum weight. In each iteration, a face can be added either through selection of an edge connecting two vertices (with a common neighbour on the boundary of the subgraph) of the subgraph, or through selection of a vertex. The selected vertex will become adjacent to two adjacent vertices on the boundary of the current subgraph. The worst case computational complexity of TESSA is O ( n5 ). Leung’s greedy heuristic (1992) starts from a randomly chosen K4 and greedily adds either a vertex or three vertices (triangle) to a face of the current planar subgraph such that the increase of the sum of the edge-weights in the planar subgraph is maximum. The running time in the worst case is O ( n4). Merker and WaÈscher (1997) tested a modi® cation of Leung’s greedy heuristic and a modi® ed wheel-expansion-heuristic. Instead of adding a vertex (or triangle) to a face, they consider the six possibilities to greedily add an edge (de® ned by a vertex pair) to a face. The modi® cation with respect to the wheel-expansion-heuristic is similar and turns out to be a limited two-step wheel-expansion. In the ® rst step, a vertex u of at least four degrees is replaced by two adjacent vertices u1 and u2 with common neighbours v and w. In the second step, u2 is replaced by two adjacent vertices u21 and u22, both of which are adjacent to v and w. The ® ve vertices u1 , u21 , u22 , v and w are chosen such that the improvement of the objective function is maximized. Hence, the complexity of the heuristic equals O ( n5). 7.
Computational results and comments
Our algorithms were tested on a randomly generated set of 120 test instances, and problem sizes n of 10, 20, 30 and 40 vertices. We followed Foulds et al. (1985) for the generation of the edge weights. The edge weights were taken from a normal distribution with mean 100 and standard deviation s 5, 10, 15, 20, 25 and 30. For each pair of values n and s , ® ve instances were generated using the method of Box and Muller (1958 ). The results are documented in the subsequent tables 5± 8 for the problem sizes 10, 20, 30 and 40 vertices, respectively. Columns `3n 6’, `ML’, `Leung’, `ML + EC’, `L + EC’, `CG’ and `CG + EC’ contain the average results over the ® ve randomly generated instances for each problem `n 100 s ’ . The ® rst column de® nes the problem, i.e. the number of vertices, as well as the problem de® ning normal distribution. Column `3n 6’ shows the average value of the ® ve upper bounds, each of which is the total weight of the ® rst 3n 6 edges (from every instance) ordered in decreasing edge weight. Let us ® rst restrict to those columns containing the results from our own implementation. Column `Leung’ (for short: L) is our implementation of Leung’s greedy heuristic. Column `ML’ describes the results from a modi® cation of Leung’s algorithm where we choose the maximal weight subgraph K4 of G for initialization. Column `CG’ presents the outcome of one Constructive Generation Algorithm. The three remaining columns `ML + EC’, `L + EC’ and `CG + EC’ correspond to the results of ML, L and CG, respectively, which are improved through a sequence of edge-cut moves until they are locally optimal. In each row, we present the average results in percent of the upper bound `3n 6’ for the particular problem. The row below the average computational results over
Maximally planar graph model
277
the ® ve runs contains the average deviation from the upper bound over all six problems (the results of which were obtained from the ® ve instances) of the particular problem size n. The bottom part of the tables contains the average running times over the ® ve instances of the particular problem `3n 6’. The times in the three columns `ML + EC’, `L + EC’, and `CG + EC’ are only the run times for the EC local search part. The times (s) are seconds on a PC586, 100 MHz. The algorithms are coded in Turbo C+ + 3.0. The algorithms were implemented as greedy local search methods, except for the initial solution generation. Starting solutions were obtained using steps 1 and 2 of the construction algorithm (without Step 2A ), where each step of the algorithm is performed randomly. That means the next vertex is chosen randomly, one of the three insert± replacement operations is chosen randomly, and the actual place of insertion, i.e. face, edge or edge pair, in the current partial solution is chosen at random. All improvements have been run greedily, such that the best possible move is always performed. The resulting algorithms are performed until a local optimum is reached. We can see that the run times for the 10 vertex problems can be neglected. They are almost zero. Of course, the quality of the solution decreases slightly with increasing standard deviation, however, it still is about 99± 100% of the upper bound for ML and ML + EC. Hence, we can assume that in most cases the optimal solution has been found. We can also realize that the edge-cut local search yields better results if the initial solution from which the local search part starts is of high quality. Hence, ML + EC performs best in all cases. We can observe a similar behaviour if the number of vertices is 20. The implementation of Leung’s heuristic is at most 1% worse than its modi® ed version and ML + EC is still less than 1% below an optimal solution. The run times are a couple of seconds. Even for the larger problems of 30 or 40 vertices, the results of ML + EC are at most 2% below the optimum, however, the run times tend to increase to up to half an hour. In all cases, we can see that the ML solutions are close to the optimal solution and, in particular, close to a local optimum. The edge-cut improvements to ML almost disappear. This, however, is in line with the fact that the edge-cut local search part surprisingly cannot improve an initial CG solution substantially. An edge-cut local search already stopped in a local optimum only about 5% (or even less) above the initial solution. We compared our procedures to those methods described in the literature, see the remaining columns of tables 5± 8 for the di erent problem sizes of 10, 20, 30 and 40 vertices. The remaining columns refer to the most powerful methods from the literature, cf. the aforementioned descriptions. Leung (1992) refers to her implementation of the greedy heuristic, `ID’ and `Greedy’ are the improved deltahedron and greedy heuristic of Foulds et al. (1985) , and Merker and WaÈscher (1997 ) contains the results for their modi® ed wheel-expansion-heuristic. It is di cult to compare run times because all the algorithms have been run on di erent computers (see the row `Time’ ) under di erent circumstances. A comparison is left to the reader who is familiar with the systems. However, we share the opinion that all run times for the same problem instances are similar. To our surprise, we realized that our implementation of Leung’s method performed better than her implementation, e.g. about 2% for n 20, about 3% for n 30 and almost 4% for n 40. ML + EC achieved the best results. For n 10, we reached solutions about 1.5% closer to the optimum than the best competitor, the modi® ed wheel-expansion-heuristic. For n 20, the gap increased to 2.5%, for
N
N
N
N
(100, (100, N (100, N (100, N (100, N (100,
5) 10) 15) 20) 25) 30)
Time
2454 2525 2587 2649 2692 2718
5) 10) 15) 20) 25) 30)
6
3n
10
98.54
99.67
97.94*
99.36* 98.72* 98.10* 97.70* 97.07* 96.68*
99.76
99.98 99.83 99.82 99.86 99.97 99.08
EC
EC
99.18
99.90 99.53 99.43 98.75 99.05 98.40
L
92.13
97.49 95.70 93.18 89.77 88.41 88.24
CG
EC
96.36
98.60 97.36 96.64 94.40 96.44 94.69
CG
0.02 0.01 0.02 0.01 0.04 0.00
0.02
0.01 0.04 0.02 0.04 0.01 0.04
0.02
0.03
0.01 0.04 0.02 0.04 0.01 0.04 0.02
0.02 0.01 0.02 0.01 0.04 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.01 0.00 0.00 0.00 0.00
98.38
99.34 99.04 98.55 98.16 97.92 97.27
Greedy
96.75
97.72²
0.32
Ð
Ð
Ð
Ð
Ð
Ð
2.00
Ð
Ð
Ð
Ð
Ð
Ð
0.31
0.00²
Ð
Ð
Ð
Ð
0.23 0.31 0.32 0.32 0.33 0.34 Ð
Ð
VAX 8550
98.98 98.76 95.78 96.82 94.98 95.18
0.00
Ð
Ð
Ð
Ð
Ð
Ð
HP9000/ 720 workstation
98.43
99.53 99.02 98.55 98.18 97.79 97.53
TESSA Merker and Boswell WaÈscher (1992) (1997)
99.34² 98.56² 97.93² 97.42² 96.67² 96.39²
HP9000/ 720 workBurroughs B6930 station
97.90
99.27 98.58 98.52 97.75 97.26 96.03
ID
Green and Al-Hakim (1985)
Table 5. Computational results obtained from di erent heuristics for instances with 10 vertices.
0.00*
Ð
Ð
Ð
Ð
Ð
Ð
Sun PC 586, PC 586, SPARC PC 586, PC 586, PC 586, PC 586, 100 MHz 100 MHz Station 100 MHz 100 MHz 100 MHz 100 MHz
99.67 99.08 98.83 97.51 98.47 97.70
Leung
99.98 99.80 99.73 99.84 99.70 98.94
ML
For footnotes, see table 8.
(100, (100, N (100, N (100, N (100, N (100,
n
Leung (1992) ML
Foulds et al. (1985)
278 E. Pesch et al.
N
N
(100, (100, N (100, N (100, N (100, N (100,
5) 10) 15) 20) 25) 30)
Time
5644 5922 6144 6553 6694 7006
5) 10) 15) 20) 25) 30)
6
3n
20
98.51
99.27
96.42
99.80 97.50 96.57 95.99 94.87 93.81
99.32
99.71 99.50 99.38 98.80 99.30 99.24
EC
EC
98.91
99.58 99.42 99.05 98.03 98.67 98.71
L
85.61
95.46 91.20 87.51 82.61 79.34 77.52
CG
EC
89.91
96.84 94.04 90.56 87.32 86.74 83.95
CG
7.11 7.80 7.36 6.47 8.05 7.51
7.38
5.68 6.23 5.58 6.08 6.33 6.35
6.04
Table 6.
6.05
5.70 6.23 5.60 6.08 6.33 6.35 7.39
7.11 7.81 7.36 6.47 8.06 7.51 0.04
0.05 0.02 0.04 0.04 0.04 0.03 0.07
0.07 0.06 0.08 0.07 0.08 0.05
96.47
98.88 97.66³ 97.03 95.54 94.91 94.80
Greedy
2.20
Ð
Ð
Ð
Ð
Ð
Ð
20.20
Ð
Ð
Ð
Ð
Ð
Ð
Burroughs B6930
95.69
98.54 97.24³ 96.06 95.04 93.69 93.58
ID
0.00
Ð
Ð
Ð
Ð
Ð
Ð
4.07
3.84 4.21 4.70 4.44 3.84 3.36
VAX 8550
95.06
95.93² HP9000/ 720 workstation
98.42 96.78 95.34 94.00 93.00 92.82
0.08
Ð
Ð
Ð
Ð
Ð
Ð
HP9000/ 720 workstation
96.87
98.96 97.99 97.21 96.28 95.62 95.13
TESSA Merker and Boswell WaÈscher (1992) (1997)
98.66² 97.40² 96.37² 95.16² 94.34² 93.65²
Green and Al-Hakim (1985)
Computational results obtained from di erent heuristics for instances with 20 vertices.
0.90
0.92 0.90 0.98 0.92 0.82 0.84
Sun PC 586, PC 586, SPARC PC 586, PC 586, PC 586, PC 586, 100 MHz 100 MHz Station 100 MHz 100 MHz 100 MHz 100 MHz
99.46 99.22 98.73 97.73 98.18 97.73
Leung
99.67 99.44 99.37 98.77 99.11 99.23
ML
For footnotes, see table 8.
N (100,
N (100,
N (100,
N (100,
N (100,
N (100,
n
Leung (1992) ML
Foulds et al. (1985)
Maximally planar graph model
279
3n
6
N (100,
N (100,
N (100,
N (100,
N (100,
N (100,
5) 10) 15) 20) 25) 30)
Time
5) 8869 10) 9440 15) 9975 20) 10 453 25) 11 039 30) 11 653
30
98.35
99.08
95.51
98.56 97.07 95.71 94.92 93.89 92.89
99.10
99.73 99.47 99.11 99.14 98.59 98.57
EC
EC
98.65
99.58 99.22 98.33 98.44 98.42 97.93
L
82.17
94.21 88.61 83.70 78.87 74.28 73.32
CG
EC
85.83
95.34 90.93 87.25 82.95 80.72 77.79
CG
182.09 171.48 168.75 180.41 179.86 178.77
176.89
174.49 167.53 173.75 177.45 176.62 169.08
173.15
173.16
174.49 167.53 173.76 177.47 176.62 169.10 176.90
182.09 171.50 168.76 180.42 179.86 178.78 0.10
0.13 0.09 0.09 0.07 0.11 0.13 0.17
0.18 0.16 0.18 0.13 0.20 0.18
95.37
98.44 96.82 95.41 94.88 93.39 93.29³
Greedy
8.09
Ð
Ð
Ð
Ð
Ð
Ð
71.30
Ð
Ð
Ð
Ð
Ð
Ð
Burroughs B6930
94.79
98.02 96.51 95.00 94.00 93.08 92.12³
ID
0.01
Ð
Ð
Ð
Ð
Ð
Ð
73.31
74.38 75.08 94.92 63.84 75.44 56.20
VAX 8550
94.17
95.01² HP9000/ 720 workstation
97.98 96.10 94.04 93.32 91.90 91.66
0.48
Ð
Ð
Ð
Ð
Ð
Ð
HP9000/ 720 workstation
96.04
98.64 97.39 96.39 95.39 94.55 93.86
TESSA Merker and Boswell WaÈscher (1992) (1997)
98.27² 96.73² 95.50² 94.14² 93.23² 92.21²
Green and Al-Hakim (1985)
Table 7. Computational results obtained from di erent heuristics for instances with 30 vertices.
7.60
8.10 7.18 8.02 6.96 7.64 7.68
Sun PC 586, PC 586, SPARC PC 586, PC 586, PC 586, PC 586, 100 MHz 100 MHz Station 100 MHz 100 MHz 100 MHz 100 MHz
99.52 99.03 97.94 98.35 97.63 97.60
Leung
99.72 99.46 99.07 99.05 98.59 98.56
ML
For footnotes, see table 8.
N (100,
N (100,
N (100,
N (100,
N (100,
N (100,
n
Leung (1992) ML
Foulds et al. (1985)
280 E. Pesch et al.
N (100,
N (100,
N (100,
N (100,
N (100,
N (100,
5) 10) 15) 20) 25) 30)
Time
12 125 12 991 13 784 14 594 15 343 16 080
5) 10) 15) 20) 25) 30)
6
3n
40
98.66
99.24
94.99
98.21 96.80 95.44 94.11 92.95 92.40
99.25
99.69 99.38 99.42 99.12 99.12 98.75
EC
EC
98.84
99.58 99.16 98.86 98.73 98.68 98.04
L
81.00
93.96 88.04 81.74 77.75 74.07 70.46
CG
EC
84.53
94.86 90.26 85.03 83.33 78.15 75.52
CG
1594 1466 1620 1668 1802 1740
1648
1508 1514 1702 1756 1894 1774
1691
37.05
36.10 37.32 36.62 38.18 37.36 36.72
1691
1508 1514 1702 1756 1894 1774 1648
1594 1466 1620 1668 1802 1740 0.19
0.16 0.21 0.13 0.20 0.22 0.23 0.38
0.28 0.36 0.31 0.45 0.42 0.45
Sun PC 586, PC 586, SPARC PC 586, PC 586, PC 586, PC 586, 100 MHz 100 MHz Station 100 MHz 100 MHz 100 MHz 100 MHz
99.64 98.98 98.58 98.48 98.51 97.75
Leung
99.68 99.37 99.40 99.12 99.12 98.73
ML
94.73§
94.34§
20.42§
Ð
Ð
Ð
Ð
Ð
Ð
165.80§
Ð
Ð
Ð
Ð
Ð
Ð
Burroughs B6930
97.79§ 96.54§ 94.77§ 94.34§ 93.42§ 91.53§
Greedy
98.10§ 96.58§ 94.13§ 93.15§ 92.83§ 91.24§
ID
0.01
Ð
Ð
Ð
Ð
Ð
Ð
601.46
471.05 704.51 638.16 696.60 503.25 595.16
VAX 8550
93.25
94.42² HP9000/ 720 workstation
97.82 95.24 93.68 91.86 91.48 89.44
1.71
Ð
Ð
Ð
Ð
Ð
Ð
HP9000/ 720 workstation
95.51
98.41 97.04 95.87 94.78 93.89 93.04
TESSA Merker and Boswell WaÈscher (1992) (1997)
98.06² 96.29² 94.84² 93.50² 92.43² 91.40²
Green and Al-Hakim (1985)
Table 8. Computational results obtained from di erent heuristics for instances with 40 vertices.
* Obtained by WaÈscher and Merker (1997) with their reimplementation of Leungs’s algorithm. ² Obtained by WaÈscher and Merker (1997) with their reimplementation of the Green± Al-Hakim heuristic. ³ Average values based on four runs (there is a typo in the corresponding table of Foulds et al. (1985) and the average values can be calculated only on four out of ® ve results. ) § Average values based on two runs. Ð There was no detailed information in the reference.
N
N
(100, (100, N (100, N (100, N (100, N (100,
n
Leung (1992) ML
Foulds et al. (1985)
Maximally planar graph model
281
282
E. Pesch et al.
n 30 to 3%, and for n 40 even to almost 4%. Slightly weaker di erences, but still a superior outcome can also be observed for the other methods ML, Leung and L + EC. In our opinion, ML + EC seems to be less e cient for problems of more than 50 vertices, but for small problem sizes it improves Leung’ s implementation. If a fast solution is needed for very large instances, then CG + EC might be a good choice because of its low run times. 8.
Conclusions
We introduced new neighbourhood structures to generate an initial solution of a facility layout and to yield feasible modi® cations of a current layout. We compared our constructive algorithm to a couple of approaches from literature in order to receive an initial feasible solution. Moreover, a new implementation of Leung’s greedy heuristic outperforms all other layout approximation algorithms in quality. The composition of ejection chains and an excellent heuristic in order to generate an initial solution seems to provide a powerful procedure to obtain close to optimum results. The de® nition of the neighbourhood structure in¯ uences the compound move of the ejection chain. It has to be chosen as a tradeo between run time and quality of the outcome. We are convinced that an appropriate choice of the data structure in combination with sophisticated neighbourhood structures embedded into an ejection chain approach can generate high quality solutions within small run times. The code is available from Erwin Pesch. Ackno wledgment
We would like to thank Daosheng Yang, Alexander MuÈller and two anonymous referees for their critical and constructive comments on an earlier version of this paper. Their remarks improved the readability substantially. References A l -Hakim, L. A., 1991, Two graph-theoretic procedures for an improved solution to the facilities layout problem. International Journal of Production Research, 29, 1701± 1718. A rmour , G. C. and Buffa , E. S., 1963, A heuristic algorithm and simulation approach to the relative location of facilities. Management Science, 9 , 294± 309. Blazewicz , J., Burkhard , R. E., Finke, G. and Woeginger, G. L., 1992, Vehicle scheduling
in two-cycle ¯ exible manufacturing systems. Working paper, University of Grenoble. Boswell , S. G., 1991, Bounds on the number of G -operation edge substitutions required to transform a maximal planar graph into another. Australasian Journal of Combinatorics, 4, 5± 24. Boswell , S. G., 1992, TESSAÐ a new greedy heuristic for facility layout planning. International Journal of Production Research, 30 , 1957± 1968. Box , G. E. P. and Muller, M., 1958, A note on the generation of random normal deviates. Ann. Math. Statistics, 29, 610± 611. Eades, P., Foulds, L. R. and Giffin, J. W., 1982, An e cient heuristic for identifying a maximum weight planar subgraph. L ecture Notes in Mathematics, 952, 239± 251. Eggleton, R. B. and A l -Hakim, L. A., 1991, Maximal planar graphs and diagonal operations. Australasian Journal of Combinatorics, 3 , 93± 110. Foulds, L. R., 1983, Techniques for facility layout: deciding which pairs of facilities should be adjacent. Management Science, 29, 1414± 1426. Foulds, L. R., Gibbons, P. B. and Giffin, J. W., 1985, Facility layout adjacency determination: an experimental comparison of three graph theoretic heuristics. Operations Research, 33 , 1091± 1106.
Maximally planar graph model
283
Foulds, L. R. and R obinson, D. F., 1976, A strategy for solving the plant layout problem. Operations Research Quarterly, 27 , 845± 855. Garey, M. R. and Johnson, D. S., 1979, Computers and intractability. A Guide to the Theory of NP-Completeness (San Francisco, CA: Freeman). Green, R. and A l -Hakim, L.A., 1985, A heuristic for facility layout planning. Omega 13, 469± 474. Hassan, M. M. D., 1994, Machine layout problem in modern manufacturing facilities. International Journal of Production Research, 26, 1119± 1124. Hassan, M. and Osman, I. H., 1995, Local search algorithms for the maximal planar layout problem. International Transactions in Operational Research, 2 , 89± 106. Heragu , S. S. and Kusiak , A., 1988, Machine layout problem in ¯ exible manufacturing systems. Operations Research, 36 , 258± 268. JÜnger, M. and Mutzel , P., 1992, Solving the maximum weight planar subgraph problem by branch and cut. Working paper, UniversitaÈt KoÈln. JÜnger, M. and Mutz el , P., 1996, Maximum planar subgraphs and nice embeddings: practical layout tools. Algorithmica , 16 , 33± 59. Kouvelis, P. and Kim, M. W., 1992, Undirectional loop network layout problem in automated manufacturing systems. Operations Research, 40 , 533± 550. Kusiak , A. and Heragu , S. S., 1987, The facility layout problem. European Journal of Operational Research, 29 , 229± 251. Leung, J., 1992, A new graph-theoretic heuristic for facility layout. Management Science, 39, 594± 605. Merker , J. and WÄ scher, G., 1997, Two new heuristic algorithms for the maximal planar layout problem. OR Spektrum , 19 , 131± 137. Ning , Q., 1987, On a conjecture of Foulds and Robinson about deltahedra. Discrete Applied Mathematics, 18, 305± 308. WÄ scher , G. and Merker , J., 1997, A comparative evaluation of heuristics for the adjacency problem in facility layout planning, International Journal of Production Research, 35, 447± 466.