Chapter
36
An Approximation Algorithm Minimum-Cost Vertex-Connectivity David
R. Ravi*
Princeton
P. Williamsont
Cornell University
University
Abstract
in which Tij = k for all pairs of vertices i, j. The survivable network design problem has received a good deal of attention in the literature recently, as it can be used to model the design of low-cost telephone networks that can “survive” certain types of edge and node failures. An edge cost ce denotes the cost of laying a fiber-optic cable between the endpoints of edge e, and a value rij denotes the number of edge and node failures that must occur in the network before i and j are completely disconnected. In most applications, the values of rij tend to be quite low, usually no more than two for all vertex pairs, since failures are assumed to be isolated accidents, such as fires at nodes [15, 191. We will call the problem in which rij E (0, 1,2} the (0, 1,2}-survivable network design problem. The survivable network design problem is known to be NP-hard even in the case of the minimumcost 2-vertex-connectivity problem [2], even if the edge
We present an approximation algorithm for solving graph problems in which a low-cost set of edges must be selected In the that has certain vertex-connectivity properties. survivable network design problem, one is given a value TQ for each pair of vertices i and j, and must find a minimumcost set of edges such that there are rij vertex-disjoint paths between vertices i and j. In the case for which Tij E (0, 1,2}. for all i,j, we can find a solution of cost no more than 3 times the optimal cost in polynomial time. In the case in which rij = k for all i,j, we can find a solution of cost no more than 27-l(k) times optimal, where algorithms B(n) = 1 + 4 + . . . + 6. No approximation were previously known for these problems. Our algorithms rely on a primal-dual approach which has recently led to approximation algorithms for many edge-connectivity problems.
costs are either
1
Introduction
case of the survivable
network
design
1 or 2. Because
of this, many heuristics
have been devised to find solutions to the survivable network design problem; see Stoer [19][Chap. 31 for a survey. In particular, Monma and Shallcross [15] devised local improvement heuristics for a special case of
Let G = (V,E) b e an undirected graph with nonnegative costs c, > 0 on all edges e E E. In the survivable network design problem, one is given a nonnegative integer rij for each pair of vertices i, j, and must find a minimum-cost set of edges E’ s E such that for every i, j pair there are at least ~ij vertexdisjoint paths between i and j in the graph (V, E’). The minimum-cost k-vertex-connectivity problem is a special
for Problems
the (0, 1,2}-survivable from Bellcore network
network design design problems;
problem arising these heuristics
were used in a Bellcore software package. Monma,
and Stoer
[5] implemented
GrMschel,
a branch-and-cut
algorithm for the same problem. A difficulty with such heuristics for the survivable network design problem, however, is that the so-
problem
lution
produced
may
not have
cost guaranteed
‘Address: Department of Computer Science, Princeton University, 35 Olden Street, Princeton, NJ 08544-2087. Research supported by NSF Grant CCR-91-03937 and a DIMACS postdoctoral fellowship. This research was conducted in part while the author was visiting MIT. Email: ravi@cs .princeton. edu. tAddress: School of Operations Research and Industrial Engineering, 237 ETC Building, Cornell University, Ithaca, NY 14853. Email: dpuQcs. Cornell. edu. Research supported by an NSF Graduate Fellowship and an NSF Postdoctoral Fellowship. This research was conducted in part while the author was a graduate student at MIT.
cial
cases of the survivable
An a-approximation
network
algorithm
to be
For this solution. algorithms for spe-
close to the cost of the optimal reason, we consider approximation
design
problem.
is a polynomial-time
algorithm that produces a solution of cost no more than (Y times the value of an optimal solution. We give the first known approximation algorithm for the
most practical variant of the survivable network design problem in which rij E { 0, 1,2} for all pairs of vertices i, j. The algorithm produces solutions of value 332
AN APPROXIMATION ALGORITHM FORVERTEX-CONNECTIVITY no more than 3 times the optimal value. Furthermore, we give the first known approximation algorithm for the minimum-cost k-vertex-connectivity problem. Our algorithm produces solutions of value no more than 27-L(k) times optimal, where X(n) = 1+ $ + ... + :. Our work flows out of a recent line of research on designing approximation algorithms for edgeconnectivity problems [l, 4, 3, 12, 231. This research has led to a 2X(maxi,j rij)-approximation algorithm for the survivable network design problem in which there must be rij edge-disjoint paths between vertices i and j. In fact, one can approximate very general types of connectivity problems in which for each subset of vertices S, there must be at least f(S) edges selected from 6(S), where S(S) = {(u,v) E E : u E S,v $ S} and f(S) is a function f : 2v + N of a certain form. We will follow the general approach of these algorithms. The algorithms break down the problem into a number of phases. In each phase, we specify certain vertex sets S that must be augmented; that is, we must select an additional edge from S(S) of each specified set S. This augmentation problem is formulated as an integer programming problem, and the problem is solved by using a variant of the primal-dual method. For a more detailed presentation of the algorithm and an overview of this line of research, see Williamson [21]. Implementations of the edge-connectivity algorithms have shown that they work well in practice [22, 141, coming within a few percent of optimal. We expect that the same will also be true of our new algorithms. Very few optimal or approximation algorithms known were solving for minimumcost vertex-connectivity problems prior to our work. Khuller and Thurimella [ll] give a 3-approximation algorithm for the minimum-cost 2-vertex-connectivity problem. Khuller [lo] showed a 2( I+ :)-approximation algorithm for the same problem in an n-node graph. Most of the known results for vertex-connectivity problems are for the restricted case in which the graph G is complete and all edge costs are identical. In this case, Harary [6] h as shown how to find an optimal solution for the k-vertex-connectivity problem. In this setting, Jordan [9] has shown how to augment any kvertex-connected graph to a k + 1 vertex-connected graph using at most k - 2 more edges than necessary. Optimal algorithms are known to augment any starting graph to a 2-vertex-connected graph (Eswaran and Tarjan [2]) or to a 3-vertex-connected graph (Watanabe and Nakamura [20], Hsu and Ramachandran [S]). Hsu [7] has shown how to augment optimally any 3vertex-connected graph to a 4-vertex-connected graph. The rest of the paper is structured as follows. Section 3 describes the approximation algorithms by show-
PROBLEMS
333
ing how they can be reduced to an augmentation algorithm. Section 4 proves that the algorithms provide near optimal solutions. Section 5 shows how the algorithms can be implemented in polynomial time, and we conclude in Section 6 with a few remarks. We first begin with some preliminary definitions and concepts in Section 2.
2
Notation Definitions
and Basic
Given a set of edges 1 and a set of vertices S, we define rr (S) to be the “vertex neighborhood” of S with respect to 1; that is, rl(S) = {U E V - S : (u, v) E I for some u E S}. The “vertex complement” of S,