## 3 Materials and Methods
### Crossover Operator DPPX  
The goal of reproduction is to create new, preferably better individuals or create a new generation of individuals. For this purpose, the GA uses a genetic operator of crossing individuals or crossover. The first step is to choose two parents from a determined set of parents during the parents' selection. In this algorithm, two parents are chosen randomly. The only condition is that the parents cannot be the same individuals. [PERSON] and [PERSON] [29] gave an overview of crossover operators used in flexible job shop problems, particularly the problems necessary to preserve the sequence of operations or previous relations because the schedule is predefined for each work order. In this paper, the uniform precedence preservative crossover (PPX) operator was chosen as a crossover operator. [PERSON] [30] defined the PPX operator as a sequencing genetic crossover operator. Sequencing operators only change the sequence of the operations in the parent chromosomes, i.e., the assignment of operations to machines is preserved in the offspring. In this paper, a new modified PPX operator called DPPX usage will be presented, which introduces a fitness comparison between parents and the newly created individual in a crossover process as a first modification. As the problem in this paper is set so that one operation can be performed on multiple machines, another modification of the PPX operator was introduced in order to check for each operation if the machine is a member of a machine subset intended to execute the given operation. The third modification is a condition that schedules can be transferred in the next generation only if their average production cost satisfies the condition given in Equation (22) of the mathematical model. An overview of the PPX operator will be given in the following example (Table 1). The first step in the PPX operator algorithm is to form an array S (or a vector, as some authors call it) consisting of the digits 1 (first parent) and 2 (second parent) by random selection. This sequence defines the order in which genes are drawn from both parents. The number of members of the sequence is equal to the number of genes in the chromosome. If the member of the sequence S is number 1, then, going from left to right, the first gene of parent one is taken into the new individual, and it is deleted from both the first and second parent (going from left to right). If the member array S is number 2, the same procedure is repeated for the second parent. The procedure is repeated as long as there are genes in parents one and two. Table 2 shows the PPX operator's operation after the fourth iteration and Table 3 at the end of the crossover process. The PPX operator is applied only to the part of the chromosome in the second row or to the operation sequence. As defined, it cannot be applied to the part of the chromosome that refers to machines, since it can lose the predetermined machine subset where an operation is performed. PPX is based on the exchange of genes between two parents while keeping the operations schedule within one work order, but not the machines on which this operation is performed. Tables 2 and 3 clearly show that after applying the PPX operator, a new individual was created in which the final order of operations within the work orders was preserved. However, as the PPX operator keeps the machine on when the operation is performed, as it was selected during the formation of the initial population, it may happen that there is a better individual, that is, a schedule of operations with a better makespan, where certain operations are performed on other machines. The PPX operator in this form would be appropriate if any operation can be performed on any machine. However, this is a rare case in practice and represents only a particular case of this paper's observed model. The DPPX operator, after every iteration, checks whether the operation or withdrawn gene can be performed on the other machines from the defined subset of machines with a lower