An improved artificial bee colony algorithm for the ... - Semantic Scholar

2 downloads 0 Views 394KB Size Report
Oct 26, 2011 - Yu-Yan Han & Quan-Ke Pan & Jun-Qing Li &. Hong-yan Sang. Received: 11 April 2011 /Accepted: 26 September 2011 /Published online: 26 ...
Int J Adv Manuf Technol (2012) 60:1149–1159 DOI 10.1007/s00170-011-3680-0

ORIGINAL ARTICLE

An improved artificial bee colony algorithm for the blocking flowshop scheduling problem Yu-Yan Han & Quan-Ke Pan & Jun-Qing Li & Hong-yan Sang

Received: 11 April 2011 / Accepted: 26 September 2011 / Published online: 26 October 2011 # Springer-Verlag London Limited 2011

Abstract This paper presents an improved artificial bee colony (IABC) algorithm for solving the blocking flowshop problem with the objective of minimizing makespan. The proposed IABC algorithm utilizes discrete job permutations to represent solutions and applies insert and swap operators to generate new solutions for the employed and onlooker bees. The differential evolution algorithm is employed to obtain solutions for the scout bees. An initialization scheme based on the problem-specific heuristics is presented to generate an initial population with a certain level of quality and diversity. A local search based on the insert neighborhood is embedded to improve the algorithm's local exploitation ability. The IABC is compared with the existing hybrid discrete differential evolution and discrete artificial bee colony algorithms based on the well-known flowshop benchmark of Taillard. The computational results and comparison demonstrate the superiority of the proposed IABC algorithm for the blocking flowshop scheduling problems with makespan criterion.

Y.-Y. Han : Q.-K. Pan (*) : J.-Q. Li College of Computer Science, Liaocheng University, Liaocheng 252059, People’s Republic of China e-mail: [email protected] Y.-Y. Han e-mail: [email protected] J.-Q.Li e-mail: [email protected] H.-y. Sang School of Mathematics Science, Liaocheng University, Liaocheng 252059, People’s Republic of China e-mail: [email protected]

Keywords Blocking flowshop . Makespan . Artificial bee colony algorithm . Differential evolution

1 Introduction This paper considers the blocking flowshop (BFS) scheduling problem with makespan criterion, which has important applications in modern industry. In the BFS, due to the lack of intermediate buffer storage between consecutive machines, a job has to remain in the current machine until the next machine is available for processing, even if it has completed processing in this machine [1], which increases the waiting time or productive cycle and thus influences the production efficiency. For the computational complexity, it has been proved to be NP-hard in the strong sense [2, 3] for the BFS with more than two machines. Therefore, it is of significance both in theory and engineering applications to develop effective and efficient novel solution techniques to solve such problems [4]. Research methods proposed for the related problems can be broadly classified into heuristic and meta-heuristic. For example, McCormich et al. [5] developed a constructive heuristic for solving sequencing problems in an assembly line, known as profile fitting (PF). In the heuristic, the author proposed a partial sequence by adding an unscheduled job to obtain the minimum sum of idle time and blocking times on machines. Leisten [6] presented a comprehensive approach for dealing with permutation and non-permutation flowshops with finite and unlimited buffer to maximize the use of buffers and to minimize the machine blocking. Nawaz et al. [7] designed a Nawaz, Enscore, and Ham (NEH) heuristic for the traditional flowshop problem with makespan criterion, and the NEH has also shown high

1150

performance for the blocking flowshop problem [8]. Later, Kim [9] designed NEH-EDD heuristic based on the earliest due date rule, that is, non-decreasing order of due dates. Ronconi et al. [10] presented the MinMax (MM) heuristic based on the makespan properties, which considers these characteristics in the construction of the solution. After this, Ronconi [11] proposed three constructive heuristics, called MM, MME (combination of MM and NEH), and PFE (combination of PF and NEH). Note the superiority of MME and PFE heuristics over the NEH algorithm. Ronconi [12] presented a branch-and-bound algorithm that used a lower bound which exploits the occurrence of blocking for minimizing the makespan. The meta-heuristic method always obtains a better solution than a heuristic does [13]. Thus, recently, more and more researchers pay attention to the meta-heuristics. Croce [14] presented an improved branch-and-bound algorithm for the two machines' total completion time flowshop problem. The bound based on sufficient conditions for the optimality of a given sequence can be found in this paper. Caraffa et al. [15] proposed a genetic algorithm (GA), which viewed sequences of jobs in the flowshop scheduling as candidate schedules or chromosomes. The GA procedure works iteratively with the members of the population. Wang et al. [16] described a hybrid genetic algorithm (HGA) for flowshop scheduling with limited buffers. In this work, the authors adopt multiple crossover and mutation operators and apply a local search into the HGA. Grabowski et al. [17] developed a taboo search (TS), where a dynamic tabu list is used to avoid cycling, overcoming local optimum, or continuing the search in a too narrow region and to guide the search process to the solution regions which have not been examined. Pan et al. [18] designed a novel discrete differentia evolution (DDE) algorithm whose solutions are based on discrete job permutations. The DDE algorithm exploits the basic features of its continuous counterparts, and the computational result demonstrated that the proposed DDE is superior to the particle swarm optimization algorithm (PSO). After this, Pan et al. [19, 20] applied the hybrid particle swarm optimization algorithm to the no-wait and no-idle flowshop scheduling problems, respectively. Recently, Liang et al. [21] presented a dynamic multi-swarm particle swarm optimization to solve the BFS with makespan criterion. Wang et al. [4] applied HS to the BFS with total flowtime criterion and presented three hybrid algorithms, namely hybrid harmony search, hybrid globalbest harmony search, and hybrid modified globalbest harmony search (hmgHS). Among the proposed three hybrid algorithms, the hmgHS algorithm is most efficient. Pan et al. [22] presented an effective shuffled frog-leaping algorithm for lot-streaming flowshop scheduling problem. Ribas et al.

Int J Adv Manuf Technol (2012) 60:1149–1159

[8] proposed an iterated greedy (IG) algorithm for the BFS to minimize makespan, and the authors' experiments demonstrated the superiority of the IG over the hybrid discrete differential evolution (HDDE) algorithm of Wang et al. [1]. The artificial bee colony (ABC) algorithm presented by Karaboga [23] is one of the most recent swarm intelligence approaches for real-parameter optimization. As the name implied, the ABC algorithm simulates the foraging behavior of honeybee colonies. The basic ABC algorithm was commonly designed for continuous function optimization. Karaboga et al. [24] demonstrated that its high performance over the GA, particle swarm algorithm (PSO), and particle swarm-inspired evolutionary algorithm. In the light of its simplicity, ease of implementation, and fewer mathematical requirements, the ABC algorithm has caused much attention and a wide range of successful applications [25, 26]. However, the basic ABC algorithm is of continuous nature, and it cannot directly generate a feasible job permutation for the problem considered. To address to this problem, recently, Pan et al. [27] proposed a discrete artificial bee colony (DABC) algorithm for lot-streaming flowshop scheduling problem providing good performance for the considered problem. Li et al. [28] applied a pareto-based DABC algorithm to job shop scheduling problems with multiobjective. Han et al. [29] applied the DABC algorithm to the blocking flowshop scheduling problem with makespan objective. The computational results and comparison demonstrate that the proposed DABC algorithm performs much better than the HDDE, TS, and TS + M algorithms for blocking flowshop scheduling problem. In this paper, we present an improved artificial bee colony (IABC) algorithm which is applied to solve the blocking flowshop scheduling problem. The IABC algorithm aims to minimize makespan. The simulation results and comparisons demonstrate the effectiveness of the proposed IABC algorithm. The rest of this paper is organized as follows. After this brief introduction, in Section 2, the blocking flowshop scheduling problem is stated. Section 3 describes the basic ABC algorithm. In Section 4, the IABC algorithm is proposed, whereas the computational results and comparisons are provided in Section 5. Finally, we end the paper with some conclusions in Section 6.

2 The blocking flowshop scheduling problem The blocking flowshop scheduling problem can be defined as follows [1]. Each of n jobs from the set J= {1, 2…n} has to be processed on m machines from the set M = {1, 2…m} in that order, having no intermediate

Int J Adv Manuf Technol (2012) 60:1149–1159

1151

buffers. Each job j ∈ J has a sequence of m operations Oj, k (k (k ∈ (1, 2,....., m))). The Oj, k operation corresponds to the processing of job j on machine k during an uninterrupted processing time Pj, k, where its setup time is included. Since the flowshop has no intermediate buffers, a job cannot leave a machine until the next machine downstream is available for processing. In other words, the job must be blocked if the next machine is unavailable. The problem is, then, to seek a schedule such that the processing sequence of jobs is the same on each machine and the makespan is minimized. At any time, each machine can process at most one job, and each job can be processed on at most one machine. According to [11], the departure time of each job on each machine is given by the following expressions. Let: Oj,

k

Pj,

k

Sj,

k

be the operation of job j (j∈{1, 2,....., n}) on machine k (k∈(1, 2,....., m)) be the processing time of j (j∈{1, 2,....., n} on machine k (k∈(1, 2,....., m) be the departure time of job j (j∈{1, 2,....., n} on machine k (k∈(1, 2,....., m))

Let p ¼ fpð1Þ; pð2Þ; :::; pðnÞg be the job permutation. S1;0 ¼ 0

is, Cmax (π)=Sn, m and its computational complexity is O (nm) [1]. The blocking flowshop scheduling problem with the makespan criterion is to find a permutation π* in the set of all permutations Π such that     » » MS p  MS p n;m p 2Π ð6Þ An example about the calculation of makespan is given as follows. Let permutation be π={1, 2, 3, 4}. Suppose there are four jobs and three machines, the processing time Pj, k is given by 2 

Pj;k

 43

P1;1

6 6 P2;1 6 ¼6 6 P3;1 4 P4;1

P1;2

P1;3

P2;2

P2;3

P3;2

P3;3

P4;2

P4;3

3

2 1 7 7 62 7 6 7¼6 7 41 5 2

2

1

3

17 7 7 15

2 2 1

1

Then the departure time Sj, k is calculated as follows (see in Fig. 1) 1. S1;0 ¼ 0; S1;1 ¼ S1;0 þ P1;1 ¼ 1; S1;2 ¼ S1;1 þ P1;2

ð1Þ

¼ 3; S1;3 ¼ S1;2 þ P1;3 ¼ 4; S1;k ¼ S1;k1 þ P1;k

k 2 f1; 2; :::::; m  1g

ð2Þ

2. S2;0 ¼ S1;1 ¼ 1 S2;1 ¼ maxfS2;0 þ P2;1 ; S1;2 g ¼ 3; S2;2

Sj;0 ¼ Sj1;1

j 2 f2; 3; :::::; ng

  Sj;k ¼ max Sj;k1 þ Pj;k ; Sj1;kþ1 k 2 ð1; 2; :::::; m  1Þ

j 2 f2; 3; :::::; ng

ð3Þ

¼ maxfS2;1 þ P2;2 ; S13 g ¼ 5; S2;3 ¼ S2;2 þ P2;3 ¼ 6;

ð4Þ

3. S3;0 ¼ S2;1 ¼ 3; S3;1 ¼ maxfS3;0 þ P3;1 ; S2;2 g ¼ 5; S3;2

Sj;m ¼ Sj;m1 þ Pj;m

j 2 f1; 2; :::::; ng

¼ maxfS3;1 þ P3;2 ; S2;3 g ¼ 7; S3;3 ¼ S3;2 þ P3;3

ð5Þ

The expression (4) is used to compute the departure time Sj, k of job j with k∈(1, 2,....., m−1). Both departure time of the previous job j − 1 on machine Sj1;kþ1 and the completion time of the previous operation of the current   job j Sj;k1 þ Pj;k are involved. Expression (5) calculates the departure time of the job j on the last machine m, where only the completion time of the previous operation of the job j Sj;m1 þ Pj;m is considered. In the above recursion, the departure time of the first job on every machine is calculated first, then the second job, and so on until the last job. The makespan of the job permutation π=(π1, π2....πi....πn) is equal to the time at which the last job in the processing sequence is finished at machine m, that

¼ 8;

m

1

3

1

2

1

1

2

2 2

3

3 3

4

4

4 t

Fig. 1 An example of calculation for makespan

1152

Int J Adv Manuf Technol (2012) 60:1149–1159

4. S4;0 ¼ S3;1 ¼ 5; S4;1 ¼ maxfS4;0 þ P4;1 ; S3;2 g ¼ 7; S4;2 ¼ maxfS4;1 þ P4;2 ; S3;3 Þ ¼ 8; S4;3 ¼ S4;2 þ P4;3 ¼ 9;

between the old and candidate solutions is generated as follows:   xjnew ¼ xi;j þ xi;j  xk;j  r r 2 ½1; 1 j 2 f1; 2::::ng

ð8Þ

i 2 f1; 2:::SNg; k 2 f1; 2:::::SNg; k 6¼ i The above makespan of permutation π is Cmax =S4, 3 =9.

3 Artificial bee colony algorithm The basic artificial bee colony algorithm [23] classifies bees into three categories: employed bees, onlooker bees, and scout bees. The employed bees are responsible for exploiting the food sources, and they share food sources information with onlooker bees which are waiting in the hive to make the decision to choose food sources. Scout bees carry out a random search near the hive for new food sources. In the ABC algorithm, each food source represented by an n-dimension real-valued vector denotes a solution to the problem under consideration, whereas the nectar amount of the food resource is evaluated by the fitness value. The ABC algorithm is an iterative process like the other swarm intelligence-based algorithm. At first, a population is randomly generated food sources. Then the following three steps are repeated until a termination criterion is met [30]: 1. The employed bees find food sources by exploring the environment randomly and then measure their nectar amounts. 2. The onlookers select the food sources after sharing the information with employed bees and determine the nectar amount of the food sources. 3. Determine the scout bees and send them onto possible food sources. The computational procedure of the basic ABC algorithm is described as follows: Step 1: Initialize parameters SN (the number of food sources) and the population. Let xi =(xi,1, xi,2,....xi,n) denote the ith food source in the population, where xi, j is generated as follows:   xi;j ¼ LBj þ UBj  LBj  r r 2 ½0; 1 ð7Þ j 2 f1; 2::::ng i 2 f1; 2:::SNg where LBj and UBj are the lower and upper bounds for the dimension j, respectively. Step 2: Initialize the employed bees. During the employee phase, a new food source xnew

After the new food source xnew is generated, the updating process will be performed if xnew is better than the current xi in the population. In other words, xnew will replace xi and become a new member of the population. Step 3: Place the onlooker bees on the food sources depending on their nectar amounts. During the onlooker bee stage, the bee evaluates the nectar information taken from all the employed bees and selects a food source xi according to its probability value wi: fi wi ¼ PSN

i¼1 fi

ð9Þ

where fi is the nectar amount of the ith food source xi. Then the onlooker bee generates a modification on xi. If the modification food source has a better or equal nectar amount than xi, the modified food source will replace xi and becomes a new solution in the population. Step 4: Send the scouts to the search area for finding new food sources. If the food source xi cannot be further improved within limited condition, xi will be abandoned and becomes a scout bee. The scout bee obtains a new food source randomly using Eq. (7). Step 5: Memorize the best food source found so far. Step 6: If the iteration condition meets the requirement, go on to step 2; otherwise, end the algorithm and output the best food source found so far.

4 The presented IABC algorithm This section presents an IABC algorithm for the blocking flowshop problem with makespan criterion. We detail it as follows. 4.1 Initialize the population To generate an initial population with a certain level of quality and diversity, we generate four solutions using four heuristics, i.e., the MM heuristic of Ronconi [11], the NEH

Int J Adv Manuf Technol (2012) 60:1149–1159

1153

heuristic of Nawaz et al. [7], the NEH-wavelet packet transform (WPT) heuristic of Wang et al. [4], and the presented MM-B heuristic in this paper. Then, the rest are generated randomly. Let π = (π 1, π2 …πi....πn) be a sequence of jobs. The MM heuristic [11] is presented as follows: Step 1: Set the job with the shortest processing times on the first machine at the first position of permutation π, and put the job with the shortest processing times on the last machine at the last position of permutation π. Set i=2. Step 2: The ith job of permutation π is selected according to the following index function fi ¼ 8 

m1 X

jPi;j  Pi1;jþ1 j þ ð1  8 Þ

j¼1



m X

ð10Þ

Pi;k

k¼1

8 2 ½0; 1 where 8 is a parameter. The above equation is composed of two components. The first section m1 P 8 jPi;j  Pi1;jþ1 j refers to the modulus of j¼1

the differences between processing times of successive jobs on successive machines. The m P second section ð1  8 Þ  Pi;k is to prioritize k¼1

jobs with the smallest total processing time. Step 3: i=i+1. if i=n, stop the procedure; otherwise, go to step 2. The NEH heuristic algorithm [7] is stated as follows: Step 1: Compute the total processing time on all machines for each job. Then, obtain a sequence π=(π1, π2, ......πi,…πn) by sorting jobs according to their non-increasing total processing time. Step 2: The first two jobs of π are taken, and the two possible subsequences of these two jobs are evaluated, and then select the better one as the current sequence β. Set k=2. Step 3: Set k=k+1. Take the kth job of π and insert it into p p 2 ½1; k þ 1 possible positions of the current sequence β; we obtain p subsequences. Select the subsequence with the minimum makespan as the current sequence β for the next generation. Repeat this step until all jobs are sequenced, and the final sequence is found. The NEH-WPT heuristic is a variant of the NEH heuristic, which sorts jobs according to their non-decreasing total

processing time in step 1. Steps 2 and 3 of NEH-WPT are the same as the above NEH heuristic. Then, we present a MM-B heuristic, which tries to reduce the total blocking time of consecutive jobs on consecutive machines. The MM-B has exactly the same steps as the MM heuristic with the exception that the first section of the equation (11) is modified as follows: fi¼ 8 

m1 X

  max 0; Pi;j  Pi1;jþ1 þ ð1  8 Þ

j¼1



m X

Pi;k

ð11Þ

k¼1

8 2 ½0; 1 With the above heuristics, the initialization procedure is summarized as follows. Step 1: Perform the above four heuristics, i.e., MM, NEH, NEH-WPT, and MM-B to yield four solutions, respectively. Step 2: Randomly generate a solution in the search space. If it is distinct from all the existing solutions in the population, put it into population; otherwise discard it. Step 3: Repeat step 2 until the population has SN individuals. 4.2 Employed bee stage The employed bees find solutions in the neighborhood of their current positions. Insert and swap operators are commonly used to generate neighboring solutions for flowshop scheduling problems [31]. The swap operator randomly selects two positions and interchanges their corresponding job, whereas the insert operator randomly removes a job in the sequence and relocates it to another randomly picked position. In the employed bee stage, to enrich the neighborhood structure and diversify the population, we adopt four approaches based on the insert or swap operator to generate new solutions. These are: carrying out one insert operator to generate a sequence π, carrying out one swap operator to generate a sequence π, carrying out two insert operators to generate a sequence π, and carrying out two swap operators to generate a sequence π. For each employed bee in the population, we randomly select one of the above four operators to generate a new sequence. 4.3 Onlooker bee stage In light of the tournament selection operator's simplicity and ability, it is frequently used in the classical genetic

1154

Int J Adv Manuf Technol (2012) 60:1149–1159

algorithm. So we adopt the tournament selection in the IABC algorithm. That is, an onlooker bee selects two solutions randomly from the population and compares them to each other; then, the individual with minimum makespan wins the tournament and is picked up. The onlooker utilizes the same method as used by the employed bee to produce a new neighboring solution xnew in the neighbor of the selected one. If the new solution xnew is better than or equal to the selected one, xi, the new solution xnew will replace the selected one xi and become a new member in the population. 4.4 Scout bee stage As it has been stated in the basic ABC algorithm, some solutions have not been changed in the limited generation. If those solutions are generated randomly by scout bees, the search efficacy will be decreased. To address this problem, we use the DDE algorithm [1] to generate new solutions for scout bees. The DDE algorithm takes advantage of the differentiation information among the population to find the global optimum. Two critical operators are mutation operator and crossover operation, respectively. Let Xi;jt ¼   xti;1 ; xti;2 ; :::::xti;n denote the ith target individual, Mi;jt ¼   mti;1 ; mti;2 ; :::::mti;n denote the ith mutant individual, and   t ¼ cti;1 ; cti;2 ; :::::cti;n denote the ith crossover individual. Ci;j The mutation operator is stated as follows:   Mit ¼ Xat1  u  Xbt1  Xct1 a; b; c 2 ð1; 2:::::SNÞ

i ¼ 1; 2:::::SN

ð12Þ

where a, b, and c are generated randomly. Parameter u∈[0,1] is a scale factor to control the amplification of the differential variation between two target individuals. The above formula is composed of two components. The   first section Δti ¼ u  Xbt1  Xct1 refers to the weighted difference between two target individuals Xbt1 and Xct1 . n o Δti ¼ Ψ ti;0 ; Ψ ti;1 ; :::::Ψ ti;n is a temporary vector, and r is a uniform random number generated between [0,1]. If r is less than u, then let Ψ ti;j ¼ Xbt1  Xct1 ; otherwise, Ψ ti;j ¼ 0. The second component is to produce a mutation individual Mit , that is, t Mit ¼ Xat1  Δti , mti;j ¼ xt1 a  Ψ i;j    t ¼ mod xt1 a þ Ψ i;j þ n ; n

ð13Þ

where “mod” denotes the modulus operator. The result of    t þ Ψ þ n ; n is the remainder when the first mod xt1 i;j a

  t operand xt1 þ Ψ þ n is divided by n, which guarantees i;j a that each dimension of Mit can represent a job. Mutation individual Mit itself may not denote all jobs of permutation π since some jobs may exist repeatedly, whereas other jobs may be lost. Thus, in order to generate a complete sequence, we apply crossover operator to Mit as follows [1]. Step 1: from j=1 to n, eliminate job mti;j 2 Mit if rand ()≥ (c is a crossover parameter to control the diversity of the population) or the job mti;j has existed in Mi. Step 2: Let Cit ¼ Xit1 and remove the jobs included in Mi from Cit . Step 3: Take the first job from Mi and insert it into the best position of Cit by evaluation of all possible positions of Cit . Repeated step 3 until Mi is empty. 4.5 Local search In this work, the purpose of the local search is to generate a better solution from the neighborhood of a given solution. We adopt an insert-neighborhood-based local search, which has been regarded as superior to the swap or exchange neighborhood [32]. Furthermore, we try to present a simple algorithm with few parameters, so some relative algorithms such as taboo search and simulated annealing algorithm are not applied. In addition, the speed-up method presented in [1] can be used to reduce the complexity of evaluating the whole insertion neighborhood form O(mn3) to O(mn2). As suggested by Pan and Ruiz [33], speed-up is very important for a high-performing algorithm. In this paper, we apply the local search to the sequences generated in the onlooker bee stage with a small probability of pls∈[0, 1] (pls parameter controls whether the solution undergoes the local search or not). That is, a uniform random number r is generated from 0 to 1; if r is less than pls, then the solution of onlooker bee undergoes the local search; otherwise, the solution does not perform the local search. The procedure of local search is described as follows [32]: Step 1: Set i=1, πc=(π1, π2.....πi..πn). Step 2: Extract the ith job randomly without repetition from πc and remove it from permutation πc. Step 3: Re-insert the ith job in another different position of the permutation, πc, and adjust the permutation accordingly by not changing the relative positions of the other jobs. Consider all the possible insertion positions and denote the best one among the obtained sequences π*. If π* is better than πc, then let πc =π*. Step 4: Let i=i+1. If i≤n, then go to step 2; otherwise, stop the procedure.

8

9

10

11

12

Fig. 2 Comparison of DABC, HDDE, GA, TS, TS + M, and IABC algorithms

10.00 10.00 20.00 50.00 9.15 4.89 3.19 3.31 2.15 3.40 4.01 2.28 2.77 1.99 2.46 4.44 2.73 3.04 2.03 2.94 10.00 10.00 20.00 50.00 9.15 5.45 4.19 4.50 3.72 4.20 4.90 3.54 4.01 3.35 3.74 5.19 3.86 4.28 3.53 3.98 10.00 10.00 20.00 50.00 9.15 5.01 3.47 3.86 2.78 3.82 4.39 2.80 3.31 2.16 3.30 4.68 3.09 3.57 2.47 3.54 10.00 10.00 20.00 50.00 9.15 5.10 3.49 4.05 3.39 3.92 4.60 2.86 3.39 2.91 3.50

5.00 2.50 5.00 5.40 2.75 5.52 4.15 1.65 4.53 4.85 2.20 4.99 5.00 2.50 5.00 6.57 2.41 5.93 6.03 1.66 5.36 6.29 2.03 5.65 5.00 2.50 5.00 6.34 1.86 5.56 5.74 1.04 4.92 6.03 1.42 5.17 5.00 2.50 5.00 6.35 1.89 5.63 5.83 1.26 5.03

2.00 1.25 2.50 2.99 3.76 4.85 2.25 2.22 3.68 2.63 3.03 4.30 2.00 1.25 2.50 3.30 5.03 6.46 3.29 4.32 5.80 3.30 4.68 6.15 2.00 1.25 2.50 3.30 4.67 6.12 3.24 3.88 5.43 3.29 4.24 5.75 2.00 1.25 2.50 3.30 4.74 6.24 3.28 4.02 5.54

0.10 1.92 −0.84 0.93 −0.35 1.45 0.46 2.39 0.32 2.35 0.41 2.38 0.50 1.00 0.46 2.40 0.33 2.36 0.43 2.38 0.50 1.00 0.46 2.40 0.42 2.38

T (s) MaxPRD MinPRD APRD MinPRD

MaxPRD

T (s)

HDDE

0.50 1.00

MinPRD

4.82 3.19 3.73 3.12 3.68

7

100×20 200×10 200×20 500×20 Average

6

proplem

6.07 1.57 5.31

5

50×20 100×5 100×10

4

3.30 4.34 5.89

3

20×20 50×5 50×10

2

0.45 2.39

1

APRD

DABC HDDE IABC TS TS+M GA

DABC

6 4 2 0 -2 -4 -6 -8 -10 -12 -14

n×m

APRD

In the literature, there exist some meta-heuristics for the problem considered. In [1], Wang et al. proposed a HDDE algorithm providing better results than the GA of Caraffa et al. [15] and TS and TS + M of Grabowski et al. [17]. Han et

Table 1 Performance comparison of DABC, HDDE, and IABC algorithms (ρ=5)

5 Computational result comparisons

IABC

»0

sequence p i will replace the πi and become a new member of the population. Step 4: Scout bee stage. In the population, if a solution has not been improved in the limited condition, then it is abandoned and generated a new solution by performing the mutation operator and crossover operator of DDE algorithm according to Section 4.4. Step 5: Memorize the best solution obtained so far. Step 6: Go on to step 2 until the limited condition is satisfied.

APRD

MinPRD

MaxPRD

T (s)

IABCnL

Step 1: Set the parameters and initialize the population P= {π1, π2,.....πSN}, and then evaluate each solution in the population. » Step 2: Employed bee stage: generate a new solution p i for the ith employed bee using the method in » Section 4.2. If p i is better than the ith employed » bee πi in the population, p i will replace the   » p i p i ¼ p i and become a new member of the population. Step 3: Onlooker bee stage: The ith onlooker bee (πi) » generates a solution p i using the method in » Section 4.3. Next, the sequence pi performs the local search according to Section 4.5 to find a »0 »0 new solution p i . If p i is better than the πi,

APRD

MaxPRD

With the above design, the procedure of IABC is described as follows.

20×5 20×10

4.6 Summarizing the IABC algorithm

0.50 1.00

1155 T (s)

Int J Adv Manuf Technol (2012) 60:1149–1159

3.75 4.10

3.40 4.02

200×10 200×20

500×20 Average

3.16 3.84

3.49 3.87

0.46 2.39 3.30 4.46 6.04 6.23 1.91 5.66 5.10

MinPRD

3.63 4.22

4.01 4.37

0.46 2.40 3.30 5.04 6.58 6.61 2.57 6.14 5.55

MaxPRD

100.00 18.30

20.00 40.00

1.00 2.00 4.00 2.50 5.00 10.00 5.00 10.00 20.00

T (s)

3.00 3.83

3.52 3.89

0.45 2.38 3.30 4.65 6.08 6.26 1.84 5.56 5.00

APRD

HDDE

2.81 3.66

3.28 3.69

0.42 2.37 3.29 4.41 587 6.06 1.58 5.34 4.81

MinPRD

0.46

2.40 3.30 4.95

6.44 6.53 2.57

6.22 5.56 4.07

4.36 3.55

4.20

20×10 20×20 50×5

50×10 50×20 100×5

100×10 100×20 200×10

200×20 500×20

Average

APRD

DABC

20×5

n×m

4.01

4.14 3.31

5.94 5.33 3.83

6.15 6.40 2.24

2.39 3.30 4.67

0.46

MinPRD

4.41

4.60 3.82

6.54 5.84 4.35

6.73 6.68 2.91

2.40 3.30 5.29

0.46

MaxPRD

27.44

150.00

60.00

15.00 30.00 30.00

7.50 15.00 7.50

3.00 6.00 3.75

1.50

T (s)

3.97

4.07 3.16

5.78 5.18 3.76

6.25 6.40 2.06

2.38 3.30 4.82

0.45

APRD

HDDE

3.82

3.89 2.98

5.58 4.95 3.55

6.06 6.19 1.90

2.37 3.29 4.59

0.44

MinPRD

4.14

4.30 3.34

6.04 5.42 3.99

6.47 6.64 2.29

2.39 3.30 5.04

0.46

MaxPRD

3.24 4.01

3.77 4.11

0.46 2.39 3.30 4.92 6.25 6.50 2.09 5.81 5.25

MaxPRD

Table 3 Performance comparison of DABC, HDDE, and IABC algorithms (ρ=15)

0.46 2.39 3.30 4.75 6.31 6.42 2.21 5.87 5.31

APRD

DABC

20×5 20×10 20×20 50×5 50×10 50×20 100×5 100×10 100×20

n×m

Table 2 Performance comparison of DABC, HDDE, and IABC algorithms (ρ=10)

27.44

150.00

60.00

15.00 30.00 30.00

7.50 15.00 7.50

3.00 6.00 3.75

1.50

T (s)

100.00 18.30

20.00 40.00

1.00 2.00 4.00 2.50 5.00 10.00 5.00 10.00 20.00

T (s)

4.40

4.81 3.97

6.51 5.87 4.52

6.43 6.56 2.98

2.39 3.30 5.07

0.43

APRD

IABC

3.80 4.23

4.26 4.60

0.43 2.39 3.30 4.99 6.37 6.52 2.60 6.17 5.61

APRD

IABC

4.19

4.60 3.82

5.19 5.67 4.20

6.10 6.27 2.73

2.37 3.29 4.71

0.35

MinPRD

3.63 4.03

3.92 4.37

0.35 2.36 3.29 4.62 6.04 6.22 2.27 5.91 5.42

MinPRD

4.63

5.10 4.12

6.91 6.11 4.88

6.75 6.82 3.29

2.40 3.30 5.45

0.46

MaxPRD

3.97 4.47

4.63 4.85

0.46 2.40 3.30 5.34 6.67 6.80 2.96 6.47 5.84

MaxPRD

27.44

150.00

60.00

15.00 30.00 30.00

7.50 15.00 7.50

3.00 6.00 3.75

1.50

T (s)

100.00 18.30

20.00 40.00

1.00 2.00 4.00 2.50 5.00 10.00 5.00 10.00 20.00

T (s)

3.17

3.58 2.28

5.05 4.55 3.51

4.48 4.91 2.31

2.74

3.30 2.13

4.57 4.06 3.02

3.80 4.24 1.87

1.15 2.44 2.48

−0.50

−0.20 1.55 2.72 3.27

MinPRD

2.03 2.59

APRD

IABCnL

2.16 3.07

2.75 3.09

−0.83 1.01 2.25 2.39 3.76 4.17 1.81 4.57 4.05

−0.35 1.48 2.64 3.19 4.39 4.85 2.29 5.05 4.54 3.22 3.39

MinPRD

APRD

IABCnL

3.60

3.85 2.44

5.53 5.00 3.96

5.15 5.60 2.80

1.95 3.00 3.95

0.10

MaxPRD

2.32 3.54

3.72 3.68

0.10 1.95 3.00 3.90 5.02 5.44 2.80 5.53 4.98

MaxPRD

27.44

150.00

60.00

15.00 30.00 30.00

7.50 15.00 7.50

3.00 6.00 3.75

1.50

T (s)

100.00 18.30

20.00 40.00

1.00 2.00 4.00 2.50 5.00 10.00 5.00 10.00 20.00

T (s)

1156 Int J Adv Manuf Technol (2012) 60:1149–1159

Int J Adv Manuf Technol (2012) 60:1149–1159

1157

PRD ¼

MSRON  MSIABC MSRON

ð14Þ

where the MSRON is the referenced makespan taken from Ronconi et al. [12] and MSIABC is the makespan provided by the IABC algorithm. Obviously, the larger the PRD is, the better result the algorithm produces. Figure 2 illustrates the performance of different algorithms. From Fig. 2, we can see the presented IABC algorithm outperforms the DABC, HDDE, TS, TS + M, and GA algorithms. Tables 1, 2, and 3 report the average PRD (APRD), maximum PRD (MaxPRD), minimum PRD (MinPRD) over each subset for computation time ρ=5, 10, 15, respectively. It can be seen from Table 1 that the overall mean APRD value yielded by the IABC algorithm is equal to 3.98%, which is much larger than 3.54% generated by the HDDE

3.98 3.97 3.96 3.95 3.94 3.93 3.92 3.91 3.9 0.1

3.97

3.98

3.96

APRD

3.93 3.92

3.955

3.91 0.4

0.5

0.6

0.7

0.8

0.9

3.9 0.1

0.2

0.3

0.4

0.5

pls

parameter u

Fig. 3 Effect of the parameter u

0.6

0.7

0.8

0.9

3.95

3.96

0.3

0.5

3.94

3.965

0.2

0.4

algorithm and 3.68% by the DABC algorithm. The MinPRD value (3.74%) and MaxPRD value (4.20%) produced by the IABC algorithm are also much better than those generated by the DABC and HDDE algorithms. As the problem size increases, the superiority of the IABC algorithm over HDDE and DABC algorithms increases. On the other side, the IABC algorithm obtains better results than the IABCnL (IABC algorithm without local search), suggesting the effectiveness of imbedding a local search in the pure IABC procedure. The results reported in Tables 2 and 3 further justify the superiority of the IABC algorithm over the HDDE and DABC algorithms. Thus, we can conclude that the presented IABC algorithm outperforms the HDDE and DABC algorithms for blocking flowshop problems with makespan criterion. In the procedure, there are some parameters including pls, u, and c, which may have great effect on the performance of the presented IABC algorithm. Therefore, we further investigate the effect of pls, u, and c by experiments. We vary pls, c, and u from 0.1 to 0.9, respectively. The contrastive results are presented in Figs. 3, 4, and 5. From Fig. 3, we can see that different values of u produce different APRD values, which suggests that the parameter u affects the searching quality of the IABC algorithm. Furthermore, we obtain the maximum ARPD value at u=0.9. Figures 4 and 5 show that when the

3.985

3.95 0.1

0.3

Fig. 4 Effect of the parameter c

3.98

3.97

0.2

parameter c

3.99

3.975

APRD

3.99

APRD

al. [29] applied a DABC algorithm to the blocking flowshop scheduling problem with makespan criterion and demonstrated the effectiveness and efficiency of the DABC algorithm. In this section, we compare the presented IABC algorithm with the above GA, TS, TS + M, HDDE, and DABC algorithms in Fig. 2. The experimental data are based on the well-known benchmark set of Taillard [34] that are considered as blocking flowshop problem here. The benchmark set is composed of 120 different instances, which are divided into 12 subsets, and each subset consists of ten instances with the same size. These subsets range from 20 jobs and 5 machines to 500 jobs and 20 machines. The IABC algorithm is coded in C++, and the parameters are set as follows: u=0.9, pls=0.1, c=0.1. We also realize the HDDE and DABC algorithms and fix their parameters the same as those in their original paper. All the algorithms adopt the same maximum computation time t=ρmn milliseconds, where ρ=5, 10, and 15, respectively. The experiments are carried out on a Pentium P-IV 3.0Ghz PC with 512 MB memory. Each instance is independently executed five replications. We compute the percentage relative difference (PRD) as follows:

Fig. 5 Effect of the parameter pls

0.6

0.7

0.8

0.9

1158

parameters c and pls are equal to 0.1, respectively, the APRD values are better than the others.

6 Conclusions In this paper, we have presented an IABC algorithm to minimize makespan for the blocking flowshop scheduling problem. In order to perform exploration for promising solutions within the entire solution space, the IABC-based searching mechanism with an effective population initialization approach is developed. A simple but effective local search algorithm was employed to exploit the onlooker bees' stage. In the scouts' phase, to further enhance the IABC algorithm, we adopt the differential evolution algorithm to obtain solutions for the scout bees. Computational experiments are given and compared with the results yielded by the existing HDDE and DABC algorithms. The simulation results demonstrated the superiority of the proposed IABC algorithm in terms of solution quality and effectiveness. The future work is to apply the IABC algorithm to other optimization problems and encourage us to extend the ideas proposed to the different objective functions or multi-objective in scheduling problems. Acknowledgments This research is partially supported by the National Science Foundation of China under grants 60874075, 61174187, and 61104179; Science Foundation of Shandong Province, China (BS2010DX005); Postdoctoral Science Foundation of China under grant 20100480897; and Science Research and Development of the Provincial Department of Public Education of Shandong under grant J09LG29 and J10LG67.

References 1. Wang L, Pan QK, Suganthan PN, Wang WH, Wang YM (2010) A novel hybrid discrete differential evolution algorithm for blocking flow shop scheduling problems. Comput Oper Res 37(3):509–520 2. Storn R, Price K (1997) Differential evolution—a simple and efficient adaptive scheme for global optimization over continuous spaces. J Glob Optim 11:341–359 3. Allahverdi A, Ng CT, Cheng TCE et al (2008) A survey of scheduling problems with setup times or costs. Eur J Oper Res 187:985–1032 4. Wang L, Pan QK, Tasgetiren MF (2010) Minimizing the total flow time in a flow shop with blocking by using hybrid harmony search algorithms. Expert Syst Appl 37:7929–7936 5. McCormich ST, Pinedo ML, Shenker S, Wolf B (1989) Sequencing in an assembly line with blocking to minimize cycle time. Oper Res 37:925–936 6. Leisten R (1990) Flowshop sequencing problems with limited buffer storage. Int J Prod Res 28:2085–2100 7. Nawaz M, Enscore EEJ, Ham I (1983) A heuristic algorithm for them-machine, n-job flow shop sequencing problem. Int J Manag Sci 11:91–95

Int J Adv Manuf Technol (2012) 60:1149–1159 8. Ribas I, Companys R, Tort-Martorell X (2011) An iterated greedy algorithm for the flowshop scheduling problem with blocking. Omega 39:293–301 9. Kim Y (1993) Heuristics for flowshop scheduling problems minimizing mean tardiness. J Oper Res Soc 44:19–28 10. Ronconi DP, Armentano VA (2001) Lower bounding schemes for flowshops with blocking in-process. J Oper Res Soc 52:1289– 1297 11. Ronconi DP (2004) A note on constructive heuristics for the flowshop problem with blocking. Int J Prod Econ 87:39–48 12. Ronconi DP (2005) A branch-and-bound algorithm to minimize the makespan in a flowshop problem with blocking. Ann Oper Res 138:53–65 13. Li XP, Wang Q, Wu C (2009) Efficient composite heuristics for total flowtime minimization in permutation flow shops. Omega 37:155–164 14. Croce FD, Ghirardi M, Tadei R (2002) An improved branch-andbound algorithm for the two machine total completion time flow shop problem. Eur J Oper Res 139:293–301 15. Caraffa V, Ianes S, Bagchi TP, Sriskandarajah C (2001) Minimizing makespan in a blocking flowshop using genetic algorithms. Int J Prod Econ 70:102–115 16. Wang L, Zhang I, Zheng D (2006) An effective hybrid genetic algorithm for flow shop scheduling with limited buffers. Comput Oper Res 33:2960–2971 17. Grabowski J, Pempera J (2007) The permutation flow shop problem with blocking, a tabu search approach. Omega 35:302– 311 18. Pan QK, Tasgetiren MF, Liang YC (2008) A discrete differential evolution algorithm for the permutation flowshop scheduling problem. Comput Ind Eng 55:795–816 19. Pan QK, Wang L (2008) No-idle permutation flow shop scheduling based on a hybrid discrete particle swarm optimization algorithm. Int J Adv Manuf Technol 39:796–807 20. Pan QK, Wang L, Tasgetirend MF, Zhao BH (2008) A hybrid discrete particle swarm optimization algorithm for the no-wait flow shop scheduling problem with makespan criterion. Int J Adv Manuf Technol 38:337–347 21. Liang JJ, Pan QK, Chen TJ, Wang L (2011) Solving the blocking flow shop scheduling problem by a dynamic multiswarm particle swarm optimizer. Int J Adv Manuf Technol 55: 755–762 22. Pan QK, Wang L, Gao L, Li JQ (2011) An effective shuffled frogleaping algorithm for lot-streaming flow shop scheduling problem. Int J Adv Manuf Technol 52:699–713 23. Karaboga D (2005) An idea based on honey bee swarm for numerical optimization, Technical Report TR06. Computer Engineering Department, Erciyes University, Turkey 24. Karaboga D, Basturk B (2007) A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J Glob Optim 39:459–471 25. Singh A (2009) An artificial bee colony algorithm for the leafconstrained minimum spanning tree problem. Appl Soft Comput 9:625–631 26. Kang F, Li J, Xu Q (2009) Structural inverse analysis by hybrid simplex artificial bee colony algorithms. Comput Struct 87:861–870 27. Pan QK, Tasgetiren MF, Suganthan PN, Chua TJ (2011) A discrete artificial bee colony algorithm for the lot-streaming flow shop scheduling problem. Inf Sci 181:2455–2468 28. Li JQ, Pan QK, Gao KZ (2011) Pareto-based discrete artificial bee colony algorithm for multi-objective flexible job shop scheduling problems. Int J Adv Manuf Technol. doi:10.1007/s00170-010-3140-2 29. Han YY, Duan JH, Zhang M (2011) Apply the discrete artificial bee colony algorithm to the blocking flow shop with makespan criterion. In Proceeding of 2011 Chinese Control and Decision Conference, 2135–2139

Int J Adv Manuf Technol (2012) 60:1149–1159 30. Karaboga D, Akay B (2009) A comparative study of artificial bee colony algorithm. Appl Math Comput 214: 108–132 31. Wang L (2003) Shop scheduling with genetic algorithms. Tsinghua University Press, Beijing 32. Ruben R, Stutzle T (2008) An iterated greedy heuristic for the sequence dependent setup times flowshop problem with

1159 makespan and weighted tardiness objectives. Eur J Oper Res 187:1143–1159 33. Pan QK, Ruben R (2012) An estimation of distribution algorithm for lot-streaming flow shop problems with setup times. OMEGAThe Int J Manag Sci 40:166–180 34. Taillard E (1993) Benchmarks for basic scheduling problems. Eur J Oper Res 64:278–285