Peak Shaving and Price Saving Algorithms for self-generation David Craigie...
-
Upload
duane-walton -
Category
Documents
-
view
237 -
download
3
Transcript of Peak Shaving and Price Saving Algorithms for self-generation David Craigie...
Peak Shaving and Price Saving
Algorithms for self-generation
David Craigie
_______________________________________________________Supervised by: Prof. Andy Philpott Dr Golbon
Zakeri
Today• Demand side management
• Contracting & Self-Generation
• The Peak Shaving Problem
• The Peak Shaving Algorithm
• Example using UoA demand data
• The stochastic problem
• Conclusions
• Future Work
• Questions
1/25
Demand Side Management
• Conservation
• Load Shifting
• Contracting
• Self-Generation
2/25
Contracting & Self-Generation
• CFDs don’t alter optimal self-generation strategy:
Charge (in period t) =
where dt = demand realised in period t
pt = spot market price in period t
dc = swap volume
pc = strike price
(based on Mercury Energy’s Swap Contracts)
3/25
)( tcctt ppdpd
The Peak Shaving Problem
The deterministic peak shaving problem can be stated:
Given a load profile, price profile and a capacity of generation, find the optimal allocation of a limited quantity of generator fuel with a sunk cost in order to minimize the cost of electricity consumption.
Or:
Allow for an unlimited amount of fuel but at a given unit cost. However, the algorithm is the same in either case, only the stopping criterion changes.
4/25
The Peak Shaving Problem
• Objective:
where:
di = demand in period i [MWh]
pi = spot market price in period i [$/MWh]
si = fuel used in period i [L]e = generator efficiency [MWh/L]c = maximum demand charge [$/MWh]N = number of periodsmd = average of m highest load realisations during N [MWh]
By setting e = 1 and removing constant terms:
5/25
mdcpsedN
iiii ..min
1
mdcspN
iii .min
1
The Peak Shaving Problem
• Constraints:(i) Total fuel allocation cannot exceed available quantity:
(ii) Fuel allocation in any period cannot exceed generator capacity:
(iii) The maximum demand quantity must be equal to the greatest sum of m demands after generation:
where Mi is the set giving the ith way of choosing m periods from a
possible N.
6/25
TsN
ii
1
Niksi ,...,2,1
mN
Mjjj Cisdmd
i
,...,2,1)(
The Peak Shaving Algorithm
The combinatorial number of maximum demand constraints makes the Peak Shaving Problem intractable for the RSM.
However, we can use a greedy algorithm that will give the same solution as the RSM but without the computational cost.
At every iteration the algorithm will choose a period to allocate fuel to that will give the maximum savings. It will cease allocation to that period when either capacity of the generator is reached, fuel supply is exhausted or savings need to be recalculated.
7/25
Peak Shaving Example
Suppose we will be charged for the average of the highest 2 load realizations in the following five period demand profile, at a rate of $30/MWh:
p1=72 p2=68 p3=60 p4=65 p5=85 [$/MWh]
Initial Cost = + 15(12+11) = $3,317
8/25
5
1iii pd
Initial Load Profile
0
2
4
6
8
10
12
14
1 2 3 4 5
period
Lo
ad (
MW
h)
Peak Shaving ExampleSuppose we have 16MWh worth of fuel, but the capacity in any one period is 4MWh. We seek the allocation of fuel among the 5 periods that will obtain the greatest savings:
Iteration 1
Decision: Allocate 4MWh to period 5 (12MWh remaining)
9/25
Period Load Price MDSavin
g Range Alloc.
1 6 72 N 72 4 0
2 10 68 N 68 4 0
3 12 60 Y 75 2 0
4 11 65 Y 80 1 0
5 5 85 N 85 4 0
Peak Shaving ExampleIteration 2
Decision: Allocate 1MWh to period 4 (11MWh remaining)Current Load Profile:
10/25
Load Profile after 2 Iterations
0
2
4
6
8
10
12
14
1 2 3 4 5
period
Lo
ad (
MW
h)
Period Load Price MDSavin
g Range Alloc.
1 6 72 N 72 4 0
2 10 68 N 68 4 0
3 12 60 Y 75 2 0
4 11 65 Y 80 1 0
5 1 85 N 0 0 4
Peak Shaving ExampleIteration 3
*Saving for {2,4} = 1/2 x (68 + 65) + 1/2 x 15Decision: Allocate 2MWh to period 3 (9MWh remaining)
11/25
Load Profile after 3 Iterations
0
2
4
6
8
10
12
1 2 3 4 5
period
Lo
ad (
MW
h)
Period Load Price MD Saving Range Alloc.
1 6 72 N 72 4 0
2 10 68 N 68 4 0
3 12 60 Y 75 2 0
4 10 65 N 65 3 1
5 1 85 N 0 0 4
{2,4} 74* 3
Peak Shaving ExampleIteration 4
*Saving for {2,3,4} = 1/3 x (68 + 65 + 60) + 2/3 x 15
In general the savings from an n-period MD set tie are:1/n x (p1+ p2 + … + pn) + (n-1/n) x c
Thus the best tie to consider will be the highest priced n periods where n maximizes the above expression
Decision: Allocate 2MWh to periods 2,3 and 4 (3MWh remaining)
12/25
Period Load Price MD Saving Range Alloc.
1 6 72 N 72 4 0
2 10 68 N 68 4 0
3 10 60 N 60 2 2
4 10 65 N 65 3 1
5 1 85 N 0 0 4
{2,4} 74 2
{2,3,4} 74.33* 2
Peak Shaving ExampleIteration 5
Decision: Allocate 1MWh to periods 2 and 4 (1MWh remaining)Iteration 6
Decision: Allocate 1MWh to period 1 - STOP
Period Load Price MD Saving Range Alloc.
1 6 72 N 72 3 0
2 8 68 N 68 2 2
3 8 60 N 0 0 4
4 8 65 N 65 1 3
5 1 85 N 0 0 4
{2,4} 74 1
13/25
Period Load Price MD Saving Range Alloc.
1 6 72 N 72 1 0
2 7 68 N 68 1 3
3 8 60 Y 0 0 4
4 7 65 N 0 0 4
5 1 85 N 0 0 4
Peak Shaving ExampleBefore:
Cost = $3,317
After:
Cost = $2,081
14/25
Initial Load Profile
0
2
4
6
8
10
12
14
1 2 3 4 5
period
Lo
ad (
MW
h)
Final Load Profile
0
2
4
6
8
10
12
14
1 2 3 4 5
period
Lo
ad (
MW
h)
UoA ExampleUsing demand data from 18 Symonds St (Engineering Building) for the month of August (1488 periods) and price data from OTA reference node.
Using a 100kW generator at 3.6kWh/L with 14000L of fuel. Maximum demand charge of $8/kWh multiplied by the average of the 10 highest load realisations.
Before: $36,164 After: $32,102
Cost = $2,081
15/25
Change in max load periods
520
530
540
550
560
570
580
590
1 2 3 4 5 6 7 8 9 10 11 12 13 14
loa
d (
kW
h)
Before
After
Dual Simplex ApproachWe can solve a relaxed version of the LP by removing all the maximum demand constraints. This solution will (most likely) be infeasible in the original problem, but we know at least one of the constraints it violates, so we can add that constraint and resolve using the Dual Simplex Algorithm.
We continue to add constraints until they cease to change the solution. By doing this we will obtain all the binding constraints from the optimal solution of the original problem.
Depending on how many of the maximum demand constraints are binding in the optimal solution of the original LP, this may be a faster approach.
Cost = $2,081
16/25
Dual Simplex ApproachIteration 1:
Iteration 2:
Iteration 3:
etc…
Cost = $2,081
iMjjj
i
N
ii
N
iii
sdmd
Niks
Ts
mdcsp
)(
,...,2,1
s.t.
.min
1
1
17/25
k
i
Mjjj
Mjjj
i
N
ii
N
iii
sdmd
sdmd
Niks
Ts
mdcsp
)(
)(
,...,2,1
s.t.
.min
1
1
Niks
Ts
mdcsp
i
N
ii
N
iii
,...,2,1
s.t.
.min
1
1
Stochastic Problem Scenario tree for prices (3 periods only)…
Cost = $2,081
18/25
S1
S21
S22
S31
S32
Stochastic Problem N = 3, m = 2. Complete Stochastic LP formulation:
Cost = $2,081
19/25
)()(
)()(
)()(
)()(
)()(
)()(
,
s.t.
min
3232222
323112
222112
3132121
313111
212111
32221
31211
2211,
sdsdmd
sdsdmd
sdsdmd
sdsdmd
sdsdmd
sdsdmd
jiks
Tsss
Tsss
mdcmdcs
ij
jiijij
Stochastic ProblemUse Dual Simplex approach:
Iteration 1:
Iteration 2:
etc…
Cost = $2,081
20/25
jiks
Tsss
Tsss
mdcmdcs
ij
jiijij
,
s.t.
min
32221
31211
2211,
)()(
)()(
,
min
313112
212111
32221
31211
2211,
sdsdmd
sdsdmd
jiks
Tsss
Tsss
mdcmdcs
ij
jiijij
s.t.
Stochastic ProblemDynamic Programming Approach:
Cost = $2,081
))},(,max{,(
.)}(,max{.)(min),,(
1 jsdmdsSV
mdcsdmdcpsdimdSV
ttttt
ttjtt
jij
stt
t
21/25
variable)(decision period in allocated fuel
charge demand maximum
state to state from transition ofy probabilit the
state in pricemarket spot
period in demand
far so realised demand maximum
period ofstart at remaining fuel
:where
ts
c
ji
ip
td
md
tS
t
ij
i
t
t
Stochastic ProblemDynamic Programming Approach:
This approach works when the size of the maximum demand set is 1 (as in the recursion above) or close to 1. However when m=10, we need to store 10 demands and consequently the state space “explodes” (curse of dimensionality).
To overcome this problem, we might consider storing the 1st and 10th highest demands and interpolating between these.
Cost = $2,081
))},(,max{,(
.)}(,max{.)(min),,(
1 jsdmdsSV
mdcsdmdcpsdimdSV
ttttt
ttjtt
jij
stt
t
22/25
Conclusions• Under normal market conditions, self generation using
diesel generators is not economical.
• However, if fuel is needed as a backup supply and is approaching expiration there is an optimal way to use it.
• Formulated as an LP the Peak Shaving problem is intractable for the RSM.
• A relatively simply greedy algorithm exists that will determine the optimal allocation.
• Alternatively, a dual simplex approach can be employed.
• The stochastic problem is significantly larger and requires a large number of constraints if formulated using an SLP or an enormous state space if formulated as a DP.
23/25
Future Work• Is the stochastic problem more sensitive to demand or price uncertainty?
Are we better to use the SLP and trim the scenario tree, or the DP and interpolate the state space?
• Is back-up generation really worth it? Given that peak shaving can reduce the cost of this security of supply, how risk averse does one need to be for back-up generation to be a sensible strategy.
• The level of contracting does not alter the optimal self generation plan but the converse is not necessarily true. Does the added security of back-up generation alter the optimal contract – spot mix.
• Other demand side questions:
– Would a liquid hedge market enable large consumers to more effectively manage price risk and at less cost?
– Can better contracts be negotiated by consumers acting as a group?
– What about demand side bids?
– Every little bit counts: Are there optimal conservation strategies? How valuable are they?
24/25
Thank You For Listening. Questions?
25/25