mirror of
https://github.com/ANL-CEEESA/RELOG.git
synced 2025-12-06 23:58:51 -06:00
Allow plants to store input material for later years
This commit is contained in:
@@ -21,9 +21,11 @@ In this page, we describe the precise mathematical optimization model used by RE
|
||||
* $c^\text{f-base}_{pt}$ - Fixed cost of keeping plant $p$ open during time period $t$ (`$`)
|
||||
* $c^\text{f-exp}_{pt}$ - Increase in fixed cost for each additional tonne of capacity (`$/tonne`)
|
||||
* $c^\text{var}_{pt}$ - Variable cost of processing one tonne of input at plant $p$ at time $t$ (`$/tonne`)
|
||||
* $c^\text{store}_{pt}$ - Cost of storing one tonne of original material at plant $p$ at time $t$ (`$/tonne`)
|
||||
* $m^\text{min}_p$ - Minimum capacity of plant $p$ (`tonne`)
|
||||
* $m^\text{max}_p$ - Maximum capacity of plant $p$ (`tonne`)
|
||||
* $m^\text{disp}_{pmt}$ - Maximum amount of material $m$ that plant $p$ can dispose of during time $t$ (`tonne`)
|
||||
* $m^\text{store}_p$ - Maximum amount of original material that plant $p$ can store for later processing.
|
||||
|
||||
**Products:**
|
||||
|
||||
@@ -42,7 +44,9 @@ In this page, we describe the precise mathematical optimization model used by RE
|
||||
* $w_{pt}$ - Extra capacity (amount above the minimum) added to plant $p$ during time $t$ (`tonne`)
|
||||
* $x_{pt}$ - Binary variable that equals 1 if plant $p$ is operational at time $t$ (`bool`)
|
||||
* $y_{lpt}$ - Amount of product sent from location $l$ to plant $p$ during time $t$ (`tonne`)
|
||||
* $z_{mpt}$ - Amount of material $m$ disposed of by plant $p$ during time $t$ (`tonne`)
|
||||
* $z^{\text{disp}}_{mpt}$ - Amount of material $m$ disposed of by plant $p$ during time $t$ (`tonne`)
|
||||
* $z^{\text{store}}_{pt}$ - Amount of original material in storage at plant $p$ by the end of time period $t$ (`tonne`)
|
||||
* $z^{\text{proc}}_{mpt}$ - Amount of original material processed by plant $p$ during time period $t$ (`tonne`)
|
||||
|
||||
|
||||
### Objective function
|
||||
@@ -57,17 +61,23 @@ RELOG minimizes the overall capital, production and transportation costs:
|
||||
\sum_{i=1}^t c^\text{f-exp}_{pt} w_{pi} +
|
||||
c^{\text{exp}}_{pt} w_{pt}
|
||||
\right] + \\
|
||||
&
|
||||
\sum_{t \in T} \sum_{p \in P} \left[
|
||||
c^{\text{store}}_{pt} z^{\text{store}}_{pt} +
|
||||
c^{\text{proc}}_{pt} z^{\text{proc}}_{pt}
|
||||
\right] + \\
|
||||
&
|
||||
\sum_{t \in T} \sum_{l \in L} \sum_{p \in P} \left[
|
||||
c^{\text{tr}}_t d_{lp} + c^{\text{var}}_{pt}
|
||||
\right] y_{lpt} + \\
|
||||
\sum_{t \in T} \sum_{l \in L} \sum_{p \in P}
|
||||
c^{\text{tr}}_t d_{lp} y_{lpt}
|
||||
\\
|
||||
&
|
||||
\sum_{t \in T} \sum_{p \in P} \sum_{m \in M} c^{\text{disp}}_{pmt} z_{pmt}
|
||||
\end{align*}
|
||||
|
||||
In the first line, we have (i) opening costs, if plant starts operating at time $t$, (ii) fixed operating costs, if plant is operational, (iii) additional fixed operating costs coming from expansion performed in all previous time periods up to the current one, and finally (iv) the expansion costs during the current time period.
|
||||
In the second line, we have the transportation costs and the variable operating costs.
|
||||
In the third line, we have the disposal costs.
|
||||
In the second line, we have storage and variable processing costs.
|
||||
In the third line, we have transportation costs.
|
||||
In the fourth line, we have the disposal costs.
|
||||
|
||||
### Constraints
|
||||
|
||||
@@ -78,10 +88,29 @@ In the third line, we have the disposal costs.
|
||||
& \forall l \in L, t \in T
|
||||
\end{align}
|
||||
|
||||
* Plants have a limited capacity:
|
||||
* Amount received equals amount processed plus stored. Furthermore, all original material should be processed by the end of the simulation.
|
||||
|
||||
\begin{align}
|
||||
& \sum_{l \in L} y_{lpt} \leq m^\text{min}_p x_p + \sum_{i=1}^t w_p
|
||||
& \sum_{l \in L} y_{lpt} + z^{\text{store}}_{p,t-1}
|
||||
= z^{\text{proc}}_{pt} + z^{\text{store}}_{p,t}
|
||||
& \forall p \in P, t \in T \\
|
||||
& z^{\text{store}}_{p,0} = 0
|
||||
& \forall p \in P \\
|
||||
& z^{\text{store}}_{p,t^{\max}} = 0
|
||||
& \forall p \in P
|
||||
\end{align}
|
||||
|
||||
* Plants have a limited processing capacity. Furthermore, if a plant is closed, it has zero processing capacity:
|
||||
|
||||
\begin{align}
|
||||
& z^{\text{proc}}_{pt} \leq m^\text{min}_p x_p + \sum_{i=1}^t w_p
|
||||
& \forall p \in P, t \in T
|
||||
\end{align}
|
||||
|
||||
* Plants have limited storage capacity. Furthermore, if a plant is closed, is has zero storage capacity:
|
||||
|
||||
\begin{align}
|
||||
& z^{\text{store}}_{pt} \leq m^\text{store}_p x_p
|
||||
& \forall p \in P, t \in T
|
||||
\end{align}
|
||||
|
||||
@@ -92,10 +121,10 @@ In the third line, we have the disposal costs.
|
||||
& \forall p \in P, t \in T
|
||||
\end{align}
|
||||
|
||||
* Amount of recovered material is proportional to the plant input:
|
||||
* Amount of recovered material is proportional to amount processed:
|
||||
|
||||
\begin{align}
|
||||
& q_{mpt} = \alpha_{pm} \sum_{l \in L} y_{lpt}
|
||||
& q_{mpt} = \alpha_{pm} z^{\text{proc}}_{pt}
|
||||
& \forall m \in M, p \in P, t \in T
|
||||
\end{align}
|
||||
|
||||
@@ -129,50 +158,8 @@ In the third line, we have the disposal costs.
|
||||
& \forall p \in P, t \in T \\
|
||||
& y_{lpt} \geq 0
|
||||
& \forall l \in L, p \in P, t \in T \\
|
||||
& m^\text{disp}_{mpt} \geq z_{mpt} \geq 0
|
||||
& z^{\text{store}}_{pt} \geq 0
|
||||
& p \in P, t \in T \\
|
||||
& z^{\text{disp}}_{mpt}, z^{\text{proc}}_{mpt} \geq 0
|
||||
& \forall m \in M, p \in P, t \in T
|
||||
\end{align}
|
||||
|
||||
### Complete optimization model
|
||||
|
||||
\begin{align*}
|
||||
\text{minimize} \;\; &
|
||||
\sum_{t \in T} \sum_{p \in P} \left[
|
||||
c^\text{open}_{pt} u_{pt} +
|
||||
c^\text{f-base}_{pt} x_{pt} +
|
||||
\sum_{i=1}^t c^\text{f-exp}_{pt} w_{pi} +
|
||||
c^{\text{exp}}_{pt} w_{pt}
|
||||
\right] + \\
|
||||
&
|
||||
\sum_{t \in T} \sum_{l \in L} \sum_{p \in P} \left[
|
||||
c^{\text{tr}}_t d_{lp} + c^{\text{var}}_{pt}
|
||||
\right] y_{lpt} + \\
|
||||
&
|
||||
\sum_{t \in T} \sum_{p \in P} \sum_{m \in M} c^{\text{disp}}_{pmt} z_{pmt} \\
|
||||
\text{subject to } & \sum_{p \in P} y_{lpt} = m^\text{initial}_{lt}
|
||||
& \forall l \in L, t \in T \\
|
||||
& \sum_{l \in L} y_{lpt} \leq m^\text{min}_p x_p + \sum_{i=1}^t w_p
|
||||
& \forall p \in P, t \in T \\
|
||||
& \sum_{i=1}^t w_p \leq m^\text{max}_p x_p
|
||||
& \forall p \in P, t \in T \\
|
||||
& q_{mpt} = \alpha_{pm} \sum_{l \in L} y_{lpt}
|
||||
& \forall m \in M, p \in P, t \in T \\
|
||||
& q_{mpt} = z_{mpt}
|
||||
& \forall m \in M, p \in P, t \in T \\
|
||||
& x_{pt} = x_{p,t-1} + u_{pt}
|
||||
& \forall p \in P, t \in T \setminus \{1\} \\
|
||||
& x_{p,1} = u_{p,1}
|
||||
& \forall p \in P \\
|
||||
& q_{mpt} \geq 0
|
||||
& \forall m \in M, p \in P, t \in T \\
|
||||
& u_{pt} \in \{0,1\}
|
||||
& \forall p \in P, t \in T \\
|
||||
& w_{pt} \geq 0
|
||||
& \forall p \in P, t \in T \\
|
||||
& x_{pt} \in \{0,1\}
|
||||
& \forall p \in P, t \in T \\
|
||||
& y_{lpt} \geq 0
|
||||
& \forall l \in L, p \in P, t \in T \\
|
||||
& m^\text{disp}_{mpt} \geq z_{mpt} \geq 0
|
||||
& \forall m \in M, p \in P, t \in T
|
||||
\end{align*}
|
||||
|
||||
Reference in New Issue
Block a user