ifference between revisions of "EMK:Simplifying River Chains for Dynamic Programming"

From EMK Wiki
Jump to navigation Jump to search
Line 16: Line 16:
 
Instead of modelling each and every reservoir separately on this chain we will apply a constraint which requires all reservoirs to be filled to the same proportion of their capacity.  So at any time:
 
Instead of modelling each and every reservoir separately on this chain we will apply a constraint which requires all reservoirs to be filled to the same proportion of their capacity.  So at any time:
  
1. S<sub>i</sub> = &alpha; Max<sub>i</sub>, for some alpha.
+
1. '''S<sub>i</sub> = &alpha; Max<sub>i</sub>''', for some alpha.
  
 
The behaviour of this chain is then determined by the inflows, f<sub>IN</sub> and the change in &alpha;. Change in storage &Delta;S<sub>i</sub> is given by change in &alpha;.
 
The behaviour of this chain is then determined by the inflows, f<sub>IN</sub> and the change in &alpha;. Change in storage &Delta;S<sub>i</sub> is given by change in &alpha;.
  
2. &Delta;S<sub>i</sub> = [[File:lamda.jpg]] Max<sub>i</sub> , [[File:lamda.jpg]] = change in &alpha;
+
2.''' &Delta;S<sub>i</sub> = [[File:lamda.jpg]] Max<sub>i</sub> ''', [[File:lamda.jpg]] = change in &alpha;
  
 
Change in storage is also related to flows and inflows:
 
Change in storage is also related to flows and inflows:
  
3. &Delta;S<sub>0</sub> = I<sub>0</sub> + f<sub>IN</sub> – f<sub>0</sub>
+
3. '''&Delta;S<sub>0</sub> = I<sub>0</sub> + f<sub>IN</sub> – f<sub>0</sub>'''
:&Delta;S<sub>i</sub> = I<sub>i</sub> + f<sub>i</sub> – f<sub>i +1</sub> ,  i > 0
+
:'''&Delta;S<sub>i</sub> = I<sub>i</sub> + f<sub>i</sub> – f<sub>i +1</sub>''' ,  i > 0
  
 
Combining 2. and 3. Gives:
 
Combining 2. and 3. Gives:
Line 51: Line 51:
 
In the simplified sub-system flows are given by:
 
In the simplified sub-system flows are given by:
  
8. f<sub>A</sub> = f<sub>IN</sub> + I<sub>A</sub>  
+
8. '''f<sub>A</sub> = f<sub>IN</sub> + I<sub>A</sub> '''
:f<sub>B</sub> = f<sub>A</sub> + I<sub>B</sub> - [[File:lamda.jpg]]Max
+
:'''f<sub>B</sub> = f<sub>A</sub> + I<sub>B</sub> - [[File:lamda.jpg]]Max'''
::= I<sub>A</sub> + I<sub>B</sub> + f<sub>IN</sub> - [[File:lamda.jpg]]Max
+
::'''= I<sub>A</sub> + I<sub>B</sub> + f<sub>IN</sub> - [[File:lamda.jpg]]Max'''
  
 
Since f<sub>B</sub> must equal f<sub>n</sub> for all inflow, f<sub>IN</sub> and [[File:lamda.jpg]] values, comparing Equations 8 and 4 gives:
 
Since f<sub>B</sub> must equal f<sub>n</sub> for all inflow, f<sub>IN</sub> and [[File:lamda.jpg]] values, comparing Equations 8 and 4 gives:
Line 63: Line 63:
 
Generation is given by:
 
Generation is given by:
  
11. G* = M<sub>A</sub> f<sub>A</sub> + M<sub>B</sub> f<sub>B</sub>
+
11.''' G* = M<sub>A</sub> f<sub>A</sub> + M<sub>B</sub> f<sub>B</sub>'''
::=  M<sub>A</sub> I<sub>A</sub> + M<sub>B</sub> (I<sub>A</sub> + I<sub>B</sub>)  +  (M<sub>A</sub> + M<sub>B</sub>) f<sub>IN</sub>  -  M<sub>B</sub> [[File:lamda.jpg]]Max
+
::'''=  M<sub>A</sub> I<sub>A</sub> + M<sub>B</sub> (I<sub>A</sub> + I<sub>B</sub>)  +  (M<sub>A</sub> + M<sub>B</sub>) f<sub>IN</sub>  -  M<sub>B</sub> [[File:lamda.jpg]]Max'''
  
 
Since G* must equal G for all inflow, f<sub>IN</sub> and [[File:lamda.jpg]] values comparing Equations 11 and 7 gives:
 
Since G* must equal G for all inflow, f<sub>IN</sub> and [[File:lamda.jpg]] values comparing Equations 11 and 7 gives:
  
12. M<sub>A</sub> + M<sub>B</sub> = &sigma;<sub>0</sub>  ( from the f<sub>IN</sub> component )
+
12.''' M<sub>A</sub> + M<sub>B</sub> = &sigma;<sub>0</sub>''' ( from the f<sub>IN</sub> component )
  
 
13. [[File:SRC E 7.jpg]]  ( from the [[File:lamda.jpg]] component )
 
13. [[File:SRC E 7.jpg]]  ( from the [[File:lamda.jpg]] component )
Line 88: Line 88:
 
Once the results of a simulation with the simplified model are known they can be converted back to results for the original sub-system by calculating [[File:lamda.jpg]] and &alpha;:
 
Once the results of a simulation with the simplified model are known they can be converted back to results for the original sub-system by calculating [[File:lamda.jpg]] and &alpha;:
  
[[File:lamda.jpg]] = ( f<sub>A</sub> + I<sub>A</sub> - f<sub>B</sub> ) / Max
+
[[File:lamda.jpg]] = '''( f<sub>A</sub> + I<sub>A</sub> - f<sub>B</sub> ) / Max'''
  
&alpha; = S / Max
+
'''&alpha; = S / Max'''
  
 
Equations 1 and 4 then give the storages and flows in the original sub-system.
 
Equations 1 and 4 then give the storages and flows in the original sub-system.
Line 98: Line 98:
 
Where
 
Where
  
18. Max = Max<sub>0</sub>
+
18. '''Max = Max<sub>0</sub>'''
  
19. I = I<sub>0</sub>
+
19. '''I = I<sub>0</sub>'''
  
20. S = S<sub>0</sub>
+
20. '''S = S<sub>0</sub>'''
  
21. M = &sigma;0
+
21. '''M = &sigma;0'''
  
 
=== Allocation of Spills ===
 
=== Allocation of Spills ===

Revision as of 09:56, 4 December 2012

Introduction

If too many reservoirs are modelled in the dynamic programming phase of water value calculation, a performance hit may occur. This is the well known ‘problem of dimensionality’ in dynamic programming. It might be necessary to simplify the problem to avoid slow DP (Dynamic Programming) solutions. The following is a method for doing this on a chain of stations.

River Chain Simplification

Figure 1

Figure 1 represents a chain of reservoirs and stations, with the nodes represented by circles.

Si = the storage at node i Ii = the inflows to node i Maxi = the storage capacity at node i fi = the flow from node i to node i + 1 fIN = the flow into node 0 Mi = the generating potential from node i to node i + 1 (MW/cumec)

Instead of modelling each and every reservoir separately on this chain we will apply a constraint which requires all reservoirs to be filled to the same proportion of their capacity. So at any time:

1. Si = α Maxi, for some alpha.

The behaviour of this chain is then determined by the inflows, fIN and the change in α. Change in storage ΔSi is given by change in α.

2. ΔSi = Lamda.jpg Maxi , Lamda.jpg = change in α

Change in storage is also related to flows and inflows:

3. ΔS0 = I0 + fIN – f0

ΔSi = Ii + fi – fi +1 , i > 0

Combining 2. and 3. Gives:

4. SRC E 1.jpg

And Generation is given by

5. SRC E 2.jpg

Defining

6. SRC E 3.jpg

Equation 5 becomes:

7. SRC E 4.jpg

Figure 2

We now have the dynamics of the constrained sub-system of stations. The next step is to represent these dynamics with a simpler sub-system so the DP process can model it. The simpler system is shown in figure 2.

The first node has no storage, so there is only the storage at the second node to model. In order for this sub-system to behave in the same way as the constrained sub-system it is necessary for the generation and outflow to be equal at any time.

In the simplified sub-system flows are given by:

8. fA = fIN + IA

fB = fA + IB - Lamda.jpgMax
= IA + IB + fIN - Lamda.jpgMax

Since fB must equal fn for all inflow, fIN and Lamda.jpg values, comparing Equations 8 and 4 gives:

9. SRC E5.jpg ( from the inflows components )

10. SRC E6.jpg ( from the Lamda.jpg component )

Generation is given by:

11. G* = MA fA + MB fB

= MA IA + MB (IA + IB) + (MA + MB) fIN - MB Lamda.jpgMax

Since G* must equal G for all inflow, fIN and Lamda.jpg values comparing Equations 11 and 7 gives:

12. MA + MB = σ0 ( from the fIN component )

13. SRC E 7.jpg ( from the Lamda.jpg component )

14. SRC E 8.jpg ( from the inflows components )

Combining 12 and 13 gives:

15. SRC E 9.jpg

Combining 14 and 9 gives:

16. SRC E 10.jpg

17. SRC E 11.jpg

Equations 10,13,15 enable a specification of the simplified sub-system to be calculated. Equations 16 and 17 find the inflow figures to use in the system.

Once the results of a simulation with the simplified model are known they can be converted back to results for the original sub-system by calculating Lamda.jpg and α:

Lamda.jpg = ( fA + IA - fB ) / Max

α = S / Max

Equations 1 and 4 then give the storages and flows in the original sub-system.

Figure 3

If MA = 0 for the system, then Equations 16 and 17 will not solve. This will occur only if there is zero storage in all but the last reservoirs. It is inappropriate to try and simplify this configuration, unless there are no inflows below the first node, in which case the simplified sub-system is shown in figure 3.

Where

18. Max = Max0

19. I = I0

20. S = S0

21. M = σ0

Allocation of Spills

The flow figures calculated above will match both outflow and generation, if all flows are used for generation. If however the flows are divided into generating and spill flow figures then the match will only be with potential generation, or the generation that would have occurred had all channels been generating with the given power conversion factors. It is necessary than to allocate the total fA and fB figures into fi figures for both spill and generation. If

22. fA = f gA + f sA

23. fB = f gB + f sB

where f g is the flow used for generation and f s is the spill. The potential generation is:

24. G* P = MA fA + MB fB

The real generation is given by

25. G* R = MA f g A + MB f g B

If the resulting flows for the original sub-system are also divided into spill and generation flows:

26. fi = f gi + f si

G* P will be equal to the potential generation of the fi flows:

27. G* P = G P = Σk = 0.. n fk Mk

What we need as well as this is for the real generation figures to be equal:

28. G* R = G R

If we force all spill to be the same proportion of the total flow in the solution. i.e.

29. c

Then real generation in the original sub-system will be

30. GR = μ Σk = 0..n fk Mk

Combining equations 27, 28 and 30 give:

29. μ = G* R / G* P

This value for μ will provide spill and release figures for all nodes in the original sub-system, which match both real and potential generation.

Using the Simplified River Chains