Chicago Sewers (4 Billion USD)
Network ~ $G(N,A)$
$\delta_{ji}$ is the travel time between nodes
## Linearizing square root
height = np.linspace(0,1000,100)/100 # (volume/area)
outflow = np.sqrt(2*9.81*height) # Generate the outflows
coeffws = np.polyfit(height, outflow, 1) # Get the first order polyfit
plt.plot(height, outflow, label = "True")
plt.plot(height, coeffws[0]*height + coeffws[1], label = "Linearized")
plt.ylabel("Outflows (cu.m per sec)");plt.xlabel("Water Level (m)");plt.legend()
<matplotlib.legend.Legend at 0x10dc92828>
Linearized constraint $$ q^t_{out} \leq 1.13047751 \times V^t_i/A_i + 3.65949363 $$
Objective Function $$ \min \sum^N_{i} \sum^T_t V_i^t $$ Constraints
Mass Balance: $$ V_i^t = V_i^{t-1} + q_i^{t} + \sum_{j} x_{ji}^{t-\delta_{ji}} - \sum_{j} x_{ij}^{t}\ \text{for}\ \forall t\ \text{and}\ \forall i \in N$$ Flow thresholds: $$ x_{ij}^t \leq u_{ij}\ \text{for}\ \forall t\ \text{and}\ \forall ij \in A$$
Outflow limitation: $$ x_{ij}^t \leq f(V_{ij}^{t-1}) \ \text{for}\ \forall t\ \text{and}\ \forall ij \in A$$
Master Problem Objective $$ \max \sum^N_i V_{ij}^i $$ Constraints
Mass Balance: $$ V_i = V_i^0 + \sum_{j} V_{ji} - \sum_{i} V_{ij} $$ Maximum Volume Movement: $$ V_{ij} \leq T \times u_{ij} $$
Sub Problem $$ \max \sum^T_t x_{ij}^t $$ Constraints
Mass Balance: $$ V_i^t = V_i^{t-1} + q_{i}^t - \sum_j x_{ij}^t $$ Physical Constraints: $$ x_{ij}^t \leq 1.13047751 \times V^t_i/A_i + 3.65949363 $$ Constraint from Master Problem: $$ \sum_t x_{ij}^t \leq V_{ij} $$
$ q_i^t $ inflows into the node