Professional Documents
Culture Documents
08 Uc2
08 Uc2
Professor Xingpeng Li
Unit Commitment Solution Methods
2
Advanced SCUC Methods
• Dynamic Programming (DP)
• can provide a feasible solution very quickly.
• subject to curse of dimensionality.
• Lagrange Relaxation (LR)
• provide an optimality gap to gauge solution quality.
• (was) widely used in ISOs.
• may not provide a feasible solution in some cases.
• many variations/enhanced versions of original LR.
• Branch and Bound (BB) – Mixed Integer Programming (MIP)
• essentially, a method of “divide-and-conquer”.
• provide an optimality gap.
• may quickly identify a feasible solution.
• may provide a globally optimal solution. 3
Optimality Gap
• Defined as the difference between the objective value of a best
known feasible solution and a value that bounds the best possible
objective value.
• Why optimality gap?
• Given an optimization problem, it may not be solved to the
actual optimal solution, which is true for most large-scale
practical problems.
• Instead, we may only obtain a “good” feasible solution.
Optimality gap will measure how good this “good” solution is.
• Note that most people call this “good” solution as “optimal
solution” though it is not the actual optimal solution.
• Two gaps: absolute gap and relative gap.
4
Optimality Gap
• For minimization problems
• Upper bound (UB): objective value of a best known feasible
solution.
• Lower bound (LB): a possible minimal objective value.
• Absolute gap: (UB – LB)
• Relative gap: (UB – LB)/LB
• Global optimal solution: gap is 0.
Objective values
Solver always tries to find a better feasible
solution with a lower objective value (UB).
UB Best known feasible solution
The optimal objective value could be anywhere in this range [LB, UB].
LB
Dual problem will provide a bound for the minimal
5
value and it always looks for a higher bound (LB).
Industrial Practice
• Relatively MIP gap: ~0.1%
• Absolute MIP gap: ~$5,000
• SCUC stops when
• a solution met both gaps is found,
• Or, it reaches the pre-specified maximum iterations/time.
• Previously, LR method was used by ISOs.
• Today, ISOs mainly or only use MIP method; some
ISOs may use LR as a backup plan.
• Solvers: Cplex or Gurobi.
6
Dynamic Programming
7
Dynamic Programming
A prototype example for dynamic programming:
• Trial-and-error solution
• Very time consuming for large problems.
• Dynamic programming (DP) solution
• Starts with a small portion of original problem.
• Finds optimal solution for this smaller problem.
• Gradually enlarges the problem.
• Finds the current optimal solution from the preceding one.
9
Ref: Frederick S. Hillier, Gerald J. Lieberman, “Introduction to operations research”, [Book], 10th Edition, ISBN 978-0-07-352345-3, MHID 0-07-352345-3
Dynamic Programming
Find the lowest total path cost from A to J
Problem formulation
• Decision variables 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4
• Route begins at A, proceeds through 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , and ends at J.
Procedure:
• Forward DP algorithm.
• Backward DP algorithm.
10
Ref: Frederick S. Hillier, Gerald J. Lieberman, “Introduction to operations research”, [Book], 10th Edition, ISBN 978-0-07-352345-3, MHID 0-07-352345-3
Dynamic Programming
11
Ref: Frederick S. Hillier, Gerald J. Lieberman, “Introduction to operations research”, [Book], 10th Edition, ISBN 978-0-07-352345-3, MHID 0-07-352345-3
Dynamic Programming
Forward DP algorithm
12
Dynamic Programming
Forward DP algorithm
13
Dynamic Programming
Backward DP algorithm
14
Dynamic Programming
Backward DP algorithm
15
Dynamic Programming
Features of Dynamic Programming:
• Problem can be divided into stages with a policy
decision required at each stage.
• Each stage has a number of states.
• The policy decision at each stage transforms the
current state into a state associated with the beginning
of the next stage.
• Solution procedure designed to find an optimal policy
for the overall problem.
16
Ref: Frederick S. Hillier, Gerald J. Lieberman, “Introduction to operations research”, [Book], 10th Edition, ISBN 978-0-07-352345-3, MHID 0-07-352345-3
Dynamic Programming
SCUC Example:
• Unit 1: 30 ≤ 𝑃1 ≤ 80 𝑀𝑊, 𝐶1 = 10 $/𝑀𝑊ℎ, 𝑆𝑈1 = $800
• Unit 2: 50 ≤ 𝑃2 ≤ 90 𝑀𝑊, 𝐶2 = 30 $/𝑀𝑊ℎ, 𝑆𝑈2 = $100
• Total load: 90 MW in the first hour and 70 MW for the second hour.
Using forward dynamic programming to solve this two-interval unit
commitment problem? The objective is to minimize the total cost.
Both units are initially offline.
17
Dynamic Programming
SCUC Example:
18