29-3 Integer linear programming

An integer linear-programming problem is a linear-programming problem with the additional constraint that the variables xx must take on integral values. Exercise 34.5-3 shows that just determining whether an integer linear program has a feasible solution is NP-hard, which means that there is no known polynomial-time algorithm for this problem.

a. Show that weak duality (Lemma 29.8) holds for an integer linear program.

b. Show that duality (Theorem 29.10) does not always hold for an integer linear program.

c. Given a primal linear program in standard form, let us define PP to be the optimal objective value for the primal linear program, DD to be the optimal objective value for its dual, IPIP to be the optimal objective value for the integer version of the primal (that is, the primal with the added constraint that the variables take on integer values), and IDID to be the optimal objective value for the integer version of the dual. Assuming that both the primal integer program and the dual integer program are feasible and bounded, show that

IPP=DID.IP \le P = D \le ID.

a. The proof for weak duality goes through identically. Nowhere in it does it use the integrality of the solutions.

b. Consider the linear program given in standard form by A=(1)A = (1), b=(12)b = (\frac{1}{2}) and c=(2)c = (2). The highest we can get this is 00 since that's that only value that xx can be. Now, consider the dual to this, that is, we are trying to minimize x2\frac{x}{2} subject to the constraint that x2x \ge 2. This will be minimized when x=2x = 2, so, the smallest solution we can get is 11.

Since we have just exhibited an example of a linear program that has a different optimal solution as it's dual, the duality theorem does not hold for integer linear program.

c. The first inequality comes from looking at the fact that by adding the restriction that the solution must be integer valued, we obtain a set of feasible solutions that is a subset of the feasible solutions of the original primal linear program. Since, to get IPIP, we are taking the max over a subset of the things we are taking a max over to get PP, we must get a number that is no larger. The third inequality is similar, except since we are taking min over a subset, the inequality goes the other way. The middle equality is given by Theorem 29.10.