An Enhanced Discrete Artificial Bee Colony Algorithm to Minimize the Total Flow Time in Permutation Flow Shop Scheduling with Limited Buffers

This paper presents an enhanced discrete artificial bee colony algorithm for minimizing the total flow time in the flow shop scheduling problem with buffer capacity. First, the solution in the algorithm is represented as discrete job permutation to directly convert to active schedule. Then, we present a simple and effective scheme called best insertion for the employed bee and onlooker bee and introduce a combined local search exploring both insertion and swap neighborhood. To validate the performance of the presented algorithm, a computational campaign is carried out on the Taillard benchmark instances, and computations and comparisons show that the proposed algorithm is not only capable of solving the benchmark set better than the existing discrete differential evolution algorithm and iterated greedy algorithm, but also capable of performing better than two recently proposed discrete artificial bee colony algorithms.


Introduction
In the scope of scheduling problem, the permutation flow shop scheduling problem (PFSP) is one of the most important and studied issues because of its theoretical complexity and practical application.The traditional permutation flow shop model is not concerned with the capacity for buffer between two consecutive machines, and once its processing on a machine is finished, a job waits till the next machine is available to process it.However, in real production environments, the buffers are usually limited.Examples lie in the petrochemical processing industries and cell manufacturing [1].In such a scheduling problem, after finishing its operation on a machine, if the next machine is not available, a job is allowed to store in a buffer only if the buffers are not full.If the buffers are full, the job must wait on the incumbent machine, which may make the machine unable to process other jobs.One special case in the permutation flow shop scheduling problem with limited buffers (LBPFSP) is with no buffer, and the problem is called the blocking flow shop scheduling problem (BPFSP).The BPFSP has gained much attention in the past decades [2,3] and its strong NP-hard characteristics were validated for the case with more than two machines [4].Besides, the LBPFSP is also strongly NP-hard even for only two machines [5].
A great amount of research work has been carried out for the BPFSP.Many heuristics were introduced or proposed for the problem [6][7][8][9], but they are not good enough, especially for problem instance with big size.In recent years, lots of sophisticated metaheuristics have been developed for the problem.For the makespan criterion, the developed metaheuristics include genetic algorithm (GA) [10], tabu search (TS) algorithm [11], hybrid discrete differential evolution (HDDE) algorithm [12], iterated greedy (IG) algorithm by [2], hybrid modified global-best harmony search (hmgHS) algorithm [13], and variable neighborhood search (VNS) [14].Recently, some researchers also proposed algorithms to minimize the total flow time (TFT) of the BPFSP.Wang et al. [15] developed an hmgHS algorithm and Deng et al. [16] put forward a discrete artificial bee (DABC) algorithm.
As a more general problem, the LBPFSP received increasing attention in recent years.An early overview article was provided by Leisten [7], and the article concluded that the NEH heuristic is competitive.Smutnicki [17] presented a TS algorithm for the case with two machines, and the TS algorithm was later generalized to the case with more machines by Nowicki [18].Also, an effective TS algorithm was developed by Brucker et al. [19].Later, a hybrid genetic algorithm (HGA) by Wang et al. [20] was shown to outperform the TS algorithm.Further, Liu et al. [21] presented a hybrid particle swarm optimization (HPSO) algorithm that yielded better results than HGA.Qian et al. [22] investigated a hybrid differential evolution (HDE) algorithm for not only the finite buffer case but also the blocking and infinite buffer case.An immune based approach (IA) was developed by Hsieh et al. [23] and its superiority over the HGA was asserted.Recently, in two papers, Pan et al. [24,25] proposed two metaheuristics, chaotic harmony search (CHS) and HDDE, and showed their superiority over the HGA and HPSO algorithm, respectively.More recent work was developed by Zhao et al. [26] and Moslehi and Khorasanian [27].The former proposed an improved PSO algorithm while the latter presented a hybrid variable neighborhood search (HVNS) hybridizing variable neighborhood search and simulated annealing algorithm.In the HVNS algorithm, a speed-up method was developed for several kinds of local search methods.
In the past decades, a bunch of metaheuristics based on swarm intelligence has been proposed and applied to scheduling problems [28,29].Among them, the artificial bee colony (ABC) algorithm [30][31][32][33] performed well in continuous function optimization, and Pan et al. [34] firstly proposed a discrete version of the ABC (DABC) algorithm for the lot-streaming flow shop scheduling.Then, Tasgetiren et al. [35] and Deng et al. [16] also developed a DABC algorithm for the PFSP and BPFSP, respectively.However, to the best of our knowledge, there is no published study on solving the LBPFSP using this algorithm.As for the LBPFSP, the existing work all focused on the makespan minimization, and no research work has been done with the TFT criterion, despite the prominence of the TFT criterion.Therefore, this paper aims to present a simple and effective DABC algorithm for the LBPFSP with the TFT criterion, which is not a well-studied scheduling problem.The developed DABC algorithm is based on the hybridization of ABC algorithm paradigm and local search methodology, and its performance is investigated by extensive experiments.
The rest of the paper is organized as follows.In Section 2, the considered problem with the TFT criterion is introduced and formulated.The proposed DABC algorithm is then presented as a simple and effective method for the TFT criterion case in Section 3. Section 4 provides the parameter calibration and performance investigation based on computational experiments.Finally, Section 5 gives out the conclusions and future work of the paper.
The following traditional flow shop assumptions apply.(1) All jobs are independent and available for processing at time zero.(2) At any time, each job is being processed at most on one machine and each machine is processing at most one job.(3) There is no breaking down in machines.(4) An operation can not be interrupted or split.(5) The setup and release times are ignored.Besides, the "permutation" requires that the job processing sequence must be the same on all machines.Between two consecutive machines   and  +1 , there is a buffer with the capacity equal to   (  ≥ 0,  = 1, 2, . . .,  − 1).Therefore, the number of stored jobs between two consecutive machines is at most   .If no buffer exists and the downstream machine is busy, a completed job has to stay on the current machine and thus may block it.The TFT is defined as ∑  =1   , where   is the time when job  is finished.The objective is to minimize the TFT.
Since the TFT belongs to regular optimality criteria, there exists at least one active schedule that is optimal, and thus each schedule can be represented as a job permutation  = ((1), (2), . . ., ()), where the job is processed as early as possible with respect to the given sequence in .Let TFT() denote the total flow time of  and let  (), denote the leaving time of job () from machine   .The values of  (), can be calculated as follows [25]: Using the above recursion, we can calculate the TFT with time complexity (): If all permutations are denoted as set Π, then we have to find a permutation  * in Π such that TFT ( * ) ≤ TFT () ∀ ∈ Π. ( Clearly, if   = 0, then the problem is the same as BPFSP.If   ≥  − 1, then the problem can be treated as PFSP.Due to the extensive work carried out for the BPFSP and PFSP, we will investigate the not-well-studied case; namely, the problem with the buffer size is finite.

Discrete Artificial Bee Colony Algorithm
According to the framework of the ABC algorithm, the algorithm includes three kinds of bees, namely, employed bee, onlooker bee, and scout bee.The solutions (called food sources) of the algorithm form a population with size NP.After initialization of the population, the algorithm goes into an iteration till the stopping criterion is satisfied.In the iteration, the algorithm sends first each employed bee, then each onlooker bee, and finally each scout bee to explore food sources.Since the ABC algorithm is originally proposed for continuous function optimization, it needs the conversion from real domain to discrete domain if the continuous coding solution is used.Due to the discrete characteristic of the considered problem, this paper uses job permutation as solution representation and puts forward a discrete ABC algorithm.To make the algorithm simple yet effective, we adopt the idea of iterated greedy (IG) algorithm of Ruiz and Stützle [36].The IG algorithm mainly includes two important procedures.First, the destruction and construction procedure produce a new solution by perturbing the incumbent solution which is usually a local optimum.By iteratively searching the insertion neighborhood of the new solution, a local search is imposed on the new solution.These two procedures are modified or improved in the new DABC algorithm to design the operators of the employed, onlooker, and scout bees.All the elements are elaborated in the following subsections.

Initialization.
As mentioned above, the DABC algorithm consists of NP food sources, where NP is a parameter controlling population size.For each food source, we need to generate a job sequence  = ((1), (2), . . ., ()).The NEH heuristic and its variants are developed to construct the initial population with both quality and diversity.Wang et al. [15] pointed out that if the jobs are sequenced in increasing order rather than decreasing order in NEH, the obtained heuristic performs better than NEH heuristic for BPFSP with the TFT criterion.They denoted the variant as NEH WPT heuristic.Besides, if the jobs are sequenced in random order in NEH, the obtained heuristic is a randomized heuristic, and it also works well according to our pilot experiments.We denote this randomized heuristic NEH RAN.In our proposed algorithm, the solutions generated by both the NEH and NEH WPT heuristics are included in the initial population, and the remaining NP-2 solutions of the initial population are generated by the NEH RAN heuristic.Such an initialization scheme gives a guarantee of the population with good quality and diversity.

Employed Bee.
For each solution in the population, the employed bee is firstly applied.Thus there are also NP employed bees.In the employed bee phase, a procedure, bestinsert, is presented to find a neighboring food source from the incumbent food source.
The bestinsert procedure is designed as a perturbation operator to escape from local optima.The idea behind the bestinsert procedure is that making several compulsory insert moves would result in a solution that is usually different from but keeps probably the good characteristics of the incumbent solution.The setting of parameter  determines the degree of perturbation.
Each employed bee employs the bestinsert procedure to generate a new food source.This generated food source is not directly put into the population but used by its corresponding onlooker bee.

Onlooker Bee.
Before describing the design of the onlooker bee phase, we introduce several local search methods and present the combined local search.
For the PFSP, most of the excellent local search methods consider the insertion neighborhood.The superiority of this neighborhood structure has been shown in lots of papers, such as [36][37][38][39][40][41].In the insertion-based local search methods embedded in IG algorithms by Ruiz and Stützle [36], a job  is randomly chosen, and its   binsert with respect to the incumbent solution  is then identified.If the solution   binsert is better than the incumbent solution, the incumbent solution is replaced.The above process is repeated for all  jobs, which means that  is randomly and unrepeated chosen for  times.Furthermore, once the incumbent solution is updated for a job's process, the processes of all  jobs need to be performed.The local search terminates when no improvement occurs for the processes of all  jobs.Pan et al. [39] improved this local search and presented the referenced local search (RLS).In RLS, jobs to be inserted are selected not randomly but according to the precedence of a referenced solution.Besides, the local search is optimized and the redundant process of finding   binsert may be avoided.Similarly, Deng and Gu [40] also improved this local search but used a random order in which jobs are to be inserted.Their insertion-based local search (ILS) is shown in Algorithm 2.
It can be seen from Algorithm 2 that the job  to be inserted is chosen according to a random order   , and the procedure terminates once the process of finding   binsert causes no improvement of  for consecutive  times.The effectiveness of the ILS inspired us to present a swap-based local search (SLS) with homogeneous structure.The SLS uses the swap neighborhood, and   bswap is defined like   binsert .Let  = () be a job scheduled in  = ((1), (2), . . ., ()) and let V(, ) denote the sequence generated by swapping job  with the job occupying th ( ∈ {1, . . ., } \ {}) position of .  bswap is the permutation resulting in the minimum objective value among all V(, ) permutations.The procedure of SLS is illustrated in Algorithm 3.
(1)   = a permutation generated randomly (2)  = 0, ℎ = 1 for  = 1 to  − 1 (8) add (, ) into  (9) endfor (10) for  =  + 1 to n (11) add The number of onlooker bees is also NP.The onlooker bee applies the CLS to the food source returned by the employed bee.If the solution returned by CLS is not worse than the corresponding food source in the population, the corresponding food source in the population is replaced, or else it does not change.Note that the NP food sources in the population and the NP onlooker bees correspond one to one, which means whether th food source is updated only depends on the solution found by th onlooker bee.Setting the number of onlooker bees as NP can keep the parallel paradigm of the algorithm and benefit the depth and breadth (1)   = a permutation generated randomly (2)  = 0, ℎ = 1 endfor (10) for  =  + 1 to n (11) add (1) set parameters NP, d, ds (2) generate the initial population (3)   = the best solution in the population (4) while (not termination) (5) for (each employed bee) (6) apply bestinsert to its solution in the population (7) endfor (8) for (each onlooker bee) (9) apply CLS to the food source found by its employed bee (10) update   if possible (11) endfor (12) for (each scout bee) (13) produce a food source based on   (14) put the food source in the population by tournament selection (15) update   if possible ( 16) endfor (17) endwhile Algorithm 5: Procedure of the DABC algorithm.
of the algorithm's search.Additionally, it can decrease the number of the algorithm's parameters to be calibrated.

Scout Bee.
There are two choices for a scout bee.It can either generate a food source randomly or produce a food source based on the best solution   .The latter tends to be more effective since the best solution in the current population often maintains better characteristics than others and the solution region around it could be more promising than others.Therefore, in the proposed DABC algorithm, the scout bee is designed to produce a food source by performing the bestinsert procedure and the ILS on the best solution   .First, the bestinsert procedure with parameter  is performed on   and generates a new food source, and then the new food source is further searched by the ILS.The finally obtained food source by the scout bee is put in the population through a tournament selection.The tournament selection randomly chooses two solutions in the population, and the worse one is replaced with the considered food source.For simplicity of the parameter setting, the number of the onlooker bees is set to 0.1NP.

Proposition of the DABC Algorithm.
Since the details of all components of the DABC algorithm have been given out, the whole computational procedure is outlined in Algorithm 5.Such an algorithm is expected to solve the LBPFSP with the TFT criterion effectively and efficiently.

Computations and Comparisons
A large amount of computational experiments is carried out to test the performance of the presented DABC algorithm.The well-known Taillard benchmark instances with different sizes are used.In this paper, Taillard benchmark instances originally produced for the PFSP are treated as the LBPFSP with the TFT criterion.All the tested algorithms are programmed in C++ language and the running environment is a PC with Intel Core (TM) i5-2400 3.1 GHz processor.The relative percentage deviation (RPD) is calculated to indicate the amount of improvement over the reference solution.Consider where TFT  is the TFT of the solution obtained by the tested algorithm  and TFT ref is the TFT of the reference solution.
The reference solutions are the best solutions in all of these computational experiments for all algorithms, and they are shown in the Appendix for all tested instances.Clearly, the lower the RPD value is, the better results the algorithm yields.

Algorithm Calibration.
In this section, we carry out an experiment to calibrate the proposed DABC algorithm (denoted by DABC).Since the computational efforts of the CLS are usually more than that of the local search employing a single neighborhood structure and the CLS is performed for NP times in each generation of the DABC algorithm, we suggest that the parameter NP is not too large, especially when the allowed computational time of the algorithm is relatively less.For all computations of the DABC algorithm in this paper, we set NP to 10 and the stopping criterion is elapsed CPU time not less than 3 2  milliseconds.Setting this CPU time related to the instances size allows the algorithm more time to solve the larger size instances that are probably "harder."In the calibration experiment, we perform a large Design of Experiments [42], and the following factors are tested: (1) the type of local search (LS), tested at three levels: the local search by Ruiz and Stützle [36] (denoted by LS RS), ILS, and CLS; (2) the parameter , tested at eight levels: 2-9; (3) the parameter , tested at eight levels: 2-9.Nine instances, Ta01, Ta11, . . ., Ta81, are selected from each problem group to avoid bias of the results, and the algorithm is run for 10 replications with each parameter configuration for each selected instance.For simplicity, they are treated  1 that factor LS and factor  are statistically significant for the algorithm performance due to its  value less than 0.0001, while factor  is not statistically significant with a  value equal to 0.2836.Besides, we note that the interaction of  and  is also significant, which is understandable since the employed bee phase is related to the scout bee phase.
Furthermore, to illustrate the differences of algorithm performance with different parameter values, we reproduce the one-factor means plots with 95% Least Significant Difference (LSD) confidence intervals of the factors LS and , shown in Figure 1.According to the statistical theory, it is seen from Figure 1 that, for the local search method, the proposed CLS is statistically better than ILS and ILS is statistically better than LS RS.For the parameter , the setting value 7 is statistically better than the setting values 2-6.As regards parameter , the differences are small and its means plot is omitted for simplicity.Finally, we calibrate the DABC algorithm, using combined local search, as  = 7 and  = 4.

Computational Comparisons.
In the comparisons with other algorithms from the literature, the proposed algorithm uses the calibrated parameter setting.To our knowledge, the LBPFSP with the TFT criterion has not been well studied, so we take four well-performed algorithms from the PFSP literature and adapt them for the considered problem in this paper.The algorithms selected for comparisons are the following: (1) the iterated greedy algorithm [36] (IG); (2) the hybrid discrete differential evolution [25] (HDDE) algorithm; (3) the discrete artificial bee colony algorithm [35] (DABC T); and (4) the discrete artificial bee colony algorithm [16] (DABC D).All the above compared algorithms are reimplemented for the considered problem and performed under the original algorithm's parameter settings.Wang et al. [20] reported that when the buffer size is equal    While the differences of the DABC algorithm and the other algorithms are quite clear from these tables, it is still necessary to perform some statistical tests on the RPD results in order to observe whether the differences in the ARPD values are indeed statistically significant.Therefore, we employ the 4500 data points for each buffer size and conduct an ANOVA.The one-factor means plots with 95% Least Significant Difference (LSD) confidence intervals of the factor algorithm are shown in Figure 2.
From Figure 2, it can be seen that although there are slight differences in the means plots for different buffer sizes, the same dominance relation between any two algorithms can be obtained.Specifically, the LSD intervals of any two algorithms are not overlapping, so we can conclude that the differences between any two algorithms are statistically significant.The statistical results also show that the DABC D algorithm is better than the DABC T algorithm, the DABC T algorithm is better than the HDDE algorithm, and the HDDE algorithm is better than the IG RS algorithm.
Further, to illustrate the convergence characteristics of these algorithms, Figures 3-6 illustrate several typical convergence curves of the algorithms, for instance, Ta80.The convergence curves show how the best found total flow time values descended as the CPU time elapses for each algorithm, and they reveal that in general the proposed DABC algorithm obtained a better solution than the DABC D, DABC T,   HDDE, and IG RS algorithms and its advantages become more and more impressive as the computational time elapses.After all, the convergence curves validate the superiority of the DABC algorithm over the DABC D, DABC T, HDDE, and IG RS algorithms.

Conclusions
This paper proposes a discrete artificial bee colony (DABC) algorithm for solving the permutation flow shop scheduling problem with limited buffers with the total flow time minimization criterion.For solving this problem, the DABC algorithm uses discrete job permutation as food source and introduces the NEH heuristic and its variants to construct the initial population with consideration of both quality and diversity.Moreover, by presenting the best insertion procedure and the combined local search, we present the corresponding improved schemes for the employed bee, onlooker bee, and scout bee phases, respectively.The results of computational experiments and statistical analysis show that the proposed DABC algorithm not only is superior to the existing discrete differential evolution algorithm and iterated greedy algorithm but also performs better than two recently proposed discrete artificial bee colony algorithms.Besides, the DABC algorithm is technically feasible to apply in the practical production environment because of its structural simplicity as well as its high efficacy.In future, we will focus on adapting the DABC algorithm for multiobjective scheduling problems and stochastic scheduling models.

Figure 1 :
Figure 1: Means plot with 95% LSD intervals for the type of local search and the parameter  of the DABC algorithm.

Figure 2 :
Figure 2: Means plot with 95% LSD intervals for different algorithms.
is applied.So, we present the combined local search (CLS) by applying ILS and SLS iteratively till a local optimum is reached.The procedure is given in Algorithm 4. SLS

Table 1 :
ANOVA results for the experiment on the calibration of DABC.

Table 1 .
It is concluded from Table

Table 6 :
Best known solution values for Taillard benchmark set with different buffer sizes.