A Tabu-Genetic Hybrid Search Algorithm for Job-shop Scheduling Problem

. To deal with the job-shop scheduling problem (JSP), a tabu-genetic hybrid search algorithm is proposed. The algorithm generates several initial solutions distributed in the whole solution space for tabu search by genetic algorithm, which avoids the over-dependence on the initial solution of tabu search algorithm. With the mechanism mentioned above, the algorithm proposed has both global search performance of genetic algorithm and local search performance of tabu search algorithm. Finally, a program was developed with the actual data of FT (10×10). to verify the feasibility and effectiveness of the algorithm. The result shows that the algorithm achieves satisfactory results in all indexes mentioned above.


Introduction
Scheduling plays a very important role in many industrial systems [1]. As an important branch of production scheduling and combinatorial optimization problem [2], Job-shop scheduling problem (JSP) has been proved to be NP-hard problem and the number of feasible solutions increases exponentially with the increase of the scale of the problem.
Job shop scheduling problem has attracted a lot of researches in recent years. With the development of algorithms and the deepening of the research on the problem, group optimization algorithms represented by genetic algorithm and local search algorithms represented by tabu search algorithm, are widely used at present. Bierwirth C [3] improved the crossover operator in genetic algorithm and realized the solution of JSP. Zhang C Y [4] proposed hybrid genetic algorithm for the JSP. Aiming at minimizing the makespan, Nowicki E & Smutnicki C [5] proposed a fast and easily implementable approximation algorithm based on a taboo search, which realized well-known 10 times 10 hard benchmark problem and got the best solution at the time. Geyik F & Gedimoglu I H [6] also used tabu search algorithm to solve JSP. Zhang C Y et al. [7] applied a new enhanced neighborhood structure to tabu search algorithm and solved a series of standard JSPs.
The researches mentioned above show that both genetic algorithm and tabu search algorithm can solve job shop scheduling problems. Genetic algorithm has better global search ability but is prone to fall into premature [8]. Tabu search algorithm has strong local search ability, but its optimization results depend heavily on the initial solution [9]. Therefore, a tabu-genetic hybrid algorithm is designed for JSP, which combines the advantages of genetic algorithm and tabu search algorithm. Genetic algorithm is used to generate several initial solutions for tabu search algorithm to carry out the multi-point local optimization so that the final solution can be achieved.

Problem description
The job shop scheduling problem involved in this paper can be described as: all processes involved are allocated to appropriate time period of m machines by reasonably planning the arrangement sequence of n jobs to minimize the maximum completion time (Cmax).
To solve the problem better, some hypotheses are put forward: (1) There is no sequence constraint among any two processes of different jobs; (2) Once a process starts, it cannot be interrupted.
Based on the aforementioned assumptions and notations, the model is presented as follows: The scheduling objective of the job shop scheduling problem involved in this paper is minimizing the maximum completion time of all jobs, which is shown in Equation (1). The constraints of the problem are shown in Equation (2) to Equation (8). Equation (2) ensures that Cmax is the maximum completion time of all processes. Equation (3) is constraint on processing craft route, meaning that a single process cannot start until its former process belonging to the same job I s completed. Equation (4) -(6) are the constraints of processing machines, meaning that each process must have only one processing machine, and the processing machine must belongs to its optional machines. Equation (7) expresses that there will be no repetitive machines in the processing craft route of any job. Equation (8) describes that each machine can only process at most one process at the same time.

Tabu-genetic hybrid search algorithm
To solve the job shop scheduling problem involved, a tabu-genetic hybrid search algorithm is proposed in this paper. Fig. 1 shows the processing flow of the algorithm.  The algorithm is the combination of genetic algorithm and tabu search algorithm：Firstly, genetic algorithm is used to generate a series of initial solutions for tabu search algorithm. Then tabu search algorithm is used to get multiple local optimal solutions according to the initial solutions. Finally, the final solution of the algorithm is generated from several local optimal solutions. The algorithm has both global search ability of genetic algorithm and local search ability of tabu search algorithm by avoiding the shortcomings of them, which are the characteristic of being prone to prematurity and the excessive dependence on initial solution.

Coding rules and the generation of initial population
The algorithm proposed in this paper uses process-based encoding method to generate initial population. A coding of three jobs is shown in Fig. 2, which expresses the sequence of each process is: the first process of Job 2→ the first process of Job 1→the second process of Job 1→ the first process of Job 3→the second process of Job 2→ the second process of Job 3→the third process of Job 2→ the third process of Job 3.

Rules of crossover and mutation
Because the chromosomes are generated by processbased encoding method, the POX crossover operator as shown in Fig. 3 is selected. In this section, a two-point mutation method is used to realize the mutation operation of a single chromosome, that is, two mutation points are randomly selected, and the new chromosome is got by exchanging positions of the corresponding two genes.

Process of tabu search
The processes of tabu search in the hybrid tabu-genetic search algorithm proposed in this paper are as follows: Input: one of the initial solutions gotten by genetic algorithm; Output: A local optimal solution gotten by tabu search process.
Step 1: In the initial state, set the current solution () Cx and the optimal solution * () Cx to the initial solution, and the tabu table to empty. Get all the neighborhood solutions of () Cx.
Step 2: If there are no neighborhood solutions, turn to step 6. Otherwise, get the optimal solution of the neighborhood solutions. If the optimal solution is already in the tabu table, turn to step 4; otherwise, turn to step 3.
Step 3: Update the current solution () Cx to the optimal solution achieved and press it into the top of the tabu table. If () Cxis better than the historical optimal solution, unchanged. Turn to Step 6; Step 4: If the optimal solution in the current neighborhood solutions satisfies the desire criterion, which means that the solution is superior to the historical optimal solution, turn to step 3. Otherwise, turn to step 5; Step 5: Remove the optimal solution from the neighborhood solutions, and turn to Step 2.
Step 6: If the stopping criterion of the algorithm is reached, end the algorithm and output * () Cx . Otherwise, calculate all the neighborhoods of () Cx and turn to Step 2.
In this algorithm, the neighborhood solutions of a solution are generated by a two-point exchange method. Fig. 4 shows the neighborhood solutions of the chromosome shown in Fig. 2.

Experimental study
According to the Tabu-genetic hybrid search algorithm proposed, a simulation example has been performed in VS2010. The data of jobs and machines are from the famous workbench FT(10×10). The information of the example is shown in Table 1. The selection probability of the genetic algorithm is 0.5, the crossover probability is 0.65, and the mutation probability is 0.2. The tabu table length of tabu search algorithm is 5. 47 4 52 5 90 8 45 Table 2 and Fig.5 show the results of scheduling.  Figure 5 The results of scheduling As can be seen from Table 2 and Figure 5, for the 10×10 case given above, the proposed algorithm can achieve the optimal solution which is equal to the historical best solution.

Conclusions
A tabu-genetic hybrid search algorithm is proposed to solve JSP with the objective of minimizing the maximum completion time. The algorithm generates several initial solutions distributed in the whole solution space for tabu search by genetic algorithm, which avoids the overdependence on the initial solution of tabu search algorithm. With the mechanism mentioned above, the algorithm proposed has both global search performance of genetic algorithm and local search performance of tabu search algorithm.
The JSP can be solved efficiently with the algorithm proposed in this paper. In combination with the data of FT(10×10), the verification shows that the proposed method in this paper can effectively solve the JSP and reduce Cmax.