20
Solving integer programs
We now have a systematic understanding of how to solve linear programs.
However, we have so far developed no ideas about how to solve the kinds
of
integer
programs that we encountered earlier. The only exception is the
special case of transportation problems, where the integrality restriction on
the variables turns out to be essentially no restriction at all. Unlike trans
portation problems (and a few other special problem classes), most integer
programs are much harder to solve than linear programs. In this section we
will start to outline a general computational approach.
Consider the following example of an integer program with binary vari
ables.
maximize
3
x
1
+
2
x
2
+
4
x
3
subject to
x
1
+
2
x
2
+
x
3
≥
1
x
1
+
2
x
2
+
x
3
≤
2
x
1
+
x
2

2
x
3
≥
0
x
1
,
x
2
,
x
3
∈
{
0
,
1
}
.
One foolproof approach is
complete enumeration
: we simply list all the pos
sible solutions, check which are feasible, and among these, find the best. In
this case, we arrive at the following enumeration.
x
1
x
2
x
3
Feasible
Objective
0
0
0
no
0
0
1
no
0
1
0
yes
2
0
1
1
no
1
0
0
yes
3
1
0
1
no
1
1
0
no
1
1
1
no
From the table, we see that the optimal solution of the integer program is
[1
,
0
,
0]
T
.
For this small example, complete enumeration was simple and effective.
In general, however, this approach is clearly not practical for anything but
the smallest problems, because the number of solutions we must enumerate
grows exponentially in the number of binary variables.
The next natural idea we might try is
rounding
. We could use the sim
plex method to solve the
linear programming relaxation
: that is, the linear
108
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
program we obtain by dropping all the integrality restrictions.
We might
hope that the optimal solution to the integer program is somehow “close” to
the optimal solution of the relaxation.
Unfortunately, simple examples show that rounding may fail to say any
thing helpful about the integer program. Consider, for example, the simple
integer program
maximize
x
2
subject to

2
x
1
+
2
x
2
≤
1
2
x
1
+
2
x
2
≤
7
x
1
,
x
2
≥
0
,
integer
.
The optimal solution of the linear programming relaxation is [
3
2
,
1]
T
: round
ing the fractional component either up or down leads to an infeasible solution.
Rounding gives us no obvious information about optimal solutions of the in
teger program (in this case [1
,
1]
T
and [2
,
1]
T
).
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '07
 BLAND
 Linear Programming, Optimization, Linear Programming Relaxation, optimal solution, integer program

Click to edit the document details