A Study of Crossover Operators for Genetic Algorithm and Proposal of a New Crossover Operator to Solve Open Shop Scheduling Problem

Open Shop Scheduling Problem (OSSP) is a combinatorial optimization problem for more than two machines and n jobs. Open Shop Scheduling Problem is another kind of scheduling problem along with flow shop and job shop scheduling problems. The open shop scheduling problem involves scheduling of jobs, where the sequence of the operations of each job can be arbitrarily chosen and need not be same. This means that the operations of the jobs can be performed in any sequence. In the absence of sequences for the jobs, for a given set of jobs, finding different parameters like maximum completion time Cmax becomes highly difficult and complex. One can use complete enumeration method or branch and bound method to solve this problem optimally for small and medium size problems. The large size problems of open shop problem with more than two machines and with n jobs can be solved by either a heuristic or meta-heuristics such as genetic algorithm, simulated annealing algorithm, etc. to obtain very near optimal solution. The performance of the genetic algorithm is affected by crossover operator performed between two parent chromosomes. Hence, this paper explores various crossover operators used, while using evolutionary based genetic algorithm to solve open shop scheduling problems. It further attempts to propose a new crossover operator using three chromosomes.


Introduction
Flow shop scheduling problem, job shop scheduling problem and open shop scheduling problem differed in the way of operations in each job need to be processed on "m" machines [1] [2].Flow shop scheduling problem involves scheduling of jobs, where each job has a sequence and the sequences of the jobs are the same.Job shop scheduling problem involves scheduling of jobs, where each job has a sequence but the sequences of all the jobs are not the same.Open shop scheduling problem involves scheduling of jobs, and each of the jobs does not have any sequence.The sequences of the jobs of this problem can be arbitrarily chosen and need not be same.The open shop scheduling problem is also called as moderated job shop (Panneerselvam [3]), which is between flow shop scheduling problem and job shop scheduling problem.
Let "m" be a set of machines, where processing on each machine represents an operation and "n" is the number of jobs with m operations that need to be processed on m machines.Each machine can process only one job at a time and each job can be processed only on one machine at a time.The objective is to complete the processing of all the jobs in such a way that the total time taken to complete all the jobs is minimized.This is called as makespan or maximum completion time (C max ).In this paper, Genetic Algorithm is considered to arrive at a sequence that provides near-optimal solution.
Genetic Algorithm has the following important steps [4]. 1. Generate initial population of N chromosomes.
2. Evaluate the fitness function f(x) for each chromosome x in the population.3. Sort the population by the objective function (fitness function) value in the desirable order depending on the type of objective function (maximization means descending order and minimization means in ascending order).
4. Copy a percentage of population to form a subpopulation. 5. Then randomly select two parent chromosomes from the subpopulation and perform crossover to produce their offspring.
6. Perform mutation in each of the offspring for a given probability.7. Repeat the process till a specified number of generations is completed.8. Finally identify the chromosome in the larger population which has the best fitness function value for implementation.
Crossover operator is an important stage in the Genetic Algorithm (GA), which involves mating of the selected chromosomes to produce child chromosomes with better fitness which in turn becomes parent chromosomes in the next generation.More than 60% of research papers consider minimization of maximum completion time or C max as the objective function for the open shop scheduling problem, while the remaining papers consider the average completion time or total completion time, multi-criteria objective or to minimize the tardiness or earliness as the objective function.
The selection of an appropriate crossover operator for research work based on GA is highly significant step to reduce the maximum completion time C max .This paper tries to make an attempt to describe various crossover operators used by various researchers to minimize the maximum completion time.This paper is organized as follows: Section 2 provides an overview of literature concerning GA with an objective of minimizing Cmax for an OSSP.The literature review covers various research works using different crossover operators.Section 3 describes various methods of encoding chromosome before performing crossover of chromosomes.It further explains decoding of the encoded chromosome.Section 4 discusses various crossover operators with a proper illustration.Section 5 deals with the new crossover operator proposed by the authors of the paper.Section 6 demonstrates the use of proposed new crossover operator by considering an instance and summarizes the result finally.

Literature Review
Anand and Panneerselvam [5] carried out a comprehensive review of literature on open shop scheduling problem.Senthilkumar and Shahbudeen [6] proposed a heuristic based on Genetic Algorithm (GA) to minimize the makespan of the open shop scheduling problem and they compared it to an earlier work of Panneerselvam [3].The authors adopted two-point crossover method for the chromosomes that are encoded using implicit permutation coding.They developed a heuristics (HU1) that surpassed the performance of an earlier heuristic developed by Panneerselvam [3]. Louis and Xu [7] worked on storing the past results in memory as cases and then injecting them into the population of new problem situation to solve the problem using genetic algorithm.They called it as case based reasoning (CBR) and the objective was to minimize the makespan.It is very similar to the way a patient is handled and treated by a doctor.It is much more convenient for a doctor to treat a patient with his medical history at hand than the patient without medical history.The authors adopted one point crossover of two digit encoded chromosomes.They adopted Partially Mapped Crossover with single digit encoded chromosomes too.They concluded that case based genetic algorithm performs better than randomly initialized genetic algorithm even up to 300 generations, for a problem size of 7 × 7 Open shop re-scheduling problems.
Zobolas et al. [8] developed a hybrid meta-heuristic by combining genetic algorithm with a variable neighbourhood search algorithm for the open shop scheduling problem to optimize the makespan.They used doubledigit subscription encoding to encode the chromosomes and used linear order crossover operator to perform crossover of chromosomes.They tested the developed meta-heuristics against 192 different benchmark instances of Taillard [9], Brucker [10], Gueret and Prins [11].In several of the instances, they found that the results of the heuristic perform better than the results of the heuristics developed by earlier researchers.Kokosinski and Studzienny [12] adopted a two-digit subscripts permutation encoding without repetition and with repetition.Linear order crossover (LOX) method with swap and invert mutation operators is used along with two-element tournament selection scheme with elitist policy.Two heuristics, viz.Longest Processing Time (LPT)-Task and LPT-Machine were used along with genetic algorithm to obtain better results.The objective here was to minimize the makespan.
Ching-Fang Liaw [13] focussed on hybrid genetic algorithm with tabu search as local optimization procedure for the open shop scheduling problem to minimize the makespan.The author has used simple permutation encoding method to represent a chromosome and experimented with several crossover operators, viz.partially mapped crossover (PMX), order crossover (OX), cycle crossover (CX), order-based crossover and positionbased crossover.Linear order crossover (LOX) has given best results for the problem under consideration.Andresen et al. [14] discussed application of linear order crossover (LOX) with elitist strategy for the open shop scheduling problem with the objective of minimizing the sum of completion times or mean flow time.They adopted simple permutation encoding method.Tests are performed with different crossover probabilities 0.2, 0.3, 0.4, 0.5 and 0.6.Tabu search has been used as the local search tool.Matta [15] considered multiprocessor open shop (MPOS) scheduling problem with genetic algorithm using two-digit permutation encoding of chromosome to optimize the total completion time or makespan.
Several researchers used different types of crossover operators and encoding operators that served their purposes and objectives.There are situations, where certain chromosome encoding operator cannot be used.Binary encoding operator cannot be used to represent the chromosome for open shop scheduling problems.This paper tries to understand and explore different encoding and crossover operators.It also proposes a new crossover operator called Three-chromosome Juggling crossover operator.

Encoding of Chromosomes
Encoding of a chromosome or a string is an important stage in GA.This involves the process of representing the information contained in the problem in the form of an appropriate chromosome or string.Binary encoding is highly used encoding method.Binary encoding for OSSP is not an appropriate and feasible encoding method.The different encoding methods applied to the open shop scheduling problem with 4 machines and four jobs are presented below.

Permutation Encoding
This is the simplest way to encode chromosome for an OSSP but difficult to decode.For the problem size of 4 machines and 4 jobs (4 × 4), each job has four operations and the total number of operations irrespective of the jobs is 16.The operation numbers from 1 to 16 irrespective of the jobs are shown in Table 1, which is the encoding scheme of this problem.
The sixteen operations are assigned randomly to sixteen gene positions as shown in Figure 1 form a chromosome.
The genes of the chromosome can be decoded as shown in Table 2.The sequence of the genes of the job 1 (1, 2, 3 and 4) are listed as per order of appearance of them in the chromosome as shown against the job 1 in Table 2.The sequence of the genes of the job 2 (5, 6, 7, and 8) are listed as per order of appearance of them in the chromosome as shown against the job 2 in Table 2.The sequence of the genes of the job 3 (9,10,11  12) are listed as per order of appearance of them in the chromosome as shown against the job 3 in Table 2.The sequence of the genes of the job 4 (13, 14, 15, and 16) are listed as per order of appearance of them in the chromosome as shown against the job 4 in Table 2.
The sequence of operations for each job is decoded as shown in Table 3.The gene numbers of the job 1 shown in Table 3 correspond to the respective machine numbers without any change.So, there is no need of decoding obtain the operations of the job.The operation numbers for the genes of the job 2 are obtained by subtracting 4 from each of them.The operation numbers for the genes of the job 3 are obtained by subtracting 8 from each of them.The operation numbers for the genes of the job 4 are obtained by subtracting 12 from each of them.

Two-Digit Permutation Encoding
Table 4 shows the two-digit encoding of all the operations for a 4 × 4 size problem proposed by Louis and Xu [6].The two digits shown in each job-machine combination represents the corresponding job number and machine number.The total number of digits to represent will be 2 × m × n.For the problem in Table 2, the number of digits used is 2 × 4 × 4 or 32 digits.A chromosome based on the encoding shown in Table 4 can be as shown in Figure 2.
The chromosome can be decoded as shown below.First the two-digit genes of the job 1 which appear from left to right of the chromosome are written in the same order against the job 1 in Table 5.In the same way, the two-digit genes of the remaining jobs are written in the Table 5.
Now, the decoding of the genes of each job shown Table 5 is done by ignoring the first digit (job number) of each of the two-digit genes of that job as shown in Table 6.

Two-Digit Subscript Permutation Encoding
This is same as the two-digit permutation encoding except in the way of representation as shown in Table 7 for a problem of 4 × 4 open shop scheduling problem.The combination of job and operation is shown as a subscript of O, which means operation.

Implicit Permutation Encoding
In this encoding method, the numbers do not explicitly mention the job on particular machine, but implicitly convey which job to be run on which machine as shown in The decoding of the genes of the chromosome shown in Figure 3 is shown in Table 8.The decoding of the genes for the machine is explained below.
1.In the first part of the chromosome, the very first job number is 2. Hence, 1 is entered in the row 2 under the gene position of the column for Machine 1.
2. Then randomly select an unassigned operation (operation number) of the job 2 and assign it to the machine 1.
3. Next, from the same part, the second job is 3. So, the gene position 2 is entered in the row 3 under the gene position of the column for Machine 1.
4. Then randomly select an unassigned operation (operation number) of the job 3 and assign it to the machine 1. 5. The next job is 1 at the gene position 3 of the part 1 of the chromosome.So, the gene position 3 is entered in the row 1 under the gene position of the column for Machine 1.
6. Then randomly select an unassigned operation (operation number) of the job 1 and assign it to the machine 1. 7. Next, the gene position 4 which contains the job 4. So, the gene position 4 is entered in the row 4 under the gene position of the column for Machine 1.
8. Then randomly select an unassigned operation number of the job 4 and assign it to the machine 1.
In the same way, the decoding of the genes for the rest of the machines can be carried out.The final decoded sequence of the operations of the jobs based on Table 8 is shown in Table 9.

Crossover Operator
Crossover operator is an important step in genetic algorithm, where the parent chromosomes are taken in pair and their genes are exchanged in certain order to obtain off spring.These offspring become next generation

One-Point Crossover
The steps of one-point crossover method are listed below.a) Mark one point in the chromosome to create two substrings of genes in Parent Chromosome 1 (PC1) as shown in Figure 4.
b) Copy the substring 1 from PC1 to Offspring 1 (OF1) as it is.At the same time cancel the corresponding genes in PC2, which are shown with grey boxes in Figure 4.
c) The non-grey cells are copied to OF1 in linear order to fill substring 2 of OF1 as shown in Figure 4.

Two-Point Crossover
The steps of two-point crossover method are listed below.a) Mark two points randomly in the chromosome to create three substrings of genes, viz.Substring 1, Substring 2 and Substring 3 as shown in Figure 5.  c) Start filling from the left side of the substring 3 of OF1 with genes starting from non-grey cells of substring 3 of PC2 and then substring 1 and substring 2 in cyclic order.The non-grey cell after the second cut point of PC2 will be the first gene after the second cut point of OF1 to be filled and so on as shown in Figure 5.

Linear Order Crossover (LOX)
The steps of linear order cross over method are presented below.a) Mark two points randomly to create three substrings, Substring 1, Substring 2 and Substring 3of genes as shown in Figure 6.
b) Copy the Substring 2 from Parent Chromosome 1 (PC1) to Offspring 1 (OF1) as it is.At the same time cancel the corresponding genes in PC2 as shown with grey boxes in Figure 6.
c) The non-grey cells are copied to OF1 in linear order (from left to right) to fill the Substring 1 and Substring 3 of OF1 as shown in Figure 6.

Cycle Crossover
The steps of cyclic crossover method are presented below: a) From the two parent chromosomes PC1 and PC2 and find a cycle starting from first gene of PC1 as shown in

Position-Based Crossover
The working logic of position based crossover method is presented below.

Order-Based Crossover or Order Crossover
The crossover method is a slight modification of the position-based crossover operator.The steps of this method are presented below.a) Randomly select some genes, which are as marked with grey cells, from PC1 and mark the corresponding genes in PC2with grey cells as shown in Figure 11.
b) Copy the non-grey cells of PC2 onto OF1 as it is.c) Fill the balance cells of OF1 with the genes, which are marked with grey colour in PC1 in linear order (from left to right).

Partially Mapped Crossover (PMX)
The steps of the partially mapped crossover method are listed below.
a) Mark two points on PC1 and PC2 that will create three substrings, viz.Substring 1, Substring 2 and Substring 3, as shown in Figure 12.
b) Copy Substring 1 and Substring 3 of PC1 to OF1 and Substring 2 of PC2 to OF1. c) This will result in duplicity of genes O 12 , O 23 , O 13 , and O 44 .These genes appear twice in OF1.To escape from duplicity, we partially map the genes in Substring 2 of PC1 and PC2.This is equivalent to find the union of the genes in the substring 2 of PC1 and the genes in the substring d) This will yield legal OF1 without any duplicity as shown in Figure 12.The Offspring 1 (OF1) after the partial mapping replacements is as shown in Figure 13.

Three-Chromosome Juggling Crossover (TCJC) Operator (Proposed Crossover
Operator) The three chromosome juggling crossover (TCJC) operator is classified into TCJC forward and TCJC backward.

TCJC Forward
Three-chromosome Juggling Crossover (TCJC Forward) Operator can be used for chromosomes which are encoded using two-digit encoding or two-digit subscripts encoding methods.This TCJC operator works as follows: a) Let there be three parent chromosomes, which are labelled as two odd chromosomes (PC1 and PC3) and

TCJC Backward
Two more off-springs can be obtained by using TCJC operator operating from backward direction.Let them be OF1 and OF2.The off-spring 1 (OF1) is generated as shown in

Conclusion
This paper covers important crossover operators with the perspective of solving open shop scheduling problem to minimize makespan.One of the objectives of this paper was to develop a new crossover operator.This paper limits to providing a conceptual framework of newly developed crossover operator namely Three Chromosome

Limitation of Research
The research paper makes an attempt but limits to propose the new crossover operator for only the Open Shop Scheduling problems.This limitation provides an opportunity to try for Job Shop and Flow Shop Scheduling problems too.

Figure 3 . 3 .
The chromosome is divided into four equal parts as shown in Figure The parts are numbered as Machine 1, Machine 2, Machine 3 and Machine 4 from left to right.The numbers in each part represent the job numbers from 1 to 4.

Figure 3 .
Figure 3.A typical chromosome for an OSSP of size 4 × 4 with implicit permutation coding.

Figure 7 .
O 44 → O 33 → O 32 → O 21 → O 22 → O 43 → O 11 → O 31 → O 42 → O 41 → O 44 Here, the cycle begins with O 44 reaches O 33 and then O 32 and so on till it ends with O 44 again.b) Mark the genes in grey colour that form the cycle in both parent chromosomes PC1 and PC2 as shown in Figure 7 and Figure 8. c) Copy the non-grey cells of PC2 to non-grey cells of PC1 to get the first offspring OF1 as shown in Figure 8. d) Copy the non-grey cells of PC1 to non-grey cells of PC2 to get the second offspring OF2 as shown in Figure 9.

Figure 9 .
Figure 9. Generating OF2 using cycle crossover operator.a) Randomly select some genes, which are marked with grey cells in PC1 and copy them to OF1 as it is as shown in Figure 10.b) Mark the selected genes of PC1 in PC2 with grey cells.c) Copy the non-grey cells of PC2 onto non-grey cells of OF1 in linear order (from left to right) as shown in Figure 10.

Figure 12 .
Figure 12.Diagrammatic illustration of preliminary stage partially mapped crossover operator.

Figure 23 .
Its makespan is 761.The offspring 2 (OF2) generated is shown in Figure24.Its makespan is 466.The demonstration has considered only 3 chromosomes.The results show that the makespan values are different for different for different chromosomes as well as for different offspring.It is important to note that at least 20 × m × n number of chromosomes should be randomly chosen as the initial population, where 'm' is number of machines and "n" is number of jobs.A sample of three chromosomes will form a set as shown in the demonstration to produce 4 off-springs.

Figure 24 .
Figure 24.Determination of offspring OF2 using TCJC backward operator.Juggling Crossover Forward Operator and Three Chromosome Juggling Crossover Backward Operator and not providing any numerical work to compare different crossover operators to select the best one.This paper provides an insight into a new type of crossover operator that can be used while applying genetic algorithm to solve open shop scheduling problem to minimize makespan.

Table 1 .
and Permutation encoding of open shop scheduling problem of size 4 × 4.
Figure 1.A typical chromosome with permutation encoding for OSSP of size 4 × 4 shown in

Table 1 .Table 2 .
Sequence of genes of jobs.

Table 3 .
Sequence of operations.

Table 4 .
Two-digit permutation encoding of open shop scheduling problem of size 4 × 4.
Figure 2. A typical chromosome for an OSSP of size 4 × 4 with two-digit encoding shown in

Table 4 .Table 5 .
Sequence of genes of jobs.

Table 6 .
Sequence of jobs.

Table 8 .
Decoded genes in terms of operation number of machines.

Table 9 .
Sequence of jobs.
2 of PC2.O 12 can be replaced by O 32 ; O 23 can be replaced by O 43 ; O 13 can be replaced by O 33 and O 44 can be replaced by O 34 .