Integer Programming ISE 418: Dr. Ted Ralphs
Integer Programming ISE 418: Dr. Ted Ralphs
ISE 418
Lecture 2
• Our description in the last lecture boiled the modeling process down to
two basic steps.
1. Create a conceptual model of the real-world problem.
2. Translate the conceptual model into a formulation.
• In the conceptual model, we identify the variables and what values of we
would like to allow in logical/conceptual terms.
• In the formulation, we specify constraints that ensure the feasible
solutions to the resulting mathematical optimization problem are indeed
“feasible” in terms of the conceptual model.
• Integer (and other) variables that don’t appear in the conceptual model
may be introduced to enforce logical conditions (disjunction).
• We also try to account for “solvability.”
• We may have to prove formally that the resulting formulation does in
fact correspond to the model (and eventually to the real-world problem).
ISE 418 Lecture 2 3
Valid Formulation
p
Rn−p (Zt+ Rr−t
S = (x, y) ∈ (Z × + ) × × + ) | Ax + Gy ≤ b
Alternative Formulations
• For most parts of the course, we’ll assume the formulation is given and
won’t consider the original conceptual model.
• We may informally refer to the feasible region of the LP relaxation as
“the formulation.”
• Later we’ll discuss mathematical formalities involved in describing
optimization problems.
• For ease of notation, we won’t distinguish between the original structural
variables and the additional auxiliary variables.
ISE 418 Lecture 2 6
Proving Validity
Problem Reduction
• The process of modeling and formulation involves multiple translations
from one formal (or informal) language into another.
• Ech of these steps involves what is called reduction, a type of procedure
that we will study in more detail later in the course.
• Informally, reducing problem A to problem B involves deriving
– a mapping of each “instance” of problem A to an “instance” of
problem B, and
– a mapping of a solution to problem B to a solution to problem A
• If problem A can be reduced to problem B in this way, we can solve an
instance of problem A by
1. Mapping the instance of problem A to an instance of problem B;
2. Solving the instance of problem B; and then
3. Mapping the solution we obtain back to a solution of problem A.
• Note that for an optimization problem, reduction only requires that an
optimal solution of B maps to an optimal solution of A.
• There may be solutions to B that do not map to solutions of A, but also
can never be optimal.
ISE 418 Lecture 2 8
Efficient Reduction
• The way reduction was informally described on the previous slide did not
account for the difficulty of doing the mapping.
• In general, for a reduction to be useful, the mappings should be “easy”
to compute.
• We usually define this to mean that the number of steps required is
polynomial in the “size” of the input.
• Hence, the description of the instance of problem B cannot be more than
a polynomial factor larger than the input of thge instance of problem A.
• We’ll define this notion of “efficiency” more formally laster in the course
and also study it in ISE 407.
• Also note that we required that problem A be solved by one call to the
algorithm for problem B.
• In general, notions of reduction exist in which multiple instances of
problem B may be used to solve problem A.
• In this more general notion of reduction, we put a similar limit on both
the size and number of instances of problem B to be solved.
ISE 418 Lecture 2 9
• We can also use binary variables to enforce the condition that a certain
action can only be taken if some other action is also taken.
• Suppose x and y are binary variables representing whether or not to take
certain actions.
• The constraint x ≤ y says “only take action x if action y is also taken”.
ISE 418 Lecture 2 14
P
• We can use constraints of the form j∈T xj ≥ 1 to represent that at
least one item should be chosen from a set T .
• Similarly, we can also formulate that at most one or exactly one item
should be chosen.
• Example: Set covering problem
– A set covering problem is any problem of the form
min c>x
s.t. Ax ≥ 1
xj ∈ {0, 1} ∀j
where A is a 0-1 matrix.
– Each row of A represents an item from a set S.
– Each column Aj represents a subset Sj of the items.
– Each variable xj represents selecting subset Sj .
– The constraints say that ∪{j|xj =1}Sj = S.
– In other words, each item must appear in at least one selected subset.
ISE 418 Lecture 2 16
a>x ≥ yb,
c>x ≥ (1 − y)d,
y ∈ {0, 1}.
• More generally, we can impose that at least k out of m constraints be
satisfied with
(a0i)>x ≥ biyi, i ∈ [1..m]
Xm
yi ≥ k,
i=1
yi ∈ {0, 1}
ISE 418 Lecture 2 17
• We may want variable x to only take on values in the set {a1, . . . , am}.
• We introduce m binary variables yj , j = 1, . . . , m and the constraints
m
X
x= aj yj ,
j=1
m
X
yj = 1,
j=1
yj ∈ {0, 1}
ISE 418 Lecture 2 18
Fixed-charge Problems
X
min cij xij + dij fij
(i,j)∈A
X X
s.t. fij − fji = bi ∀i ∈ N
j∈O(i) j∈I(i)