# A Hybrid Discrete Memetic Algorithm for Solving Flow-Shop Scheduling Problems
## 8 Parameter Sensitivity Analysis
The maximum iteration count (generation count) of the DBMEA algorithm is the maximum number of iterations since the last improvement in makespan. This parameter  
Figure 14: Analysis of the iteration count (MCTS) parameter. Figure 15: Analysis of the \(N_{ind}\) parameter. impacts the scheduling performance and runtime significantly. \(\omega\) and its standard deviation keep decreasing as the number of iterations increases (see Figure 15(b),d), while the runtime is coupled linearly to the number of generations (see Figure 15(a)). Similarly to the population size (\(N_{ind}\)), the number of iterations was set to a lower value to keep MCTS and SA iteration counts high while keeping runtimes manageable. The number of clones (\(N_{clones}\)) parameter is the number of clones generated in each bacterial mutation operation. An overly large number of clones creates many bacteria with the same permutation; therefore, going over a certain amount yields negligible or no improvement in overall scheduling performance (Figure 16(b)) while increasing runtimes (Figure 16(a)). The number of infections (\(N_{inf}\)) is the number of new bacteria created during the gene transfer operation. This may increase diversity in the population with negligible runtime differences (See Figure 17(b)); therefore, a higher value of forty was chosen to increase the chances of escaping local optima when scheduling larger problems. The \(I_{seg}\) parameter is the length of the segment in the bacterial mutation operation. This value determines the size of the segment to be mutated to generate new mutant solutions. The larger the segment, the more varied the mutants will be. This parameter has a lesser impact on overall performance and runtime (See Figure 16(b)). However, a value of four yielded the lowest standard deviation in runtime (See Figure 16(c)); therefore, it is the final parameter value chosen for our testing. \(I_{trans}\) is the length of the transferred segment in the gene transfer operation. A longer segment may increase the variance in generated solutions. However, in our testing, it had little impact on the quality of solutions (See Figure 16(b),d) and runtimes (See Figure 16(a),c). A value of four was chosen since it is a good middle-ground and it illustrates the workings of the operator well. Figure 16: Analysis of the DBMEA maximum iteration count. The mortality rate of \(N_{mort}\) is the percentage of the population to be terminated at the end of each iteration (generation) and replaced with random solutions to increase diversity and escape local optima. A mortality rate of one creates a random population for each generation; a low mortality rate keeps more from the previous generation. Therefore, the mortality rate is an extension of elitism, where a portion of the population is kept instead of just one individual. It is evident that a high mortality rate (above 0.1) decreases the scheduling efficiency of the algorithm since the beneficial traits of previous generations are not carried forward (See Figure 21b,d). Too low of a value may increase the chance of the search being stuck in local optima. The mortality rate must be kept as high as possible without negating the traits of previous iterations. The parameter has almost no impact on the runtime of the algorithm (see Figure 21a,c). Considering the above, a mortality rate of 0.1 (10%) was chosen. After our parameter analysis, a set of parameters were determined for the final testing on the entirety of the Taillard benchmark set. Table 1 contains all of the parameters chosen. These running parameters were used to obtain the results presented in Tables A1-A4. Figure 17: Analysis of the \(N_{clones}\) parameter. Figure 19: Analysis of the \(I_{seg}\) parameter. Figure 18: Analysis of the \(N_{inf}\) parameter.