Primal-dual schema based approximation algorithms
One runs into the following dilemma while designing an approximation algorithm for an NP-hard optimization problem: for establishing the performance guarantee of the algorithm, the cost of the solution found needs to be compared with that of the optimal; however, computing the cost of the optimal is NP-hard as well. Hence a key consideration is establishing a good lower bound on the cost of the optimal solution, assuming we have a minimization problem. For optimization problems that can be expressed as integer programming problems, the following general methodology has been quite successful: use the cost of the optimal solution to the LP-relaxation as the lower bound. In fact, LP-duality not only provides a method of lower bounding the cost of the optimal solution, but also a general schema for designing the algorithm itself: the primal-dual schema. This schema has been applied to several problems including set cover and its generalizations [Jo, Lo, Ch, RV], the generalized Steiner network problem [AKR, GW, KR, WGMV, G+], and finding integral multicommodity flow and multicut in trees [GVY].
The primal-dual schema enables one to find special solutions to an LP, although so far it has only been used for obtaining good integral solutions to an LP-relaxation. In the past, the primal-dual schema has yielded the most efficient known algorithms to some cornerstone problems in P, including matching, network flow and shortest paths. These problems have the property that their LP-relaxations have optimal solutions that are integral, and so the primal-dual schema is able to find an optimal solution to the original integer program. Since numerous NP-hard optimization problems can be expressed as integer programs, this schema holds even more promise in the area of approximation algorithms.
The main idea behind this schema is the following: Consider the LP-relaxation, the primal LP, and obtain its dual; we are assuming that the primal is a minimization problem, and the dual is a maximization problem. We start with a primal infeasible solution and a dual feasible solution. Next, we iteratively improve the feasibility of the primal solution, and the optimality of the dual solution, always ensuring that the primal solution is extended integrally. During these iterations, the current primal solution is used to determine the improvement to the dual, and vice versa. We terminate when a primal feasible solution is obtained; clearly, this solution will be integral. Furthermore, the cost of the dual solution will be a lower bound on the cost of the optimal primal solution, and hence also a lower bound on the cost of the optimal solution to the original integer program. Hence, by comparing the cost of the primal solution with that of the dual solution, we obtain the approximation guarantee. Despite being so general, this schema leaves sufficient scope for exploiting the special combinatorial structure of the specific problem: in designing the solution improving algorithms, and in comparing the final solutions, thereby yielding very good approximation guarantees.
Solutions found using this schema have been used in practice. In particular, the algorithm for the generalized Steiner nework problem given in [WGMV] was implemented at Bellcore [MDMS], and forms the algorithmic core of their product, the CCSN Toolkit, a network design package.
Unable to display preview. Download preview PDF.
- [AKR]A. Agrawal, P. Klein, and R. Ravi, “When trees collide: An approximation algorithm for the generalized Steiner problem in networks,” Proceedings, 23rd Annual ACM Symposium on Theory of Computing, 1991.Google Scholar
- [Ch]V. Chvatal, “A greedy heuristic for the set covering prob lem,” Math. Oper. Res. 4, 233–235, 1979.Google Scholar
- [GVY]N. Garg and V.V. Vazirani and M. Yannakakis, “Primal-dual approximation algorithms for integral flow in trees, with applications to matching and set cover,” Proceedings, 20th International Colloquium on Automata, Languages and Programming, 1993.Google Scholar
- [GW]M.X. Goemans and D.P. Williamson, “A general approximation technique for constrained forest problems,” Proceedings, 3rd Annual ACM-SIAM Symposium on Discrete Algorithms, 307–316, 1992.Google Scholar
- [G+]M.X. Goemans, A. Goldberg, S. Plotkin, D. Shmoys, E. Tardos, and D.P. Williamson, “Improved approximation algorithms for network design problems,” Proceedings, 5th Annual ACM-SIAM Symposium on Discrete Algorithms, 1994.Google Scholar
- [Jo]D. S. Johnson, “Approximation Algorithms for Combinatorial Problems,” J. Comput. Sys. Sci. 9, 256–278, 1974.Google Scholar
- [KR]P.N. Klein and R. Ravi “When cycles collapse: A general approximation technique for constrained two connectivity problems”, Proceedings, 3rd Integer Programming and Combinatorial Optimization Conference, 39–56, 1993.Google Scholar
- [MDMS]M. Mihail, N. Dean, M. Mostrel, and D. Shallcross “Algorithm Specifications for the Common Channel Signaling Network Topology Analyzer Feature of Integrated Technology Planning,” August 1994 release, Issue 3, Bellcore TMARA-24103, 1994.Google Scholar
- [RV]S. Rajagopalan and V. V. Vazirani, “Primal-Dual RNC Approximation Algorithms for (multi)Set (multi)Cover and Covering Integer Programs,” Proceedings, 34th Annual Conference on the Foundations of Computer Science, 1993.Google Scholar
- [WGMV]D. P. Williamson, M. X. Goemans, M. Mihail, and V. V. Vazirani, “A Primal-Dual Approximation Algorithm for Generalized Steiner Network Problems,” Proceedings, 25th ACM Symposium on Theory of Computing, 1993.Google Scholar