KTH ROYAL INSTITUTE OF TECHNOLOGY
Optimal Order Strategies on the Day- Ahead Electricity Market - - PowerPoint PPT Presentation
Optimal Order Strategies on the Day- Ahead Electricity Market - - PowerPoint PPT Presentation
KTH ROYAL INSTITUTE OF TECHNOLOGY Optimal Order Strategies on the Day- Ahead Electricity Market Martin Biel 20/9-2017 Outline Background Problem Description Contribution Optimal Strategies Outlook on Future Work 2/39 Outline Background
Outline Background Problem Description Contribution Optimal Strategies Outlook on Future Work
2/39
Outline Background Problem Description Contribution Optimal Strategies Outlook on Future Work
2/39
Background - Motivation
◮ Simulation of hydro power operations → Decision-support
3/39
Background - Motivation
◮ Simulation of hydro power operations → Decision-support
◮ Price forecasts ◮ Irregular power production: solar and wind ◮ Nuclear power phase-out
3/39
Background - Motivation
◮ Simulation of hydro power operations → Decision-support
◮ Price forecasts ◮ Irregular power production: solar and wind ◮ Nuclear power phase-out
◮ Common: Trade-off between accuracy and computation time
3/39
2017 2041
Figure: Simulations of hydro power operations
Background - Aim Provide reliable decision-support in real time
5/39
Background - Aim Provide reliable decision-support in real time
◮ Accurate models ◮ Fast computations
5/39
Background - Aim Provide reliable decision-support in real time
◮ Accurate models
◮ Optimal model reductions
◮ Fast computations
5/39
Background - Aim Provide reliable decision-support in real time
◮ Accurate models
◮ Optimal model reductions
◮ Fast computations
◮ Scalable algorithms that make efficient use of commodity hardware
5/39
Backgound - Approach Stochastic programming for hydro power operations:
◮ Optimal orders on the day-ahead market ◮ Maintenance scheduling ◮ Long-term investments ◮ Wind/solar uncertainties
6/39
Backgound - Approach Stochastic programming for hydro power operations:
◮ Optimal orders on the day-ahead market ◮ Maintenance scheduling ◮ Long-term investments ◮ Wind/solar uncertainties
Improvements
◮ Multiple scenarios → More accurate models ◮ Parallel decomposition → Faster computations
6/39
Backgound - Approach Stochastic programming for hydro power operations:
◮ Optimal orders on the day-ahead market ◮ Maintenance scheduling ◮ Long-term investments ◮ Wind/solar uncertainties
Improvements
◮ Multiple scenarios → More accurate models ◮ Parallel decomposition → Faster computations
6/39
Outline Background Problem Description Contribution Optimal Strategies Outlook on Future Work
6/39
Problem Description - Scandinavian Electricity Market Electricity markets in Scandinavia deregulated since 90s
◮ Norway 1991 ◮ Sweden 1996 ◮ Finland 1998 ◮ Denmark 2000
7/39
Problem Description - Scandinavian Electricity Market Electricity markets in Scandinavia deregulated since 90s
◮ Norway 1991 ◮ Sweden 1996 ◮ Finland 1998 ◮ Denmark 2000
Energy volumes actively traded on a competitive market: Nord Pool
◮ Day-ahead market ◮ Intraday market
7/39
Problem Description - Electricity Market Day- Ahead Actor 1 P1 E1 Actor 2 P2 E2
8/39
Problem Description - Electricity Market Day- Ahead Actor 1 P1 E1 Actor 2 P2 E2 Market closes
8/39
Problem Description - Electricity Market Day- Ahead Actor 1 P1 E1 Actor 2 P2 E2 Market closes Actor 1 Actor 2 Balance responsible PM,E1 Balance responsible PM,E2 Next day
8/39
Problem Description - Electricity Market Day- Ahead Actor 1 P1 E1 Actor 2 P2 E2 Market closes Actor 1 Actor 2 Balance responsible PM,E1 Balance responsible PM,E2 Next day Intraday P E P E
8/39
Problem Description - The Day-Ahead Market Order Types
◮ Single Hourly Order
◮ Price independent ◮ Price Dependent
◮ Block Order
◮ Regular ◮ Linked
◮ Exclusive Group ◮ Flexible Order
9/39
Problem Description - The Day-Ahead Market Order Types
◮ Single Hourly Order
◮ Price independent ◮ Price Dependent
◮ Block Order
◮ Regular ◮ Linked
◮ Exclusive Group ◮ Flexible Order
9/39
Problem Description - Single Order
0.00 203.32 406.63 609.95 813.27
Order Volume [MWh/h]
0.00 17.49 34.97 52.46
Price [EUR/MWh]
Order Curve
Price Independent Order Price Dependent Order
Figure: Single hourly order 10/39
Problem Description - Single Order
0.00 203.32 406.63 609.95 813.27
Order Volume [MWh/h]
0.00 17.49 34.97 52.46
Price [EUR/MWh]
Order Curve
Price Independent Order Price Dependent Order Trading Outcome
Figure: Interpolated energy volume for a given market price 10/39
15 Hour
Block Order
36.85 [EUR/MWh] 3.37 [MWh/h]
Figure: Block order between 00:00-15:00
15
Hour
21.52 28.47 35.42 42.37
Price [EUR/MWh]
Block Order
36.85 [EUR/MWh] 3.37 [MWh/h]
Rejected Order Market price
Figure: Rejected after market price settlement
15
Hour
25.07 27.29 29.51 31.73 33.95 36.17 38.40 40.62 42.84 45.06 47.28 49.50
Price [EUR/MWh]
Block Order
36.85 [EUR/MWh] 3.37 [MWh/h]
Accepted Order Market price
Figure: Accepted after market price settlement
Problem Description - Optimal Order Strategies
◮ Optimal orders given price forecasts ◮ Price taking hydro power producer ◮ Next day production governed by hydroelectric model
12/39
Outline Background Problem Description Contribution Model Framework Stochastic Day-Ahead Model Optimization Algorithms Optimal Strategies Outlook on Future Work
12/39
Outline Background Problem Description Contribution Model Framework Stochastic Day-Ahead Model Optimization Algorithms Optimal Strategies Outlook on Future Work
12/39
Contribution - Model Framework Data
◮ Physical data of Swedish hydro power stations
◮ Topologies ◮ Capacitites ◮ Flow times
◮ Financial data from Nord Pool
◮ historic prices
13/39
Contribution - Model Framework Data
◮ Physical data of Swedish hydro power stations
◮ Topologies ◮ Capacitites ◮ Flow times
◮ Financial data from Nord Pool
◮ historic prices
Julia: JuMP + StructJuMP
◮ Domain-specific modeling language for mathematical optimization ◮ Optimization models can be processed programatically
13/39
HydroModels.jl
# Variables # ======================================================== @variable ( internalmodel , xt_d [ i = model . bids , t = model . hours ] >= 0) @variable ( internalmodel , yt [ t = model . hours ] >= 0) @variable ( internalmodel ,H[ t = model . hours ] >= 0) # Define
- bjective
# ======================================================== @objective ( internalmodel , Max, n e t _ p r o f i t + value_of_stored_water ) # Constraints # ======================================================== # Load balance @constraint ( internalmodel , loadbalance [ s = model . scenarios , t = model . hours ] , yt [ s , t ] + sum( yb [ s , b ] for b = f i n d (A− >in ( t ,A) , model . hours_per_block ) ) − H[ s , t ] == z_up [ s , t ] − z_do [ s , t ] )
HydroModels.jl
# Variables # ======================================================== @variable ( internalmodel , xt_d [ i = model . bids , t = model . hours ] >= 0) @variable ( internalmodel , yt [ t = model . hours ] >= 0) @variable ( internalmodel ,H[ t = model . hours ] >= 0) # Define
- bjective
# ======================================================== @objective ( internalmodel , Max, n e t _ p r o f i t + value_of_stored_water ) # Constraints # ======================================================== # Load balance @constraint ( internalmodel , loadbalance [ s = model . scenarios , t = model . hours ] , yt [ s , t ] + sum( yb [ s , b ] for b = f i n d (A− >in ( t ,A) , model . hours_per_block ) ) − H[ s , t ] == z_up [ s , t ] − z_do [ s , t ] )
+
HydroModels.jl
# Variables # ======================================================== @variable ( internalmodel , xt_d [ i = model . bids , t = model . hours ] >= 0) @variable ( internalmodel , yt [ t = model . hours ] >= 0) @variable ( internalmodel ,H[ t = model . hours ] >= 0) # Define
- bjective
# ======================================================== @objective ( internalmodel , Max, n e t _ p r o f i t + value_of_stored_water ) # Constraints # ======================================================== # Load balance @constraint ( internalmodel , loadbalance [ s = model . scenarios , t = model . hours ] , yt [ s , t ] + sum( yb [ s , b ] for b = f i n d (A− >in ( t ,A) , model . hours_per_block ) ) − H[ s , t ] == z_up [ s , t ] − z_do [ s , t ] )
+ =
data = HydroModelData ( " data / plantdata . csv " , " data / spotpricedata . csv " ) dayahead = DayAheadModel ( data ,5 , " Ljusnan " ) plan ! ( dayahead )
Outline Background Problem Description Contribution Model Framework Stochastic Day-Ahead Model Optimization Algorithms Optimal Strategies Outlook on Future Work
14/39
Contribution - Stochastic Day-Ahead Model maximize Profit + Water Value − Balance Cost subject to Day-Ahead Orders Physical Limitations Economic/Legal Limitations
15/39
Contribution - Stochastic Day-Ahead Model Day-Ahead Orders - x ∈ X
◮ Indices t ∈ T := {1, . . . , 24}, b ∈ B := {b = (ta, . . . , tb) : ti ∈ T} ◮ Price independent: xi t ≥ 0 ◮ Price dependent: 0 ≤ xd i,t ≤ xd i,t+1 ◮ Block: xb j,b ≥ 0
16/39
Contribution - Stochastic Day-Ahead Model Day-Ahead Orders - x ∈ X
◮ Indices t ∈ T := {1, . . . , 24}, b ∈ B := {b = (ta, . . . , tb) : ti ∈ T} ◮ Price independent: xi t ≥ 0 ◮ Price dependent: 0 ≤ xd i,t ≤ xd i,t+1 ◮ Block: xb j,b ≥ 0
Scenario Outcomes - y ∈ Y(x, ξ) yt = xi
t + ρξ t − pi
pi+1 − pi xd
i+1,t + pi+1 − ρξ t
pi+1 − pi xd
i,t,
pi ≤ ρξ
t ≤ pi+1
yb =
¯ j(b)
- j=1
xj,b, ¯ j(b) = max
- i : pi ≤ 1
|b|
- t∈b
ρξ
t
- 16/39
Contribution - Stochastic Day-Ahead Model Next Day Production - h ∈ H(y)
◮ Indices p ∈ P := {All power stations operable by the producer} ◮ Water discharge/spillage: 0 ≤ Qp,t ≤ Qp, Sp,t ≥ 0 ◮ Reservoir content: 0 ≤ Mp,t ≤ Mp ◮ Energy production: Hp,t ≥ 0 ◮ Local inflow/outflow: Vp ◮ Power imbalances: z+ t , z− t ≥ 0
17/39
Contribution - Stochastic Day-Ahead Model Next Day Production - h ∈ H(y)
◮ Indices p ∈ P := {All power stations operable by the producer} ◮ Water discharge/spillage: 0 ≤ Qp,t ≤ Qp, Sp,t ≥ 0 ◮ Reservoir content: 0 ≤ Mp,t ≤ Mp ◮ Energy production: Hp,t ≥ 0 ◮ Local inflow/outflow: Vp ◮ Power imbalances: z+ t , z− t ≥ 0
Load Balance L(y, h) : yt +
- b∈B:t∈b
yb −
- p
Ht = z+
t − z− t
17/39
Qp,t [HE] Hp,t [MWh]
Hp,t =
1 Q p,t,1
Hp,t =
2 Q p,t,2
Hp,t =
3 Q p,t,3
Figure: Piecewise linear production equivalent
Contribution - Stochastic Day-Ahead Model Hydro power production
Qp,t [HE] Hp,t [MWh]
Hp,t = 1 Q p,t,1 Hp,t = 2 Q p,t,2 Hp,t = 3 Q p,t,3
Figure: Piecewise linear production equivalent
→ Hp,t =
- s
µp,sQp,t,s
18/39
Contribution - Stochastic Day-Ahead Model Hydro power production
Qp,t [HE] Hp,t [MWh]
Hp,t = 1 Q p,t,1 Hp,t = 2 Q p,t,2 Hp,t = 3 Q p,t,3
Figure: Piecewise linear production equivalent
→ Hp,t =
- s
µp,sQp,t,s Hydrological balance Mp,t = Mp,t−1 − Qp,t − Sp,t +
- pq∈Qu
Qpq,t−τpq +
- ps∈Su
Sps,t−τps + Vp
18/39
Contribution - Stochastic Day-Ahead Model Water value W(h) = λf
- p
Mp,24
- pq∈Qd,s
µpq,s
19/39
Contribution - Stochastic Day-Ahead Model Water value W(h) = λf
- p
Mp,24
- pq∈Qd,s
µpq,s Profit Π(y) =
- t
ρξ
t yt +
- b
|b|¯ ρξ
byb −
- t
(λ+
t z+ t − λ− t z− t )
19/39
Contribution - Stochastic Day-Ahead Model Water value W(h) = λf
- p
Mp,24
- pq∈Qd,s
µpq,s Profit Π(y) =
- t
ρξ
t yt +
- b
|b|¯ ρξ
byb −
- t
(λ+
t z+ t − λ− t z− t )
Objective Q(y, h, ξ) = W(h) + Π(y)
19/39
Contribution - Stochastic Day-Ahead Model Complete Model min Eξ [Q(y, h, ξ)] s.t. x ∈ X y ∈ Y(x, ξ) h ∈ H(y) L(y, h) = 0
20/39
Outline Background Problem Description Contribution Model Framework Stochastic Day-Ahead Model Optimization Algorithms Optimal Strategies Outlook on Future Work
20/39
Contribution - Optimization Algorithms Benders decomposition for stochastic programming
21/39
Contribution - Optimization Algorithms Benders decomposition for stochastic programming
◮ L-Shaped [Van Slyke,Wets]
21/39
Contribution - Optimization Algorithms Benders decomposition for stochastic programming
◮ L-Shaped [Van Slyke,Wets] ◮ Regularized Decomposition [Ruszczy´
nski]
21/39
Contribution - Optimization Algorithms Benders decomposition for stochastic programming
◮ L-Shaped [Van Slyke,Wets] ◮ Regularized Decomposition [Ruszczy´
nski]
◮ Trust-Region L-Shaped [Linderoth,Wright]
21/39
Contribution - Optimization Algorithms Benders decomposition for stochastic programming
◮ L-Shaped [Van Slyke,Wets] ◮ Regularized Decomposition [Ruszczy´
nski]
◮ Trust-Region L-Shaped [Linderoth,Wright]
LShaped.jl ls = LShapedSolver(model,x0) rls = RegularizedLShapedSolver(model,x0) trls = TrustRegionLShapedSolver(model,x0)
21/39
Contribution - Parallel Optimization Algorithms The algorithms are cutting-plane methods:
◮ Solve subproblems and generate cutting-planes ◮ Update and resolve a master problem
min cTx + Eξ
- min
y∈Y(x) Q(y, ξ)
- min
cTx +
n
- i=1
θi s.t. x ∈ X → s.t. x ∈ X ∂Qix + θi = qi
22/39
Contribution - Parallel Optimization Algorithms The algorithms are cutting-plane methods:
◮ Solve subproblems and generate cutting-planes ◮ Update and resolve a master problem
min cTx + Eξ
- min
y∈Y(x) Q(y, ξ)
- min
cTx +
n
- i=1
θi s.t. x ∈ X → s.t. x ∈ X ∂Qix + θi = qi Readily extendable to asynchronous variants
◮ Master problem is solved on a master node ◮ Subproblems are distributed among workers
22/39
Contribution - Parallel Optimization Algorithms Idea to exploit structure and make use of commodity hardware
23/39
Contribution - Parallel Optimization Algorithms Idea to exploit structure and make use of commodity hardware
◮ Linear subproblems have the same underlying matrix structure
23/39
Contribution - Parallel Optimization Algorithms Idea to exploit structure and make use of commodity hardware
◮ Linear subproblems have the same underlying matrix structure
◮ LU factorize once and store on GPU ◮ Reuse for efficient linear solves during simplex iterations
23/39
Contribution - Summary
◮ HydroModels.jl
◮ Possible to extend to other models of hydro power operations
◮ Day-Ahead Model
◮ Optimization formulation ◮ Visualization tools
◮ LShaped.jl
◮ 3 fully implemented serial L-Shaped variants ◮ 1 parallel implementation (work in progress)
24/39
Contribution - Summary
◮ HydroModels.jl
◮ Possible to extend to other models of hydro power operations ◮ Modular
◮ Day-Ahead Model
◮ Optimization formulation ◮ Visualization tools
◮ LShaped.jl
◮ 3 fully implemented serial L-Shaped variants ◮ 1 parallel implementation (work in progress) ◮ Modular
24/39
Outline Background Problem Description Contribution Optimal Strategies Example 1: Ljusnan Example 2: All rivers Outlook on Future Work
24/39
Outline Background Problem Description Contribution Optimal Strategies Example 1: Ljusnan Example 2: All rivers Outlook on Future Work
24/39
50 100 km
LJUSNAN
Teckenförklaring: Regleringsdamm Kraftverk
Figure: Courtesy of VRF (http://www.vattenreglering.se/)
Example 1: Ljusnan
◮ 21 power stations ◮ 5 price curves from historic data
26/39
Example 1: Ljusnan
◮ 21 power stations ◮ 5 price curves from historic data
Day-Ahead model with:
◮ 9305 linear constraints ◮ 18274 variables
26/39
Example 1: Single Order
0.00 203.32 406.63 609.95 813.27
Order Volume [MWh/h]
0.00 17.49 34.97 52.46
Price [EUR/MWh]
Order Curve
Price Independent Order Price Dependent Order
Figure: Single order during the first hour 27/39
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Hour
0.00 17.49 34.97 52.46 69.94
Price [EUR/MWh]
Single Orders
0.0 23.33 93.50 0.0 38.73 0.0 79.33 0.0 88.86 0.0 112.9 25.20 0.0 33.43 0.0 667.1 0.0 250.9 717.5 613.6 0.0 99.07 0.0 730.9 728.8 0.0 264.4 0.0 474.6 0.0 731.4 11.50 0.0 723.2 275.0 0.0 455.4 588.9 0.0 135.2 554.6 0.0 142.8 0.0 710.8 247.6 0.0 93.13 0.0 50.86 0.0 0.0 246.1 0.0 368.9 0.0 17.05 Independent Volume [MWh] Dependent Volumes [Mwh]
Figure: All single orders in optimal strategy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Hour
0.00 10.11 20.21 30.32 40.43 50.53 60.64 70.74
Price [EUR/MWh]
Single Orders
38.62 37.68 77.19 86.36 110.0 25.20 32.69 662.1 717.5 613.6 98.88 744.7 728.8 13.94 264.4 474.6 731.4 11.50 723.2 275.0 455.4 588.9 141.5 554.6 179.6 709.4 247.6 93.13 50.86 60.30 246.1 366.1 16.77 Independent Volume [MWh] Dependent Volumes [Mwh]
Accepted Orders Rejected Orders Market price
Figure: Single order outcome of optimal strategy, for a given price curve
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Hour
Block Orders
19.37 369.4 19.37 253.6 36.85 3.37 36.85 0.59 36.85 16.71 36.85 3.30 36.85 7.56 36.85 0.31 36.85 0.83 36.85 6.50 36.85 4.96 Price [EUR/MWh] Volume [MWh/h]
Figure: All block orders in optimal strategy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Hour
21.73 24.46 27.18 29.91 32.64 35.36 38.09 40.82 43.54 46.27 49.00
Price [EUR/MWh]
Block Orders
42.06 369.4 41.25 253.6 37.11 0.59 45.80 3.30 44.23 7.56 39.29 0.31 39.13 0.83 36.92 6.50 37.80 4.96 Price [EUR/MWh] Volume [MWh/h]
Accepted Orders Rejected Orders Market price
Figure: Block order outcome of optimal strategy, for a given price curve
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Hour
0.33 86.33 172.33 258.34 344.34 430.34 516.34 602.34 688.34
Energy Volume [MWh]
H Hmax H_2 H_3 H_4 H_5
Figure: Energy production in all scenarios
Outline Background Problem Description Contribution Optimal Strategies Example 1: Ljusnan Example 2: All rivers Outlook on Future Work
32/39
Example 2: All rivers
◮ 257 power stations ◮ 20 price curves from historic data
33/39
Example 2: All rivers
◮ 257 power stations ◮ 20 price curves from historic data
Day-Ahead model with:
◮ 376700 linear constraints ◮ 748043 variables
33/39
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Hour
0.00 29.85 59.69 89.54
Price [EUR/MWh]
Single Orders
0.0 1.21e+04 0.0 3.11e+03 0.0 2.17e+03 0.0 2.80e+03 0.0 1.10e+04 0.0 1.38e+04 0.0 478.3 1.34e+04 0.0 1.07e+04 1.33e+04 0.0 9.00e+03 1.37e+04 0.0 9.62e+03 1.31e+04 0.0 3.35e+03 1.41e+04 0.0 1.47e+04 0.0 1.48e+04 0.0 1.43e+04 0.0 1.42e+04 0.0 5.18e+03 1.38e+04 0.0 1.41e+04 0.0 4.31e+03 1.40e+04 0.0 1.14e+04 1.33e+04 0.0 8.58e+03 1.32e+04 0.0 1.32e+04 0.0 1.24e+04 0.0 1.04e+04 0.0 2.47e+03 Independent Volume [MWh] Dependent Volumes [Mwh]
Figure: All single orders in optimal strategy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Hour
Block Orders
4.49 500.0 4.49 500.0 4.49 487.5 34.34 487.7 34.34 500.0 34.34 500.0 64.19 500.0 64.19 500.0 64.19 494.9 64.19 500.0 64.19 500.0 64.19 500.0 64.19 500.0 Price [EUR/MWh] Volume [MWh/h]
Figure: All block orders in optimal strategy
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324
Hour
0.00 16.29 32.57 48.86 65.15 81.43
Price [EUR/MWh]
Single Orders
1.18e+04 3.04e+03 2.13e+03 2.73e+03 1.08e+04 1.36e+04 1.27e+04 1.33e+04 1.37e+04 1.31e+04 1.41e+04 1.47e+04 1.48e+04 1.43e+04 1.42e+04 1.38e+04 1.41e+04 1.41e+04 1.33e+04 1.32e+04 1.32e+04 1.24e+04 1.04e+04 2.44e+03 Independent Volume [MWh] Dependent Volumes [Mwh] Accepted Orders Rejected Orders Market price
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324
Hour
0.00 15.44 30.89 46.33 61.78 77.22 92.67
Price [EUR/MWh]
Single Orders
1.15e+04 2.96e+03 2.07e+03 2.65e+03 1.04e+04 1.31e+04 2.01e+03 1.12e+04 1.03e+04 1.08e+04 7.30e+03 1.42e+04 1.42e+04 1.37e+04 1.36e+04 6.73e+03 1.35e+04 5.90e+03 1.18e+04 9.38e+03 1.26e+04 1.19e+04 9.92e+03 2.34e+03 Independent Volume [MWh] Dependent Volumes [Mwh] Accepted Orders Rejected Orders Market price
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324
Hour
0.00 16.03 32.05 48.08 64.11 80.14
Price [EUR/MWh]
Single Orders
1.19e+04 3.05e+03 2.13e+03 2.74e+03 1.08e+04 1.36e+04 1.31e+04 1.33e+04 1.37e+04 1.31e+04 1.41e+04 1.47e+04 1.48e+04 1.43e+04 1.42e+04 1.38e+04 1.41e+04 1.41e+04 1.33e+04 1.32e+04 1.32e+04 1.23e+04 1.03e+04 2.43e+03 Independent Volume [MWh] Dependent Volumes [Mwh] Accepted Orders Rejected Orders Market price
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324
Hour
0.00 16.59 33.19 49.78 66.37 82.97
Price [EUR/MWh]
Single Orders
1.20e+04 3.08e+03 2.15e+03 2.76e+03 1.09e+04 1.37e+04 1.34e+04 1.33e+04 1.37e+04 1.31e+04 1.41e+04 1.47e+04 1.48e+04 1.43e+04 1.42e+04 1.38e+04 1.41e+04 1.44e+04 1.33e+04 1.32e+04 1.32e+04 1.24e+04 1.04e+04 2.45e+03 Independent Volume [MWh] Dependent Volumes [Mwh] Accepted Orders Rejected Orders Market price
Figure: Single order outcomes of optimal strategy, for 4 different price curves
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Hour
21.73 24.46 27.18 29.91 32.64 35.36 38.09 40.82 43.54 46.27 49.00 51.72 54.45 57.17 59.90 62.63 65.35 68.08
Price [EUR/MWh]
Block Orders
37.87 500.0 37.20 500.0 40.75 487.5 Price [EUR/MWh] Volume [MWh/h] Accepted Orders Rejected Orders Market price
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Hour
28.26 31.60 34.94 38.28 41.62 44.96 48.30 51.64 54.98 58.32 61.66 65.00 68.34
Price [EUR/MWh]
Block Orders
46.98 500.0 50.12 500.0 49.40 487.5 34.41 487.7 Price [EUR/MWh] Volume [MWh/h] Accepted Orders Rejected Orders Market price
Figure: Block order outcomes of optimal strategy, for two given price curves
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Hour
1569.29 3291.63 5013.98 6736.32 8458.67 10181.02 11903.36 13625.71
Energy Volume [MWh]