You are on page 1of 21

Introduction to Mixed

Integer Linear
Programming

LP formulation of Economic Dispatch


C1

C1 a1 c1 x1
1

Minimize CT a1 a2 a3
c1 x1 c2 x2 c3 x3
Subject to: x1 x2 x3 L

a1
C2

MIN
3

x3 P

MAX
3

Objective function is linear


All constraints are linear
All variables are real
Problem can be solved using
standard linear programming

2011 D. Kirschen & the University of Washington

x1

C2 a2 c2 x2

P1MIN x1 P1MAX
P2MIN x2 P2MAX

P1MAX

P1MIN

a2
C3

P2MAX

P2MIN

x2

C3 a3 c3 x3
a3
P3MIN

P3MAX2

x3

Can we use LP for unit commitment?


C1

x1 0 or P1MIN x1 P2MAX
a1

x2 0 or P2MIN x2 P2MAX

C2

P1MAX

P1MIN

x1

x3 0 or P3MIN x3 P3MAX
The variables no longer have
a contiguous domain
(Non-convex set)
Standard linear programming
is no longer applicable
2011 D. Kirschen & the University of Washington

a2
C3

P2MAX

P2MIN

x2

a3
P3MIN

P3MAX3

x3

Mixed Integer Linear Programming


(MILP)

Some decision variables are integers


Special case: binary variables {0,1}

Other variables are real


Objective function and constraints are
linear

2011 D. Kirschen & the University of


Washington

Example

Except for the fact that the variables are integer, this looks
very much like a linear programming problem.

2011 D. Kirschen & the University of Washington

Example
x2

8
6

4x1 + 2x2 = 15

4
2
0

x1 + 2x2 = 8
x1 + x 2 = 5

2011 D. Kirschen & the University of Washington

x1
6

LP relaxation
x2

Let us relax the constraint that the


variables must be integer.

8
6

4x1 + 2x2 = 15

The problem is then a regular LP

Solution of the relaxed LP


x1 = 2.5; x2 = 2.5; Objective = 12.5

2
0

x1 + 2x2 = 8
x1 + x 2 = 5

Objective: 3x1 2x2

2011 D. Kirschen & the University of Washington

x1
7

LP relaxation
x2

8
6

4x1 + 2x2 = 15

The solution of the relaxed problem


is always better than the solution of
original problem!
(Lower objective for minimization
problem, higher for maximization)

Solution of the relaxed LP


x1 = 2.5; x2 = 2.5; Objective = 12.5

2
0

x1 + 2x2 = 8
x1 + x 2 = 5

2011 D. Kirschen & the University of Washington

x1
8

Solution of the integer


problem
x2

8
6

4x1 + 2x2 = 15

Solution of the relaxed LP


x1 = 2.5; x2 = 2.5; Objective = 12.5

2
0

x1 + 2x2 = 8
x1 + x 2 = 5

2011 D. Kirschen & the University of Washington

x1
9

Solution of the integer


problem
x2

8
6

4x1 + 2x2 = 15

Solution of the original problem


x1 = 2; x2 = 3; Objective = 12.0

Solution of the relaxed LP


x1 = 2.5; x2 = 2.5; Objective = 12.5

2
0

x1 + 2x2 = 8
x1 + x 2 = 5

2011 D. Kirschen & the University of Washington

x1
10

Nave rounding of
x2

x1

IP solution

LP solution

The optimal integer solution can be far away from the LP solution
Far away can be difficult to find when there are many dimensions
2011 D. Kirschen & the University of Washington

11

Finding the integer solution


Large number of integer variables
Vast number of possible integer
solutions
Need a systematic procedure to
search this solution space
Fix the variables to the nearest
integer one at a time
Branch and Bound algorithm
2011 D. Kirschen & the University of
Washington

12

Another example

Relaxed LP solution: (1.75, 0.75)

2011 D. Kirschen & the University of Washington

13

Branch on x1
Problem 0

x1 0; x2 0

x1 0 ; x2 0

x1 1

x1 2

Problem 1
2011 D. Kirschen & the University of Washington

Problem 2
14

Branch on x1
Problem 1

Solution of
Problem 1

2011 D. Kirschen & the University of Washington

Problem 2

Solution of Problem 2

15

Search Tree: first layer

Solution of Problem 1:
x1 integer
x2 real
Not a feasible solution yet
Can still branch on x2
2011 D. Kirschen & the University of Washington

Solution of Problem 2:
x1 & x2 integer
Feasible solution of
the original problem
Bound on the optimum
Best solution so far
16

Branch on x2
Problem 1

x1 1; x2 0

x1 0; x2 0
x1 1; x2 1
Problem 3
2011 D. Kirschen & the University of Washington

x1 0; x2 0
x1 1; x2 2
Problem 4
17

Search Tree: second layer

No solution
2011 D. Kirschen & the University of Washington

No integer solution yet


18

Branch and Bound: what


next?

Optimal solution

Cant go any
further
in this
No solution
direction
2011 D. Kirschen & the University of Washington

Solution of relaxed
problem 4 is
bounded by solution
of problem 2. No
point in going further
19

Comments on Branch and


Bound
Search tree gets very big if there are more
than a few integer or binary variables
Even with the bounds provided by the
relaxed solutions, exploring the tree
usually takes a ridiculous amount of time
Clever mathematicians have developed
techniques to identify cuts
Constraints based on the structure of the
problem that eliminate part of the search tree
Branch and Cut algorithm
2011 D. Kirschen & the University of
Washington

20

Duality Gap
Finding the optimal solution for a
large problem can take too much
time even with branch and cut
Best solution of relaxed problem
provides a bound on the solution
Duality gap: Diference between best
solutions of relaxed problem and
actual problem
Stop searching the tree if duality gap
is sufficiently small

2011 D. Kirschen & the University of


Washington

21

You might also like