## 3 A Two-Phase Iterative Solution Methodology
### The JSPT Subproblem  
Within the JSPT, the transporter routes are interdependent with machine operations due to the job precedence considerations. Unlike conventional VRPs where routes are independent of each other--making it only necessary to re-evaluate the feasibility and objective function contributions of the respective modified routes--a change in a particular transporter route affects other existing (transporter) routes, possibly leading to (temporal) infeasibility. In addition, when a machine is assigned to perform multiple operations from different jobs, a slight change in (operation) sequencing within the said machine often renders existing assigned transporter routes _temporally infeasible_, leading to a re-computation of the entire JSPT. These mandated extensive checks often render the implementation of heuristics tedious.  
To circumvent the above shortcomings, the task execution is implicitly determined through a network flow-based model, where the routing of load flows and vehicle flows determines the transporter assignment, sequencing, and machine sequencing concurrently. Logic cuts for flows and temporal (precedence) constraints are added for improving tractability.  
\begin{table}
\begin{tabular}{l l} \hline \hline
**Sets** & \\ \hline \(J\) & Set of jobs. \\ \(N\) & Set of operations, \(|N|=\sum_{i\in J}n_{j}\), where \(n_{j}\) is the number of operations of job \(j\), \(j\in J\). \\ \(N_{j}\) & Set of operations of jobs indexed before job \(j\). \(\left|N_{j}\right|=\sum_{1}^{j-1}n_{j}\), total number of operations of jobs indexed before job \(j\), where \(n_{j}\) is total number of operations in a job \(j\). By definition, \(\left|N_{1}{}^{\prime}\right|=0\) \\ \(I\) & \(I=\{1,2,\ldots,N\}\), index set of all operations, where overall, first operation is first operation of the first job, and the overall last operation is the last operation of last job. \\ \(I_{j}\) & Set of indices \(n\) associated with job \(j\) in \(J\). \\ \(M\) & Set of (original) machines. \\ \(M_{i}\) & Set of (original) machines that are capable of processing operation \(i\). \\ Parameters & \\ \(p_{ik}\) & Processing time of operation \(i\) when processed by machine \(k\), \(k\in M_{i}\). \\ \(t_{kl}\) & Distance between any two machines \(k\) and \(l\), \(k,l\in M_{i}\). \\ \(F\) & A large number used to bound FJSP + T constraints. \\ Variables & \\ \(C_{max}\) & Makespan. \\ \(C_{ik}\) & Completion time of operation \(i\) when processed by machine \(k\), \(k\in M_{i}\). \\ \(S_{ik}\) & Start time of operation \(i\) when processed by machine \(k\), \(k\in M_{i}\). \\ \(U_{ik}\) & 1, when machine \(k\) is selected to process operation \(i\), \(k\in M_{i}\). \\  & 0, otherwise. \\  & 1, when consecutive operations \(i\), \(i+1\) of a particular job \(j\), \(i,i+1\in I_{j}\) are processed using machines \(k\) and \(l\), \\ \(Y_{i,i+1,k,l}\) & respectively, \(k,l\in M_{i}\). \\  & 0, otherwise. \\ \(Z_{ilk}\) & 1, operation \(i\) precedes operation \(h\) when processed by machine \(k\), \(k\in M_{i}\cap M_{h}\). \\  & 0, otherwise. \\ \hline \hline \end{tabular}
\end{table}
Table 1: Notation used by FJSP + T.  
This new JSPT formulation adapts the approach in Cortes, Matamala and Contardo [27] in modelling trans-shipment points and that in Rais, Alvelos and Carvalho [28] in modelling the transporter and job flows.