Lukas' Notes

Definition

Bi Knapsack has no FPTAS unless P equals NP

The Bi Knapsack problem admits no FPTAS unless , despite admitting a pseudopolynomial dynamic programme. The argument uses the known NP-hardness of this cardinality optimisation problem.

Proof

An error smaller than one item forces exactness

Choose inverse-polynomial accuracy

Suppose an FPTAS exists. For an instance with items, run it with . Its time is polynomial in the binary input length and , hence polynomial in the input length. For , the empty solution is already optimal.

Bound the absolute loss

Let and let be the cardinality of the returned feasible subset. Then , and

Since , we obtain .

Both and are integers. No integer smaller than is greater than , so . The same conclusion holds when by feasibility.

Contradict NP-hardness

This gives an exact polynomial-time algorithm for the NP-hard optimisation problem, and therefore a polynomial-time algorithm for its associated threshold decision problem. Thus an FPTAS would imply .

Why pseudopolynomial time does not suffice

Exact optimisation via integrality generally yields pseudopolynomial time when the objective bound is polynomial only in unary input length. Here the stronger bound is already polynomial in binary input length. Consequently the precision needed for exactness is affordable to an FPTAS in ordinary polynomial time.

The capacities may be huge and make dynamic programming expensive, but the objective still counts at most items. These are different quantities. The obstruction is not strong NP-hardness; it is the combination of NP-hardness and a polynomially bounded integer objective.