Ee/Econ 458 Lpopf: J. Mccalley
Ee/Econ 458 Lpopf: J. Mccalley
Ee/Econ 458 Lpopf: J. Mccalley
LPOPF
J. McCalley
1
LPOPF
The linear program optimal power flow is functionally equivalent
to the SCED (but not to the SC-SCED). The main difference is that
LPOPF uses DC power flow equations whereas SCED uses linear
sensitivities (generation shift factors).
Ref: Xingwang Ma, Yonghong Chen, Jie Wan, “Midwest ISO Co-optimization Based Real-time Dispatch and
Pricing of Energy and Ancillary Services,” Proc. of the 2009 IEEE PES General Meeting.
2
Linearized cost rate curves
In our simplest version, we assume that only generators supply
offers and all load is “must serve.”
si2
One offer: (si,Pi),)
si1
Pi3
Pi1 Pi2
Pi,min Pi (MW)
3
LPOPF
min s P k gk
k generator _ buses
1 2
y12 =-j10
y14 =-j10
y13 =-j10 Pd2=1pu y23 =-j10
y34 =-j10
4 3
Pg4 Pd3=1.1787pu
pb3 0.324188
Pg4=0.45pu Pd3=1.1787pu
theta3 -0.041968
pb4 0.434838
pb5 0.419675
All other variables in the range 1-12 are 0. There are 11 variables listed as non-0.
So which variable is 0? Why?
10
display solution dual -
Solution ($/per unit-hr)
Constraint Name Dual Price
Equality constraints Lower bounds Upper bounds
c7 1211.000000 Equation Value Variable value variable value
c8 1211.000000 PB1 0.0000 Pg1 -96.0000 Pg1 0.0000
c9 1211.000000
c10 1211.000000 PB2 0.0000 Pg2 0 Pg2 0.0000
c11 -96.000000 PB3 0.0000 Pg4 -43.0000 Pg4 0.0000
c15 -43.000000
All other dual prices in the PB4 0.0000 PB1 0 PB1 0.0000
range 1-26 are 0. PB5 0.0000 PB2 0 PB2 0.0000
P1 1211.0 PB3 0 PB3 0.0000
P2 1211.0 PB4 0 PB4 0.0000
P3
The dual variables tell us how much the objective1211.0 PB5 the right-hand-side
changes when 0 PB5 of the0.0000
P4 (subject
corresponding constraint increases by a unit 1211.0
to qualifications on next slide). Since we
are in “per unit”, and a “per-unit” is 100 MW, dividing the dual variables by 100 gives the
corresponding $/MW change in the objective function. So dual variables for
•c7-c10 are$12.11/MWhr Increasing load by 1 MW at either of buses 1,2,3, or 4 increases
objective by $12.11. This is set by the bus 2 generator, as it will respond to any load change.
•c11 is -$0.96/MWhr This constraint is –pg1<=-0.5. Increasing RHS from -0.5 to -0.49,
equivalent to decreasing lower bound on pg1 from 50 to 49 MW, reduces objective by $0.96 .
•c15 is -$0.43/MWhr This constraint is –pg4 <= -0.45. Increasing RHS from -0.45 to -0.44,
equivalent to decreasing lower bound on pg4 from 45 to 44 MW, reduces objective by $0.43.
11
Qualification to dual variable definition
From last slide:
“The dual variables tell us how much the objective changes when the right-hand-side of the
corresponding constraint increases by a unit (subject to qualifications…).”
F *
i This says that the λi = ΔF*/Δbi only for incrementally small Δbi.
bi In fact, it is more restrictive than that.
In an LP, λi = ΔF*/Δbi holds only for Δbi such that within
bi+ Δbi (inclusive), no change in the active constraint set occurs.
For example,
•if constraint i is active (inactive) at bi, and it becomes inactive
(active) within bi+ Δbi, then λi = ΔF*/Δbi will not hold within bi+
Δbi.
•if constraint k is active (inactive) at bi, and it becomes inactive
(active) within bi+ Δbi, then λi = ΔF*/Δbi will not hold within bi+
Δbi.
Note: Be careful in HW#6, problem 2, parts 2-c (v) and 2-c (vi).
12
minimize
1307 pg1 + 1211 pg2 + 1254 pg4
subject to
theta1=0
Case 1
-pb1 + 10 theta1 - 10 theta4 = 0
-pb2 + 10 theta1 - 10 theta2 = 0
-pb3 + 10 theta2 - 10 theta3 = 0
-pb4 - 10 theta3 + 10 theta4 = 0
-pb5 + 10 theta1 - 10 theta3 = 0
pg1 - 30 theta1 + 10 theta2 + 10 theta3 + 10 theta4 = 0
pg2 + 10 theta1 - 20 theta2 + 10 theta3 = 1.01
Change Pd2 from 1 to 1.01 (a 1 MW
10 theta1 + 10 theta2 - 30 theta3 + 10 theta4 = 1.1787 increase) and resolve.
pg4 + 10 theta1 + 10 theta3 - 20 theta4 = 0
-pg1 <= -0.5
pg1 <= 2
-pg2 <= -0.375
pg2 <= 1.5 Solution provides:
-pg4<= -0.45
pg4 <= 1.8 Z*=$2717.8657
-pb1 <= 500
pb1 <= 500
-pb2 <= 500
pb2 <= 500 Previous solution was:
-pb3 <= 500
pb3 <= 500 Z*=$2705.7557
-pb4 <= 500
pb4 <= 500
-pb5 <= 500 2717.8657
pb5 <= 500
Bounds -2705.7557
-500 <= pb1 <= 500
-500 <= pb2 <= 500
----------------
-500 <= pb3 <= 500 12.11
-500 <= pb4 <= 500
-500 <= pb5 <= 500
-3.14159 <= theta1 <= 3.14159
-3.14159 <= theta2 <= 3.14159
-3.14159 <= theta3 <= 3.14159
-3.14159 <= theta4 <= 3.14159
end 13
Case 2a
Take a look at solution to original case:
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
Let’s constrain Pb3 to 0.3. This means that upper and lower bounds of Pb3 should be
changed from (-500,500) to (-0.3,0.3).
pg1 0.500000
pg2 1.180325 1 2
18
Case 2b
Let’s increase the load at the highest price bus, bus #3, from 1.1787 to 1.1887 per unit, an
increase of 1 MW. Resulting dispatch/flows are below, together with the Case 2a
dispatch/flows. Case 2b flows/dispatch
Case 2a flows/dispatch
(PB3 constrained, Pd2=1.1887)
(PB3 constrained, Pd2=1.1787) P =1.1778pu g2
Pg2=1.1803pu Pg1=0.5pu
Pg1=0.5pu
1 2
1 2
PB2=0.1222
PB2=0.1197 PB3 =0.3
PB3 =0.3 PB1 =
PB1 = -0.0443 PB5=0.4222 Pd2=1pu
-0.0393 PB5=0.4197 Pd2=1pu
PB4 =
PB4 = 4 0.4665 3
4 0.4590 3
Pg4=0.5109pu Pd3=1.1887pu
Pg4=0.4984pu Pd3=1.1787pu
Question: Why did we not just increase Unit 2 or increase Unit 4 by 1 MW?
19
Case 2b
Case 2b flows/dispatch
Case 2a flows/dispatch
(PB3 constrained, Pd2=1.1887)
(PB3 constrained, Pd2=1.1787) Pg2=1.1778pu
Pg2=1.1803pu Pg1=0.5pu
Pg1=0.5pu
1 2
1 2
PB2=0.1222
PB2=0.1197 PB3 =0.3
PB3 =0.3 PB1 =
PB1 = -0.0443 PB5=0.4222 Pd2=1pu
-0.0393 PB5=0.4197 Pd2=1pu
PB4 =
PB4 = 4 0.4665 3
4 0.4590 3
Pg4=0.5109pu Pd3=1.1887pu
Pg4=0.4984pu Pd3=1.1787pu
Answer: Because the resulting flow on branch 3 would exceed its capacity!!!
In fact, it is not possible to supply additional load at bus 3 with only a single unit increase. We
will always have to compensate for the load AND redispatch to compensate for the additional
flow on the branch 3. As a result, the nodal price at bus 3 is a function of the generation costs at
those buses that are used in the particular redispatch that achieves the minimum cost.
20
Case 2b
Case 2b flows/dispatch
Case 2a flows/dispatch
(PB3 constrained, Pd2=1.1887)
(PB3 constrained, Pd2=1.1787) Pg2=1.1778pu
Pg2=1.1803pu Pg1=0.5pu
Pg1=0.5pu
1 2
1 2
PB2=0.1222
PB2=0.1197 PB3 =0.3
PB3 =0.3 PB1 =
PB1 = -0.0443 PB5=0.4222 Pd2=1pu
-0.0393 PB5=0.4197 Pd2=1pu
PB4 =
PB4 = 4 0.4665 3
4 0.4590 3
Pg4=0.5109pu Pd3=1.1887pu
Pg4=0.4984pu Pd3=1.1787pu
Answer: Because the resulting flow on branch 3 would exceed its capacity!!!
In fact, it is not possible to supply additional load at bus 3 with only a single unit increase. We
will always have to compensate for the load AND redispatch to compensate for the additional
flow on the branch 3. As a result, the nodal price at bus 3 is a function of the generation costs at
those buses that are used in the particular redispatch that achieves the minimum cost.
21
Demand bidding
Dr. Tesfatsion has told you that a market is efficient if traders extract the
maximum total net surplus (yellow area in below curve).
Subject to constraints…..
22
Demand bidding
Dr. Tesfatsion has told you that a market is efficient if traders extract the
maximum total net surplus (yellow area in below curve).
Subject to constraints…..
where vk and Ck represent the bids &
offers of the load serving entities (LSEs)
and generation owners, respectively.
Equivalently, we may use the following
objective function in above problem:
min Ck ( Pj ) vk ( Pk )
Pk , Pj
j GenBuses k LoadBuses 23
Demand bidding
Linearizing both objective functions results in the following problem:
min s P
gk gk
k generator _ buses
s
k load _ buses
dk Pdk
subject to
P B'
P B ( D A)
P B ,max P B P B ,max
0 Pgk Pgk ,max , k gen _ buses
0 Pdk Pdk , max , k load _ buses
24
Example with demand bidding
Pg2
Pg1 ,
1 2
y12 =-j10
y14 =-j10
y13 =-j10 Pd2=1pu y23 =-j10
y34 =-j10
4 3
Pg4 Pd3=1.1787pu
2
6
Example with demand bidding
Line flow equality constraints:
This
, is exactly the same as in
P B ( D A) 0 the previous examples.
From last time:
10 0 0 0 0 1 0 0 - 1
1 Note we need “full” node-
0 10 0 0 0
-1 0 0 arc incidence matrix
D0 0 10 0 0 A 0 1 1 0 because we have full DC
0 0 0 10 0 0 0 1 1 power flow equations.
0 1 0 1 0
0 0 0 10
10 0 0 0 0 1 0 0 - 1 10 0 0 10 101 10 4
1
1 0 101 10 2
1
0 10 0 0 0 1 - 1 0 0 10 10 0
2
( D A) 2 0 0 10 0 0 0 1 1 0 2 0 10 10 0 10 2 10 3
3 3 3
0 0 0 10 0 0 0 1 1 0 0 10 10 10 3 10 4
4 4 4 10 10
0 0 0 0 10 1 0 1 0 10 0 10 0 1 3
So the social surplus (Total Utility of Load less Total Cost of Supply)
is $12.80. Not too much!
This is because the consumers are valuing the energy at just a little
above cost.
pb2 0.462500
Pg4=1.8pu Pd3=2.0pu
theta2 -0.046250
pb3 0.162500
theta3 -0.062500
pb4 1.212500
pb5 0.625000
All other variables in the range 1-14 are 0.
31
display solution dual -
Solution Equality constraints
($/per unit-hr)
Lower bounds Upper bounds
Constraint Name Dual Price Equation Value Variable value variable value
c7 1300.000000 PB1 -0.0000 Pg1 -7.0000 Pg1 0.0000
c8 1300.000000 PB2 -0.0000 Pg2 0.0000 Pg2 -89.00
c9 1300.000000 PB3 0.0000 Pg4 0.0000 Pg4 -46.00
c10 1300.000000 PB4 0.0000 Pd2 0.0000 Pd2 0.0000
c11 -7.000000 PB5 -0.0000 Pd3 -100.00 Pd2 0.0000
c14 -89.000000 P1 1300.0 PB1 0.0000 PB1 0.0000
c16 -46.000000 P2 1300.0 PB2 0.0000 PB2 0.0000
c19 -100.000000 P3 1300.0 PB3 0.0000 PB3 0.0000
All other dual prices in the P4 1300.0 PB4 0.0000 PB4 0.0000
range 1-30 are 0. PB5 0.0000 PB5 0.0000
θ1 0.0000 θ1 0.0000
θ2 0.0000 θ2 0.0000
θ3 0.0000 θ3 0.0000
θ4 0.0000 θ4 0.0000
2. Maximally increase surplus: Then it takes 1 MW (.01 pu) of supply and 1 MW (.01 pu) of
demand from the gen/load pair not at upper bounds which provides the most positive
surplus per MW. This will be the gen with the least cost and the load with the greatest
utility, as long as surplus is positive. Repeat this until you hit limit (then switch) or surplus
goes negative (then stop).
• G4 goes to 1.8 and D2 goes to 1.8.
• Now G4 is at limit and so we switch to G1 at 13.07, while D2 is at 13.00.
• If we take a MW from this pair, the surplus will decrease!
• STOP!
34
minimize
1307 pg1 + 1211 pg2 + 1254 pg4 - 1300 pd2 - 1200 pd3
subject to
theta1=0
Demand bidding
with constrained
-pb1 + 10 theta1 - 10 theta4 = 0
-pb2 + 10 theta1 - 10 theta2 = 0
-pb3 + 10 theta2 - 10 theta3 = 0
-pb4 - 10 theta3 + 10 theta4 = 0
-pb5 + 10 theta1 - 10 theta3 = 0
pg1 - 30 theta1 + 10 theta2 + 10 theta3 + 10 theta4 = 0
pg2 -pd2 + 10 theta1 - 20 theta2 + 10 theta3 =0
-pd3 + 10 theta1 + 10 theta2 - 30 theta3 + 10 theta4 = 0
transmission
pg4 + 10 theta1 + 10 theta3 - 20 theta4 = 0
-pg1 <= -0.5 Previous solution, unconstrained transmission
pg1 <= 2
-pg2 <= -0.375
had Pb3=0.1625, so we constrain Pb3 to 0.16.
pg2 <= 1.5
-pg4<= -0.45
pg4 <= 1.8
-pd2 <= -1
pd2 <= 2
-pd3 <= -2
pd3 <= 3
-pb1 <= 500
pb1 <= 500
-pb2 <= 500
pb2 <= 500
-pb3 <= 500
pb3 <= 0.16
-pb4 <= 0.16
pb4 <= 500
-pb5 <= 500
pb5 <= 500
Bounds
-500 <= pb1 <= 500
-500 <= pb2 <= 500
-500 <= pb3 <= 500
-500 <= pb4 <= 500
-500 <= pb5 <= 500
-3.14159 <= theta1 <= 3.14159
-3.14159 <= theta2 <= 3.14159
-3.14159 <= theta3 <= 3.14159
-3.14159 <= theta4 <= 3.14159
end
Solution
Z*=-$12.7533 Pg2=1.5pu
Pg1=0.5067
pu
display solution variables -
1 2
Variable Name Solution Value
PB2=0.4667
pg1 0.506667 PB1 =
PB3 =0.16
PB5=0.6267 Pd2=1.8067pu
pg2 1.500000 -0.5867
pg4 1.800000
PB4 =
pd2 1.806667 4 1.2133 3
pd3 2.000000
Pg4=1.8pu Pd3=2.0pu
pb1 -0.586667
theta4 0.058667
pb2 0.466667
theta2 -0.046667
pb3 0.160000
theta3 -0.062667
pb4 1.213333
pb5 0.626667
All other variables in the range 1-14 are 0.
36
display solution dual -
Solution ($/per unit-hr)
Constraint Name Dual Price Equality constraints Lower bounds Upper bounds
c1 -0.000000 Equation Value Variable value variable value
PB1 -0.0000 Pg1 0.0000 Pg1 0.0000
c4 -18.666667
PB2 0.0000 Pg2 0.0000 Pg2 -89.0000
c7 1307.000000 PB3 -18.6667 Pg4 0.0000 Pg4 -55.3333
c8 1300.000000 PB4 0.0000 Pd2 0.0000 Pd2 0.0000
c9 1311.666667 PB5 0.0000 Pd3 - 111.667 Pd3 0.0000
c10 1309.333333 P1 1307.0 PB1 0.0000 PB1 0.0000
c14 -89.000000 P2 1300.0 PB2 0.0000 PB2 0.0000
c16 -55.333333 P3 1311.667 PB3 0.0000 PB3 -18.6667
P4 1309.333 PB4 0.0000 PB4 0.0000
c19 -111.666667
PB5 0.0000 PB5 0.0000
c26 -18.666667
θ1 0.0000 θ1 0.0000
All other dual prices in the range θ2 0.0000 θ2 0.0000
1-30 are 0. θ3 0.0000 θ3 0.0000
θ4 0.0000 θ4 0.0000
37
Demand bidding w/ constrained transmission
Previous solution, unconstrained transmission, New solution, with constrained transmission.
so we constrain Pb3 to 0.16.
Pg2=1.5pu
Pg2=1.5pu Pg1=0.5067
Pg1=0.5pu pu
1 2
1 2
PB2=0.4625 PB2=0.4667
PB3 PB3 =0.16
PB1 =
PB1 =
PB5=0.6250 Pd2=1.8pu =0.1625 -0.5867 PB5=0.6250 Pd2 =1.8067pu
-0.5875
PB4 = PB4 =
4 3 4 1.2133 3
1.2125
Equality constraints Lower bounds Upper bounds Observe! There are two
Equation Value Variable value variable value
regulating buses this time.
PB1 -0.0000 Pg1 0.0000 Pg1 0.0000
PB2 0.0000 Pg2 0.0000 Pg2 -89.0000
PB3 0.0187 Pg4 0.0000 Pg4 -55.3333 RULE: For n binding constraints,
PB4 0.0000 Pd2 0.0000 Pd2 0.0000 there are at least n+1 marginal
PB5 0.0000 Pd3 111.6667 Pd3 0.0000 (regulating) buses.
P1 1307.0 PB1 0.0000 PB1 0.0000
P2 1300.0 PB2 0.0000 PB2 0.0000 The LMP at a marginal bus is
P3 1311.7 PB3 0.0000 PB3 -18.6667
always equal to its offer or bid.
P4 1309.3 PB4 0.0000 PB4 0.0000
PB5 0.0000 PB5 0.0000 sg2=1211 $/pu-hr sd2=1300 $/pu-hr
θ1 0.0000 θ1 0.0000 sg4=1254 $/pu-hr sd3=1200 $/pu-hr
θ2 0.0000 θ2 0.0000 sg1=1307 $/pu-hr 38
Settlement without congestion (fixed demand)
Original solution, ∞ transmission Equality constraints Lower bounds Upper bounds
Objective function: Z*=2705.8 $/hr. Equation Value Variable value variable value
PB1 0.0000 Pg1 96.0000 Pg1 0.0000
Pg2=1.2287pu
Pg1=0.5pu
1 2
PB2 0.0000 Pg2 0 Pg2 0.0000
PB2=0.0955 PB3 0.0000 Pg4 43.0000 Pg4 0.0000
PB3
PB1 = =0.3242
-0.0152 PB5=0.4197 Pd2=1pu
PB4 0.0000
PB1 0 PB1 0.0000
P =
4
B4
0.4348 3 PB5 0.0000
PB2 0 PB2 0.0000
P1 1211.0
PB3 0 PB3 0.0000
P =0.45pu
g4 P =1.1787pu
d3
P2 1211.0
PB4 0 PB4 0.0000
P3 1211.0
PB5 0 PB5 0.0000
Amount paid to generators: P4 θ11211.0 0 θ1 0.0000
Payment g1 Pg1 LMP1 50MW 12.11 $ / MWhr 605.50$ / hr θ2 0 θ2
Total payments
0.0000
to gens:
θ 0 θ3 0.0000
Payment g 2 Pg 2 LMP2 122.87 MW 12.11$ / MWhr 1487.96$ /3 hr 605.50+1487.96+544.95
θ4 0 θ4 0.0000
Paymentg 4 Pg 4 LMP4 45MW 12.11$ / MWhr 544.95$ / hr =2638.41$/hr.
Amount paid by loads:
Payment d 2 Pd 2 LMP2 100MW 12.11 $ / MWhr 1211 .00$ / hr
Total payments by loads:
1211.00+1427.41
Paymentd 3 Pd 3 LMP2 117.87 MW 12.11$ / MWhr 1427.41$ / hr
=2638.41$/hr,
Market settles with total payment Question: Why does total payments to gens (or total
to gens equaling total payment to loads. payments by loads) not equal Z*=2705.8$/hr? 39
Settlement without congestion (fixed demand)
Question: Why does total payments to gens (or Offers:
total payments by loads) not equal Z*=2705.8$/hr? sg2=1211 $/pu-hr
Answer: We optimize on the offers. We settle at LMPs. sg4=1254 $/pu-hr
sg1=1307 $/pu-hr
To illustrate, let’s see what happens if we settle at offers
Paymentg1 Pg1 s1 50MW 13.07$ / MWhr 653.50$ / hr Total payments to gens will
Paymentg 2 Pg 2 s2 122.87MW 12.11$ / MWhr 1487.96$ / hr be 653.50+1487.96+564.30
Payment g 4 Pg 4 s4 45MW 12.54$ / MWhr 564.30$ / hr =2705.76$/hr,
J. Yan, G. Stern, P. Luh, and F. Zhao,
So why do we settle at the LMPs rather than the offers? “Payment versus bid cost,” IEEE Power
According to the paper I placed on the web page: and Energy Magazine, March/April 2008.
“The primary reason for this conclusion is that under the pay-as-bid settlement scheme,
market participants would bid substantially higher than their marginal costs (since there is
no incentive for participants to bid their operating cost) to try to increase their revenue and,
thus, offset and very likely exceed the expected consumer payment reduction. As a result,
currently all ISOs in the United States adopt the pay-at-MCP principle.”
• 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 LMP settlement scheme provides no incentive to bid high. The disincentive to
bid high because their bid might not be accepted remains.
Settlement with congestion (fixed demand)
Equality constraints Lower bounds Upper bounds
Equation Value Variable value variable value
PB1 0.0000 Pg1 -63.750 Pg1 0.0000
P =0.5pu
g1
P =1.1803pu
g2 PB2 0.0000 Pg2 0.0000 Pg2 0.0000
1 2
PB3 -86.000 Pg4 0.0000 Pg4 0.0000
P =0.1197
B2
P =0.3
PB4 0.0000 PB1 0.0000 PB1 0.0000
B3
P =
B1
-0.0393 P =0.4197
B5 P =1pu
d2 PB5 0.0000 PB2 0.0000 PB2 0.0000
P = B4
P1 1243.25 PB3 0.0000 PB3 -86.000
4 0.4590 3
P2 1211.00 PB4 0.0000 PB4 0.0000
P =0.4984pu
g4 P =1.1787pu
d3 P3 1264.75 PB5 0.0000 PB5 0.0000
Z*=$2707.8358 P4 1254.00 θ1 0.0000 θ1 0.0000
θ2 0.0000 θ2 0.0000
Amount paid to generators: θ3 0.0000 θ3 0.0000
Paymentg1 Pg1 LMP1 50MW 12.432 $ / MWhr 621.60$ / hr θ4 0.0000 θ4
Total payments 0.0000
to gens:
Payment g 2 Pg 2 LMP2 118.03MW 12.11$ / MWhr 1429.34$ / hr 621.60+1429.34+624.99
Payment g 4 Pg 4 LMP4 49.84MW 12.54$ / MWhr 624.99$ / hr =2675.93$/hr.
Amount paid by loads:
Total payments by loads:
Payment d 2 Pd 2 LMP2 100MW 12.11 $ / MWhr 1211 .00$ / hr
1211.00+1490.70
Paymentd 3 Pd 3 LMP2 117 .87 MW 12.647$ / MWhr 1490.70$ / hr
=2701.70$/hr,
Amount paid by loads exceeds that
paid to the gens by $25.77. Why is this? 41
Settlement with congestion (fixed demand)
Why does amount paid by loads exceed that paid to the gens by $25.77?
Consider under the condition of no losses, the power balance equation:
n n
P P
j 1
gj
j 1
dj
Now what if there is no congestion and prices at all buses are the same at LMP, i.e., LMP j=LMP
for all buses j=1,…,n. In this case:
n n n n
LMP Pgj LMP Pdj LMP P LMP P
j gj j dj
j 1 j 1 j 1 j 1
And we have just proved that for the case without congestion, when all LMPs are the same,
the amount paid by loads equals the amount paid to the generators.
But when all LMPs are not the same (when we have congestion), the above proof does not
hold. In this case, we can show that (see notes):
M
CC j Pbj LMPj * Pdk LMPk * Pgk
j 1 kload kgen
The load pays into the market an amount the exceeds the amount generators are paid by
the congestion charges. These charges may be computed as the sum of products of line
constraint dual variables and the RHS of the constraint. Let’s check that in the example we just
42
did.
Settlement with congestion (fixed demand)
Equality constraints Lower bounds Upper bounds
Equation Value Variable value variable value
PB1 0.0000 Pg1 -63.750 Pg1 0.0000
PB2 0.0000 Pg2 0.0000 Pg2 0.0000
PB3 -86.000 Pg4 0.0000 Pg4 0.0000
PB4 0.0000 PB1 0.0000 PB1 0.0000
Recall that the amount paid by PB5 0.0000 PB2 0.0000 PB2 0.0000
loads exceeds that paid to the P1 1243.25 PB3 0.0000 PB3 -86.000
gens by $25.77. P2 1211.00 PB4 0.0000 PB4 0.0000
P3 1264.75 PB5 0.0000 PB5 0.0000
M
CC j Pbj 86 * .016 25.8
P4 1254.00 θ1 0.0000 θ1 0.0000
j 1
θ2 0.0000 θ2 0.0000
θ3 0.0000 θ3 0.0000
θ4 0.0000 θ4 0.0000
43
Settlement with congestion (w/demand bidding)
pg1 0.506667 Equality constraints Lower bounds Upper bounds
pg2 1.500000 Equation Value Variable value variable value
pg4 1.800000 PB1 -0.0000 Pg1 0.0000 Pg1 0.0000
pd2 1.806667 PB2 0.0000 Pg2 0.0000 Pg2 -89.0000
pd3 2.000000 PB3 0.0187 Pg4 0.0000 Pg4 -55.3333
PB4 0.0000 Pd2 0.0000 Pd2 0.0000
pb1 -0.586667
PB5 0.0000 Pd3 111.6667 Pd3 0.0000
theta4 0.058667
P1 1307.0 PB1 0.0000 PB1 0.0000
pb2 0.466667
P2 1300.0 PB2 0.0000 PB2 0.0000
theta2 -0.046667 P3 1311.7 PB3 0.0000 PB3 -18.6667
pb3 0.160000 P4 1309.3 PB4 0.0000 PB4 0.0000
theta3 -0.062667 PB5 0.0000 PB5 0.0000
pb4 1.213333 θ1 0.0000 θ1 0.0000
pb5 0.626667 θ2 0.0000 θ2 0.0000
Amount paid to generators: θ3 0.0000 θ3 0.0000
Paymentg1 Pg1 LMP1 50.67 MW 13.07$ / MWhr 662.21$ /θhr
4 0.0000 θ4 0.0000
Total payments to gens:
Payment g 2 Pg 2 LMP2 150MW 13.00$ / MWhr 1950.00$ / hr 662.21+1950.00+2356.74
Paymentg 4 Pg 4 LMP4 180MW 13.09$ / MWhr 2356.74$ / hr =4968.95$/hr.
Amount paid by loads:
Total payments by loads:
Paymentd 2 Pd 2 LMP2 180.667MW 13.00$ / MWhr 2348.67$ / hr
2348.67+2623.40
Paymentd 3 Pd 3 LMP2 200MW 13.12$ / MWhr 2623.40$ / hr
=4972.07$/hr,
Amount paid by loads exceeds that Use dual variable from line flow constraint:
paid to the gens by $3.12. 18.6667*.16=2.99 44
Summary
1. Congestion causes LMPs to vary from one bus to another.
2. “Marginal” or “regulating” buses are not at either limits.
3. There will always be at least n+1 regulating buses, where n is number of congested lines.
4. We optimize on the offers and bids but we settle at the LMPs.
5. If there is no congestion, the payments by the loads will equal the payments to the
generators.
6. If there is congestion, the payments by the loads will exceed the payments to the
generators by the congestion charges.
7. The congestion charges equal the sum over all congested lines of the product of each
line’s dual variable and its line flow limit.
45