LPOPF Settlements
LPOPF Settlements
LPOPF Settlements
Let’s consider the base case solution obtained from the notes called
LPOPF2. How would the suppliers and the loads be paid?
Pg2=1.2287pu
Pg1=0.5pu
1 2
PB2=0.0955
PB3
PB1 = =0.3242
-0.0152 PB5=0.4197 Pd2=1pu
PB4 =
4 0.4348 3
Pg4=0.45pu Pd3=1.1787pu
Fig. 1: Result in terms of generation levels and flows for base case
1
Table 2: Lagrange multipliers for Pd2=1.0, Pd3=1.1787
and infinite transmission capacity ($/per unit-hr)
Equality constraints Lower bounds Upper bounds
3
Equation Value*10 Variable value variable value
PB1 0.0000 Pg1 96.0000 Pg1 0.0000
PB2 0.0000 Pg2 0 Pg2 0.0000
PB3 0.0000 Pg4 43.0000 Pg4 0.0000
PB4 0.0000 PB1 0 PB1 0.0000
PB5 0.0000 PB2 0 PB2 0.0000
P1 1.2110 PB3 0 PB3 0.0000
P2 1.2110 PB4 0 PB4 0.0000
P3 1.2110 PB5 0 PB5 0.0000
P4 1.2110 θ1 0 θ1 0.0000
θ2 0 θ2 0.0000
θ3 0 θ3 0.0000
θ4 0 θ4 0.0000
2
Question: Why does this differ from the objective function of
2705.80 $/hr?
Answer: We optimize on the offers. We settle at the LMPs.
The bus k LMP is the change in the objective function for
increasing the load at bus k by a unit. It is determined by the least
expensive regulating generator. So we are paying generators at the
offer of generator 2.
You can see this clearly by recomputing the total payment if we
paid each generator according to the offers they make: In this case,
it would be
Payment g1 Pg1 s1 50MW 13.07$ / MWhr 653.50$ / hr
Payment g 2 Pg 2 s2 122.87MW 12.11$ / MWhr 1487.96$ / hr
Payment g 4 Pg 4 s4 45MW 12.54$ / MWhr 564.30$ / hr
In this case, if we paid according to the offers, the total payments
to the generators will be 653.50+1487.96+564.30=2705.76$/hr,
which agrees with the value of the objective function (there is a
little round-off error).
3
In other words,
A pay-as-bid settlement scheme incentivizes participants to bid
high since the bid is what they will be paid if their bid is
accepted. The disincentive to bidding high is that their bid might
not be accepted.
A pay-at MCP settlement scheme provides no incentive to bid
high. The disincentive to bid high because their bid might not be
accepted remains.
Pg2=1.1803pu
Pg1=0.5pu
1 2
PB2=0.1197
PB3 =0.3
PB1 =
-0.0393 PB5=0.4197 Pd2=1pu
PB4 =
4 0.4590 3
Pg4=0.4984pu Pd3=1.1787pu
4
Table 3: Lagrange multipliers for Pd2=1.0, Pd3=1.1787
and infinite transmission capacity except for and
0.3 capacity constraint on PB3 ($/per unit-hr)
Equality constraints Lower bounds Upper bounds
3
Equation Value*10 Variable value variable value
PB1 0.0000 Pg1 63.7500 Pg1 0.0000
PB2 0.0000 Pg2 0.0000 Pg2 0.0000
PB3 0.0860 Pg4 0.0000 Pg4 0.0000
PB4 0.0000 PB1 0.0000 PB1 0.0000
PB5 0.0000 PB2 0.0000 PB2 0.0000
P1 1.2432 PB3 0.0000 PB3 86.0000
P2 1.2110 PB4 0.0000 PB4 0.0000
P3 1.2647 PB5 0.0000 PB5 0.0000
P4 1.2540 θ1 0.0000 θ1 0.0000
θ2 0.0000 θ2 0.0000
θ3 0.0000 θ3 0.0000
θ4 0.0000 θ4 0.0000
The settlement for this case would occur like this:
Amount paid to generators:
Payment g1 Pg1 LMP1 50MW 12.432$ / MWhr 621.60$ / hr
Payment g 2 Pg 2 LMP2 118.03MW 12.11$ / MWhr 1429.34$ / hr
Payment g 4 Pg 4 LMP4 49.84MW 12.54$ / MWhr 624.99$ / hr
The total payments to the generators will be
621.60+1429.34+624.99=2675.93$/hr.
5
Notice: The amount paid by the loads exceeds that paid to the
generators by 2701.7-2675.93=25.77$/hr.
Why is this?
We show in the Appendix A (see eq. 26) that the LMPs at each bus
are given by:
6
k load : LMPk Energy component
Ploss
Loss component
Pdk
M
j t jk Congestion component
j 1
where tjk are called shift factors and give the change in flow on
circuit j to a change in real power injection at bus k, under a
specified slack distribution, according to
F j
t jk
Pk (1)
If the network is linear over its entire operating range, then (1)
applies even when
F j F j 0, Pk Pk 0 (2)
so that
Fj
t jk (3)
Pk
or
F j t jk Pk (4)
In matrix form, (4) becomes:
F TP (5)
Then the congestion charge is: (Note there is a minus sign error on
the below somewhere, need to find it).
7
N N
CC LMPk * Pgk LMPk * Pdk
k 1 k 1
N M N M
j t jk * Pgk j t jk * Pdk
k 1
j 1 k 1 j 1
N M M
j t jk * Pgk j t jk * Pdk
k 1
j 1 j 1
N M
j t jk Pgk Pdk
k 1
j 1
N M
Pgk Pdk j t jk Pgk Pdk
k 1
j 1
N N M
Pgk Pdk j t jk Pgk Pdk
k 1 k 1 j 1
N N M
Pgk Pdk j t jk Pgk Pdk
k 1 k 1 j 1
N M
0 j t jk Pgk Pdk
k 1 j 1
Now interchange the summation to obtain:
M N
CC j t jk Pgk Pdk
j 1 k 1
M N
j t jk Pgk Pdk
j 1 k 1
M N M
j t jk Pk j F j
j 1 k 1 j 1
8
Appendix A (LMPs)
1.0 Objective function
9
right-hand summation of (2), when placed equal to 0, says the sum
of injections is exactly equal to zero.
10
other buses, or from all other buses, and the elements of T will
change depending on which of these is assumed. It is generally
considered best to employ a so-called distributed slack bus
assumption here where the compensation is assumed to come from
all other generator buses.
11
N
min G ( P) sk Pgk
k 1
s.t.
N
Pgk Pdk Ploss
k 1 (14)
N
t jk ( Pgk Pdk ) F j max, j 1,..., M
k 1
We will call (14) LOPF-1.
N N M N
L( P g , , ) s k Pgk Pgk Pdk Ploss j t jk ( Pgk Pdk ) F j max
k 1 k 1 j 1 k 1
(15)
The first order conditions for finding the optimum to LOPF-1
include:
L Ploss M
k gen : s k (1 ) j t jk 0 (16)
Pgk Pgk j 1
12
max f ( x, )
x
s.t. g ( x, ) 0 (18)
where x is the decision variable and θ is some parameter that is
influential in the problem, but it is not a decision variable, i.e., we
may not select its value. We desire to find how the optimal value
of f changes with respect to θ.
13
T. Organogianni and G. Gross, “A General Formulation for LMP
Evaluation,” IEEE Trans. On Power Systems, Vol 22, No 3, Aug
2007.
And (25) show us a very useful way to think about LMPs. They
consist of three components:
k load : LMPk Energy component
Ploss
Loss component
Pdk (26)
M
j t jk Congestion component
j 1
14
7.0 Energy component
15
Now write the Lagrangian function:
N N N M N
L( P g , , ) s k Pgk Pgk Pdk j t jk ( Pgk Pdk ) F j max
k 1 k 1 k 1 j 1 k 1
(29)
or
N N M N
L( P g , , ) s k Pgk Pgk PD,tot j t jk ( Pgk Pdk ) F j max
k 1 k 1 j 1 k 1
(30)
16
Solving for λ, we obtain:
M
k gen : s k j t jk (34)
j 1
2
1
Fig. 1
The only unit that is selected, and is regulating, is unit 5. This is
the unit for which λ=sk. It is the unit that will pick up the extra
17
demand when the demand is increased by 1 unit. We say that unit 5
is “on the margin.”
Ploss M
k load : LMPk j t jk (25)
Pdk j 1
18
9.0 Congestion component
At this point, our interest is the last term. Let’s ignore the losses,
resulting in
M
k load : LMPk j t jk (37)
j 1
The summation in (37) will contain zero terms for all circuits j for
which flow is not at the rating, i.e., the only non-zero terms in the
summation will be for circuits that are at their rating, i.e., that are
congested. Let’s consider that there is only one such circuit in the
network, circuit 5. Then
k load : LMPk 5t 5k (38)
The Lagrange multiplier (dual variable) μ5 is on the flow constraint
for circuit 5, and it will always be nonnegative. On the other hand,
t5k, the generation shift factor, representing the change in flow on
circuit 5 for an increase in injection at bus k, may be positive or
negative. Thus we see that congestion, although usually increasing
LMPs for most buses, can also decrease LMPs under certain
conditions.
19
Appendix B (Sensitivities)
1.0 Introduction
The IDC does not represent buses but rather represents control
areas, and there are 97 of them in the eastern interconnection.
Therefore the flowgates often represent interconnections between
these control areas; however, a flowgate may also be internal to a
single control area as well.
For our purposes, a control area is a bus, and the flowgates are
interconnections between the buses.
20
What we desire to obtain, then, is an expression for computing the
change in flow on a branch in a network for a given change in MW
bus injection.
21
Table 1: Summary of TLR Levels [1]
TLR RELIABILITY COORDINATOR Action Comments
Level
System
Secure
be allowed to continue, and only to the level
existing at the time of the hold. Transactions
using Firm Point-to-Point Transmission Service
are not held. See Section B.1.
Violation
Security
Limit
Transmission Service to mitigate Operating Security priorities. There are special considerations for
Limit Violation handling Transactions using Firm Point-to-Point
Transmission Service. See Section B.4.
5a Reallocation Transactions using Firm Point-to-Point Attempts to accommodate all Transactions using
Transmission Service are curtailed (pro rata) to allow Firm Point-to-Point Transmission Service,
System
though at a reduced (“pro rata”) level. Pro forma
Secure
new Transactions using Firm Point-to-Point
Transmission Service to begin (pro rata). tariff also requires curtailment / REALLOCATION on
pro rata basis with Network Integration
Transmission Service and Native Load. See
Section B.6.
5b Curtail Transactions using Firm Point-to-Point Pro forma tariff requires curtailment on pro rata
Security Limit
Transmission Service to mitigate Operating Security basis with Network Integration Transmission
Violation
Limit Violation Service and Native Load. See Section B.7.
System
Secure
22
TLR “Risk” Criteria Transaction criteria RELIABILITY Comments
Lev COORD
IMMINENCE State Action
23
2.0 Calculation of Generation Shift Factors
P ( D A)B' P
1
B (4)
As we have previously defined in the notes on DC PowerFlow:
PB is the vector of branch flows. It has dimension of M x 1.
Branches are ordered arbitrarily, but whatever order is chosen
must also be used in D and A.
D is an M x M matrix having non-diagonal elements of zeros;
the diagonal element in position row k, column k contains the
negative of the susceptance of the kth branch.
A is the M x (N-1) node-arc incidence matrix.
B’ is the DC power flow matrix of dimension (N-1)x(N-1),
where N is the number of buses in the network, obtained from
the Y-bus as follows:
24
1. Replace diagonal element B’kk with the sum of the non-
diagonal elements in row k. Alternatively, subtract bk (the
shunt term) from Bkk, and multiply by -1.
2. Multiply all off-diagonals by -1.
3. Remove row 1 and column 1.
P is the vector of nodal injections for buses 2, …, N
The calculation of eq. (4) provides the flows on all lines given the
injections at all buses.
Bus this is not what we want. What we want is the fraction change
in flow on all lines given a change in injection at one bus.
Pk Pk Pk (5)
0
PN PN PN
Therefore,
PB PB PB
0
( D A)B' P ( D A)B' P
1 1 0
( D A)B' P P
1
0
(6)
( D A)B' P
1
25
Now let the ∆P vector be all zeros except for the element
corresponding to the kth bus, and assign this bus an injection
change of 1.
P2 P2 0
P P 0
3 3
P
P P
k k 1 (7)
PN PN 0
Then
PB1 t1,k 0
P t 0
B 2 2 , k
1
P B ( D A)B'
t
Bb b,k
P 1 (8)
BM M ,k
P t 0
Question: Does the above equation imply that the injection is
changed at only one bus? Explain.
26
t1,23 10 0 0 0 0 0 0 - 1
t - 1 0 0 20 10 1
2 , 23 0 10 0 0 0 0 1
t 3,23 0 0 10 0 0 1 - 1 0 10 30 10 1
t 4,23 0 0 0 10 0 0 - 1 1 0 10 20 0
t 5,23 0 0 0 0 10 0 - 1 0
0 0 10
10 0 0 0.0625 0.025 0.0125 1
10 10 0 0.025 0.05 0.025 1
0 10 10 0.0125 0.025 0.0625 0
0 10 0
0 0 10 0.125
10 0 0 0.0375 0.375
10 10 0 0.025 0.2125
0 10 10 0.0125 0.125
0 10 0 0.25
Note that the above generation shift factors are for a “double shift.”
You can think of it like this. A generation shift factor for branch b,
bus k would be tb , k and another generation shift factor for branch
27
Pb tb, k tb, j Pk (10)
Equation (8) shows how to compute the generation shift factors for
the case when a single specified slack bus corresponds to bus 1.
28
N N
c1 ci 1 ci
i2 i2 (12)
ik
is the allocation desired for the reference bus.
29
0 0 10
10 0.0625 0.025 0.0125
0 0 1
10 10 0 0.025 0.05 0.025 0.333
0 10 10 0.0125 0.025 0.0625 0.333
0 10 0
0 0 10 0.1664
10 0 0 0.05 0.5001
10 10 0 0 0.4999
0 10 10 0.0166 0.1666
0 10 0 0.0002
It is of interest to compare the answer from the example where the
slack was distributed entirely to bus 3 and the example where the
slack was distributed to all buses.
t1, 23 0.125 t1, 2 all 0.1664
t t
2 , 23 0 . 375 2 , 2 all 0 . 5001
t 3, 23 0.2125 t 3, 2 all 0.4999
t 4 , 23 0. 125 t 4 , 2 all 0 .1666
t 5, 23 0.25 t 5, 2 all 0.0002
Clearly the assumption on slack distribution is important!
There are other ways to distribute the slack. For example, we may
distribute the slack equally to all generation buses. Or we may
distribute the slack equally to all load buses. Or we may distribute
the slack to all generation buses in proportion to the MVA rating of
the generation that is located there (this approach conforms best to
reality, as we will see when we study AGC).
30
t1,1 t1, 2 t1,k t1, N
t t t t
2 ,1 2 , 2 2 , k 2 , N
T
t
b,1 t b, 2 t b ,k t b, N
M ,1 M , 2
t t t t ,N
M ,k
M
M N
c 1 c c c c c
c c 1 c c c c
c c c 1 c c c
(
D A ) B 1
'
M M M ( N 1) ( N 1)( N 1)
c c c c c c
c c c c c 1
( N 1) N
The above assumes that we desire generation shift factors for every
branch (a row of T) and every bus (a column of T). Note that the
first column of T is for a shift at the bus 1, which is the one
assumed to be deleted from the B’ matrix.
31
Example 3: Let’s compute the T-matrix for Example 2. We assume
a distributed slack bus, where, c=-1/3. Therefore
10 0 0 0 0 0 0 - 1
0 10 0 0 0 - 1 0 0 20 10 0 0.333
1
1 0.333 0.333
T 0 0 10 0 0 1
- 1 0 10 30 10 0.333 0.333 1 0.333
0 0 0 10 0 0 - 1 1 0 10 20 0.333 0.333 0.333 1
0 0 0 0 10 0 - 1 0
Pg2=2pu
Pg1=2pu
1 2
2
1
5 Pd2=1pu 3
4
4 3
Pg4=1pu Pd3=4pu
32
Remember: each column is the set of shift factors for a unit
increase in injection (generation) at a certain bus. Column 1 is
when the injection at bus 1 is increased (there is no “1” in that
column because that is the one corresponding to the bus that was
deleted in the B’ matrix). Column 2 is when the injection at bus 2
is increased, and so on.
References:
[1] North American Electric Reliability Council (NERC)
Operating Manual, Appendix 9C1, May, 2004, available at
www.nerc.com.
[i] J. Yan, G. Stern, P. Luh, and F. Zhao, “Payment versus bid cost,” IEEE Power and Energy
Magazine, March/April 2008.
[ii] Eugene Litvinov, Tongxin Zheng, Gary Rosenwald, and Payman Shamsollahi, “Marginal
Loss Modeling in LMP Calculation,” IEEE Transactions On Power Systems, Vol. 19, No. 2, May
2004.
33