Chapter 1
As P not equal to NP, we cannot simultaneously have algorithms that 1. find optimal solutions; 2. in polynomial time; 3. for any instance.
At least one of these requirements need to be relaxed to dealing with NP problem.
The more common approach would be relaxing the requirement of polynomial time solvability. This is the approach taken by those in the field of operations research and mathematical programming or the area of artificial intelligence(like A* search).
But the most common and the book is using, is to relax the requirement of finding an optimal solution and settle for a solution that is "good enough".
Definition 1.1:
An α-approximation algorithm for an optimization problem is a polynomial time algorithm that for all instances of the problem produces a solution whose value is within a factor of α of the value of an optimal solution.
So we call α the performance guarantee of the algorithm, or more often: the approximation ratio or factor of the algorithm.
(α > 1 for minimization problems, and α < 1 for maximization problems)
Note that the worst-case bounds for algorithms are often due to pathological cases that do not arise in practice, so that approximation algorithm often give rise to heuristics that return solutions much closer to optimal than indicated by their performance guarantees.