ece 5314: power system operation & control lecture 6: unit ... · fuel constraints (use it or...

23
ECE 5314: Power System Operation & Control Lecture 6: Unit Commitment Vassilis Kekatos R1 A. J. Wood, B. F. Wollenberg, and G. B. Sheble, Power Generation, Operation, and Control, Wiley, 2014, Chapters 3-4. R2 A. Gomez-Exposito, A. J. Conejo, C. Canizares, Electric Energy Systems: Analysis and Operation, Chapter 5. Lecture 6 V. Kekatos 1

Upload: others

Post on 19-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

ECE 5314: Power System Operation & Control

Lecture 6: Unit Commitment

Vassilis Kekatos

R1 A. J. Wood, B. F. Wollenberg, and G. B. Sheble, Power Generation, Operation, and Control,

Wiley, 2014, Chapters 3-4.

R2 A. Gomez-Exposito, A. J. Conejo, C. Canizares, Electric Energy Systems: Analysis and

Operation, Chapter 5.

Lecture 6 V. Kekatos 1

Page 2: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Motivation

Economic dispatch assumes all units to be online and ready to produce, but:

• ramping and must-stay-on/off constraints

• start-up/shut-down costs (cooling vs. banking)

• crew constraints (units that cannot be started together)

• spinning (coal) and offline (hydro, gas) reserves

• fuel constraints (use it or loose it)

• must-run status (due to voltage regulation or other functions)

Such constraints are accommodated by unit commitment problems

• bad news: non-convex, hard to solve

• good news: solved in advance (day-ahead)

Lecture 6 V. Kekatos 2

Page 3: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Static unit commitment

• Extend ED to include on/off scheduling of units

• Binary variable: ui = 1 if unit i is scheduled to be on; 0 otherwise

• If unit i is scheduled to be on, it has to produce at least Pmini

min{Pi,ui}i

N∑i=1

uiCi(Pi)

s.to

N∑i=1

Pi = D

uiPmini ≤ Pi ≤ uiPmax

i , ∀ i

ui ∈ {0, 1}, ∀ i

• For economic dispatch, all ui’s have already been decided

Lecture 6 V. Kekatos 3

Page 4: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

An example

Two generators with quadratic costs Ci(Pi) = C0i + aiPi + bi2P 2i

C0i [$/h] ai [$/MWh] bi [$/(MW)2h] Pmini [MW] Pmax

i [MW]

G1 100 20 0.05 0 400

G2 200 25 0.10 0 300

Unit commitment for different loads D

Case D [MW] P1 [MW] P2 [MW] λ [$/MWh] Cost [$/h]

(1,0) 40 40 0 22 940

(0,1) 40 0 40 29 1,280

(1,1) 40 40 0 22 1,140

(1,0) 250 250 0 33 6,663

(0,1) 250 0 250 50 9,575

(1,1) 250 200 50 30 6,675

(1,0) 300 300 0 35 8,350

(0,1) 300 0 300 55 12,200

(1,1) 300 233 67 32 8,217

Lecture 6 V. Kekatos 4

Page 5: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Avoiding bilinear products

• MILPs are the ‘easiest’ mixed-integer programs

• To remain within MILP class, need to avoid products of variables

• Generation capacity constraints

uiPmini ≤ Pi ≤ uiPmax

i vs. uiPmini ≤ uiPi ≤ uiPmax

i

• Generation cost uiCi(Pi) for Ci(Pi) = C0i + aiPi + bi2P 2i

uiCo,i + aiPi +bi2P 2i vs. uiCo,i + aiuiPi +

bi2uiP

2i

Lecture 6 V. Kekatos 5

Page 6: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Multi-period unit commitment

N generation units over T control periods (24 hours of a day)

min{P t

i ,uti,s

ti}i,t

T∑t=1

N∑i=1

utiCti (P

ti ) + sti

s.to

N∑i=1

P ti = Dt, ∀ t

utiPmini ≤ P ti ≤ utiPmax

i , ∀ i, t

uti ∈ {0, 1}, ∀ i, t ←− integral (binary) constraint

sti ≥ si(uti − ut−1i ), ∀ i, t ←− startup cost si

sti ≥ 0, ∀ i, t ←− startup cost variable

Decisions are coupled across time through the startup cost

What if I replace uti ∈ {0, 1} with uti ∈ [0, 1] for all i, t?

Lecture 6 V. Kekatos 6

Page 7: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

More unit commitment constraints

Additional constraints coupling decisions across time

• Ramp up constraint: P ti − P t−1i ≤ Rup

i

• Ramp down constraint: P t−1i − P ti ≤ Rdown

i

• Spinning reserves:N∑i=1

utiPmaxi ≥ D + Preserve

• Must-stay-on for Li periods:

uti − ut−1i ≤ uτi , τ = t+ 1, . . . ,min{t+ Li − 1, T}

• Must-stay-off for `i periods:

ut−1i − uti ≤ 1− uτi , τ = t+ 1, . . . ,min{t+ `i − 1, T}

Lecture 6 V. Kekatos 7

Page 8: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Mixed-Integer (Non-)Linear Programs

Optimization problems with continuous and integer/binary variables

Brute-force method should solve 2NT EDs!

Even MILPs are NP-hard in general! (sometimes MINLPs linearized to MILPs)

Common solution approaches:

1. Dynamic programming [Bell, 1950]

2. Branch and bound algorithms [Land & Doig, 1960]

3. Lagrangian relaxation [Muckstadt & Koenig, 1977; Bertsekas, 1983]

4. Bender’s decomposition [Bender, 1962]

Lecture 6 V. Kekatos 8

Page 9: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Branch and bound method

Smart way to enumerate possible solutions; widely used in discrete optimization

1. Find lower and upper bounds (`, u) on f∗

2. Problem with all binary constraints relaxed to box cons. added in queue

3. Solve the next problem in the queue to get (x, f)

4. If x is binary and f < u, UPDATE x← x and u← f

5. If x is non-binary, then

5.1 If ` < f ≤ u, thenBRANCH: pick a variable with non-binary value xi and add two problems in

the queue, one with constraint xi = 0 and the other with xi = 1

5.2 If f > u (including infeasibility with f =∞), then

CUT this branch since the solution cannot be improved

6. If queue is empty, output minimizer x; else go to Step 3.

There exists variations where ` progressively increasesLecture 6 V. Kekatos 9

Page 10: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Example on branch and bound method

min{Pi,ui}2i=1

2∑i=1

uiC0i + aiPi + bi2P 2i

s.to P1 + P2 = 300

0 ≤ Pi ≤ uiPmaxi , i = 1, 2

ui ∈ {0, 1}, i = 1, 2

Problem P1 P2 u1 u2 f ` u x

u1, u2 ∈ [0, 1] 236.1 63.9 0.59 0.21 8,019 8,019 +∞ –

u1 = 0, u2 ∈ [0, 1] 0 300 0 1 12,200 8,019 12,200 store

u1 = 1, u2 ∈ [0, 1] 237.8 62.2 1 0.21 8,059 8,059 12,200 branch

u1 = 1, u2 = 0 300 0 1 0 8,350 8,059 8,350 store

u1 = 1, u2 = 1 233 67 1 1 8,217 8,059 8,217 store

Lecture 6 V. Kekatos 10

Page 11: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Dynamic programming method

Multi-stage problems (continuous/discrete) with a recursive structure

• Stages: indexed by n = 1, . . . , N

• States: xn (discrete or continuous)

• Decision: un ∈ Un(xn) (actions, controls, opt. variables)

• Dynamic system: xn+1 = fn(xn, un) for n = 1, . . . , N

• Per-stage cost: cn(xn, un) for n = 1, . . . , N , and final cost cN+1(xN+1)

Lecture 6 V. Kekatos 11

Page 12: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Problems solved with dynamic programming

Given state recursion, per-state costs and constraints, minimize the total cost

J∗(x1) = min{un}

N∑n=1

cn(xn, un) + cN+1(xN+1)

s.to xn+1 = fn(xn, un), ∀n (dynamic system)

un ∈ Un(xn), ∀n (control options)

DP widely used in a variety of applications:

• optimal (stochastic) control

• financial applications

• Kalman filter and hidden Markov models (HMMs)

• graph theory and networking problems

• wireless communications (Viterbi algorithm)

Lecture 6 V. Kekatos 12

Page 13: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Optimality principle

Solving the tail problem after stage k for a state value xk is optimal regardless

how you reached xk

J∗k (xk) = min{uk}Nk=1

N∑n=k

cn(xn, un) + cN+1(xN+1)

s.to xn+1 = fn(xn, un), ∀n = k, . . . , N (dynamic system)

un ∈ Un(xn), ∀n = k, . . . , N (control options)

Lecture 6 V. Kekatos 13

Page 14: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Recursive solution

Find last action uN

J∗N (xN ) = minuN

cN (xN , uN ) + cN+1(xN+1)

s.to xN+1 = fN (xN , uN )

uN ∈ UN (xN )

Find uN−1

J∗N−1(xN−1) = minuN−1

cN−1(xN−1, uN−1) + J∗N (xN )

s.to xN = fN (xN−1, uN−1)

uN−1 ∈ UN−1(xN−1)

Lecture 6 V. Kekatos 14

Page 15: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Dynamic programming algorithm

1. Start with J∗N+1(xN+1) = cN+1(xN+1)

2. Go backwards: solve the previous stage for all possible values of state xk

J∗k (xk) = minuk

ck(xk, uk) + J∗k+1(xk+1)

s.to xk+1 = fk(xk, uk)

uk ∈ Uk(xk)

or equivalently

J∗k (xk) = minuk

ck(xk, uk) + J∗k+1(fk(xk, uk))

s.to uk ∈ Uk(xk)

until you reach the initial state x1

Lecture 6 V. Kekatos 15

Page 16: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Finite-state problems

Number of possible states per stage is discrete

• nodes correspond to state values; arcs correspond to actions

• ckij : transitioning cost from state i to j at stage k, i.e., ck(xk = i, ui→j)

• cNii : cost of terminating at state xi

• minimum-cost path yields optimal cost and actions

Lecture 6 V. Kekatos 16

Page 17: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Shortest path problem

In a graph with weighted edges and N nodes, find the shortest paths from any

node to a destination node d

• State: the node you are at time n {1, 2, 3, 4, 5}

• Decision cost: c moving from one node to another (edge weight)

• Cost Jk(i): minimum cost for moving from i to d within N − k steps

• Stages: N since within N steps you can reach d from any node

Lecture 6 V. Kekatos 17

Page 18: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Solving a simple UC problem with DP

Start-up costs si(0, 1); shut-down costs si(1, 0); and si(0, 0) = si(1, 1) = 0

min{P t

i ,uti}i,t

T∑t=1

2∑i=1

utiCi(Pti ) + si(x

ti, u

ti)

s.to

∑2i=1 P

ti = Dt, ∀ t

utiPmini ≤ P ti ≤ utiPmax

i , uti ∈ {0, 1}, ∀ i, t

control options

xt+1i = uti dynamic system!

• Stages: time periods t = 1, . . . , T

• States: three possible configurations {(0, 1), (1, 0), (1, 1)} per stage t

• Actions: (uti, Pti ) for i = 1, 2

• Termination cost: no cost for being online or offline at time T + 1

• J∗t (xti): minimal total cost from t to T if starting with configuration xi

Lecture 6 V. Kekatos 18

Page 19: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Summarizing

Consider N = 6 units to be dispatched over T = 24 hours for the next day

Exhaustive search: entails solving 2NT = 2.2 · 1043 ED problems!

Branch-and-bound method: avoids solving entire “sub-trees” of ED problems

• finds optimal solution, but not in deterministic time

• complexity depends on (`, u) and order of visiting UC cases in the queue

• tight initial (`, u) can reduce complexity significantly

Dynamic programming: exploits recursive structure to check fewer UC cases

• entails solving 2N × T = 1, 536 single-period UC problems

• each smaller UC involves 2N ED problems, or can be solved with B&B

• DP still suffers from combinatorial complexity in N

Lecture 6 V. Kekatos 19

Page 20: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Lagrangian relaxation

Consider the single-period UC problem

min{(Pi,ui)∈Si}i

N∑i=1

Ci(Pi, ui)

s.to

N∑i=1

Pi = D

where Si = {(Pi, ui) : uiPmini ≤ Pi ≤ uiPmax

i , ui ∈ {0, 1}}

Lagrangian function: L({(Pi, ui)};λ) =∑Ni=1 (Ci(Pi, ui)− λPi) + λD

• separable over generators

• for fixed λ, it can be minimized independently per generator i

min(Pi,ui)∈Si

Ci(Pi, ui)− λPi

Lecture 6 V. Kekatos 20

Page 21: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Updating the dual variable

Dual function: g(λ) = min{(Pi,ui)∈Si}∑Ni=1 (Ci(Pi, ui)− λPi) + λD

• find λ∗ by maximizing g(λ), which is always a concave function

• minimize Lagrangian function separately per generator i for λk

(Pi(λk), ui(λ

k)) = arg min(Pi,ui)∈Si

Ci(Pi, ui)− λkPi ∀ i

two easy problems: one for ui = 0 and one for ui = 1

• power imbalance D −∑Ni=1 Pi(λ

k) serves as sort of gradient of g(λk)

• update dual variable through dual ascent and iterate

λk+1 = λk + µ

(D −

N∑i=1

Pi(λk)

)Lecture 6 V. Kekatos 21

Page 22: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Lagrangian relaxation for multi-period UC

min{{(P t

i ,uti)}t∈Si}i

N∑i=1

T∑t=1

Cti (Pti , u

ti)

s.to

N∑i=1

P ti = Dt ∀ t ←− λ = [λ1 · · · λT ]>

• minimize Lagrangian per unit i for λk and over the entire horizon

{P ti (λk), uti(λk)}Tt=1 = arg min

{(P ti ,u

ti)}t∈Si

T∑t=1

Cti (Pti , u

ti)− λktP ti ∀ i

this problem is solved via DP with only two states uti ∈ {0, 1} per stage!

• update dual variables through dual ascent and iterate

λk+1t = λkt + µ

(Dt −

N∑i=1

P ti (λk)

)∀ t

Lecture 6 V. Kekatos 22

Page 23: ECE 5314: Power System Operation & Control Lecture 6: Unit ... · fuel constraints (use it or loose it) must-run status (due to voltage regulation or other functions) Such constraints

Comments on Lagrangian relaxation

• subgradient iterations for dual problem converge for diminishing step size

• a.k.a. dual decomposition if primal is convex

• not optimal for UC due to non-convexity

• LR output may be infeasible (power balance not precisely satisfied)

• relative duality gap p∗−d∗d∗ decreases with increasing N

• LR can be used to initialize a branch-and-bound scheme or it can be

heuristically adjusted to yield feasibility

D. Bertsekas, G. Laurel, N. Sandell, T. Posbergh, “Optimal Short-Term Scheduling of Large-Scale

Power Systems,” IEEE Trans. on Automatic Control, Vol. 28, No. 1, Jan. 1983, pp. 1–11.

Lecture 6 V. Kekatos 23