## 4 Methodology: Problem-Solving Methodology
### Two-Stage Adaptive Large Neighbourhood Search (Two-Stage ALNS)
#### 4.1.5 Simulated Annealing (SA)  
We embedded the simulated annealing (SA) algorithm at the top level of the modified ALNS algorithm to avoid the solution being trapped at a local optima. SA accepts an \(s_{repaired}\) value that is worse than \(s_{current}\) with the acceptance probability defined by Equation (47) for Stage1 and Equation (48) for Stage2. The calculation of annealing temperature (temp) can be expressed as shown in Equation (49):  
\[temp=temp_{0}\cdot\gamma \tag{47}\]  
\[prob_{1}=e^{\frac{F_{repaired-F_{current}}}{temp}} \tag{48}\]  
\[prob_{2}=e^{\frac{F_{current}-F_{repaired}}{temp}} \tag{49}\]  
where  
\(temp=\) Annealing temperature; \(temp>0\). \(temp_{0}=\) Initial annealing temperature. \(\gamma\) = Cooling rate; \(0<\gamma<1\). \(prob_{1}=\) Probability acceptance of Stage1. \(prob_{2}=\) Probability acceptance of Stage2. \(F_{current}=\) Objective value of the current solution. \(F_{repaired}=\) Objective value of the repaired solution. the two-stage ALNS, the single stage NSGA-II did not implement the decomposition strategy that reduces the search space of the TFWAP by treating the team formation as a subproblem. Without the decomposition strategy, the algorithm will explore a larger search space and hardly obtain a feasible solution. Therefore, there is a high possibility that a set of team formation constraints cannot be satisfied in the final solution. Table 7 displays a solution obtained from the single-stage NSGA-II as a two-dimensional chromosome of the numerical example. The calculation of the solution in Table 7 can be found in the Supplementary Materials. To handle the constraints of the TFWAP, we proposed the two-stage ALNS that decomposed the TFWAP into two subproblems and embedded the problem-oriented constraint handling heuristics. Tables 8-12 display the obtained feasible solution using the two-stage ALNS. At the team formation stage, each cell contained a highly cohesive work team where cell 1 contained workers [1,2] and cell 2 contained workers [3,4]. The two-stage ALNS guaranteed that each cell contains workers with the skills to execute parts. At the worker-part assignment stage, only worker 1 was assigned to operate parts {1,2,4} in cell 1. Worker 3 was assigned to operate part [3] and worker 4 was assigned to operate parts [5,7]. Table 12 shows the solution of the example obtained by the two-stage ALNS method. The calculation of the solution in Table 12 is shown in the online Supplementary Materials. \begin{table}
\begin{tabular}{c c c} \hline \hline  & **Penalty** & **Penalty Value** \\ \hline
1. & Demand unfulfillment & 0 \\
2. & Working overtime & 0 \\
3. & Worker cell transfer & 2\(\cdot\)1, 000, 000 \\
4. & Cell-cohesion requirement & 0 \\
5. & Workers \textgreater{} Tasks in cell & 1\(\cdot\)1, 000, 000 \\ Total penalty value & 3,000,000 \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Penalty values obtained by using NSGA-II for the illustrative example. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Parameter** & **Description** & **Value** \\ \hline \(Z_{1}\) & The total inventory level & 3,000,467 \\ \(Z_{2}\) & The average cell worker’s idle time variation of all cells & 3,000,000.134 \\ \(normCOH_{avg}\) & The normalised average cohesion of all cells & 0.833 \\ \hline \hline \end{tabular}
\end{table} 
Table 7: Solution obtained by using NSGA-II for the illustrative example. \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline  & \multicolumn{4}{c}{**Cell 1**} & \multicolumn{4}{c}{**Cell 2**} \\ \hline
**Worker _w_** & **Part 1** & **Part 2** & **Part 3** & **Part 4** & **Part 5** & **Part 6** & **Part 7** & **Part 8** & **Part 9** \\ \hline
2 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 1 \\
3 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
4 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Solution of worker-part assignment obtained by NSGA-II for the illustrative example.