Lecture 18 Integer linear programming

advertisement

L. Vandenberghe

Lecture 18

Integer linear programming

EE236A (Fall 2013-14)

• a few basic facts

• branch-and-bound

18–1

Definitions

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

Example: facility location problem

• 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

Linear programming relaxation

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

Branch-and-bound algorithm

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

Example

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

Download