Mathematical Problems in Engineering

Mathematical Problems in Engineering / 2019 / Article

Research Article | Open Access

Volume 2019 |Article ID 8520503 | 13 pages |

An Improved Discrete Artificial Bee Colony Algorithm for Flexible Flowshop Scheduling with Step Deteriorating Jobs and Sequence-Dependent Setup Times

Academic Editor: Francisco Chicano
Received16 Jul 2019
Revised04 Nov 2019
Accepted13 Nov 2019
Published12 Dec 2019


This paper studies a flexible flowshop scheduling problem with step-deteriorating jobs and sequence-dependent setup times (FFSP-SDJ&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 NP-complete, 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 step-deteriorating jobs and sequence-dependent 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 single-machine 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 sequence-dependent setup times and applied a hybrid discrete cuckoo algorithm to minimize total tardiness; Cheng et al. [9] presented a modified weight-combination search algorithm and a variable neighborhood search to minimize total completion time. For two-stage 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 batching-machine 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 sequence-dependent 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 biogeography-based 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 evolution-variable neighborhood search to minimize makespan and maximum lateness simultaneously.

In past decades, many efforts have been made on heuristic and metaheuristic algorithms to obtain near-optimal solutions with high quality in a reasonable computational time [20, 21]. The artificial bee colony (ABC) algorithm is one of the population-based 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 sequence-dependent setup times in order to minimize makespan and total flowtime. Peng et al. [25] improved the ABC algorithm to solve FFSP with serial-batching 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 two-stage FFSP. Little work has been carried out on a multistage FFSP with step-deteriorating jobs. This problem is NP-complete even if there is only one single machine [28]. In this paper, the more complicated multistage FFSP with step-deteriorating jobs and sequence-dependent setup times (FFSP-SDJ&SDST) is studied to minimize the sum of weighted completion times. A new improved DABC (IDABC) algorithm is then developed to obtain near-optimal 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 FFSP-SDJ&SDST, a set of n jobs {J1, J2, … , Jn} has to be processed on S stages, and each stage k has mk unrelated machines (mk ≥ 2 for at least one stage). These unrelated machines are continuously available from time zero. Each job should be started at its release time ri (ri > 0). Job j can be handled on any one of the mk 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 Pijk on machine j if its starting time Stijk is no more than its deteriorating date hijk; otherwise, it requires an extra penalty time bijk. 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)Parametersn: number of jobsS: number of stagesmk: number of machines on stage kTk,k+1: delivery time of jobs from stage k to stage k + 1ri: 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 khijk: deteriorating date of job i on machine j at stage kbijk: 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 variablesCik: completion time of job i at stage kStijk: starting time of job i on machine j at stage k: actual processing time of job i on machine j at stage kXijk: binary, set to 1 if job i is assigned to machine j at stage k; 0 otherwiseYfijk: 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 mk machines are scheduled at each stage when n ≥ max {m1, … , mS}. Constraints (4) define the actual processing time of a job in consideration of step-deteriorating 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 FFSP-SDJ&SDST is a discrete combination problem. Therefore, it is necessary to make discretization improvements so as to solve FFSP-SDJ&SDST. So, an improved discrete artificial bee colony (IDABC) algorithm is presented to solve the NP-complete 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 single-point 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 Imax, population size Nump, iteration number limit related to food sources to be abandoned, crossover probability CP, and mutation probability MPStep 2: initialization of population. Randomly generate Nump job sequences (food sources) as initial solutionsStep 3: solution evaluation. Compute fitness values of food sources and memorize the best solutionStep 4: if the termination condition is met, output the optimal solution; otherwise, perform Step 5∼Step 9Step 5: employed bee phase. Utilize GA to generate the new food sourcesStep 6: calculate the fitness value of each newly generated food sources and use the roulette wheel method to select food sources for onlooker beesStep 7: onlooker bee phase. Use MVNS to search round the selected food sources. Calculate the fitness values and find the better solutionsStep 8: if there is a food source to be abandoned, perform Step 9; otherwise, go to Step 4Step 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 FFSP-SDJ&SDST considers the sequence-dependent 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 sequence-based 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 on-time 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(m1) is arranged. For the unscheduled n-m1 jobs, compute the possible completion time of job ω1(i) (i > m1) 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 mk job is, respectively, arranged on the mk machines with the shortest actual processing time based on the sequence so that all machines are used. When it turns to ωk(i) (i > mk), 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 FFSP-SDJ&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 ri = [3, 1, 4, 2, 3] and  = [5, 6, 9, 7, 3]; delivery time Tk,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 hijk, deteriorating penalty time bijk, 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}C41 = r4 + min{P411, P421,P431} = 2 + min{5, 13, 11} = 7X411 = 1, X421 = X431 = 0C51 = r5 + min{P421,P431} = 3 + min{10, 19} = 13X521 = 1, X511 = X531 = 0C11 = r1 + P131 = 3 + 8 = 11X131 = 1, X111 = X121 = 0C31 = min{C41 + +P311, C51 + +P321, C11 +  +P331} = min{7 + 5 + 17, 13 + 1 + 6, 11 + 4 + 12} = 20 (C41 +  < h311, C51 +  < h321, C11 +  < h331)X321 = 1, X311 = X331 = 0C21 = min{C41 + +P211, C31 + +P221, C11 + +P231} = {7 + 4 + 6, 20 + 2 + 4, 11 + 3 + 17} = 17 (C41 +  < h211, C31 +  < h221, C11 +  < h231)X211 = 1, X221 = X231 = 0Stage 2:ω2 = {4, 1, 5, 2, 3}C42 = C41 + T12 + min{P412, P422, P432} = 7 + 3 + min{14, 16, 12} = 22 (C41 + T12 < h412, C41 + T12 < h422, C41 + T12 < h432)X432 = 1, X412 = X422 = 0C12 = C11 + T12 + min{P112, P122} = 11 + 3 + min{16, 12} = 26 (C11 + T12 < h112, C11 + T12 < h122)X122 = 1, X112 = X132 = 0C52 = C51 + T12 + P512 = 13 + 3 + 12 = 28 (C51 + T12 < h512)X512 = 1, X522 = X532 = 0C22 = min{max{C21 + T12, C52 + } + P212, max{C21 + T12, C12 + } + P222, max{C21 + T12, C42 + } + P232} = min{max{17 + 3, 28 + 1} + 16, max{17 + 3, 26 + 3} + 10, max{17 + 3, 22 + 4} + 20 = 39 (max{C21 + T12, C52 + } < h212, max{C21 + T12, C12 + } < h222, max{C21 + T12, C42 + } < h232)X222 = 1, X212 = X232 = 1C32 = min{max{C31 + T12, C52 + } + P312 + b312, max{C31 + T12, C22 + } + P322 + b322, max{C31 + T12, C42 + } + P332 + b332} = min{max{20 + 3, 28 + 1} + 16 + 2, max{20 + 3, 39 + 2} + 11 + 6, max{20 + 3, 22 + 5} + 10 + 4} = 41 (max{C31 + T12, C52 + } > h312, max{C31 + T12, C22 + } > h322, max{C31 + T12, C42 + } > h332)X332 = 1, X312 = X322 = 0Stage 3:ω3 = {4, 1, 5, 2, 3}C43 = C42 + T23 + min{P413, P423, P433} = 22 + 2 + min{11, 14, 19} = 35 (C42 + T23 < h413, C42 + T23 < h423, C42 + T23 < h433)X413 = 1, X423 = X433 = 0C13 = C12 + T23 + min{P123, P133} = 26 + 2 + min{13, 10} = 38(C12 + T23 < h123, C12 + T23 < h133)X133 = 1, X113 = X123 = 0C53 = C52 + T23 + P523 + b523 = 28 + 2 + 15 + 5 = 50 (C52 + T23 > h523)X523 = 1, X513 = X533 = 0C23 = min{max{C22 + T23, C43 + } + P213 + b213, max{C22 + T23, C53 + } + P223 + b223, max{C22 + T23, C13 + } + P233 + b233} = min{max{39 + 2, 35 + 4} + 16 + 3, max{39 + 2, 50 + 1} + 11 + 1, max{39 + 2, 38 + 3} + 9 + 4} = 54(max{C22 + T23, C43 + } > h213, max{C22 + T23, C53 + } > h223, max{C22 + T23, C13 + } > h233)X233 = 1, X213 = X223 = 0C33 = min{max{C32 + T23, C43 + } + P313 + b313, max{C32 + T23, C53 + } + P323 + b323, max{C32 + T23, C23 + } + P333 + b333} = min{max{41 + 2, 35 + 5} + 7 + 2, max{41 + 2, 50 + 1} + 14 + 10, max{41 + 2, 54 + 2} + 14 + 10} = 52 (max{C32 + T23, C43 + } > h313, max{C32 + T23, C53 + } > h323, max{C32 + T23, C23 + } > h333)X313 = 1, X323 = X333 = 0Therefore, 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. Single-Point 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 single-point 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 θ1th position with (θ2) in A′ and (θ2) in the θ2th position with μ(θ1) in B′. Therefore, two new food sources are formed.

3.3.3. Multi-Insertion 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(ω)/∑yf(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. 2-Opt 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.

Initialization: define
for every food source do
x = 1;
while x < 3;
  execute to
  x = x + 1;
end while
while the stopping criterion is not met
   = execute to
  end if
end while
end for
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 i5-4210U, 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 mk at stage k is divided into two cases: X and Y. In case X, mk = 3 for k = 1,… , S and in case Y, mk ∈ 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: Pijk ∈ U[1, 20], ri ∈ U[1, 5], Tk,k+1 ∈ U[1, 6], δfijk ∈ U[1, 6], and  ∈ U[1, 10].(3)The penalty time bijk 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 H1 ∈ U[1, 0.7Δ] and H2 ∈ 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 32 = 9 experiments.

Factor levelFactors


An instance 30 × 3 × 3 (n = 30, S = 3, and mk = 3) is taken as an example, and every parameter combination is tested ten times. Table 2 gives the orthogonal parameter table L9(34) with nine groups of the parameters, and the mean objective values where Qy (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.

FactorAverage objective value



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, mk, hijk} 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 medium-sized instances and 240 large-sized 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 Obest 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.

n × S × mk× hGAGHVNSIDABCCPU time

n × S × mk× H1
10×2× X × H11754.417103.321735.817042.231725.617041.631709.416980.0725.52
10×2× Y × H1778.27652.74787.87652.98776.77651.53765.37650.0427.19
10×3× X × H11081.810651.731081.210532.671130.410717.351056.910530.3749.66
10×3× Y × H11592.815523.321594.415722.731577.215521.621564.815520.8242.11
10×5× X × H14236.141352.624225.141193.054225.941013.074216.041002.8378.03
10×5× Y × H14430.343541.754435.943681.884363.843540.224358.243540.1081.33
40×2× X × H117268.0166263.3517857.81762211.0117208.6168366.9816736.4168084.04146.63
40×2× Y × H116813.6161924.1417879.21748010.7517276.0168727.0116409.6161441.65139.72
40×3× X × H139717.0381404.5540121.3391705.6140267.2388605.9938991.2379902.63262.19
40×3× Y × H116295.5159953.3916700.5163455.9716326.0158753.5915999.5157601.52189.74
40×5× X × H117268.0160607.5217357.8166268.0817208.6168367.1516736.4160864.21346.06
40×5× Y × H145633.6440646.2945929.7447846.9944965.8443794.7444474.4429303.60482.23
70×2× X × H17312.471158.707445.0720410.677397.372479.967163.667276.49294.42
70×2× Y × H142046.9404748.6443504.34187412.4143201.94228711.6240496.4387034.63281.67
70×3× X × H139585.9384068.6839309.6382987.9339376.8378698.1137216.2364232.18496.63
70×3× Y × H167027.4647446.3667655.0658407.3566655.0649525.7663835.7630331.29429.50
70×5× X × H151786.4508737.4451987.9510037.8451972.9510307.8148987.1482011.61734.33
70×5× Y × H181461.2805447.0081714.2806647.3381300.2802106.7977476.8761341.76789.32

n × S × mk× H2
10×2× X × H21126.011081.621120.011081.081122.411081.301108.411080.0425.52
10×2× Y × H21020.69992.471029.610113.371020.910142.501001.79960.5827.19
10×3× X × H2469.94612.37470.54612.51468.04591.96460.44590.3149.66
10×3× Y × H23003.029262.632974.029260.712946.329260.692926.429260.0142.11
10×5× X × H24823.648022.024831.948012.204856.848022.724804.147281.6178.03
10×5× Y × H24261.642002.054274.442002.364215.241760.944176.841760.0281.33
40×2× X × H28677.283044.768999.186078.658837.486766.698530.882322.99146.63
40×2× Y × H26795.065075.307229.7705012.046890.467116.786614.464532.50139.72
40×3× X × H222859.4222187.4125345.82287210.6422761.0221106.9521937.8212823.08262.19
40×3× Y × H23179.730903.303248.531955.543196.831273.863122.630781.45189.74
40×5× X × H239642.2390994.2139505.9387393.8939667.5394944.3238536.0380251.34346.06
40×5× Y × H234203.4333274.1434980.4341746.5034365.8337824.6333717.6328842.66482.23
70×2× X × H252081.9509355.7653207.0523538.0552888.6520867.4050476.3492452.50294.42
70×2× Y × H268669.4652307.9768177.7669907.2068780.6662408.1466003.8636003.78281.67
70×3× X × H250135.6489364.5751162.1494226.7150552.6498065.4448794.7479461.77496.63
70×3× Y × H224507.3241625.1524948.9247297.0424859.2243996.6624277.6233084.15429.50
70×5× X × H261215.0603427.7361804.5610838.7761518.9604978.2657294.3568230.83734.33
70×5× Y × H254368.4531365.9355100.4533327.3554555.6537246.2952626.0513282.53789.32

n × S × mk × hGAGHVNSIDABCCPU time

n × S × mk× H1
100×2× X × H185002.6803948.8986004.08336410.1886182.88522410.4181648.6780604.60563.30
100×2× Y × H1164413.61623408.69165181.41641109.20164004.71608208.42154190.41512701.93570.34
100×3× X × H146886.7452986.6447590.7455738.2447375.1453397.7544838.0439681.98674.16
100×3× Y × H1162497.41620307.42163215.71626207.90163404.81621408.02154372.71512702.05691.13
100×5× X × H1111831.01039739.28113080.310976310.50111534.21087348.99105269.51023362.87800.00
100×5× Y × H127299.4269988.4527476.4271949.1527325.2263928.5525724.9251732.19800.00
120×2× X × H167987.9642578.9469349.36872411.1368148.8659229.2064419.3624063.23755.67
120×2× Y × H1181648.01743688.44182875.21750729.18182338.41766008.86172412.81675042.93759.46
120×3× X × H1250104.524451011.00254437.325167012.93249121.024228010.57232410.32253103.15800.00
120×3× Y × H1156395.61552888.31158088.01570409.48157724.81571289.23147907.21444002.43800.00
120×5× X × H1353503.53492207.68355892.73519508.40534840.23512508.083318623283001.08800.00
120×5× Y × H1317292.83030486.99318821.63128327.50314614.43112406.08302820.82965762.11800.00

n × S × mk× H2
100×2× X × H230774.4302104.6731132.6304085.8930855.8302384.9430072.0294022.28563.30
100×2× Y × H236300.3341016.4536957.0364838.3836704.4363337.6335929.5346625.36570.34
100×3× X × H246820.3440359.0948176.54602012.2547780.54589511.3242967.4429200.11674.16
100×3× Y × H296520.6934305.0797543.1935526.1897208.4933725.8292908.5918861.13691.13
100×5× X × H2233298.42297889.26235390.222271110.24233203.82275489.22215706.62135161.03800.00
100×5× Y × H226102.1251899.1026158.0254559.3325978.5252088.5824693.1239253.21800.00
120×2× X × H2146292.31413003.81150106.51481136.52148338.01447295.26143712.91409921.98755.67
120×2× Y × H2110558.51075559.29109579.01084958.32108672.51073107.42105177.01011653.97759.46
120×3× X × H2244468.62388106.30248267.62376117.96246137.82403407.03235697.32299702.49800.00
120×3× Y × H273899.5701017.0274268.4725237.5574104.5706537.3170228.2690541.70800.00
120×5× X × H2282084.62711048.07283192.52711208.50279734.22708247.18266991.92610002.30800.00
120×5× Y × H2258686.42455607.55267808.826415911.34264243.02573909.86247565.32405362.92800.00

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 small-medium-sized problems and large-sized 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 near-optimal solutions. For all instances, the average objective values of IDABC outperform consistently the other algorithms, and the best optimal or near-optimal 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 H1 and H2, it can be seen that the algorithms under H2 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.

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 mk = 3, and the job deterioration date is set to H1. 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.

5. Conclusions

In this paper, the FFSP with step-deteriorating jobs and sequence-dependent 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 permutation-based 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 large-scale problems.

Some future work may be done from the following aspects: (1) our study involves the single-objective 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.


This research was partly supported by the National Natural Science Foundation of China (grant nos. U1804151 and U1604150).


  1. S.-W. Lin, K.-C. Ying, and C.-Y. Huang, “Multiprocessor task scheduling in multistage hybrid flowshops: a hybrid artificial bee colony algorithm with bi-directional planning,” Computers & Operations Research, vol. 40, no. 5, pp. 1186–1195, 2013. View at: Publisher Site | Google Scholar
  2. P. Guo, W. Cheng, and Y. Wang, “Parallel machine scheduling with step-deteriorating 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
  3. J. Y. Xu, N. Q. Dong, and S. S. Gu, “Multi-objective permutation flowshop with sequence-dependent setup time,” Computer Integrated Manufacturing Systems, vol. 19, no. 12, pp. 3170–3176, 2013. View at: Google Scholar
  4. 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
  5. 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
  6. J.-J. Wang and Y.-J. Liu, “Single-machine 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
  7. 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
  8. 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
  9. 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
  10. H. Gong and L. X. Tang, “A two-stage flexible flowshop problem with deterioration,” Computing and Combinatorics, Proceedings, vol. 5092, pp. 651–660, 2008. View at: Google Scholar
  11. 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
  12. X. Wang and L. Tang, “A machine-learning based memetic algorithm for the multi-objective permutation flowshop scheduling problem,” Computers & Operations Research, vol. 79, pp. 60–77, 2017. View at: Publisher Site | Google Scholar
  13. 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
  14. 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
  15. X. Li and M. Li, “Multiobjective local search algorithm-based 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
  16. G. G. Pedro, C. Andrés, and F.-C. Lario, “An agent-based 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
  17. 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
  18. Q.-K. Pan, L. Gao, X.-Y. Li, and K.-Z. Gao, “Effective metaheuristics for scheduling a hybrid flowshop with sequence-dependent setup times,” Applied Mathematics and Computation, vol. 303, pp. 89–112, 2017. View at: Publisher Site | Google Scholar
  19. B. Santosa and O. A. W. Riyanto, “Hybrid differential evolution-variable neighborhood search to solve multiobjective hybrid flowshop scheduling with job-sequence dependent setup time,” Lecture Notes in Computer Science, vol. 9712, pp. 587–598, 2016. View at: Publisher Site | Google Scholar
  20. X. P. Wang, Z. M. Dong, and L. X. Tang, “Multiobjective differential evolution with personal archive and biased self-adaptive mutation selection,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2018, In press. View at: Publisher Site | Google Scholar
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. T. C. E. Cheng and Q. Ding, “Single machine scheduling with step-deteriorating processing times,” European Journal of Operational Research, vol. 134, no. 3, pp. 623–630, 2001. View at: Publisher Site | Google Scholar

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.

270 Views | 81 Downloads | 0 Citations
 PDF  Download Citation  Citation
 Download other formatsMore
 Order printed copiesOrder
 Sign up for content alertsSign up