A Hybrid Algorithm for the Permutation Flowshop Scheduling Problem without Intermediate Buffers

This paper deals with the permutation flowshop scheduling problem without intermediate buffers and presents a hybrid algorithm based on the scatter search and the variable neighborhood search. In the hybrid algorithm, the solutions with good quality and diversity are maintained by a reference set of scatter search, and the search at each generation starts from a solution generated from the reference set so as to improve the search diversity while guaranteeing the quality of the initial solution. In addition, a variable neighbourhood based on the notion of job-block is developed, and the neighbourhood size can adaptively change according to the construction of the job-block. Such a dynamic strategy can help to obtain a balance between search depth and diversity. Extensive experiments on benchmark problems are carried out and the results show that the proposed hybrid algorithm is powerful and competitive with the other powerful algorithms in the literature.


Introduction
The traditional permutation flow shop scheduling problem (PFSP) has been the focus of research in the field of production scheduling due to its strong industrial background [1].This problem usually is assumed to have unlimited capacity to store jobs in an intermediate buffer between adjacent machines.However, in many practical industries, due to the need for the continuous production, a production line usually has no intermediate buffers between adjacent machines [2].For example, in the hot rolling process of heavy plates in iron and steel industry, a heavy plate will be continuously processed by a series of consecutive stages, that is, reheating, hot rolling, cooling, cutting, and quenching, and there are no intermediate buffers between any two stages.In this case, after the completion of processing on machine , a job  has to wait on this machine until the next machine  + 1 becomes available (i.e., the next machine  + 1 is idle).Such a phenomenon of job  and machine  is called the blocking, and such a kind of PFSP is then called the PFSP with blocking.When the objective is the minimization of makespan ( max ), this problem can be represented as   /blocking/ max , which has drawn a lot of attention from many researchers recently.
Hall and Sriskandarajah [3] presented a survey of   / blocking/ max and introduced some instances of this problem in practical industries.Since this problem has been proved to be NP-complete with  ≥ 3, the exact algorithms based on branch-and-bound can only solve very small-size problems.For large-size problems, heuristics or metaheuristics becomes the only candidate algorithm.
McCormick et al. [4] proposed a heuristic algorithm called PF, which in each iteration will insert the job into a position of a partial sequence obtained currently so that the resulted new sequence has a minimum increase of machine idle time and blocking time.Based on the NEH heuristic algorithm proposed by Nawaz et al. [5] and the PF heuristic, Ronconi and Armentano [6] designed a hybrid algorithm hybridizing the PF and NEH and had achieved good results.Caraffa et al. [7] proposed an improved genetic algorithm (GA) to solve the problem with the minimization of  max , and the experimental results showed that the algorithm is effective and its performance was superior to heuristics proposed by Abadi et al. [8].Grabowski and Pempera [2] proposed a Tabu search (TS+M) for this problem, and the computational results based on benchmark problems showed that the TS+M algorithm outperformed the previous algorithms in the literature.Jarboui et al. [9] designed a hybrid estimation of distribution algorithms (H-EDA) for the problem, and the test results showed that the algorithm was superior to the algorithms proposed in [2,7].Liang et al. [10] proposed a multigroup particle swarm optimization, and the results showed that the algorithm problem was better than the TS+M algorithm proposed in [2].Wang and Tang [11] proposed a discrete particle swarm algorithm in which a variable neighborhood search algorithm is used as local search and the computational results showed that the algorithm is superior to TS+M algorithm.
Variable neighborhood search (VNS) is a simple but effective intelligent optimization algorithm [12].Different from the traditional local search algorithm that searches only a neighborhood, the idea of VNS is to use two or more neighborhoods in the search process, and in the search process the algorithm will perform an alternate search according to a given rule.Because the neighborhood structures are different from each other, a local optimal solution in one neighborhood is not necessarily the local optimal solution in the other neighborhoods.So the alternate search along different neighborhoods can help to improve the search diversity of VNS.VNS algorithm has been widely used to solve various kinds of combinatorial optimization problems, and many promising results have been achieved by VNS [13].Scatter search (SS) is a population-based approach [14], and its main idea is to select solutions with good quality and diversity from the population to construct the reference set and then use the reference set to produce the next generation of the population.The algorithm has been successfully applied in many combinatorial optimization problems, such as the vehicle scheduling problem [15] and the production scheduling problem [16].
Therefore, in this paper we hybridize the SS with VNS and propose a hybrid algorithm for the   /blocking/ max problem so as to combine the global search ability of SS and local search ability of VNS.Through their combination, a balance of global search and local search can be achieved.In the neighborhood structure, we develop a job-block based neighborhood so as to improve the search efficiency of VNS.The main contributions of this paper are as follows.
(1) Different from previous research that incorporates VNS into SS to act as the local search, this paper incorporates the SS into VNS to store solutions with good quality and diversity and develops a new hybrid algorithm.
(2) In the hybrid memetic algorithm, an adaptive selection strategy is presented to select appropriate solutions for the VNS based on both the previous selection times and search result starting from it.
(3) A job-block neighborhood structure is designed that can dynamically adjust its size so as to achieve a balance between search depth and diversity.
The rest of this paper is organized as follows.The   / blocking/ max problem is described in Section 2. The description of the proposed memetic algorithm is presented in Section 3, and in Section 4 we carry out extensive experiments to test the performance of our algorithm and compare it to the other powerful algorithms in the literature.At last, the paper is concluded in Section 5.

The 𝐹 𝑚 /Blocking/𝐶 max Problem
The   /blocking/ max problem considered in this paper can be described as follows.There is a set of jobs  = {1, . . ., } that have arrived at time zero and a set of processing machines  = {1, . . ., }.Each job  ∈  must be processed on these  machines in the same order from the first one to the last one, that is, 1, 2, . . ., .The processing time of job  ∈  on machine  ∈  is   , which is a fixed and nonnegative value.It is assumed that the processing of each job cannot be interrupted once the processing starts.At any time, each job can be processed on at most one machine, and each machine can process at most one job.There are no intermediate buffers between any two consecutive machines, and, consequently, a job , which has completed processing on machine , should remain on machine  until the next machine  + 1 becomes idle and available.That is, the job  and machine  are blocked if the next machine  + 1 is not idle.The scheduling task is to determine a job sequence for these  jobs on the  machines so as to minimize the maximum completion time (i.e., makespan).
Let  = ((1), (2), . . ., ()) be a permutation of  jobs, in which () denotes the index of the job allocated at the th position of .The departure time of job () on machine  (denoted as  (), ) can be then calculated as follows: (1) then the makespan of solution  can be calculated as  max () =  (), .

Hybrid Algorithm
3.1.Main Procedure of the Algorithm.In the hybrid algorithm, the reference set  is introduced into VNS to help the algorithm to get more power to get out of local optimum.In this algorithm,  is used to store solutions with good quality and diversity.The main procedure of the proposed algorithm is given in Algorithm 1, in which a solution is represented by a processing sequence of all jobs, and the details of each procedure are presented in the following sections.In the hybrid algorithm, we replace the Shaking procedure in traditional VNS with the generation of a new solution   based on solutions selected from  so that the new solution can have good initial quality and diversity, which in turn can help the algorithm to avoid being trapped in local optimum.In addition, traditional VNS proposed for PFSP generally adopts the insertion move (remove a job from the job sequence and then insert it into another position) and the swap move (swap two jobs in the job sequence).Bozejko et al. [17] pointed out that compound moves (i.e., multiple insertions or swaps) generally have better performance than simple insertion or swap for the scheduling problems in which a solution is represented as a job sequence.The reason is that the compound move can have a larger solution space.Therefore, in this paper we develop a job-block neighborhood whose size can be dynamically adjusted according to the size of job blocks.In the hybrid algorithm, the neighborhood size changes in an ascending order so as to guarantee a balance between search depth and diversity.

Generation of Initial Solution.
Due to the fact that the NEH method can obtain good solutions for PFSP, we also adopt this method to generate an initial solution and then apply local search to improve it.The procedure can be described as follows.
Step 1. Sequence all the jobs according to the nonascending order of total processing times of each job on all stages and obtain a job sequence as  = ((1), . . ., ()).
Step 2. Determine the optimal sequence of the first two jobs in the sequence as the partial solution and then delete the two jobs (1) and (2) from the sequence .
Step 3. From the first job in the remaining sequence, insert it to the best position of the partial solution (i.e., the increased objective function value is minimum) and remove it from the sequence.Repeat this insertion procedure until every job has been inserted and subsequently an initial solution is obtained.
Step 4. Perform a local search with the insertion neighborhood to improve the initial solution and take the improved solution as the true initial solution.

Update of Reference Set 𝑅.
In order to ensure the solutions of reference set  (|| = ) can have good quality and diversity, the following updating strategy is used.If || < , then the improved solution   can be added into  directly; otherwise, the improved solution   can be added into  if it can satisfy ( max (  ) −  max ( worst ))/ max ( worst ) ≤  where  worst denotes the worst solution in  and  is a threshold value.After the insertion of   , the solution with the worst diversity in  will be removed.The diversity of a solution in  is denoted as follows: the distance between two solutions  1 = ( 1 (1),  1 (2), . . .,  1 ()) and  2 = ( 2 (1),  2 (2), . . .,  2 ()) is defined as ( 1 ,  2 ) = ∑  =1 sgn(), in which sgn() = 1 if  1 () ̸ =  2 () and otherwise sgn() = 0.If two solutions have the same worst diversity, then the solution with worse quality will be deleted.

Generation of New Solution from 𝑅.
Initially, each solution in  has the same selection probability.If a solution   has been selected for local search and the resulting improved solution fails to enter the reference set , then we set sel  = sel  + 1 (sel  is the selection time of solution ); otherwise, sel  remains unchanged.According to sel  , the selection probability of a solution can be defined as , where (2)

Local Search Based on Job-Block Neighborhood.
As mentioned earlier, the job-block based neighborhood is a kind of compound-move based neighborhood.For a given solution  = ((1), . . ., ()), let the size of the job-block be  and the corresponding neighborhood is denoted as   ; then the local search procedure can be described as follows: Step 1. Set the iteration index  = 1 and the best solution to be   = .
Step 4. Insert (  ) to the best position in   .
In the above local search, it is clear that the local search is not performed on the entire neighborhood but only a number of  max random searches.Such a strategy can help to save computational time while maintaining the solution quality.In addition, the search depth of neighborhoods is in an ascending order so as to obtain a balance between search depth and diversity.Since the values of  max and  are much less with comparison to  (the number of jobs), the complexity of this kind of local search will not exceed that of the local search based on the insertion neighborhood or the swap neighborhood, whose complexity is ( 2 ).So the search efficiency can be guaranteed in the local search of our algorithm.

Computational Experiments and Results
In the experiment, we tested our proposed algorithm on a set of benchmark problems for PFSP proposed in Taillard [18] and compared it with other powerful algorithm in the literature.There are a total of 12 groups of problems in the benchmark suit and there are 10 instances for each group.The number of jobs  changes from 20 to 500 and the number of machines  changes from 5 to 20.
The hybrid algorithm was implemented in C++ language and tested on a personal computer with Intel Core i3 (2.8 GHz) CPU and 4 GB memory.The stopping criterion is set to the maximum computational time of  max = ××0.02seconds.Parameters of the hybrid algorithm are set as follows: the size of  is equal to 10, the maximum size of job-block is set to 5, and the maximum iteration of local search  max is set to 10 for instances with  ≤ 50 and 20 for the other instances.
To compare the statistical performance, 10 independent runs were performed for each instance and the minimum percentage relative difference (minPRD) and average percentage relative difference (APRD) are collected.The relative difference PRD is defined as PRD = 100 × ( max () −  max (RON))/ max (RON), where  and RON, respectively, represent the solution obtained by an algorithm and the solution given in [19].From the results shown in Table 1, it can be found that the algorithm's performance can be significantly improved by incorporating the reference set.The main reason behind this phenomenon is that the incorporation of reference set can help to provide an initial solution with good quality and diversity to the VNS, which in turn can help to improve the solution's quality and at the same time make the algorithm have a good ability of getting out of local optimum regions.

Comparison with the Other Powerful Algorithms.
In the above section, we have shown the efficiency of incorporating the reference set into VNS and analyzed its impact on the algorithm.To further illustrate the efficiency of the proposed hybrid algorithm, in this section we compare it to the other powerful algorithms in the literature, for example, the TS+M algorithm proposed in [2], the H-EDA algorithm recently proposed in [9], and the DMS-PSO algorithm proposed in [10].
The comparison results are given in Table 2, in which the results of TS+M, H-EDA, and DMS-PSO are those reported in the corresponding references.From the comparison results, it appears that for the APRD metric the H-EDA obtains the best performance.However, our hybrid algorithm can obtain the best results for more instance groups than the H-EDA.Furthermore, it is clear that our SSVNS algorithm achieves the best result for 10 out of the 12 instance groups for the minPRD metric and these results are better than those obtained by the H-EDA algorithm.In addition, the SSVNS is better than the DMS-PSO algorithm in both APRD and minPRD metrics for all the instance groups except the instance groups 100 × 20 and 500 × 20.Therefore, it can be then concluded that the proposed hybrid algorithm is competitive with or superior to some powerful algorithms in the literature.

Conclusions
In this paper, the permutation flowshop scheduling problem with no intermediate buffer is investigated.In this problem, a job and a machine may be blocked due to the fact that there is no intermediate buffer between consecutive machines, and such a condition often occurs in practical industries.Although there have been many papers dealing with this problem, this paper presents a new kind of hybrid algorithm by incorporating SS into VNS and developing a job-block based neighborhood search.The incorporation of SS into VNS can provide an initial solution with good quality and diversity, which in turn can help to guarantee the good quality of solutions improved by the VNS and at the same time maintain a good search diversity (i.e., the hybrid algorithm can obtain a good ability of getting out of local optimum regions in the search space).The adaptive selection strategy of solutions from the reference set is able to further improve the search diversity.The local search used in the VNS is based on the job-block which is a compoundmove neighborhood.This kind of neighborhood can provide a much larger search space and consequently can increase the probability of finding more promising solutions.In addition, the variable search depth of this kind of local search can also help to achieve a balance between the search intensity and the diversity.Extensive experiments on benchmark problems are carried out to test the hybrid algorithm and the results show that the proposed algorithm is very efficient and it is even competitive with or superior to some other powerful algorithms in the literature.

Table 1 :
Comparison results between VNS and SSVNS.Efficiency Analysis of Incorporating the Reference Set.To test and analyze the performance of incorporating the reference set of SS into VNS, in this section we compared our hybrid algorithm (denoted as SSVNS) and another version in which the reference set is not included (denoted as VNS).Please note that the VNS also shares the same stopping criterion as used in our SSVNS.The comparison results are shown in Table1, in which a better result is shown in a bold style.

Table 2 :
Comparison results between SSVNS and the other powerful algorithms.