Simplifying River Chains for Dynamic Programming
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 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 α.
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:
And Generation is given by
Defining
Equation 5 becomes:
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
Since fB must equal fn for all inflow, fIN and values, comparing Equations 8 and 4 gives: