Book contents
- Frontmatter
- Contents
- Preface
- I An Introduction to the Techniques
- 1 An Introduction to Approximation Algorithms
- 2 Greedy Algorithms and Local Search
- 3 Rounding Data and Dynamic Programming
- 4 Deterministic Rounding of Linear Programs
- 5 Random Sampling and Randomized Rounding of Linear Programs
- 6 Randomized Rounding of Semidefinite Programs
- 7 The Primal-Dual Method
- 8 Cuts and Metrics
- II Further Uses of the Techniques
- Appendix A Linear Programming
- Appendix B NP-Completeness
- Bibliography
- Author Index
- Subject Index
7 - The Primal-Dual Method
from I - An Introduction to the Techniques
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- I An Introduction to the Techniques
- 1 An Introduction to Approximation Algorithms
- 2 Greedy Algorithms and Local Search
- 3 Rounding Data and Dynamic Programming
- 4 Deterministic Rounding of Linear Programs
- 5 Random Sampling and Randomized Rounding of Linear Programs
- 6 Randomized Rounding of Semidefinite Programs
- 7 The Primal-Dual Method
- 8 Cuts and Metrics
- II Further Uses of the Techniques
- Appendix A Linear Programming
- Appendix B NP-Completeness
- Bibliography
- Author Index
- Subject Index
Summary
We introduced the primal-dual method in Section 1.5, and showed how it gave an approximation algorithm for the set cover problem. Although there it did not give a better performance guarantee than various LP rounding algorithms, we observed that in practice the primal-dual method gives much faster algorithms than those that require solving a linear program.
In this chapter, we will cover primal-dual algorithms in more depth. We begin by reviewing the primal-dual algorithm for the set cover problem from Section 1.5. We then apply the primal-dual method to a number of problems, gradually developing a number of principles in deciding how to apply the technique so as to get good performance guarantees. In discussing the feedback vertex set problem in Section 7.2, we see that it is sometimes useful to focus on increasing particular dual variables that correspond to small or minimal constraints not satisfied by the current primal solution. In Section 7.3, we discuss the shortest s-t path problem, and see that to obtain a good performance guarantee it is sometimes necessary to remove unneeded elements in the primal solution returned by the algorithm. In Section 7.4 we introduce the generalized Steiner tree problem (also known as the Steiner forest problem), and show that to obtain a good performance guarantee it can be helpful to increase multiple dual variables at the same time. In Section 7.5, we see that it can be useful to consider alternative integer programming formulations in order to obtain improved performance guarantees.
- Type
- Chapter
- Information
- The Design of Approximation Algorithms , pp. 157 - 192Publisher: Cambridge University PressPrint publication year: 2011