# Unified Genetic Algorithm Approach for Solving Flexible Job-Shop Scheduling Problem
## 5 Conclusions and Further Remarks  
In order to apply the GA to solve a combinatorial optimization problem, a solution of the problem must be represented in the form of a chromosome comprising a number of genes. A solution for the classical JSP can be encoded using only OS-type genes. In contrast, a solution for the FJSP is typically represented in the form of a multichromosome, which consists of the OS and MS parts. Since the structures of the OS and MS parts are quite different, existing GAs generally apply different kinds of genetic operators to them. Consequently, the evolution procedures of the two parts are independent from each other, and a combination of OS and MS genes for an identical operation is easily broken during the search procedure. Moreover, the application of different kinds of crossover operators can make the GA complex and hard to implement and maintain. In order to overcome these problems, this paper proposes the u-COGA, which can be used to solve the FJSP. The u-COGA utilizes an integrated genetic operator called the COGO to handle the multichromosome for the FJSP. The COGO enables the application of conventional crossover strategies, such as one-point, two-point, and uniform crossovers to the OS part. The u-COGA is designed to apply an identical crossover strategy to both the OS and MS parts. Moreover, the COGO generates a new sequence of given operations by choosing one operation at a time, which is suitable for the purposes of crossover and mutation. In order to perform the crossover operation, the COGO chooses a candidate with the smallest reference position. On the contrary, the mutation operation is performed by choosing a candidate with the largest reference position. In other words, the COGO of the u-COGA is used to perform three operations: crossover for the OS part, crossover for the MS part, and mutation for the OS part. Mutation for the MS part should be performed in a different manner, and random alternative mutation is used in this paper. Consequently, crossover and mutation are performed using two genetic operators: the COGO and mutation operator for the MS part in the u-COGA. Note that four different kinds of operators, i.e., crossover for the OS part, crossover for the MS part, mutation for the OS part, and mutation for the MS part, are required to implement the existing GAs for the FJSP. In other words, the COGO enables one to solve the FJSP using a GA with a simpler structure. In order to evaluate performance of the u-COGA, numerical experiments were performed using an FJSP benchmark problem library. The experiment results reveal that the performance of the u-COGA is generally superior to that of the existing GAs in terms of the makespan. In more detail, the u-COGA improves the makespan values for the FJSP by about 2.79%. Notably, the best solution for a benchmark problem instance was generally found using the u-COGA based on the uniform crossover strategy. In contrast, the worst \begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline  & **eData** & & **\(\star\)Data** & & & **vData** & \\ \hline
**ALCORITHM** & **Existing GA** & **u-COGA** & **ReductionRatio (\%)** & **Existing GA** & **u-COGA** & **ReductionRatio (\%)** & **Existing GA** & **u-COGA** & **ReductionRatio (\%)** \\ \hline MT06 & 49.95 & 47.9 & 4.10 & 47.9 & 47.25 & 1.36 & 47.8 & 46.9 & 1.88 \\ MT10 & 1096.1 & 1093.85 & 5.80 & 567.95 & 492.25 & 2.36 & 1.59 & 202.25 & 1.37 \\ MT20 & 1134.15 & 1074.2 & 5.29 & 1003.35 & 1065.55 & 2.47 & 1008.85 & 1053.02 & 1.46 \\ \hline \hline \end{tabular}
\end{table} 
Table 10: Comparison of the best makespan obtained by the existing GAs and u-COGAs. solution was generally found by one of the existing GAs. This means that the u-COGA can explore the search space of the FJSP more effectively, and we can conclude that the GA for the FJSP should contain procedures for maintaining good combinations of good OS and MS genes; thus, the u-COGA is a promising approach for solving complex combinatorial optimization problems.