Bypass

Bypass paths go from a hydraulic node (Reservoir, Junction) to another (including the sea). The bypass paths are a way for the water to go if it is necessary to drain the reservoir for water without being able to utilize it for power. The bypass path “bypasses” the power plant. The path does not need to go the same place as other paths from the reservoir.

\[\begin{split} \\{i \in reservoirs,\ k \in \\{0, 1, ..., timesteps - 1\\}\\}\end{split}\]
\[ 0 \leq byp(i,k) \leq \textrm{BypMax}(i,k) \]

Use of the bypass variable should incur a small cost. Default value is less than the cost of the spillage path, ensuring that the bypass path will be used first if necessary.

\[ Obj^{min}: C^Tx + \sum{{C^T}_{byp}(i,k)*byp(i,k)} \]

If the hydro power plant has unregulated inflow, the bypass bounds are edited so that max bypass is a “large” value.

\[ 0 \leq byp(i,k) \leq 10000 \]

If a bypass path has a minimum bypass demand, the bypass variable as the sum of two layers, the bypass layer and the minimum bypass layer:

\[ \textrm{Bypass}(i,k):\ byp(i,k) + byp_{min}(i,k)\]

These variables are substituted into the reservoir balance.

\[\begin{split} \\{i \in reservoirs,\ k \in \\{0, 1, ..., timesteps - 1\\}\\}\end{split}\]
\[ \textrm{RESBAL}(i,k): res(i,k) - res(i,k-1) = \textit{Inflow}(i,k) - (byp(i,k) + byp_{min}(i,k))\]

The minimum bypass variable get the bounds:

\[\begin{split} \\{i \in reservoirs\ with\ min\ bypass,\ k \in \\{0, 1, ..., timesteps - 1\\}\\}\end{split}\]
\[ 0 \leq byp_{min}(i,k) \leq \textrm{BypMin}(i,k) \]

While the bypass variable is modified:

\[ 0 \leq byp(i,k) \leq \textrm{BypMax}(i,k) - \textrm{BypMin}(i,k) \]

Should \(\textrm{BypMax}(i,k) - \textrm{BypMin}(i,k) < 0\), the upper bound is set to 0.

Use of the layer represented by \(byp_{min}\) is encouraged by having a negative cost in the objective function, to ensure that this layer is used first.

\[\begin{split} Obj^{min}: C^Tx - \sum{{C^T}_{byp\\_min}(i,k)*byp\_{min}(i,k)} \end{split}\]