Research Article  Open Access
An Improved Discrete Artificial Bee Colony Algorithm for Flexible Flowshop Scheduling with Step Deteriorating Jobs and SequenceDependent Setup Times
Abstract
This paper studies a flexible flowshop scheduling problem with stepdeteriorating jobs and sequencedependent setup times (FFSPSDJ&SDST) where there are multiple unrelated parallel machines at each stage. The actual processing time of each job is modeled as a step function of its starting time. An integer programming model is first formulated with the objective of minimizing the total weighted completion time. Since this problem is NPcomplete, it becomes an interesting and challenging topic to develop effective approximation algorithms for solving it. The artificial bee colony (ABC) algorithm has been successfully applied to solve both continuous and combinatorial optimization problems with the advantages of fewer control parameters and ease of implementation. So, an improved discrete artificial bee colony algorithm is proposed. In this algorithm, a dynamic generation mechanism of initial solutions is designed based on job permutation encoding. A genetic algorithm and a modified variable neighborhood search are introduced, respectively, to obtain new solutions for the employed and onlooker bees. A greedy heuristic is proposed to generate the solutions of the scout bees. Finally, to verify the performance of the proposed algorithm, an orthogonal test is performed to optimize the parameter settings. Simulation results on different scale problems demonstrate that the proposed algorithm is more effective compared against several presented algorithms from the existing literatures.
1. Introduction
Scheduling problem is one of key issues in many manufacturing systems. Flexible flowshop scheduling problem (FFSP) widely arises in discrete industry and process industry such as semiconductors, electronics manufacturing, cosmetics, and pharmaceuticals [1]. In the classical FFSP, the processing times of jobs are always assumed to be known and fixed. However, it might not be true in realistic industrial processes such as steel production and equipment maintenance [2]. The actual processing time may become longer due to equipment wear, physical properties of jobs, fatigue of the workers, and so on. This phenomenon is known as scheduling with deteriorating jobs. In addition, it often happens that some tasks such as equipment cleaning and tool replacement are performed when a machine handles different jobs. That is, a setup time occurs between adjacent jobs on the same machine and it always depends on the job sequence [3]. Therefore, this paper considers FFSP with stepdeteriorating jobs and sequencedependent setup times where step deterioration means that if the starting time of a job is more than a prespecified deteriorating date, it will require extra penalty time to complete its tasks successfully. The scheduling goal is to determine the assignment of jobs to machines and the sequence of jobs on each machine.
Scheduling with deterioration has been presented and defined first by Gupta and Gupta [4] and Browne and Yechiali [5]. The current research studies on deteriorating job scheduling problems mostly assume that the job processing times are linear functions of their starting times. For singlemachine scheduling, Wang and Liu [6] considered a group scheduling problem with setup times. A modified Lawler’s algorithm was proposed to minimize the total weighted completion time and the maximum cost simultaneously. In terms of unrelated parallel machine scheduling, Wang and Li [7] considered modifying maintenance activities with the objective of minimizing a cost function of total completion (waiting) time, total absolute differences in completion (waiting) time, and total machine load. They proved that the problem can be solved in polynomial time. For flowshop scheduling, Wang et al. [8] presented a multiverse optimizer algorithm so that the total tardy time is minimized. There is a relatively little research on step deterioration. To solve identical parallel machine scheduling, Guo et al. [2] considered sequencedependent setup times and applied a hybrid discrete cuckoo algorithm to minimize total tardiness; Cheng et al. [9] presented a modified weightcombination search algorithm and a variable neighborhood search to minimize total completion time. For twostage FFSP with identical parallel machines at stage 1 and a single batching machine at stage 2, Gong and Tang [10] proposed a heuristic algorithm to minimize makespan plus the total penalty cost of batchingmachine utilization ratio where the job processing time at stage 2 is a step function of its waiting time between the two stages.
No setup is commonly considered in many shop scheduling problems [11, 12]. However, separated setup times have to be included in scheduling decision so as to describe realistic production process more accurately. Recently, the sequencedependent setup times (SDST) have attracted increasing attention among researchers. For the flowshop with SDST, Wang et al. [13] presented a hybrid local search algorithm to minimize makespan; Wang and Li [14] applied a hybrid chaotic biogeographybased optimization to minimize the total weighted tardiness; Li and Li [15] developed multiobjective local search based decomposition to solve permutation flowshop with the objective of minimizing makespan and total flowtime. Regarding the multistage FFSP with SDST, Pedro et al. [16] presented an improved genetic algorithm to minimize makespan. Marichelvam et al. [17] used a discrete firefly algorithm to minimize total tardiness. Pan et al. [18] developed nine metaheuristics based on trajectory and population to minimize makespan. Santosa and Riyanto [19] applied hybrid differential evolutionvariable neighborhood search to minimize makespan and maximum lateness simultaneously.
In past decades, many efforts have been made on heuristic and metaheuristic algorithms to obtain nearoptimal solutions with high quality in a reasonable computational time [20, 21]. The artificial bee colony (ABC) algorithm is one of the populationbased evolutionary metaheuristics, proposed by Karaboga [22], which simulates the intelligent foraging behavior of honey bees in nature. It has been applied to solve some shop scheduling problems. Chow et al. [23] used this algorithm to solve the flowshop makespan problem. Li and Ma [24] presented a novel discrete ABC (DABC) algorithm for the permutation flowshop scheduling with sequencedependent setup times in order to minimize makespan and total flowtime. Peng et al. [25] improved the ABC algorithm to solve FFSP with serialbatching machines on the last stage in which the objective is minimizing sojourn time, earliness of casting starting penalty, and tardiness of cast starting penalty. Cui and Gu [26] proposed an improved DABC algorithm for FFSP to minimize makespan. Li et al. [27] used an improved DABC algorithm for hybrid FFSP with dynamic operation skipping so that the average sojourn time, the penalties of tardiness and earliness, and the penalty of the skipping rate are minimized.
To the best of our knowledge, most research studies on scheduling with deterioration concentrate on linear deteriorating jobs and consider the machine environments such as single machine, parallel machine, flowshop, and twostage FFSP. Little work has been carried out on a multistage FFSP with stepdeteriorating jobs. This problem is NPcomplete even if there is only one single machine [28]. In this paper, the more complicated multistage FFSP with stepdeteriorating jobs and sequencedependent setup times (FFSPSDJ&SDST) is studied to minimize the sum of weighted completion times. A new improved DABC (IDABC) algorithm is then developed to obtain nearoptimal solutions.
The rest of this paper is organized as follows. Section 2 describes the problem and formulates a mathematical model. Section 3 develops an IDABC algorithm. In Section 4, computational experiments are performed and the algorithm comparisons are provided. Finally, the conclusions are summarized in Section 5.
2. Problem Formulation
2.1. Problem Description
In the FFSPSDJ&SDST, a set of n jobs {J_{1}, J_{2}, … , J_{n}} has to be processed on S stages, and each stage k has m_{k} unrelated machines (m_{k} ≥ 2 for at least one stage). These unrelated machines are continuously available from time zero. Each job should be started at its release time r_{i} (r_{i} > 0). Job j can be handled on any one of the m_{k} machines at stage k, and the basic processing time is different on each machine. A setup time δ_{fijk} occurs when job f is handled immediately before job i on machine j at stage k. δ_{0ijk} = 0 means that no setup time is required if job i is the first job processed on machine j at stage k. At stage k, job i has a basic constant processing time P_{ijk} on machine j if its starting time St_{ijk} is no more than its deteriorating date h_{ijk}; otherwise, it requires an extra penalty time b_{ijk}. Transfer times between two successive stages have to be considered because job delivery is often carried out by using conveyors, carts, and so on. The goal of the problem is to minimize the total weighted completion time.
2.2. Problem Definition and Notation
To describe the above problem, the following notations are introduced:(1)Parameters n: number of jobs S: number of stages m_{k}: number of machines on stage k T_{k,k+1}: delivery time of jobs from stage k to stage k + 1 r_{i:} release time of job i : weight of job i δ_{fijk}: setup time when job f is processed immediately before job i on machine j at stage k h_{ijk}: deteriorating date of job i on machine j at stage k b_{ijk}: deteriorating penalty time of job i on machine j at stage k : basic processing time of job i on machine j at stage k(2)Decision variables C_{ik}: completion time of job i at stage k St_{ijk}: starting time of job i on machine j at stage k : actual processing time of job i on machine j at stage k X_{ijk}: binary, set to 1 if job i is assigned to machine j at stage k; 0 otherwise Y_{fijk}: binary, set to 1 if job f is handled immediately before job i on machine j at stage k; 0 otherwise
2.3. Model Formulation
Applying the above notations, the studied problem can be formulated as an integer programming model, as shown below:subject to
The objective function (1) indicates the minimum total weighted completion time. Constraints (2) ensure that each job has to be processed in all stages and at each stage, a job can select only one available machine. Constraints (3) guarantee that all m_{k} machines are scheduled at each stage when n ≥ max {m_{1}, … , m_{S}}. Constraints (4) define the actual processing time of a job in consideration of stepdeteriorating effect. Constraints (5) indicate the relation of the completion time and beginning time of a job. Constraints (6) make sure that the beginning time of a job at stage 1 must be larger than or equal to its release time. Constraints (7) ensure that, for two consecutive jobs on the same machine, the next one can be started only after the completion of the preceding one plus the setup time between the two jobs. Constraints (8) indicate that, for two adjacent operations of a job, the latter one can be processed only after the former one has been finished and transferred to the corresponding machine. Constraints (9) represent the value ranges of decision variables.
3. Improved Discrete Artificial Bee Colony Algorithm
The ABC algorithm is originally used to solve continuous function optimization. However, as mentioned above, the considered FFSPSDJ&SDST is a discrete combination problem. Therefore, it is necessary to make discretization improvements so as to solve FFSPSDJ&SDST. So, an improved discrete artificial bee colony (IDABC) algorithm is presented to solve the NPcomplete problem.
3.1. The Framework of the Proposed IDABC Algorithm
The ABC algorithm starts with the generation of initial solutions and then performs an iteration of employed bee phase, onlooker bee phase, and scout bee phase. Since the considered problem belongs to discrete function optimization, this paper utilizes job sequence as solution representation and presents an IDABC algorithm. To make the algorithm more effective, a genetic algorithm (GA) is adopted including singlepoint crossover and multiple insertion mutation for employed bees; a modified variable neighborhood search (MVNS) using perturbation and search procedures is designed for onlooker bees; a greedy heuristic (GH) with destruction and reconstruction procedures is proposed for scout bees. The above modification or improvement is performed in the novel IDABC algorithm to obtain better food sources. The process of the IDABC algorithm is shown in Figure 1. The detailed steps are provided as follows: Step 1: parameter setting phase. Set the following system parameters: maximum iteration number I_{max}, population size Nump, iteration number limit related to food sources to be abandoned, crossover probability CP, and mutation probability MP Step 2: initialization of population. Randomly generate Nump job sequences (food sources) as initial solutions Step 3: solution evaluation. Compute fitness values of food sources and memorize the best solution Step 4: if the termination condition is met, output the optimal solution; otherwise, perform Step 5∼Step 9 Step 5: employed bee phase. Utilize GA to generate the new food sources Step 6: calculate the fitness value of each newly generated food sources and use the roulette wheel method to select food sources for onlooker bees Step 7: onlooker bee phase. Use MVNS to search round the selected food sources. Calculate the fitness values and find the better solutions Step 8: if there is a food source to be abandoned, perform Step 9; otherwise, go to Step 4 Step 9: scout bee phase. For the food sources without improvement during the limit iterations, a new solution is generated by using GH
3.2. Encoding and Decoding Procedures
The FFSPSDJ&SDST considers the sequencedependent setup times and unrelated parallel machines. The scheduling goal consists of assigning the jobs to the appropriate machines at each stage and ordering the jobs assigned to the same machine. Thus, a dynamic generation mechanism of initial solutions is proposed where job sequencebased representation for stage 1 is applied to encode the solutions and the decoding scheme containing two steps is applied. The initial solutions of the population are then obtained.
3.2.1. Encoding Solutions
To obtain Nump food sources, each job sequence at stage 1 is yielded from discrete domain. So, a random perturbation procedure based on job numbers is developed to construct the initial job sequence ω^{1} = {ω^{1}(1), ω^{1}(2), … , ω^{1}(i), … , ω^{1}(n)}, where ω^{k}(i) denotes the job on the ith position at stage k. Figure 2 illustrates an encoding scheme for an instance with five jobs where ω^{1}(1) = 4.
3.2.2. Decoding Food Sources
Because the goal is to minimize the total weighted completion time, the job with the earlier completion time at the immediately preceding stage is allowed to have a higher priority in order to improve ontime delivery between adjacent stages. So, the job sequence at stage k(k > 1) is determined according to their completion times at stage k − 1.
At stage 1, according to the above generated job sequence, the job ω^{1}(1) is firstly assigned to the machine with the shortest actual processing time. To balance the utility of all the machines, the job ω^{1}(2) chooses one machine with the shortest actual processing time from the unscheduled machines until the job ω^{1}(m_{1}) is arranged. For the unscheduled nm_{1} jobs, compute the possible completion time of job ω^{1}(i) (i > m_{1}) equal to the sum of the completion time of the immediately preceding job on the same machine, the setup time and its actual processing time, and assign it to the machine with the shortest completion time.
The job sequence at stage k(k > 1) is obtained in the increasing order of the completion time of all jobs at stage k − 1. If some jobs have the same completion time, order these jobs randomly. Similar with stage 1, the first m_{k} job is, respectively, arranged on the m_{k} machines with the shortest actual processing time based on the sequence so that all machines are used. When it turns to ω^{k}(i) (i > m_{k}), the starting time of job ω^{k}(i) is set to the maximum between its completion time at stage k − 1 plus the delivery time and the completion time of the immediately preceding job on the same machine plus the setup time. So, its completion time can be computed by its starting time plus the actual processing time. The assigned machine is decided with the shortest completion time. The process continues until all jobs are arranged in all stages, as shown in Figure 3.
3.2.3. Population Initialization
As described above, an individual is denoted as a permutation of all jobs at stage 1. To generate a population, a simple random procedure is adopted where Nump individuals (food sources) are consistent with the size of employed bee or onlooker bee.
To clearly illustrate the FFSPSDJ&SDST and the decoding procedure, a simple example is introduced with 5 jobs and 3 stages where each stage has three machines. The release time and weight of jobs are given by r_{i} = [3, 1, 4, 2, 3] and = [5, 6, 9, 7, 3]; delivery time T_{k,k+1} is, respectively, set to 3 and 2. For simplicity, it is assumed that the setup time δ_{fijk} is dependent on jobs and irrelevant to machines and denoted as . The basic processing time , deteriorating date h_{ijk}, deteriorating penalty time b_{ijk}, and setup time are, respectively, given below:
The initial job sequence [4, 5, 1, 3, 2] at stage 1 is given and consistent with the instance illustrated in Figure 2. The machine allocation and completion time of all jobs are computed as follows. The Gantt chart of a solution is drawn in Figure 4, where each operation is denoted by a rectangle labeled with a job number. Stage 1: ω^{1} = {4, 5, 1, 3, 2} C_{41} = r_{4} + min{P_{411}, P_{421,}P_{431}} = 2 + min{5, 13, 11} = 7 X_{411} = 1, X_{421} = X_{431} = 0 C_{51} = r_{5} + min{P_{421,}P_{431}} = 3 + min{10, 19} = 13 X_{521} = 1, X_{511} = X_{531} = 0 C_{11} = r_{1} + P_{131} = 3 + 8 = 11 X_{131} = 1, X_{111} = X_{121} = 0 C_{31} = min{C_{41} + + P_{311}, C_{51} + + P_{321}, C_{11} + + P_{331}} = min{7 + 5 + 17, 13 + 1 + 6, 11 + 4 + 12} = 20 (C_{41} + < h_{311}, C_{51} + < h_{321}, C_{11} + < h_{331}) X_{321} = 1, X_{311} = X_{331} = 0 C_{21} = min{C_{41} + + P_{211}, C_{31} + + P_{221}, C_{11} + +P_{231}} = {7 + 4 + 6, 20 + 2 + 4, 11 + 3 + 17} = 17 (C_{41} + < h_{211}, C_{31} + < h_{221}, C_{11} + < h_{231}) X_{211} = 1, X_{221} = X_{231} = 0 Stage 2: ω^{2} = {4, 1, 5, 2, 3} C_{42} = C_{41} + T_{12} + min{P_{412}, P_{422}, P_{432}} = 7 + 3 + min{14, 16, 12} = 22 (C_{41} + T_{12} < h_{412}, C_{41} + T_{12} < h_{422}, C_{41} + T_{12} < h_{432}) X_{432} = 1, X_{412} = X_{422} = 0 C_{12} = C_{11} + T_{12} + min{P_{112}, P_{122}} = 11 + 3 + min{16, 12} = 26 (C_{11} + T_{12} < h_{112}, C_{11} + T_{12} < h_{122}) X_{122} = 1, X_{112} = X_{132} = 0 C_{52} = C_{51} + T_{12} + P_{512} = 13 + 3 + 12 = 28 (C_{51} + T_{12} < h_{512}) X_{512} = 1, X_{522} = X_{532} = 0 C_{22} = min{max{C_{21} + T_{12}, C_{52} + } + P_{212}, max{C_{21} + T_{12}, C_{12} + } + P_{222}, max{C_{21} + T_{12}, C_{42} + } + P_{232}} = min{max{17 + 3, 28 + 1} + 16, max{17 + 3, 26 + 3} + 10, max{17 + 3, 22 + 4} + 20 = 39 (max{C_{21} + T_{12}, C_{52} + } < h_{212}, max{C_{21} + T_{12}, C_{12} + } < h_{222}, max{C_{21} + T_{12}, C_{42} + } < h_{232}) X_{222} = 1, X_{212} = X_{232} = 1 C_{32} = min{max{C_{31} + T_{12}, C_{52} + } + P_{312} + b_{312}, max{C_{31} + T_{12}, C_{22} + } + P_{322} + b_{322}, max{C_{31} + T_{12}, C_{42} + } + P_{332} + b_{332}} = min{max{20 + 3, 28 + 1} + 16 + 2, max{20 + 3, 39 + 2} + 11 + 6, max{20 + 3, 22 + 5} + 10 + 4} = 41 (max{C_{31} + T_{12}, C_{52} + } > h_{312}, max{C_{31} + T_{12}, C_{22} + } > h_{322}, max{C_{31} + T_{12}, C_{42} + } > h_{332}) X_{332} = 1, X_{312} = X_{322} = 0 Stage 3: ω^{3} = {4, 1, 5, 2, 3} C_{43} = C_{42} + T_{23} + min{P_{413}, P_{423}, P_{433}} = 22 + 2 + min{11, 14, 19} = 35 (C_{42} + T_{23} < h_{413}, C_{42} + T_{23} < h_{423}, C_{42} + T_{23} < h_{433}) X_{413} = 1, X_{423} = X_{433} = 0 C_{13} = C_{12} + T_{23} + min{P_{123}, P_{133}} = 26 + 2 + min{13, 10} = 38 (C_{12} + T_{23} < h_{123}, C_{12} + T_{23} < h_{133}) X_{133} = 1, X_{113} = X_{123} = 0 C_{53} = C_{52} + T_{23} + P_{523} + b_{523} = 28 + 2 + 15 + 5 = 50 (C_{52} + T_{23} > h_{523}) X_{523} = 1, X_{513} = X_{533} = 0 C_{23} = min{max{C_{22} + T_{23}, C_{43} + } + P_{213} + b_{213}, max{C_{22} + T_{23}, C_{53} + } + P_{223} + b_{223}, max{C_{22} + T_{23}, C_{13} + } + P_{233} + b_{233}} = min{max{39 + 2, 35 + 4} + 16 + 3, max{39 + 2, 50 + 1} + 11 + 1, max{39 + 2, 38 + 3} + 9 + 4} = 54 (max{C_{22} + T_{23}, C_{43} + } > h_{213}, max{C_{22} + T_{23}, C_{53} + } > h_{223}, max{C_{22} + T_{23}, C_{13} + } > h_{233}) X_{233} = 1, X_{213} = X_{223} = 0 C_{33} = min{max{C_{32} + T_{23}, C_{43} + } + P_{313} + b_{313}, max{C_{32} + T_{23}, C_{53} + } + P_{323} + b_{323}, max{C_{32} + T_{23}, C_{23} + } + P_{333} + b_{333}} = min{max{41 + 2, 35 + 5} + 7 + 2, max{41 + 2, 50 + 1} + 14 + 10, max{41 + 2, 54 + 2} + 14 + 10} = 52 (max{C_{32} + T_{23}, C_{43} + } > h_{313}, max{C_{32} + T_{23}, C_{53} + } > h_{323}, max{C_{32} + T_{23}, C_{23} + } > h_{333}) X_{313} = 1, X_{323} = X_{333} = 0 Therefore, the total weighted completion time is: = 5 × 38 + 6 × 54 + 9 × 52 + 7 × 35 + 3 × 50 = 1377.
3.3. Employed Bee Phase
In the employed bee phase, the new solutions are yielded by performing a genetic algorithm in order to find a neighboring food source from the current food source. The detailed GA is described below.
3.3.1. Fitness Evaluation and Selection Operation
Because the objective of this model is to minimize total weighted completion time, the reciprocal of the objective function is used as the fitness function. Therefore, the fitness function of the yth food source is estimated by f(y) = . The roulette wheel selection is applied to determine the offspring where the individual with the higher fitness value has the higher probability to be selected.
3.3.2. SinglePoint Crossover Operator
Step 1: randomly generate a real number Rc from the interval [0, 1] and compare it with the crossover probability CP. If Rc ≤ CP, two food sources A = {ω_{A}(1), ω_{A}(2), … , ω_{A}(i), … , ω_{A}(n)} and B = {ω_{B}(1), ω_{B}(2), … , ω_{B}(i), … , ω_{B}(n)} are picked out randomly from the population after the selection operation. Step 2: a crossover position θ (0 < θ <n) is generated randomly, and the singlepoint crossover is performed on A and B. As shown in Figure 5, the genes after position θ in A (B) are copied to A′ (B′) by keeping their position unchanged. The lacking genes in A′ (B′) are filled with the first θ genes in B (A) by maintaining their relative orders. Step 3: find the job number (denoted as μ(θ_{1})) in {ω_{B}(1), … , ω_{B}(θ)} which emerges repeatedly in {ω_{A}(θ + 1), … , ω_{A}(n)} for A′. Similarly, find the job number (θ_{2}) from {ω_{A}(1), … , ω_{A}(θ)} with the same as {ω_{B}(θ + 1), … , ω_{B}(n) for B′. Step 4: replace μ(θ_{1}) in the θ_{1}th position with (θ_{2}) in A′ and (θ_{2}) in the θ_{2}th position with μ(θ_{1}) in B′. Therefore, two new food sources are formed.
3.3.3. MultiInsertion Mutation Operator
A real number Rm is randomly produced from the interval [0, 1]. If Rm is not larger than mutation probability MP, two job positions (θ_{1} and θ_{2}) are randomly chosen in a permutation Z = {ω(1), ω(2), … , ω(n)}. Suppose that IT is an insertion number. Insert job ω(θ_{1}) into (θ_{2} + q − 1)th (q ∈ {1, … , IT}) position, as shown in Figure 6. If θ_{2} + q − 1 > n, let θ_{2} + q − 1 equal to 1. Thus, IT new food sources are obtained to increase the diversity of population.
3.4. Onlooker Bee Phase
This phase uses the same roulette wheel selection applied in the employed bee phase for the food source returned by the employed bee. An onlooker bee chooses a food source ω depending on its probability value FP_{ω} = f(ω)/∑_{y}f(y).
The modified variable neighborhood search (MVNS) is then applied for the above food sources. Firstly, the following neighborhood structures NS_{φ} (φ = 1, 2, 3) are designed to help the onlooker bee explore possible promising neighbors.
3.4.1. Exchange Mutation
Two randomly generated positions (θ_{1} and θ_{2}) are chosen and the corresponding jobs are swapped, as shown in Figure 7.
3.4.2. 2Opt Invert Mutation
Two randomly selected jobs (ω(θ_{1}) and ω(θ_{2})) are picked out and the subsequence between positions θ_{1} and θ_{2} are inverted, as illustrated in Figure 8.
3.4.3. Fragment Insert Mutation
Randomly select two different jobs ω(θ_{1}) and ω(θ_{2}) and remove the subsequence between positions θ_{1} and θ_{2}. A randomly selected position τ from the remaining positions is chosen, and the subsequence between θ_{1} and θ_{2} is inserted into position τ, as shown in Figure 9.
Next, the new neighboring solution obtained by applying these search rules is evaluated and compared to the primary food source. If the new solution obtained by MVNS is better than the primary one, the primary food source is replaced and the new food source becomes a new member in the population.
The procedure of MVNS is listed in Algorithm 1.

3.5. Scout Bee Phase
If a food source has no improvement during limit iterations, this employed bee will become a scout bee. A greedy heuristic is developed to produce a new food source including two steps.
3.5.1. Destruction Procedure
Job ω(θ) is randomly chosen and removed from the food source Z = {ω(1), ω(2), … , ω(θ − 1), ω(θ), ω(θ + 1), … , ω(n)} so that a remaining food source Z − θ = {ω(1), ω(2), … , ω(θ − 1), ω(θ + 1) … , ω(n)} is generated.
3.5.2. Reconstruction Procedure
The selected job ω(θ) is sequentially inserted into another randomly selected position of Zθ, and the corresponding fitness value is calculated. Compare these new generated neighboring solutions and choose the best one with the largest fitness value as the current solution.
4. Experimental Testing and Analyses
In order to verify the performance of the presented algorithm, an extensive experimental comparison with GA, VNS, and GH are provided. All algorithms are coded in MATLAB R2014a and run on a Micro Core i54210U, 1.7 GHz PC with 4.00 GB. The orthogonal test method is used to optimize the parameters in the IDABC algorithm. The maximum iteration number is set to 100, and the longest running time is 800 s. Test instances are randomly generated as follows:(1)Job number n ∈ {10, 40, 70, 100, 120} and stage number S ∈ {2, 3, 5}. The setting of m_{k} at stage k is divided into two cases: X and Y. In case X, m_{k} = 3 for k = 1,… , S and in case Y, m_{k} ∈ U[1, 5].(2)The basic processing time, job release time, delivery time between stages, setup time, and job weight are generated from the following discrete uniform distributions: P_{ijk} ∈ U[1, 20], r_{i} ∈ U[1, 5], T_{k,k+1} ∈ U[1, 6], δ_{fijk} ∈ U[1, 6], and ∈ U[1, 10].(3)The penalty time b_{ijk} is produced according to the uniform distribution U[1, 20ψ] where ψ = 0.5.(4)Parameter Δ is determined by equation (11), where represents the average processing time of job i at stage k defined as equation (12). The deterioration dates are randomly generated from a uniform distribution on the intervals H_{1} ∈ U[1, 0.7Δ] and H_{2} ∈ U[0.3Δ, Δ].(5)Based on the simulation experiments of different parameter values, the insertion number IT applied for employed bees is set to IT = n × 20%. The number of cycles is used as the stopping criterion of MVNS for onlooker bees and it is fixed to 5.
4.1. Parameter Settings
In the presented IDABC algorithm, four main parameters are included, i.e., Nump, limit, CP, and MP. They are optimized through orthogonal experiments where each parameter is viewed as a factor changing at three different levels (see Table 1), resulting in 3^{2} = 9 experiments.

An instance 30 × 3 × 3 (n = 30, S = 3, and m_{k} = 3) is taken as an example, and every parameter combination is tested ten times. Table 2 gives the orthogonal parameter table L_{9}(3^{4}) with nine groups of the parameters, and the mean objective values where Q_{y} (y = 1, 2, 3) in column z (z = 1, 2, 3, 4) denotes the average of the results for three sets of factor z at level y. According to the experimental results, the parameters are set as follows: Nump = 80, limit = 8, CP = 0.8, and MP = 0.5.

4.2. Simulation Results and Analyses
To make a fair comparison, all the algorithms utilize the same CPU time limit as a termination criterion. All of the cited parameters {n, S, m_{k}, h_{ijk}} mentioned above result in a total of 5 × 3 × 2 × 2 = 60 different combinations. For each combination, ten random instances are generated. Thus, there are 360 small and mediumsized instances and 240 largesized instances to test these algorithms. The relative percentage increase (RPI) is defined as follows:where O_{ζ} is the objective value obtained by different metaheuristic algorithm and O_{best} is the best objective value found by all algorithms.
Therefore, average RPI (ARPI) can be computed and used as a performance measure to compare the performance of the algorithms. Tables 3 and 4 list the testing results for different sized problems where columns Avg and Min represent the average and minimum of 10 runs of each algorithm, respectively.


It can be concluded from Tables 3 and 4 that the proposed IDABC algorithm performs better than GA, GH, and VNS consistently. Precisely, the IDABC algorithm has the least ARPI 2.00% and 2.46%, respectively, for smallmediumsized problems and largesized problems, which are smaller than the ARPI of the GA, GH, and VNS, 4.75% and 7.77%, 6.17% and 9.01%, and 5.18% and 8.16%. This indicates that the results obtained by the presented algorithm are closer to the optimal or nearoptimal solutions. For all instances, the average objective values of IDABC outperform consistently the other algorithms, and the best optimal or nearoptimal solutions are almost found by IDABC except two combinations (40 × 5 × X and 100 × 2 × Y) where the IDABC is slightly worse than the GA.
When the scale of the problem increases, the gap of ARPI values become bigger compared with the other algorithms. For the two tested deterioration dates of H_{1} and H_{2,} it can be seen that the algorithms under H_{2} perform better.
To explain the difference statistically among the algorithms, the analysis of variance (ANOVA) is carried out to check the results. The method of residual diagnosis is applied, and the results support the main hypotheses of the ANOVA. The means plot of ARPI and least significant deviation (LSD) intervals for all the algorithms are shown in Figure 10 with LSD intervals at a 95% confidence level. It can be seen from the figure that the intervals obtained by the IDABC algorithm differ significantly from the other algorithms and it provides better stability.
(a)
(b)
4.3. IDABC Effect Experiments
This section will further study the relationship between the algorithm performance and iteration number. Take n = {10, 70, 120}, S = 3 and m_{k} = 3, and the job deterioration date is set to H_{1}. Figure 11 shows the convergence trend of the three instances for the four algorithms. As seen in the figure, as the job size increases, the IDABC can find better objective values within a less iteration number and have a faster convergence.
(a)
(b)
(c)
5. Conclusions
In this paper, the FFSP with stepdeteriorating jobs and sequencedependent setup times is studied, and the integer programming model is established. An improved discrete artificial bee colony (IDABC) algorithm is then presented for minimum total weighted completion time. In the IDABC algorithm, a permutationbased encoding scheme is applied, decoding with the dynamic generation mechanism to obtain the initial solutions. A genetic algorithm is designed to new offspring solutions in the employed bee phase; a modified variable neighborhood search with perturbation and searching operators is then developed in onlooker bee phase to generate new neighborhood food sources; scouting bees adopt a greedy heuristic to further find better solutions for the nonimproved individual. The comparison with GA, GH, and MVNS verifies the effectivity and efficiency of the IDABC algorithm, especially for largescale problems.
Some future work may be done from the following aspects: (1) our study involves the singleobjective problem of total weighted completion time; the application of the developed algorithm may be extended to solve other single or multiobjective scheduling problems; (2) it is interesting to present some heuristic algorithms to generate initial population instead of the random procedure used in the paper so as to further improve the algorithm performance.
Data Availability
All data generated or analyzed during this study are included in this article.
Conflicts of Interest
The authors declare that there are no conflicts of interest regarding the publication of this paper.
Acknowledgments
This research was partly supported by the National Natural Science Foundation of China (grant nos. U1804151 and U1604150).
References
 S.W. Lin, K.C. Ying, and C.Y. Huang, “Multiprocessor task scheduling in multistage hybrid flowshops: a hybrid artificial bee colony algorithm with bidirectional planning,” Computers & Operations Research, vol. 40, no. 5, pp. 1186–1195, 2013. View at: Publisher Site  Google Scholar
 P. Guo, W. Cheng, and Y. Wang, “Parallel machine scheduling with stepdeteriorating jobs and setup times by a hybrid discrete cuckoo search algorithm,” Engineering Optimization, vol. 47, no. 11, pp. 1564–1585, 2015. View at: Publisher Site  Google Scholar
 J. Y. Xu, N. Q. Dong, and S. S. Gu, “Multiobjective permutation flowshop with sequencedependent setup time,” Computer Integrated Manufacturing Systems, vol. 19, no. 12, pp. 3170–3176, 2013. View at: Google Scholar
 J. N. D. Gupta and S. K. Gupta, “Single facility scheduling with nonlinear processing times,” Computers & Industrial Engineering, vol. 14, no. 4, pp. 387–393, 1988. View at: Publisher Site  Google Scholar
 S. Browne and U. Yechiali, “Scheduling deteriorating jobs on a single processor,” Operations Research, vol. 38, no. 3, pp. 495–498, 1990. View at: Publisher Site  Google Scholar
 J.J. Wang and Y.J. Liu, “Singlemachine bicriterion group scheduling with deteriorating setup times and job processing times,” Applied Mathematics and Computation, vol. 242, pp. 309–314, 2014. View at: Publisher Site  Google Scholar
 J.B. Wang and L. Li, “Machine scheduling with deteriorating jobs and modifying maintenance activities,” The Computer Journal, vol. 61, no. 1, pp. 47–53, 2018. View at: Publisher Site  Google Scholar
 H. Wang, M. Huang, and J. Wang, “An effective metaheuristic algorithm for flowshop scheduling with deteriorating jobs,” Journal of Intelligent Manufacturing, vol. 30, no. 7, pp. 2733–2742, 2019. View at: Publisher Site  Google Scholar
 W. Cheng, P. Guo, Z. Zhang, M. Zeng, and J. Liang, “Variable neighborhood search for parallel machines scheduling problem with step deteriorating jobs,” Mathematical Problems in Engineering, vol. 2012, Article ID 928312, 20 pages, 2012. View at: Publisher Site  Google Scholar
 H. Gong and L. X. Tang, “A twostage flexible flowshop problem with deterioration,” Computing and Combinatorics, Proceedings, vol. 5092, pp. 651–660, 2008. View at: Google Scholar
 X. Li and M. Yin, “A hybrid cuckoo search via Lévy flights for the permutation flow shop scheduling problem,” International Journal of Production Research, vol. 51, no. 16, pp. 4732–4754, 2013. View at: Publisher Site  Google Scholar
 X. Wang and L. Tang, “A machinelearning based memetic algorithm for the multiobjective permutation flowshop scheduling problem,” Computers & Operations Research, vol. 79, pp. 60–77, 2017. View at: Publisher Site  Google Scholar
 Y. Wang, X. Li, and Z. Ma, “A hybrid local search algorithm for the sequence dependent setup times flowshop scheduling problem with makespan criterion,” Sustainability, vol. 9, no. 12, pp. 1–35, 2017. View at: Publisher Site  Google Scholar
 Y. Wang and X. Li, “A hybrid chaotic biogeography based optimization for the sequence dependent setup times flowshop scheduling problem with weighted tardiness objective,” IEEE Access, vol. 5, pp. 26046–26062, 2017. View at: Publisher Site  Google Scholar
 X. Li and M. Li, “Multiobjective local search algorithmbased decomposition for multiobjective permutation flow shop scheduling problem,” IEEE Transactions on Engineering Management, vol. 62, no. 4, pp. 544–557, 2015. View at: Publisher Site  Google Scholar
 G. G. Pedro, C. Andrés, and F.C. Lario, “An agentbased genetic algorithm for hybrid flowshops with sequence dependent setup times to minimise makespan,” Expert Systems with Applications, vol. 39, no. 9, pp. 8095–8107, 2012. View at: Publisher Site  Google Scholar
 M. K. Marichelvam, A. Azhagurajan, and M. Geetha, “Minimisation of total tardiness in hybrid flowshop scheduling problems with sequence dependent setup times using a discrete firefly algorithm,” International Journal of Operational Research, vol. 32, no. 1, pp. 114–126, 2018. View at: Publisher Site  Google Scholar
 Q.K. Pan, L. Gao, X.Y. Li, and K.Z. Gao, “Effective metaheuristics for scheduling a hybrid flowshop with sequencedependent setup times,” Applied Mathematics and Computation, vol. 303, pp. 89–112, 2017. View at: Publisher Site  Google Scholar
 B. Santosa and O. A. W. Riyanto, “Hybrid differential evolutionvariable neighborhood search to solve multiobjective hybrid flowshop scheduling with jobsequence dependent setup time,” Lecture Notes in Computer Science, vol. 9712, pp. 587–598, 2016. View at: Publisher Site  Google Scholar
 X. P. Wang, Z. M. Dong, and L. X. Tang, “Multiobjective differential evolution with personal archive and biased selfadaptive mutation selection,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2018, In press. View at: Publisher Site  Google Scholar
 L. X. Tang, X. P. Wang, and Z. M. Dong, “Adaptive multiobjective differential evolution with reference axis vicinity mechanism,” IEEE Transactions on Cybernetics, vol. 49, no. 9, pp. 3571–3585, 2019. View at: Publisher Site  Google Scholar
 D. Karaboga, “An idea based on honey bee swarm for numerical optimization,” Computer Engineering Department, Erciyes University, Kayseri, Turkey, 2005, Technical Report TR06. View at: Google Scholar
 H. Y. Chow, S. Hasan, and S. A. Bareduan, “Basic concept of implementing artificial bee colony (ABC) system in flow shop scheduling,” Applied Mechanics and Materials, vol. 315, pp. 385–388, 2013. View at: Publisher Site  Google Scholar
 X. T. Li and S. Ma, “Multiobjective discrete artificial bee colony algorithm for multiobjective permutation flow shop scheduling problem with sequence dependent setup times,” IEEE Transactions on Engineering Management, vol. 64, no. 2, pp. 149–165, 2017. View at: Publisher Site  Google Scholar
 K. Peng, Q. Pan, and B. Zhang, “An improved artificial bee colony algorithm for steelmaking–refining–continuous casting scheduling problem,” Chinese Journal of Chemical Engineering, vol. 26, no. 8, pp. 1727–1735, 2018. View at: Publisher Site  Google Scholar
 Z. Cui and X. Gu, “An improved discrete artificial bee colony algorithm to minimize the makespan on hybrid flow shop problems,” Neurocomputing, vol. 148, pp. 248–259, 2015. View at: Publisher Site  Google Scholar
 J.q. Li, Q.k. Pan, and P.y. Duan, “An improved artificial bee colony algorithm for solving hybrid flexible flowshop with dynamic operation skipping,” IEEE Transaction on Cybernetics, vol. 46, no. 6, pp. 1311–1324, 2016. View at: Publisher Site  Google Scholar
 T. C. E. Cheng and Q. Ding, “Single machine scheduling with stepdeteriorating processing times,” European Journal of Operational Research, vol. 134, no. 3, pp. 623–630, 2001. View at: Publisher Site  Google Scholar
Copyright
Copyright © 2019 Hua Xuan et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.