MISO Final Report/Draft
Executive Summary
MISO was interested in research that might help answer the following questions:
How important is the development of demand response (DR) on the part of a load
serving entity (LSE), distributor, in reducing the level and volatility of wholesale
electricity prices and maintaining a high level of consumer benefits?
How effective is an ISO sponsored capacity market in fostering efficient
investment in new capacity and maintaining a high level of consumer benefits?
Does centralized generator dispatch (with revenue guarantees for deployed
generators) affect consumer benefits when compared to a system in which
generators are obligated to voluntarily dispatch themselves with no revenue
guarantee?
If the exclusive service contracts of regulated distributors were replaced by open
retail competition with unregulated pricing to consumers, what would be the
immediate and longer run effects be on investment, market prices and consumer
benefits?
MISO contracted August Systems Corporation (Lance Clifner) and principals of Chapman
University’s Economic Science Institute (Nobel Laureate Vernon Smith and Director Stephen
Rassenti), to develop an interactive software platform in which trained cash motivated human
decision makers play the roles of Generating Companies and Distributors in a dynamic
multiyear simulations. The participants’ cash profits earned during the simulations depend
upon their strategic bidding in spot, forward and capacity markets, and their decisions
regarding whether to invest in additional capacity to generate power or withdraw demand.
The primary conclusions that can be substantiated by statistical analyses of the cash motivated
simulation results are:
1. The presence of active Distributors, with the ability to build peak capacity and offer
flexible rate structures, does most to benefit Consumers.
2. Capacity Markets by themselves provide no benefit for Consumers but create sizeable
extra surplus for Generators and Distributors at Consumers’ expense.
3. Capacity Markets by themselves do not enhance investments in capacity compared to
markets with active Distributors, but build more capacity than regulated Generators
alone.
Result ‘1’ can be succinctly illustrated by the two data series in the graph below that plot
peak period electricity prices during two different 12-“year” experiments. In gray at the
top of the graph we show a typical result where there is capacity market, consumers do
not fare very well and prices were high, while on the bottom in black we show a typical
result where there were active distributors and consumers fared much better.
Rassenti et.al.
1
September 20, 2008
MISO Final Report/Draft
Figure 1: Average Retail Prices in Selected Treatments. Compared are treatments where there are active
distributors with the ability to invest in peak capacity, Demand Response (DR) and forward markets (black line)
compared to a market with Generators and a capacity market.
Other findings were:
Central Dispatch, by itself, also depresses Consumer surplus while benefitting Distributors
and Generators. However, it stimulates investment in capacity compared to some other
treatments, including Capacity markets.
Retail Markets work by raising prices to smooth out peaks in demand, thereby lessening
need for capacity and reducing demand compared to other treatments. Over the short-term,
however, consumer surplus is reduced.
Market reforms, including Capacity Markets, and Central Dispatch, improved consumers’
surplus more when combined with active Distributors than they did when implemented by
themselves. For example, Capacity Markets did more to improve consumer surplus when
combined with active Distributors than Capacity Markets did by themselves.
Introduction
MISO has developed a dynamic interactive Internet–based platform that allows participants to
play the roles of distribution and generation companies in a real time competitive market. The
market environment has the following features (options):
Consumer demand cycling up and down during the various periods of each day.
Rassenti et.al.
2
September 20, 2008
MISO Final Report/Draft
Consumer demand growing in the long run.
Generators with carrying costs, startup costs, and nonlinear marginal fuel costs.
Generation companies able to build new generators.
A centrally coordinated Spot market based on an Optimal Power Flow (OPF) which
provides system wide power at the lowest cost and calculates regional prices.
Distributors able to invest in Demand Response contracts with consumers and build small
local peaking generators. [Y or N]
Regulator Price Intervention in which the regulator evaluates average Spot Market Costs
and adjusts the allowable resale price of the local distribution entities. [Y or N]
A Forward Market in which all participants may engage in future period contracts for
differences. [Y or N]
A Capacity Market in which suppliers may receive continuous payments for capacity in
return for a promise to deliver that capacity into the Spot Market [Y or N]
Retail Competition in which the Regulator allows the distributors to charge whatever retail
prices they choose, but frees all regions to retail competition. [Y or N]
Self versus Central dispatch in which the pattern of generator dispatch (who’s turned on or
off) is governed strictly by the marginal generator prices submitted (OPF) versus by a
central dispatch algorithm that guarantees generators a minimal return.
This market simulation system allows us to configure a wide variety of economic conditions
and institutional rules. Depending on how well they manage their assets, participants acting as
distributors and generators experience the viability and profitability their strategic choices in a
dynamic competitive environment. This system was developed for MISO by August Systems
Corporation in coordination with Nobel Laureate Vernon Smith and Economic Science
Laboratory Director Stephen Rassenti.
All of the experiments reported in this report were run in environments where the underlying
economic conditions and initial plant were identical. Each experiment lasted 12 years, with
10 days in each year and four periods in each day. Demand cycled from low to medium to
high back to medium in the four periods of each day, and there was an underlying trend of
demand growth during the 120 days of each experiment. Generating companies could
independently set the spot market prices of each generator they owned in each region of a
three region connected network, and could invest in building new generators at any location of
the system. Regulated distribution companies operating in a single region, could, when
represented by active participants, invest in demand response that could then be sold into the
spot market.
A system regulator controlled distributor retail prices through regulator price intervention
(RPI). Every three experiment days the regulator readjusted the regional retail prices in
the direction of wholesale spot market changes (except in baseline simulations 0.1 and
0.2). The demand for each period of each day for the entire 120 days of the experiment
was preset in a demand file (see Figure 8: Schedule of Demand During High, Low and
Medium Periods), and was accurate given that the regulator would maintain the retail
prices at the original reference retail price (PR). However, when the allowable regulated
retail price was changed to PS by the regulator, automated consumers responded and the
corresponding demand (D) changed to D∙(PR/PS)e to reflect the ratio between the new and
Rassenti et.al.
3
September 20, 2008
MISO Final Report/Draft
reference prices. The constant elasticity of demand e was set to .2 (quite inelastic), so
changes in demand for small changes in price were not dramatic.
The experimental environment was quite complicated (see example computer interface
screenshots for a generator and a distributor in Figure 10). Subjects who participated in
these experiments were trained twice for two hours each before they were used in the
experiments reported below. The following set of experimental treatments has been
conducted thus far:
Treatment
Operating Markets
Participants
# Experiments
0.1
Spot, No Invest, No RPI
Robot Generators
1 sim
Treatment
Code
RobotNoRPI
0.2
Spot, No Invest
Robot Generators
1 sim.
RobotRPI
1
Spot
Generators Only
5
Base
2
Spot w/Distributors
7
Dstrbtr
3
Spot /Forward
5
DistFor
4
Spot/Forward/Capacity
5
DstForCap
5
Central Dispatch
Generators &
Distributors
Generators &
Distributors
Generators &
Distributors
Generators Only
4
CentDis
6
Generators &
Distributors
Generators Only
4
DstCentDis
7
Central
Disp./Distributors
Spot/Capacity
5
Capacity
8
Retail
Distributors &
Generators
4
Retail
Note that in addition to the treatments in which human subjects participated as generators
and distributors, for comparative purposes we are also reporting the results of two
baseline simulations in which there were no active participants and robot bidders
representing the generating companies always simply revealed the costs for all
generators. In both baseline treatments, the demand was constantly growing and the
generating assets in the system remained fixed from the beginning to the end of the
experiment horizon. In treatment Robot_NoRPI, the regulated retail price remained
constant (no RPI). In treatment Robot_RPI, the Regulator Price Intervention (RPI)
adjusted the regulated retail price every three days, which caused changes in the actual
demand.
1. Demand and Investments in Capacity
In Figure 2, we graph the schedule of investments observed during the horizon of each
treatment (represented by diamond shaped points in the graph). For comparison, we also
graph the total demand (the lighter line in the graph) during each year.
Rassenti et.al.
4
September 20, 2008
MISO Final Report/Draft
Demand and Investment
Selected Experiments by Treatment
Robot_NoRPI
14000
12000
10000
8000
6000
4000
Robot_RPI
14000
12000
10000
8000
6000
4000
0
50
100 150
day
0
Base
14000
12000
10000
8000
6000
4000
50
100
day
150
Capacity
CentDisp
14000
12000
10000
8000
6000
4000
0
50
100 150
day
14000
12000
10000
8000
6000
4000
0
Dstrbtr
14000
12000
10000
8000
6000
4000
50
100
day
150
DstFor
50
100 150
day
50
100
day
150
DstForCap
14000
12000
10000
8000
6000
4000
0
0
14000
12000
10000
8000
6000
4000
0
50
100
day
150
DstCentDis
14000
12000
10000
8000
6000
4000
0
50
100
day
150
Retail
14000
12000
10000
8000
6000
4000
0
50
100 150
day
0
50
100 150
day
Includes Investment in Capacity, Demand Response (daily demand in high periods)
Dark Markers represent capacity, lighter markers show demand
Figure 2: Demand versus Capacity, by Treatment
We observe that capacity (represented by the darker dots in Figure 2) is very close to
peak demand in the Base, Capacity and CentDisp treatments, but is more consistently
above peak demand in the DstForCap, Dstrbtr, Retail, DstCentDis and DstFor treatments.
The Capacity treatment, which was designed to examine the effect of a capacity market,
provides capacity that is at times very close to demand, and at other times well in excess
of demand.
The common factor that distinguishes Base/Capacity/CentDis from
DstForCap/Dstrbtr/DstFor/DstCentDis/Retail is the role of distributors. In
Base/Capacity/CentDisp (and the two Robot treatments) distributors were passive,
whereas in the other treatments, distributors were able to invest in peak generators and
demand reduction. The treatment meant to test the efficacy of a capacity market,
Capacity, showed that a capacity market by itself is not sufficient to keep installed
capacity consistently above peak demand. Instead, the active participation of distributors
in the marketplace seems to play a key role in spurring capital investment and the ability
to use Demand Response (DR) in the market.
2. Surplus of Consumers, Distributors and Generators
In the three figures and accompanying tables below, we compare the total surplus
generated by each category of market participant (consumer, distributor and generator) in
each of the eight treatments.
Rassenti et.al.
5
September 20, 2008
MISO Final Report/Draft
In Figure 3, Figure 4, and Figure 5, box plots show the surplus of generators, distributors
and consumers, respectively, realized over all experiments in each treatment.1 The line in
the center of each box represents the median surplus in each treatment. The upper and
lower bounds of the box are the 75th and 25th percentiles, respectively, and the ‘whiskers’
extend to the upper and lower bounds of the distribution. Results are ordered from
highest to lowest median values.
Figure 3: Consumer Surplus by Treatment (results ordered by medians from highest to lowest)
3. Active Distributors
The presence of active distributors seems to enhance the surpluses of consumers at the
expense of generators. Consumers’ benefits are relatively large in treatments featuring
active Distributors, and this is accompanied by a somewhat lower level of surplus for
generators and distributors in DstForCap/DstFor/Dstrbtr/DstCentDis compared to
Base/Capacity/CentDisp/Retail.
4. Capacity Markets
Capacity markets by themselves do not improve consumer performance versus the Base,
and may even lower consumer surplus by raising retail prices. Capacity markets do
encourage the construction of more capacity than regulated generators by themselves.
1
Surplus is the difference between their generating costs and the spot market price times the quantity sold
into the market. In those treatments where there is a capacity market, surplus is the same but the cost of the
capacity market is subtracted from distributors or generators as appropriate.
Rassenti et.al.
6
September 20, 2008
MISO Final Report/Draft
However, they do not build as much capacity as other alternatives, such as Central
Dispatch.
5. Retail Competition
Under retail competition, the exclusive service contracts of regulated distributors were
replaced with open retail competition and unregulated pricing for consumers. These
conditions produced a substantial increase in demand-adjusted retail prices, especially
during peak periods. See Figure 6 and Table 6. Demand fell sharply as did our measure of
Consumer Surplus. As demand fell so did investment requirements for generating units,
and this is reflected in measures of demand and investment in capacity as reported in
Table 4 and Table 5. Measures of Distributor and Generator surplus rose substantially.
All of these can be seen as rational short-term responses to incentives as electricity
suppliers smooth out demand with higher prices at peak periods, thereby reducing the
need for investment in generators’ capacity. More study would be required to understand
if the reduction in consumer surplus is a long-term effect since we did not model longerterm consumer response to higher prices.
Figure 4: Distributor Surplus by Treatment. Bars are ordered from highest to lowest median values. Measured
at end of each experiment.
Rassenti et.al.
7
September 20, 2008
MISO Final Report/Draft
Figure 5: Generator Surplus by Treatment, cumulative surplus at end of each experiment. Results ordered by
median from highest to lowest.
Rassenti et.al.
8
September 20, 2008
MISO Final Report/Draft
Figure 6: Retail Prices ordered by Medians by Treatment. Measured during high demand periods.
Rassenti et.al.
9
September 20, 2008
MISO Final Report/Draft
Figure 7: Spot Prices by Treatment (ordered by medians highest to lowest), measured during high periods.
6
Table 1: Consumer Surplus Averages by Treatment, measured each period. (Multiply x 10 )
Rassenti et.al.
10
September 20, 2008
MISO Final Report/Draft
Table 2: Distributor Surplus Averages by Treatment, cumulative surplus at end of each experiment. (Multiply
8
x 10 )
Table 3: Generator Surplus Averages by Treatment, cumulative surplus at end of each experiment. (Multiply
8
x 10 )
Rassenti et.al.
11
September 20, 2008
MISO Final Report/Draft
Table 4: Actual Demand by Treatment
Table 5: Capacity Measures (Means) at End of Each Experiment by Treatment
Rassenti et.al.
12
September 20, 2008
MISO Final Report/Draft
Table 6: Retail Prices by Treatment, measured during high demand periods.
Table 7: Spot Price Averages by Treatment, measured during high demand periods
Rassenti et.al.
13
September 20, 2008
MISO Final Report/Draft
APPENDIX I
The following is a more detailed discussion of each of the two base simulations and five
experimental treatments examined so far.
1. Baseline-Spot, No Investment, No RPI (Robot_NoRPI)
This baseline treatment was a computer simulation that did not involve human subjects.
In this treatment-simulation, generators (represented by robots) declare average cost in
their asks to the electricity market but do not invest in additional generating capacity.
The distributors (also represented by robots) respond passively to the market and do not
use demand response to improve results. This environment is meant to demonstrate
possible results that might hold when the generators are completely able to collude or
coordinate on not building new capacity.
2. No RPI
The Regulator fixes a reference price at the beginning of the experiment without varying
it during the simulation. This means that the original price that consumers pay for
electricity is estimated as the weighted average (70 in our case) of the prices in the last
period plus a 20% mark-up that allows the distributors to make profit at the beginning of
the experiment. By leaving the regulated price unchanged the regulator allows demand to
expand in a totally inelastic manner.
3. Baseline-Spot, No Investment, RPI (Robot_RPI)
Like Robot_NoRPI, this was a computer simulation in which consumers, distributors and
generators were automated. This treatment-simulation presents exactly the same
conditions and parameter configuration as Robot_NoRPI, however, the regulator now
actively changes the price that the distributors can charge to their customers. This price is
updated every 3 periods as a weighted average of the last price that the regulator allowed
(80%) and 1.2 times the weighted average of the prices observed in the wholesale market
in the last 3 days. By changing this price the regulator protects the distributors’ profits
when the spot market’s electricity prices increase, but, at the same time does not allow
excessive profits when these prices are falling.
4. Spot Generators Only (Base)
This treatment, with human subjects, uses the same configuration as Robot_RPI. But now
instead of robots who offer their units at their average marginal cost, we have active
human subjects who set prices in response to the market. The human subjects can also
invest in new generating capacity. Distributors, however, are still passive robots.
5. Spot Generators Only and Capacity. (Capacity)
This is the same environment as in the Base treatment in which only the Generators are
human subjects, but now there is a capacity market every two years.
Rassenti et.al.
14
September 20, 2008
MISO Final Report/Draft
6.
Spot, Generators and Distributors. (Dstrbtr)
This is the same environment as the one described in the Base treatment, but now we
have active human subjects participating as Distributors. The significant difference in this
treatment is that we may now observe the effects of demand response (DR) in the system
and on the profits of the different types of players.
7.
Spot + Forward markets, Generators and Distributors. (DistFor)
We introduce the forward market as a tool for the subjects to insure themselves against
the volatility of prices in the spot market. We conduct this treatment by replicating the
same environment described in the Dstrbtr treatment, but now give the subjects the
ability to perform financial forward market contracts.
8.
Spot + Forward Markets + Capacity Market, Generators and Distributors.
(DstForCap)
This treatment uses the same configuration as the DistFor treatment, and we add a
Capacity Market as specified by Cramton2. This Capacity market is essentially a one
sided hedge market. Both distributors and generators are able to submit offers in order to
obtain a payment for their guarantee of capacity to be offered in the future (2 years
hence).
9. Central Dispatch With and Without Distributors (CD, or DstCentDisp)
The pattern of generator dispatch (who’s turned on or off) in this treatment is governed
by an algorithm that guarantees generators a minimal return. This is different from other
treatments in which dispatch was governed strictly by the marginal generator prices
submitted (OPF). A generating unit in CD may offer a higher price for its first (min load)
step than its second step, but the second and third steps must be offered in non-decreasing
order. The generating unit is agreeing to be available and incorporated as part of the
economic dispatch solution only if it is guaranteed that its revenue from the economic
dispatch of each period will exceed the cost of starting up plus the entire cost of its first
step, plus the marginal costs of all steps up the amount actually dispatched.
5. Retail Competition (Retail)
In Retail Competition (Retail), distributors are allowed to offer prices in regions outside
of their home serving area, creating inter-regional competition.
APPENDIX II
2
Cramton and Stoft 2006] Cramton, Peter ; Stoft, Steven: Uniform-Price Auctions in Electricity
Markets. Version: March 2006. http://stoft.com/metaPage/lib/cramton-stoft-2006-03-clearingprice-markets.pdf,
Rassenti et.al.
15
September 20, 2008
MISO Final Report/Draft
APPENDIX III
Table 8: Means
Surplus by
Treatment for
Consumers,
of
Distributors,
Generators
Figure 9:
This is summary
information about
the data used to create the graphs in Figures 2
& 3 and shows mean profit for each of the types of
market participant averaged over all years in the treatment.
Figure 8: Schedule of Demand During High, Low and Medium Periods
Figure 10: Screen Shot of Generator Computer Interface
Appendix III
Instructions for Generators
Rassenti et.al.
16
September 20, 2008
MISO Final Report/Draft
Generators and Generator Commitment
Each generator firm had a name like G2 where the 2 indicated the second generator firm
competing in the spot market for electric power. Each firm owned multiple generators
and was able to build new ones. Each generator owned by a firm was indicated by a
graphical icon with a name like G2.3 where the .3 indicates the third generator owned by
firm G2.
Each generator has the following characteristics:
Type
Region
Ownership
Cost
$/Period
Capacity
(Carry) Cost
$/MW/Period
T
R
OCTR
CCTR
= OCTR/QmaxT
Marginal
Quantity
MW
Q1T
Q2T
Q3T
Marginal
Cost
$/MW
C1T
C2T
C3T
Start Up
Cost
$
Regional Cost
Adjustment
Factor
ST
FR
T
Generator type is baseload, load follower or peaker.
R
Region in the network where the generator is installed.
OCTR Ownership Cost is the fixed cost per period of building and administering a
generator of type T at location R: the generator owner is charged these costs every
period whether the generator is actively selling power or not.
CCTR Capacity (Carry) Cost is simply the Ownership Cost divided by the maximum
output capacity (QmaxT = Q1T + Q2T + Q3T) of a generator of that type.
(QiT, CiT) The three step marginal Quantity and Cost function gives the avoidable
baseline (energy) costs per MW generated for a generator of type T: these costs
are not incurred if the generator is not any producing power.
Q1T
The quantity of the first step will be considered to be the generator’s minimum
load. The entire cost (Q1T · C1T) of the first step is always incurred whenever that
generator is called upon to produce any power.
C1T
The cost per MW of the first step may be specified in the config file to be greater
than the cost per MW given for the second and third steps. (This is especially true
for baseload and medium generators but not for peakers.)
ST
A generator of type T has a baseline startup cost which is incurred whenever the
generator goes from being idle in one period to producing power in the next.
FR
Each region R has a regional cost adjustment factor which multiplies the baseline
marginal and startup costs to give the true marginal and startup costs (C1T · FR,
C2T · FR, C3T · FR, ST · FR) for a generator of type T in region R.
The regional adjustment factors in the test environments are 1.0 for R2 (lowest regional
operating cost) 1.15 for R3, and 1.3 for R1 (highest operating cost). The actual parameter
values for the various types of generators at R2 are given in the tables below:
Baseload Generator (1200 MW)
Carry Cost
Rassenti et.al.
Startup
Marginal
Marginal
17
September 20, 2008
MISO Final Report/Draft
$/MW/Period
Cost
$
12
100,000
Quantity
MW
400
400
400
Cost
$/MW
19
9
11
Load Follower Generator (300 MW)
Carry Cost
$/MW/Period
Startup
Cost
$
6
10,000
Marginal
Quantity
MW
50
150
100
Marginal
Cost
$/MW
40
26
32
Marginal
Quantity
MW
30
20
10
Marginal
Cost
$/MW
80
100
160
Peaker Generator (60 MW)
Carry Cost
$/MW/Period
Startup
Cost
$
2
0
Generator owners must offer to sell each capacity step of their generator into the spot
market at whatever price they wished. Clearly, if they offered to sell a step for less than it
cost to produce the power they risked losing money. They also had to consider other
factors.
For example, if your large generator ever gets turned off because you offered to sell it for
too high a price, it will cost you $100,000 to turn it on again. In low demand conditions it
may be wise to offer to sell your first step at a loss!
Also, all of your generators have carrying costs and startup costs. The only way to cover
these costs is to sell your power at a premium above its marginal production costs. If your
generator is not always turned on the premium you seek with your offers must be even
higher.
There are two possible ways to organize the deployment of generators in the Spot Market
economic dispatch: Self versus Central generator Commitment. Today’s tests will
operate under the self-commitment rule.
Self Commitment: A generating unit may offer only non-decreasing marginal price
steps for its supply. The unit is committing itself to be available by submitting the offer,
and may be incorporated as part of the economic dispatch solution at any output level.
Rassenti et.al.
18
September 20, 2008
MISO Final Report/Draft
The regional spot price (RSP) from the period’s spot market must equal or exceed the
marginal offer price for a step in order to include any part of that step in the economic
dispatch.
Central Commitment: A generating unit may offer a higher price for its first (min
load) step than its second step, but the second and third steps must be offered in nondecreasing order. The generating unit is agreeing to be available and incorporated as
part of the economic dispatch solution only if it is guaranteed that its revenue from the
economic dispatch of each period will exceed the cost of starting up (if that is required)
plus the entire cost of its first step, plus the marginal costs of all steps (2 and 3) up to the
amount actually dispatched. The RSP must equal or exceed the marginal offer price for a
step in order to include any part that step in the economic dispatch.
Appendix IV
Distributor
Each distribution firm will have a name like D2 where the 2 indicates the second
distribution firm which is buying electric power in the network wide spot market and
reselling it to its regional consumers. Each firm may operate in more than one region of
the connected network. Each region where a distribution firm operates will be indicated
by a graphical icon with a name like D2.1 where the .1 indicates the region 1 operations
of firm D2.
Each distributor in each region has the following characteristics:
Region
r
Year,
Day,
Period
y, d, p
Demand
Elasticity
.2
Three
Demand
Strata
b=Baseload
(L, M, H, M)
s=Shoulder
(M, H, M)
k=Peak
(H)
Reference
Price
$
Reference
Quantity
MW
Regulated
Retail Price
$/MW
Qb,r,y,d,p
$70
Qs,r,y,d,p
Qk,r,y,d,p
Pr,y,d,p
Actual Consumer
Demand
MW
Db,r,y,d,p=
Qb,r,y,d,p (70/ Pb,r).2
Db,r,y,d,p=
Qb,r,y,d,p (70/ Pb,r).2
Db,r,y,d,p=
Qb,r,y,d,p (70/ Pb,r).2
r
Region in the network where the distributor is operating.
y, d, p Indicate the year, day, and period of the trading horizon.
.2
Demand elasticity controls consumer demand sensitivity to retail price changes
which is very inelastic (insensitive) in this scenario.
b
Indicates Baseload demand which are MW consumed during every period (Low,
Medium, High, and Medium demand) of the day.
s
Indicates Shoulder demand which are the additional MW consumed during the
Medium, High and Medium demand periods of the day.
Rassenti et.al.
19
September 20, 2008
MISO Final Report/Draft
k
Indicates Peak demand which are the additional MW consumed only during the
High demand period of the day.
$70 is the reference price for all demand in region r.
Q*,r,y,d,p is the quantity of demand that would occur at the reference price for demand
stratum * = (baseload, shoulder, peak).
Pr,y,d,p is the actual retail price set by the regulator for all consumers in the region.
D*,r,y,d,p is the actual quantity of demand that occurs at the regulated retail price for
demand stratum * = (baseload, shoulder, peak).
The actual demands D for all baseload, shoulder, and peak consumers must be served by
the distributor at the regulator set retail price for the region. The distributor must buy
enough power in the spot market to satisfy all his Must Serve demand, even if he must
buy it at a high price and resell it at a loss.
As the regulator changes the regulated retail price, the demand will respond accordingly.
There will also be an upward trend in demand growth during the course of the trading
horizon. The initial demand parameters for the various distributors active in the network
are given in the tables below:
Distributor 1.1 (1400 MW)
Initial Retail Price
$/MW
70
Demand Strata
Baseload (lo,med,hi,med)
Shoulder (med,hi,med)
Peak (hi)
Initial Demand
MW
1100
340
182
Distributor 2.1 (1400 MW)
Initial Retail Price
$/MW
70
Demand Strata
Baseload (lo,med,hi,med)
Shoulder (med,hi,med)
Peak (hi)
Initial Demand
MW
1100
340
182
Distributor 4.2 (1400 MW)
Initial Retail Price
$/MW
70
Demand Strata
Baseload (lo,med,hi,med)
Shoulder (med,hi,med)
Peak (hi)
Initial Demand
MW
1200
371
199
Distributor 3.3 (1400 MW)
Rassenti et.al.
20
September 20, 2008
MISO Final Report/Draft
Initial Retail Price
$/MW
70
Demand Strata
Baseload (lo,med,hi,med)
Shoulder (med,hi,med)
Peak (hi)
Initial Demand
MW
1000
309
166
Though a distributor must serve his native demand, he has two strategies that can help
him mitigate losses associated with high Spot Market prices:
1. Build small ‘Peakload’ generator(s) of 60 MW each (contract C1) that can be
used to offset expensive generation offered by the generating companies. Each
peakload generator built will have characteristics similar to the following:
Capacity = 60 MW, Carry Cost =$2/MW/period, Fuel Cost = $100/MW
This generator may be sold into the Spot market.
2. Enter Demand Response Contracts (C2 baseload, C3 shoulder, C4 peak) with
consumers in which the distributor pays consumers to withdraw some of their
demand at critical times. For example, at a price of $70 the baseload demand for
Distributor One in Region 1 (D1.1) is given as 1200 MW. Now if the regulated
retail price were say $90 ($20 more), the amount of baseload demand would be
reduced to 1200 (70/90).2 = 1200 (.95) = 1140. That means that if D1 offered its
region 1 consumers a $20/MW payment to withdraw some demand it would get a
60 MW (1200-1140) ‘Response’, because 60 MW of its ‘must serve’ demand are
worth less than $20 more than the current retail price. These 60MW of Demand
Response may be sold to the Spot Market. Effectively, the distributor serves
himself (buys and sells in the spot market) when he invokes this contract.
Below is an example screenshot for Distributor 2.1:
Rassenti et.al.
21
September 20, 2008
MISO Final Report/Draft
Appendix V
Retail Competition Demand and Demand Response
Example Calculations
For each region i the aggregate demand in that region should be encoded in the
configuration file as a pair of constants (PRi, bi,) and one triple (QAloi, QAmedi, QAhii)
for each period of each year y:
1. PRi is the initial fixed reference contract price (resale Value) in region i
2. bi is a parameter which controls the elasticity of demand about the price PRi
3. QAloi = Qloi is the aggregate demand at price PRi at location i during the low
period and the baseload demand active in all periods.
4. QAmedi = Qloi + Qmedi is the aggregate demand at price PRi at location i during
the medium period (note: Qmedi = QAmedi - QAloi is the incremental shoulder
demand active in all medium and high periods.)
Rassenti et.al.
22
September 20, 2008
MISO Final Report/Draft
5. QAhii = Qloi + Qmedi + Qhii is the aggregate demand at price PRi at location i
during the high period (note: Qhii = QAhii - QAmedi QAloi is the incremental
peak demand active only in high periods.)
We are going to construct an example that will run through all the
calculations that will be required under retail competition. Let us suppose
that in some region i the reference price PRi=60, the elasticity parameter bi=
.5, and the aggregate demands for the region i in the table for the example
day are given by (QAloi, QAmedi, QAhii) = (3000, 5000, 6000). Therefore:
Qloi = 3000,
Qmedi = 5000-3000 = 2000, and
Qhii = 6000-5000 = 1000.
Suppose also that for the example day the four distributors have each posted
a price vector for the three tiers of demand in region i that are as follows:
(PLoi1, PMedi1, PHii1) = (70, 70, 70)
(PLoi2, PMedi2, PHii2) = (50, 90, 1000)
(PLoi3, PMedi3, PHii3) = (30, 1000, 1000)
(PLoi4, PMedi4, PHii4) = (1000, 1000, 990)
Finally, let the RetailPriceDelta =20 for this initialization.
Demand and Demand Response with retailer set regional resale Values
Under retail competition the aggregate and individual retailer demands in the low,
medium and high demand periods in region i must be recalculated each period using the
current posted resale Values (retail prices) as follows.
Calculating aggregate demand in a region for a given period
Suppose E is the number of retailers in the system and for each region i we have:
a vector of retailer prices (PLoi1, PLoi2,…, PLoiE) for the Baseload demand tier
competing for Qloi (active in Low, Medium and High periods)
example: (PLoi1, PLoi2, PLoi3, PLoi4) = (70, 50, 30, 1000)
a vector of retailer prices (PMedi1, PMedi2,…, PMediE) for the Shoulder demand
tier competing for Qmedi (active in Medium and High periods)
example: (PMedi1, PMedi2, PMedi3, PMedi4) = (70, 90, 1000, 1000)
a vector of retailer prices (PHii1, PHii2,…, PHiiE) for the Peak demand tier
competing for Qhii (active only in High periods)
example: (PHii1, PHii2, PHii3, PHii4) = (70, 1000, 1000, 990)
Rassenti et.al.
23
September 20, 2008
MISO Final Report/Draft
[Remember, the aggregate demand triples (QAloi, QAmedi, QAhii) for each region i
initialized in the demand table at the reference price PRi are defined as QAloi = Qloi.
QAmedi = Qloi + Qmedi, and QAhii = Qloi + Qmedi + Qhii]
The aggregate demand for each demand tier for each period in each region will be
determined by the lowest price offered in that region for that tier for that day, but the
distributor offering that lowest price will not necessarily own all of that demand.
Reorder the prices in each region i for each period from Highest to Lowest (and
remember who owns them). The ordered prices (OP*) are:
for Baseload tier (OPLoi1 ≥ OPLoi2…≥ OPLoiE) where MinPLi = OPLoiE
example: (1000, 70, 50, 30); MinPLi = 30
for Shoulder tier (OPMedi1 ≥ OPMedi2…≥ OPMediE) where MinPMi = OPMediE
example: (1000, 1000, 90, 70); MinPLi = 70
for Peak tier (OPHii1 ≥ OPHi2…≥ OPHiiE) where MinPHi = OPHiiE
example: (1000, 1000, 990, 70); MinPLi = 70
For the purpose of all computations involving prices, a price equal to
the maximum system price (1000, in our example) will always be
considered equal to a price of infinity ∞; and all calculations involving
this maximum system price should be flagged and handled as if the
price were ∞.
Then using the price ratios (PRi / MinPLi) b, (PRi / MinPMi) b, and (PRi / MinPHi) b the
aggregate baseload, shoulder, and peak demands in region i are calculated as:
Aggregate baseload demand:
QBasei = (PRi / MinPLi) b (Qloi)
example: QBasei = (60 / 30) .5 (3000) = 4243
Aggregate shoulder demand:
QShldi = (PRi / MinPMi) b (Qmedi)
example: QShldi = (60 / 70) .5 (2000) = 1852
Aggregate peak demand:
QPeaki = (PRi / MinPHi) b (Qhii)
example: QPeaki = (60 / 70) .5 (1000) = 926
And the aggregate consumer demands in the low, medium and high demand periods in
region i are calculated as:
Aggregate low period demand:
QDLoi = QBasei
Rassenti et.al.
24
September 20, 2008
MISO Final Report/Draft
example: QDLoi = 4243 (should appear in the network diagram under QD
for the low period)
Aggregate medium period demand:
QDMedi = QBasei + QShldi
example: QDMedi = 4243+1852 = 6095 (should appear in the network
diagram under QD for the medium period)
Aggregate high period demand:
QDHii = QBasei + QShldi + QPeaki
example: QDHii = 4243+1852+926 = 7021 (should appear in the network
diagram under QD for the high period)
Calculating retailer share of aggregate demand
Suppose the retail prices offered for the baseload demand tier in region i are ordered from
highest to lowest as (p1, p2, … pE). Now construct the retail price transformation:
example baseload: (1000, 70, 50, 30) =
(OPLoi1 ≥ OPLoi2 ≥ OPLoi3 ≥ OPLoi4) = (PLoi4 ≥ PLoi1 ≥ PLoi2 ≥ PLoi3)
example shoulder: (1000, 1000, 90, 70) =
(OPMedi1 ≥ OPMedi2 ≥ OPMedi3 ≥ OPMedi4) = (PMedi4 ≥ PMedi3 ≥
PMedi2 ≥ PMedi1)
example peak: (1000, 1000, 990, 70)
= (OPHii1 ≥ OPHii2 ≥ OPHii3 ≥ OPHii4) = (PHii3 ≥ PHii2 ≥ PHii4 ≥ PHii1)
(r1, r2 … rE) = (1+(p1-pE)/ δ, 1+(p2-pE)/ δ,…, 1+(pE-pE)/ δ)
Where δ (>0) is a new initialization parameter, RetailPriceDelta, that we must set in the
init file whenever we have retail competition.)
When δ = 20 then:
example baseload: (r1, r2, r3, r4) = (∞, 3, 2, 1)
example shoulder: (r1, r2, r3, r4) = (∞,∞, 2, 1)
example peak: (r1, r2, r3, r4) = (∞,∞, 47, 1)
Define (R1, R2 … RE) = (1/r1, 1/r2 … 1/rE).
example baseload: (R1, R2, R3, R4) = (0, .333, .5, 1)
example shoulder: (R1, R2, R3, R4) = (0, 0, .5, 1)
example peak: (R1, R2, R3, R4) = (0, 0, .0213, 1)
Calculate the following baseload demand share factors for the given region where the
retail prices were offered:
For all j ≤ E, and i ←j, j+1,…,E then fij = Ri / ∑(k=j…E) Rk. (Note, ∑i fij = 1.)
Rassenti et.al.
25
September 20, 2008
MISO Final Report/Draft
example baseload: (R1, R2, R3, R4) = (0, .333, .5, 1)
f11= 0/ (0+ .333 + .5 + 1) = 0
f21= .333 / (0+ .333 + .5 + 1) = .18
f31= .5/ (0+ .333 + .5 + 1) = .27
f41= 1/ (0+ .333 + .5 + 1) = .55
f22= .333/ (.333 + .5 + 1) = .18
f32= .5/ (.333 + .5 + 1) = .27
f42= 1/ .333+ .5 + 1= .55
f33= .5 / (.5 + 1) = .333
f43= 1/ (.5 + 1) = .667
f44= 1
(Similarly, using shoulder prices we can calculate should shoulder demand share factors
gij, and using peak prices we can calculate peak demand share factors hij.)
example shoulder: (R1, R2, R3, R4) = (0, 0, .5, 1)
g11= 0/ (0+ 0 + .5 + 1) = 0
g21= 0 / (0+ 0 + .5 + 1) = 0
g31= .5/ (0+ 0 + .5 + 1) = .333
g41= 1/ (0+ 0 + .5 + 1) = .667
g22= 0/ (0 + .5 + 1) = 0
g32= .5/ (0 + .5 + 1) = .333
g42= 1/ 0 + .5 + 1= .667
g33= .5 / (.5 + 1) = .333
g43= 1/ (.5 + 1) = .667
g44= 1
example peak: (R1, R2, R3, R4) = (0, 0, .0213, 1)
h11= 0/ (0+ 0 + .0213 + 1) = 0
h21= 0 / (0+ 0 + .0213 + 1) = 0
h31= .0213 / (0+ 0 + .0213 + 1) = .021
h41= 1/ (0+ 0 + .0213 + 1) = .979
h22= 0/ (0 + .0213 + 1) = 0
h32= .0213 / (0 + .0213 + 1)= .021
h42= 1/ (0 + .0213 + 1)= .979
h33= .0213 / .0213 + 1) = .021
h43= 1/ (.0213 + 1) = .979
h44= 1
Where the additional demand share at each price level is given by:
SLi(0,1) = (MinPLi / OPLoi1)b
Rassenti et.al.
26
September 20, 2008
MISO Final Report/Draft
SLi(1,2) = ((MinPLi / OPLoi2)b – (MinPLi / OPLoi1)b)
SLi(2,3) = ((MinPLi / OPLoi3)b – (MinPLi / OPLoi2)b)
…
SLi(E-1,E) = ((MinPLi / OPLoiE)b – (MinPLi / OPLoiE-1)b)
example baseload:
SLi(0,1) = (30 / ∞).5 = 0
SLi(1,2) = ((30 / 70).5 – (30/ ∞).5) = .65
SLi(2,3) = ((30 / 50).5 – (30 / 70).5) = .12
SLi(3,4) = ((30 / 30).5 – (30 / 50).5) = .23
example shoulder: (R1, R2, R3, R4) = (0, 0, .5, 1)
SMi(0,1) = (70 / ∞).5 = 0
SMi(1,2) = ((70 / ∞).5 – (70/ ∞).5) = 0
SMi(2,3) = ((70 / 90).5 – (70 / ∞).5) = .88
SMi(3,4) = ((70 / 70).5 – (70 / 90).5) = .12
example peak: (R1, R2, R3, R4) = (0, 0, .0213, 1)
SHi(0,1) = (70 / ∞).5 = 0
SHi(1,2) = ((70 / ∞).5 – (70/ ∞).5) = 0
SHi(2,3) = ((70 / 990).5 – (70 / ∞).5) = .27
SHi(3,4) = ((70 / 70).5 – (70 / 990).5) = .73
Note: the share ShLoDie≤1, and the sum of the shares ∑e ShLoDie=1.
Use the following algorithm to calculate the proportionate market share ShLoDie of the
baseload demand for each of the E retailers:
Highest price retailer: ShLoDi1 = f11 SLi(0,1)
2nd highest price retailer: ShLoDi2 = f21 SLi(0,1) + f22 SLi(1,2)
3rd highest price retailer: ShLoDi3 = f31 SLi(0,1) + f32 SLi(1,2) + f33 SLi(2,3)
…
Lowest price retailer: ShLoDiE = fE1 SLi(0,1) + fE2 SLi(1,2) + fE3 SLi(2,3) +…+ fEE
SLi(E-1,E)
example baseload:
Highest price retailer: ShLoDi1 = 0∙0 = 0
2nd highest price retailer: ShLoDi2 = .18∙0 + .18∙.65 = .117
3rd highest price retailer: ShLoDi3 = .27∙0 + .27 ∙.65 + .33∙.12 = .216
Lowest price retailer: ShLoDi4 = .55∙0 + .55∙.65 + .667∙.12 + 1∙.23 = .667
Rassenti et.al.
27
September 20, 2008
MISO Final Report/Draft
example shoulder:
Highest price retailer: ShMedDi1 = 0∙0 = 0
2nd highest price retailer: ShMedDi2 = 0∙0 + .0∙0 = 0
3rd highest price retailer: ShMedDi3 = .333∙0 + .333∙0 + .333∙.88 = .293
Lowest price retailer: ShMedDi4 = .667∙0 + .667∙0 + .667∙.88 + 1∙.12
=.707
example peak:
Highest price retailer: ShHiDi1 = 0∙0 = 0
2nd highest price retailer: ShHiDi2 = 0∙0 + .0∙0 = 0
3rd highest price retailer: ShHiDi3 = .021∙0 + .021∙0 + .021∙.27 = .0057
Lowest price retailer: ShHiDi4 = .979∙0 + .979 ∙0 + .979∙.27 + 1∙.73
=.9943
The individual retailer e contracts for the baseload, shoulder, and peak demand in region i
are calculated as:
Attention: Before we do the following calculations we must recall which
retailer owns each posted price for each demand tier! I omitted stating
this in the file I sent you two days ago. Thus:
example baseload: Recall (1, 2, 3, 4) → (4, 1, 2, 3) as (1000, 70, 50, 30) =
(OPLoi1 ≥ OPLoi2 ≥ OPLoi3 ≥ OPLoi4) = (PLoi4 ≥ PLoi1 ≥ PLoi2 ≥ PLoi3)
example shoulder: Recall (1, 2, 3, 4) → (4, 3, 2, 1) as (1000, 1000, 90, 70) =
(OPMedi1 ≥ OPMedi2 ≥ OPMedi3 ≥ OPMedi4) = (PMedi4 ≥ PMedi3 ≥
PMedi2 ≥ PMedi1)
example peak: Recall (1, 2, 3, 4) → (3, 2, 4, 1) as (1000, 1000, 990, 70) =
(OPHii1 ≥ OPHii2 ≥ OPHii3 ≥ OPHii4) = (PHii3 ≥ PHii2 ≥ PHii4 ≥ PHii1)
baseload contract:
QBaseie* = ShLoDie x QBasei
where e* = original index of e
example: retailers (4, 1, 2, 3) own shares (0, .117, .216, .667) and QBasei
=4243, so
QBasei4 = 0 x 4243 = 0
QBasei1 = .117 x 4243 = 496
QBasei2 = .216 x 4243 = 917
QBasei3 = .667 x 4243 = 2830
Rassenti et.al.
28
September 20, 2008
MISO Final Report/Draft
shoulder contract:
QShldie* = ShMedDie x QShldi
where e* = original index of e
example: retailers (4, 3, 2, 1) own shares (0, 0, .293, .707) and QShldi
=1852, so
QShldi4 = 0 x 1852 = 0
QShldi3 = 0 x 1852 = 0
QShldi2 = .293 x 1852 = 543
QShldi1 = .707 x 1852 = 1309
peak contract:
QPeakie* = ShHiDie x QPeaki
where e* = original index of e
example: retailers (3, 2, 4, 1) own shares (0, 0, .0047, .9953) and QPeaki
=926, so
QPeaki3 = 0 x 926 = 0
QPeaki2 = 0 x 926 = 0
QPeaki4 = .0047 x 926 = 4
QPeaki1 = .9953 x 926 = 922
The individual retailer e demands for the low, medium and high demand periods in
region i are calculated as:
QDLoie* = QBaseie*
low
example: (aggregate total 4243)
QDLoi1 = 496
QDLoi2 = 917
QDLoi3 = 2830
QDLoi4 = 0
QDMedie* = QBaseie* + QShldie*
medium
example: (aggregate total 6095)
QDMedi1 = 496 + 1309 = 1805
QDMedi2 = 917 +543 = 1460
QDMedi3 = 2830 + 0 = 2830
QDMedi4 = 0 + 0 = 0
QDHiie* = QBaseie* + QShldie* + QPeakie*
high
example: (aggregate total 7021)
QDHii1 = 496 + 1309 + 922 = 2727
QDHii2 = 917 +543 + 0 = 1460
QDHii3 = 2830 + 0 + 0 = 2830
QDHii4 = 0 + 0 + 4 = 4
Rassenti et.al.
29
September 20, 2008
MISO Final Report/Draft
These quantities are the numbers that should be written in the retailer’s
table under Quantity for the Low, Medium, and High periods’ must
serve demand!
Under Quantity for each retailer we should see:
Retailer 1 496 1805 2727
Retailer 2 917 1460 1460
Retailer 3 2830 2830 2830
Retailer 4 0
0
4
Under Value as we move from period to period the retailers should see a
weighted average Value of the demand which they are selling at their
different retail prices. Whenever total Quantity in the table above is 0,
the corresponding Value should always be left blank (non-existent).
In the Low demand period only the baseload price is effective so we
should see:
Retailer 1 70
Retailer 2 50
Retailer 3 30
Retailer 4
(blank)
In the Medium demand period the baseload and shoulder prices are
effective so we should see:
Retailer 1 (70x496 + 70x1309)/1805 = 70
Retailer 2 (50x917 + 90x543)/1460 = 64.9
Retailer 3 (30x2830 + 1000x0)/2830 = 30
Retailer 4
(blank)
In the High demand period the baseload, shoulder and peak prices are
effective so we should see:
Retailer 1 (70x496 + 70x1309 + 70x922)/2727 = 70
Retailer 2 (50x917 + 90x543 + 1000x0)/1460 = 64.9
Retailer 3 (30x2830 + 1000x0 + 1000x0)/2830 = 30
Retailer 4 (990x4 +1000x0 + 1000x0)/4 =990
example: (PLoi1, PLoi2, PLoi3, PLoi4) = (70, 50, 30, 1000)
example: (PMedi1, PMedi2, PMedi3, PMedi4) = (70, 90, 1000, 1000)
example: (PHii1, PHii2, PHii3, PHii4) = (70, 1000, 1000, 990)
Rassenti et.al.
30
September 20, 2008
MISO Final Report/Draft
Calculating Demand Response under retail competition
Suppose retailer e* has a posted a baseload tier retail price in region i of PLoie* and is
willing to make a positive payment (Payi) to any customers who would be willing to
curtail their baseload demand. To calculate the demand response quantities QCLoie* for
any given payment (Payi) retailer e* is willing to offer customers in the low period :
Define P+ = Payi + PLoie*
Suppose P+ falls between the Xth and X+1th ordered prices, OPLoiX+1 < P+ ≤ OPLoiX
Define SLi(X,X+) = ((MinPLi / P+)b – (MinPLi / OPLoiX)b) for X>0
And SLi(0,0+) = (MinPLi / P+)b for X=0
1. Then for the baseload contract (which prevails in all periods, lo, med, and hi)
QCLoie* = QBasei [ShLoDie – fe1SLi(0,1) – fe2SLi(1,2) -…- fe,X+1SLi(X,X+)]
(Where e is the ordered position of e*)
Examples:
Retailer 1 who posted a baseload price of 70 is willing to pay a cost of 25 to
any of his 496 MW of baseload customers willing to curtail their demand
during any period Low, Medium or High (contract C2). Then:
P+ = Payi + PLoi1 = 25 + 70 = 95
95 falls between the 1st and 2nd ordered prices, 1000 < P+ ≤ 70
SLi(1,1+) = ((30 / 95).5 – (30 / ∞).5) = .56
QCLoi1
QCLoi1
= QBasei [ShLoDi2 – f21SLi(0,1) – f22SLi(1,1+)]
= 4243 [.117 – .18∙0 – .18∙.56] = 69
Retailer 3 who posted a baseload price of 30 is willing to pay a cost of 25 to
any of his 2830 MW of baseload customers willing to curtail their demand
during any period Low, Medium or High (contract C2). Then:
P+ = Payi + PLoi3 = 25 + 30 = 55
55 falls between the 2nd and 3rd ordered prices, 70 < P+ ≤ 50
SLi(2,2+) = ((30 / 55).5 – (30 / 70).5) = .084
QCLoi3
QCLoi3
= QBasei [ShLoDi4 – f41SLi(0,1) – f42SLi(1,2) – f43SLi(2,2+)]
= 4243 [.667 – .55∙0 – .55∙.65 – .667∙.084] = 1075
And with similar definitions for shoulder demand:
Define P+ = Payi + PMedie*
Suppose P+ falls between the Xth and X+1th ordered prices, OPMediX+1 < P+ ≤ OPMediX
Define SLi(X,X+) = ((MinPMi / P+)b – (MinPMi / OPMediX)b) for X>0
And SLi(0,0+) = (MinPMi / P+)b for X=0
Rassenti et.al.
31
September 20, 2008
MISO Final Report/Draft
we can calculate…
2. For the shoulder contract (which prevails in both med and hi periods)
QCMedie = + QShldi [ShMedDie – ge1SMi(0,1) - ge2SMi(1,2) -…- ge,X+1SMi(X,X+)]
(Where e is the ordered position of e*)
Examples:
Retailer 1 who posted a shoulder price of 70 is willing to pay a cost of 25 to
any of his 1309 MW of shoulder customers willing to curtail their demand
during any Medium or High period (contract C3). Then:
P+ = Payi + PMedi1 = 25 + 70 = 95
95 falls between the 2nd and 3rd ordered prices, 1000 < P+ ≤ 90
SMi(2,2+) = ((70 / 95).5 – (70 / ∞).5) = .86
QCMedi1 = QShldi [ShMedDi4 – g41SMi(0,1) – g42SMi(1,2) –
f43SMi(2,2+)]
QCMedi1 = 1852 [.707 – .667∙0 – .667∙0 - .667∙.86] = 247
Retailer 2 who posted a shoulder price of 90 is willing to pay a cost of 25 to
any of his 543 MW of shoulder customers willing to curtail their demand
during any Medium or High period (contract C3). Then:
P+ = Payi + PMedi2 = 25 + 90 = 115
115 falls between the 2nd and 3rd ordered prices, 1000 < P+ ≤ 90
SMi(2,2+) = ((70 / 115).5 – (70 / ∞).5) = .78
QCMedi2 = QShldi [ShMedDi3 – g31SMi(0,1) – g32SMi(1,2) –
g33SMi(2,2+)]
QCMedi2 = 1852 [.293 – .333∙0 – .333∙0 – .333∙.78] = 61
And with similar definitions for peak demand:
Define P+ = Payi + PHiie*
Suppose P+ falls between the Xth and X+1th ordered prices, OPHiiX+1 < P+ ≤ OPHiiX
Define SLi(X,X+) = ((MinPHi / P+)b – (MinPHi / OPHiiX)b) for X>0
And SLi(0,0+) = (MinPHi / P+)b for X=0
3. For the high contract (which prevails only in hi periods)
QCHiie
= + QPeaki [ShHiDie – he1SHi(0,1) - he2SHi(1,2) -…- he,X+1 SHi(X,X+)]
(Where e is the ordered position of e*)
Examples:
Rassenti et.al.
32
September 20, 2008
MISO Final Report/Draft
Retailer 1 who posted a peak price of 70 is willing to pay a cost of 25 to any
of his 922 MW of peak customers willing to curtail their demand during any
High period (contract C4). Then:
P+ = Payi + PHii1 = 25 + 70 = 95
95 falls between the 3rd and 4th ordered prices, 990 < P+ ≤ 70
SHi(3,3+) = ((70 / 95).5 – (70 / 990).5) = .59
QCHii1
= QPeaki [ShHiDi4 – h41SHi(0,1) – h42SHi(1,2) – h43SHi(2,3)
h44SHi(3,3+)]
QCHii1
= 926 [.9953 – .979∙0 – .979∙0 - .979∙.27 – .979∙.59] = 142
Retailer 4 who posted a peak price of 990 is willing to pay a cost of 200 to
any of his 4 MW of peak customers willing to curtail their demand during
any High period (contract C4). Then:
P+ = Payi + PHii4 = 200 + 990 = 1190
1190 (higher than all prices) falls between the 0th and 1st ordered prices.
1000 < P+
SHi(0,0+) = (70 / 1190).5 = .2425
= QPeaki [ShHiDi2 – h31SHi(0,0+)]
= 926 [.0057 – .021∙.2425] = 1
QCHii4
QCHii4
Under retail price competition the quantity of demand response available on a
retailer’s existing DR contract in a region must be automatically recalculated each
time any retailer in that region changes his retail price for the same demand tier
(baseload, shoulder, peak) as the DR contract.
Generators and Generator Commitment
Each generator has the following characteristics:
Type
Region
Ownership
Cost
$/Period
T
R
OCTR
T
R
Capacity Cost
$/MW/Period
CCTR
= OCTR/QmaxT
Marginal
Quantity
MW
Q1T
Q2T
Q3T
Marginal Start Up
Cost
Cost
$/MW
$
C1T
ST
C2T
C3T
Regional Cost
Adjustment
Factor
Generator type is baseload, medium or peaker.
Region in the network where the generator is installed.
Rassenti et.al.
33
September 20, 2008
FR
MISO Final Report/Draft
OCTR Ownership Cost is the fixed cost per period of building and administering a
generator of type T at location R: the generator owner is charged these costs every
period whether the generator is actively selling power or not. [These are config
parameters.]
CCTR Capacity Cost is simply the Ownership Cost divided by the maximum output
capacity (QmaxT = Q1T + Q2T + Q3T) of a generator of that type.
(QiT, CiT) The three step marginal Quantity and Cost function gives the avoidable
baseline (energy) costs per MW generated for a generator of type T: these costs
are not incurred if the generator is not any producing power. [These are config
parameters.]
Q1T
The quantity of the first step will be considered to be the generator’s minimum
load. The entire cost (Q1T · C1T) of the first step is always incurred whenever that
generator is called upon to produce any power.
C1T
The cost per MW of the first step may be specified in the config file to be greater
than the cost per MW given for the second and third steps. (This is especially true
for baseload and medium generators but not for peakers.)
ST
A generator of type T has a baseline startup cost which is incurred whenever the
generator goes from being idle in one period to producing power in the next.
[These are config parameters.]
FR
Each region R has a regional cost adjustment factor which multiplies the baseline
marginal and startup costs to give the true marginal and startup costs (C1T · FR,
C2T · FR, C3T · FR, ST · FR) for a generator of type T in region R. [These are config
parameters.]
Here are the short comparative descriptions of self versus central generator commitment:
Self Commitment Treatment (What we have been working on.): A generating unit may
offer only non-decreasing marginal price steps for its supply. The unit is committing
itself to be available by submitting the offer, and may be incorporated as part of the
economic dispatch solution at any output level. The regional spot price (RSP) from the
period’s spot market must equal or exceed the marginal offer price for a step in order to
include any part of that step in the economic dispatch. In the infrequent case where the
RSP exactly equals the submitted offer of the first step (min load) and the first step (min
load) is only partially dispatched, the generator incurs the cost of its entire first step (Q1T
· C1T), though it only receives revenue for the part dispatched: the extra power it must
produce is free to the system (we will ignore the benefit to some other generator(s) that as
a consequence gets to back off a little).
System Commitment Treatment (What needs to be added.): A generating unit may
offer a higher price for its first (min load) step than its second step, but the second
and third steps must be offered in non-decreasing order. The generating unit is
agreeing to be available and incorporated as part of the economic dispatch solution only
if it is guaranteed that its revenue from the economic dispatch of each period will exceed
the cost of starting it up (if that is required) plus the entire cost of the first step, plus the
marginal costs of all steps (2 and 3) up to the amount actually dispatched. The RSP must
Rassenti et.al.
34
September 20, 2008
MISO Final Report/Draft
equal or exceed the marginal offer price for a step in order to include any part that step in
the economic dispatch.
The two institutional treatments will operate as follows: (Let the periods of each day be
indexed by d = 1(lo), 2(med), 3(hi), 4(med))
Self Commitment Treatment
All generating units self commit by offering the system operator a three step nondecreasing offer function (q1, p1d), (q2, p2d), (q3, p3d) for each period d of the day
The system operator runs an economic dispatch (without regard to start-up costs
or minimum load constraints) that minimizes the system wide total cost of
meeting each period’s demand.
Each generator receives the RSPd for each unit of power sold q*dR in period d at
location R. (A generator assigned to sell only a part of its first step will only be
paid for that part, but will be charged the production cost of its entire first step.)
System Commit Treatment
All generating units submit to the system operator a three step offer function (q1,
p1d), (q2, p2d), (q3, p3d) for each period d of the day
the price of the first step (p1d) submitted may be higher than the price of the
second (p2d), but the second must be less than or equal to the third (p2d ≤ p3d)
The ISO has on file the regionally adjusted startup cost for each generator (which
does not change during the experiment)
The ISO computes the ‘commitment cost’ CCg of each generator g with a
maximum output capacity of Qmaxg as: CCg = (∑d (p1d ∙ q1)) / Qmaxg
The ISO orders the generators from lowest to highest CCg.
Beginning with the lowest ‘committment cost’ the ISO commits as many
generators as are necessary to produce enough power (with each of them at
maximum output) to cover 115% of the system wide peak load forecast (Forecast
= ∑R QDhiR). Thus for the set of committed generators we select the minimum
number such that:
∑g Qmaxg ≥ 1.15 ∙ Forecast
Using only the set of committed generators, and temporarily replacing the price
on the first step (p1d) by the price on the second step (p2d) whenever p2d < p1d , the
system operator runs an economic dispatch (without regard to start-up costs or
minimum load constraints) that minimizes the system wide total cost of meeting
each period’s demand.
Each generator receives the RSPd for each unit of power sold (q*d) in period d.
The ISO computes the guaranteed minimum revenue MinRevgd for generator g in
each period d given its offer curve and power sold q*d
1. If q*d < q1 then MinRevgd = p1d ∙ q1 (this holds true even if q*d = 0)
2. If q1 ≤ q*d < (q1+q2) then MinRevgd = (p1d ∙ q1) + (p2d ∙ (q*d - q1))
3. If (q1+q2) ≤ q*d then MinRevgd = (p1d ∙ q1) + (p2d ∙ q2) + (p3d ∙ (q*d –
(q1+q2)))
If the spot market compensation (q*d ∙ RSPd) for generator g of type T in region R
in period d is less than its guaranteed minimum revenue MinRevgd plus the cost of
Rassenti et.al.
35
September 20, 2008
MISO Final Report/Draft
starting up the generator (xstartgd = 0,1) if that occurred , then the committed
generator must receive a make good payment MGgd from the buyers in the
system.
If MinRevgd + xstartgd (ST∙FR) > (q*d ∙ RSPd)
then MGgd = MinRevgd + xstartgd (ST∙FR) - (q*d ∙ RSPd)
Otherwise, MGgd = 0.
Any make good payment is added to the generator’s bottom line profit for the
period.
The total make good payments for the entire system, TotMGd=∑g MGgd in period
d must be paid for by all the buyers in the system in the form of an uplift charge
per MW (Upliftd) to be added to the spot market price.
If the total quantity of power consumed in all regions of the system is TotQd, then
the uplift charge per MW is given by: Upliftd = TotMGd/TotQd and Upliftd is
added to the regional spot price RSP that each buyer pays.
Capacity Market Changes…
1. When doing regulator price intervention (RPI) in addition to a Capacity
Market the price the regulator allows the distributors to charge must take
into account the burden of regional capacity charges. Suppose
PREM is the premium per MW determined by the Capacity
Market for offering capacity to the system at < DLP.
Cap is the total capacity awarded in the Capacity Market
LoDj, MedDj, and HiDj are the current aggregate low, medium
and high period demands in each region j as given in the demand
table in the config file
PropHiDr (0< PropHiDr = HiDr / ∑j HiDj < 1) is the proportion of
the aggregate high demand that occurs in region r
ProfitMargin (0<ProfitMargin≤1) is the profit margin for the
distributors that we are setting in the config file
Freq is the frequency of regulator price adjustment (in days)
w (0<w≤1) is the weight of the most recent prices which have
occurred since the previous adjustment.
PRegr,is the previous regulated price for region r
PavgNewr be the weighted average of the set of most recent spot
prices for the last Freq days in region r
With no Capacity Market the new regulated price is given as:
Rassenti et.al.
36
September 20, 2008
MISO Final Report/Draft
(1-w) PRegr + w(1+ProfitMargin) (PavgNewr)
(You already do this!)
But with a Capacity Market the new regulated price must take into
account the capacity charges that must be paid in the region and should now
be calculated as:
(1-w) PRegr + w(1+ProfitMargin) (PavgNewr + CapacityAdjustment)
Where the CapacityAdjustment is given by:
4 x (PropHiDr x PREM x Cap) / (LoDj + 2MedDj + HiDj)
For example, suppose:
high period aggregate demands in the 3 regions are 2500, 3000, and 3500
low and medium aggregate demands in region r=2 are 1800 and 2600
Capacity Market Premium is $15 and Capacity allocated 8000
Then for region r=2 the CapacityAdjustment term that we must add to
PavgNewr before calculating the new regulated price is computed as:
= 4 x (3000/(2500+3000+3500) x 15 x 8000) / (1800 +2x2600 +3000) = 16
2. I don’t know whether Lance has covered this point with you, but in the
Capacity Market Bid display (bottom right) the current capacity available
for a distributor should always be price adjusted under RPI and retail
competition.
Commitment
Each generator has the following characteristics:
Type
Region
Ownership
Cost
$/Period
T
R
OCTR
T
Capacity Cost
$/MW/Period
CCTR
= OCTR/QmaxT
Marginal
Quantity
MW
Q1T
Q2T
Q3T
Marginal Start Up
Cost
Cost
$/MW
$
C1T
ST
C2T
C3T
Regional Cost
Adjustment
Factor
Generator type is baseload, medium or peaker.
Rassenti et.al.
37
September 20, 2008
FR
MISO Final Report/Draft
R
Region in the network where the generator is installed.
OCTR Ownership Cost is the fixed cost per period of building and administering a
generator of type T at location R: the generator owner is charged these costs every
period whether the generator is actively selling power or not. [These are config
parameters.]
CCTR Capacity Cost is simply the Ownership Cost divided by the maximum output
capacity (QmaxT = Q1T + Q2T + Q3T) of a generator of that type.
(QiT, CiT) The three step marginal Quantity and Cost function gives the avoidable
baseline (energy) costs per MW generated for a generator of type T: these costs
are not incurred if the generator is not any producing power. [These are config
parameters.]
Q1T
The quantity of the first step will be considered to be the generator’s minimum
load. The entire cost (Q1T · C1T) of the first step is always incurred whenever that
generator is called upon to produce any power.
C1T
The cost per MW of the first step may be specified in the config file to be greater
than the cost per MW given for the second and third steps. (This is especially true
for baseload and medium generators but not for peakers.)
ST
A generator of type T has a baseline startup cost which is incurred whenever the
generator goes from being idle in one period to producing power in the next.
[These are config parameters.]
FR
Each region R has a regional cost adjustment factor which multiplies the baseline
marginal and startup costs to give the true marginal and startup costs (C1T · FR,
C2T · FR, C3T · FR, ST · FR) for a generator of type T in region R. [These are config
parameters.]
System Commit Treatment
All generating units submit to the system operator a three step offer function (q1,
p1d), (q2, p2d), (q3, p3d) for each period d of the day
the price of the first step (p1d) submitted may be higher than the price of the
second (p2d), but the second must be less than or equal to the third (p2d ≤ p3d)
There should be a step limit price StepLimitP (this is a new parameter which
must be added to config file!) which controls how much the price of the first
step p1d may exceed the price of the second step p2d. Thus p1d ≤ p2d + StepLimitP.
This limit must be tested every time a generator makes an offer on his first step
under central commitment. (Initially, set StepLimit = 100)
The ISO has on file the regionally adjusted startup cost for each generator (which
does not change during the experiment)
The following algorithm for selecting committed generators must be replaced:
The ISO computes the ‘commitment cost’ CCg of each generator g with a
maximum output capacity of Qmaxg as: CCg = (∑d (p1d ∙ q1)) / Qmaxg
The ISO orders the generators from lowest to highest CCg.
Beginning with the lowest ‘committment cost’ the ISO commits as many
generators as are necessary to produce enough power (with each of them at
maximum output) to cover ForecastRatio% of the system wide peak load forecast
Rassenti et.al.
38
September 20, 2008
MISO Final Report/Draft
(Forecast = ∑R QDhiR). Thus for the set of committed generators we select the
minimum number such that:
∑g Qmaxg ≥ ForecastRatio ∙ Forecast
The new algorithm should be:
For each generator g in the entire system the ISO computes the following set of
three price quantity (u1g, v1g), (u2g, v2g), (u3g, v3g) vectors based on the three step
price offer for the high (h) period of the day:
o u1 = p1h, v1 = q1
o u2 = (p1h∙ q1 + p2h∙ q2) / (q1 + q2), v2 = q1 + q2
o u3 = (p1h∙ q1 + p2h∙ q2 + p3h∙ q3) / (q1 + q2 + q3), v2 = q1 + q2 + q3
o for example if the submitted offers for the high period for the three (p,q)
steps of a medium generator were (80, 50), (40, 150), (65, 100), then
(u1, v1) = (80, 50);
(u2, v2) = (80∙50 + 40∙150)/(50+150), 50+150) = (50, 200);
(u3, v3) = (80∙50 + 40∙150 + 65∙100)/(50+150+100), 50+150+100)
= (55, 300)
For all generators in the system order all u’s from lowest to highest.
o For example suppose the system has four generators each with the
following (u, v) vectors
G1 has (80, 50), (50, 200), (55, 300)
G2 has (90, 50), (60, 200), (40, 300)
G3 has (70, 50), (75, 200), (95, 300)
G4 has (65, 50), (45, 200), (85, 300)
o Then putting the entire set of u prices in order gives:
(40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95)
(u32, u24, u21, u31, u22, u14, u13, u23, u22, u24, u21, u31)
And ordering the corresponding set of v quantities gives:
(300, 200, 200, 200, 300, 50, 50, 200, 50, 300, 50, 300)
(v32, v24, v21, v31, v22, v14, v13, v23, v22, v24, v21, v31)
Now beginning with the lowest ‘u cost’ the ISO commits as many generators as
are necessary to produce enough power to cover ForecastRatio% of the system
wide peak load forecast (Forecast = ∑R QDhiR) at the lowest cost. Thus, the set of
committed generators produce a Total quantity such that: Total ≥ ForecastRatio ∙
Forecast. To do this cost efficiently use the following simple algorithm:
o
o
o
o
Set Total Q = 0
Step 0: If (Total ≥ ForecastRatio ∙ Forecast) Stop; otherwise, Continue
Select the next generator j from the uij list.
Check to see whether generator j was previously selected j.
If no, set Total = Total + vij; go to Step 0; [Gj committed]
If yes, and iprev > i, skip uij; go to Step 0;
If yes, and iprev < i, set Total = Total – viprev,j + vij; go to Step 0;
o For example, suppose we need Total ≥ 825:
Select u22 = 40; Total = 0 + v32 = 0+300 = 300; [G2 committed]
Rassenti et.al.
39
September 20, 2008
MISO Final Report/Draft
Select u24 = 45; Total = 300 + v24 = 500; [G4 committed]
Select u21 = 50; Total = 500 + v21 = 700; [G1 committed]
Select u31 = 55; Since G1 is previously selected (u21) and v21<v31;
set Total = 700 - v21 + v21 = 700 – 200 +300 = 800;
Select u22 = 60; Since G2 is previously selected (u32) and v32>v22;
skip u22;
Select u14 = 65; Since G4 is previously selected (u24) and v24>v14;
skip u14;
Select u13 = 70; Total = 800 + v13 = 850; [G3 committed]
850>825; Stop.
Using only the set of committed generators, and temporarily replacing the price
on the first step (p1d) by the price on the second step (p2d) whenever p2d < p1d , the
system operator runs an economic dispatch (without regard to start-up costs or
minimum load constraints) that minimizes the system wide total cost of meeting
each period’s demand.
Each generator receives the RSPd for each unit of power sold (q*d) in period d.
The ISO computes the guaranteed minimum revenue MinRevgd for generator g in
each period d given its offer curve and power sold q*d
4. If q*d = 0 and p1d ≤ p2d then MinRevgd = 0;
If q*d = 0 and p1d > p2d then MinRevgd = (p1d > p2d) ∙ q1;
5. If q*d < q1 then MinRevgd = p1d ∙ q1 (this holds true even if q*d = 0)
6. If q1 ≤ q*d < (q1+q2) then MinRevgd = (p1d ∙ q1) + (p2d ∙ (q*d - q1))
7. If (q1+q2) ≤ q*d then MinRevgd = (p1d ∙ q1) + (p2d ∙ q2) + (p3d ∙ (q*d –
(q1+q2)))
If the spot market compensation (q*d ∙ RSPd) for generator g of type T in region R
in period d is less than its guaranteed minimum revenue MinRevgd plus the cost of
starting up the generator (xstartgd = 0,1) if that occurred , then the committed
generator must receive a make good payment MGgd from the buyers in the
system.
If MinRevgd + xstartgd (ST∙FR) > (q*d ∙ RSPd)
then MGgd = MinRevgd + xstartgd (ST∙FR) - (q*d ∙ RSPd)
Otherwise, MGgd = 0.
Any make good payment is added to the generator’s bottom line profit for the
period.
The total make good payments for the entire system, TotMGd=∑g MGgd in period
d must be paid for by all the buyers in the system in the form of an uplift charge
per MW (Upliftd) to be added to the spot market price.
If the total quantity of power consumed in all regions of the system is TotQd, then
the uplift charge per MW is given by: Upliftd = TotMGd/TotQd and Upliftd is
added to the regional spot price RSP that each buyer pays.
When RPI is in effect the new regulated price must take into account the
weighted average uplift charge per MW in a region caused by the required
makegood payments. (Just as we adjust regulated price to account for capacity
Rassenti et.al.
40
September 20, 2008
MISO Final Report/Draft
charges when there is a Capacity Market.) Thus, under Central Commitment the
new regulated price NewPRegr in region r should be calculated as:
NewPRegr = (1-w) OldPRegr +
w(1+ProfitMargin) (PavgNewr + CapacityAdjustment + Makegoodr Adjustment)
Where the Makegoodr Adjustment for region r after D days is given by:
(∑Day=1,D {(∑d=1,4 Upliftd,Day ∙ Qd,Day) /(∑d=1,4 Qd,Day)}) / D
For example, suppose:
It’s been two days (D=2) since the last regulator price adjustment in region R
The per MW Uplift charges in the four periods of day 1 were ( 40, 50, 10, 0)
The per MW Uplift charges in the four periods of day 2 were ( 30, 60, 0, 0)
The aggregate quantity demanded Qd,Day in region r for the four periods d of
day 1 were (2000, 2400, 2600, 2400)
The aggregate quantity demanded Qd,Day in region r for the four periods of day
2 were (2200, 2600, 2800, 2600)
Then for region r the Makegoodr Adjustment would be:
{(40x2000+50x2400+10x2600+0x2400)/(2000+2400+2600+2400) +
(30x2200+60x2600+0x2800+0x2600)/(2200+2600+2800+2600)}/2 = 22.9
MISO Capacity Market Implementation
This capacity market we will use will be designed to simply provide a
capacity (‘bonus’) payment per megawatt of capacity offered to the market,
whether it is consumed or not. That megawatt must be offered at or below a
pre-specified ceiling price to be eligible to collect the capacity payment.
That ceiling price P C will be declared to be the marginal fuel cost for a new
peaking generator at full capacity. Here is a summary of the capacity market
institutional procedure:
0) Using its ‘best forecast’ the system operator selects C* the adequate
installed MW capacity required for the entire system to satisfy the ‘worst
case’ peak demand for the year which will begin 2 years hence. Because we
know the exact demand functions that will be implemented in each year and
we want to give the capacity market its best shot, we will let the
‘omniscient’ system operator provide forecasts which are perfect (erry%,
where erry is config parameter giving a preset system forecast error for each
year y). We do not want to let distributors estimate their future peak capacity
demands as there will be too much variance and gaming going on especially
under retail competition. This will reduce the time it takes to complete the
capacity market.
Rassenti et.al.
41
September 20, 2008
MISO Final Report/Draft
1) Hold annual uniform price sealed bid call auctions to be resolved one year
in advance in order to purchase C*, the adequate installed capacity to meet
the ‘worst case’ peak demand. Use a location adjusted optimal power flow to
determine the least cost adequate capacity allocation. At any time during the
year prior to the price determination any provider of capacity may submit a
sealed bid to be considered in the final call. Determine the location specific
capacity clearing prices, PL * (the fixed price per MW per period for
providing capacity at L below P C whether it is consumed or not) and the
quantities Qi* which each provider i will be expected to provide.
2) At the end of each period for which capacity was provided according to
the terms decided in the auction a year previously, show the provider an
accounting line item indicating his capacity payment PL * x qi for each
megawatt qi offered into the system ≤Qi*.
3) If the spot price in a given period exceeds P C the ceiling price, then check
to see if any winners of the capacity auction did not ante up their full quota
Qi* at a price ≤ P C. If there are some violators for whom qi < Qi* they must
pay a penalty which can be calculated in the following manner.
Hypothetically rerun the current spot market as if all violators had lived up
to the terms of their capacity contracts, and then compare the total cost of
delivered power in the hypothetical and actual spot markets. The violators
will be responsible to pay the total difference (excess cost) to the buyers
prorated in proportion to their deficiencies Qi* - qi . Show the penalty as a
separate line item on the providers accounting sheet.
4) Load serving entities pay the total daily capacity costs to all capacity
providers in proportion to their realized daily peak load: show each LSE its
total capacity costs once a day, and break it down to cost per megawatt
consumed.
Rassenti et.al.
42
September 20, 2008
© Copyright 2026 Paperzz