| The Complexity of Optimization Problems | p. 1 |
| Analysis of algorithms and complexity of problems | p. 2 |
| Complexity analysis of computer programs | p. 3 |
| Upper and lower bounds on the complexity of problems | p. 8 |
| Complexity classes of decision problems | p. 9 |
| The class NP | p. 12 |
| Reducibility among problems | p. 17 |
| Karp and Turing reducibility | p. 17 |
| NP-complete problems | p. 21 |
| Complexity of optimization problems | p. 22 |
| Optimization problems | p. 22 |
| PO and NPO problems | p. 26 |
| NP-hard optimization problems | p. 29 |
| Optimization problems and evaluation problems | p. 31 |
| Exercises | p. 33 |
| Bibliographical notes | p. 36 |
| Design Techniques for Approximation Algorithms | p. 39 |
| The greedy method | p. 40 |
| Greedy algorithm for the knapsack problem | p. 41 |
| Greedy algorithm for the independent set problem | p. 43 |
| Greedy algorithm for the salesperson problem | p. 47 |
| Sequential algorithms for partitioning problems | p. 50 |
| Scheduling jobs on identical machines | p. 51 |
| Sequential algorithms for bin packing | p. 53 |
| Sequential algorithms for the graph coloring problem | p. 58 |
| Local search | p. 61 |
| Local search algorithms for the cut problem | p. 62 |
| Local search algorithms for the salesperson problem | p. 64 |
| Linear programming based algorithms | p. 65 |
| Rounding the solution of a linear program | p. 66 |
| Primal-dual algorithms | p. 67 |
| Dynamic programming | p. 69 |
| Randomized algorithms | p. 74 |
| Approaches to the approximate solution of problems | p. 76 |
| Performance guarantee: chapters 3 and 4 | p. 76 |
| Randomized algorithms: chapter 5 | p. 77 |
| Probabilistic analysis: chapter 9 | p. 77 |
| Heuristics: chapter 10 | p. 78 |
| Final remarks | p. 79 |
| Exercises | p. 79 |
| Bibliographical notes | p. 83 |
| Approximation Classes | p. 87 |
| Approximate solutions with guaranteed performance | p. 88 |
| Absolute approximation | p. 88 |
| Relative approximation | p. 90 |
| Approximability and non-approximability of TSP | p. 94 |
| Limits to approximability: The gap technique | p. 100 |
| Polynomial-time approximation schemes | p. 102 |
| The class PTAS | p. 105 |
| APX versus PTAS | p. 110 |
| Fully polynomial-time approximation schemes | p. 111 |
| The class FPTAS | p. 111 |
| The variable partitioning technique | p. 112 |
| Negative results for the class FPTAS | p. 113 |
| Strong NP-completeness and pseudo-polynomiality | p. 114 |
| Exercises | p. 116 |
| Bibliographical notes | p. 119 |
| Input-Dependent and Asymptotic Approximation | p. 123 |
| Between APX and NPO | p. 124 |
| Approximating the set cover problem | p. 124 |
| Approximating the graph coloring problem | p. 127 |
| Approximating the minimum multi-cut problem | p. 129 |
| Between APX and PTAS | p. 139 |
| Approximating the edge coloring problem | p. 139 |
| Approximating the bin packing problem | p. 143 |
| Exercises | p. 148 |
| Bibliographical notes | p. 150 |
| Approximation through Randomization | p. 153 |
| Randomized algorithms for weighted vertex cover | p. 154 |
| Randomized algorithms for weighted satisfiability | p. 157 |
| A new randomized approximation algorithm | p. 157 |
| A 4/3-approximation randomized algorithm | p. 160 |
| Algorithms based on semidefinite programming | p. 162 |
| Improved algorithms for weighted 2-satisfiability | p. 167 |
| The method of the conditional probabilities | p. 168 |
| Exercises | p. 171 |
| Bibliographical notes | p. 173 |
| NP, PCP and Non-approximability Results | p. 175 |
| Formal complexity theory | p. 175 |
| Turing machines | p. 175 |
| Deterministic Turing machines | p. 178 |
| Nondeterministic Turing machines | p. 180 |
| Time and space complexity | p. 181 |
| NP-completeness and Cook-Levin theorem | p. 184 |
| Oracles | p. 188 |
| Oracle Turing machines | p. 189 |
| The PCP model | p. 190 |
| Membership proofs | p. 190 |
| Probabilistic Turing machines | p. 191 |
| Verifiers and PCP | p. 193 |
| A different view of NP | p. 194 |
| Using PCP to prove non-approximability results | p. 195 |
| The maximum satisfiability problem | p. 196 |
| The maximum clique problem | p. 198 |
| Exercises | p. 200 |
| Bibliographical notes | p. 204 |
| The PCP theorem | p. 207 |
| Transparent long proofs | p. 208 |
| Linear functions | p. 210 |
| Arithmetization | p. 214 |
| The first PCP result | p. 218 |
| Almost transparent short proofs | p. 221 |
| Low-degree polynomials | p. 222 |
| Arithmetization (revisited) | p. 231 |
| The second PCP result | p. 238 |
| The final proof | p. 239 |
| Normal form verifiers | p. 241 |
| The composition lemma | p. 245 |
| Exercises | p. 248 |
| Bibliographical notes | p. 249 |
| Approximation Preserving Reductions | p. 253 |
| The World of NPO Problems | p. 254 |
| AP-reducibility | p. 256 |
| Complete problems | p. 261 |
| NPO-completeness | p. 261 |
| Other NPO-complete problems | p. 265 |
| Completeness in exp-APX | p. 265 |
| APX-completeness | p. 266 |
| Other APX-complete problems | p. 270 |
| Exercises | p. 281 |
| Bibliographical notes | p. 283 |
| Probabilistic analysis of approximation algorithms | p. 287 |
| Introduction | p. 288 |
| Goals of probabilistic analysis | p. 289 |
| Techniques forthe probabilistic analysis of algorithms | p. 291 |
| Conditioning in the analysis of algorithms | p. 291 |
| The first and the second moment methods | p. 293 |
| Convergence of random variables | p. 294 |
| Probabilistic analysis and multiprocessor scheduling | p. 296 |
| Probabilistic analysis and bin packing | p. 298 |
| Probabilistic analysis and maximum clique | p. 302 |
| Probabilistic analysis and graph coloring | p. 311 |
| Probabilistic analysis and Euclidean TSP | p. 312 |
| Exercises | p. 316 |
| Bibliographical notes | p. 318 |
| Heuristic methods | p. 321 |
| Types of heuristics | p. 322 |
| Construction heuristics | p. 325 |
| Local search heuristics | p. 329 |
| Fixed-depth local search heuristics | p. 330 |
| Variable-depth local search heuristics | p. 336 |
| Heuristics based on local search | p. 341 |
| Simulated annealing | p. 341 |
| Genetic algorithms | p. 344 |
| Tabu search | p. 347 |
| Exercises | p. 349 |
| Bibliographical notes | p. 350 |
| Mathematical preliminaries | p. 353 |
| Sets | p. 353 |
| Sequences, tuples and matrices | p. 354 |
| Functions and relations | p. 355 |
| Graphs | p. 356 |
| Strings and languages | p. 357 |
| Booleanlogic | p. 357 |
| Probability | p. 358 |
| Random variables | p. 359 |
| Linear programming | p. 361 |
| Two famous formulas | p. 365 |
| A List of NP Optimization Problems | p. 367 |
| Bibliography | p. 471 |
| Index | p. 515 |
| Table of Contents provided by Publisher. All Rights Reserved. |