Definition
NP-Optimisation Problem
An optimisation problem is an NP-optimisation problem if:
- , the set of valid instances, is decidable in polynomial time; is the number of bits needed to write under binary encoding.
- for each instance , there is a set of feasible solutions;
- every has polynomial length, i.e.
- membership is decidable in polynomial time;
- the objective function is polynomial-time computable and assigns a non-negative rational number to each pair .
may be either a minimisation problem or a maximisation problem.
Intuition
An NP-optimisation problem is an optimisation problem whose legal solutions can be checked efficiently.
The definition separates three things:
- which inputs are valid;
- which candidate solutions are feasible;
- how feasible solutions are scored.
The first two parts decide whether a candidate is allowed. The objective function then decides which allowed candidate is better. This is the same pattern as in NP-complete decision problems: a candidate solution should be short enough to write down and easy enough to verify in polynomial time.
So, when one wants to define a new optimisation problem in this class, one usually asks: can an instance be encoded in binary, can a candidate solution be checked quickly, and can its value be computed quickly?
Association with Decision Problem
With every NP-optimisation problem , one can naturally associate a decision problem by giving a bound on the optimal solution:
- The decision version consists of pairs with being an instance of and a rational number.
- NP-hardness for implies NP-hardness for .
Comparison to NP
An NP problem is a decision problem.
- input: an instance
- output: yes or no
- witness: a certificate that can be checked in polynomial time
So NP asks whether there exists a certificate proving that the answer is yes.
An NP-optimisation problem is an optimisation problem.
- input: an instance
- output: the best feasible solution
- witness: a feasible solution that can be checked in polynomial time
- extra structure: an objective function that ranks feasible solutions
So NP-optimisation asks which feasible certificate is best.
The associated decision problem asks whether there exists a feasible solution of value at most or at least a bound . That decision version is the part that fits the classical NP framework.
| Classic NP | NP-Optimisation | |
|---|---|---|
| Input | instance | instance |
| Output | yes/no | best feasible solution |
| Witness | a polynomially balanced and polynomially decidable certificate | feasible solution verifiable in polynomial time |
| Extra | - | objective function ranking feasible solution |