17

The decision version of the problem Integar Linear Programming is the following:

  • Input: two matrices $A\in \mathcal{M}_n(\mathbb{Z})$ and $B\in \mathcal{M}_{n,1}(\mathbb{Z})$.
  • Question: is there a matrix $X\in \mathcal{M}_{n,1}(\mathbb{Z})$ such that $AX\leqslant B$? (the inequality being component by component).

This is a well-known $\mathsf{NP}$-complete problem, but I struggle to prove that it is in $\mathsf{NP}$.

An obvious certificate for a positive instance $(A, B)$ would be such a $X$, but there is no guarantee that the size of such an $X$ is polynomial in the size of the input (here, we can consider the size of the instance $(A, B)$ to be $n^2\log_2(\max(|a_{ij}|, |b_i|)$ and the size of $X$ to be $n\log_2(\max |x_i|))$.

What I expect is that if there is such an $X$, there is one with coefficients not too big, but I don't know how to prove this.

While this is a computer science formulation, I am sure that there is some maths behind this to prove the result, so maybe this question should be asked on maths.SE?

This document states:

ILP ∈ NP. (Not obvious! Need a little math to prove it. Proof omitted.)

and this one states:

Unlike with most NP-complete problems, it is not that easy to see that ILP ∈ NP, since a witness need not necessarily have polynomial size. This is the case though, but the reasons are beyond the scope of the course.

But none gives further references.

(Note: I think that this problem is an answer to my previous question)

Nathaniel
  • 18,309
  • 2
  • 30
  • 58

4 Answers4

19

As you have seen in other sources, the proof that there exists a witness with polynomial size does not exactly fit inside the margin, so to speak. The proof I know of (from the book I mention below) depends heavily on the mathematics of linear inequalities and polyhedra, and I expect this to be the case for most proofs. I don't think you will get a deep understanding of the proof without studying the subject first.

This is why, if you wish to know, I suggest you read a book. The book Integer Programming by Conforti, Cornuejols, and Zambelli prove this fact in section 4.8.2 by making use of various results on linear inequalities and polyhedra they covered in earlier chapters. To get the required background for the proof, you should work through chapters 1,3,4. This may take a couple of weeks of your time.


As a very rough sketch of their proof: the idea is that the solution space of a linear program, a polyhedron, can be described in terms of its "boundary": as a combination of a set of vectors called vertices and another set of vectors called (extreme) rays. That is, every point in the solution is equal to the sum of coefficient multiplied by one of these vectors. (with a few more constraints on the coefficients)

It can be shown that we do not need too many of these vectors (this follows from Caratheodory's theorem) and that these vectors have size polynomial in the encoding of the input. Some of the coefficients are already bounded, some are not but can be bounded via the same approach as Meyer's theorem. The combination of these bounds gives a polynomial bound on the size of the solution point.

Discrete lizard
  • 8,392
  • 3
  • 25
  • 53
5

The paper "On the Complexity of Integer Programming" from Papadimitriou has a very compact (2 and a half pages counting from abstract) proof.

It only needs the common knowledge about dual programs and linear algebra, but might be a bit terse.

Sudix
  • 719
  • 3
  • 13
2

I think there is a reasonably succinct proof in Schrijver (1986) "Theory of Linear and Integer Programming".

Adam L
  • 21
  • 1
-2

If I gave you a solution, you would be able to check it in polynomial time. That's what NP means: It is a decision problem, and if the answer is YES, then I can give you information that lets you verify that the answer is YES. Finding that information (in this case: Finding a solution) may be hard.

Also, if there is no solution, I wouln't know what information I could give you that you can check in polynomial time to find that the answer is NO. So unless I (and many very clever people) have missed something, the problem is not in co-NP.

gnasher729
  • 32,238
  • 36
  • 56