# An efficient approximation algorithm for the survivable network design problem

## Abstract

The survivable network design problem (SNDP) is to construct a minimum-cost subgraph satisfying certain given edge-connectivity requirements. The first polynomial-time approximation algorithm was given by Williamson et al. (Combinatorica 15 (1995) 435–454). This paper gives an improved version that is more efficient. Consider a graph of*n* vertices and connectivity requirements that are at most*k.* Both algorithms find a solution that is within a factor 2*k* − 1 of optimal for*k* ⩾ 2 and a factor 2 of optimal for*k* = 1. Our algorithm improves the time from O(*k*^{3}n^{4}) to O\((k^2 n^2 + kn^2 \sqrt {\log \log n} )\)). Our algorithm shares features with those of Williamson et al. (Combinatorica 15 (1995) 435–454) but also differs from it at a high level, necessitating a different analysis of correctness and accuracy; our analysis is based on a combinatorial characterization of the “redundant” edges. Several other ideas are introduced to gain efficiency. These include a generalization of Padberg and Rao's characterization of minimum odd cuts, use of a representation of all minimum (*s, t*) cuts in a network, and a new priority queue system. The latter also improves the efficiency of the approximation algorithm of Goemans and Williamson (SIAM Journal on Computing 24 (1995) 296–317) for constrained forest problems such as minimum-weight matching, generalized Steiner trees and others. © 1998 The Mathematical Programming Society, Inc. Published by Elsevier Science B.V.

## Keywords

Network design Approximation algorithm Steiner tree## Preview

Unable to display preview. Download preview PDF.

## References

- [1]A. Agrawal, P. Klein, R. Ravi, When trees collide: An approximation algorithm for the generalized Steiner problem on networks, SIAM Journal on Computing 24 (1995) 440–456.Google Scholar
- [2]P. Berman, V. Ramaiyer, Improved approximations for the Steiner tree problem. Journal of Algorithms 17 (1994) 381–408Google Scholar
- [3]G.N. Frederickson, J. Ja'Ja', Approximation algorithms for several graph augmentation problems, SIAM Journal on Computing 10 (1981) 270–283.Google Scholar
- [4]H. N Gabow, Z. Galil, T.H. Spencer, R.E. Tarjan, Efficient algorithms for finding minimum spanning trees in undirected and directed graphs, Combinatorica 6 (1986) 109–122.Google Scholar
- [5]H.N. Gabow, M.X. Goemans, D.P. Williamson, An efficient approximation algorithm for the survivable networks design problems, in: Proceedings of the Third MPS Conference on Integer Programming and Combinatorial Optimization, 1993, pp. 57–74.Google Scholar
- [6]M. Goemans, A. Goldberg, S. Plotkin, D. Shmoys, E. Tardos, D. Williamson, Improved approximation algorithms for network design problems, in: Proceedings of the Fifth Annual ACM-SIAM Symposium on Discrete Algorithms, 1994, pp. 223–232.Google Scholar
- [7]M.X. Goemans, D.J. Bertsimas, Survivable networks, linear programming relaxation and the parsimonious property, Mathematical Programming 60 (1993) 145–166.Google Scholar
- [8]M.X. Goemans, D.P. Williamson, A general approximation technique for constrained forest problems, SIAM Journal on Computing 24 (1995) 296–317.Google Scholar
- [9]R. Gomory, T. Hu, Multi-terminal network flows, SIAM Journal of Applied Mathematics 9 (1961) 551–570.Google Scholar
- [10]M. Grötschel, C.L. Monma, M. Stoer, Design of survivable networks, in: Network Models (Handbooks in Operations Research and Management Science, vol.7), M.O. Bell, T.L. Magnant, C.L. Monma, G.L. Nemhauser, eds, North-Holland, 1995.Google Scholar
- [11]D. Gusfield, D. Naor, Extracting maximal information about sets of minimum cuts, Algorithmica 10 (1993) 64–89.Google Scholar
- [12]S. Khuller, U. Vishkin, Biconnectivity approximations and graph carvings, Journal of the ACM 41 (1994) 214–235.Google Scholar
- [13]P. Klein, R. Ravi, When cycles collapse: A general approximation technique for constrained two-connectivity problems, in: Proceedings of the Third MPS Conference on Integer Programming and Combinatorial Optimization, 1993, pp. 39–55 (also appears as Brown University Technical Report CS-92-30, to appear in Algorithmica).Google Scholar
- [14]P.N. Klein, A data structure for bicategories, with application to speeding up an approximation algorithm, Information Processing Letters 52 (1994) 303–307.Google Scholar
- [15]K. Mehlhorn, A faster approximation algorithm for the Steiner problem in graphs, Information Processing Letters 27 (1988) 125–128.Google Scholar
- [16]M.W. Padberg, M. Rao, Odd minimum cut-sets and
*b*-matchings, Mathematics of Operations Research 7 (1982) 67–80.Google Scholar - [17]J. Picard, M. Queyranne, On the structure of all minimum cuts in a network and applications, Mathematical Programming Study 13 (1980) 8–16.Google Scholar
- [18]R. Ravi, P. Klein, Approximation through uncrossing, unpublished manuscript.Google Scholar
- [19]D.P. Williamson, On the design of approximation algorithms for a class of graph problems, Ph.D. Thesis, MIT, Cambridge, MA, 1993 (also appears as Tech. Report MIT/LCS/TR-584).Google Scholar
- [20]D.P. Williamson, M.X. Goemans, M. Mihail, V.V. Vazirani, A primal-dual approximation algorithm for generalized Steiner network problems, Combinatorica 15 (1995) 435–454.Google Scholar
- [21]A. Zelikovsky, An 11/6-approximation algorithm for the network Steiner problem, Algorithmica 9 (1993) 463–470.Google Scholar