0% found this document useful (0 votes)
46 views

Integer Programming ISE 418: Dr. Ted Ralphs

This document provides an overview of integer programming and formulations in integer programming. It discusses how conceptual models are translated into mathematical formulations using integer variables. Integer variables allow enforcing logical conditions and disjunctions. Valid formulations map the conceptual model solutions to the solutions of the mathematical problem. There can be multiple valid formulations and choosing a good formulation impacts efficiency. Reducing a problem to another is a key part of modeling and proving validity of formulations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Integer Programming ISE 418: Dr. Ted Ralphs

This document provides an overview of integer programming and formulations in integer programming. It discusses how conceptual models are translated into mathematical formulations using integer variables. Integer variables allow enforcing logical conditions and disjunctions. Valid formulations map the conceptual model solutions to the solutions of the mathematical problem. There can be multiple valid formulations and choosing a good formulation impacts efficiency. Reducing a problem to another is a key part of modeling and proving validity of formulations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Integer Programming

ISE 418

Lecture 2

Dr. Ted Ralphs


ISE 418 Lecture 2 1

Reading for This Lecture

• N&W Sections I.1.1-I.1.6


• Wolsey Chapter 1
• CCZ Chapter 2
ISE 418 Lecture 2 2

Formulations and Models

• 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

• Suppose F ⊆ Zp+ × Rn−p


+ is a set describing the solutions to our
conceptual model.
• Then

p
Rn−p (Zt+ Rr−t

S = (x, y) ∈ (Z × + ) × × + ) | Ax + Gy ≤ b

is a valid (linear) formulation if F = projx(S).


• The formulation may have auxiliary variables that are not in the
conceptual model (we will see an example later in the lecture).
• In fact, the variables from the conceptual model may not even be
explicitly needed if their values can be computed later.
• This definition addresses only feasibility and does not address formal
equivalence of the formulation and the original optimization problem.
• To prove such equivalence, we need also consider the objective function
and may need to invoke the concept of reduction, introduced later.
ISE 418 Lecture 2 4

Alternative Formulations

• A typical mathematical model may have many valid formulations.


• In this class, we focus on problems that have linear formulations
(naturally, not every problem does).
• We will see that the specific formulation we choose can have a big impact
on the efficiency of the solution method.
• Finding a “good” formulation is critical to solving a given linear model
efficiently and is a good deal of what this course is about.
• The existence of alternative formulations and the question of how to
choose between them will be an implicit theme throughout the course.
• In fact, most algorithms for solving optimization problems can be seen
as methods for iteratively reformulating.
ISE 418 Lecture 2 5

Notation and Terminology

• 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

• There are two parts to proving a formulation is valid, although one or


both of these may be “obvious” in some cases.
– First, we have to prove that F is in fact the set of solutions to the
original problem, which may have been described non-mathematically.
– Second, we have to prove our formulation is correct.
• In the first step, we need to identify a mapping between the real-world
system and the set F..
• Proving validity of a given formulation often means proving F =
projx(S).
• The most straightforward way of doing this involves proving
– x ∈ F ⇒ x ∈ projx(S), and
– x ∈ projx(S) ⇒ x ∈ F.
• Note also that we may need to separately prove that the chosen objective
properly ranks the solutions according to our evaluation in the real world.
ISE 418 Lecture 2 7

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

Problem Reduction and Modeling

• Note that reduction does not require us to identify a problem that is


equivalent to our original problem.
• Problems A and B may not be equivalent, since we don’t require that
every instance of problem B corresponds to an instance of problem A.
• The goal is to exploit an algorithm for problem B to solve problem A.
• Modeling of a general optimization problem involves reducing that model
to optimization over a set F.
• Proving validity of a formulation amounts to showing that optimization
over F can be reduced to mathematical optimization.
• We may also do reductions from one mathematical optimization problem
to another in some cases.
• These reductions may involve problems defined over completely different
sets of variables.
ISE 418 Lecture 2 10

Example: Max Independent Set and Max Clique


ISE 418 Lecture 2 11

Formulations with Integer Variables

• From a practical standpoint, what is the purpose of integer variables?


ISE 418 Lecture 2 11

Formulations with Integer Variables

• From a practical standpoint, why do we need integer variables?


• We have seen in the last lecture that integer variable essentially allow us
to introduce disjunctive logic
• If the variable is associated with a physical entity that is indivisible, then
the value must be integer.
– Product mix problem.
– Cutting stock problem.
• At its heart, integrality is a kind of disjunction constraint.
• 0-1 (binary) variables are often used to formulate more abstract kinds of
disjunctions (non-numerical).
– Formulating yes/no decisions.
– Enforcing logical conditions.
– Formulating fixed costs.
– Formulating piecewise linear functions.
ISE 418 Lecture 2 12

Formulating Binary Choice

• We use binary variables to formulate yes/no decisions.


• Example: Integer knapsack problem
– We are given a set of items with associated values and weights.
– We wish to select a subset of maximum value such that the total
weight is less than a constant K.
– We associate a 0-1 variable with each item indicating whether it is
selected or not.
Xm
max cj xj
j=1
m
X
s.t. wj x j ≤ K
j=1
x ∈ {0, 1}n
ISE 418 Lecture 2 13

Formulating Dependent Decisions

• 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

Example: Facility Location Problem


• We are given n potential facility locations and m customers.
• There is a fixed cost cj of opening facility j.
• There is a cost dij associated with serving customer i from facility j.
• We have two sets of binary variables.
– yj is 1 if facility j is opened, 0 otherwise.
– xij is 1 if customer i is served by facility j, 0 otherwise.
• Here is one formulation:
X n m X
X n
min cj yj + dij xij
j=1 i=1 j=1
Xn
s.t. xij = 1 ∀i
j=1
Xm
xij ≤ myj ∀j
i=1
xij , yj ∈ {0, 1} ∀i, j
ISE 418 Lecture 2 15

Selecting from a Set

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

Formulating Disjunctive Constraints

• We are given two constraints a>x ≥ b and c>x ≥ d with non-negative


coefficients.
• Instead of insisting both constraints be satisfied, we want at least one of
the two constraints to be satisfied.
• To formulate this, we define a binary variable y and impose

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

Formulating a Restricted Set of Values

• 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

Piecewise Linear Cost Functions

• We can use binary variables to formulate arbitrary piecewise linear cost


functions.
• The function is specified by ordered pairs (ai, f (ai)) and we wish to
evaluate it at a point x.
• We have a binary variable yi, which indicates whether ai ≤ x ≤ ai+1.
Pk
• To evaluate the function, we take linear combinations i=1 λif (ai) of
the given functions values.
• This only works if the only two nonzero λ0is are the ones corresponding
to the endpoints of the interval in which x lies.
ISE 418 Lecture 2 19

Minimizing Piecewise Linear Cost Functions


• The following formulation minimizes the function.
k
X
min λif (ai)
i=1
k
X
s.t. λi = 1,
i=1
λ1 ≤ y1,
λi ≤ yi−1 + yi, i ∈ [2..k − 1],
λk ≤ yk−1,
k−1
X
yi = 1,
i=1
λi ≥ 0,
yi ∈ {0, 1}.

• The key is that if yj = 1, then λi = 0, ∀i 6= j, j + 1.


ISE 418 Lecture 2 20

Formulating General Nonconvex Functions

• One way of dealing with general nonconvexity is by dividing the domain


of a nonconvex function into regions over which it is convex (or concave).
• We can do this using integer variables to choose the region.
• This is precisely what is done in the case of the piecewise linear cost
function above.
• Most methods of general global optimization use some form of this
approach.
ISE 418 Lecture 2 21

Fixed-charge Problems

• In many instances, there is a fixed cost and a variable cost associated


with a particular decision.
• Example: Fixed-charge Network Flow Problem
– We are given a directed graph G = (N, A).
– There is a fixed cost cij associated with “opening” arc (i, j) (think of
this as the cost to “build” the link).
– There is also a variable cost dij associated with each unit of flow along
arc (i, j).
– Consider an instance with a single supply node.
∗ Minimizing the fixed cost by itself is a minimum spanning tree
problem (easy).
∗ Minimizing the variable cost by itself is a minimum cost network
flow problem (easy).
∗ We want to minimize the sum of these two costs (difficult).
ISE 418 Lecture 2 22

Formulating the Fixed-charge Network Flow Problem

• To formulate the FCNFP, we associate two variables with each arc.


– xij (fixed-charge variable) indicates whether arc (i, j) is open.
– fij (flow variable) represents the flow on arc (i, j).
– Note that we have to ensure that fij > 0 ⇒ xij = 1.

X
min cij xij + dij fij
(i,j)∈A
X X
s.t. fij − fji = bi ∀i ∈ N
j∈O(i) j∈I(i)

fij ≤ Cxij ∀(i, j) ∈ A


fij ≥ 0 ∀(i, j) ∈ A
xij ∈ {0, 1} ∀(i, j) ∈ A

You might also like