## 4 Model and Notations
### Mixed-Integer Linear Programming
#### 4.1.1 Start-Based Model  
The start-based model was developed in our previous work [3], with the consideration of sequence-dependent setups, parallel machines, and precedence constraints, and this model is formulated as a mixed-integer linear programming model as below and called MILP\({}_{\text{wav}}\) from now on.  
\[\text{Minimize }T=\sum_{i=1}^{n}t_{i} \tag{1}\]  
Subject to:  
\[t_{i}=max(C_{i}-d_{i}) \tag{2}\]  
\[\sum_{k=1}^{m\epsilon}X_{ijk}=1,\forall i\in\text{N},\mathbf{j}\in\text{Ji}, \mathbf{k}\in\text{m}_{\mathbf{j}} \tag{3}\]  
\[C_{ijk}\geq S_{ijk}+P_{ijk}-BigM\Big{(}1-X_{ijk}\Big{)},\forall i\in N,j\in Ji, k\in m_{j} \tag{4}\]  
\[\text{S}_{\text{ijk}}+\text{C}_{\text{ijk}}\leq\text{BigM}(\text{X}_{\text{ ijk}}\Big{)},\forall i\in N,j\in Ji,k\in m_{j} \tag{5}\]  
\[C_{ijk}\geq S_{ijk},\forall i\in N,j\in Ji,k\in m_{j} \tag{6}\]  
\[\sum_{i\in j}\sum_{j,j^{\prime}\in i\alpha}\sum_{k\in m^{i}}Y_{ijij^{\prime} k}=1,\forall i,i^{{}^{\prime}}\in N,j,j^{{}^{\prime}}\in Ji,J_{i^{\prime}}k\in m _{ij}\cap m_{i^{\prime}j^{\prime}} \tag{7}\]  
\[S_{ijk}\geq C_{i^{\prime}j^{\prime}k}+St_{ijij^{\prime}fk}-BigM\Big{(}1-Y_{ij ij^{\prime}fk}\Big{)},\forall i,i^{{}^{\prime}}\in N,j,j^{{}^{\prime}}\in Ji,J_{i^{ \prime}}k\in m_{ij}\cap m_{i^{\prime}j^{\prime}} \tag{8}\]  
\[S_{i^{\prime}j^{\prime}k}\geq C_{ijk}+St_{ijij^{\prime}fk}-BigM\Big{(}Y_{ijij^ {\prime}fk}\Big{)},\forall i,i^{{}^{\prime}}\in N,j,j^{{}^{\prime}},J_{i^{ \prime}},J_{i^{\prime}},k\in m_{ij}\cap m_{i^{\prime}j^{\prime}} \tag{9}\]  
\[C_{ijk}=P_{ijk}+S_{ijk},\forall i\in N,j\in Ji,k\in m_{j} \tag{10}\]  
\[C_{i}=\sum_{k=1}^{m_{ij}}C_{ijk},\forall i\in N,j\in Ji,k\in m_{ij} \tag{11}\]  
\[t_{i}\geq 0,i\in N \tag{12}\]  
\[X_{ijk}\in\{0,1\};\forall i\in N,j\in o_{i},\in m_{ij} \tag{13}\]  
\[Y_{ijij^{\prime}fk}\in\{0,1\},\forall i,i^{{}^{\prime}}\in N,j\in Ji,j^{{}^{ \prime}}\in J_{i^{\prime}},k\in m_{ij}\cap m_{i^{\prime}j^{\prime}} \tag{14}\]  
\[S_{ijk}\geq 0,\forall i\in N,j\in Ji,k\in m_{ij} \tag{15}\]  
\[C_{ijk}\geq 0,\forall i\in N,j\in Ji,k\in m_{ij} \tag{16}\]  
The objective function (1) aims at minimizing the sum of the total tardiness of all jobs. Constraint (2) provide us with the value of the individual tardiness of each job. Constraint (3) states that each operation can only be assigned to one machine, where the decision variable X\({}_{ijk}\) is non-zero if operation O\({}_{ij}\) is assigned to processing unit \(k\) and zero otherwise. Constraint (4) ensures that a job's completion time is no earlier than the sum of its start time and processing time. Constraint (5) sets the end date of each job on machines that are not processing the job to 0. Constraint set (6) controls job completion at stages that a job may skip. Constraint set (7) enforces precedence constraints, ensuring that each operation of a job can only begin after its preceding operation has been completed. Constraints (8) and (9) are used together to sequence any pair of tasks (\(i\), \(i^{\prime}\)) assigned to the same processingunit k, preventing two jobs from being processed simultaneously on the same machine to ensure the machine is occupied when processing an operation. Constraint set (10) specifies that the completion time of any operation is the sum of its start time and processing time. Constraint set (11) calculates the completion time of a job as the sum of the completion times of all the operations in its processing route. Constraint (12) ensures that only positive tardiness values are considered. Finally, Constraint sets (13) (14), (15), and (16) define the decision variable domains.