Front Matter
Total Page:16
File Type:pdf, Size:1020Kb
Cambridge University Press 978-0-521-19527-0 - The Design of Approximation Algorithms David P. Williamson and David B. Shmoys Frontmatter More information The Design of Approximation Algorithms Discrete optimization problems are everywhere, from traditional operations research plan- ning problems, such as scheduling, facility location, and network design; to computer science problems in databases; to advertising issues in viral marketing. Yet most such prob- lems are NP-hard. Thus unless P = NP, there are no efficient algorithms to find optimal solutions to such problems. This book shows how to design approximation algorithms: efficient algorithms that find provably near-optimal solutions. The book is organized around central algorithmic techniques for designing approxi- mation algorithms, including greedy and local search algorithms, dynamic programming, linear and semidefinite programming, and randomization. Each chapter in the first part of the book is devoted to a single algorithmic technique, which is then applied to several different problems. The second part revisits the techniques but offers more sophisticated treatments of them. The book also covers methods for proving that optimization problems are hard to approximate. Designed as a textbook for graduate-level algorithms courses, the book will also serve as a reference for researchers interested in the heuristic solution of discrete optimization problems. David P. Williamson is a Professor at Cornell University with a joint appointment in the School of Operations Research and Information Engineering and in the Department of Information Science. Prior to joining Cornell, he was a Research Staff Member at the IBM T.J. Watson Research Center and a Senior Manager at the IBM Almaden Research Center. He has won several awards for his work on approximation algorithms, including the 2000 Fulkerson Prize, sponsored by the American Mathematical Society and the Math- ematical Programming Society. He has served on several editorial boards, including ACM Transactions on Algorithms, Mathematics of Operations Research, the SIAM Journal on Computing, and the SIAM Journal on Discrete Mathematics. David B. Shmoys is a Professor at Cornell University with appointments in both the School of Operations Research and Information Engineering and the Department of Computer Sci- ence. He is currently Associate Director of the Institute for Computational Sustainability at Cornell. He is a Fellow of the ACM, was an NSF Presidential Young Investigator, and has served on numerous editorial boards, including Mathematics of Operations Research (for which he is currently an associate editor), Operations Research, ORSA Journal on Computing, Mathematical Programming, and both the SIAM Journal on Computing and Journal on Discrete Mathematics; he also served as editor-in-chief for the latter. © in this web service Cambridge University Press www.cambridge.org Cambridge University Press 978-0-521-19527-0 - The Design of Approximation Algorithms David P. Williamson and David B. Shmoys Frontmatter More information The Design of Approximation Algorithms David P. Williamson Cornell University David B. Shmoys Cornell University © in this web service Cambridge University Press www.cambridge.org Cambridge University Press 978-0-521-19527-0 - The Design of Approximation Algorithms David P. Williamson and David B. Shmoys Frontmatter More information cambridge university press Cambridge, New York, Melbourne, Madrid, Cape Town, Singapore, Sao˜ Paulo, Delhi, Tokyo, Mexico City Cambridge University Press 32 Avenue of the Americas, New York, NY 10013-2473, USA www.cambridge.org Information on this title: www.cambridge.org/9780521195270 C David P. Williamson and David B. Shmoys 2011 This publication is in copyright. Subject to statutory exception and to the provisions of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of Cambridge University Press. First published 2011 Printed in the United States of America A catalog record for this publication is available from the British Library. Library of Congress Cataloging in Publication data Williamson, David P. The design of approximation algorithms / David P. Williamson, David B. Shmoys. p. cm. Includes bibliographical references and index. ISBN 978-0-521-19527-0 (hardback) 1. Approximation theory. 2. Mathematical optimization. I. Shmoys, David Bernard. II. Title. QA221.W55 2011 518.5–dc22 2011001945 ISBN 978-0-521-19527-0 Hardback Cambridge University Press has no responsibility for the persistence or accuracy of URLs for external or third-party Internet Web sites referred to in this publication and does not guarantee that any content on such Web sites is, or will remain, accurate or appropriate. © in this web service Cambridge University Press www.cambridge.org Cambridge University Press 978-0-521-19527-0 - The Design of Approximation Algorithms David P. Williamson and David B. Shmoys Frontmatter More information Contents Preface page ix I An Introduction to the Techniques 1 An Introduction to Approximation Algorithms 3 1.1 The Whats and Whys of Approximation Algorithms 3 1.2 An Introduction to the Techniques and to Linear Programming: The Set Cover Problem 6 1.3 A Deterministic Rounding Algorithm 9 1.4 Rounding a Dual Solution 10 1.5 Constructing a Dual Solution: The Primal-Dual Method 14 1.6 A Greedy Algorithm 15 1.7 A Randomized Rounding Algorithm 19 Exercises 22 Chapter Notes 24 2 Greedy Algorithms and Local Search 27 2.1 Scheduling Jobs with Deadlines on a Single Machine 28 2.2 The k-Center Problem 30 2.3 Scheduling Jobs on Identical Parallel Machines 32 2.4 The Traveling Salesman Problem 35 2.5 Maximizing Float in Bank Accounts 40 2.6 Finding Minimum-Degree Spanning Trees 43 2.7 Edge Coloring 47 Exercises 51 Chapter Notes 54 3 Rounding Data and Dynamic Programming 57 3.1 The Knapsack Problem 57 3.2 Scheduling Jobs on Identical Parallel Machines 61 v © in this web service Cambridge University Press www.cambridge.org Cambridge University Press 978-0-521-19527-0 - The Design of Approximation Algorithms David P. Williamson and David B. Shmoys Frontmatter More information vi contents 3.3 The Bin-Packing Problem 66 Exercises 70 Chapter Notes 71 4 Deterministic Rounding of Linear Programs 73 4.1 Minimizing the Sum of Completion Times on a Single Machine 74 4.2 Minimizing the Weighted Sum of Completion Times on a Single Machine 76 4.3 Solving Large Linear Programs in Polynomial Time via the Ellipsoid Method 79 4.4 The Prize-Collecting Steiner Tree Problem 80 4.5 The Uncapacitated Facility Location Problem 83 4.6 The Bin-Packing Problem 88 Exercises 93 Chapter Notes 96 5 Random Sampling and Randomized Rounding of Linear Programs 99 5.1 Simple Algorithms for MAX SAT and MAX CUT 100 5.2 Derandomization 103 5.3 Flipping Biased Coins 104 5.4 Randomized Rounding 106 5.5 Choosing the Better of Two Solutions 109 5.6 Nonlinear Randomized Rounding 111 5.7 The Prize-Collecting Steiner Tree Problem 113 5.8 The Uncapacitated Facility Location Problem 116 5.9 Scheduling a Single Machine with Release Dates 119 5.10 Chernoff Bounds 124 5.11 Integer Multicommodity Flows 128 5.12 Random Sampling and Coloring Dense 3-Colorable Graphs 130 Exercises 132 Chapter Notes 135 6 Randomized Rounding of Semidefinite Programs 137 6.1 A Brief Introduction to Semidefinite Programming 137 6.2 Finding Large Cuts 139 6.3 Approximating Quadratic Programs 143 6.4 Finding a Correlation Clustering 146 6.5 Coloring 3-Colorable Graphs 149 Exercises 152 Chapter Notes 155 7 The Primal-Dual Method 157 7.1 The Set Cover Problem: A Review 157 7.2 Choosing Variables to Increase: The Feedback Vertex Set Problem in Undirected Graphs 160 7.3 Cleaning Up the Primal Solution: The Shortest s-t Path Problem 164 7.4 Increasing Multiple Variables at Once: The Generalized Steiner Tree Problem 167 © in this web service Cambridge University Press www.cambridge.org Cambridge University Press 978-0-521-19527-0 - The Design of Approximation Algorithms David P. Williamson and David B. Shmoys Frontmatter More information contents vii 7.5 Strengthening Inequalities: The Minimum Knapsack Problem 174 7.6 The Uncapacitated Facility Location Problem 177 7.7 Lagrangean Relaxation and the k-Median Problem 182 Exercises 188 Chapter Notes 191 8 Cuts and Metrics 193 8.1 The Multiway Cut Problem and a Minimum-Cut–Based Algorithm 194 8.2 The Multiway Cut Problem and an LP Rounding Algorithm 195 8.3 The Multicut Problem 201 8.4 Balanced Cuts 206 8.5 Probabilistic Approximation of Metrics by Tree Metrics 210 8.6 An Application of Tree Metrics: Buy-at-Bulk Network Design 215 8.7 Spreading Metrics, Tree Metrics, and Linear Arrangement 218 Exercises 224 Chapter Notes 227 II Further Uses of the Techniques 9 Further Uses of Greedy and Local Search Algorithms 231 9.1 A Local Search Algorithm for the Uncapacitated Facility Location Problem 232 9.2 A Local Search Algorithm for the k-Median Problem 238 9.3 Minimum-Degree Spanning Trees 242 9.4 A Greedy Algorithm for the Uncapacitated Facility Location Problem 246 Exercises 251 Chapter Notes 253 10 Further Uses of Rounding Data and Dynamic Programming 255 10.1 The Euclidean Traveling Salesman Problem 256 10.2 The Maximum Independent Set Problem in Planar Graphs 267 Exercises 275 Chapter Notes 277 11 Further Uses of Deterministic Rounding of Linear Programs 279 11.1 The Generalized Assignment Problem 280 11.2 Minimum-Cost Bounded-Degree Spanning Trees 284 11.3 Survivable Network Design and Iterated Rounding 296 Exercises 303 Chapter Notes 307 12 Further Uses of Random Sampling and Randomized Rounding of Linear Programs 309 12.1 The Uncapacitated Facility Location Problem 310 12.2 The Single-Source Rent-or-Buy Problem 314 12.3 The Steiner Tree Problem 316 © in this web service Cambridge University Press www.cambridge.org Cambridge University Press 978-0-521-19527-0 - The Design of Approximation Algorithms David P.