## 3 A Two-Phase Iterative Solution Methodology
### The JSPT Subproblem
#### 3.2.2. JSPT Problem Formulation
\[T_{kl}=t_{kl}\times\omega_{kl},\forall(k,l)\in{\varsigma_{1}}^{\prime}\cup{ \varsigma_{2}}^{\prime}\cup{\varsigma_{4}}^{\prime}\cup{\varsigma_{5}}^{\prime} \tag{35}\]  
\[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]0  
Constraint (37) forces transporter arrival before departure. Henceforth, for brevity, \(\odot\) is used as a mathematical operator to replace \(\leq,\geq\) in constraint pairs. Constraints (38) and (39) ensure timing _consistency_ through _equality_ for transfer \(({\varsigma_{1}}^{\prime})\), transhipment \(({\varsigma_{4}}^{\prime})\), and waiting \(({\varsigma_{2}}_{2}^{\prime}\cup{\varsigma_{2}}_{b}^{\prime})\). Constraint (40) calculates completion time. Constraint (41) synchronizes machines within machine groups. Constraints (42) and (43) synchronizes transportation and processing. Constraints (44) and (45) enforce timing _consistency_ through _equality_ for each waiting transporter. Constraint (46) is active when a transporter travels from \(O\) to a dummy \(p\) node. Constraint (47) binds arrival time to be at least the distance from O to each \(p\) node. \[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]1  
\[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]2  
\[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]3  
\[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]4\[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]5  
\[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]6  
\[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]7  
\[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]8  
\[\sum_{k\in\Psi^{-}(l)}\omega_{kl_{p}}=\omega_{l_{p}m},\forall j\in J,l\in \text{Pick}_{j},m=\left(l+1\right)_{d} \tag{28}\]9  
\[\omega_{kl_{d}}=\sum_{k\in\Psi^{+}(l)}\omega_{l_{d}m},\forall j\in J,m\in Dep _{j^{\prime}}k=\left(l-1\right)_{d} \tag{29}\]0  
\[\omega_{kl_{d}}=\sum_{k\in\Psi^{+}(l)}\omega_{l_{d}m},\forall j\in J,m\in Dep _{j^{\prime}}k=\left(l-1\right)_{d} \tag{29}\]1  
Constraints (48) and (49) sequence the processing of duplicate machines belonging to different jobs; Constraint (50) selects one out of two processing sequences for a pair of duplicate machines. \[\omega_{kl_{d}}=\sum_{k\in\Psi^{+}(l)}\omega_{l_{d}m},\forall j\in J,m\in Dep _{j^{\prime}}k=\left(l-1\right)_{d} \tag{29}\]2  
\[\omega_{kl_{d}}=\sum_{k\in\Psi^{+}(l)}\omega_{l_{d}m},\forall j\in J,m\in Dep _{j^{\prime}}k=\left(l-1\right)_{d} \tag{29}\]3  
\[\omega_{kl_{d}}=\sum_{k\in\Psi^{+}(l)}\omega_{l_{d}m},\forall j\in J,m\in Dep _{j^{\prime}}k=\left(l-1\right)_{d} \tag{29}\]4  
Trans-Shipment Logic Cuts  
Constraint (51) models the _mutual exclusivity_ between trans-shipment and waiting for _singletons_ and machine _groups_. \[\omega_{kl_{d}}=\sum_{k\in\Psi^{+}(l)}\omega_{l_{d}m},\forall j\in J,m\in Dep _{j^{\prime}}k=\left(l-1\right)_{d} \tag{29}\]5  
Constraint (52) ensures that the total \(d\) node outflow is equal to the total the \(p\) node inflow of each _singleton_ machine and machine _group_. If trans-shipment occurs, both flows must be present. \[\omega_{kl_{d}}=\sum_{k\in\Psi^{+}(l)}\omega_{l_{d}m},\forall j\in J,m\in Dep _{j^{\prime}}k=\left(l-1\right)_{d} \tag{29}\]6  
Non-Overlapping Processing Cuts  
Constraint (53) states that if machine \(a\) finishes processing before machine \(b\) starts, all subsequent machines after \(b\) can only start after machine \(a\) finishes.