1. Trang chủ
  2. » Giáo án - Bài giảng

the design of approximation algorithms williamson shmoys 2011 04 26 Cấu trúc dữ liệu và giải thuật

496 40 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 496
Dung lượng 2,8 MB

Nội dung

The Design of Approximation Algorithms David P Williamson David B Shmoys c 2010 by David P Williamson and David B Shmoys All rights reserved To be Copyright ⃝ published by Cambridge University Press CuuDuongThanCong.com This electronic-only manuscript is published on www.designofapproxalgs.com with the permission of Cambridge University Press One copy per user may be taken for personal use only and any other use you wish to make of the work is subject to the permission of Cambridge University Press (rights@cambridge.org) You may not post this file on any other website Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com Preface This book is designed to be a textbook for graduate-level courses in approximation algorithms After some experience teaching minicourses in the area in the mid-90s, we sat down and wrote out an outline of the book Then I (DPW), at the time an IBM Research Staff Member, taught several iterations of the course following the outline we had devised, in Columbia University’s Industrial Engineering and Operations Research department in Spring 1998, in Cornell University’s School of Operations Research and Industrial Engineering in Fall 1998, and at the Massachusetts Institute of Technology’s Laboratory for Computer Science in Spring 2000 The lecture notes from these courses were made available, and we got enough positive feedback on them from students and from professors teaching such courses elsewhere that we felt we were on the right track Since then, there have been many exciting developments in the area, and we have added many of them into our book; I taught additional iterations of the course at Cornell in Fall 2006 and Fall 2009 (this time as a Cornell faculty member) in order to field test some of the writing of the newer results The courses were developed for students who have already had a class, undergraduate or graduate, in algorithms, and who were comfortable with the idea of mathematical proofs about the correctness of algorithms The book assumes this level of preparation The book also assumes some basic knowledge of probability theory (for instance, how to compute the expected value of a discrete random variable) Finally, we assume that the reader knows something about NP-completeness, at least enough to know that there might be good reason for wanting fast, approximate solutions to NP-hard discrete optimization problems At one or two points in the book, we an NP-completeness reduction to show that it can be hard to find approximate solutions to such problems; we include a short appendix on the problem class NP and the notion of NP-completeness for those unfamiliar with the concepts However, the reader unfamiliar with such reductions can also safely skip over such proofs In addition to serving as a graduate textbook, we have also envisioned the book as a way for students to get the background to read current research in the area of approximation algorithms In particular, we wanted a book that we could hand our own Ph.D students just starting in the field, and say “Here, read this.” We further hope that the book will serve as a reference to the area of approximation algorithms for researchers who are generally interested in the heuristic solution of discrete optimization problems; such problems appear in areas as diverse as traditional operations research planning problems (such as facility location and network design) to computer science prob3 CuuDuongThanCong.com Preface lems in database and programming language design to advertising issues in viral marketing We hope that the book helps researchers understand the techniques available in the area of approximation algorithms for approaching such problems We have taken several particular perspectives in writing the book The first is that we wanted to organize the material around certain principles of designing approximation algorithms, around algorithmic ideas that have been used in different ways and applied to different optimization problems The title “The Design of Approximation Algorithms” was carefully chosen The book is structured around these design techniques The introduction applies several of them to a single problem, the set cover problem The book then splits into two parts In the first part, each chapter is devoted to a single algorithmic idea (e.g., “greedy and local search algorithms”, “rounding data and dynamic programming”), and the idea is then applied to several different problems The second part revisits all of the same algorithmic ideas, but gives more sophisticated treatments of them; the results covered here are usually much more recent The layout allows us to look at several central optimization problems repeatedly throughout the book, returning to them as a new algorithmic idea leads to a better result than the previous one In particular, we revisit such problems as the uncapacitated facility location problem, the prize-collecting Steiner tree problem, the bin-packing problem, and the maximum cut problem several times throughout the course of the book The second perspective is that we treat linear and integer programming as a central aspect in the design of approximation algorithms This perspective is from our background in the operations research and mathematical programming communities It is a little unusual in the computer science community, and students coming from a computer science background may not be familiar with the basic terminology of linear programming We introduce the terms we need in the first chapter, and we include a brief introduction to the area in an appendix The third perspective we took in writing the book is that we have limited ourselves to results that are simple enough for classroom presentation while remaining central to the topic at hand Most of the results in the book are ones that we have taught ourselves in class at one point or another We bent this rule somewhat in order to cover the recent, exciting work by Arora, Rao and Vazirani [22] applying semidefinite programming to the uniform sparsest cut problem The proof of this result is the most lengthy and complicated of the book We are grateful to a number of people who have given us feedback about the book at various stages in its writing We are particularly grateful to James Davis, Lisa Fleischer, Isaac Fung, Igor Gorodezky, Rajiv Gandhi, Nick Harvey, Anna Karlin, Vijay Kothari, Katherine Lai, Gwen Spencer, and Anke van Zuylen for very detailed comments on a number of sections of the book Additionally, the following people spotted typos, gave us feedback, helped us understand particular papers, and made useful suggestions: Bruno Abrahao, Hyung-Chan An, Matthew Andrews, Eliot Anshelevich, Sanjeev Arora, Ashwinkumar B.V., Moses Charikar, Chandra Chekuri, Joseph Cheriyan, Chao Ding, Dmitriy Drusvyatskiy, Michel Goemans, Sudipto Guha, Anupam Gupta, Sanjeev Khanna, Lap Chi Lau, Renato Paes Leme, Jiawei Qian, Yogesh´ wer Sharma, Viktor Simjanoski, Mohit Singh, Eva Tardos, Mike Todd, Di Wang, and Ann Williamson We also thank a number of anonymous reviewers who made useful comments Eliot Anshelevich, Joseph Cheriyan, Lisa Fleischer, Michel Goemans, Nicole Immorlica, and Anna Karlin used various drafts of the book in their courses on approximation algorithms and gave us useful feedback about the experience of using the book We received quite a number of useful comments from the students in Anna’s class: Benjamin Birnbaum, Punyashloka Biswal, Elisa Celis, Jessica Chang, Mathias Hallman, Alyssa Joy Harding, Trinh Huynh, Alex Jaffe, Karthik Mohan, Katherine Moore, Cam Thach Nguyen, Richard Pang, Adrian Sampson, William Austin Webb, and Kevin Zatloukal Our editor at Cambridge, Lauren Cowles, imElectronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com Preface pressed us with her patience in waiting for this book to be completed and gave us a good deal of useful advice We are also grateful to our wives and families – to Ann, Abigail, Daniel, and Ruth, and to ´ Eva, Rebecca, and Amy – for their patience and support during the writing of this volume Finally, we hope the book conveys some of our enthusiasm and enjoyment of the area of approximation algorithms We hope that you, dear reader, will enjoy it too David P Williamson David B Shmoys Ithaca, New York, USA June 2010 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com Preface Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com Table of Contents Preface I An introduction to the techniques 11 An introduction to approximation algorithms 1.1 The whats and whys of approximation algorithms 1.2 An introduction to the techniques and to linear programming: problem 1.3 A deterministic rounding algorithm 1.4 Rounding a dual solution 1.5 Constructing a dual solution: the primal-dual method 1.6 A greedy algorithm 1.7 A randomized rounding algorithm Greedy algorithms and local search 2.1 Scheduling jobs with deadlines on a single machine 2.2 The k-center problem 2.3 Scheduling jobs on identical parallel machines 2.4 The traveling salesman problem 2.5 Maximizing float in bank accounts 2.6 Finding minimum-degree spanning trees 2.7 Edge coloring the set cover 13 13 16 19 20 23 24 28 35 36 37 39 43 47 49 54 Rounding data and dynamic programming 65 3.1 The knapsack problem 65 3.2 Scheduling jobs on identical parallel machines 68 3.3 The bin-packing problem 73 Deterministic rounding of linear programs 81 4.1 Minimizing the sum of completion times on a single machine 82 4.2 Minimizing the weighted sum of completion times on a single machine 84 CuuDuongThanCong.com Table of Contents 4.3 4.4 4.5 4.6 Solving large linear programs in polynomial time via the The prize-collecting Steiner tree problem The uncapacitated facility location problem The bin-packing problem ellipsoid method Random sampling and randomized rounding of linear programs 5.1 Simple algorithms for MAX SAT and MAX CUT 5.2 Derandomization 5.3 Flipping biased coins 5.4 Randomized rounding 5.5 Choosing the better of two solutions 5.6 Non-linear randomized rounding 5.7 The prize-collecting Steiner tree problem 5.8 The uncapacitated facility location problem 5.9 Scheduling a single machine with release dates 5.10 Chernoff bounds 5.11 Integer multicommodity flows 5.12 Random sampling and coloring dense 3-colorable graphs Randomized rounding of semidefinite programs 6.1 A brief introduction to semidefinite programming 6.2 Finding large cuts 6.3 Approximating quadratic programs 6.4 Finding a correlation clustering 6.5 Coloring 3-colorable graphs The primal-dual method 7.1 The set cover problem: a review 7.2 Choosing variables to increase: the feedback vertex set problem graphs 7.3 Cleaning up the primal solution: the shortest s-t path problem 7.4 Increasing multiple variables at once: the generalized Steiner tree 7.5 Strengthening inequalities: the minimum knapsack problem 7.6 The uncapacitated facility location problem 7.7 Lagrangean relaxation and the k-median problem Cuts and metrics 8.1 The multiway cut problem and a minimum-cut based algorithm 8.2 The multiway cut problem and an LP rounding algorithm 8.3 The multicut problem 8.4 Balanced cuts 8.5 Probabilistic approximation of metrics by tree metrics 8.6 An application of tree metrics: Buy-at-bulk network design 8.7 Spreading metrics, tree metrics, and linear arrangement 105 106 108 110 111 114 116 118 120 124 128 132 133 141 141 143 147 150 153 161 161 in undirected 164 168 problem 170 178 180 184 195 196 197 203 208 211 216 220 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com 86 88 91 95 Table of Contents II Further uses of the techniques 231 Further uses of greedy and local search algorithms 9.1 A local search algorithm for the uncapacitated facility location problem 9.2 A local search algorithm for the k-median problem 9.3 Minimum-degree spanning trees 9.4 A greedy algorithm for the uncapacitated facility location problem 233 234 239 243 247 10 Further uses of rounding data and dynamic programming 257 10.1 The Euclidean traveling salesman problem 257 10.2 The maximum independent set problem in planar graphs 269 11 Further uses of deterministic rounding of linear 11.1 The generalized assignment problem 11.2 Minimum-cost bounded-degree spanning trees 11.3 Survivable network design and iterated rounding programs 281 282 286 297 12 Further uses of random sampling and randomized rounding grams 12.1 The uncapacitated facility location problem 12.2 The single-source rent-or-buy problem 12.3 The Steiner tree problem 12.4 Everything at once: finding a large cut in a dense graph 13 Further uses of randomized rounding of 13.1 Approximating quadratic programs 13.2 Coloring 3-colorable graphs 13.3 Unique games semidefinite of linear pro309 310 313 316 322 programs 333 334 340 344 14 Further uses of the primal-dual method 355 14.1 The prize-collecting Steiner tree problem 355 14.2 The feedback vertex set problem in undirected graphs 360 15 Further uses of cuts and metrics 15.1 Low distortion embeddings and the sparsest cut problem 15.2 Oblivious routing and cut-tree packings 15.3 Cut-tree packings and the minimum bisection problem 15.4 The uniform sparsest cut problem 16 Techniques in proving the hardness of approximation 16.1 Reductions from NP-complete problems 16.2 Reductions that preserve approximation 16.3 Reductions from probabilistically checkable proofs 16.4 Reductions from label cover 16.5 Reductions from unique games 369 369 376 382 385 407 407 412 420 425 437 17 Open Problems 447 A Linear programming 453 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com 10 Table of Contents B NP-completeness 457 Bibliography 461 Author index 481 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com Index Φ (cumulative distribution function of normal distribution), 339, 392 α-point, 128 Φ (tail of normal distribution), 339, 392 δ-dense graph, 133 ℓ1 metric, 198 ℓ1 -embeddable metric, 369–370, 404 and tree metrics, 404 ≽, see positive semidefinite matrix ˜ 153 O, k-MST, see k-minimum spanning tree problem k-center problem, 37–39 definition, 37–38 hardness, 39 k-colorable, 133 k-cut problem, 228 k-cycle partition problem, 193 k-edge-colorable, 54 k-edge-connected subgraph, 306 k-median problem, 38, 184–190, 193, 227, 239– 243, 250, 277, 420 and uncapacitated facility location problem, 185–186 definition, 184–185 dual of LP relaxation, 186 greedy algorithm, 250 hardness, 190, 420 in trees, 227 integer programming formulation, 185 Lagrangean relaxation, 185–186 linear programming relaxation, 185–186 local search algorithm, 239–243 primal-dual algorithm, 186–190 k-minimum spanning tree problem, 366 and prize-collecting Steiner tree problem, 366 Lagrangean relaxation, 366 k-outerplanar graph, 270–271 maximum independent set problem, 276– 277 treewidth, 274–277 k-path partition problem primal-dual algorithm, 192–193 k-restricted Steiner tree problem, 318 k-suppliers problem, 57 hardness, 57 3-dimensional matching problem, 408 3-partition problem, 459 a fortiori guarantee, 14, 20, 24 approximate complementary slackness conditions, 164 approximation algorithm definition, 14 approximation factor, 14 approximation ratio, 14 APTAS, see asymptotic polynomial-time approximation scheme arithmetic-geometric mean inequality, 112 asymptotic polynomial-time approximation scheme, 74 definition, 74 for bin-packing problem, 74–77 balanced cut, 208–211 definition, 208 deterministic rounding algorithm, 209–211 482 CuuDuongThanCong.com INDEX 483 linear programming relaxation, 208–209 basic feasible solution, 281 basic optimal solution, 281 bidirected cut formulation, 316–317 bin-packing problem, 73–77, 95–101, 138, 405, 448–449 asymptotic polynomial-time approximation scheme, 74–77 configuration, 96 configuration IP, 96 definition, 73 dual of LP relaxation, 97 First-Fit algorithm, 73–74, 99, 138 First-Fit Decreasing algorithm, 73 hardness, 73 harmonic grouping, 97–101 linear grouping, 75–77 linear programming relaxation, 96, 101 randomized rounding algorithm, 138 solving LP relaxation, 405 bipartite graph definition, 62 bipartite unique games conjecture, 440 bisection, 208 bounded-degree branching problem, 305–306 branch decomposition, 278 branching, 192, 305 bounded degree, 305–306 minimum-cost, 192 branchwidth, 278 buy-at-bulk network design problem, 216–220, 227 algorithm on trees, 217 definition, 216–217 reduction to tree metric, 218–220 capacitated dial-a-ride problem, 228 capacitated facility location problem, 449 characteristic vector, 290 check-kiting, 47 Chernoff bounds, 128–131 Christofides’ algorithm, 46, 447 clause, 106 length, 106 satisfied, 106 size, 106 unit, 106 clique, 15 cluster centers, 38 clustering, 37 k-center, 37–38 k-median, 185 correlation, 150 coloring, 153–156, 340–344, 351, 450 ∆-degree graph, 153, 156 δ-dense graph random sampling algorithm, 134–135 2-colorable graph, 153, 156 edge, 54 greedy algorithm, 156 hardness, 134 in low treewidth graphs, 278 randomized rounding via SDP, 153–156, 341–344 vector programming relaxation, 153, 157 vertex, 54 via finding maximum independent sets, 340– 344 complementary slackness conditions, 23, 93, 163– 164 approximate, 164 complete matching, see matching, complete completeness, 421 configuration IP, 96 congestion, 376 constraint spreading, 221 tight, 162 violated, 169 constraint satisfaction problem, 344 constraints, 17 correlation clustering problem, 150–153 definition, 150 randomized rounding via SDP, 150–153 cut semimetric, 195 cut-tree, 379 cut-tree packing, 378–379 and tree metrics, 405 cut-tree packing algorithm for minimum bisection problem, 382–384 for multicut problem, 405 for sparsest cut problem, 405 data rounding, 67 decision problem, 457 decision variables, 17 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com 484 INDEX demand graph, 352 dense graph, 133, 323 derandomization, 31, 105, 108–109 maximum cut problem, 136, 147 prize-collecting Steiner tree problem, 120 set cover problem, 136 deterministic rounding, 81–100, 282–307 for balanced cut, 209–211 for complete matching, 101–102 for generalized assignment problem, 283– 285, 306–307 for minimum spanning tree problem, 287– 288 for minimum-cost bounded-degree spanning tree problem, 288–296 for multicut problem, 203–207 for prize-collecting Steiner tree, 88–91 for scheduling single machine, 82–86 for scheduling unrelated parallel machines, 304 for set cover problem, 19–20 for sparsest cut problem, 227 for survivable network design problem, 298– 303 for uncapacitated facility location problem, 93–95 pipage rounding, 102–103 dictator, 442 Dijkstra’s algorithm, 168, 170, 191 directed generalized Steiner tree problem, 433– 434 hardness, 433–434 directed Steiner tree problem, 31 distortion, 212, 370–371, 404 dominating set problem, 39 double-tree algorithm, 45–46 dual fitting, 26 for set cover problem, 26–27 for uncapacitated facility location problem, 247–252 dual linear program, see linear programming, duality dual of LP relaxation for k-median problem, 186 for bin-packing problem, 97 for feedback vertex set problem, 165 for generalized Steiner tree problem, 171 for minimum knapsack problem, 179 for prize-collecting Steiner tree problem, 356 for set cover problem, 20, 162 for shortest s-t path problem, 168 for uncapacitated facility location problem, 92–93, 121, 181, 247–248, 310 dual of SDP relaxation for maximum cut problem, 156 dual rounding for set cover problem, 20–23 dynamic programming, 65 for coloring in low treewidth graphs, 278 for Euclidean traveling salesman problem, 258–269 for knapsack problem, 66–67 for maximum independent set in low treewidth graphs, 272–274 for maximum independent set problem in trees, 269–270 for minimum bisection in trees, 384–385 for scheduling identical machines, 70–71, 74 for the graphical traveling salesman problem, 278 earliest due date rule, 37, 62 EDD, see earliest due date rule edge coloring, 54 edge coloring problem, 54–57 definition, 54 fan sequence, 55 greedy algorithm, 55–57 hardness, 54–55, 62 in bipartite graphs, 62 path recoloring, 57 shifting recoloring, 55 edge expansion, 387 edge-disjoint paths problem, 61, 410–412 definition, 61 greedy algorithm, 61 hardness, 410–412 eigenvalue, 141 ellipsoid method, 86–87, 103–104, 380–382 objective function cut, 103, 381 separation oracle, 87 embedding distortion, 212, 370–371, 404 Fr´echet, 373 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com INDEX 485 into ℓ1 , 370–371, 373–376, 404 into ℓ2 , 404 into ℓp , 404 into tree metric, 212–216 Eulerian graph definition, 45 directed, 32 traversal, 45 expander graph, 404 exterior face, 270 extreme point, 32, 102, 281 facility location problem, see uncapacitated facility location problem factor-revealing LP, 254–255 fan sequence, 55 feasible solution, 17 feedback vertex set problem, 164–167, 360–367 definition, 164 dual of LP relaxation, 165, 362 integer programming formulation, 164–165, 360–362 integrality gap, 167 linear programming relaxation, 165 primal-dual algorithm, 165–167, 362–367 First-Fit algorithm, 73–74, 99, 138 First-Fit Decreasing algorithm, 73 float, 47 float maximization problem, 47–49 definition, 47 greedy algorithm, 47–49 FPAS, see fully polynomial-time approximation scheme FPTAS, see fully polynomial-time approximation scheme Fr´echet embedding, 373 full components, 316 fully polynomial-time approximation scheme, 78 definition, 67 for knapsack problem, 67–68 hardness, 78 fundamental cycle, 274 deterministic rounding algorithm, 283–285, 306–307 integer programming formulation, 282 linear programming relaxation, 282–283, 306–307 generalized Steiner tree problem, 170–177, 192, 449–450 definition, 170 directed hardness, 433–434 dual of LP relaxation, 171 integer programming formulation, 170–171 integrality gap, 177 linear programming relaxation, 171 primal-dual algorithm, 171–177 graph δ-dense, 133 k-colorable, 133 k-edge-colorable, 54 k-outerplanar, 270–271 bipartite, 62 bisection, 208 complement, 269 dense, 133, 323 induced, 164 outerplanar, 270 planar, 270 tree decomposition, 272 graphical traveling salesman problem, see traveling salesman problem, graphical greedy algorithm, 24, 35 for k-center problem, 37–39 for k-median problem, 250 for coloring, 156 for edge coloring problem, 55–57 for edge-disjoint paths problem, 61 for float maximization problem, 47–49 for knapsack problem, 77 for maximum-weight matroid base, 61 for multiway cut problem, 196–197 for scheduling identical machines, 42–43 for scheduling single machine, 36–37 for set cover problem, 24–27 for traveling salesman problem, 44–45 for uncapacitated facility location problem, 247–252 gap-preserving reduction, 424 generalized assignment problem, 282–285, 306– 307 definition, 282 Hamiltonian cycle, 43 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com 486 INDEX Hamiltonian path, 50, 60 Hoffman’s circulation theorem, 331 hardness, 28 independent set of k-center problem, 39 in graphs, 269 of k-median problem, 190, 420 in matroids, 61 of k-suppliers problem, 57 induced graph, 164 of bin-packing problem, 73 inequality of directed generalized Steiner tree probarithmetic-geometric mean, 112 lem, 433–434 Hoeffding’s, 323 of directed Steiner tree problem, 31 Jensen’s, 352 of edge coloring problem, 54–55, 62 Markov’s, 129 of edge-disjoint paths problem, 410–412 instance, 457 of label cover problem (d1 , d2 )-regular maximization version, 426–integer programming, 17–19, 453–454 definition, 17 427 relaxation, 124 d-regular maximization version, 427–429 integer programming formulation d-regular minimization version, 432–433 for k-median problem, 185 maximization version, 425–426 for bin-packing problem, 96 of MAX 2SAT, 413, 425 for feedback vertex set problem, 164–165 of MAX E3SAT, 423–424 for generalized assignment problem, 282 of maximum clique problem, 269 for generalized Steiner tree problem, 170– of maximum coverage problem, 60 171 of maximum cut problem, 147, 440–444 for maximum directed cut problem, 136 of maximum independent set problem, 269, for maximum satisfiability problem, 111– 415, 417–418 112 of maximum satisfiability problem, 107 for minimum knapsack problem, 178 of minimum-degree spanning tree problem, for minimum-capacity multicommodity flow 49–50, 60 problem, 132 of multicut problem, 207–208, 438–440 for minimum-cost bounded-degree spanning of node-weighted Steiner tree, 33 tree problem, 286 of scheduling identical machines, 72 for multicut problem, 203 of scheduling unrelated parallel machines, for multiway cut problem, 197–198 408–410 for prize-collecting generalized Steiner tree of set cover problem, 27–28, 429–432 problem, 367 of sparsest cut problem, 376 for prize-collecting Steiner tree problem, of Steiner tree problem, 417 88–89, 355–356 of survivable network design problem, 434– for set cover problem, 18, 162 437 for shortest s-t path problem, 168 of traveling salesman problem, 43, 47 for Steiner tree problem, 317 of uncapacitated facility location problem, for survivable network design problem, 297 32, 95, 418–420 for uncapacitated facility location problem, of unique games problem, 351 91–92 of vertex coloring problem, 134 for uniform labeling problem, 138 of vertex cover problem, 28 for uniform sparsest cut problem, 387 harmonic grouping, 97–101 for unique games problem, 346 harmonic number, 25, 99 of minimum knapsack problem, 178–179 hierarchical cut decomposition, 212, 222 integrality gap, 117–118, 120, 164 high probability, 29, 132 definition, 117 Hoeffding’s inequality, 323 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com INDEX 487 Lagrangean multiplier preserving algorithms, 190, 250, 366 Lagrangean relaxation, 185–186 for k-median problem, 185–186 laminar collection of sets, 290 lateness, 36 linear arrangement problem, 220–223 definition, 220 linear programming relaxation, 220–221 reduction to tree metric, 221–223 linear grouping, 75–77 linear programming, 17–19, 453–456 basic feasible solution, 281, 456 Jackson’s rule, see earliest due date rule basic optimal solution, 281, 456 Jensen’s inequality, 352 bounded, 456 canonical form, 453 knapsack problem, 65–68, 77, see also minicomplementary slackness conditions, 23, 93, mum knapsack problem, 457–458 455–456 connection to bin-packing problem, 97 constraints, 17, 453 definition, 65–66 decision variables, 17 dynamic programming algorithm, 66–67 definition, 17 fully polynomial-time approximation scheme, dual, 21 67–68 duality, 20–21, 454–455 greedy algorithm, 77 ellipsoid method, 86–87, 103–104 extreme point, 32 L-reduction, 413–414 feasibility, 453 definition, 413–414 feasible solution, 17, 453 hardness theorems, 414 fractional solution, 17 label cover problem, 425–437, 445 infeasibility, 453 (d1 , d2 )-regular, 425 interior-point methods, 86 d-regular, 425 objective function, 17, 453 and unique games problem, 425 optimal solution, 17, 453 definition, 425 primal, 21 gap-preserving reduction from MAX E3SAT, relaxation, 18 425–426 simplex method, 86, 87, 456 hardness strong duality, 21, 455 of (d1 , d2 )-regular maximization version, unbounded, 456 426–427 value, 17 of d-regular maximization version, 427– variable, 453 429 weak duality, 21, 455 of d-regular minimization version, 432– linear programming relaxation 433 for k-median problem, 185–186 of maximization version, 425–426 for balanced cut, 208–209 reduction to directed generalized Steiner for bin-packing problem, 96 tree problem, 433–434 for complete matching, 101–102 reduction to set cover problem, 429–432 for feedback vertex set problem, 165 reduction to survivable network design probfor generalized assignment problem, 282– lem, 434–437 283, 306–307 for feedback vertex set problem, 167 for generalized Steiner tree problem, 177 for maximum satisfiability problem, 117– 118 for minimum knapsack problem, 178 for prize-collecting Steiner tree problem, 120 interior-point methods, 86 intersecting sets, 290 IP, see integer programming isolating cut, 196 iterated rounding, 299 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com 488 INDEX for generalized Steiner tree problem, 171 for linear arrangement problem, 220–221 for maximum coverage problem, 137 for maximum cut problem, 102 for maximum satisfiability problem, 112 for minimum knapsack problem, 178, 179 for minimum-capacity multicommodity flow problem, 132, 139 for minimum-cost bounded-degree spanning tree problem, 286 for multicut problem, 203 for multiway cut problem, 198 for prize-collecting Steiner tree problem, 89, 118, 356, 366 for scheduling single machine, 85, 124–125 for set cover problem, 18, 162 for shortest s-t path problem, 168 for sparsest cut problem, 227, 371 for Steiner tree problem, 316–319, 330 for survivable network design problem, 297– 298 for traveling salesman problem, 305 for uncapacitated facility location problem, 92, 121, 181, 310 for vertex cover problem, 32 linear unique games conjecture, 437 list scheduling algorithm for identical machines, 42–43, 59 for related machines, 59 literal, 106 negative, 106 positive, 106 local change, 40 local move, 40 local ratio algorithm for set cover problem, 191–192 local ratio technique, 191–192, 368 local ratio theorem, 191 local search algorithm, 35 for k-median problem, 239–243 for maximum-weight matroid base, 61 for minimum-degree spanning tree problem, 50–53, 243–246 for scheduling identical machines, 40–42 for uncapacitated facility location problem, 234–239 for uniform labeling problem, 252–253 polynomial time, 239 locality gap, 252 definition, 252 for uncapacitated facility location problem, 252 locally optimal solution, 35, 234 long code, 442 longest path problem, 60 longest processing time rule, 42–43, 59 Lov´asz theta function, 156 semidefinite program, 157 LP, see linear programming LPT, see longest processing time rule machine configuration, 71 makespan, 39 Markov’s inequality, 129 matching complete, 101–102, 283 deterministic rounding algorithm, 101– 102 integer programming formulation, 101– 102, 283 linear programming formulation, 283 linear programming relaxation, 101–102 perfect, 46 matroid, 61 base, 61 definition, 61 greedy algorithm, 61 independent set, 61 local search algorithm, 61 uniform, 61 MAX 2LIN(k), 437–440 definition, 437 reduction to multicut problem, 438–440 MAX 2SAT, 156, 158, 412–414 balanced, 158 gap-preserving reduction from odd/even constraint satisfaction problem, 424–425 hardness, 413–414, 425 L-reduction from MAX E3SAT, 412–414 randomized rounding via SDP, 156, 158 MAX CUT, see maximum cut problem MAX DICUT, see maximum directed cut problem MAX E3SAT, 107, 412–414 gap-preserving reduction from odd/even constraint satisfaction problem, 423–424 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com INDEX 489 gap-preserving reduction to label cover probin unweighted dense graphs, 328 lem, 425–426 randomized algorithm, 136 hardness, 423–424 randomized rounding algorithm, 136 L-reduction from odd/even constraint satrandomized rounding via SDP, 157, 158 isfaction problem, 423 maximum independent set problem, 269–274, L-reduction to MAX 2SAT, 412–414 414–415, 417–418 L-reduction to maximum independent set and coloring, 340–344 problem, 414–415 and the maximum clique problem, 269 MAX SAT, see maximum satisfiability probdefinition, 269 lem hardness, 269, 415, 417–418 MAX SNP, 15, 444 in k-outerplanar graphs, 276–277 maximum k-cut problem, 135 in low treewidth graphs randomized algorithm, 135 dynamic programming algorithm, 272– maximum clique problem, 15–16, 269 274 and the maximum independent set probin planar graphs, 270–272 lem, 269 polynomial-time approximation scheme, hardness, 269 271–272 unweighted, 269 in trees maximum coverage problem, 60, 137 dynamic programming algorithm, 269– hardness, 60 270 linear programming relaxation, 137 L-reduction from MAX E3SAT, 414–415 nonlinear integer programming formulation, unweighted, 269 137 maximum satisfiability problem, 106–107, 110– pipage rounding algorithm, 137 118, 136–137, 156 maximum cut problem, 107–108, 135–136, 143– definition, 106 147, 156, 322–327, 450–451 hardness, 107 definition, 107 integer programming formulation, 111–112 derandomization, 136, 147 integrality gap, 117–118 dual of SDP relaxation, 156 linear programming relaxation, 112 greedy algorithm, 135–136 MAX 2SAT, see MAX 2SAT hardness, 147, 440–444 MAX E3SAT, see MAX E3SAT in unweighted dense graphs method of conditional expectations, 108– polynomial-time approximation scheme, 109 322–327 random sampling algorithm, 106–107, 110– linear programming relaxation, 102 111 nonlinear integer programming formulation, randomized rounding algorithm, 111–114, 102, 143 116–117, 136 random sampling algorithm, 107–108 mean value theorem, 206–207 randomized rounding via SDP, 143–147 measurable set, 402 semidefinite programming relaxation, 143 method of conditional expectations, 105, 108– unweighted, 107 109, 136, 193 vector programming relaxation, 143 for maximum satisfiability problem, 108– with constraint on size of parts, 102–103 109 maximum directed cut problem, 136, 157, 158 for set cover problem, 136 balanced, 158 metric, 195 definition, 136 ℓ1 , 198 integer programming formulation, 136 ℓ1 -embeddable, 369–370, 404 polynomial-time approximation scheme embedding, 370 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com 490 INDEX distortion, 212, 370–371, 404 Fr´echet, 373 into ℓ1 , 370–371, 373–376, 404 into ℓ2 , 404 into ℓp , 404 into tree metric, 212–216 probabilistic approximation by tree metric, 212–216 spreading, 220, 221 tree, 195, 211–212, 221–222, 227, 404, 405 metric completion, 60 minimum k-edge-connected subgraph problem, 306 minimum bisection problem, 208, 382–385 cut-tree packing algorithm, 382–384 in trees, 384–385 minimum cut linear arrangement problem, 226 minimum knapsack problem, 178–180 dual of LP relaxation, 179 integer programming formulation, 178–179 integrality gap, 178 linear programming relaxation, 178, 179 primal-dual algorithm, 179–180 minimum mean-cost cycle problem, 32 minimum spanning tree problem, 44 definition, 44 deterministic rounding algorithm, 287–288 Prim’s algorithm, 44 minimum-capacity multicommodity flow problem, 132–133, 139 application to chip design, 132 definition, 132 integer programming formulation, 132 linear programming relaxation, 132, 139 randomized rounding algorithm, 132–133 minimum-cost bounded-degree spanning tree problem, 286–296 definition, 286 deterministic rounding algorithm, 288–296 integer programming formulation, 286 linear programming relaxation, 286 minimum-cost branching problem, 192 primal-dual algorithm, 192 minimum-degree spanning tree problem, 49– 53, 60, 243–246 definition, 49–50 hardness, 49–50, 60 local search algorithm, 50–53, 243–246 moats, 168, 173 monotone function, 60 multicommodity flow, see minimum-capacity multicommodity flow problem multicommodity rent-or-buy problem, 328 multicut problem, 203–208, 226, 351–353, 405 cut-tree packing algorithm, 405 definition, 203 deterministic rounding algorithm, 203–207 hardness, 207–208, 438–440 in trees primal-dual algorithm, 191 integer programming formulation, 203 linear programming relaxation, 203 randomized rounding via SDP, 351–353 vector programming relaxation, 351–353 multiway cut problem, 196–202, 225 application to distributed computing, 196 definition, 196 greedy algorithm, 196–197 integer programming formulation, 197–198 linear programming relaxation, 198 randomized rounding algorithm, 198–202 nearest addition algorithm, 44–45 no-wait flowshop scheduling problem, 448 nonlinear integer programming formulation for maximum coverage problem, 137 maximum cut problem, 102, 143 nonpreemptive scheduling, 82 normal distribution bounds on tail, 340, 342–343, 392–393 cumulative distribution function, 339, 392 density function, 339, 392 multivariate properties of, 144 NP, 457–460 binary NP-complete, 459 definition, 458 NP-completeness, 458–459 definition, 458 NP-hard, 459–460 strongly NP-complete, 459 unary NP-complete, 459 weakly NP-complete, 459 objective function, 14, 17 objective function cut, 103, 381 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com INDEX 491 oblivious routing problem, 376–382 definition, 376 odd/even constraint satisfaction problem, 422– 424 gap-preserving reduction to MAX 2SAT, 424–425 gap-preserving reduction to MAX E3SAT, 423–424 hardness, 423 L-reduction to MAX E3SAT, 423 online facility location problem, 253–254 optimal solution, 14, 17 outerplanar graph, 270 P, 457 partial cover problem, 31 partition problem, 73, 459 partition system, 429–432 path recoloring, 57 PCP, see probabilistically checkable proof PCP Theorem, 421, 444–445 perfect matching, see matching, perfect performance guarantee, 14 Petersen graph, 54 pipage rounding, 102–103 for maximum coverage problem, 137 for maximum cut problem, 102–103 pipe system, 203 planar embedding, 270 planar graph, 270 exterior face, 270 polynomial time definition, 457 polynomial-time approximation scheme, 15, 67 definition, 15 for Euclidean k-median problem, 277 for Euclidean Steiner tree problem, 277 for Euclidean traveling salesman problem, 258–269 for maximum cut problem in unweighted dense graphs, 322–327 for maximum directed cut problem in unweighted dense graphs, 328 for maximum independent set problem in planar graphs, 271–272 for scheduling identical machines, 68–72 for vertex cover in planar graphs, 277 hardness of MAX SNP, 15 polynomial-time reduction, 458 positive semidefinite matrix, 141–142 potential function, 53 precedence constraints, 59, 101 preemptive scheduling, 82 Prim’s algorithm, 44, 315 primal feasible algorithm, 35 primal infeasible algorithm, 35 primal linear program, see linear programming, primal primal-dual algorithm for k-median problem, 186–190 for k-path partition problem, 192–193 for feedback vertex set problem, 165–167, 362–367 for generalized Steiner tree problem, 171– 177 for minimum knapsack problem, 179–180 for minimum-cost branching problem, 192 for multicut problem in trees, 191 for prize-collecting generalized Steiner tree problem, 367 for prize-collecting Steiner tree problem, 356–359 for set cover problem, 23–24, 161–164 for shortest s-t path problem, 168–170 for uncapacitated facility location problem, 181–184 primal-dual method, 24, 161–184 dual fitting, 26 standard analysis, 163 prize-collecting generalized Steiner tree problem, 367 prize-collecting Steiner tree problem, 88–91, 118– 120, 192, 355–359 and k-minimum spanning tree problem, 366 application to cable access, 88 definition, 88 derandomization, 120 deterministic rounding algorithm, 88–91 dual of LP relaxation, 356 integer programming formulation, 88–89, 355–356 integrality gap, 120 Lagrangean multiplier preserving, 366 linear programming relaxation, 89, 118, 356, 366 primal-dual algorithm, 356–359 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com 492 INDEX randomized rounding algorithm, 118–120 probabilistic approximation of a metric, 212– 216 probabilistically checkable proof, 420–425 and hardness, 422 completeness, 421 long code, 442 PCP Theorem, 421 soundness, 421 verifier, 421 psd, see positive semidefinite matrix pseudo-approximation algorithm, 208 pseudopolynomial algorithm, 65, 78 definition, 67 PTAS, see polynomial-time approximation scheme quadratic programming problem, 147–150, 334– 340 equivalence of linear and integer, 335–336 randomized rounding via SDP, 147–150, 336–340 vector programming relaxation, 147, 336 for coloring, 153–156, 341–344 for correlation clustering problem, 150–153 for MAX 2SAT, 156, 158 for maximum cut problem, 143–147 for maximum directed cut problem, 136, 157, 158 for maximum satisfiability problem, 111– 114, 116–117, 136 for minimum-capacity multicommodity flow problem, 132–133 for multiway cut problem, 198–202 for prize-collecting generalized Steiner tree problem, 367 for prize-collecting Steiner tree problem, 118–120 for quadratic programming problem, 147– 150, 336–340 for scheduling single machine, 125–128 for set cover problem, 28–31 for Steiner tree problem, 319–322 for uncapacitated facility location problem, 120–123, 310–313 for uniform labeling problem, 138 for uniform sparsest cut problem, 388–404 for unique games problem, 347–351 non-linear, 116–117 region growing, 196, 204, 223 related machines, 59 relaxation, 18 integer programming, 124 Lagrangean, 185–186 linear programming, 18 relaxed decision procedure, 59 release date, 36 rent-or-buy problem multicommodity, 328 single-source, 313–316 rescaling, 238–239 rescaling property, 73 reverse deletion, 173 routing problems, 376 random hyperplane, 144 random hyperplane algorithm for coloring, 153–156 for correlation clustering problem, 150–153 for MAX 2SAT, 156 for maximum cut problem, 143–147 for maximum directed cut problem, 157, 158 for quadratic programming problem, 147– 150 for uniform sparsest cut problem, 388–404 random hyperplanealgorithm for MAX 2SAT, 158 random sampling algorithm for coloring δ-dense graph, 134–135 for maximum cut problem, 107–108 for maximum satisfiability problem, 106– 107, 110–111 for multicommodity rent-or-buy problem, 328 sample-and-augment algorithm, 314 for single-source rent-or-buy problem, 314– for multicommodity rent-or-buy problem, 316 328 random vector, 144 for single-source rent-or-buy problem, 314– randomized rounding, 28, 111–133 316 satisfied clause, see clause, satisfied definition, 28 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com INDEX 493 scheduling α-point, 128 earliest due date rule, 37 identical machines, 39–43, 59, 68–72, 78 dynamic programming algorithm, 70–71 greedy algorithm, 42–43 hardness, 72 list scheduling algorithm, 42–43 local search algorithm, 40–42 polynomial-time approximation scheme, 68–72 to minimize L2 norm, 78 to minimize weighted completion time, 78 lateness, 36 length, 39 list scheduling algorithm, 59 longest processing time rule, 42–43, 59 machine configuration, 71 makespan, 39 nonpreemptive, 82 precedence constraints, 59, 101 preemptive, 82 related parallel machines, 59, 450 release date, 36 shortest remaining processing time rule, 82 single machine linear programming relaxation, 85, 124– 125 randomized rounding algorithm, 125–128 to maximize weighted ontime jobs, 77 to minimize average completion time, 82– 84 to minimize lateness, 36–37 to minimize weighted completion time, 84–86, 101, 124–128 to minimize weighted late jobs, 77–78 unrelated parallel machines, 450 deterministic rounding algorithm, 304 hardness, 408–410 Schur product theorem, 148 SDP, see semidefinite programming SDP-based algorithm for coloring, 153–156, 341–344 for correlation clustering problem, 150–153 for MAX 2SAT, 156, 158 for maximum cut problem, 143–147 for maximum directed cut problem, 157, 158 for multicut problem, 351–353 for quadratic programming problem, 147– 150, 336–340 for uniform sparsest cut problem, 388–404 for unique games problem, 347–351 semicoloring, 154–156 definition, 154 semidefinite matrix, see positive semidefinite matrix semidefinite programming, 141–142, 158–159 duality, 156 strong duality, 158 weak duality, 158 semidefinite programming relaxation, see also vector programming relaxation for maximum cut problem, 143 semimetric, 195 cut, 195 separation oracle, 87 definition, 87 set cover problem, 16–31, 136, 161–163, 191– 192 and vertex cover, 16, 20 application to antivirus product, 16 definition, 16 derandomization, 136 deterministic rounding algorithm, 19–20 dual fitting algorithm, 26–27 dual of LP relaxation, 20, 162 dual rounding algorithm, 20–23 greedy algorithm, 24–27 hardness, 27–28, 429–432 integer programming formulation, 18, 162 linear programming relaxation, 18, 162 local ratio algorithm, 191–192 partial cover problem, 31 primal-dual algorithm, 23–24, 161–164 randomized rounding algorithm, 28–31 unweighted, 16 shifting recoloring, 55 shortcutting, 32, 46 shortest s-t path problem, 78, 168–170, 191 definition, 168 Dijkstra’s algorithm, 168, 170, 191 dual of LP relaxation, 168 integer programming formulation, 168 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com 494 INDEX prize-collecting, see prize-collecting Steiner linear programming relaxation, 168 tree problem primal-dual algorithm, 168–170 randomized rounding algorithm, 319–322 shortest remaining processing time rule, 82 Steiner vertices, 59 simplex method, 86, 87 Steiner vertices, 59 single-source rent-or-buy problem, 313–316 strict vector chromatic number, 157 sample-and-augment algorithm, 314–316 strong duality Slater conditions, 158 linear programming, 21 Smith’s rule, 101 semidefinite programming, 158 SONET ring loading problem, 101 strongly NP-complete, 459 soundness, 421 subadditive function, 217 spanning tree, 44 sparsest cut problem, 226–227, 371–373, 385– submodular function, 49, 60 survivable network design problem, 297–304, 405 449–450 cut-tree packing algorithm, 405 application to telecommunications, 297 deterministic rounding algorithm, 227 definition, 297 hardness, 376 deterministic rounding algorithm, 298–303 LP relaxation, 227, 371 integer programming formulation, 297 metric embedding algorithm, 371–373 linear programming relaxation, 297–298 uniform, 385–404 vertex-connectivity version, 434–437 integer programming formulation, 387 hardness, 434–437 randomized rounding via SDP, 388–404 vector programming relaxation, 388 tight spreading constraint, 221 constraint, 162, 290 spreading metric, 220, 221 set, 290 SRPT, see shortest remaining processing time tour, 31, 43 standard primal-dual analysis, 163 traveling salesman problem, 43–47, 305, 447– Steiner k-cut problem, 225–226 448 Steiner forest problem, see generalized Steiner asymmetric, 31, 43, 329–330, 448 tree problem Christofides’ algorithm, 46 Steiner tree problem, 59, 60, 88, 89, 192, 252, definition, 43 277, 314, 316–322, 415–417 double-tree algorithm, 45–46 k-restricted, 318 Euclidean, 257–269 bidirected cut formulation, 316–317 definition, 257–258 definition, 59 dynamic programming algorithm, 258– directed, 31 269 Euclidean polynomial-time approximation scheme, polynomial-time approximation scheme, 258–269 277 graphical, 278 full components, 316, 330 in low branchwidth graphs, 278 hardness, 33, 417 greedy algorithm, 44–45 integer programming formulation, 317 hardness, 43, 47 L-reduction from vertex cover problem, 415– linear programming relaxation, 305, 447 416 metric, 44–47, 447–448 linear programming relaxation, 316–319, nearest addition algorithm, 44–45 330 universal, 227 minimum degree, 60, 252 traversal node-weighted, 33 of Eulerian graph, 45 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com INDEX 495 hardness of maximum cut problem, 147, tree decomposition, 272 440–444 tree metric, 195, 211–212, 221–222, 227, 404 hardness of multicut problem, 207–208, 438– and ℓ1 -embeddable metrics, 404 440 and buy-at-bulk network design problem, hardness of sparsest cut problem, 376 217–220 hardness of vertex coloring problem, 134 and cut-tree packing, 405 hardness of vertex cover problem, 28 and linear arrangement problem, 221–223 linear, 437 definition, 212 unique games problem, 344–351, 437–445 lower bound on distortion, 227 as graph problem, 345 treewidth, 272 definition, 344–345 of k-outerplanar graphs, 274–277 hardness, 351 triangle inequality, 31, 38, 195 integer programming formulation, 346 TSP, see traveling salesman problem randomized rounding via SDP, 347–351 reduction to multicut problem, 438–440 UGC, see unique games conjecture vector programming relaxation, 346–347 uncapacitated facility location problem, 32, 91– unit clause, see clause, unit 95, 120–123, 180–184, 193, 234–239, universal traveling salesman problem, 227 247–252, 310–313, 328, 418–420 and k-median problem, 185–186 and set cover problem, 32 capacitated version, 449 definition, 91 deterministic rounding algorithm, 93–95 dual fitting algorithm, 247–252 dual of LP relaxation, 92–93, 121, 181, 247–248, 310 greedy algorithm, 247–252 hardness, 32, 95, 418–420 integer programming formulation, 91–92 linear programming relaxation, 92, 121, 181, 310 local search algorithm, 234–239 locality gap, 252 maximal dual solution, 181 metric, 91 nonmetric, 32 online variant, 253–254 primal-dual algorithm, 181–184 randomized rounding algorithm, 120–123, 310–313 uniform labeling problem, 138, 252–253 integer programming formulation, 138 local search algorithm, 252–253 randomized rounding algorithm, 138 unique games conjecture, 28, 345, 437–445, 447 bipartite, 440 definition, 345 vector chromatic number, 157 strict, 157 vector programming, 142 vector programming relaxation for coloring, 153, 157 for maximum cut problem, 143 for quadratic programming, 147 for quadratic programming problem, 336 for uniform sparsest cut problem, 388 for unique games problem, 346–347 verifier, 421 vertex coloring, 54 vertex cover problem, 16, 32 and set cover, 16, 20 definition, 16 deterministic rounding algorithm, 20 hardness, 28 in planar graphs, 32, 277 polynomial-time approximation scheme, 277 L-reduction to Steiner tree problem, 415– 416 linear programming relaxation, 32 unweighted, 17 violated constraints, 169 weak duality linear programming, 21 semidefinite programming, 158 Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com 496 INDEX weakly NP-complete, 459 weakly supermodular functions, 298 with high probability, see high probability Electronic web edition Copyright 2010 by David P Williamson and David B Shmoys To be published by Cambridge University Press CuuDuongThanCong.com ... (among others) all have primal-dual optimization algorithms; we will see an example of a primal-dual algorithm for the shortest s-t path problem in Section 7.3 Primal-dual algorithms start with... that it is NP-hard to provide near-optimal solutions for a certain problem with certain performance guarantees The f -approximation algorithms for the set cover problem imply a 2-approximation... such that Aϵ is a (1 + ϵ)-approximation algorithm (for minimization problems) or a (1 − ϵ)-approximation algorithm (for maximization problems) Many problems have polynomial-time approximation schemes

Ngày đăng: 29/08/2020, 23:55