# Heuristics for a Two-Stage Assembly-Type Flow Shop with Limited Waiting Time Constraints
## 4 Computational Experiments
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Set** & **LS1** & **LS2** & **LS3** & **LS4** & **LS4** & **LS6** \\ \hline A & **0.286 (29)**1 ** & 0.886 (0) & 0.242 (29) & 0.527 (12) & 0.466 (11) & 0.621 (2) \\ B & **0.165 (42)** & 0.906 (0) & 0.480 (9) & 0.459 (11) & 0.570 (5) & 0.436 (9) \\ C & **0.195 (40)** & 0.900 (0) & 0.488 (7) & 0.513 (13) & 0.518 (8) & 0.456 (13) \\ \hline Overall & **0.215 (111)** & 0.897 (0) & 0.403 (45) & 0.500 (36) & 0.518 (24) & 0.504 (24) \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Comparison of the list scheduling methods (the best values are in bold). Figure 6: Number of instances that NEH solved better than or equivalent to MNEH and vice versa. To achieve the best performance of the proposed metaheuristic algorithms (GA, IG, and SA), calibration experiments were performed. In general, calibration before using a metaheuristic is essential because the performance depends significantly on the control parameters. In other to calibrate the metaheuristics, we generated three instances for each combination of \((m,n)\), with three levels of machines (\(m=2,5\), and \(10\)) and four levels of jobs (\(n=50\), \(100\), \(300\), and \(500\)), on Set A. The algorithms solved each instance independently three times, and the average value resulting from the three runs was used to compute the RDI for comparison. For the termination condition, we set the maximum CPU time defined as \(t_{max}=n(m+1)(\mathit{if})/2\) ms, where \(\mathit{if}\) denotes the time factor and \(\mathit{if}=60\) in this calibration. The proposed GA has eight operators and parameters which are listed below. * Selection: two levels (tournament and roulette). * Crossover: six levels (OX1, OX2, SJX, SJX2, SBX, and SBX2). * Mutation (\(p_{IS}\)): five levels (0, 0.25, 0.5, 0.75, and 1). * Population size (\(P_{\mathit{size}}\)): five levels (20, 30, 40, 50, and 60). * Crossover probability (\(p_{c}\)): five levels (0.0, 0.1, 0.2, 0.3, and 0.4). * Mutation probability (\(p_{m}\)): five levels (0.6, 0.7, 0.8, 0.9, and 1.0). * Local search (\(P_{l}\)): five levels (30, 40, 50, 60, and 70). * Restart (\(P_{r}\)): five levels (50, 60, 70, 80, and 90). For the operators and parameters, 468,750 combinations were possible. To simplify this calibration, we performed two separate experiments. The first experiment was to select the best combination for selection, crossover, and mutation, and the second experiment was to find the best combination for the other parameters. For the first experiment, a full factorial design for selection, crossover, and mutation was considered; hence, 60 different algorithms were tested. The remaining parameters were fixed as (\(P_{\mathit{size}}\), \(p_{c}\), \(p_{m}\), \(P_{l}\), \(P_{r}\)) = (50, 1, 1, \(\infty\), \(\infty\)). These values were intended to make the parameters meaningless and to focus on the effects of selection, crossover, and mutation on the solutions. Figure 7 illustrates the main effect plot to determine the best operators with lower RDI values. As shown in the figure, (tournament, OX1 and 0.5) showed better performance. This was likely because many changes by crossover operation did not lead to better sequences in this problem with limited waiting time constraints. For mutation, the use of insertion and interchange with the same probability provided good results. Therefore, tournament, OX1 and \(p_{IS}\) = 0.5 were used in subsequent experiments.