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