0% found this document useful (0 votes)
278 views6 pages

Ee236a (Fall 2007-08)

The document discusses integer linear programming (ILP), which generalizes linear programming problems by requiring some or all variables to be integers. It presents the branch-and-bound algorithm for solving ILP problems, which decomposes the problem into smaller subproblems and uses linear programming relaxations to identify subproblems that cannot lead to an optimal solution. An example facility location problem is provided to illustrate an ILP formulation and the branch-and-bound tree used to solve it.

Uploaded by

debasis
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
278 views6 pages

Ee236a (Fall 2007-08)

The document discusses integer linear programming (ILP), which generalizes linear programming problems by requiring some or all variables to be integers. It presents the branch-and-bound algorithm for solving ILP problems, which decomposes the problem into smaller subproblems and uses linear programming relaxations to identify subproblems that cannot lead to an optimal solution. An example facility location problem is provided to illustrate an ILP formulation and the branch-and-bound tree used to solve it.

Uploaded by

debasis
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

EE236A (Fall 2007-08)

Lecture 17
Integer linear programming

• integer linear programming, 0-1 linear programming

• a few basic facts

• branch-and-bound

17–1

Definition

integer linear program (ILP)

minimize cT x
subject to Ax ≤ b, Gx = d
x ∈ Zn

mixed integer linear program: only some of the variables are integer

0-1 (Boolean) linear program variables take values 0 or 1

Integer linear programming 17–2


Example: facility location problem

• n potential facility locations, m clients


• ci, i = 1, . . . , n: cost of opening a facility at location i
• dij , i = 1 . . . , m, j = 1, . . . , n: cost of serving client i from location j

determine optimal location:


Pn Pm Pn
minimize j=1 cj yj + i=1 j=1 dij xij
Pn
subject to j=1 xij = 1, i = 1, . . . , m
xij ≤ yj , i = 1, . . . , m, j = 1, . . . , n
xij , yj ∈ {0, 1}

• yj = 1 if location j is selected
• xij = 1 if location j serves client i

a 0-1 LP

Integer linear programming 17–3

Linear programming relaxation

the LP obtained by deleting the constraints x ∈ Zn (or x ∈ {0, 1}n) is


called the LP relaxation

• provides a lower bound on the optimal value of the integer LP


• if the solution of the relaxation has integer components, then it also
solves the integer LP

equivalent ILP formulations of the same problem can have different


relaxations
c c

Integer linear programming 17–4


Strong formulations
the convex hull of the feasible set S of an ILP is:
( K )
X X
conv S = λixi xi ∈ S, λi ≥ 0, λi = 1


i=1 i

(the smallest polyhedron containing S)

for any c, the solution of the ILP also solves the relaxation
minimize cT x
subject to x ∈ conv S

Integer linear programming 17–5

Branch-and-bound algorithm

minimize cT x
subject to x ∈ P
where P is a finite set
general idea:
• decompose in smaller problems

minimize cT x
subject to x ∈ Pi

where Pi ⊂ P, i = 1, . . . , K

• to solve subproblem: decompose recursively in smaller problems

• use lower bounds from LP relaxation to identify subproblems that don’t


lead to a solution

Integer linear programming 17–6


example
minimize cT x
subject to x ∈ P
where c = (−2, −3), and
 
2
P= x∈ Z2+ x1 + 1 x2 ≤ 1, 1 1
x1 + x2 ≤ 1
9 4 7 3
x2 −c

x1

optimal point: (2, 2)

Integer linear programming 17–7

tree of subproblems and results of LP relaxations:

x⋆ p⋆
P0 P0 (2.17, 2.07) −10.56
x1 ≤ 2 x1 ≥ 3
P1 (2.00, 2.14) −10.43
P1 P2
P2 (3.00, 1.33) −10.00
x2 ≤ 2 x2 ≥ 3 x2 ≤ 1 x2 ≥ 2
P3 (2.00, 2.00) −10.00
P3 P4 P5 P6 P4 (0.00, 3.00) −9.00
x1 = 3 x1 ≥ 4 P5 (3.38, 1.00) −9.75
P7 P8 P6 +∞
x2 = 0 x2 = 1
P7 (3.00, 1.00) −9.00
P8 (4.00, 0.44) −9.33
P9 P10
P9 (4.50, 0.00) −9.00
x1 = 4 x1 ≥ 5
P10 +∞
P11 P12
P11 (4.00, 0.00) −8.00
P12 +∞

Integer linear programming 17–8


conclusions from subproblems:

• P2: the optimal value of

minimize cT x
subject to x ∈ P, x1 ≥ 3

is greater than or equal to −10.00

• P3: the solution of

minimize cT x
subject to x ∈ P, x1 ≤ 2, x2 ≤ 2

is (2, 2)

Integer linear programming 17–9

• P6: the problem

minimize cT x
subject to x ∈ P, x1 ≤ 3, x2 ≥ 2

is infeasible

suppose we enumerate the subproblems in the order

P0 , P1, P2, P3, ...

then after solving subproblem P4 we can conclude that (2, 2) is optimal

Integer linear programming 17–10


branch-and-bound for 0-1 linear program

minimize cT x
subject to Ax ≤ b, x ∈ {0, 1}n

x1 = 1 x1 = 0

x2 = 1 x2 = 0 x2 = 1 x2 = 0

can solve by enumerating all 2n possible x; every node represents a problem

minimize cT x
subject to Ax ≤ b
xi = 0, i ∈ I1, xi = 1, i ∈ I2
xi ∈ {0, 1}, i ∈ I3

where I1, I2, I3 partition {1, . . . , n}

Integer linear programming 17–11

branch-and-bound method
set U = +∞, mark all nodes in the tree as active
1. select an active node k, and solve the corresponding LP relaxation

minimize cT x
subject to Ax ≤ b
xi = 0, i ∈ I1k
xi = 1, i ∈ I2k
0 ≤ xi ≤ 1, i ∈ I3k

let x̂ be the solution of the relaxation


2. if cT x̂ ≥ U , mark all nodes in the subtree with root k as inactive
3. if all components of x̂ are 0 or 1, mark all nodes in the subtree with
root k as inactive; if moreover cT x̂ < U , then set U := cT x̂ and save x̂
as the best feasible point found so far
4. otherwise, mark node k as inactive
5. go to step 1

Integer linear programming 17–12

You might also like