2. Second Stage
2.1. Sets
Name |
Dimension |
Sub index |
Description |
---|---|---|---|
\(T\) |
1 |
time |
|
\(H\) |
1 |
Hydro powerplants |
|
\(B\) |
1 |
Water basins |
|
\(S_B\) |
2 |
\(B\) |
State of each basins |
\(S_H\) |
2 |
\(H\) |
State of each hydro powerplants (related to upstream basin state) |
\(S_Q\) |
3 |
\(S_H\) |
State of each hydro powerplant water flow |
\(B_{H}\) |
2 |
\(H\) |
Index to make the correspondence between hydro powerplants ant their upper stream bassin |
\(SB_{H}\) |
3 |
\(S_H\) |
Index to make the correspondence between basins’ and hydro powerplants’ states |
The sets \(T\), \(S_H\) and \(S_B\) are arranged in a specific order such that indexing a variable with the first or last element of a set (i.e \(t^{0}\) and \(t^{\text{END}} \in T\)) corresponds respectively to the lowest/first or highest/final element of that variable.
\(S_H\) and \(S_B\) include subset to specify the corresponding hydro powerplants and basins that the state is associated with, respectively. The sets are constructed as demonstrated in the following example. To collect all states associated with a basin \(b\) we can use the notation \(S_B\{b\}\)
\(B \in \{1, ~2, ~3\}\)
\(S_B =\begin{cases} 1: \left[1, ~2, ~3\right] \\ 2: \left[4, ~5\right] \\ 3: \left[ 6 \right] \end{cases}\)
In a Pyomo model, it is not possible to directly index variables and parameters using sets that contain subsets, such as \(S\_B\). To handle this limitation, we need to create new sets (i.e. \(BS\)) which will explicitly represent the deployment of these subsets. These new sets will be structured to map the relationships required for indexing variables and parameters in the model effectively.
\(SB \in \{B, S_B\}=\{(1,~1),~(1,~2),~(2,~3),~(2,~4),~(2,~5),~(3,~6)\}\)
The set \(B_H\) and \(SB_H\) defines the connections between each basin, its corresponding state, and the hydro powerplants. This link is established solely between a hydro powerplant and its associated upstream basin. It is assumed that the water level in downstream basins does not affect the behavior of turbined or pumped energy.
\(B_H =\begin{cases} 1: 2 \\ 2: 1\end{cases}\)
2.2. Variables
Name |
Description |
Type |
Units |
---|---|---|---|
\(V_\text{BAS}^{t,~b}\) |
Basins actual water volume |
\(\mathbb{R}^{+}\) |
\(\mathrm{m}^{3}\) |
\(V_\text{SPIL}^{t,~b}\) |
Spilled water volumes when basins are full |
\(\mathbb{R}^{+}\) |
\(\mathrm{m}^{3}\) |
\(V_\text{BAS, END}^{b}\) |
Basins end volume |
\(\mathbb{R}^{+}\) |
\(\mathrm{m}^{3}\) |
\(dV_\text{+}^{h}\) |
Positive difference bertween powered water volume sepoints and calculated |
\(\mathbb{R}^{+}\) |
\(\mathrm{m}^{3}\) |
\(dV_\text{-}^{h}\) |
Positive difference bertween powered water volume sepoints and calculated |
\(\mathbb{R}^{+}\) |
\(\mathrm{m}^{3}\) |
\(P^{t,~h}\) |
Electrical power produced (or consumed) by a hydropower plant |
\(\mathbb{R}\) |
\(\mathrm{MW}\) |
\(Q^{t,~h}\) |
Amount of water that flows through a hydropower plant |
\(\mathbb{R}\) |
\(\mathrm{m}^{3}/\mathrm{s}\) |
\(S_\text{BAS}^{t,~b,~s_b}\) |
Binary variable that indicates the basin’s volume state derived from its volume: \(S_\text{BAS}^{t,~b,~s_b} = \begin{cases} 1 \text{ if } V_\text{BAS}^{t,~b} \in \left[ V_\text{BAS, MIN}^{b,~s_b} ;V_\text{BAS, MAX}^{b,~s_b} \right] \\ 0 \text{ otherwise} \end{cases}\) |
\(\mathbb{B}\) |
|
\(S_\text{FLOW}^{t,~h,~s_h,~s_q}\) |
Binary variable that indicates the hydo power plant’s flow state (for turbine and pump) |
\(\mathbb{B}\) |
|
\(V_\text{BAS, S}^{t,~h,~s_h,~s_q}\) |
Basin volume seen by hydropowerplant states : \(V_\text{BAS, S}^{t,~h,~s_h,~s_q} = \begin{cases} V_\text{BAS}^{t,~b_h} \text{ if } S_\text{FLOW}^{t,~h,~s_h,~s_q} = 1 \\ 0 \text{ otherwise} \end{cases}\) |
\(\mathbb{R}\) |
\(\mathrm{MW}\) |
2.3. Parameters
Name |
Description |
Type |
Default |
Units |
---|---|---|---|---|
\(c_\text{DA}^{t}\) |
Day-ahead energy market price |
\(\mathbb{R}\) |
\(\mathrm{EUR}/\mathrm{MW}\) |
|
\(nb_\text{SEC}\) |
Number of seconds in one hour |
\(\mathbb{R}^{+}\) |
3600 |
|
\(nb_\text{HOUR}\) |
Number of hours for each time-step |
\(\mathbb{R}^{+}\) |
||
\(c_\text{UN}^{+}\) |
Penality price applied to positive difference volume |
\(\mathbb{R}^{+}\) |
\(\mathrm{EUR}/\mathrm{MW}\) |
|
\(c_\text{UN}^{-}\) |
Penality price applied to negative difference volume |
\(\mathbb{R}^{+}\) |
\(\mathrm{EUR}/\mathrm{MW}\) |
|
\(\alpha^{+}\) |
Power factor applied to positive difference volume |
\(\mathbb{R}^{+}\) |
\(\mathrm{MW}/ \mathrm{m}^{3}\) |
|
\(\alpha^{-}\) |
Power factor applied to negative difference volume |
\(\mathbb{R}^{+}\) |
\(\mathrm{MW}/ \mathrm{m}^{3}\) |
|
\(V_\text{POW}^{h}\) |
Powered water volume sepoints for each hydropower plant |
\(\mathbb{R}\) |
\(\mathrm{m}^{3}\) |
|
\(dV_\text{LAST}^{h}\) |
Remaining volume unpowered from last simulation |
\(\mathbb{R}\) |
\(\mathrm{m}^{3}\) |
|
\(V_\text{BUF}^{h}\) |
Max volume buffer between power volume setpoint and calculated |
\(\mathbb{R}^{+}\) |
\(\mathrm{m}^{3}\) |
|
\(F_\text{SPIL}^{b}\) |
Penality factor for water volume splilled : \(F_\text{SPIL}^{b} = \begin{cases} 1e^2 \text{ if hydo power plant upstream basin} \\ 1e^{-2} \text{ otherwise} \end{cases}\) |
\(\mathbb{R}^{+}\) |
\(\mathrm{EUR}/ \mathrm{m}^{3}\) |
|
\(V_\text{BAS, START}^{b}\) |
Basins stating water volume |
\(\mathbb{R}^{+}\) |
0 |
\(\mathrm{m}^{3}\) |
\(V_\text{BAS, MAX}^{b,~s_b}\) |
Basins water volume upper boundary for each state |
\(\mathbb{R}^{+}\) |
0 |
\(\mathrm{m}^{3}\) |
\(V_\text{BAS, MIN}^{b,~s_b}\) |
Basins water volume lower boundary for each state |
\(\mathbb{R}^{+}\) |
0 |
\(\mathrm{m}^{3}\) |
\(V_\text{BAS, DIS}^{t,~b}\) |
Water volume entering a basin due to runoff and snowmelt |
\(\mathbb{R}^{+}\) |
0 |
\(\mathrm{m}^{3}\) |
\(F_\text{TUR}^{b,~h}\) |
Factor to specify whether the turbined water of a plant is added into a basin or removed |
\(\{-1; ~0; ~1\}\) |
0 |
|
\(Q_\text{MIN}^{h,~s_h,~s_q}\) |
Min water flows that can be turbined (or pumed) for each state |
\(\mathbb{R}\) |
\(\mathrm{m}^{3}/\mathrm{s}\) |
|
\(Q_\text{MAX}^{h,~s_h,~s_q}\) |
Max water flows that can be turbined (or pumed) for each state |
\(\mathbb{R}\) |
\(\mathrm{m}^{3}/\mathrm{s}\) |
|
\(dQ^{h,~s_h,~s_q}\) |
Water flow ramps derived from basin volumes for each state. |
\(\mathbb{R}\) |
||
\(P_\text{MIN}^{h,~s_h,~s_q}\) |
Min power that can produced (or consumed) for each state |
\(\mathbb{R}\) |
\(\mathrm{m}^{3}/\mathrm{s}\) |
|
\(dP^{h,~s_h,~s_q}\) |
Power ramps derived from basin volumes for each state. |
\(\mathbb{R}\) |
2.4. Objective
where:
2.5. Constraints
2.5.1 Water basin volume evolution
2.5.2 Water basin state
For constraints (11), the set \(B_H\) is employed to link basin volumes with hydropower plants. This constraint involves the multiplication of a continuous variable with a binary variable. Consequently, a Big-M decomposition is required to linearize it.