TheDesignofApproximationAlgorithms Discreteoptimizationproblemsareeverywhere,fromtraditionaloperationsresearchplan- ning problems, such as scheduling, facility location, and network design; to computer scienceproblemsindatabases;toadvertisingissuesinviralmarketing.Yetmostsuchprob- 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: efficientalgorithmsthatfindprovablynear-optimalsolutions. The book is organized around central algorithmic techniques for designing approxi- mationalgorithms,includinggreedyandlocalsearchalgorithms,dynamicprogramming, linearandsemidefiniteprogramming,andrandomization.Eachchapterinthefirstpartof 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 treatmentsofthem.Thebookalsocoversmethodsforprovingthatoptimizationproblems arehardtoapproximate. Designedasatextbookforgraduate-levelalgorithmscourses,thebookwillalsoserve 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 the2000FulkersonPrize,sponsoredbytheAmericanMathematicalSocietyandtheMath- ematicalProgrammingSociety.Hehasservedonseveraleditorialboards,includingACM Transactions onAlgorithms,Mathematics ofOperations Research,theSIAMJournalon Computing,andtheSIAMJournalonDiscreteMathematics. DavidB.ShmoysisaProfessoratCornellUniversitywithappointmentsinboththeSchool ofOperationsResearchandInformationEngineeringandtheDepartmentofComputerSci- ence. Heis currently Associate Director of the Institutefor Computational Sustainability atCornell.HeisaFellowoftheACM,wasanNSFPresidentialYoungInvestigator,and has served onnumerous editorialboards, including Mathematics ofOperations 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 JournalonDiscreteMathematics;healsoservedaseditor-in-chiefforthelatter. The Design of Approximation Algorithms David P. Williamson CornellUniversity David B. Shmoys CornellUniversity cambridgeuniversitypress Cambridge,NewYork,Melbourne,Madrid,CapeTown, Singapore,Sa˜oPaulo,Delhi,Tokyo,MexicoCity CambridgeUniversityPress 32AvenueoftheAmericas,NewYork,NY10013-2473,USA www.cambridge.org Informationonthistitle:www.cambridge.org/9780521195270 (cid:2)C DavidP.WilliamsonandDavidB.Shmoys2011 Thispublicationisincopyright.Subjecttostatutoryexception andtotheprovisionsofrelevantcollectivelicensingagreements, noreproductionofanypartmaytakeplacewithoutthewritten permissionofCambridgeUniversityPress. Firstpublished2011 PrintedintheUnitedStatesofAmerica AcatalogrecordforthispublicationisavailablefromtheBritishLibrary. LibraryofCongressCataloginginPublicationdata Williamson,DavidP. Thedesignofapproximationalgorithms/DavidP.Williamson,DavidB.Shmoys. p. cm. Includesbibliographicalreferencesandindex. ISBN978-0-521-19527-0(hardback) 1.Approximationtheory. 2.Mathematicaloptimization. I.Shmoys,DavidBernard. II.Title. QA221.W55 2011 518(cid:3).5–dc22 2011001945 ISBN978-0-521-19527-0Hardback CambridgeUniversityPresshasnoresponsibilityforthepersistenceoraccuracyof URLsforexternalorthird-partyInternetWebsitesreferredtointhispublicationand doesnotguaranteethatanycontentonsuchWebsitesis,orwillremain,accurateor appropriate. Contents Preface pageix I AnIntroductiontotheTechniques 1 AnIntroductiontoApproximationAlgorithms 3 1.1 TheWhatsandWhysofApproximationAlgorithms 3 1.2 AnIntroductiontotheTechniquesandtoLinearProgramming: TheSetCoverProblem 6 1.3 ADeterministicRoundingAlgorithm 9 1.4 RoundingaDualSolution 10 1.5 ConstructingaDualSolution:ThePrimal-DualMethod 14 1.6 AGreedyAlgorithm 15 1.7 ARandomizedRoundingAlgorithm 19 Exercises 22 ChapterNotes 24 2 GreedyAlgorithmsandLocalSearch 27 2.1 SchedulingJobswithDeadlinesonaSingleMachine 28 2.2 Thek-CenterProblem 30 2.3 SchedulingJobsonIdenticalParallelMachines 32 2.4 TheTravelingSalesmanProblem 35 2.5 MaximizingFloatinBankAccounts 40 2.6 FindingMinimum-DegreeSpanningTrees 43 2.7 EdgeColoring 47 Exercises 51 ChapterNotes 54 3 RoundingDataandDynamicProgramming 57 3.1 TheKnapsackProblem 57 3.2 SchedulingJobsonIdenticalParallelMachines 61 v vi contents 3.3 TheBin-PackingProblem 66 Exercises 70 ChapterNotes 71 4 DeterministicRoundingofLinearPrograms 73 4.1 MinimizingtheSumofCompletionTimesonaSingleMachine 74 4.2 MinimizingtheWeightedSumofCompletionTimesona SingleMachine 76 4.3 SolvingLargeLinearProgramsinPolynomialTimevia theEllipsoidMethod 79 4.4 ThePrize-CollectingSteinerTreeProblem 80 4.5 TheUncapacitatedFacilityLocationProblem 83 4.6 TheBin-PackingProblem 88 Exercises 93 ChapterNotes 96 5 RandomSamplingandRandomizedRoundingofLinearPrograms 99 5.1 SimpleAlgorithmsforMAXSATandMAXCUT 100 5.2 Derandomization 103 5.3 FlippingBiasedCoins 104 5.4 RandomizedRounding 106 5.5 ChoosingtheBetterofTwoSolutions 109 5.6 NonlinearRandomizedRounding 111 5.7 ThePrize-CollectingSteinerTreeProblem 113 5.8 TheUncapacitatedFacilityLocationProblem 116 5.9 SchedulingaSingleMachinewithReleaseDates 119 5.10 ChernoffBounds 124 5.11 IntegerMulticommodityFlows 128 5.12 RandomSamplingandColoringDense3-ColorableGraphs 130 Exercises 132 ChapterNotes 135 6 RandomizedRoundingofSemidefinitePrograms 137 6.1 ABriefIntroductiontoSemidefiniteProgramming 137 6.2 FindingLargeCuts 139 6.3 ApproximatingQuadraticPrograms 143 6.4 FindingaCorrelationClustering 146 6.5 Coloring3-ColorableGraphs 149 Exercises 152 ChapterNotes 155 7 ThePrimal-DualMethod 157 7.1 TheSetCoverProblem:AReview 157 7.2 ChoosingVariablestoIncrease:TheFeedbackVertexSetProblem inUndirectedGraphs 160 7.3 CleaningUpthePrimalSolution:TheShortests-t PathProblem 164 7.4 IncreasingMultipleVariablesatOnce:TheGeneralizedSteiner TreeProblem 167 contents vii 7.5 StrengtheningInequalities:TheMinimumKnapsackProblem 174 7.6 TheUncapacitatedFacilityLocationProblem 177 7.7 LagrangeanRelaxationandthek-MedianProblem 182 Exercises 188 ChapterNotes 191 8 CutsandMetrics 193 8.1 TheMultiwayCutProblemandaMinimum-Cut–BasedAlgorithm 194 8.2 TheMultiwayCutProblemandanLPRoundingAlgorithm 195 8.3 TheMulticutProblem 201 8.4 BalancedCuts 206 8.5 ProbabilisticApproximationofMetricsbyTreeMetrics 210 8.6 AnApplicationofTreeMetrics:Buy-at-BulkNetworkDesign 215 8.7 SpreadingMetrics,TreeMetrics,andLinearArrangement 218 Exercises 224 ChapterNotes 227 II FurtherUsesoftheTechniques 9 FurtherUsesofGreedyandLocalSearchAlgorithms 231 9.1 ALocalSearchAlgorithmfortheUncapacitatedFacility LocationProblem 232 9.2 ALocalSearchAlgorithmforthek-MedianProblem 238 9.3 Minimum-DegreeSpanningTrees 242 9.4 AGreedyAlgorithmfortheUncapacitatedFacility LocationProblem 246 Exercises 251 ChapterNotes 253 10 FurtherUsesofRoundingDataandDynamicProgramming 255 10.1 TheEuclideanTravelingSalesmanProblem 256 10.2 TheMaximumIndependentSetProbleminPlanarGraphs 267 Exercises 275 ChapterNotes 277 11 FurtherUsesofDeterministicRoundingofLinearPrograms 279 11.1 TheGeneralizedAssignmentProblem 280 11.2 Minimum-CostBounded-DegreeSpanningTrees 284 11.3 SurvivableNetworkDesignandIteratedRounding 296 Exercises 303 ChapterNotes 307 12 FurtherUsesofRandomSamplingandRandomizedRounding ofLinearPrograms 309 12.1 TheUncapacitatedFacilityLocationProblem 310 12.2 TheSingle-SourceRent-or-BuyProblem 314 12.3 TheSteinerTreeProblem 316 viii contents 12.4 EverythingatOnce:FindingaLargeCutinaDenseGraph 324 Exercises 329 ChapterNotes 331 13 FurtherUsesofRandomizedRoundingofSemidefinitePrograms 333 13.1 ApproximatingQuadraticPrograms 334 13.2 Coloring3-ColorableGraphs 341 13.3 UniqueGames 345 Exercises 352 ChapterNotes 354 14 FurtherUsesofthePrimal-DualMethod 355 14.1 ThePrize-CollectingSteinerTreeProblem 355 14.2 TheFeedbackVertexSetProbleminUndirectedGraphs 360 Exercises 366 ChapterNotes 368 15 FurtherUsesofCutsandMetrics 369 15.1 Low-DistortionEmbeddingsandtheSparsestCutProblem 370 15.2 ObliviousRoutingandCut-TreePackings 377 15.3 Cut-TreePackingsandtheMinimumBisectionProblem 383 15.4 TheUniformSparsestCutProblem 387 Exercises 406 ChapterNotes 408 16 TechniquesinProvingtheHardnessofApproximation 409 16.1 ReductionsfromNP-CompleteProblems 410 16.2 ReductionsthatPreserveApproximation 414 16.3 ReductionsfromProbabilisticallyCheckableProofs 424 16.4 ReductionsfromLabelCover 429 16.5 ReductionsfromUniqueGames 442 ChapterNotes 450 17 OpenProblems 453 AppendixA:LinearProgramming 459 AppendixB:NP-Completeness 465 Bibliography 469 AuthorIndex 485 SubjectIndex 491 Preface This book is designed to be a textbook for graduate-level courses in approximation algorithms.Aftersomeexperienceteachingminicoursesintheareainthemid-1990s, we sat down and wrote out an outline of the book. Then one of us (DPW), who was atthetimeanIBMResearchStaffMember,taughtseveraliterationsofthecoursefol- lowingtheoutlinewehaddevised,inColumbiaUniversity’sDepartmentofIndustrial EngineeringandOperationsResearchinSpring1998,inCornellUniversity’sSchoolof OperationsResearchandIndustrialEngineeringinFall1998,andattheMassachusetts InstituteofTechnology’sLaboratoryforComputerScienceinSpring2000.Thelecture notesfromthesecoursesweremadeavailable,andwegotenoughpositivefeedbackon themfromstudentsandfromprofessorsteachingsuchcourseselsewherethatwefelt wewereontherighttrack.Sincethen,therehavebeenmanyexcitingdevelopmentsin thearea,andwehaveaddedmanyofthemtothebook;wetaughtadditionaliterations of the course at Cornell in Fall 2006 and Fall 2009 in order to field test some of the writingofthenewerresults. Thecoursesweredevelopedforstudentswhohavealreadyhadaclass,undergraduate or graduate, in algorithms, and who were comfortable with the idea of mathematical proofsaboutthecorrectnessofalgorithms.Thebookassumesthislevelofpreparation. Thebookalsoassumessomebasicknowledgeofprobabilitytheory(forinstance,how tocomputetheexpectedvalueofadiscreterandomvariable).Finally,weassumethat the reader knows something about NP-completeness, at least enough to know that theremightbegoodreasonforwantingfast,approximatesolutionstoNP-harddiscrete optimizationproblems.Atoneortwopointsinthebook,wedoanNP-completeness reductiontoshowthatitcanbehardtofindapproximatesolutionstosuchproblems;we includeashortappendixontheproblemclassNPandthenotionofNP-completeness for those unfamiliar with the concepts. However, the reader unfamiliar with such reductionscanalsosafelyskipoversuchproofs. Inadditiontoservingasagraduatetextbook,thisbookisawayforstudentstoget the background to read current research in the area of approximation algorithms. In particular,wewantedabookthatwecouldhandourownPh.D.studentsjuststarting inthefieldandsay,“Here,readthis.” ix
Description: