## 3 A Two-Phase Iterative Solution Methodology
### The JSPT Subproblem
#### 3.2.1 JSPT Network Construction  
The JSPT network is constructed using node duplication; a machine is duplicated as many times as the number of operations it has been assigned to process by FJSP + T. This ensures unique machine-operation assignments. Each duplicate machine is further split into a pair of \(d\) and \(p\) nodes for depositing and picking up operations, respectively. As jobs outnumber transporters, the L/U is visited multiple times. Hence, dedicated dummy \(p\) and \(d\) nodes are assigned to each job by duplicating L/U for _picking_ up unprocessed jobs and _depositing_ completed jobs, respectively. The L/U is duplicated by splitting into nodes \(L(O)\) and \(U(E)\) for dispatching and collecting transporters, respectively. All machines in the network are initially singletons. Consecutive duplicates of the same machine are grouped for model simplification. Henceforth, unless otherwise stated, singleton and group refer to singleton machines and machine groups, respectively. Figure 2 illustrates the grouping of duplicate machines (as indicated by the dashed box) with the sum of individual processing times equal to that of the machine group and the removal of extraneous arcs necessary for simplification. As duplicate machines of the same origin might be used to process operations of different jobs, it is necessary to prevent overlapping in processing. Of particular interest is the case involving _job pre-emption_. Figure 3 considers a machine with two jobs, \(j,j^{\prime}\in J:j\
eq j^{\prime}\); _job pre-emption_ occurs when top job \(j\) is _temporarily_ unloaded after completing certain operations, followed by the loading of the bottom job \(j^{\prime}\), processing, completion of one or more operations of \(j^{\prime}\) and unloading of \(j^{\prime}\), before \(j\) is _reloaded_ for processing its remaining operations. For explanatory purposes, Fattahi01 from Fattahi, Mehrabad and Jolai [29]--cited as SFJST01 by [PERSON] and [PERSON] [18]--is used to describe the JSPT network construction process. Though this example comprises only two jobs, its underlying principle extends to instances comprising three or more jobs. \(L(O)\) is numbered 0, while \(U(E)\) is tagged with the largest number. Jobs are arranged from top to bottom, with the first job taking the top position. Dummy \(p\) and \(d\) nodes are those labelled with either 'Xp' or 'Xd', respectively, with 'X' referring to the overall numbering after duplication. Machine (or operation) nodes are identified using labels of the form 'A/B/C', alongside concurrent 'd' and 'p' labels at the bottom, where 'A' is the newly assigned operation number (or machine) number, 'B' is the original overall operation number used in FJSP + T, and 'C' is the original FJSP + T machine number. Figure 2: Pre-grouping of machine stations just after network construction (**top**) and post-grouping (alongside removal of extraneous arcs) for model simplification (**bottom**). The top cluster of Figure 4 comprises the three sub-networks that are used to construct the initial singleton JSPT network in the middle of Figure 4. The initial _singleton_ JSPT network depicted in the middle of the figure is an aggregation of all three sub-networks located at the top of Figure 4. The first sub-network (A) comprises _O-p_ arcs, _d-E_ arcs for transporter conservation, intramachine _d-p_ arcs to mirror waiting of transporters at respective stations, and intermachine _p-d_ arcs within each job to mirror transportation of jobs (load flows). The second (B) and the third (C) sub-networks comprise _d-p_ arcs to mirror empty transporters traveling to pick up other jobs after depositing their respective jobs (transporter flows). As shown in the bottom network, after grouping, extraneous arcs are removed, resulting in a simpler network. Figure 4: JSPT network constructed from FJSP + T machine-operation assignments.