0% found this document useful (0 votes)
23 views26 pages

Lecture 5

This lecture discusses economic dispatch in power systems. Economic dispatch aims to minimize the total operating cost of generation units while meeting the system load. It introduces the problem formulation for economic dispatch with linear, convex piecewise linear, and quadratic cost functions. For linear costs, the problem can be solved by sorting cost coefficients. For convex piecewise linear and quadratic costs, reformulations are presented to express the problems in forms that can be solved by standard optimization techniques.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views26 pages

Lecture 5

This lecture discusses economic dispatch in power systems. Economic dispatch aims to minimize the total operating cost of generation units while meeting the system load. It introduces the problem formulation for economic dispatch with linear, convex piecewise linear, and quadratic cost functions. For linear costs, the problem can be solved by sorting cost coefficients. For convex piecewise linear and quadratic costs, reformulations are presented to express the problems in forms that can be solved by standard optimization techniques.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

ECE 5314: Power System Operation & Control

Lecture 5: Economic Dispatch

Vassilis Kekatos

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


Operation, Chapter 5

Lecture 5 V. Kekatos 1
Problem statement

• N power generation units


P G1
~
• serving a given load D P G2
~ Load%
• Pi : power output of unit i [MW] PL

• Ci (Pi ): operation cost [$/h] P GN


~

Find the most economic dispatch (ED) of units


N
X
min Ci (Pi )
{Pi }N
i=1 i=1
N
X
s.to Pi = D
i=1

Pimin ≤ Pi ≤ Pimax , i = 1, . . . , N

Convex problem if Ci (Pi ) are convex functions


Lecture 5 V. Kekatos 2
Cost functions and energy markets

• Typical options for cost functions (linear, quadratic, piecewise linear)

• Who solves the economic dispatch?

• Fuel-cost curves or market bids

• Bilateral contracts and spot markets (2010)

• Day-ahead and real-time markets

Lecture 5 V. Kekatos 3
Dispatch with linear costs
N
X
min ai Pi
{Pi }N
i=1 i=1
N
X
s.to Pi = D
i=1

Pimin ≤ Pi ≤ Pimax , i = 1, . . . , N

• solved as an LP or by simply sorting the cost coefficients

• uniqueness issues (case when a2 = a3 of the example)

Pimin [MW] Pimax [MW] ai [$/MW]


G1 0 100 20
Example:
G2 0 400 25
D = 350MW G3 0 100 22
G4 0 200 18

Lecture 5 V. Kekatos 4
Dispatch with convex piecewise-linear costs

The range [0, Pimax ] is divided into Ki blocks


Cost Ci (Pi ) expressed as Ki pairs: {(pi,k , ai,k ) = (block size, price)}Ki
k=1

• Any power in [0, pi,1 ] has incremental cost ai,1 $/MW

• Any power in [pi,1 , pi,2 ] has incremental cost ai,2 $/MW ...

Ci (PGi )

slope = ai,1

pi,3 = PGmax
i

pi,1 pi,2 P Gi

Cost Ci (Pi ) is convex if prices are increasing (a1 < . . . < ai,Ki )

Lecture 5 V. Kekatos 5
Rewriting convex piecewise linear costs

Ci (PGi )

slope = ai,1

pi,3 = PGmax
i

pi,1 pi,2 P Gi

Express each cost function as the pointwise maximum of linear functions:

Ci (Pi ) = max {ai,k Pi + bi,k }


k∈{1,...,Ki }

Q.5.1 Show that bi,k = (ai,k−1 − ai,k )pi,k−1 + bi,k−1 .

Lecture 5 V. Kekatos 6
Using the epigraph form

dispatch with convex piecewise-linear costs dispatch in epigraph form


N N
X
X
min max {ai,k Pi + bi,k } min ti
{Pi } k∈{1,...,Ki } {Pi ,ti }
i=1 i=1
N
X s.to ai,k Pi + bi,k ≤ ti , ∀ i, k
s.to Pi = D
i=1 N
X
Pi = D
0 ≤ Pi ≤ Pimax , ∀ i i=1

0 ≤ Pi ≤ Pimax , ∀ i

Lecture 5 V. Kekatos 7
An alternative formulation

Ci (PGi )
• Introduce one variable per block

Ki
X
Pi = Pi,k slope = ai,1
k=1

• Let pi,0 = 0 and pi,Ki = Pimax pi,3 = PGmax


i
pi,1 pi,2
PGi,1 PGi,2 PGi,3 P Gi

Ki
N X
X
min ai,k Pi,k
{Pi,k }
i=1 k=1
Ki
N X
X
s.to Pi,k = D
i=1 k=1

0 ≤ Pi,k ≤ pi,k − pi,k−1 , ∀i, k

∗ ∗
• At the optimum: Pi,k = pi,k − pi,k−1 if Pi,k+1 >0

Lecture 5 V. Kekatos 8
Comparing the two formulations

Epigraph form Form with one variable per block


N
X Ki
N X
X
min ti min ai,k Pi,k
i=1 i=1 k=1
Ki
N X
s.to ai,k Pi + bi,k ≤ ti ∀ i, k X
s.to Pi,k = D
N
X i=1 k=1
Pi = D
i=1 0 ≤ Pi,k ≤ pi,k − pi,k−1 ∀ i, k

0 ≤ Pi ≤ Pi ∀ i
N
P
variables: 2N variables: Ki
i=1
equality constraints: 1 equality constraints: 1
N N
P
inequality constraints:
P
Ki + 2N inequality constraints: 2 Ki
i=1 i=1
solved by simply sorting prices

Lecture 5 V. Kekatos 9
Dispatch with convex quadratic costs

N
X
min (ai Pi + ci Pi2 )
{Pi }N
i=1 i=1
N
X
s.to Pi = D
i=1

Pimin ≤ Pi ≤ Pimax , i = 1, . . . , N

• convex quadratic costs ci > 0 [$/(MW)2 ]

• solved as a quadratic program (QP)

• no uniqueness issues

Lecture 5 V. Kekatos 10
Lagrangian function

For general (strictly) convex and differentiable Ci (Pi )


Introduce Lagrange multipliers:
N
X
min Ci (Pi )
{Pi }N
i=1 i=1
N
X
s.to Pi = D ←− λ
i=1

Pimin ≤ Pi ≤ Pimax , i = 1, . . . , N ←− {(µi , µi )}N


i=1

Lagrangian function
N N
!
X X
L= Ci (Pi ) − λ Pi − D
i=1 i=1
N
X N
X
+ µi (Pimin − Pi ) + µi (Pi − Pimax )
i=1 i=1

Lecture 5 V. Kekatos 11
Optimality conditions

For i = 1, . . . , N,
PN
1. i=1 Pi∗ = D; Pimin ≤ Pi∗ ≤ Pimax

2. µ∗i ≥ 0; µ∗i ≥ 0

3. Ci0 (Pi∗ ) = λ∗ − µ∗i + µ∗i

4. µ∗i (Pimin − Pi∗ ) = 0; µ∗i (Pi∗ − Pimax ) = 0

Conditions 3 and 4 can be equivalently written as



λ∗ , if Pimin < Pi∗ < Pimax





Ci0 (Pi∗ ) = λ∗ + µ∗ , if Pi∗ = Pimin

 i

λ∗ − µ∗i , if Pi∗ = Pimax

Lecture 5 V. Kekatos 12
Optimality conditions simplified

Because µ∗i , µ∗i ≥ 0, optimality conditions become

N
X
1. Pi∗ = D
i=1

0 ∗ ∗
Ci (Pi ) = λ , if Pimin < Pi∗ < Pimax





2.0 Ci0 (Pi∗ ) ≥ λ∗ , if Pi∗ = Pimin



 0 ∗
Ci (Pi ) ≤ λ∗ , if Pi∗ = Pimax


• Any PG 1
, . . . , PG∗ N , λ∗ satisfying the above conditions will be optimal

• Ci0 (Pi ) is the marginal or incremental cost for unit i

• Optimal dispatch when all units not operating at their limits have the

same incremental cost

Lecture 5 V. Kekatos 13
Solving economic dispatch

• Strict convexity implies that Ci0 (Pi ) is increasing in Pi

• Define the increasing function fi = (Ci0 )−1

• Given a λ, the {Pi }N


i=1 satisfying condition 2’ are expressed as

fi (λ), if Ci0 (Pimin ) < λ < Ci0 (Pimax )






Pi (λ) = Pimin ,
 if λ ≤ Ci0 (Pimin )


if λ ≥ Ci0 (Pimax )
 max

Pi ,

• Goal: find λ∗ such that {Pi }N


i=1 satisfy condition 1 (power balance) too
PN
• Pi (λ) and Pi (λ) − D are increasing in λ
i=1

• Bisection on λ until | N
P
i=1 Pi (λ) − D| ≤  (tolerance)

Lecture 5 V. Kekatos 14
λ-iteration or bisection method

Given tolerance  > 0, start with λ and λ̄ so that λ ≤ λ∗ ≤ λ̄


for example: λ = mini Ci0 (Pimin ) and λ̄ = maxi Ci0 (Pimax ).

1. Set λ = (λ + λ̄)/2
2. Find Pi (λ) for all i as follows
2.1 If Ci0 (Pimin ) ≥ λ, set Pi (λ) = Pimin
2.2 If Ci0 (Pimax ) ≤ λ, set Pi (λ) = Pimax
2.3 Otherwise, set Pi (λ) as the solution to Ci0 (Pi ) = λ
PN
3. If i=1 Pi (λ) − D > , set λ̄ := λ and go to Step 1
PN
4. If i=1 Pi (λ) − D < −, set λ := λ and go to Step 1

5. Else {Pi (λ)}N


i=1 is the solution within the specified tolerance

Lecture 5 V. Kekatos 15
Graphical illustration

λ-iteration method for two generators with quadratic costs

Lecture 5 V. Kekatos 16
λ-iteration with convex piecewise linear costs

Convex piecewise linear Ci (Pi ) is non-differentiable


KKT conditions with constraints Pimin ≤ Pi ≤ Pimax kept implicit
N N
!
X X
Lagrangian function : L(P1 , . . . , PN , λ) = Ci (Pi ) − λ Pi − D
i=1 i=1

Optimality conditions:
N
X
1. Pi∗ = D
i=1

2. Pi∗ ∈ arg min {Ci (Pi ) − λ∗ Pi } ∀i


Pimin ≤Pi ≤Pimax

Step 2 of λ-iteration now becomes

min {Ci (Pi ) − λPi }


Pimin ≤Pi ≤Pimax

Lecture 5 V. Kekatos 17
Economic interpretation

Optimality conditions with general costs


N
X
1. Pi∗ = D
i=1

2. Pi∗ ∈ arg min {Ci (Pi ) − λ∗ Pi } ∀i


Pimin ≤Pi ≤Pimax

Interpret multiplier λ [$/MW] as the price at which unit i will be compensated


for producing Pi MW

Given λ, unit i chooses Pi so its net cost Ci (Pi ) − λPi is minimized


(net revenue maximized)

Optimal multiplier λ∗ maximizes the total net revenue

Lecture 5 V. Kekatos 18
Sensitivity interpretation

N
X
C(D) := min Ci (Pi )
{Pimin ≤Pi ≤Pimax }N
i=1 i=1
N
X
s.to Pi = D ←− λ
i=1

Cost of generation as a function of demand D is a perturbation function!

If the problem is convex, then function C(D) is convex

If C(D) is differentiable and strong duality holds, then C 0 (D) = λ∗ (D)

Marginal price λ∗ : extra price one would pay for slight increase in demand

Lecture 5 V. Kekatos 19
Participation factors

Consider an optimal dispatch P and a small load variation ∆D


Assume new dispatch does not alter which units are at Pimin or Pimax

current ED perturbed ED
X X
Pi = D ∆Pi = ∆D
i i

λ = Ci0 (Pi ) ∆λ = Ci00 (Pi )∆Pi

Participation factors: How much each unit contributes to serve the new load?

∆Pi ∆λ/Ci00 (Pi ) 1/Ci00 (Pi )


= P 00
= P 00
∈ (0, 1)
∆D k ∆λ/Ck (Pk ) k 1/Ck (Pk )

constant for quadratic costs

∆Pi
Used for fast generation in response to load variation Pinew = Pi + ∆D
∆D

Lecture 5 V. Kekatos 20
Elastic demand

Elastic demand is characterized by its utility function Uj (Dj ) [$/h]:


the benefit by consuming Dj MW for 1h

N
X M
X
min Ci (Pi ) − Uj (Dj )
{Pi }N M
i=1 ,{Dj }j=1 i=1 j=1
N
X M
X
s.to Pi = Dj
i=1 j=1

Pimin ≤ Pi ≤ Pimax , i = 1, . . . , N

Djmin ≤ Dj ≤ Djmax , j = 1, . . . , M

• demand bids Uj (Dj ) are submitted by utilities, load serving entities,

aggregators, or industrial costumers

• convex problem for concave Uj (Dj )’s (diminishing returns or buy in bulk)

Lecture 5 V. Kekatos 21
Transmission losses

Accounting for losses on transmission lines (3-5%):


N
X
min Ci (Pi )
{Pi }N
i=1 i=1
N
X
s.to Pi = Ploss (p) ←− λ
i=1

Pimin ≤ Pi ≤ Pimax , i = 1, . . . , N

where p := [P1 . . . PN ]> captures generation and (fixed or elastic) demand

• Losses Ploss (p) is a non-linear function of p (non-convex problem)

• In the past, modeled as quadratic functions: Ploss (p) = p> Bp + c> p

• Now typically calculated by (successive) linearization of power flow

equations or via the optimal power flow problem


Lecture 5 V. Kekatos 22
Penalty factors

Lagrangian function (non-convex problem; KKT conditions are only necessary)


N N
! N N
X X X X
L= Ci (Pi )−λ Pi − Ploss (p) + µi (Pimin −Pi )+ µi (Pi −Pimax )
i=1 i=1 i=1 i=1

Optimality conditions simplified:


N
X
1. Pi∗ = Ploss (p∗ )
i=1
  
0 ∗ ∗ ∂Ploss (p)
C (P ) = λ 1− , if Pimin < Pi∗ < Pimax

i i

 ∂Pi


 p=p∗
  
2.0 Ci0 (Pi∗ ) ≥ λ∗ 1 − ∂Ploss (p)
∂Pi
, if Pi∗ = Pimin

 p=p∗

  
∂Ploss (p)
Ci0 (Pi∗ ) ≤ λ∗ 1 − if Pi∗ = Pimax


∂Pi
,
p=p∗

 −1
∂Ploss (p)
Marginal costs: fi Ci0 (Pi∗ ) for penalty factors fi = 1− ∂Pi
p=p∗

Lecture 5 V. Kekatos 23
Solving economic dispatch with losses

Solve economic dispatch ignoring losses to get initial dispatch p0


At iteration t = 0, 1, . . ., do
 −1
∂Ploss (p)
1. Calculate Ploss (pt ) and fit := 1− ∂Pi
for i = 1, . . . , N
pt

PN
2. Find pt+1 via λ-iteration with costs {fit Ci }i and i=1 Pi = Ploss (pt )

3. If kpt+1 − pt k2 <  stop; otherwise go to Step 1

• heuristic manner to account for losses

• how to compute ∇Ploss (p)?

Lecture 5 V. Kekatos 24
Computing penalty factors

Active power injections are not independent (swing bus 1 makes up for losses)
 
p1 (p̃)
p=  ∈ RN

Active power losses: Ploss (p) = p> 1N = p1 (p̃) + p̃> 1N −1

∂Ploss (p)
Interest in finding ∇p Ploss (p) (assume ∂p1
= 0)

Gradient vector for losses: ∇p̃ Ploss (p̃) = 1 + ∇p̃ p1 (p̃)

Resort to power flow equations to find ∇p̃ p1 (p̃)

Lecture 5 V. Kekatos 25
Finding ∇p̃ p1 (p̃) from power flow equations

power flow equations (dependence on voltage magnitudes has been ignored)

p1 = f1 (θ)

p̃ = f2 (θ)

where θ := [θ2 · · · θN ]> is the vector of voltage phases (θ1 = 0)

∂ p̃(θ) ∂f2 (θ)


Jacobian matrix: ∂θ
= ∂θ
= J(θ) ∈ R(N −1)×(N −1)

Jacobian matrix of inverse function: under technical conditions


∂θ(p̃) ∂f2−1 (p̃)
∂ p̃
= ∂ p̃
= [J(θ(p̃))]−1 ∈ R(N −1)×(N −1)

Gradient vector:
 >
∂θ(p̃)
∇p̃ Ploss (p̃) = 1 + ∂ p̃
∇θ f1 (θ) = 1 + [J(p̃)]−> ∇θ f1 (θ)

Lecture 5 V. Kekatos 26

You might also like