Local search. There are no guarantees of being close to optimal, but often works well in practice. This is better than Approximation Algorithms because we don’t need to define a threshold of how close to optimality we need to be.
There is an approximation hierarchy:
- No finite approximation
- Finite approximation
- Arbitrarily good approximation (polynomial time approximation scheme)
Local Search
Let s be any initial solution
while there is a solution s' in the "neighborhood" of s for which cost(s') < cost(s):
replace s by s'
return s