Why should the matrix $A$ in an ILP be integer?

98 Views Asked by At

Almost everywhere I read about integer linear programming (ILP), I found that the matrix has to be integer (by definition). More precisely, an ILP is defined as follows:

An ILP in canonical form is expressed as [1] (among other references):

\begin{align} & \text{maximize} && \mathbf{c}^\mathrm{T} \mathbf{x}\\ & \text{subject to} && A \mathbf{x} \le \mathbf{b}, \\ & && \mathbf{x} \ge \mathbf{0}, \\ & \text{and} && \mathbf{x} \in \mathbb{Z}^n, \end{align}

where the entries of $\mathbf{c}, \mathbf{b}$ are vectors and $A$ is a matrix, $\textit{having integer values}$.

So my question is: Why should $A$ be integer matrix? If $A$ was real or complex matrix, what is this linear program called?

Thanks.

1

There are 1 best solutions below

2
On BEST ANSWER

If $A$ has rational entries, you can multiply $A$ and $b$ by a common denominator and have an equivalent linear programming problem with integer entries. If $A$ has irrational entries, and you have an a priori bound on the solutions $\bf x$, then sufficiently good rational approximations for the entries of $A$ should give the same solutions.

On the other hand, without such bounds, you might not have an optimal integer solution at all, even though the corresponding linear programming problem has one. Consider e.g.

$$ \eqalign{\text{minimize} & c x_1 - x_2\cr \text{subject to} & c x_1 - x_2 \ge 0\cr & x_1, x_2 \ge 1\cr & x_1, x_2 \in \mathbb Z\cr}$$ where $c>0$ is irrational. There are feasible integer solutions with $c x_1 - x_2$ arbitrarily small, but not $0$. That couldn't happen for a version of the problem with integer coefficients.

Of course, in practice, linear programming is done by computers doing arithmetic with rational numbers.