You are on page 1of 21

Introduction to Mixed Integer

Linear Programming
LP formulation of Economic Dispatch
C1
C1 = a1 + c1x1
L
1 2 3

Minimize CT = a1 + a2 + a3 + a1
c1 x1 + c2 x2 + c3 x3 C2 P1MIN P1MAX
x1

Subject to: x1 + x2 + x3 = L
P1MIN £ x1 £ P1MAX C2 = a2 + c2 x2

P2MIN £ x2 £ P2MAX a2
x2
P 3
MIN
£ x3 £ P 3
MAX
C3 P2MIN P2MAX

• Objective function is linear C3 = a3 + c3 x3


• All constraints are linear
• All variables are real
• Problem can be solved using a3
standard linear programming
x3
© 2011 D. Kirschen & the University of Washington P3MIN P3MAX 1
Can we use LP for unit commitment?
C1

x1 = 0 or P1MIN £ x1 £ P2MAX
a1
x2 = 0 or P2MIN £ x2 £ P2MAX C2 P1MIN P1MAX
x1

x3 = 0 or P3MIN £ x3 £ P3MAX
a2
x2
The variables no longer have C3 P2MIN P2MAX

a contiguous domain
(Non-convex set)
Standard linear programming
is no longer applicable a3
x3
© 2011 D. Kirschen & the University of Washington P3MIN P3MAX 2
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


3
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 4


Example
x2
8

4x1 + 2x2 = 15

2
x1 + 2x2 = 8

x1 + x2 = 5

0 2 4 6 8 x1
© 2011 D. Kirschen & the University of Washington 5
LP relaxation
x2
Let us relax the constraint that the
8
variables must be integer.
4x1 + 2x2 = 15
The problem is then a regular LP
6

4 Solution of the relaxed LP


x1 = 2.5; x2 = 2.5; Objective = 12.5
2
x1 + 2x2 = 8

x1 + x2 = 5

0 2 4 6 8 x1
© 2011 D. Kirschen & the University of Washington
Objective: 3x1 + 2x2 6
LP relaxation
x2 The solution of the relaxed problem
8 is always better than the solution of
original problem!
4x1 + 2x2 = 15
(Lower objective for minimization
6 problem, higher for maximization)

4 Solution of the relaxed LP


x1 = 2.5; x2 = 2.5; Objective = 12.5
2
x1 + 2x2 = 8

x1 + x2 = 5

0 2 4 6 8 x1
© 2011 D. Kirschen & the University of Washington 7
Solution of the integer problem
x2
8

4x1 + 2x2 = 15

4 Solution of the relaxed LP


x1 = 2.5; x2 = 2.5; Objective = 12.5
2
x1 + 2x2 = 8

x1 + x2 = 5

0 2 4 6 8 x1
© 2011 D. Kirschen & the University of Washington 8
Solution of the integer problem
x2
8

4x1 + 2x2 = 15

6 Solution of the original problem


x1 = 2; x2 = 3; Objective = 12.0

4 Solution of the relaxed LP


x1 = 2.5; x2 = 2.5; Objective = 12.5
2
x1 + 2x2 = 8

x1 + x2 = 5

0 2 4 6 8 x1
© 2011 D. Kirschen & the University of Washington 9
Naïve rounding off

x2

x1

LP solution
IP 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 10
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


11
Another example

Relaxed LP solution: (1.75, 0.75)

© 2011 D. Kirschen & the University of Washington 12


Branch on x1
Problem 0

x1 ³ 0; x2 ³ 0 x1 ³ 0 ; x2 ³ 0
x1 £ 1 x1 ³ 2

Problem 1 Problem 2
© 2011 D. Kirschen & the University of Washington 13
Branch on x1

Problem 2
Problem 1

Solution of
Problem 1 Solution of Problem 2

© 2011 D. Kirschen & the University of Washington 14


Search Tree: first layer

Solution of Problem 1: Solution of Problem 2:


• x1 integer • x1 & x2 integer
• x2 real • Feasible solution of
• Not a feasible solution yet the original problem
• Can still branch on x2 • Bound on the optimum
• Best solution so far
© 2011 D. Kirschen & the University of Washington 15
Branch on x2

Problem 1

x1 £ 1; x2 ³ 0

x1 ³ 0; x2 ³ 0 x1 ³ 0; x2 ³ 0
x1 £ 1; x2 £ 1 x1 £ 1; x2 ³ 2
Problem 3 Problem 4
© 2011 D. Kirschen & the University of Washington 16
Search Tree: second layer

No solution
No integer solution yet
© 2011 D. Kirschen & the University of Washington 17
Branch and Bound: what next?

Optimal solution

Solution of relaxed
Can’t go any problem 4 is
bounded by solution
further in this
No solution of problem 2. No
direction point in going further
© 2011 D. Kirschen & the University of Washington 18
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


19
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: Difference 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
20

You might also like