Designed as a textbook for graduate courses on algorithms, this book presents efficient algorithms that find provably near-optimal solutions.