# Unified Genetic Algorithm Approach for Solving Flexible Job-Shop Scheduling Problem
## 2 Research Background
### Genetic Algorithm for Solving the Flexible Job-Shop Problem
[25] used two-point crossover for the MS part and POX for the OS part. In order to maintain diversity in the population, the authors applied greedy mutation based on an SPT machine to the MS part. Moreover, they introduced a local search-based mutation operator called the adaptive neighbor search method for the mutation of the genes in the OS part. Table 1 shows that the minimization of the makespan is the most popular objective function in the FJSP literature. This paper also considers minimization of the makespan of the FJSP. In addition, all of the previous research papers utilized a multichromosome that contains the MS and OS parts, which is also the case in this paper. Most of the relevant research papers applied different crossover operators to the OS and MS parts of the FJSP multichromosome. Various previous research papers applied a GA with a single crossover operator to the FJSP [26; 27; 28]. However, they typically focused on one of the OS and MS parts, and details of the other part are missing. In such papers, the issue of genetic operators for the multichromosome was not discussed appropriately. In contrast, this paper applies a single crossover operator to the OS and MS parts in an evident manner. \begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Researchers**} & **Chromosome** & \multirow{2}{*}{**Crossover**} & **Mutation** & **Objective** \\  & **Structure** & & & \\ \hline [PERSON] et al. [18] & MS + OS & MS: uniform & MS: random alternative & Min. makespan, Min. maximal \\  & MS + OS: extended OX & OS: immigration & machine workload, Min. total workload \\ \hline [PERSON] et al. [19] & MS + OS & MS: assignment & MS: random alternative, greedy (min. workload) & Min. makespan \\  & OS: FOX & OS: PPS & \\ \hline [PERSON] and & MS + OS & MS: assignment & MS: random alternative, greedy (min. workload) & Min. makespan \\ [PERSON] [20] & MS + OS & OS: POX & OS: PPS & \\ \hline [PERSON] [21] & MS + OS & MS: two-point & MS: N/A & Min. Maximum fuzzy \\  & OS: GPX, GPPX & OS: swap & completion time \\ \hline [PERSON] et al. [22] & MS + OS & MS: MPX & MS: random alternative, greedy (SPT machine) & Min. makespan, Min. total workload \\  & OS: IPOX & OS: insertion & of machines, Min. critical \\  & & & machine workload \\ \hline [PERSON] et al. [1] & MS + OS & MS: two-point, uniform & MS: random alternative, greedy (SPT machine) & Min. makespan \\  & OS: POX & OS: swap & \\ \hline [PERSON] and [PERSON] [23] & MS + OS & MS: two-point & MS: random alternative & Min. makespan \\  & OS: POX & OS: swap & \\ \hline [PERSON] and & MS + OS & MS: uniform & MS: random alternative & Min. total tardiness \\  & [PERSON] [24] & MS + OS & OS: MPX1, MPX2 & OS: swap & \\ \hline [PERSON] et al. [29] & MS + OS & MS, OS: two-point, uniform & MS: random alternative & Min. makespan \\  & & & uniform & OS: neighborhood search & Min. makespan \\ \hline [PERSON] et al. [30] & MS + OS + TC & MS, TC: two-point & MS: random alternative & Min. average earliness \\  & OS: POX & OS: swap & & and tardiness \\ \hline [PERSON] et al. [31] & MS + OS & MS: uniform & MS, OS: & \\  & OS: POX & values mutation & Min. makespan \\ \hline [PERSON] et al. [32] & MS + OS & MS: uniform & MS: random alternative & Min. makespan \\  & OS: POX & OS: inversion & \\ \hline [PERSON] et al. [33] & MS + OS & MS: two-point & MS: shift & Min. makespan \\  & OS: POX & OS: swap & & Min. makespan \\ \hline [PERSON] et al. [25] & MS + OS & MS: two-point & MS: greedy (SPT machine) & Min. makespan, Min. total setup time, Min. total \\  & OS: POX & OS: adaptive neighborhood & & Min. total \\  & & & transportation time \\ \hline This paper & MS + OS & MS, OS: COGO & & \\  & & (one-point, two-point, uniform) & MS: random alternative & Min. makespan \\  & & & uniform) & OS: COGO & Min. makespan \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Existing GAs for solving the FJSP.