Approximation algorithms
Approximation algorithms are efficient computational procedures that produce solutions to optimization problems with a provable bound on how far the output can deviate from the exact optimum, often applied to NP-hard problems.
What Are Approximation Algorithms?
Approximation algorithms are efficient computational procedures that produce solutions to optimization problems with a provable bound on how far the output can deviate from the exact optimum. They address one of the central challenges in computer science: many practically important optimization problems are NP-hard, meaning no polynomial-time algorithm is known that finds exact optima, and none is expected to exist under the widely held assumption that P does not equal NP. Rather than abandoning tractability in pursuit of perfection, approximation algorithms trade exactness for speed, guaranteeing that the returned solution is within some multiplicative or additive factor of the best possible answer.
The field sits at the intersection of algorithm design, combinatorial optimization, and complexity theory. It draws heavily on linear programming and polyhedral combinatorics, probabilistic arguments, and the theory of computational hardness. Formal study of approximation algorithms accelerated in the 1990s following the development of the probabilistically checkable proofs (PCP) theorem, which established tight lower bounds on the approximability of many problems.
Approximation Ratio and Performance Guarantees
The quality of an approximation algorithm is measured by its approximation ratio, also called the approximation factor. For a minimization problem, an algorithm with ratio r guarantees a solution of cost at most r times the optimal cost; for a maximization problem, the guarantee is at least 1/r times the optimum. A ratio of 1 corresponds to exact optimality, and smaller ratios (for minimization) indicate tighter guarantees.
Classic results include the 2-approximation for Vertex Cover via greedy matching, the (1 + 1/e)-approximation for Maximum Coverage, and the 1.5-approximation due to Christofides (1976) for the metric Traveling Salesman Problem, which held as the best known result for decades until a 2020 improvement by Karlin, Klein, and Oveis Gharan achieved a ratio of 1.5 minus an exponentially small constant. Approximation algorithm lecture notes from the Tata Institute of Fundamental Research provide a formal treatment of ratio analysis and the complexity-theoretic underpinnings.
Design Techniques
Several systematic techniques produce approximation algorithms with guaranteed ratios. Greedy algorithms build solutions incrementally by making locally optimal choices; the greedy set cover algorithm, for instance, achieves a logarithmic approximation of ln(n) + 1 for the Set Cover problem. Linear programming (LP) relaxation removes integrality constraints from an integer program, solves the resulting LP in polynomial time, and then rounds the fractional solution to a feasible integer solution with controlled quality loss. The primal-dual schema and the local-search paradigm offer additional design tools applicable to different problem families. The ACM Digital Library's foundational text on approximation algorithms for NP-hard problems surveys these techniques with worked examples across dozens of problems.
Hardness of Approximation
A matching lower bound on approximability is as important as an upper bound. The PCP theorem implies that certain problems cannot be approximated within any constant factor below a specific threshold unless P = NP. Max-3-SAT, for instance, cannot be approximated beyond a ratio of 7/8 under this assumption. Inapproximability results guide algorithmic research by signaling where the best possible polynomial-time approximation lies, and by identifying which problems allow polynomial-time approximation schemes (PTAS) in which the ratio can be brought arbitrarily close to 1. Stanford's combinatorial optimization lecture notes treat both algorithmic upper bounds and hardness lower bounds in a unified framework.
Applications
Approximation algorithms are applied to:
- Network design and routing, including minimum spanning tree variants and Steiner tree problems
- Job scheduling and resource allocation in operating systems and cloud platforms
- Facility location for distribution center placement and antenna siting
- Vehicle routing and logistics planning related to the Traveling Salesman Problem
- Genome assembly and sequence alignment in computational biology