NP-Hardness

NP-Hardness is a computational complexity classification indicating a problem is at least as hard as the hardest problems in NP (nondeterministic polynomial time). An NP-hard problem has no known polynomial-time algorithm, and finding one would prove P=NP. Many optimization problems are NP-hard: traveling salesman, knapsack, graph coloring, scheduling, facility location. Implications: (1) exact algorithms likely require exponential time for worst cases; (2) practical approaches use approximation algorithms, heuristics, or metaheuristics; (3) special cases may be tractable. Recognizing NP-hardness guides solution strategy selection - ruling out exact methods for large instances and justifying heuristic approaches. Reduction proofs establish NP-hardness by transforming known NP-hard problems.

» OR glossary