## 3 Materials and Methods
### Crossover Operator DPPX
Also, it is possible to increase or decrease the number of machines in the database. The table is arranged to correspond to the matrix record of operations shown in part 2 of this paper. Table 5 shows an example of a top relational database table containing data for application execution. \begin{table}
\begin{tabular}{l l l l l l l l l l l l l} \hline \hline \multicolumn{10}{c}{**Individual before the Mutation**} \\ \hline Individual & O\({}_{21}\) & O\({}_{11}\) & O\({}_{31}\) & O\({}_{32}\) & O\({}_{22}\) & O\({}_{12}\) & O\({}_{33}\) & O\({}_{23}\) & O\({}_{24}\) & O\({}_{34}\) & O\({}_{13}\) & O\({}_{14}\) & O\({}_{25}\) \\ \hline Operation & 2 & 1 & 1 & 3 & 2 & 1 & 3 & 2 & 2 & 3 & 1 & 1 & 2 \\ \hline Machine & 1 & 1 & 1 & 1 & 4 & 2 & 7 & 3 & 3 & 4 & 9 & 6 & 8 \\ \hline \multicolumn{10}{c}{**Individual after the Mutation**} \\ \hline Individual & O\({}_{21}\) & O\({}_{11}\) & O\({}_{31}\) & O\({}_{22}\) & O\({}_{23}\) & O\({}_{12}\) & O\({}_{32}\) & O\({}_{33}\) & O\({}_{24}\) & O\({}_{34}\) & O\({}_{13}\) & O\({}_{14}\) & O\({}_{25}\) \\ \hline Operation & 2 & 1 & 3 & 2 & 2 & 1 & 3 & 2 & 2 & 3 & 1 & 1 & 2 \\ \hline Machine & 1 & 1 & 1 & 4 & 6 & 2 & 4 & 7 & 3 & 9 & 9 & 6 & 8 \\ \hlineThere are four work orders in the table; the first has four operations, and the others have five operations. The first column represents the work order number (RIndex), i.e., the work order index, and the second column represents the operation index (Olndex) within the work order. The following columns represent machines, and the execution time of that operation is in the intersection of the corresponding column of the machine and operation if it is predicted that the operation will be performed on that machine if the execution time is not 0. Execution times are given in minutes in this table. In this stage of the present research, execution times are intended to be entered in minutes, while the option of entering them in other time units will be provided in the future upgrade of the application. The table can be easily modified to expand with new machines and new operations. Each machine's operation cost per unit time is known and has been previously read from the appropriate database. It should be noted that the total number of machines and the total number of operations that the user can modify must correspond to the number of machines and the number of operations located in the input data set. ### Experimental Testing of Proposed GA

The purpose of this research was to create a helpful tool for SMEs to use in everyday business and decision-making focused on the FJSP. The basis of this tool is the proposed GA, and it was necessary to test it on existing problem instances from the available literature and compare its effectiveness with existing solutions. A large number of problem instances can be found in the available literature ([[http://www.idsia.ch/monaldo/fjsp.html](http://www.idsia.ch/monaldo/fjsp.html)]([http://www.idsia.ch/monaldo/fjsp.html](http://www.idsia.ch/monaldo/fjsp.html)), accessed on: 15 February 2023). For experimental testing, the data set defined by [PERSON] [31] was chosen, which consisted of 10 problems with the number of working orders ranging from 10 to 20, the number of machines between 4 and 15, and the number of operations for each working order ranging from 5 to 15. RMGA was tested on 2.20 GHz PC with 8 GB of memory. For experimental testing, the application used the test data stored in txt files, as shown in Figure 2. In the upper right corner of the application, there is a list of.txt files, each of which represents an instance of a problem. The classic PPX crossover operator and the DPPX crossover operator were both used to test each of the problem situations. In order to carry out our experiment, authors tested the algorithm with the following parameters:

* Population size: 400;
* Number of parents 30% of population size: 120;
* Mutation probability: 5%;
* Number of generations: 150.