BEBR FACULTY WORKING PAPER NO. 90-1654 M-median and M-center Problems with Mutual Communication: Solvable Special Cases Dilip Chhajed Timothy J. Lowe The I Unh ■ 01 U, College of Commerce ana business Administration Bureau o* Economic and Business Research University of Illinois Urbana-Champaign BEBR FACULTY WORKING PAPER MO. 90-1654 College of Commerce and Business Administration University of Illinois at (Jrbana-Champaign May 1990 M-median and M-Center Problems with Mutual Communication: Solvable Special Cases* Dilip Chhajed 1 Timothy J. Lowe 2 'Department of Business Administration, University of Illinois at Urbana-Champaign, 1206 South Sixth Street, Champaign, IL 61820 department of Management Science, University of Iowa, Iowa City, IA 52242 *We would like to acknowledge the helpful comments of Charles Blair, George Monahan, and Rich Wong. M-median and M-center Problems with Mutual Communication: Solvable Special Cases Abstract In this paper we consider the network version of the m-median problem with mutual communication (MMMC). We reformulate this problem as a graph theoretic node selection problem defined on a special graph. We give a polynomial time algorithm to solve the node selection problem when the flow graph (graph denoting the interaction between pairs of new facilities in MMMC) has a special structure. We also show that with some modification in the algorithm for MMMC, the m-center problem with mutual communication can also be solved when the flow graph has special structure. Digitized by the Internet Archive in 2011 with funding from University of Illinois Urbana-Champaign http://www.archive.org/details/mmedianmcenterpr1654chha 1. Introduction The network version of the m-median problem with mutual communication (MMMC) is to find the location of m new facilities on a network such that the sum of a.) the fixed location cost of each new facility, b.) the cost of interaction between the new facilities and n existing facilities on the network, and c.) cost of interaction between pairs of new facilities is minimized. The existing facilities are located at nodes of the network and the interaction cost between a pair of facilities is a function of the network distance between the facilities. We call the network on which the new facilities are to be located the transport network, T . An application of MMMC is the location of several new machine centers in a production area. Material movements are made on a transport network (e.g. network of aisles). Each new machine center will send and/or receive material to/from one or more existing machine centers whose locations on the transport network are known. In addition, each new machine will have material flow interaction with some subset of the other new machines. We assume that the existing machines are located at nodes of the transport network. There is no loss of generality here, since as long as each existing machine is on the network, its location can be declared as a node. We consider problems where the set of possible locations on the network for each new facility is finite. We can also declare these locations as nodes of the network. We also allow for the possibility that the fixed cost (cost term a.) above) of locating a new facility is dependent upon its location. In the above machine location example of MMMC (as well as other examples) it is most likely the case that the cost of interaction between certain pairs of facilities will not depend upon the network distance between their locations. This would occur in the above example if there was no material flow between a pair of facilities. In what follows, we say a pair of facilities interacts only if the cost of interaction is a function of the network distance between the facilities. Two graphs can be defined which represent the interaction structure. The demand graph , D, is a bipartite graph with node partition {M,N} where set M consists of m nodes corresponding to the new facilities and set N consists of n nodes corresponding to the existing facilities, and with u e M and i e N, nodes u and i in D are adjacent if and only if new facility u and existing facility i interact The flow graph, G, consists of m nodes, one corresponding to each new facility. Two nodes in a flow graph are adjacent if and only if the corresponding new facilities interact. We note that if the demand graph D has no arcs, then (MMMC) is solved by co- locating the n new facilities at a single point on X which minimizes the sum of the fixed location costs for the new facilities. On the other hand if the flow graph, G, has no edges, then (MMMC) decomposes into n single facility location problems on T. The interesting cases of (MMMC) occur when both D and G are non- trivial. Most of the literature associated with (MMMC) deals with the case where there are no fixed location cost (a.) above), and where the interaction costs are linear in network distances. Kolen (1982) has shown that the problem is NP-hard, when T is a general network, but is poly normally solvable when X is a tree. Picard and Radiff (1978) also give a polynomial time algorithm for the' problem when X is a tree. Dealing, Francis, and Lowe (1976) have shown that the problem is a convex optimization problem for all data choices if and only if X is a tree. Erkut, Francis, Lowe, and Tamir (1989) consider a constrained version of the problem and make use of separation conditions (Francis, Lowe, and Ratliff , 1978) to obtain a mathematical program. The mathematical program is equivalent to the original problem if X is tree; otherwise the solution to the mathematical program provides a lower bound. A computational study of the lower bound vis-a-vis the original problem is given in Erkut, Francis, and Lowe (1988). • Xu, Francis, and Lowe (1988) consider the version of (MMMC) where there are no fixed location costs, and the transport network, X, is not necessarily a tree, but X does contain two or more blocks (maximal, nonseparable subgraphs of X). They show that by solving a related problem on a "blocking graph" (which is a tree), information can be obtained which localizes each optimal new facility to some vertex or block of X. The problem then decomposes into a collection of independent problems, one for each localizing block of X. In this paper we give a polynomial time algorithm for a special class of network MMMC problems in which the transport network, T, and the demand graph, D, are general; the interaction costs are general functions of network distances as long as these cost functions are such that node optimality conditions hold, i.e. there is at least one optimal solution in which each new facility is located at a node of the transport network; and the flow graph. G. is series-parallel . If the node optimality property is not valid then our model is useful when a node restricted solution is sought. We also consider the m-center problem with mutual communication (MCMC) and show that the algorithm presented for MMMC can be modified to solve special cases of MCMC. The plan of the rest of the paper is as follows. In Section 2 we present a formulation of the problem. Then we introduce a graph theoretic Node Selection Problem (NSP) and show how our formulation of MMMC can be transformed to an NSP. In Section 4 we define a series-parallel graph and give an algorithm to solve the NSP when the flow graph is series-parallel. In Section 5 we give a detailed example showing an application of the algorithm. Section 6 extends our analysis to the m-center problem with mutual communication. We close with some concluding remarks. 2. Formulation For clarity of presentation, we will present the formulation where the interaction costs are linear in network distances. However, our complete methodology is applicable for general interaction cost functions of network distances as long as the node optimality property is valid. In addition, for presentation purposes, in this Section we assume that each new facility could feasibly be located at any node of X. The following notation is used in the formulation. Notation: aui: interaction cost per unit distance between new facility u and existing facility i buy- interaction cost per unit distance between new facilities u and v d(k,r): distance between existing facilities k and r computed on the transport network D: demand graph fuk: fixed cost of locating facility u at node k G: flow graph (V(G), E(G)). V(G) ={ l,...,m}, E(G)={(u,v): new facilities u and v interact, i.e b uv > 0} M: set of new facilities m: number of new facilities N: set of existing facilities n: number of existing facilities = I V(T)I p,k,r,i: indices of existing facilities X: transport network u,v: indices of new facilities Xuk: {0,1 } variable which takes value 1 if and only if new facility u is located at existing facility k As mentioned in the introduction, we assume the problem is such that the node optimality condition holds or the solution sought is node restricted. Thus each new facility has to be located at one of the nodes of X. To avoid notational difficulties, we assume without loss of generality that each node of X is the site of an existing facility. If in an application of (MMMC) there is no existing facility at some node, we assume the data consists of a dummy existing facility at the node which has no interaction with any of the new facilities. The condition that an arbitrary new facility u must be located at a node of X (site of an existing facility) can be represented by the constraint XkeNX u lc= 1 V ueM. (1) Given that (1) holds, and the Xuk's are 0,1 variables, (2), (3), and (4) below are valid. The interaction cost between new facility u and existing facility i is given by a u ilke N d(i,k) x uk . (2) The cost of interaction between two new facilities, u and v, is given by buvXre N^ke N XukX V r d(k,r), (3) and finally, the fixed cost of locating new facility u is IkeNfukXuk- ^ Summing (2) over all pairs of new and existing facilities, (3) over all pairs of existing facilities, and (4) over all new facilities we get the total cost: Sue NlXie N a u iXke N d(i,k) Xuk + X U e Mlv(>u)e M b uv Xre N^ke N XukXvr d ( k ' r ) + Z U e M^ke N fuk Xuk- (5) The first and the last term of (5) can be combined to give Sue M^ke N { [Xie N a u i d(i,k)] + fuk } x u k = lueMlkeN FukXuk , where Fuk = [lieN a u i d(i,k)] + fuk- Thus, Fuk is the sum of the fixed cost of locating new facility u at k and the cost of satisfying the customer demand for new facility u from this location. If we denote C'ukvr = b uv d(k,r) then our integer programming formulation of MMMC is: (P) min I UG m!v(>u)€ M £re N^ke N C'ukvr XukXvr + Sue M^ke N FukXuk (6) Subject to: (1), x^ = {0,1} for all u,k. The objective function of (P) consists of a quadratic term and a linear term in variables x. The problem can be reformulated in which there is only a quadratic term in the objective function. To do so, first we select a new facility u° for each new facility u such that there is an interaction between new facilities u and u° (We are assuming, without loss of generality, that the flow graph is connected). Then we define Cukvr- Fuk + C'ukvr, V r if v=u°, and Cukvr=C'ukvr otherwise. (7) With these costs, consider the following problem, which we call the Quadratic Location Problem (QLP): Min ZuSv>uSkSr CukvrXukXvr (8) Subject to: (1), x uk = {0,1} for all u,k. We now show that problem (P) can be converted to a QLP. Lemma 1 : (P) can be formulated as a QLP. Proof: (8) is same as:Z u Sv>u, v*u°XkXr Cukvr x uk x vr + Xu^kXr Cuku r x uk x u r Using (7): = X u Xv>u, v*u°£k£r C'ukvr x ukXvr + ^u^k^r (C'uku°r + Fuk) x uk x u°r =XuXv>u2-k2-r C'ukvr x uk x vr + XuXk £rF u k x uk x u°r =2-u^v>u^k^-r C ukvr x uk x vr + 2-u^-k ^uk x uk **r x u°r By (1): = I u Xv>uXkXr C , u kvr x uk x vr + XuXk Fuk x u k = (6). «» Hence an MMMC can be reformulated as a QLP by redefining the costs as in (7). Note that the QLP is a relaxation of the Quadratic Assignment Problem (QAP). In the QLP, every facility has to be assigned to one site, but at any site multiple facilities (unlike QAP) may be assigned. Thus, in the QAP there is an additional set of constraints, X u x uk =1. V k, which is not in QLP. Kolen has proven that MMMC is NP-hard. Since (as outlined above) MMMC can be reformulated as a QLP, it follows that QLP is also NP-hard. We provide an alternate proof of the complexity of the QLP by reducing a Simple Max Cut problem to QLP. We note that the equivalence between quadratic 0-1 optimization and the (weighted) max cut problem has been demonstrated in Barahona (1986). Problem SIMPLE MAX CUT (SMC): Given a graph G with nodes V(G) and arcs E(G), find a partition of V(G) into two disjoint sets Vi and V2 such that the number of arcs from E(G) that have one endpoint in V] and one endpoint in V2 is maximum. Theorem 1 : QLP is NP-hard. Proof : As mentioned above, we establish this by showing that (SMC) can be reduced to QLP. Given an (SMC) problem on a graph G, we construct a QLP by defining variables: x u i=l if node u is in Vi, otherwise, for all ue V(G), and x u 2 = 1 if node u is in V2, otherwise, for all ue V(G). We also set Cukvr = 1 for k=r=l or 2, and arc (u,v) is in E(G); and Cukvr = otherwise. Writing the QLP for this, we get: (QLP(G)) MinX^veMlk^S^uCukvrXukXvr (T 1 ) Subject to: Xk=l,2 x u k =1, V u e V(G) (T2) x u k={0,l}. <T3) Given a graph G and a feasible solution {x^} to (QLP(G)) with value Zix^ we can construct a feasible solution to (SMC) problem with value IE(G)I - Z(x ll j c ) as follows: Form sets of nodes Vi={u : x u \ =1} and V2={u : x^ =1). Note that because {x^} satisfies (T2), only one of x u \ or x^ will be equal to one and so VinV2=<t). Also, V!UV 2 =V(G). For a fixed u° and v°, the term C u o kv rXu k x v°r is equal to one if and only if k = r, x u°k =1. x v ° r =1, and (u°,v°)e E(G). If C u °kv rXu°kXv o r =1 then by definition, both u° and v° will be either in Vi or in V2. Thus the number of arcs of G with both endpoints either in Vi or in V2 is Z(xuk). Hence the number of arcs with one node in Vi and other in V2 is IE(G)I - Z(xuic). Minimizing (QLP(G)) is same as minimizing the number of arcs with their endpoints in same sets Vi or V2, and hence same as maximizing the number of arcs which have their endpoints in different sets, i.e. maximizing the cut. «» In formulation (P) of MMMC, we have assumed that each new facility could be located at any node of T. Suppose the location of a new facility u must be at a member of some subset of the nodes of T, denoted by N u . In formulation (P), we could make use of an artificial cost by setting the costs f^ for each node kg N u to be arbitrarily large. The artificial costs would prohibit new facility u from being located at a node outside N u in an optimal solution to MMMC. In the next Section, we reformulate MMMC as a node selection problem, NSP. We assume that N u is known for each new facility u, however, in our reformulation we will not need to make use of the artificial fixed location costs mentioned above. 8 3. Node Selection Problem We now define a special graph, which we call a G-partite graph. We also define an optimization problem, the node selection problem, on the G-partite graph. Subsequently, in this Section, we show that the QLP can be posed as a node selection problem on a suitably defined G-partite graph. Definition: Given a graph G with an integer IN V I associated with each node v e V(G), a G- Partite Graph, G° , is formed as follows: Corresponding to each node v e V(G) we create a node-family , o~ v , in G° consisting of IN V I nodes {v^ : k = 1, ...,IN V I} (Figure 1). Two nodes Uk and v r (v*u) are adjacent in G° if and only if arc (v,u) e E(G). Arc (uk,v r ) in G° is assigned weight CO. . Thus if (v,u) exists in G, nodes of node-family o u and node-family o v form a complete bi-partite subgraph of G°. Node-families G u and o~ v are said to be adjacent if and only if every node in g u is adjacent with every node in o~ v . By joining two node-families o~ u and o~ v we mean adding arcs between all pairs of nodes ' ({ u k> v r) : tik £ o~u> v r e g v ). We will use the notation (o u ,c w ) to denote all arcs between nodes in o~ u and nodes in o~ v . A G-partite graph is a generalization of a complete bi-partite graph. A complete bi- partite graph is a G-partite graph corresponding to a graph G which is a single arc. Given a G-partite graph G°, let S(G°) be an induced subgraph of G° with one node of each node- family and let Z(S(G )) be the sum of the weights on the arcs in S(G°) . We now pose the following problem on G°: (NSP) Node Selection Problem: Given a graph G and the corresponding G-partite graph, G°, with arc weights co, find an induced subgraph consisting of exactly one node of each node-family; such that the sum of all the arc weights on the arcs in the induced subgraph is minimum. We will denote the node selection problem on G° by NSP(G°) and an optimal solution by S*(G°). Lemma 2 : Problem MMMC is reducible to NSP. Proof: Given an MMMC problem with n existing facilities and m new facilities, we first formulate it as a QLP. Then we create a G-partite graph, G°, as follows. Create a node family G u with IN U I nodes for every new facility u. Each of the IN U I nodes in a u corresponds to a node of X where new facility u can be located. Join two node-families, 0" u and o" v if and only if (u,v) e G. Recall that joining two node-families means forming a complete bi-partite graph between nodes of o u and o* v . Assign the weight Cukvr, on the arc (u k ,v r ) g E(G°) . Given the G-partite graph constructed as above, we note that a feasible solution to the NSP corresponds to a feasible solution to the QLP. Given a feasible solution S(G C ) to the NSP, construct a feasible solution to QLP, X(S(G°)), as follows: set X(S(G°)) = {x u k = 1 if node k of node-family o~ u is chosen, otherwise}. Since one node of each node- family is in S(G°), constraint (1) is satisfied. Similarly if a feasible solution to the QLP is given we can construct a feasible solution to NSP by choosing node u^ e o u if and only if x u k= I. A choice of nodes for department u and v contributes C^vr = ^Vj. t0 tne objective function of QLP, which is the weight on arc (uk,v r ) in S(G°). Hence the value of S(G°) is the same as the value of solution X(S(G )). Thus by solving appropriate NSP we will get a solution to the QLP.«» The above reduction shows that NSP is also NP-hard. Note that an NSP is more general than QLP and many other problems can be modeled as an NSP (Section 7). We have shown that, given an MMMC, it can be modeled as a QLP which in turn can be reformulated as an NSP. Thus, an MMMC can be modeled as an NSP. The G- partite graph for the MMMC will correspond to the flow graph G of MMMC. This is because, if an arc (u,v) e E(G) then b uv =0 and so C u kvr = for all k,re N. And by (7) C u kvr = for all k,re N. Thus node-families o u and G v will not be adjacent. 4. Polynomially Solvable Special Cases In this Section we give a rich class of problems for which the node selection problem is polynomially solvable. We have shown that we can use the node selection 10 problem, NSP, to model MMMC. As we have shown, in general this problem is NP- complete. The special cases we consider are characterized by the structure of the flow graph, G. For the node selection problem, we are given G and the G-partite graph G°. We associate, with each node and each arc of G° a label in the form of a set . Initially we set the label of each arc e, L a (e) = { } , where { } denotes the empty set, and the label of each node Uk, Ln(uk) = (uk) • We will represent the label of an arc e defined by two nodes p and q by L a (p,q) rather than L a ((p,q)). Later on, in the course of solving the Node Selection Problem for the special cases, arcs and nodes of graphs G and G° will be deleted, in some cases (new) arcs will be added, and labels of the remaining arcs, as well as the arc weights, will be modified to reflect the change. The labels are used, basically, to carry pertinent information about the deleted portion of the graph. In modifying the labels, we will typically add two labels, where addition of labels is defined as the set union operation on the sets corresponding to the two labels. In what follows, we assume that the flow graph is connected. If this is not the case, e.g. the flow graph consists of more than one component, then MMMC can be solved by solving (independently) an MMMC problem corresponding to each component. We begin with some definitions and results from graph theory: Definition : A graph is series-parallel (Richey, 1989) if it can be reduced to an arc by repeated application of the following operations: (Gl) Series Reduction: Replace any degree-2 node q, and the incident arcs (u,q) and (v,q), u * v, by a new arc, a'(u,v), incident to u and v. (G2) Cut Reduction: If q is a pendant node (a node of degree one) adjacent to node u, find a node v * q adjacent to u, delete node q and add a new arc a'(u,v). . (G3) Parallel Reduction: Replace two arcs e and f which are both incident to nodes u and v, by a new arc, g, incident to u and v. The new arcs that are added to the graph in the above operations are named pseudo- arcs in (Richey, 1989). Richey describes an operation similar to operation (G2), calling it a Jackknife reduction, but does not add the new arc a'(u,v). If we perform parallel reduction on (u,v) immediately after the cut reduction, we get Richey's Jackknife reduction. Thus, 11 although there is a minor difference in the definition of one operator, which we need for our algorithm, the above definition of a series-parallel graph is identical to that of Richey. To obtain insight into the structural nature of series-parallel graphs it is useful to introduce the concept of a 2-tree. A 2-tree (Wald and Colbourn, 1983; Rardin, Parker, and Richey, 1982) is defined recursively as follows: A triangle is a 2-tree. Given any arc (x,y) of a 2-tree, by appending a node z and adding edges (x,y) and (y,z), the resulting graph is also a 2-tree. The relationship between series-parallel graphs and 2-trees is that (Wald and Colbourn, 1983) a series-parallel graph, without loops and parallel edges, is a subgraph of some 2-tree. Thus, series-parallel graphs are sometimes called partial 2-trees. Several authors have exploited the properties of series-parallel graphs. Takamizawa, Nishizeki, and Saito (1982) have solved several combinatorial problems on series-parallel graphs. Barahona (1986) has solved the 0-1 quadratic programming problem when the graph representing the positive coefficients of the problem, i.e., the flow graph, is series-parallel. Rendl (1986) solved a special case of the QAP by exploiting a series- parallel digraph. Rardin, Parker, and Richey (1982) and Wald and Colbourn (1983) solved the Steiner tree problem on a graph which is series-parallel, and Richey (1989) has solved several location problems on transport networks which are series- parallel. It is shown in Rardin, Parker, and Richey (1982) that series-parallel graphs subsume circuits, outerplanar graphs, cactus graphs, and trees. Thus series-parallel graphs generalize a number of graph types; however, they still form a subset of planar graphs. We will soon define graph operations on a G-partite graph which are similar to the operations (Gl), (G2), and (G3) discussed above. The outcome of two of these operations will result in parallel arcs in the graph. We emphasize here that if there are parallel arcs between two given nodes of a G-partite graph G°, and if this pair of nodes is in a feasible solution S(G°) to NSP, then the parallel arcs are also in S(G°), so that the arc weights of both arcs contribute to Z(S(G°)). Let y be an arbitrary subset of nodes of a G-partite graph G° such that there is at most one node of each node-family in \\f. Let NSP(G°,\|/) denote the co nstrained version of NSP on G° with the set of nodes \\f fixed, and let S*(G°,\|/) denote an optimal solution to NSP(G°,y) with objective function value Z(S*(G°,\|/)). Thus with { } denoting the empty 12 set, S*(G°,{ }) is a solution to NSP(G°,{ }) = NSP(G°). We now define three elementary operations on a G-partite graph, G°. These operations are mirror images of similar operations performed on G so that the new G- partite graph corresponds to G after the elementary operation. Although we give the same name to these operations as in the case of G, the context will make it clear which procedure we are referring to. We present these operations as procedures after describing the essence of what they accomplish. These procedures will be repeatedly used by the main algorithm SP which we will describe later. In Section 5 we give an example which uses each of these procedures to solve the NSP using algorithm SP. The reader may refer to Section 5 while going through these procedures to clarify the steps in each procedure. (GP1): Series-Reduction : In this process a node-family o~ q such that node q is adjacent to exactly two distinct nodes u and v of G, where q*v*u, is eliminated in G°. The reduced graph has one less node-family. All the information pertinent to optimal node selection in a q is retained, as is shown in the following process. For an example of this procedure see Iteration 3 in Section 5. PROCEDURE SR(CT q ) Step 1 : Let u and v be the two nodes adjacent to node q in G, where q*u*v. Step 2 For each pair of nodes Uk e o u , v r e o\, find q p ° giving cojj?o + u/?o = min { co^ + co vq } (ties can be arbitrarily broken). Add an arc a'(uk , v r ) with weight equal to 0)jJ? o + 0)!? o and let the label of this new arc be L a '(v r ,uk) <— L a (v r ,q p °)uL a (uk,qp°)u L n (q p °) . Step 3: Delete node-family c q . Return (to the calling algorithm). Lemma 3 : For a G-Partite graph G° with a node-family o~q such that q has degree two in G, let Q° and Q be the results of series-reducing node-family o~q and node q in G° and G, respectively. Given an optimal solution S*(G°) to NSP(G°), an optimal solution to NSP(G°) can be constructed using the nodes and arc labels of S*(£j°). Furthermore, the complexity of procedure SR(.) is 0(IN u l*IN v l*INql) where u and v are the nodes of G 13 adjacent to node q. Proof: Let u and v be the two nodes adjacent to node q in G and let A' denote the set of arcs added to G° in procedure SR(.). For any choice u k . e o u and v r ^ e o v , we note that with \}/={u k ° v r °}, a) S*(G°\A\\j/), which is an optimal solution to NSP(G°\A',\j/), is also an optimal solution to NSP(G°\A',\j/), and b) S*(G°\A',\|/) has the same objective function value when evaluated in graphs G°\aq and G°\A'. Observations a) and b) follow since the graphs G°\rjq and G°\A' are the same. Considering NSP(G°), we note that for fixed u k . e a u and v r ° e a v , the choice of an optimal node in Oq is independent of the optimal choices in the graph G°\{a u UG v UGq}. Thus, one way to solve NSP(G°) is to find In graph G°, for u k e c u , v r e G v , the arc a'(u k ,v r ) carries the essential information (labels min {Z(S*(G°\G q ,{u k v r })) + min { co£ + oTM } u k eC u 'v r eo v q ' 1 K ' qpeo q kp rp and value) of the inner minimization problem above. Letting w(a'(uk,v r )) denote the weight on arc a'(uk,v r ) in G°, we note that NSP(G°) can be solved by solving min (Z(S*(G°\a q ,{u k v r })) + w(a'(u k ,v r ))}. The first part of the Lemma now follows. The complexity of finding node q p ° in Step 2 of SR(.) is O(INql). This Step is repeated IN U I*IN V I times, hence the complexity of the procedure is 0(IN u l*IN v l*IN q l). «» (GP2) Cut Reduction: Given two node-families a q and a u such that node q is a pendant node in G, (q,u) e E(G), and (q,u) is not the only arc of G, we delete node-family a q and add parallel arcs to the G-partite graph. The procedure which follows sketches the steps. The example in Section 5 uses CR(.) during Iteration 1. PROCEDURE CR(a q , o u ) Step I: With q a pendant node of G adjacent to u, select an arc (u,v) of G, v*q. (Such an arc exists because we have assumed that (u,q) is not the only arc of G and throughout we assume that G is connected.) Step 2: For each node u k of a u , Find a node q p ° of node-family a q such that co^o = min g { w k p) (ties 14 can be arbitrarily broken). In G° add new arcs a'(uk , v r ) for all v r e g v with weight co^ and set the label of these new arcs L a '(uk , v r ) <— Ln(q p °) uL a (qp°,uk). Step 3: Delete all the nodes of node-family c v in G°, i.e. delete o v . Step 4: Return. Lemma 4: For a G-Partite graph G° with a node-families o~ u and o~q such that (u, q) e E(G), node q is a pendant node in G, and u and q are not the only nodes of G, let G° and G be the results of cut-reducing node-families o u and Oq in G° and nodes u and q in G. Given an optimal solution S*(G°) to NSP(£}°), an optimal solution to NSP(G°) can be constructed using nodes and arc labels of S*(G°). Also, reducing G° to G° can be done in 0(IN u l*(IN v l+INql)) time where v is the node selected in Step 1. Proof: Let A' denote the set of new arcs added between nodes in a u and ov Consider an arbitrary node uk° e a u in G°. Since graphs G°\a q and GAA' are the same with \|/={uk°}, it follows that S*(G°\A\\}0, an optimal solution to NSP(G°\A',\}/), is also an optimal solution to NSP(G°\Oq,y) and S*(Q°\A\\|/) has the same objective function value when evaluated in graphs G°Vj q and G°\A\ Also, due to the structure of G°, a way of solving NSP(G°) is to find min u k ea u (Z(S*(G°\a q ,{u k })) + min qp6 {co^} }. In graph Q° with u k eo u fixed, there is an added arc a'(uic,v r ) for every v r e o v and each such arc carries the essential information (labels and value) of the inner minimization problem above. Since any feasible solution to NSP(G°) and any feasible solution to NSP(£j°) must contain one node of G v , the first part of the Lemma follows. In Step 2 of CR(.), node q p ° can be found in O(INql) time and arcs a'(uk°,v r ) V VfG o" v , can be updated in 0(IN v l) time. This process is repeated for each node in o~ u , i.e. IN U I times. Thus the total complexity of this Step is 0(IN u l*(IN v l + INql)). «» (GP3) Parallel Reduction: Initially in G there are no parallel arcs. However, as the main algorithm SP (described later) proceeds, parallel arcs may be created in G and G°. In particular, parallel arcs in G (G°) may be created during series-reduction of node q (a q ) with adjacent nodes u and v (a u and a v ). Series-reduction would add an arc between u and 15 v in G (add arcs (o~ u , o v ) between o u and o~ v in G°) and if u and v (o u and o\) were adjacent before the series-reduction then there would be parallel arcs between nodes u and v (o u and a v ) after the series-reduction. Parallel arcs are always created during cut-reduction. For an illustration of this procedure, see Iteration 2 of the example in the next Section. Given two node-families o u and o v such that there are two arcs between every node Uk e o~ u and v r e o* v , w e replace the parallel arcs by a single arc. The weights and the labels associated with the two parallel arcs are added and they form the weight and label, respectively of the new arc. Procedure PR(.) describes this process. PROCEDURE PR(a u , c v ) Step 1: Let nodes uk e 0" u and v r e a v be such that there are two arcs between them. Delete one of these arcs and add its weight to the weight of the other arc. Also add the label of this deleted arc to the label of the second arc. Step 2: Continue Step 1 until no parallel arcs between nodes of o u and o~ v remain. Step 3: Return. Lemma 5: For a G-Partite graph G° with node-families o~ u and o~ v such that there are two arcs between every node uk e o~ u and v r e a v , let Q° and Q be the results of parallel- reducing node-families o~ u and o v of G° and nodes u and v in G. Given an optimal solution S*(Q°) to NSP(£j°), an optimal solution to NSP(G°) can be constructed using the nodes and arc labels of S*(G°). Furthermore, PR(.) can be performed in 0(IN u l*IN v l) time. Proof: The first part of the Lemma easily follows from the fact that for each Uk° e o~ u and v r ° e o~ v , the weight and label on arc (uk°,v r °) e G° is equal to the sum of the weights and the union of the labels on the parallel arcs (uk°,v r °) e G°, and the fact that graphs G°\(a u ,Ov) and G°\(o u ,Ov) are the same. Since there are IN U I nodes in o u and IN V I nodes in a v , there will be IN U I*IN V I repetitions of Step 1. Each repetition of Step 1 takes constant time and so the complexity of the procedure is as stated. «» We now present an algorithm which correctly solves NSP in polynomial time when 16 the flow graph G is series-parallel. Without loss of generality we assume that G is connected. In the algorithm, during Iteration 1, graphs G and G° are denoted as Gi and G°i, respectively. During each iteration these graphs will be changed and at a general Iteration k, these graphs will be denoted by Gk and G°k. Algorithm SP proceeds by forming a set, denoted as 2D, of degree two nodes in Gi. PA is the set of node pairs having parallel arcs in the current Gk. Initially PA is empty. First we cut-reduce the pendant nodes in Gk and G°k followed by parallel-reduction of the parallel arcs formed during the cut-reduction. Then a series-reduction is performed (if 2D * { }) followed by a parallel- reduction, if parallel arcs are formed due to the series-reduction. If these reductions create a new pendant node, that node is eliminated by cut-reduction and the process is continued until a single arc is left in Gk. The best arc in G°k at this stage is chosen, the weight of which gives the solution value. The solution to NSP in G° is generated by the end nodes of this arc and the nodes contained in the label of this arc (Step 6). ALGORITHM SP Step 0: Set k<- 1, G°k <- G°, Gk <- G. Let 2D denote the list of nodes in Gk with degree 2. PA is the list of node pairs having parallel arcs in Gk- For our problem, initially PA will be empty as there are no parallel arcs in the flow graph G. Step 1 : If Gk is a single arc then go to Step 6 else find a node q e V(Gk) with degree one and go to Step 2. If there exists no such node then go to Step 3. Step 2: Let (q,u) e E(Gk) be the arc connecting q to another node u. Cut Reduce node-families a u and a q in G°k by calling procedure CR(a q ,o~ u ). Cut Reduce nodes u and q in Gk- Let node v be such that it is adjacent to u in Gk and is used in CR(.). Add (u,v) to PA. Set Gk+i <r- Gk (after cut-reduction) G°k + i <— G\ (after cut-reduction) k<-k+l. Go to Step 5. 17 Step 3: If I2DI = then go to Step 5; else choose a node qe 2D. Let nodes u and v be adjacent to q in Gk- Step 4: If (u, v) e E(G k ) then add (u, v) to PA. Series-reduce node-family o~ q by calling procedure SR(Oq). Series-reduce node q. Set Gk + i <— Gk (after series-reduction) G°k+i <r- G°k (after series-reduction) k<-k+l Delete q from 2D and go to Step 5. Step 5: If IPAI = then go to Step 1; else let (u, v) e PA. Parallel-reduce arcs between node-families o u and a v by calling procedure PR(a u ,a v ). Parallel-reduce arcs between nodes u and v Set Gk-t-i <— Gk (after parallel-reduction) G°k + i <— G\ (after parallel-reduction) k<-k+l If u (or v) has degree 2 in Gk, add it to 2D. Go to Step 1. Step 6: At this stage G is a single arc (u, v). Find go, o o = min, { co " v } . This is the value of the optimal solution and * r ke (j u re a v kr J the solution can be constructed by L a (uksv r °)uL n (uk°)uL n (v r °). Stop. Theorem 2: Algorithm SP correctly solves NSP in polynomial time when the flow graph G is series-parallel. Proof : Algorithm SP first cut-reduces all of the pendant nodes of G with each cut- reduction followed by a parallel-reduction. It then performs a series-reduction and a parallel-reduction, if needed. This is followed by a cut-reduction if necessary. This process, if repeated, must reduce G to a single arc if G is series-parallel. The graph obtained after each reduction remains series-parallel. We also perform the corresponding operations on G°. Each of these reductions, by Lemmas 3, 4, and 5, preserves the solution to NSP on the original graph G°. Finally, when only a single arc is left in G, the node 18 selection problem can be trivially solved as in Step 6 of SP. The end nodes of the single arc selected in Step 6 provide the two nodes to be selected from the node-families that remain in Step 6. The nodes to be selected from other node-families, which were in the original graph G°, are given by the labels on the arc selected in Step 6. To show the polynomial complexity we note that every cut-reduction and every series-reduction eliminates one node of the flow graph. Furthermore, each such reduction adds at most one parallel arc to the flow graph. If G has (3 nodes, there cannot be more than (3 series and cut-reductions and at most (3 parallel-reductions. Since the complexity of series-reduction dominates the complexity of other two reductions, the complexity of algorithm SP is bounded above by the effort for P series-reductions. If X = maximum {IN u I:ug V(G)}, then this bound is given by 0(p*X 3 ).«» Corollary : The complexity of solving an MMMC problem with m new facilities and n nodes when the flow graph is series-parallel is 0(m*n 3 ). «» 5. An Example of NSP When the Flow Graph is Series-Parallel Consider the flow graph G and the G-partite graph, G° in Figure 1. Figure 2 shows the weights on the arcs in G° which are presented in the form of matrices. The problem data in Figures 1 and 2 were possibly derived from an instance of MMMC by using equations (2) through (7). We do not illustrate the reduction of MMMC to NSP as doing this is fairly straightforward. Note that in this problem, new facilities a and c are each restricted to one of two locations, and new facilities b and d each have three potential location sites. The entry in row 1 and column 3 of the first of the matrices in Figure 2 is the weight of the arc joining node 1 of o c and node 3 of Gd- In G°, the label on the arc joining nodes Uk and v r is L a (uk,v r )= { } and the label on each node Uk is L n (uk)={uk}. Now we apply algorithm SP to solve NSP on G°. Iteration 1 : Step 0: k <-l, G°if-G°, Gi<-G. 2D={a,b}. 19 Step 1: Vertex d in Gi has degree one. Go to Step 2. Step 2: d is adjacent to c and (d,c) is not the only arc of Gi. Call procedure CR(Gd,0" c ). Procedure CRfa^oV) Step 1: Select arc (c,a) of Gi Step 2: For node ci of G c min of {5,4,8} is 4 and occurs for node d2 In G°i add arcs a'(ci,ai) and a'(ci,a2), each with cost 4 and label {d 2 }. For node c 2 of a c , min of {7,9,6} is 6 and occurs for node d3 in o~d- In G°i add arcs a'(c2,ai) and a'(c2,a2), each with cost 6 and label {d 3 }. . Step 3: Delete o c Step 4: Return Set this graph to G°2 Cut reduce node d in Gi and set this graph to G2 (Figure 3 ). Set k to 2 {In Figure 3b, the first matrix corresponds to the weights on the new arcs that are added in Iteration 1 } Add (c,a) to PA and go to Step 5. Iteration 2: Step 5: We choose (c,a) e PA and call procedure PR(a c ,a a ). Procedure PRCGp.qQ Step 1: Pick nodes ai e o~ a , c\ e a c m Delete one of the two parallel arcs. Add the weight and label of the deleted arc to the weight and label of the other arc (new weight = 5+4 = 9; new label = { }u{d 2 } = {d 2 }). Step 2: We continue Step 1 until no parallel arcs remain between o c and o~ a . Step 3: Return. Parallel reduce arcs between nodes a and c in G2. Update G3, G°3. Set k to 3. Since c has degree 2 add c to 2D and go to Step 1 (see 20 Figure 4). Iteration 3 : Step 1: Since we do not have a pendant node, we go to Step 3. Step 3: We choose node c e 2D with b and a the adjacent nodes to c in G3. Step 4: Since (b,a) is in G3, we add (b,a) to PA . Call procedure SR(a c ). Procedure SR(oV ) Step 1: b and a are two nodes adjacent to node c in G2 Step 2: Consider nodes b\e o~b and aie o a t^' 1 • /* r DC 3C DC ciC Find min of (co,, + co,,, co 12 + co 12 orminof {9+9, 19+13} = 18 Minimum occurs for node cie G c Add arc a'(bi,ai) with weight 18 Set the label L a '(bi,ai) f- L a (bi,ci)uL a (ai,ci)u L n (ci) orL a «(bi,ai)={}u{d2}u{ci}={ci,d2} Consider nodes b\e 0"b and a2e o a t"'* 1 • r ( DC 3C DC HC Find min of {co,, + co 21 , co 12 + co 22 or min of {9+11,19+16} = 20 for node ci Add arc a'(bi,a2) with weight 20 Set the label L a -(bi,a2) <~ L a (bi,ci)uL a (a2,ci)u L n (ci) orL a '(bi,a 2 )={}u{d2}u{ci}={ci,d 2 } Consider nodes D2eo"b and aiea a Find min of {co 21 + co,,, co 22 + co, 2 or min of { 1 1+9,6+13} = 19 for node C2 Add arc a'(D2,ai) with weight 19 Set the label L a '(b2,ai) <- L a (b2,C2)uL a (ai,C2)u L n (c2) orL a '(b 2 ,ai)={}u{d3}u{c2}={c2,d 3 } Consider nodes b2e o~b and a2e a a Find min of {co 21 + co 21 , co 22 + co 22 or min of { 11 + 11,6+16} = 22 for node C2 Add arc a'(D2,a2) with weight 22 21 Set the label L a '(b2,a2) <- L a (b2,C2)uL a (a2,C2)u L n (c2) or L a '(b2,a2)={ }u{d3}u{c2}={c 2 ,d 3 } Consider nodes b3GGb and aiea a t^* i • f* € DC 3C DO <-lC Find min of {co^, + co,,, co 32 + &> 12 or min of {14+9,12+13} =23 for node ci Add arc a'(b3,ai) with weight 23 Set the label L a '(b3,ai) <— L a (b3,ci)uL a (ai,ci)u L n (ci) or L a «(b3,ai)={ }u{d2>u{ci }={ci,d 2 } Consider nodes b^e Gb and a2£ 0" a Find min of {co 31 + co, 2 , co 32 + w 22 or min of {14+11,12+16} = 25 for node ci Add arc (b3,a2) with weight 25 Set the label L a '(b3,a2) «- L a (b3,ci)uL a (a2,ci)u L n (ci) orL a '(b3,a2)={}u{d 2 }u{ci}={ci,d2} Step 3: Delete a c . Return. {See Figure 5 for the weights and labels on parallel arcs between a a and Cb- Series reduce c in G3. Update G3 and G°3, set k to 4 and go to Step 5. Iteration 4: Step 5: Edge (b,a)e PA. Call PR(a b ,a a ). Procedure PR(a h.oy) Step 1 : Choose nodes aje a a and b\e Ob, Delete one of the two parallel arcs. Add the weight of the deleted arc to the other arc giving the weight as 18+7=25. Add the labels on the two parallel arcs = {cid 2 }u{}={cid 2 } Step 2: We continue Step 1 until no parallel arcs remain (Figure 6 give the weights and labels, before and after this reduction). Step 3: Return. Parallel reduce arcs between nodes b and c in G4. 22 Update G4, G°4. Set k to 5 and go to Step 1. Iteration 5: Step 1: G4 is a single arc, so we go to Step 6. Step 6: We find cofo, = min k6 ab fG ^ {© £} . = min {25,24,23,27,31,29} = 23 and occurs for a r °=ai and bk°=b2 This is the value of the optimal solution. The solution can be constructed by L a (b2,ai)uL n (b2)uL n (ai)={c2,d3,b2,ai} Thus choose node C2^ a c ,d3G o~d,b2e 0"b, and aie o~ a . Stop. {The dark edges along with the nodes incident by the dark edges in Figure 7 depicts the solution. } 6. M-Center Problem With Mutual Communication In the m-center problem with mutual communication (as defined by Kolen (1982)), we want to find the location of the m new facilities to minimize the maximum of the interaction costs of new and existing facilities, interaction costs of pairs of new facilities, and the fixed cost of locating a new facility (this term is not included in (Kolen, 1982)). In what follows, we consider the node-restricted version of the problem. There is no loss of generality here since we can find (see Hooker, Garfinkel, and Chen , 1988) a finite number of points on the transport network such that in an optimal solution to the problem each new facility will be at one of the points. Thus we can declare these points to be nodes of X. In our version of the problem, denoted by MCMC, we assume each existing facility is located at some node of X. Thus we again use the convention that nodes of X (as well as locations of existing facilities) are indexed by k, r, and i. Similar to (MMMC), if there is a node of X with no existing facility, we simply declare it to be an existing facility which has zero interaction with all existing facilities. In addition, we will consider the fixed location costs of the new facilities. We now describe a G-partite graph G° and a bottleneck version of NSP, denoted by B-NSP, on G°, which if solved, will solve (MCMC). For each new facility, u, we again 23 define a node-family g u , consisting of nodes {uk, ke N u } where N u is the set of feasible locations (nodes of T) for new facility u. If new facility u interacts with new facility v, i.e., b uv > 0, there is an arc in G° between every member of a u and c v . Consider uk e o u and v r e o v . A choice of these nodes corresponds to new facility u being located at node k of X and new facility v being located at node r of X. The cost of arc (uk,v r ) is defined to be maximum of the following terms: a) f u k, b) f vr , c) b uv d(k,r), d) max; (a v id(r,i)}, and e) max; {auid(k,i)}. Terms a) and b) reflect the fixed cost of locating new facilities u and v at nodes k and r, respectively. Term c) is the cost of interaction between new facilities u and v, given their locations. Term d) (e)) represents the maximum cost of interaction between new facility v (u) and any existing facility. With this definition of the cost of each arc in G°, the B-NSP on G° to solve (MCMC) can be stated as follows: find an induced subgraph, S(G°), of m nodes of G°, such that S(G°) contains one node of each node-family and where the maximum of the arc costs of the arcs of S(G°) is minimum. We now point out the changes required in the procedures described in Section 4 to solve B-NSP. Algorithm SP remains identical except that instead of calling procedures CR, PR, and SR, it will call procedures CR (as before) as well as SR' and PR', described below. To distinguish these procedures from the previous procedures we name them b- series-reduction and b-parallel-reduction, respectively. PROCEDURE SR'(o q ) Step 2 For each pair of nodes Uk e o u , v r e a v , find q p ° giving max{to£> , CO^o) = min^ {max{co u k q p , co^} }. Add an arc a'(uk , v r ) with weight equal to max{co? q , <^3) and Kp rp let the label of this new arc be L a '(v r ,uk) «- L a (v r ,q p °)uL a (uk,qp )u L n (q p °) . Lemma 3' : For a G-Partite graph G° with a node-family o~q such that q has degree two in G, let G° and G be the results of b-series-reducing node-family o~q and node q in G° and G, respectively. An optimal solution to (B-NSP) on G° can be constructed using the nodes and arc labels of an optimal solution to (B-NSP) on G°. Furthermore, the complexity of 24 procedure SR'(.) is 0(IN u l*IN v l*INql) where u and v are the nodes of G adjacent to node q. Proof: In the objective function of NSP the sum of arc weights is computed whereas in B- NSP, the maximum of arc weights is taken. Thus, while performing the b-series-reduction, instead of looking at the sum of weights on arcs (uk,q p ) and (v r , q p ) we focus on the maximum of the weights on these two arcs. The proof follows exactly the same arguments as in the proof of Lemma 3, except that the '+' operator is replaced by the 'max' operator. «» PROCEDURE PR'(a u , G v ) Step 1 : For any two nodes u^ e a u and v r e o~ v such that there are parallel arcs between them, replace the parallel arcs by a new arc with weight equal to the maximum of arc weights on the arcs just deleted and label equal to the union of the labels on the deleted arcs. Lemma 5': For a G-Partite graph G° with node-families a u and o" v such that there are two arcs between every node u^ e o~ u and v r e a v , let G° and G be the results of b-parallel- reducing node-families 0" u and o~ v of G° and nodes u and v in G, then an optimal solution to (B-NSP) on G° can be constructed using the nodes and arc labels of an optimal solution to (B-NSP) on G°. Furthermore, PR'(.) can be performed in 0(IN u l*IN v l) time. Proof: The proof of this Lemma is similar to the proof of Lemma 5, but again the 'max' operator is replaces the '+' operator. «» Note that no modifications are required in PROCEDURE CR(.). Following the notation as in CR, for any node Uk e a u , the node in 0"q for B-NSP will also be selected by finding q p ° which minimizes oar*. If we add additional arcs A' , and delete Gq, the solutions on the two graphs for B-NSP remain equivalent (see proof of Lemma 4). 25 7. Conclusions In this paper we have provided polynomial time algorithms for special cases of the m-median and m-center problems with mutual communication. The special case is characterized by the structure of the flow graph. First, we reformulated the m-median problem with mutual communication as a quadratic location problem which was then formulated as a node selection problem posed on a G-partite graph. Then we presented an algorithm (Algorithm SP) which solves NSP when the flow graph is series-parallel. The m-center problem with mutual communication was formulated as the bottleneck version of the node selection problem (B-NSP). We presented the modifications required in Algorithm SP to solve B-NSP. Algorithm SP is a general algorithm to solve any problem which can be modeled as an NSP. As an example, consider the 0-1 quadratic programming problem (Barahona, 1986): (QP): min l/2xtQx + ex = Zi=i.. n Ej=i+i... n QijXiXj + Zi=i.. n CiXi, x e {1,0}. To model QP as an NSP we create a G-partite graph, G°, with a node-family for each x { which has two nodes, n;o and nn. Node nio (n\\) corresponds to the variable x\ taking the value (1). Join two node-families if and only if qy > 0. The weight on arc (nn, riji) is initially set equal to q,j and all other arcs between C[ and Oj are initially given weight 0. To account for the linear costs Cj, we select a j such that qij > 0, and add c\ to the weight on arcs (nn, n j0) ar >d ( n ii» n jl)- It is easy to see that NSP(G°) is a reformulation of QP. Thus when the graph defined by qjj's is series-parallel, QP can be solved in 0(n*2 3 ) time. As we noted earlier, Barahona (1986) also has a linear time algorithm for this case of QP but he solves it by converting it to a weighted max-cut problem on a graph H which has one additional node adjacent to all nodes of the flow graph defined by the qy's. We now discuss certain generalization of series-parallel flow graphs for which NSP can be solved in polynomial time. To give an example of this generalization, consider a series-parallel graph G' and a graph Bi which has two special nodes, u' and v\ denoted as terminals (Figure 8). If we replace arc (u,v) in G by the graph Bi we get a graph G which is no longer series-parallel (Figure 9). Here we define replacement of an arc (u,v) of a 26 graph G' by a graph Bi (with two terminals u' and v') as: delete arc (u,v) in G' and attach graph Bi to G' such that node u' coincides with node u and node v' coincides with node v. In order to solve an NSP on a G-partite graph, G°, corresponding to the flow graph G defined above, we proceed as follows: for a choice of node pairs Uk° e a u and v r ° e a v , find the optimal nodes in node-families o n i and o*n2 ^d let these two nodes be denoted by the set R(k°,r°). Note that once we choose nodes Uk° e G u and v r ° e cr v , the optimal choice of nodes in o~ n i and a n 2 is independent of the solution on the remainder of G. Also, note that due to the structure of Bi, finding the optimal nodes on the remainder of B\, i.e., finding R(k°,r°), with uk° and Vr° fixed can be done in polynomial time. Let w(k°,r°) denote the sum of the weights on the arcs in the graph induced by nodes {uk o ,v r °}uR(k ,r )- Insert arc (uic°,v r o ) with weight w(k°,r°) in G°. Repeat this process for every choice of node pairs Uk e o~ u and v r e a v , then delete node families 0" n i and a n 2 from the G-partite graph G°. The new G-partite graph corresponds to the series -parallel flow graph G'. It is easy to see that given an optimal solution to NSP on the new G-partite graph we can construct an optimal solution to NSP on the original G-partite graph. Thus, we can solve NSP with flow graph G in Figure 9, which is not series-parallel, in polynomial time To generalize the above, we define a family of graphs, it. Graph Bj is a member of K if there are two terminal u and v of Bj, such that for arbitrary fixed nodes, Uk° e 0" u and Vr° e o v , S*(G°(Bi), \\f) can be computed in polynomial time, where G°(Bi) is the G-partite graph corresponding to Bj and with \\f = {u^, v r °). If we obtain a flow graph G by replacing some arcs of a series-parallel graph by a member of k, we can still solve NSP with flow graph G in polynomial time. Campbell and Rardin (1987) have defined a similar class of generalized series-parallel graphs, which they called series- parallel block graphs, and they give an algorithm to recognize the series-parallel block graphs in polynomial time. The algorithm in (Campbell and Rardin, 1987) when applied to a graph G, will give a set of graphs with two terminals. If all the graphs in this set are member of the family n, then NSP on G can be solved in polynomial time. 27 References Barahona, F., "A Solvable Case of Quadratic 0-1 Programming," EH sere te Applied Mathematics , Vol. 13, 1986, pp. 23-26. Campbell, B. A. and R. L. Rardin, "Steiner Tree Problem on Series-Parallel Block Graphs I: Polynomial Recognition and Solution," Tech. Report CC-87-17, School of Industrial Engineering, Purdue University. Dealing, P. M, R. L. Francis, and T. J. Lowe, "Convex Location Problems on Tree Networks," Operations Research . Vol. 24, 1976, pp. 628-642. Erkut, E., R. L. Francis, and T. J. Lowe, "A Multimedian Problem with Interdistance Constraints." Environment and Planning B: Planning and Design . Vol. 15, 1988, pp. 181- 190. Erkut, E., R. L. Francis, T. J. Lowe, and A. Tamir, "Equivalent Mathematical Programming Formulations of Monotonic Tree Network Location Problems," Operations Research . Vol. 37(3), 1989, pp. 447-461. Francis, R. L., T. J. Lowe, and H. D. Ratliff, "Distance Constraints for Tree Network Multifacility Location Problems." Operations Research . Vol. 26, 1978, pp. 570-596. Hooker, J. N., R. S. Garfinkel, and C. K. Chen, "Finite Dominating Sets for Network Location Problem," Working Paper 19-87-88, Carnegie Mellon University, March 1988 Kolen, A., "Location Problems on Trees and in the Rectilinear Plane," Stitch ting Mathematisch centrum, Kruislaan 413, 1098 SJ, Amsterdam, The Netherlands, 1982. Picard, J-C and H. D. Ratliff, "A Cut Approach to the Rectilinear Distance Facility Location Problem," Operations Research . Vol. 28, 1978, pp. 422-433. Rardin, R. L., R. G. Parker, and M. B. Richey, "A Polynomial Algorithm for a Class of Steiner Tree Problems on Graphs," ISyE Report Series J-82-5, Georgia Tech., August, 1982. Rendl, F., "Quadratic Assignment Problems on Series-Parallel Digraphs," Zeitschrift fur Operations Research . Vol. 30, 1986, pp. A161-A173. Richey, M. B., "Optimal Location of a Path or Tree on a Network with Cycles," Working Paper, George Mason University, 1989. Takamizawa, K., T. Nishizeki, an S. Saito, "Linear- Time Computability of Combinatorial Problems on Series-Parallel Graphs," J. of the ACM . Vol. 29, 1982, pp. 623-641. Wald, J. A. and C. J. Colbourn, "Steiner Trees, Partial 2-Trees, and Minimum DFI Networks." Networks . Vol. 13, 1983, pp. 159-167. Xu, Y., R. L. Francis, and T. J. Lowe, "The Multimedian Problem on a Network: Exploiting Block Structure," Working Paper, Department of Industrial and Systems Engineering, University of Florida, Gainesville, Florida, 1988. 28 Graph G (a) IN a l = IN C I = 2, IN b l = IN d l =3 G-Partite Graph G° (b) Figure 1 . Graphs G and G ( Weights X 1 2 3 1 5 4 8 2 7 9 6 Weights * 1 2 1 5 7 2 7 10 Weights ^ 1 2 3 1 9 11 14 2 19 6 12 Weights s 1 2 3 1 7 4 8 2 4 5 4 Figure 2. Weights on G° 29 New arcs (a) Graph G2 Weights Weights ^ 1 2 * 1 2 1 4 4 1 5 7 2 6 6 2 7 10 Weights > 1 2 3 1 9 11 14 2 19 6 12 (b) Weights on arcs in G°2 Weights s 1 2 3 1 7 4 8 2 4 5 4 La*(ci,ai)= {d2} L a '(c2,ai)= {d3} L a '(ci,a2)= {d2} L a '(c2,a2)= {d3} (c) New Labels Figure 3. End of iteration 1 (a) Graph G3 Weights Weights V 1 2 ^ 1 2 3 1 9 11 1 9 11 14 2 13 16 2 19 6 12 Weight! i > 1 2 3 1 7 4 8 2 4 5 4 La(ci,ai)= {d2} L a (c2,ai)= (d3) (b) Weights on arcs in G°3 L a (ci,a2)= {d2} L a (c2,a2)= {d3} (c) New Labels Figure 4. End of Iteration 2 30 Weights Weights Vi 1 2 3 V a\ 1 2 3 1 7 4 8 1 18 19 23 2 4 5 4 2 20 22 25 Previous Arcs New Arcs (a') (a) Graph G4 (b) Weights on arcs in G°4 Labels: New Arcs (a') La'(ai,bi)={ci,d2) L a '(ai,b2) ={c2,d3) L a '(ai,D3) ={ci,d2) L a '(a2,bi) ={ci,d2) La'(a2,b2) ={c2,d3) L a '(a2,b3) ={ci,d2) Figure 5. End of Iteration 3 (a) Graph G5 Weights Vi 1 2 3 1 25 23 31 2 24 27 29 (b) Weights on G° 5 Labels same as the labels on the New Arcs a' in Iteration 3 Figure 6. End of Iteration 4 31 Figure 7. Algorithm SP: The Solution Bl Figure 8. Series-Parallel Graph G' with a Block B 1 Graph G Figure 9. Graph G Obtained by Replacing Edge (u,v) in G' by Bl