an effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

16
An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems Jun-qing Li a , Quan-ke Pan a,b , Yun-Chia Liang c, * a College of Computer Science, Liaocheng University, Liaocheng 252059, People’s Republic of China b State Key Lab. of Digital Manufacturing Equipment & Technology in Huazhong University of Science & Technology, Wuhan 430074, People’s Republic of China c Department of Industrial Engineering and Management, Yuan Ze University, Yuan-Tung Road, Chung-Li 32003, Taiwan, ROC article info Article history: Received 10 November 2009 Received in revised form 2 May 2010 Accepted 16 July 2010 Available online 21 July 2010 Keywords: Flexible job-shop scheduling problem Multi-objective optimization Variable neighborhood search Public critical block Tabu search abstract This paper proposes an effective hybrid tabu search algorithm (HTSA) to solve the flexible job-shop scheduling problem. Three minimization objectives – the maximum completion time (makespan), the total workload of machines and the workload of the critical machine are considered simultaneously. In this study, a tabu search (TS) algorithm with an effective neighborhood structure combining two adaptive rules is developed, which constructs improved local search in the machine assignment module. Then, a well-designed left-shift decoding function is defined to transform a solution to an active schedule. In addition, a variable neighborhood search (VNS) algorithm integrating three insert and swap neighbor- hood structures based on public critical block theory is presented to perform local search in the operation scheduling component. The proposed HTSA is tested on sets of the well-known benchmark instances. The statistical analysis of performance comparisons shows that the proposed HTSA is superior to four existing algorithms including the AL + CGA algorithm by Kacem, Hammadi, and Borne (2002b), the PSO + SA algo- rithm by Xia and Wu (2005), the PSO + TS algorithm by Zhang, Shao, Li, and Gao (2009), and the Xing’s algorithm by Xing, Chen, and Yang (2009a) in terms of both solution quality and efficiency. Ó 2010 Elsevier Ltd. All rights reserved. 1. Introduction As a branch of production scheduling problems, the classical job-shop scheduling problem (JSP) has been proven to be an NP- hard problem (Garey, Johnson, & Sethi, 1976). The flexible job-shop scheduling problem (FJSP) is an extension of the classical JSP, which allows one operation to be processed on one machine from a set of alternative machines. Therefore, FJSP is more complex than JSP because of the addition need to determine the assignment of machines for each operation. Flexibility of the FJSP can be generally categorized into partial flexibility and total flexibility. If each oper- ation can be processed on any machine in the system, we have a total FJSP (T-FJSP); otherwise flexibility would be partial (P-FJSP). The FJSP has recently captured the interests of many research- ers. Due to the complexity of the FJSP, meta-heuristic algorithms have become a practical alternative of solving techniques. Bran- dimarte (1993) proposed a hybrid tabu search algorithm with some existing dispatching rules to solve the single-objective FJSP. Mastrolilli and Gambardella (2000) used local search techniques and developed two neighborhood functions for the problem. The experimental results of Mastrolilli and Gambardella (2000) are considered to be the best results for FJSP by tabu search approach so far (Pezzella, Morganti, & Ciaschetti, 2008). Gao, Peng, Zhou, and Li (2006) presented a general particle swarm optimization (PSO) algorithm to solve the FJSP. Liouane, Saad, Hammadi, and Borne (2007) solved the problem with a hybrid algorithm combining ant colony optimization (ACO) with TS. Saidi-mehrabad and Fattahi (2007) developed an improved TS algorithm for FJSP. Gao, Sun, and Gen (2008) proposed a hybrid genetic algorithm (GA) with a vari- able neighborhood descent (VND) algorithm to deal with the FJSP while Pezzella et al. (2008) introduced a GA integrating different strategies to generate the initial population for the FJSP. Although the single-objective FJSP has been widely investi- gated, the research on the multi-objective FJSP is still considered limited. Kacem, Hammadi, and Borne (2002a, 2002b) developed an effective evolutionary algorithm controlled by an assigned model based on the approach of localization (AL). Xia and Wu (2005) presented a hierarchical solution approach by using a PSO algorithm to assign operations on machines and a simulated annealing (SA) algorithm to schedule operations on each machine. An algorithm hybridized with evolving dispatching rules and genetic programming was proposed by Tay and Ho (2008). Xing et al. (2009a) gave a simulation model for solving multi-objective FJSP, which is a general framework for the problem and easy to 0360-8352/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2010.07.014 * Corresponding author. Tel.: +886 3 4638800; fax: +886 3 4638907. E-mail addresses: [email protected] (J.-q. Li), [email protected] (Q.-k. Pan), [email protected] (Y.-C. Liang). Computers & Industrial Engineering 59 (2010) 647–662 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Upload: jun-qing-li

Post on 26-Jun-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

Computers & Industrial Engineering 59 (2010) 647–662

Contents lists available at ScienceDirect

Computers & Industrial Engineering

journal homepage: www.elsevier .com/ locate/caie

An effective hybrid tabu search algorithm for multi-objective flexible job-shopscheduling problems

Jun-qing Li a, Quan-ke Pan a,b, Yun-Chia Liang c,*

a College of Computer Science, Liaocheng University, Liaocheng 252059, People’s Republic of Chinab State Key Lab. of Digital Manufacturing Equipment & Technology in Huazhong University of Science & Technology, Wuhan 430074, People’s Republic of Chinac Department of Industrial Engineering and Management, Yuan Ze University, Yuan-Tung Road, Chung-Li 32003, Taiwan, ROC

a r t i c l e i n f o a b s t r a c t

Article history:Received 10 November 2009Received in revised form 2 May 2010Accepted 16 July 2010Available online 21 July 2010

Keywords:Flexible job-shop scheduling problemMulti-objective optimizationVariable neighborhood searchPublic critical blockTabu search

0360-8352/$ - see front matter � 2010 Elsevier Ltd. Adoi:10.1016/j.cie.2010.07.014

* Corresponding author. Tel.: +886 3 4638800; fax:E-mail addresses: [email protected] (J.-q.

(Q.-k. Pan), [email protected] (Y.-C. Liang).

This paper proposes an effective hybrid tabu search algorithm (HTSA) to solve the flexible job-shopscheduling problem. Three minimization objectives – the maximum completion time (makespan), thetotal workload of machines and the workload of the critical machine are considered simultaneously. Inthis study, a tabu search (TS) algorithm with an effective neighborhood structure combining two adaptiverules is developed, which constructs improved local search in the machine assignment module. Then, awell-designed left-shift decoding function is defined to transform a solution to an active schedule. Inaddition, a variable neighborhood search (VNS) algorithm integrating three insert and swap neighbor-hood structures based on public critical block theory is presented to perform local search in the operationscheduling component. The proposed HTSA is tested on sets of the well-known benchmark instances. Thestatistical analysis of performance comparisons shows that the proposed HTSA is superior to four existingalgorithms including the AL + CGA algorithm by Kacem, Hammadi, and Borne (2002b), the PSO + SA algo-rithm by Xia and Wu (2005), the PSO + TS algorithm by Zhang, Shao, Li, and Gao (2009), and the Xing’salgorithm by Xing, Chen, and Yang (2009a) in terms of both solution quality and efficiency.

� 2010 Elsevier Ltd. All rights reserved.

1. Introduction

As a branch of production scheduling problems, the classicaljob-shop scheduling problem (JSP) has been proven to be an NP-hard problem (Garey, Johnson, & Sethi, 1976). The flexible job-shopscheduling problem (FJSP) is an extension of the classical JSP,which allows one operation to be processed on one machine froma set of alternative machines. Therefore, FJSP is more complex thanJSP because of the addition need to determine the assignment ofmachines for each operation. Flexibility of the FJSP can be generallycategorized into partial flexibility and total flexibility. If each oper-ation can be processed on any machine in the system, we have atotal FJSP (T-FJSP); otherwise flexibility would be partial (P-FJSP).

The FJSP has recently captured the interests of many research-ers. Due to the complexity of the FJSP, meta-heuristic algorithmshave become a practical alternative of solving techniques. Bran-dimarte (1993) proposed a hybrid tabu search algorithm withsome existing dispatching rules to solve the single-objective FJSP.Mastrolilli and Gambardella (2000) used local search techniquesand developed two neighborhood functions for the problem. The

ll rights reserved.

+886 3 4638907.Li), [email protected]

experimental results of Mastrolilli and Gambardella (2000) areconsidered to be the best results for FJSP by tabu search approachso far (Pezzella, Morganti, & Ciaschetti, 2008). Gao, Peng, Zhou, andLi (2006) presented a general particle swarm optimization (PSO)algorithm to solve the FJSP. Liouane, Saad, Hammadi, and Borne(2007) solved the problem with a hybrid algorithm combiningant colony optimization (ACO) with TS. Saidi-mehrabad and Fattahi(2007) developed an improved TS algorithm for FJSP. Gao, Sun, andGen (2008) proposed a hybrid genetic algorithm (GA) with a vari-able neighborhood descent (VND) algorithm to deal with the FJSPwhile Pezzella et al. (2008) introduced a GA integrating differentstrategies to generate the initial population for the FJSP.

Although the single-objective FJSP has been widely investi-gated, the research on the multi-objective FJSP is still consideredlimited. Kacem, Hammadi, and Borne (2002a, 2002b) developedan effective evolutionary algorithm controlled by an assignedmodel based on the approach of localization (AL). Xia and Wu(2005) presented a hierarchical solution approach by using a PSOalgorithm to assign operations on machines and a simulatedannealing (SA) algorithm to schedule operations on each machine.An algorithm hybridized with evolving dispatching rules andgenetic programming was proposed by Tay and Ho (2008). Xinget al. (2009a) gave a simulation model for solving multi-objectiveFJSP, which is a general framework for the problem and easy to

Page 2: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

648 J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662

apply different algorithms for it. A local search algorithm wasintroduced by Xing, Chen, and Yang (2009b) for solving multi-objective T-FJSPs and P-FJSPs. The experimental results show thatXing’s algorithms (Xing et al., 2009a, 2009b) are efficient especiallyfor solving large scale T-FJSP problems. Lastly, Zhang et al. (2009)introduced a hybrid PSO and TS algorithm to solve the multi-objec-tive FJSP.

In this paper, we propose a hybrid tabu search algorithm (HTSA)for the multi-objective flexible job-shop scheduling problem. In theproposed HTSA, two adaptive neighborhood search rules are pre-sented for performing local search in the machine assignmentmodule. Meanwhile, three insert and swap neighborhood struc-tures based on the public critical blocks theory are developed toproduce optimal adjustment in the operation scheduling module.In addition, an efficient left-shift function is designed to decode asolution to an active schedule.

The rest of this paper is organized as follows: In Section 2, webriefly describe the problem formulation. Then, the framework ofthe hybrid algorithm is presented in Section 3. The TS algorithmfor the machine assignment component is shown in Section 4while Section 5 introduces the variable neighborhood search algo-rithm for the operation scheduling component. Section 6 showsthe experimental results and compares with other algorithms inthe literature to demonstrate the superiority of the HTSA perfor-mance. Finally, the last section presents conclusions of our work.

2. Problem formulation

The FJSP problem is divided into two closely related sub-prob-lems. The first one is to assign a proper machine from a set of can-didate machines to perform each operation, which can beconsidered as a parallel machine problem; the second one is to se-quence each operation on each machine, which is equivalent to aclassical job-shop scheduling problem. Both of them were provento be NP-hard problems (Garey et al., 1976). The notations andassumptions of the FJSP are summarized as follows:

� Let J = {Ji}16i6n, indexed i, be a set of n jobs to be scheduled. qi

denotes total number of operations of job Ji.� Let M = {Mk}16k6m, indexed k, be a set of m machines.� Each job Ji consists of a predetermined sequence of operations.

Let Oi,h be operation h of Ji.

Fig. 1. Problem formulation of

� Each operation Oi,h can be processed without interruption onone of a set of machines M(Oi,h). Let pi,h,k be the processing timeof Oi,h on machine Mk.� Each machine can process only one operation at a time.� Two categories of the FJSP are dealt: T-FJSP and P-FJSP.

FJSP ¼T � FJSP; if MðOi;hÞ ¼ M; 8i;h

P � FJSP; if MðOi;hÞ � M; 8i;h

� Decision variables

xi;h;k ¼1; if machine k is selected for the operation Oi;h

0; otherwise

ci;h : completion time of the operation Oi;h:

� Three objectives to minimize(1) Makespan denoted by cM, which is the maximal completion

time of machines.(2) Total workload of machines denoted by wT, which is the

total working time of all machines in the system. This objec-tive is of interest assigning the machine with relative smallprocessing time for each operation to improve economicefficiency.

(3) Critical machine workload denoted by wM, which is themachine with the biggest workload. This objective considersthe workload balance among all machines to prevent toomuch work been assigned to a single machine.

Lastly, the formulation of the multi-objective FJSP in this studyis given in Fig. 1.

Eq. (4) ensures the operation precedence constraints. Eq. (5)states that one machine must be selected from the set of availablemachines for each operation. Eq. (6) ensures the set of availablemachines for each operation comes from the given machine set M.

Many approaches have been developed to solve the multi-objective optimization. These approaches can be classified intothree categories (Hsu, Dupas, Jolly, & Goncalves, 2002).

(1) Transform the multi-objective problem to a mono-objectiveproblem by assigning different weight coefficient for eachobjective.

the multi-objective FJSP.

Page 3: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662 649

(2) The non-Pareto approach, which treat each objective in aseparated way.

(3) The Pareto approach, which is based on the Pareto optimiza-tion concept.

For solving the multi-objective FJSP, many present approachesapplied the first type, such as Xia and Wu (2005), Tay and Ho(2008), Xing et al. (2009a, 2009b), Zhang et al. (2009). The objec-tive function in this study is also based on the first type of ap-proaches described above. The weighted sum of the threeobjective values is taken as the objective function:

FðcÞ ¼ w1 � F1ðcÞ þw2 � F2ðcÞ þw3 � F3ðcÞw1 þw2 þw3 ¼ 1; 0 6 w1;w2;w3 6 1

where w1, w2, and w3 represent the weight coefficient for the threeobjective values, respectively. The weight coefficients are fixed

Y

N

Step1.1 Set system parameters

Step1.2 Produce machine assignment part (PartA)

Step1.3 Produce operation sequencing part (PartB)

Does the population size exceed Psiz

Step2. Evaluate each solution and get the best onsolution

Step4. Execute local search using TS algorithmassignment component of the current solution,

current solution and record the best solut

Step5. Execute local search in the operatiocomponent of the current solution, then upda

solution and record the best solution

Step3. Is the stop criteria satisfied?

Output the best solution so far

N

Fig. 2. Framework of th

according to Xing et al. (2009a, 2009b): for the five Kacem in-stances, w1, w2, and w3 are set to 0.5, 0.2, and 0.3, respectively;for the 10 BRdata instances, w1, w2, and w3 are set to 0.8, 0.05,and 0.15, respectively. F1(c), F2(c) and F3(c) denote the makespan(cM), total workload of machines (wT), and workload of criticalmachine (wM) of schedule c, respectively.

3. Framework of the hybrid algorithm

In this study, we propose a hybrid algorithm by using a TS algo-rithm to produce neighboring solutions in the machine assignmentmodule and a VNS algorithm to perform local search in the opera-tion scheduling component. The framework of the proposed hybridalgorithm is shown in Fig. 2. The details of steps can be describedas follows:

Y

Initialization phase

for a solution

for a solution

e?

e as the current

Evolution phase

in the machine then update the ion so far.

n schedulingte the current so far.

e hybrid algorithm.

Page 4: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

0 2 4 6 8 10 12

(4,1)

0 1

M1 (2,1)

1 3

M1 (2,3)

8 12

M1

(1,2)

1 5

M2 (4,2)

5 6

M2 (3,2)

6 7

M2

(3,1)

0 6

M3

(1,1)

0 1

M4 (1,3)

5 9

M4 (3,3)

9 11

M4 (3,4)

11 12

M4

(2,2)

3 8

M5

Fig. 3. A Gantt chart example.

650 J.-q. Li et al. / Computers & Industrial

Step 1: Initialization phaseStep 1.1 Set system parameters.Step 1.2 Initiate the machine assignment component of thepopulation using the following three rules: the random rule,the operation minimum processing time rule (OPT) (Pezzel-la et al., 2008), and the global minimum processing timerule (GPT) (Pezzella et al., 2008). Different proportionamong the three rules will be applied for differentrequirements.Step 1.3 Initiate the operation scheduling component of thepopulation using the following four rules: the random rule,the Most Work Remaining rule (MWR) (Brandimarte,1993), the most number of operations remaining (MOR) rule(Pezzella et al., 2008), and the shortest processing time rule(SPT) (Brandimarte, 1993).

Step 2: Evaluate the objective function value of each solutionin the population, and then record the best solution (the solu-tion with the lowest fitness function value) as the currentsolution.Step 3: If the stopping criterion is satisfied, output the best solu-tion; otherwise, perform steps 4–5.Step 4: Perturbation in the machine assignment componentphase.

Step 4.1 Let k = 0, go to step 4.3.Step 4.2 Produce a new feasible solution by applyingthe function AssignmentAdjustment () to the currentsolution.Step 4.3 Iterate step 4.2 nbc times (nbc denotes the number ofneighboring solutions searched for the current iteration),and insert the resulting solution of each loop into a queuenamed NeighborsOfMachAdjust.Step 4.4 Sort all solutions in the NeighborsOfMachAdjust inascending order of the objective function value, that is, thesolution with the minimum objective function value F(c)appears at the first position.Step 4.5 For each solution in NeighborsOfMachAdjust, if itsmove exists in the current tabu list, set tabu flag for thesolution.Step 4.6 Find the best neighboring solution in NeighborsOf-MachAdjust as the current solution: (1) the first solution inthe queue which is not tabooed and (2) if all solutions inNeighborsofMachAdjust are tabu, then select the first solutionsatisfying the aspiration rule in the queue.Step 4.7 Update the tabu list by adding the best neighboringsolution and removing the oldest solution.Step 4.8 If the best neighboring solution is better than thebest solution so far, then let k=0, and update the best solu-tion so far with the best neighboring solution; otherwise,let k = k + 1.Step 4.9 If k<itemax, then go back to step 4.3; otherwise, go tostep 5.

Step 5: Perturbation in the operation scheduling componentphase.

Update the current solution with the best solution sofar, then, for the current solution, perform steps 5.1–5.4.Step 5.1 Get all critical operations.Step 5.2 Get all public critical operations using the functiongetPublicCriticalOperations().Step 5.3 Get all public critical blocks using the functiongetPublicCriticalBlocks().Step 5.4 Use the function SequenceAdjustment() to search thebest neighboring solution of the current solution. If the for-mer one is better than the latter one, then update the currentsolution with the best neighboring solution. Then go tostep 3.

4. Assignment algorithm: tabu search algorithm

4.1. Tabu search algorithm

The tabu search algorithm, proposed by Glover (Glover, 1990),has been successfully applied to a large number of combinatorialoptimization problems (Dell’Amico & Trubian, 1993; Glover,1990; Nowicki & Smutnicki, 1996; Taillard, 1994; Zhang, Li, Guan,& Rao, 2007). There are several critical parameters which affect thesearch process and the solution quality of the TS algorithm as fol-lows: (1) Tabu list. In order to avoid stuck at the local optimum, theidea of a tabu list is introduced. Several types of elements can bestored in the tabu list such as the objective function value of a solu-tion, the position of a move, or the solution itself. The tabu list willbe updated when a new neighboring solution is found or an oldsolution is expired. (2) Tabu tenure. The value of tabu tenure inthe TS algorithm determines how long the corresponding solutionneeds to be tabooed. (3) Aspiration rule. The aspiration rule isintroduced to avoid the deadlock when all solutions are prohibitedby the tabu list. (4) Neighborhood structure. A neighborhood struc-ture is a mechanism which can obtain a new set of neighboringsolutions by applying a small perturbation to a given solution.Unnecessary and infeasible moves must be eliminated if possibleto decrease the size of neighboring solutions set and the computa-tional time.

Engineering 59 (2010) 647–662

4.2. Encoding

A solution in this study consists of two vectors, correspondingto the two sub-problems of the FJSP. For example, suppose that asolution is {4 2 4 1 5 1 3 2 4 4 1 2|1 4 2 3 1 4 3 1 2 3 3 2}, and thecorresponding Gantt chart of one feasible schedule is shown inFig. 3. The first component of the solution, i.e., {4 2 4 1 5 13 2 4 4 1 2}, is the machine assignment vector, while the secondvector {1 4 2 3 1 4 3 1 2 3 3 2} is the operation scheduling vector.

(1) Machine assignment vector (hereafter called A1)

In each machine assignment vector A1 = {A1(1), A1(2),. . ., A1

(op_num)}, where A1(i),1 6 i 6 op_num represents the correspond-ing selected machine for the operation indicated at position i, op_numdenotes the total number of operations. In Fig. 3, the correspondingmachine assignment vector can be interpreted as follows:

Page 5: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662 651

ðO11;M4Þ; ðO12;M2Þ; ðO13;M4Þ; ðO21;M1Þ; ðO22;M5Þ; ðO23;M1Þ;ðO31;M3Þ; ðO32;M2Þ; ðO33;M4Þ; ðO34;M4Þ; ðO41;M1Þ; ðO42;M2Þ

(2) Operation scheduling vector (hereafter called A2)

For the operation scheduling vector A2 = {A2(1), A2(2), . . .,A2(op_num)}, we use the representation of Gen (Gen, Tsujimura,& Kubota, 1994) in this study. The main idea of this representationis to name all operations for a job with the same symbol and theninterpret them according to the order of occurrence in the se-quence of a given solution. Therefore, A2(i), 1 6 i 6 op_num repre-sents the corresponding job number to be processed at position i.In Fig. 3, the corresponding operation scheduling vector can beinterpreted as follows:

O11 � O41 � O21 � O31 � O12 � O42 � O32 � O13 � O22 � O33

� O34 � O23

4.3. Parameter settings

As briefly described in Section 4.1, there are several parametersneeded to set up in a TS algorithm. The following will discuss thekey parameters for the TS algorithm.

(1) Tabu tenure

The tabu tenure in the HTSA ranges from Tenuremin = op_num/2to Tenuremax = op_num, where Tenuremin and Tenuremax representthe minimum and maximum values of the tabu tenure, respec-tively, and op_num denotes the total number of operations. Theadjustment feature of the tabu tenure Tenurec is given in Fig. 4.

procedure : TabuParaAdjust()

input: current iteration number t

output: current value of tabu tenure, neighboring

begin

K= maxite /5

If ),0( Kt ∈ then

minTenureTenurec =

minnbnbc =

cTLength = minTLength

If )3,( KKt ∈ then

g = KTenureTenure 2/)( minmax −

)(min KtgTenureTenurec −×+=

)(min Ktgnbnbc −×+=

)(min KtgTLengthTLengthc −×+=

If )5,3( KKt ∈ then

maxTenureTenurec =

maxnbnbc =

cTLength = maxTLength

end

Fig. 4. Pseudo-code of

(2) Neighboring solutions set size

The neighboring solutions set size (nbc) represents the numberof neighboring solutions searched, which ranges from nbmin =op_ num/5 to nbmax = op_num. The adjustment mechanism ofneighboring solutions set size for the current solution is also givenin Fig. 4.

(3) Tabu list length

A dynamic tabu list is used in HTSA. The tabu list length rangesfrom TLengthmin = op_num/2 to TLengthmax = op_num. The adjust-ment of the tabu list length for the current iteration TLengthc isagain given in Fig. 4.

(4) Tabu element

In this study, a pair of (p, k) was employed as the structure ofthe tabu list, where p denotes the operation being moved and krepresents the machine to which p is assigned after the move.

The values of parameters including the tabu tenure, neighbor-ing solutions set size, and tabu list length are adjusted accordingto the iteration counter. The pseudo-code of the adjustment proce-dure is shown in Fig. 4, where itemax denotes the maximum num-ber of iterations in TS algorithm. All three parameter values startfrom the initial value at their lower bounds respectively, and thesame values will remain for a certain number of iterations at theearly stage of the search process. The values will be then graduallyincreased with the increment of iteration counter at the middlestage of the search procedure. In the last several iterations, all threeparameters will be set to their upper bounds respectively until thestopping criterion of the TS algorithm is reached.

solutions set size, and tabu list length

TabuParaAdjust ().

Page 6: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

procedure : AssignmentAdjustment()

input: a feasible solution

output: a new feasible solution with some perturbations in machine assignment component

begin

step1. Perform the function TabuParaAdjust () to adjust the current parameters

step2. Produce a random value 1r

If mr ρ≥1 , then apply 1mΠ to produce a feasible solution.

Otherwise, apply 2mΠ to produce a feasible solution.

step3. Evaluate the new solution, and then output it.

end

Fig. 5. Pseudo-code of AssignmentAdjustment ().

652 J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662

4.4. Local search

The purpose of the local search phase is to find a more suitablemachine for an operation in order to obtain a better solution. Twoeffective rules are presented here as the local search method forthe machine assignment component.

� Random rule (denoted by Pm1): (1) randomly selects an opera-tion with more than two candidate machines, denoted by Os; (2)randomly select a machine from M(Os) different with the cur-rent machine; and (3) replace the current machine with theselected machine at the position of Os.� Critical machine rule (denoted by Pm2): (1) get the number of

critical operations for each machine; (2) sequence everymachine in descending order based on the number of criticaloperations; (3) select the first machine with the most numberof critical operations and denote as Mold. Randomly search anoperation which is scheduled on Mold, and denote as Os; (4)assign a machine with relatively less critical operations fromM(Os) (denoted by Ms), and schedule operation Os on machineMs; and (5) replace the machine assignment component of thecurrent solution at position Os with the value of Ms.

The pseudo-code of the local search process in machine assign-ment component with the two above rules is given in Fig. 5 whereqm controls the selection of two local search rules.

M1

M2

M3

O11

O21

O23O13

O22

t

O12

global left shift

Fig. 6. A Gantt chart for an example of global left-shift.

5. Scheduling algorithm: variable neighborhood search

5.1. Left-shift based decoding

Two kinds of left-shift functions can be applied in the decodingphase, named the local left-shift and the global left-shift (Wang,2003). Both of the two left-shift functions can move some opera-tions to the left without delaying any other operations. The maindifference between the two left-shift functions above is that theglobal left-shift function may change the operation sequence whilethe local-shift one will not change the operation order on any ma-chine. A schedule is called semi-active if no local left-shift exists,while a schedule is called active if no global left-shift exists. Forexample, suppose that a solution is (1 2 3 2 1 3|1 1 2 2 1 2), andthe corresponding Gantt chart is shown in Fig. 6. There exists a po-tential global left-shift; that is we can shift the operation O23 justbefore O13. The new solution after applying left_Shift() functionto the above solution will be (1 2 3 2 1 3|1 1 2 2 2 1), which canbe decoded as an active schedule. The main objective in the decod-ing phase of this study is to transform a solution into an active

schedule. Given an operation Oih, some notations are defined asfollows:

� JP(Oih): (If it exists) operation belonging to job Ji that precedesthe operation Oih.� JS(Oih): (If it exists) operation belonging to job Ji that follows the

operation Oih.� MP(Oih): (If it exists) operation processed on machine Mk right

before the operation Oih.� MS(Oih): (If it exists) operation processed on machine Mk right

after the operation Oih.� C(Oih): The completion time of the operation Oih.

Next, we set a vector SE(Mk) for each machine, which recordsevery pair of start time and end time for this machine. For example,given a machine Mk, the vector SE(Mk) is described as{ðsk

1; ek1Þ; ðsk

2; ek2Þ; . . . ; ðsk

r ; ekr Þ}, where re(1, 2, . . ., op_numk) and

op_numk denotes the number of operations on Mk as defined in Sec-tion 4.3. Then, the pseudo-code of the left_Shift() is given in Fig. 7.

5.2. Public critical block

The feasible schedules of FJSP problems can be represented witha disjunctive graph G = (N, A, E), where N is the node set, A is theconjunctive arc set, and E is the disjunctive arc set. The critical pathin G is the longest path (Balas, 1969; Balas & Vazacopoulos, 1998;Blazewicz, Domschke, & Pesch, 1996). One promising approach forimproving the convergence speed of a FJSP is to use the criticalpath concept in the operation scheduling phase (Nowicki &Smutnicki, 1996; Zhang et al., 2007). If G has more than one criticalpath, denoted by CPi, 1 < i 6 w, where w represents the number ofcritical paths, then those critical operations belonging to all the w

Page 7: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

Fig. 7. Pseudo code of left-Shift ().

J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662 653

critical paths are called public critical operations. For example, inFig. 8, there are three public critical operations, i.e.,O11, O12, andO21. A public critical block is a maximal sequence of adjacent publiccritical operations processed on the same machine. In Fig. 8, thereexist two public critical blocks, i.e., {O11} and {O12, O21}. The firstand the last operation of a public critical block are called publicblock head and public block rear, respectively. Other operationsare called internal operations. The process of getting the entirepublic critical operations is summarized with the pseudo-code inFig. 9. Thereafter, Fig. 10 shows the procedure to compute the pub-lic critical blocks of a feasible solution.

5.3. Variable neighborhood search

The aim of VNS approaches is to avoid poor local optima by sys-tematically changing neighborhood. In this study, three insert andswap neighborhood structures based on the public critical blockstheory are developed to produce optimal adjustment in the opera-tion scheduling module. Suppose that a public critical block in afeasible solution is denoted by PB = {pb1, pb2, . . ., pbc}, where pb1

and pbc are the block head and block rear, respectively.pb2, . . ., pbc�1 are internal operations within the public criticalblock. First, we define three functions: (1) swap x with y (denoted

Page 8: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

M1

M2

M3

O11

O21

O41

O13

O22

O31

O32

t

O42

O12

public critical operations

Fig. 8. Example of public critical operations.

654 J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662

by swap(x, y)); (2) insert x right after y (denoted by insertU(x, y));(3) insert x just before y (denoted by insertW(x, y)). Next, we givethree neighborhood structures as follows:

(1) Swap neighborhood structure.

Pswap ¼ fSwapðpb1; xÞjx 2 PB� fpb1gg [ fSwapðx;pbcÞjx2 PB� fpbcggg ð9Þ

(2) InsertI neighborhood structure.

PinsertI ¼ fInsertUðpb1; xÞjx 2 PB� fpb1gg [ fInsertWðpbc; xÞjx2 PB� fpbcggg ð10Þ

(3) InsertP neighborhood structure.

procedure : getPublicCriticalOperations()

input: a set named Mc including all critical operations

output: a set named Mp including all public critical op

begin

for every critical operation COi in Mc

Get the start time si and the end time ei

for every other critical operations COj in Mc

Get the start time sj and the end time ej

if one of the followings occurs:

1) ei>ej and sj<si and si < ej

2) sj < ei and ei < ej and sj > si

3) sj > si and ej < ei

4) si > sj and ei < ej

then mark the operation COi and COj

respectively

end for

end for

Insert all unmarked operations in Mc into Mp.

end

Fig. 9. Pseudo code of getPublicCriti

PinsertP ¼ fInsertUðx;pbcÞjx 2 PB�fpbcgg [ fInsertWðx;pb1Þjx2 PB�fpb1ggg ð11Þ

Then, pseudo-code of the local search process produced by per-turbation in operation scheduling component with the above threeneighborhood structures is given in Fig. 11.

6. Experimental results

This section discusses the computational experiments used toevaluate the performance of the proposed algorithm. Two test in-stances were considered. The first five test samples (Kacem in-stances) for this study can be found in Kacem et al. (2002a). Thesecond data set (BRdata) is a set of 10 P-FJSP instances from Bran-dimarte (1993). The dimensions of the instances range from 4jobs � 5 machines to 20 jobs � 15 machines. Our algorithm wasimplemented in C++ on an Intel Pentium IV 1.7 GHz PC with512 MB memory. The best and average results of experiments from20 independent runs were collected for performance comparison.The average computational times were also reported.

Each instance can be characterized by the following parame-ters: number of jobs (n), number of machines (m), and the numberof operations (op_num). On the other hand, the parameters of thehybrid algorithm consist of the initial population size Psize, themaximum number of iterations itemax, the maximum number ofconsecutive iterations without improvement no_itermax, and theprobability for selecting the perturbation rule in machine assign-ment component qm. Three dynamic parameters used in TS suchas tabu tenure, neighboring solutions set size, and tabu list lengthare defined in Section 4.3. The algorithm stops when the solution isclose enough to the lower bound of the objective function value,when the best solution is not improved for no_itermax iterationsor when the time budget is exhausted. The detailed parametersare given in Table 1.

erations

as a non public critical operation,

calOperations().

Page 9: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

procedure : getPublicCriticalBlocks()

input: a set named Mp including all public critical operations

output: a set named Mpb including all public critical blocks with more than one public

critical operations

begin

for k=1 to len(Mp)

Get the operation kO. at position k in Mp

h k

for j =k+1 to len(Mp)

Get the operation jO. at position j in Mp

if M( kO. ) equals M( jO. )

h h+1

else

b1 ( kO ,…., hO )

k h+1

if (h - k) >1 then Insert b1 into Mpb

Jump out of the inner loop

end for

end for

end

Fig. 10. Pseudo code of getPublicCriticalBlocks.

procedure : SequenceAdjustment()

input: a set named Mpb including all public critical blocks with more than one public

critical operations

output: the best neighboring solution of the current solution

begin

Set the global best solution gbest with a big value.

for every public critical block pb in Mpb

if pb contains more than two operations, then

a) Apply the swap, Insert and Insert neighborhood structures in

Equations (9), (10) and (11) to search the neighboring solutions.

b) Evaluate each neighboring solution; replace the gbest with the best new

solution if the latter is better.

end for

Output gbest as the best neighboring solution.

end

Fig. 11. Pseudo-code of SequenceAdjustment().

J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662 655

6.1. Results of Kacem instances

6.1.1. Problem 4 � 5This is an instance of total flexibility (T-FJSP), in which four jobs

with 12 operations are to be performed on five machines. The aver-age computational time for 20 different runs is 0.15 s. The obtained

solutions by our hybrid algorithm are characterized by the follow-ing values:

Solution 1: cM = 12, wT = 32, wM = 8Solution 2: cM = 11, wT = 32, wM = 10

Page 10: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

Table 1Parameters of the HTSA.

Parameters Value Parameters Value

itemax 2 � n �m (w1, w2, w3) for the five Kaceminstances

(0.5, 0.2, 0.3)no_itermax op_numPsize 100 (w1, w2, w3) for the 10 BRdata

instances(0.8, 0.05, 0.15)

qm 0.2

656 J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662

6.1.2. Problem 8 � 8This is an instance of partial flexibility (P-FJSP), in which eight

jobs with 27 operations are to be performed on eight machines.The average computational time for 20 different runs is 3.08 s.The obtained solutions by our hybrid algorithm are characterizedby the following values:

Solution 1: cM = 14, wT = 77, wM = 12Solution 2: cM = 15, wT = 75, wM = 12

Fig. 12 shows the result of Solution 1 in the form of a Ganttchart. The pair of numbers (in the form of [job, operation]) insidethe blocks is the operation to be processed on the correspondingmachine. The two numbers just below the block represent the starttime and end time of the operation, respectively.

6.1.3. Problem 10 � 7This is an instance of total flexibility, in which 10 jobs with 29

operations are to be performed on seven machines. The averagecomputational time for 20 different runs is 2.58 s. The obtainedsolutions by our hybrid algorithm are characterized by the follow-ing values:

Solution 1: cM = 11, wT = 62, wM = 10Solution 2: cM = 11, wT = 61, wM = 11

Fig. 13 shows the result of Solution 1 in the form of a Ganttchart.

0 5

M1

M2

M3

M4

M5

M6

M7

M8

(5,1)

0 3

(8,1)

3 5

(3,3

7

(4,1)

0 1

(8,2)

5

(6,1)

0 1

(7,1)

1 3

(2,1)

3 6

(4,3)

6

(1,1)

0 3

(3,2)

3 77

(1,2)

3 6

(4,2)

1 6

(1,3)

6

(3,1)

0 2

(5,2)

3

(6,2)

1 5

(7,

5

Fig. 12. The obtained optimal solution of instance 2 (8 jobs/27

6.1.4. Problem 10 � 10This is an instance of total flexibility, in which 10 jobs with 30

operations are to be performed on 10 machines. The average com-putational time for 20 different runs is 3.12 s. The obtained solu-tions by our hybrid algorithm are characterized by the followingvalues:

Solution 1: cM = 7, wT = 43, wM = 5Solution 2: cM = 7, wT = 42, wM = 6Solution 3: cM = 8, wT = 42, wM = 5

Fig. 14 shows the result of Solution 1 in the form of a Ganttchart.

6.1.5. Problem 15 � 10This is an instance of total flexibility, in which 15 jobs with 56

operations are to be performed on 10 machines. The average compu-tational time for 20 different runs is 25.13 s. The obtained solutionsby our hybrid algorithm are characterized by the following values:

Solution 1: cM = 11, wT = 91, wM = 11Solution 2: cM = 11, wT = 93, wM = 10

Fig. 15 shows the result of Solution 1 in the form of a Ganttchart.

The comparisons of the HTSA with the AL + CGA algorithm byKacem et al. (2002b), the PSO + SA algorithm by Xia and Wu(2005), the PSO + TS algorithm by Zhang et al. (2009), and the Xing’salgorithm (Xing et al., 2009a) for solving the above five Kacem

10 15

)

8

9

(6,3)

9 14

8

(8,4)

11 14

(2,2)

9

(7,3)

10 13

(2,4)

10 14

8

(5,3)

9 11

9

(2,3)

9 10

(5,4)

11 14

2)

10

(8,3)

10 11

operations /8 machines: F1(c) = 14, F2(c) = 77, F3(c) = 12).

Page 11: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

0 2 4 6 8 10 12

M1

M2

M3

M4

M5

M6

M7

(1,1)

0 1

(4,1)

1 3

(5,2)

3 5

(2,2)

5 7

(10,3)

8 9

(4,3)

10 11

(5,1)

0 1

(10,1)

1 5

(5,3)

5 6

(9,2)

6 8

(8,3)

9 11

(7,1)

0 3

(6,1)

3 7

(6,2)

7 8

(6,3)

8 10

(8,1)

0 1

(8,2)

1 9

(4,2)

9 10

(9,1)

0 4

(3,3)

9 11

(1,2)

1 2

(7,2)

3 7

(10,2)

7 8

(3,2)

8 9

(7,3)

9 10

(2,1)

0 3

(3,1)

3 4

(1,3)

4 7

(9,3)

8 10

Fig. 13. The obtained optimal solution of instance 3 (10 jobs/29 operations/7 machines: F1(c) = 11, F2(c) = 62, F3(c) = 10).

0 1 2 3 4 5 6 7 8

M1

M2

M3

M4

M5

M6

M7

M8

M9

M10

(2,1)0 2

(7,1)2 3

(1,1)3 4

(8,2)2 5

(8,3)5 7

(4,2)1 4

(7,2)4 5

(1,2)5 6

(2,2)

2 3

(5,3)

3 4

(4,3)

4 5

(7,3)

5 6

(1,3)

6 7

(8,1)0 2

(10,3)2 5

(10,1)0 1

(6,1)1 3

(9,1)3 4

(9,3)5 6

(4,1)

0 1

(10,2)

1 2

(3,3)

2 3

(9,2)

4 5

(6,3)

5 6

(3,2)

1 2

(5,1)0 2

(5,2)2 3

(6,2)3 5

(3,1)0 1

(2,3)3 5

Fig. 14. The obtained optimal solution of instance 4 (10 jobs/30 operations/10 machines: F1(c) = 7, F2(c) = 43 F3(c) = 5).

J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662 657

instances are given in Table 2. The two columns labeled ‘AL + CGA’refer to Kacem’s (Kacem et al., 2002b) method and the next two col-umns labeled ‘PSO + SA’ refer to the algorithm proposed by Xia andWu (2005)). The next two columns from 7th to 8th column labeled‘PSO + TS’ are the results from the hybrid algorithm developed byZhang et al. (2009)). The results from Xing’s algorithm (Xing et al.,2009a) are presented in the next two columns labeled ‘Xing’. Thelast three columns show the results due to the HTSA.

It can be seen from Table 2 that HTSA is more efficient than theother approaches for solving the five Kacem instances. Four in-stances were computed by the AL + CGA algorithm, i.e., problem4 � 5, 8 � 8, 10 � 10, and 15 � 10. Table 2 shows that HTSA domi-

nates the AL + CGA algorithm in all the four instances. For solvingthe three instances (i.e., 8 � 8, 10 � 10, and 15 � 10), HTSA eitherobtains superior solutions or get richer optimal solutions thanthe PSO + SA algorithm. In comparison with the very recently pub-lished PSO + TS algorithm for solving the four instances (i.e.,4 � 5,8 � 8, 10 � 10, and 15 � 10), our approach also obtains richer opti-mal solutions or dominated solutions than the PSO + TS algorithm,especially for the large scale instances such as instances 10 � 10and 15 � 10. We made a detail comparison between HTSA andthe Xing’s algorithm on the five instances. Table 2 shows thatour approach obtains dominated solutions in solving two in-stances, i.e., 8 � 8 and 10 � 10. For other three instances (i.e.,

Page 12: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

0 2 4 6 8 10 12

M1

M2

M3

M4

M5

M6

M7

M8

M9

M10

(14,1)

0 2

(1,1)

2 3

(7,1)

3 4

(1,2)

4 5

(6,2)

5 6

(10,2)

6 8

(8,4)

8 9

(13,1)

0 2

(6,1)

2 3

(3,3)

3 5

(7,2)

5 6

(11,4)

6 7

(13,4)

7 9

(10,4)

9 11

(2,2)

1 3

(9,2)

3 5

(1,3)

5 6

(15,3)

7 9

(2,1)

0 1

(8,3)

3 5

(3,4)

5 6

(5,4)

6 8

(4,1)

0 1

(4,2)

1 2

(12,2)

2 6

(14,4)

7 9

(15,4)

9 11

(5,2)

1 3

(11,2)

3 4

(4,3)

4 5

(15,2)

5 7

(1,4)

7 11

(3,1)

0 1

(8,1)

1 2

(11,1)

2 3

(5,3)

3 5

(9,3)

5 9

(12,4)

9 11

(12,1)

0 2

(8,2)

2 3

(15,1)

3 5

(14,3)

5 7

(2,4)

7 8

(5,1)

0 1

(3,2)

1 2

(14,2)

3 5

(11,3)

5 7

(12,3)

7 9

(9,1)

0 1

(10,1)

1 2

(13,2)

2 4

(13,3)

4 6

(2,3)

6 7

(4,4)

7 8

(10,3)

8 9

(9,4)

9 11

Fig. 15. The obtained optimal solution of instance 5 (15 jobs/56 operations/10 machines: F1(c) = 11, F2(c) = 91 F3(c) = 11).

Table 2Comparison of results on the five Kacem instances.

Problem (n �m) Objective AL + CGA PSO + SA PSO + TS Xing HTSA

Solution 1 Solution 2 Solution 1 Solution 2 Solution 1 Solution 2 Solution 1 Solution 2 Solution 1 Solution 2 Solution 3

4 � 5 cM 16 11 12 11 12wT 34 n/a n/a n/a 32 n/a 32 n/a 32 32 n/awM 10 10 8 10 8

8 � 8 cM 15 16 15 16 14 15 14 15 14 15wT 79 75 75 73 77 75 77 76 77 75 n/awM 13 13 12 13 12 12 12 12 12 12

10 � 7 cM 11 11 11 11wT n/a n/a n/a n/a n/a n/a 61 62 61 62 n/awM 11 10 11 10

10 � 10 cM 7 7 7 7 8 7 7 8wT 45 n/a 44 n/a 43 n/a 42 42 43 42 42wM 5 6 6 6 5 5 6 5

15 � 10 cM 23 24 12 11 11 11 11 11wT 95 91 91 n/a 93 n/a 91 93 91 93 n/awM 11 11 11 11 11 10 11 10

The weight coefficients are set to: (w1 = 0.5, w2 = 0.2, w3 = 0.3).

658 J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662

4 � 5, 10 � 7, and 15 � 10), HTSA also obtains richer optimal solu-tions or the same solutions in very short time. It can be concludedthat HTSA is superior to the above four algorithms in terms ofsearching quality and efficiency.

6.2. Results of BRdata

The BRdata includes 10 P-FJSP instances with multi-objectiveranging from 10 jobs � 6 machines to 20 jobs � 15 machines. InXing’s algorithm (Xing et al., 2009b), a local search approach wasproposed and implemented in Matlab to solve the 10 P-FJSP in-stances with three objectives. In this section, we tested the above10 P-FJSP instances and compared with Xing’s algorithm.

Table 3 illustrates the comparison results for the 10 P-FJSP in-stances. The first column is the instance title; the second columndenotes the number of jobs and the number of machines on eachinstance; the next five columns show the results from Xing et al.

(2009b), which was implemented in Matlab on a Dell Precision650 workstation with a Pentium IV 2.4G processor and 1 GBRAM. The five columns refer to total weighted objectives, make-span, workload of total machines, workload of the critical machine,and average computational times for each instance, respectively.The same statistics of the proposed HTSA are also collected forcomparison.

It can be seen from Table 3 that our approach dominates Xing’salgorithm in 5 out of 10 instances. For solving the two instancesMK03 and MK08, our algorithm and Xing’s algorithm can both ob-tain the same near-optimal solutions. For the other three instances,i.e., MK01, MK04 and MK10, HTSA can obtain solutions with betterobjective function value than the Xing’s algorithm. Although differ-ent compilers with different computational capability were em-ployed, we can see from Table 3 that our hybrid algorithm canobtain superior solutions than the Xing’s algorithm in a very shortcomputational time. Even in the largest instance MK10, HTSA

Page 13: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

Table 4Comparison of makespan on the 10 BRdata instances.

Case Size op_num LB P.M.C. M.G. HTSA dev (%)

F1 F2 F3 P.M.C. M.G.

MK01 10 � 6 55 36 40 40 40 167 36 0 0MK02 10 � 6 58 24 26 26 26 151 26 0 0MK03 15 � 8 150 204 204 204 204 852 204 0 0MK04 15 � 8 90 48 60 60 61 366 61 �1.67 �1.67MK05 15 � 4 106 168 173 173 172 687 172 +0.58 +0.58MK06 10 � 15 150 33 63 58 65 398 62 �3.17 �12.07MK07 20 � 5 100 133 139 144 140 695 140 �0.72 +2.78MK08 20 � 10 225 523 523 523 523 2524 523 0 0MK09 20 � 10 240 299 311 307 310 2294 301 +0.32 �0.98MK10 20 � 15 240 165 212 198 214 2053 210 �0.94 �8.08

M1

M2

M3

M4

4,1

5

8,1

10

5,1

15

11,2

23

10,2

31

1,2

39

14,2

44

6,4

49

13,3

58

4,3

66

14,3

74

15,2

82

8,4

87

3,3

92

3,4

100

14,5

105

7,3

111

10,3

119

13,7

124

9,6

132

9,7

140

6,8

148

15,7

154

1,6

159

6,9

164

12,6

172

10,1

6

11,1

12

14,1

17

9,1

24

11,3

29

5,2

36

2,2

41

9,3

47

1,3

52

6,5

59

13,4

66

9,4

71

13,5

78

12,4

83

14,4

89

5,6

95

6,7

101

13,6

107

14,6

114

4,5

120

3,5

125

15,6

131

10,5

136

2,5

142

3,7

148

9,8

154

7,4

161

8,8

166

10,9

172

15,1

8

2,1

15

7,1

23

1,1

28

8,2

36

6,3

44

13,2

50

12,2

57

1,4

64

5,4

72

3,2

77

11,4

84

5,5

89

15,3

95

15,4

102

8,5

109

12,5

117

11,6

125

10,4

131

11,7

137

8,7

143

10,6

151

10,7

158

9,9

165

7,5

172

6,1

6

6,2

11

13,1

19

12,1

27

9,2

35

4,2

42

5,3

49

8,3

56

2,3

62

3,1

69

12,3

76

6,6

84

7,2

91

9,5

97

4,4

105

11,5

111

1,5

116

15,5

121

8,6

129

2,4

134

3,6

140

14,7

146

4,6

151

3,8

160

10,8

166

4,7

172

Fig. 16. The obtained optimal solution of MK05 by the HTSA: (F(c) = 197.75, F1(c) = 172, F2(c) = 687 F3(c) = 172).

Table 3Comparison of results on the 10 BRdata instances.

Case Size op_num Xing HTSA

F F1 F2 F3 Time (s) F F1 F2 F3 Time (s)

MK01 10 � 6 55 48.00 42 162 42 286.8 45.75 40 167 36 2.07MK02 10 � 6 58 34.35 28 155 28 181.2 32.25 26 151 26 16.35MK03 15 � 8 150 236.40 204 852 204 1568.4 236.40 204 852 204 8.32MK04 15 � 8 90 82.05 68 352 67 1064.4 76.25 61 366 61 42.96MK05 15 � 4 106 203.25 177 702 177 495.6 197.75 172 687 172 15.34MK06 10 � 15 150 91.60 75 431 67 1127.4 81.20 65 398 62 63.67MK07 20 � 5 100 178.35 150 717 150 340.8 167.75 140 695 140 36.18MK08 20 � 10 225 623.05 523 2524 523 4060.2 623.05 523 2524 523 4.09MK09 20 � 10 240 412.35 311 2374 299 4665.6 407.85 310 2294 301 66.21MK10 20 � 15 240 314.20 227 1989 221 7351.2 305.35 214 2053 210 120.87

The weight coefficients are set to: (w1 = 0.8, w2 = 0.05, w3 = 0.15).

J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662 659

needs about 120 s to obtain a near-optimal solution, which isacceptable in a real manufacturing scenario. On the other hand,Xing’s algorithm needs over 7300 s to implement the instanceMK10.

Table 4 illustrates the comparison of the makespan results onthe 10 BRdata instances of HTSA with two recent algorithms, i.e.,Pezzella et al. (2008) (hereafter called P.M.C.) and Mastrolilli andGambardella (2000) (hereafter called M.G.). The last two columns

Page 14: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

M1

M2

M3

M4

M5

2

13

20

16

1

37

8

12

45

14

6

62

10

68

17

4

7

13

14

92

17

98

4

104

10

111

12

118

15

135

19

20

1

4

18

4

29

17

43

20

1

2

4

7

8

75

16

19

3

8

9

103

15

113

1

120

6

127

8

134

6

3

12

17

12

27

5

19

5

49

16

58

3

67

14

77

15

91

5

105

18

123

2

3

139

7

11

23

20

3

46

13

64

13

20

87

10

1

110

19

128

5

16

6

8

9

9

10

17

15

17

2

14

7

31

9

38

10

46

11

15

18

19

56

5

9

11

11

67

18

2

6

76

11

91

12

16

100

20

107

7

114

9

129

14

13

17

18

140

Fig. 17. The obtained optimal solution of MK07 by the HTSA: (F(c) = 167.75, F1(c) = 140, F2(c) = 695 F3(c) = 140).

M1

M2

M3

M4

8,1

5

4,1

10

15,2

18

10,2

26

10,3

34

5,1

39

11,2

47

14,2

52

6,4

57

1,2

65

13,3

73

8,4

78

3,4

86

10,5

92

14,3

100

9,6

108

9,7

116

9,8

124

7,3

130

13,7

135

8,8

141

6,7

149

1,6

154

12,6

162

6,8

170

6,9

175

9,1

7

10,1

13

11,1

19

14,1

24

9,3

30

1,1

37

3,2

44

9,4

49

5,2

56

11,3

61

6,5

68

1,3

73

2,2

78

13,4

85

12,4

90

3,5

95

4,5

101

13,5

108

14,4

114

15,5

120

13,6

126

2,4

132

14,6

141

15,6

147

3,7

153

2,5

159

5,5

166

15,7

171

5,6

177

15,1

8

3,1

17

8,2

25

6,3

33

13,2

39

15,3

45

10,4

51

2,1

58

7,1

66

12,2

73

5,3

82

15,4

89

11,4

96

8,5

103

10,6

111

1,4

118

12,5

126

8,7

132

10,7

139

5,4

147

11,6

155

9,9

162

11,7

168

7,5

175

6,1

6

6,2

11

9,2

19

13,1

27

12,1

35

4,2

42

8,3

49

4,3

57

9,5

63

3,3

68

7,2

75

12,3

82

4,4

90

6,6

98

2,3

104

8,6

112

11,5

118

3,6

124

1,5

129

14,5

134

4,6

139

10,8

145

7,4

151

4,7

157

3,8

166

14,7

172

10,9

177

Fig. 18. The obtained optimal solution of MK05 by Xing’s algorithm: (F(c) = 203.25, F1(c) = 177, F2(c) = 702 F3(c) = 177).

660 J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662

report the relative deviation of our algorithm with respect to P.M.Cand M.G, respectively. The relative deviation is defined as in Pezz-ella et al. (2008):

dev ¼ ðMKc �MKHTSAÞ=MKc � 100% ð12Þ

where MKHTSA is the makespan obtained by our algorithm and MKc

is the makespan of the algorithm we compare to. It can be seen fromTable 4 that: (1) for solving the instance MK05, our algorithm out-performs both of the above two algorithms; (2) for instance MK07,

our algorithm outperforms the M.G. while obtains a slightly worseresult than P.M.C.; (3) for solving the instance MK09, our algorithmoutperforms the P.M.C. while obtains a slightly worse result thanM.G.; (4) for three instances MK04, MK06, and MK10, our algorithmobtains slightly worse results than the above two algorithms; and(5) for solving other four instances, our algorithm obtains the sameresults with P.M.C and M.G. It should be noted that the objectivefunctions in P.M.C. and M.G. are single objective while the problemsconsidered in this study are multi-objective. Thus, the comparisons

Page 15: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

M1

M2

M3

M4

M5

2

14

5

20

16

1

37

6

52

17

8

4

12

64

10

70

18

85

4

91

11

112

15

119

19

13

15

141

20

10

150

4

6

11

15

18

1

17

36

18

4

18

20

7

8

70

2

19

1

6

87

9

110

16

6

8

3

8

133

12

143

1

150

5

8

17

19

4

29

9

9

47

10

57

15

7

16

73

5

87

3

96

14

114

17

129

2

7

20

11

28

19

34

3

52

13

70

13

20

93

7

99

19

117

10

1

140

5

16

14

12

13

17

13

30

3

10

38

7

45

5

12

54

11

14

63

18

2

11

6

75

15

87

2

11

95

9

20

103

12

18

112

9

127

16

134

17

14

13

3

150

Fig. 19. The obtained optimal solution of MK07 by Xing’s algorithm: (F(c) = 178.35, F1(c) = 150, F2(c) = 717 F3(c) = 150).

J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662 661

of makespan results on the 10 BRdata instances also verify the effi-ciency of the HTSA.

Figs. 16 and 17 show the results of MK05 and MK07 in the formof Gantt charts obtained by the HTSA, while Figs. 18 and 19 showthe Gantt charts of MK05 and MK07 obtained by Xing’s algorithm(Xing et al., 2009b). If it exists, the pair of numbers (in the form of[job, operation]) inside the blocks is the operation to be processedon the corresponding machine. For operations with processingtime too small to be displayed in the Gantt char, we just set onenumber which represents the job index. The number just belowthe block (if it exists) represents the end time of the operation.From the comparison of the four Gantt charts, we can concludethat several resulting solutions of the HTSA dominate the corre-sponding ones of Xing’s algorithm.

7. Conclusions

In this paper, we proposed a hybrid TS algorithm for solving themulti-objective FJSP problems. To construct improved local searchin the machine assignment module, an effective neighborhoodstructure with two adaptive rules was developed in the hybridalgorithm. In addition, a speed-up local search method with threekinds of insert and swap neighborhood structures based on publiccritical block theory is presented, which dwindled the search spacedeeply and helped to improve the solution quality as well as thesearch speed in the operation scheduling module. A well-designedleft-shift function is also introduced to decode an encoding solu-tion to an active schedule. The experimental results in Section 6confirm that HTSA shows its superiority to other competing ap-proaches including the AL + CGA algorithm (Kacem et al., 2002b),the PSO + SA algorithm (Xia & Wu, 2005), the PSO + TS algorithm(Zhang et al., 2009), and the Xing’s algorithm (Xing et al., 2009a,2009b) for solving both the multi-objective T-FJSPs and theP-FJSPs. The future work is to apply the hybrid algorithm to otherkinds of combinatorial optimization problems and develop someother hybrid algorithms for solving the multi-objective FJSPproblems.

Acknowledgments

This research is partially supported by National Science Founda-tion of China under Grants 60874075, 70871065, Science Researchand Development of Provincial Department of Public Education ofShandong under Grant J08LJ20, J09LG29, J08LJ59, Soft ScienceFoundation of Shandong under Grant 2009REB125.

References

Balas, E. (1969). Machine sequencing via disjunctive graph: An implicit numerationalgorithm. Operations Research, 17, 941–957.

Balas, E., & Vazacopoulos, A. (1998). Guided local search with shifting bottleneck forjob shop scheduling. Management Science, 44, 262–275.

Brandimarte, P. (1993). Routing and scheduling in a flexible job shop by tabu search.Annals of Operations Research, 41, 157–183.

Blazewicz, J., Domschke, W., & Pesch, E. (1996). The job shop scheduling problem:Conventional and new solution techniques. European Journal of OperationalResearch, 93, 1–33.

Dell’Amico, M., & Trubian, M. (1993). Applying tabu search to the job-shopscheduling problem. Annals of Operation Research, 41(3), 231–252.

Gao, L., Peng, C. Y., Zhou, C., Li, P. G. (2006). Solving flexible job shop schedulingproblem using general particle swarm optimization. In Proceedings of the 36thCIE conference on computers & industrial engineering (pp. 3018–3027).

Gao, J., Sun, L., & Gen, M. (2008). A hybrid genetic and variable neighborhooddescent algorithm for flexible job shop scheduling problems. Computers andOperations Research, 35(9), 2892–2907.

Garey, M. R., Johnson, D. S., & Sethi, R. (1976). The complexity of flowshop and jobshop scheduling. Mathematics of Operations Research, 1(2), 117–129.

Gen, M., Tsujimura, Y., & Kubota, E. (1994). Solving job-shop scheduling problemusing genetic algorithm. In Proceeding of the 16th international conference oncomputer and industrial engineering (pp. 576–579).

Glover, F. (1990). Tabu search: A tutorial. Interfaces, 20(4), 74–94.Hsu, T., Dupas, R., Jolly, D., & Goncalves, G. (2002). Evaluation of mutation heuristics

for the solving of multi-objective flexible job shop by an evolutionaryalgorithm. In Proceedings of the international conference on systems, man andcybernetics (pp. 6–9). IEEE Press.

Kacem, I., Hammadi, S., & Borne, P. (2002a). Pareto-optimality approach for flexiblejob-shop scheduling problems: Hybridization of evolutionary algorithms andfuzzy logic. Mathematics and Computers in Simulation, 60, 245–276.

Kacem, I., Hammadi, S., & Borne, P. (2002b). Approach by localization and multi-objective evolutionary optimization for flexible job-shop scheduling problems.IEEE Transactions on Systems, Man and Cybernetics, Part C, 32(1), 408–419.

Liouane, N., Saad, I., Hammadi, S., & Borne, P. (2007). Ant systems & local searchoptimization for flexible job-shop scheduling production. International Journalof Computers, Communications & Control, 2, 174–184.

Page 16: An effective hybrid tabu search algorithm for multi-objective flexible job-shop scheduling problems

662 J.-q. Li et al. / Computers & Industrial Engineering 59 (2010) 647–662

Mastrolilli, M., & Gambardella, L. M. (2000). Effective neighborhood functions forthe flexible job shop problem. Journal of Scheduling, 3(1), 3–20.

Nowicki, E., & Smutnicki, C. (1996). A fast taboo search algorithm for the job-shopproblem. Management Science, 42, 797–813.

Pezzella, F., Morganti, G., & Ciaschetti, G. (2008). A genetic algorithm for the flexiblejob-shop scheduling problem. Computers and Operations Research, 35,3202–3212.

Saidi-mehrabad, M., & Fattahi, P. (2007). Flexible job shop scheduling with tabusearch algorithms. International Journal of Advanced Manufacturing Technology,32, 563–570.

Taillard, E. D. (1994). Parallel taboo search techniques for the job shop schedulingproblem. ORSA Journal on Computing, 6(2), 108–117.

Tay, J. C., & Ho, N. B. (2008). Evolving dispatching rules using genetic programmingfor solving multi-objective flexible job-shop problems. Computers and IndustrialEngineering, 54, 453–473.

Wang, L. (2003). Shop scheduling with genetic algorithms. Beijing, China: TsinghuaUniversity Press.

Xia, W. J., & Wu, Z. M. (2005). An effective hybrid optimization approach for multi-objective flexible job-shop scheduling problems. Computers and IndustrialEngineering, 48(2), 409–425.

Xing, L. N., Chen, Y. W., & Yang, K. W. (2009a). Multi-objective flexible job shopschedule: Design and evaluation by simulation modeling. Applied SoftComputing, 9, 362–376.

Xing, L. N., Chen, Y. W., & Yang, K. W. (2009b). An efficient search method for multi-objective flexible job shop scheduling problems. Journal of IntelligentManufacturing, 20, 283–293.

Zhang, C. Y., Li, P. G., Guan, Z. L., & Rao, Y. Q. (2007). A tabu search algorithm with anew neighborhood structure for the job shop scheduling problem. Computersand Operations Research, 34, 3229–3242.

Zhang, G. H., Shao, X. Y., Li, P. G., & Gao, L. (2009). An effective hybrid particle swarmoptimization algorithm for multi-objective flexible job-shop schedulingproblem. Computers and Industrial Engineering, 56(4), 1309–1318.