L. Vandenberghe
EE236A (Fall 2013-14)
• a few basic facts
• branch-and-bound
18–1
integer linear program (ILP) minimize c T x subject to Ax ≤ b x ∈ Z n c 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 18–2
• n potential facility locations, m clients
• c i
: cost of opening a facility at location i
• d ij
: cost of serving client i from location j
Boolean LP formulation minimize subject to c j y j j =1
P x ij
+ i =1 j =1 d ij x ij
= 1 , i = 1 , . . . , m j =1 x ij
≤ y j
, i = 1 , . . . , m, j = 1 , . . . , n x ij
, y j
∈ { 0 , 1 } variables y j
, x ij
: y j y j
= 1 location j is selected
= 0 otherwise
Integer linear programming x ij x ij
= 1 location j serves client i
= 0 otherwise
18–3
relaxation: remove the constraints x ∈ Z n
• provides a lower bound on the optimal value of the integer LP
• if solution of relaxation is integer, then it solves the integer LP c c equivalent ILP formulations can have different LP relaxations
Integer linear programming 18–4
minimize c T x subject to x ∈ P where P is a finite set general idea
• recursively partition P in smaller sets P i and solve subproblems minimize c T x subject to x ∈ P i
• use LP relaxations to discard subproblems that don’t lead to a solution
Integer linear programming 18–5
minimize − 2 x
1
− 3 x
2 subject to ( x
1
, x
2
) ∈ P where x
2
P = { x ∈ Z
2
+
|
2
9 x
1
+
1
4 x
2
≤ 1 ,
1
7 x
1
+
1
3 x
2
≤ 1 }
− c x
1 optimal point: (2 , 2)
Integer linear programming 18–6
tree of subproblems and results of LP relaxations x
2
≤ 2
P
3
P
1
P
0 x
1
≤ 2 x
1
≥ 3
P
2 x
2
≥ 3
P
4 x
2
≤ 1
P
5 x
2
≥ 2
P
6 x
1
= 3 x
1
≥ 4
P
7 x
2
= 0
P
8 x
2
= 1 x
1
= 4
P
11
P
9
P
10 x
1
≥ 5
P
12 x ⋆ p ⋆
P
0
(2 .
17 , 2 .
07) − 10 .
56
P
1
(2 .
00 , 2 .
14) − 10 .
43
P
2
(3 .
00 , 1 .
33) − 10 .
00
P
3
(2 .
00 , 2 .
00) − 10 .
00
P
4
(0 .
00 , 3 .
00) − 9 .
00
P
5
(3 .
38 , 1 .
00) − 9 .
75
P
6
+ ∞
P
7
(3 .
00 , 1 .
00) − 9 .
00
P
8
(4 .
00 , 0 .
44) − 9 .
33
P
9
(4 .
50 , 0 .
00) − 9 .
00
P
10
+ ∞
P
11
(4 .
00 , 0 .
00) − 8 .
00
P
12
+ ∞
Integer linear programming 18–7
conclusions from relaxed subproblems
• P
2
: minimize c T x subject to x ∈ P , x
1
≥ 3 optimal value of subproblem is greater than or equal to − 10 .
00
• P
3
: minimize c T x subject to x ∈ P , x
1
≤ 2 , x
2
≤ 2 solution of subproblem is x = (2 , 2)
• P
6
: minimize c T x , subject to x ∈ P , x
1
≤ 3 , x
2
≥ 2 subproblem is infeasible after solving the relaxations for subproblems
P
0
, P
1
, P
2
, P
3
, P
4 we can conclude that (2 , 2) is the optimal solution of the integer LP
Integer linear programming 18–8