Close
An approximation algorithm is
an algorithm for solving an
optimization problem that
runs in polynomial time
in the length of the input and outputs a solution that is
guaranteed to be close to the optimal solution.
"Close" has some well-defined sense called the
performance guarantee.
Approximation algorithms are different from
relaxations in the sense that they operate on
the entire original problem and the solution they produce is
therefore feasible for the original problem. They can, however,
be used as relaxations in methods like branch and bound, since they
do provide the same type of information
that a relaxation is typically required to provide, namely a
bound on the value of the objective function.
An area in optimization related to approximation algorithms is
local search. There is, however,
a major distinction between the
two, which is that local search does not provide a guarantee on
the quality of the solution. Local search heuristics stop short
of being approximation algorithms, but often in practice they
provide much better solutions.