Each operation is assigned a unique operation type that can be processed by one or more functional modules. The current list of operation types is shown in Table along with the rules to estimate their processing times. Ordinary precedence relations are added according to the order in the above steps. Specifically, the Heating operation precedes all Work shift constraints, if included in the formulation, are applied to all operations. The duration of a shift is set as 1.5 × the longest processing time with a gap between shifts set to half the duration of a shift. Two distinct sets of functional modules (LAB-1 and LAB-2) are used for all case studies.