computation

Definition

NP-Optimisation Problem

An optimisation problem is an NP-optimisation problem if:

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:

  1. which inputs are valid;
  2. which candidate solutions are feasible;
  3. 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:

Comparison to NP

An NP problem is a decision problem.

So NP asks whether there exists a certificate proving that the answer is yes.

An NP-optimisation problem is an optimisation problem.

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 NPNP-Optimisation
Inputinstance instance
Outputyes/nobest feasible solution
Witnessa polynomially balanced and polynomially decidable certificatefeasible solution verifiable in polynomial time
Extra-objective function ranking feasible solution