An effective hybrid particle swarm optimization algorithm for multi-objective flexible job-shop...

10
An effective hybrid particle swarm optimization algorithm for multi-objective flexible job-shop scheduling problem Guohui Zhang, Xinyu Shao * , Peigen Li, Liang Gao The State Key Laboratory of Digital Manufacturing Equipment and Technology, Huazhong University of Science & Technology, Wuhan, Hubei Province 430074, China article info Article history: Received 20 April 2007 Received in revised form 25 July 2008 Accepted 28 July 2008 Available online 6 August 2008 Keywords: Multi-objective optimization Flexible job-shop scheduling Particle swarm optimization Tabu search abstract Flexible job-shop scheduling problem (FJSP) is an extension of the classical job-shop scheduling problem. Although the traditional optimization algorithms could obtain preferable results in solving the mono- objective FJSP. However, they are very difficult to solve multi-objective FJSP very well. In this paper, a par- ticle swarm optimization (PSO) algorithm and a tabu search (TS) algorithm are combined to solve the multi-objective FJSP with several conflicting and incommensurable objectives. PSO which integrates local search and global search scheme possesses high search efficiency. And, TS is a meta-heuristic which is designed for finding a near optimal solution of combinatorial optimization problems. Through reasonably hybridizing the two optimization algorithms, an effective hybrid approach for the multi-objective FJSP has been proposed. The computational results have proved that the proposed hybrid algorithm is an effi- cient and effective approach to solve the multi-objective FJSP, especially for the problems on a large scale. Ó 2008 Elsevier Ltd. All rights reserved. 1. Introduction Job-shop scheduling problem (JSP), which is among the hardest combinatorial optimization problems (Sonmez & Baykasoglu, 1998), is a branch of production scheduling. It is well known that this problem is NP-hard (Garey, Johnson, & Sethi, 1976). The clas- sical JSP schedules a set of jobs on a set of machines with the objec- tive to minimize a certain criterion, subjected to the constraint that each job has a specified processing order through all machines which are fixed and known in advance. Flexible job-shop problem (FJSP) is an extension of the classical JSP that allows one operation which can be processed on one machine out of a set of alternative machines. It is closer to the real manufacturing situation. Because of the additional needs to deter- mine the assignment of operations on the machines, FJSP is more complex than JSP, and incorporates all the difficulties and com- plexities of JSP. The problem of scheduling jobs in FJSP could be decomposed into two sub-problems: a routing sub-problem, which is assigning each operation to a machine out of a set of capable machines and a scheduling sub-problem, which is sequencing the assigned operations on all selected machines in order to obtain a feasible schedule with optimized objectives (Xia & Wu, 2005). The scheduling problem in a flexible job shop is at least as hard as the job shop problem, which is considered one of the most dif- ficult problems in combinatorial optimization (Lawler, Lenstra, Rinnooy Kan, & Shmoys, 1993). Although an optimal solution algo- rithm for the classical JSP has not been developed yet, there is a trend in the research community to model and solve much more complex version of the FJSP (Baykasoglu, Ozbakir, & Sonmez, 2004). The research on the multi-objective FJSP is much less than the mono-objective FJSP. Brandimarte (1993) was the first to apply the decomposition approach into the FJSP. He solved the routing sub-problem by using some existing dispatching rules and then focused on the scheduling sub-problem, which was solved by using a tabu search heuristic. Hurink, Jurisch, and Thole (1994) proposed a tabu search heuristic. They considered the reassign- ment and rescheduling as two different types of moves. Mastrolil- li and Gambardella (2000) proposed some neighborhood functions for the FJSP, which could be used in meta-heuristic optimization techniques. The most important issue in employing meta-heuristics for combinatorial optimization problems is to de- velop an effective ‘‘problem mapping” and ‘‘solution generation” mechanism. If these two mechanisms are devised successfully, it is possible to find good solutions to the given optimization problem in acceptable time. Parsopoulos and Vrahatis (2002) con- ducted the first research on the particle swarm optimization method in multi-objective optimization problems. Kacem, Ham- madi, and Borne (2002a, 2002b) proposed a genetic algorithm controlled by the assigned model which was generated by the ap- proach of localization (AL) to mono-objective and multi-objective FJSP. They used the integrated approach considering assignment and scheduling at the same time. Rigao (2004) developed two heuristics based on tabu search: a hierarchical procedure and a multiple start procedure. Recently, Xia and Wu (2005) proposed 0360-8352/$ - see front matter Ó 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2008.07.021 * Corresponding author. E-mail address: [email protected] (X. Shao). Computers & Industrial Engineering 56 (2009) 1309–1318 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Transcript of An effective hybrid particle swarm optimization algorithm for multi-objective flexible job-shop...

Computers & Industrial Engineering 56 (2009) 1309–1318

Contents lists available at ScienceDirect

Computers & Industrial Engineering

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

An effective hybrid particle swarm optimization algorithm for multi-objectiveflexible job-shop scheduling problem

Guohui Zhang, Xinyu Shao *, Peigen Li, Liang GaoThe State Key Laboratory of Digital Manufacturing Equipment and Technology, Huazhong University of Science & Technology, Wuhan, Hubei Province 430074, China

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

Article history:Received 20 April 2007Received in revised form 25 July 2008Accepted 28 July 2008Available online 6 August 2008

Keywords:Multi-objective optimizationFlexible job-shop schedulingParticle swarm optimizationTabu search

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

* Corresponding author.E-mail address: [email protected] (X. Shao).

Flexible job-shop scheduling problem (FJSP) is an extension of the classical job-shop scheduling problem.Although the traditional optimization algorithms could obtain preferable results in solving the mono-objective FJSP. However, they are very difficult to solve multi-objective FJSP very well. In this paper, a par-ticle swarm optimization (PSO) algorithm and a tabu search (TS) algorithm are combined to solve themulti-objective FJSP with several conflicting and incommensurable objectives. PSO which integrates localsearch and global search scheme possesses high search efficiency. And, TS is a meta-heuristic which isdesigned for finding a near optimal solution of combinatorial optimization problems. Through reasonablyhybridizing the two optimization algorithms, an effective hybrid approach for the multi-objective FJSPhas been proposed. The computational results have proved that the proposed hybrid algorithm is an effi-cient and effective approach to solve the multi-objective FJSP, especially for the problems on a large scale.

� 2008 Elsevier Ltd. All rights reserved.

1. Introduction

Job-shop scheduling problem (JSP), which is among the hardestcombinatorial optimization problems (Sonmez & Baykasoglu,1998), is a branch of production scheduling. It is well known thatthis problem is NP-hard (Garey, Johnson, & Sethi, 1976). The clas-sical JSP schedules a set of jobs on a set of machines with the objec-tive to minimize a certain criterion, subjected to the constraint thateach job has a specified processing order through all machineswhich are fixed and known in advance.

Flexible job-shop problem (FJSP) is an extension of the classicalJSP that allows one operation which can be processed on onemachine out of a set of alternative machines. It is closer to the realmanufacturing situation. Because of the additional needs to deter-mine the assignment of operations on the machines, FJSP is morecomplex than JSP, and incorporates all the difficulties and com-plexities of JSP. The problem of scheduling jobs in FJSP could bedecomposed into two sub-problems: a routing sub-problem, whichis assigning each operation to a machine out of a set of capablemachines and a scheduling sub-problem, which is sequencing theassigned operations on all selected machines in order to obtain afeasible schedule with optimized objectives (Xia & Wu, 2005).The scheduling problem in a flexible job shop is at least as hardas the job shop problem, which is considered one of the most dif-ficult problems in combinatorial optimization (Lawler, Lenstra,Rinnooy Kan, & Shmoys, 1993). Although an optimal solution algo-

ll rights reserved.

rithm for the classical JSP has not been developed yet, there is atrend in the research community to model and solve much morecomplex version of the FJSP (Baykasoglu, Ozbakir, & Sonmez,2004).

The research on the multi-objective FJSP is much less than themono-objective FJSP. Brandimarte (1993) was the first to applythe decomposition approach into the FJSP. He solved the routingsub-problem by using some existing dispatching rules and thenfocused on the scheduling sub-problem, which was solved byusing a tabu search heuristic. Hurink, Jurisch, and Thole (1994)proposed a tabu search heuristic. They considered the reassign-ment and rescheduling as two different types of moves. Mastrolil-li and Gambardella (2000) proposed some neighborhoodfunctions for the FJSP, which could be used in meta-heuristicoptimization techniques. The most important issue in employingmeta-heuristics for combinatorial optimization problems is to de-velop an effective ‘‘problem mapping” and ‘‘solution generation”mechanism. If these two mechanisms are devised successfully,it is possible to find good solutions to the given optimizationproblem in acceptable time. Parsopoulos and Vrahatis (2002) con-ducted the first research on the particle swarm optimizationmethod in multi-objective optimization problems. Kacem, Ham-madi, and Borne (2002a, 2002b) proposed a genetic algorithmcontrolled by the assigned model which was generated by the ap-proach of localization (AL) to mono-objective and multi-objectiveFJSP. They used the integrated approach considering assignmentand scheduling at the same time. Rigao (2004) developed twoheuristics based on tabu search: a hierarchical procedure and amultiple start procedure. Recently, Xia and Wu (2005) proposed

1310 G. Zhang et al. / Computers & Industrial Engineering 56 (2009) 1309–1318

a hybrid algorithm using particle swarm optimization (PSO)assignment and simulated annealing (SA) scheduling to optimizemulti-objective FJSP, respectively. To our knowledge, research onmulti-objective FJSP is rather limited, and most traditional opti-mal approaches used only one optimization algorithm for solvingmulti-objective FJSP.

In this paper, the search mechanism of the particle swarm opti-mization and tabu search is taken full advantage of. An effectivesolution approach is proposed for solving multi-objective FJSP.The proposed approach uses PSO to assign operations on machinesand to schedule operations on each machine, and TS is applied tolocal search for the scheduling sub-problem originating from eachobtained solution. The objectives which are considered in this pa-per are to minimize maximal completion time, the workload of thecritical machine and the total workload of machinessimultaneously.

The remainder of this paper is organized as follows. The formu-lation and notion of multi-objective FJSP are introduced in Section2. Section 3 describes the traditional PSO algorithm and summa-rizes the local search scheme by TS, and then the model of the pro-posed hybrid algorithm (PSO + TS) is given. At the same time, howto apply it to solve the multi-objective FJSP is described. Section 4shows the four representative instances of multi-objective FJSP andthe corresponding computational results with the proposed hybridalgorithm. Then, the computational results are compared withother heuristic algorithms in this section. Finally, concluding re-marks and further research are given in Section 5.

2. Problem formulation

A general multi-objective minimization problem, which couldbe defined as: minimize a function f(x), with P (P > 1) decision vari-ables and Q objectives (Q > 1), subject to several equality orinequality constraints. More precise definitions of the terms aboutthe multi-objective optimization can be found in Deb (2001).

Minimizex2X

f ðxÞ ¼ ðf1ðxÞ; f 2ðxÞ; . . . ; f qðxÞ; . . . fQ ðxÞÞ ð1Þ

where X is the feasible solution space, x ¼ fx1; x2; . . . ; xp; . . . ; xPg isthe set of p-dimensional decision variables(continuous, discrete orinteger) ð1 6 p 6 P), i.e., a possible solution for the considered prob-lem; fqðxÞ is the qth objective function ð1 6 q 6 QÞ. It is obvious thatit does not exist an exact solution to such a problem. However, themulti-objective optimization problem should optimize the differentobjective functions simultaneously.

The FJSP could be formulated as follows. There is a set of n jobsand a set of m machines. M denotes the set of all machines. Eachjob i consists of a sequence of ni operations. Each operationOi;jði ¼ 1;2; . . . ;n; j ¼ 1;2; . . . ;niÞ of job i has to be processed onone machine Mk out of a set of given compatible machines Mi;j

(for Mk 2 Mi;j, Mi;j # M). The execution of each operation requiresone machine selected from a set of available machines. In addition,the FJSP needs to set each operation’s starting and ending time. TheFJSP is needed to determine both an assignment and a sequence ofthe operations on the machines in order to satisfy the given crite-ria. If there is Mi;j � M for at least one operation, it is partial flexi-bility FJSP (P-FJSP); while there is Mi;j ¼ M for each operation, it istotal flexibility FJSP (T-FJSP) (Kacem et al., 2002a, 2002b).

In this paper, the following criteria are to be minimized:

(1) the maximal completion time of machines, i.e., themakespan;

(2) the maximal machine workload, i.e., the maximum workingtime spent on any machine;

(3) the total workload of machines, which represents the totalworking time over all machines.

During the process of solving this problem, the followingassumptions are made:

(1) Each operation cannot be interrupted during its perfor-mance (non-preemptive condition);

(2) Each machine can perform at most one operation at any time(resource constraint);

(3) The precedence constraints of the operations in a job can bedefined for any pair of operations;

(4) Setting up time of machines and move time between opera-tions are negligible;

(5) Machines are independent from each other;(6) Jobs are independent from each other.

The notation used in this paper is summarized in the following:

n: total number of jobs;m: total number of machines;ni: total number of operation of job i;Oi,j: the jth operation of job i;Mi,j: the set of available machines for the operation Oi,j;Pijk: processing time of Oi,j on machine k;tijk: start time of of operation Oi,j on machine k;Ci,j: completion time of the operation Oi,j;i, h: index of jobs, i, h = 1, 2, . . . ,n;k: index of machines, k = 1, 2, . . . ,m;j, g: index of operation sequence, j, g = 1, 2, . . . ,ni;Ck is the completion time of Mk;Wk is the workload of Mk.

xijk ¼1; if machine k is selected for the operation Oij

0; otherwise

Our model is then given as follows:

min f 1 ¼ max16k6m

ðCkÞ ð2Þ

min f 2 ¼ max16k6m

ðWkÞ ð3Þ

min f 3 ¼Xm

k¼1

Wk ð4Þ

s:t: Cij � Ciðj�1Þ P Pijkxijk; j ¼ 2; . . . ;ni;8i; j ð5Þ½ðChg � Cij � thgkÞxhgkxijk P 0� _ ½ðCij � Chg � tijkÞxhgjxijk P 0�;8ði; jÞ; ðh; gÞ; k ð6ÞXk2Mi;j

xijk ¼ 1;8i; j ð7Þ

Inequity (5) ensures the operation precedence constraint. Inequity(6) ensures each machine could process only one operation at eachtime. Equation (7) states that one machine could be selected fromthe set of available machines for each operation.

Many studies have been devoted to the subject of multi-objec-tive meta-heuristic optimization and the developed methods tosolve multi-objective optimization can be generally classified intothree different types (Hsu, Dupas, Jolly, & Goncalves, 2002):

(1) The transformation towards a mono-objective problem con-sists of combining the different objectives into a weightedsum. Methods in this class are based on utility functions orE-Constraint and goal programming;

(2) The non-Pareto approach utilizes operators for processingthe different objectives in a separated way;

(3) The Pareto approaches are directly based on the Pareto opti-mality concept. They aim at satisfying two goals: convergingtowards the Pareto front and also obtaining diversified solu-tions scattered all over the Pareto front.

G. Zhang et al. / Computers & Industrial Engineering 56 (2009) 1309–1318 1311

The objective function in this paper is based on the first type.The weighted sum of the above three objective values is taken asthe objective function (see Section 3.4).

3. Particle swarm optimization for FJSP

Particle swarm optimization is an evolutionary computationtechnique proposed by (Kennedy, 1997; Kennedy & Eberhart,1995). The main principle of PSO is based on a discovery of nat-ural scientists: in order to search food, each member in a flock ofbirds determines its velocity based on their personal experienceas well as information gained through interaction with othermembers of the flock. Each bird, called particle, flies throughthe solution space of the optimization problem searching forthe optimum solution and thus its position represents a potentialsolution for the problem. PSO algorithm simulates the behavior offlying birds and their means of information exchange to solveoptimization problems.

3.1. Traditional PSO algorithm

PSO algorithm is initialized with a population of random candi-date solutions, conceptualized as particles. Each individual in PSOflies in the search space with a velocity which is dynamically ad-justed according to its own flying experience and its companions’flying experience. Each individual is treated as a volume-less par-ticle (a point) in the p-dimensional search space. The tth particleis denoted by Xt ¼ ðxt1; xt2; . . . ; xtdÞ. The rate of the position change(velocity) for particle t is represented as Vt ¼ ðvt1; vt2; . . . ; vtdÞ. Dur-ing each iteration, the tth particle is updated by the following twobest values: Pl (which is also called pbest) and Pg (which is alsocalled gbest). Pl ¼ ðpl1; pl2; . . . ; pldÞ, which is the best solution (localbest solution) that the tth particle has achieved so far, andPg ¼ ðpg1; pg2; . . . ; pgdÞ, which is the best solution (global best solu-tion) obtained in the swarm so far. Each particle is updated itera-tively according to the following equations:

vtd¼w�vtdþc1� randðÞ�ðpld�xtdÞþc2�RandðÞ�ðpgd�xtdÞ ð8Þxtd¼ xtdþvtd ð9Þ

where w is the inertial weight. It is used to control the amount ofthe previous velocity between the global exploration and localexploitation abilities of the swarm. c1 and c2 are two positive con-stants, and they represent the weight of the stochastic accelerationterms that pull each particle toward Pl and Pg positions rand() andRand() are two random functions in the range [0,1].

For Eq. (8), in traditional PSO, update of the velocity consist ofthe following three parts. w� vtd is referred to as ‘‘momentum”part which represents the influence of the last velocity towardsthe current velocity. c1 � randðÞ � ðpld � xtdÞ is the ‘‘cognitive” part,which represents the primitive thinking by itself. c2 � RandðÞ�ðpgd � xtdÞ is the ‘‘social” part, which represents the cooperationamong the particles. The process of implementing the traditionalPSO algorithm is summarized as follows:

Step 1: Initialize a swarm of particles with random positions Xt

and velocities Vt in the p-dimensional problem search space;Step 2: Evaluate each particle by fitness function;Step 3: Update pbest and gbest value of the current particle by

comparing particle’s fitness value with particle’s pbest and gbest.If current pbest value is better than old pbest, set pbest value equalto the current value, and the pbest position equal to the current po-sition in the p-dimensional space; in the same way, if current gbestvalue is better than old gbest, reset current gbest to the current par-ticle’s fitness value;

Step 4: Update the position and velocity of the particle accord-ing to Eqs. (8) and (9), respectively;

Step 5: If the termination criterion which is usually a sufficientlygood fitness or a specified number of generations are not met, thengo to Step 2; otherwise, go to Step 6;

Step 6: Output solutions.The traditional PSO comprises the basic optimization concept

that individuals are evolved by cooperation and competitionamong the individuals to accomplish a common goal. In thesearch process, each particle of the swarm shares the mutualinformation globally and benefits from the discoveries and previ-ous experiences of all other colleagues. The velocity-displacementmodel in traditional PSO algorithm is just one concrete imple-mentation of the optimization concept. Due to the limitations ofthe velocity-displacement model, it is difficult for the traditionalPSO to address combinatorial optimization problems withoutmodification.

3.2. Tabu search strategy

Tabu search (Glover & Laguna, 1997) is a meta-heuristicalgorithm that has been successfully applied to a variety of sched-uling problems among other combinatorial problems. Tabu searchallows the search to explore solutions that do not decrease theobjective function value if these solutions are not forbidden. It isusually obtained by keeping track of the last solutions in termsof the action used to transform one solution to the next. It consistsof several elements called the specification of a neighborhoodstructure, the move attributes, the tabu list length, aspiration crite-rion and stopping rules.

TS is one of the most efficient local search strategies for sched-uling problems. In this study, it has been adopted as local searchstrategy for every particle. At the same time, we choose the neigh-borhood used in Mastrolilli and Gambardella (2000). This neigh-borhood function is very efficient and very easy to implement. Itis based on small displacements of the operations on a critical pathin the disjunctive graph. The main distribution of the literature(Mastrolilli & Gambardella, 2000) is the reduction of the set ofneighbors of a solution while proving that the resulting subset con-tains the best neighbors. Besides, an efficient approach to calculateevery possible neighborhood subset is also developed in this paper.

The parameters of TS could be characterized as follows: A cou-ple (v, k) is the tabu element, where v is the operation being movedand k is the machine to which v is assigned before the move. T isthe tabu list. Tl is the tabu status length, it is equal to the numberof operation of the current critical path plus the number of alterna-tive machines available for operation v. s is represented as a feasi-ble solution of FJSP. V(s) is the neighbor of s. ObjFun(s) is theobjective function value of s. ObjFun* is the current minimum va-lue. CurInterNum is the current iteration number. MaxIterNum isthe number of iterations that the tabu search performs. s* is thebest solution that TS procedure has achieved. The pseudo-codecould be summarized as following.

Step 1: Initialization;// set the MaxIterNum value;// set CurInterNum = 0, T = Ø, ObjFun* = ObjFun(s*), s = s*;

Step 2: CurInterNum = CurInterNum + 1, Get the current neigh-bors V(s);

Step 3: Evaluate the current solution;//get the best move m’ 2 VðsÞ, new solution s’ and the new tabulist T’;//set s = s’, T = T’;

Step 4: If ObjFun (s) < ObjFun *, set ObjFun * = ObjFun (s) ands* = s;

else go to Step 5;

1312 G. Zhang et al. / Computers & Industrial Engineering 56 (2009) 1309–1318

Step 5: If CurInterNum6MaxIterNum, go to Step 2;else stop the iteration and return the new solution s*;

In the proposed hybrid algorithm, when a particle is to performlocal search, it should be converted to a feasible solution of FJSP atfirst. Then the solution is used as the initial solution of TS. Besidesthe output solution achieved by TS should be encoded to create afeasible particle.

3.3. Hybrid PSO algorithm model

PSO possesses high search efficiency by combining local search(by self experience) and global search (by neighboring experience).TS as a local search algorithm employs certain probability to avoidbecoming trapped in a local optimum. By reasonably hybridizingthese two methodologies, a hybrid particle swarm optimizationalgorithm model could be proposed to omit the concrete veloc-ity-displacement updating method in traditional PSO for the mul-ti-objective FJSP. The hybrid PSO algorithm model could berepresented with the following pseudo-code.

Step 1: Set the parameter’ values;//set the population size (denoted Ps);//set the maximum number of generation (denoted Gen), w, c1,c2;//set the MaxIterNum value, CurInterNum = 0, T = Ø;

Step 2: Initialize the population stochastically according to theencoding scheme;

Fig. 1. A-string

Table 1Problem 4 � 5 with 12 operations (total flexibility)

Job Oi,j M1 M2 M3 M4 M5

J1 O1,1 2 5 4 1 2O1,2 5 4 5 7 5O1,3 4 5 5 4 5

J2 O2,1 2 5 4 7 8O2,2 5 6 9 8 5O2,3 4 5 4 54 5

J3 O3,1 9 8 6 7 9O3,2 6 1 2 5 4O3,3 2 5 4 2 4O3,4 4 5 2 1 5

J4 O4,1 1 5 2 4 12O4,2 5 1 2 1 2

f �1 ¼ 16; f �2 ¼ 7; and f �3 ¼ 32.

Step 3: Evaluate each particle’s objective value in the swarm,and compare them, then set the pbest position with a copy of par-ticle itself and gbest position the particle with the lowest fitness inthe swarm;

Step 4: If the termination criterion which is usually a sufficientlygood fitness or a specified number of generations are not met, thengo to Step 5; otherwise, go to Step 9;

Step 5: Set CurInterNum = CurInterNum + 1;Step 6: Information exchange;Step 7: Convert current particle to a FJSP scheduling solution;

start TS procedure from this solution for a certain steps; replacethe current particle with the new solution s* obtained by TS;

Step 8: Evaluate the particles in the swarm once again, and up-date the current particle;

//update the current particle using its own experience;//update the current particle using the whole population’sexperience;then go to Step 4;

Step 9: Output computational results.According to the implementing process of the proposed hybrid

algorithm above, each particle obtains update information from itsown and the swarm’s experiences at first, and then convert currentparticle to a FJSP scheduling solution for local search using tabusearch. And PSO uses the best solutions to continue the search untilit meets the termination condition.

From the pseudo-code above, the key step to implement the hy-brid particle swarm optimization algorithm model is defining theparticle’s effective encoding scheme. Effective information ex-change method and local search method are needed too. Besides,a proper strategy should be defined to balance the exploitationand exploration. In our proposed algorithm, the tabu search isadopted for the local search method and it has presented in Section3.2. In the following sections, the details of the hybrid algorithmwill be introduced separately especially fitness function, encodingscheme and information exchange.

3.4. Fitness function

Fitness function is used to evaluate each particle in the swarm.Each individual in the swarm will be evaluated for the combinedobjective function of f1, f2 and f3 according to the description inSection 2. The first method that the different objectives are trans-formed into one objective is adopted in this paper.

Combined objective function:

Minimize F ¼ w1 � f1 þw2 � f2 þw3 � f3 ð10Þ

encoding.

Fig. 2. A-string crossover operation.

Fig. 3. B-string crossover operation.

Table 2Comparison of results on problem 4 � 5

AL + CGA PSO + TS

Makespan 16 11Max(Wtw) 10 10Wtw 34 32

Table 3Problem 8 � 8 with 27 operations (partial flexibility)

Job Oi,j M1 M2 M3 M4 M5 M6 M7 M8

J1 O1,1 5 3 5 3 3 – 10 9O1,2 10 – 5 8 3 9 9 6O1,3 – 10 – 5 6 2 4 5

J2 O2,1 5 7 3 9 8 – 9 –O2,2 – 8 5 2 6 7 10 9O2,3 – 10 – 5 6 4 1 7O2,4 10 8 9 6 4 7 – –

J3 O3,1 10 – – 7 6 5 2 4O3,2 – 10 6 4 8 9 10 –O3,3 1 4 5 6 – 10 – 7

J4 O4,1 3 1 6 5 9 7 8 4O4,2 12 11 7 8 10 5 6 9O4,3 4 6 2 10 3 9 5 7

J5 O5,1 3 6 7 8 9 – 10 –O5,2 10 – 7 4 9 8 6 –O5,3 – 9 8 7 4 2 7 –O5,4 11 9 – 6 7 5 3 6

J6 O6,1 6 7 1 4 6 9 – 10O6,2 11 – 9 9 9 7 6 4O6,3 10 5 9 10 11 – 10 –

J7 O7,1 5 4 2 6 7 – 10 –O7,2 – 9 – 9 11 9 10 5O7,3 – 8 9 3 8 6 – 10

J8 O8,1 2 8 5 9 – 4 – 10O8,2 7 4 7 8 9 – 10 –O8,3 9 9 – 8 5 6 7 1O8,4 9 – 3 7 1 5 8 –

f �1 ¼ N=A; f �2 ¼ N=A; and f �3 ¼ N=A.

G. Zhang et al. / Computers & Industrial Engineering 56 (2009) 1309–1318 1313

Subject to :

w1 2 ð0;1Þw2 2 ð0;1Þw3 2 ð0;1Þ

w1 þw2 þw3 ¼ 1

8>>><>>>:

where w1, w2, w3 are weights. w1, w2, w3 could set different valueupon requirement.

Fig. 4. Optimization solution of problem 4 � 5

In every generation, after evaluating each particle, the lowestfitness will be superior to other particles and should be reservedin the next generation during the search process.

3.5. Encoding scheme

Chromosome representation is the first important task for suc-cessful application of PSO to solve the multi-objective FJSP. Mes-ghouni, Hammadi, and Borne (1997) used a parallel machine andparallel job representation. A chromosome representation is repre-sented by a matrix where each row consists of a set of ordered

(Makespan = 11, Max(Wtw) = 10, Wtw = 32).

Fig. 5. Optimization solution of problem 8 � 8 (Makespan = 14, Max(Wtw) = 12, Wtw = 77).

Table 5Problem 10 � 10 with 30 operations (total flexibility)

Job Oi,j M1 M2 M3 M4 M5 M6 M7 M8 M9 M10

J1 O1,1 1 4 6 9 3 5 2 8 9 5O1,2 4 1 1 3 4 8 10 4 11 4O1,3 3 2 5 1 5 6 9 5 10 3

J2 O2,1 2 10 4 5 9 8 4 15 8 4O2,2 4 8 7 1 9 6 1 10 7 1O2,3 6 11 2 7 5 3 5 14 9 2

J3 O3,1 8 5 8 9 4 3 5 3 8 1O3,2 9 3 6 1 2 6 4 1 7 2O3,3 7 1 8 5 4 9 1 2 3 4

J4 O4,1 5 10 6 4 9 5 1 7 1 6O4,2 4 2 3 8 7 4 6 9 8 4O4,3 7 3 12 1 6 5 8 3 5 2

J5 O5,1 7 10 4 5 6 3 5 15 2 6O5,2 5 6 3 9 8 2 8 6 1 7O5,3 6 1 4 1 10 4 3 11 13 9

J6 O6,1 8 9 10 8 4 2 7 8 3 10O6,2 7 3 12 5 4 3 6 9 2 15O6,3 4 7 3 6 3 4 1 5 1 11

J7 O7,1 1 7 8 3 4 9 4 13 10 7O7,2 3 8 1 2 3 6 11 2 13 3O7,3 5 4 2 1 2 1 8 14 5 7

1314 G. Zhang et al. / Computers & Industrial Engineering 56 (2009) 1309–1318

operations. The offspring requires a repair mechanism and thedecoding the representation is complexity. Chen, Ihlow, and Leh-mann (1999) divided the chromosome into two parts: A stringand B string to represent. The chromosome representation mustconsider the order of operations, a repair mechanism to maintainfeasibility is required. While Kacem et al. (2002a,b) used an assign-ment table representation. In this paper we used improvedA-string (machines) and B-string (operations) representation thatcould be used by PSO to solve the multi-objective FJSP efficientlyand avoid the use of a repair mechanism. A-string defines the rout-ing policy of the problem, and B-string defines the sequence of theoperations on each machine. The elements of the strings, respec-tively, describe a concrete allocation of operations to each machineand sequence of operations on each machine.

We use an array of integer values to present A-string. The inte-ger values equal to the index of the array of alternative machine setMi,j of each operation Oi,j, and the integer values between 1 and ni

The length of the array equal to the sum of all operations of all jobs.To explain this approach, we choose the following example (withtotal flexibility, i.e., each machine could be selected for an opera-tion) in Table 1 (see Section 4.1).

The problem is to execute four jobs on five machines. One pos-sible encoding of the A-string part is shown in Fig. 1. The length is

Table 4Comparison of results on problem 8 � 8

Temporaldecomposition

ClassicGA

Approachbylocalization

AL + CGA PSO + SA PSO + TS

Makespan 19 16 16 15 16 15 16 14 15Max(Wtw) 19 11 13 13 13 12 13 12 12Wtw 91 77 75 79 75 75 73 77 75

J8 O8,1 5 7 11 3 2 9 8 5 12 8O8,2 8 3 10 7 5 13 4 6 8 4O8,3 6 2 13 5 4 3 5 7 9 5

J9 O9,1 3 9 1 3 8 1 6 7 5 4O9,2 4 6 2 5 7 3 1 9 6 7O9,3 8 5 4 8 6 1 2 3 10 12

J10 O10,1 4 3 1 6 7 1 2 6 20 6O10,2 3 1 8 1 9 4 1 4 17 15O10,3 9 2 4 2 3 5 2 4 10 23

f �1 ¼ 7; f �2 ¼ 5; and f �3 ¼ 41.

Fig. 6. Optimization solution of problem 10 � 10 (Makespan = 7, Max(Wtw) = 6, Wtw = 43).

Table 6Comparison of results on problem 10 � 10

Temporal decomposition Classic GA Approach by localization AL + CGA PSO + SA PSO + TS

Makespan 16 7 8 7 7 7Max(Wtw) 16 7 6 5 6 6Wtw 59 53 46 45 44 43

G. Zhang et al. / Computers & Industrial Engineering 56 (2009) 1309–1318 1315

12 (i.e., 3 + 3 + 4 + 2). For instance, M4 is selected to process O1,1

because the value in the array of the alternative machine set ofO1,1 is 4. The value might also be equal to 5 because operationO1,1 could be processed on five machines M1, M2, M3, M4, M5,the valid values are between [1,5]. This demonstrates a FJSP withrecirculation if more than one operation of the same job is pro-cessed on the same machine. For example, O1,1 and O1,3 belongto job 1 and they are processed on the same machine M2. If onlyone machine could be selected to some operations, the value is 1in the A-string array.

B-string has the same length as the A-string. It consists of asequence of job numbers in which job number i occurs ni times.It can avoid creating an infeasible schedule when replacing eachoperation by the corresponding job index. Take the Table 1 for in-stance, one B-string may be 2-1-3-3-2-4-1-3-4-2-1-3. Read thedata from left to right, the B-string could be translated into a listof ordered operations: O2,1-O1,1-O3,1-O3,2-O2,2-O4,1-O1,2-O3,3-O4,2-O2,3-O1,3-O3,4. When a particle is decoded, B-string is converted toa sequence of operations at first. Then each operation is assignedto a processing machine according to A-string.

Table 7Problem 15 � 10 with 56 operations (total flexibility)

Job Oi,j M1 M2 M3 M4 M5 M6 M7 M8 M9 M10

J1 O1,1 1 4 6 9 3 5 2 8 9 4O1,2 1 1 3 4 8 10 4 11 4 3O1,3 2 5 1 5 6 9 5 10 3 2O1,4 10 4 5 9 8 4 15 8 4 4

J2 O2,1 4 8 7 1 9 6 1 10 7 1O2,2 6 11 2 7 5 3 5 14 9 2O2,3 8 5 8 9 4 3 5 3 8 1O2,4 9 3 6 1 2 6 4 1 7 2

J3 O3,1 7 1 8 5 4 9 1 2 3 4O3,2 5 10 6 4 9 5 1 7 1 6O3,3 4 2 3 8 7 4 6 9 8 4O3,4 7 3 12 1 6 5 8 3 5 2

J4 O4,1 6 2 5 4 1 2 3 6 5 4O4,2 8 5 7 4 1 2 36 5 8 5O4,3 9 6 2 4 5 1 3 6 5 2O4,4 11 4 5 6 2 7 5 4 2 1

J5 O5,1 6 9 2 3 5 8 7 4 1 2O5,2 5 4 6 3 5 2 28 7 4 5O5,3 6 2 4 3 6 5 2 4 7 9O5,4 6 5 4 2 3 2 5 4 7 5

J6 O6,1 4 1 3 2 6 9 8 5 4 2O6,2 1 3 6 5 4 7 5 4 6 5

J7 O7,1 1 4 2 5 3 6 9 8 5 4O7,2 2 1 4 5 2 3 5 4 2 5

J O 2 3 6 2 5 4 1 5 8 7

1316 G. Zhang et al. / Computers & Industrial Engineering 56 (2009) 1309–1318

Through this coding scheme, it may easily use the same struc-ture to represent total flexibility or partial flexibility, and everyparticle could decode a feasible FJSP schedule effectively.

3.6. Information exchange

According to the proposed hybrid algorithm model, each parti-cle’s updating method has not been defined. Particles could obtaingeneration information by various ways. Therefore, in order to dealwith the combinatorial optimization problems, effective availableupdating methods could be designed to implement the particleswarm optimization model. In the proposed hybrid algorithm, eachparticle exchanges information by performing crossover operation.The two strings of each particle perform crossover separately. Atwo-point crossover is implemented in the A-string. In this opera-tion, two positions are selected by randomly generating two num-bers at first, and then two new strings are created by swapping allcharacters between the positions of the two parent strings. Theprocedure could be illustrated as Fig. 2.

The crossover operation of B-string is different from A-string.Two parent strings selected from swarm are denoted as p1 andp2, then their two children strings are c1 and c2. According to theprevious coding scheme, the procedure could be described as fol-lows: All jobs are divided into two groups JG1 and JG2 randomly.Any element in p1/p2 that belongs to JG1/JG2 will be retained inthe same position in c1/c2. Then delete the elements that are al-ready in the JG1/JG2 from p1/p2. And the empty positions in c1/c2

will be orderly filled with the elements of p2/p1 that belong to theirprevious sequence. Fig. 3 illustrates the procedure.

In order to maintain diversity of the swarm and ensure to obtainfeasible solutions, we adopted mutation operation in genetic algo-rithm. In our study, mutation operation is only performed by the B-string of each particle. In this operation, two positions are selectedby randomly generating two numbers, and the substring that be-tween the positions are inverted to get a new B-string, and thenthe new B-string replaced the previous B-string.

8 8,1

O8,2 4 5 6 2 3 5 4 1 2 5O8,3 3 5 4 2 5 49 8 5 4 5O8,4 1 2 36 5 2 3 6 4 11 2

J9 O9,1 6 3 2 22 44 11 10 23 5 1O9,2 2 3 2 12 15 10 12 14 18 16O9,3 20 17 12 5 9 6 4 7 5 6O9,4 9 8 7 4 5 8 7 4 56 2

J10 O10,1 5 8 7 4 56 3 2 5 4 1O10,2 2 5 6 9 8 5 4 2 5 4O10,3 6 3 2 5 4 7 4 5 2 1O10,4 3 2 5 6 5 8 7 4 5 2

J11 O11,1 1 2 3 6 5 2 1 4 2 1O11,2 2 3 6 3 2 1 4 10 12 1O11,3 3 6 2 5 8 4 6 3 2 5O11,4 4 1 45 6 2 4 1 25 2 4

J12 O12,1 9 8 5 6 3 6 5 2 4 2O12,2 5 8 9 5 4 75 63 6 5 21O12,3 12 5 4 6 3 2 5 4 2 5O12,4 8 7 9 5 6 3 2 5 8 4

J13 O13,1 4 2 5 6 8 5 6 4 6 2O13,2 3 5 4 7 5 8 6 6 3 2O13,3 5 4 5 8 5 4 6 5 4 2O13,4 3 2 5 6 5 4 8 5 6 4

J14 O14,1 2 3 5 4 6 5 4 85 4 5O14,2 6 2 4 5 8 6 5 4 2 6O14,3 3 25 4 8 5 6 3 2 5 4O14,4 8 5 6 4 2 3 6 8 5 4

J15 O15,1 2 5 6 8 5 6 3 2 5 4O15,2 5 6 2 5 4 2 5 3 2 5O15,3 4 5 2 3 5 2 8 4 7 5O15,4 6 2 11 14 2 3 6 5 4 8

f �1 ¼ 23; f �2 ¼ 10; and f �3 ¼ 91.

4. Experimental results

To illustrate the effectiveness and performance of the hybridalgorithm (PSO + TS) proposed in this paper, the algorithm proce-dure was implemented in C++ on a personal computer with Pen-tium IV 1.8 G CPU. Four representative instances based onpractical data have been selected. Each instance can be character-ized by the following parameters: number of jobs (n), number ofmachines (m), and each operation Oi,j of job i. Four probleminstances (problem 4 � 5, problem 8 � 8, problem 10 � 10, andproblem 15 � 10) are all taken from Kacem et al. (2002a, 2002b).

The parameters of the hybrid algorithm are as follows. Set theparticle swarm size PS = 100, the maximum number of iterationsGen = 50, and the number of iterations that the tabu search per-forms MaxIterNum = 50. c1 and c2 are set to 2. The inertial weightsare chosen the same set in Xia and Wu (2005).

4.1. Problem 4 � 5

Firstly, we use a small scale instance to display the optimizingability and evaluate the effectiveness of our hybrid algorithm. Thisinstance is taken from Kacem et al. (2002b). We have applied it tothe instance in Table 1. The best values by our hybrid algorithm(PSO + TS) are shown as follows:

Solution: Makespan = 11, Max(Wtw) = 10, Wtw = 32where Makespan is maximum complete time, Max(Wtw) is used

to represent the critical machine workload, and Wtw represents thetotal workload of all machines.

The comparison of our hybrid algorithm with other algorithmsis shown in Table 2.f �1 ; f

�2 ; f

�3 denote the lower bound of the solu-

tions, respectively, according to the literature (Kacem et al.,2002b).

In Fig. 4, the solution is shown by Gantt chart. J1,1 (job, opera-tion) denotes the first operation of job 1, and so on. And blockswith shadow represent the machine idle periods.

Fig. 7. Optimization solution of problem 15 � 10 (Makespan = 11, Max(Wtw) = 11, Wtw = 93).

Table 8Comparison of results on problem 15 � 10

AL + CGA PSO + SA PSO + TS

Makespan 23 24 12 11Max(Wtw) 11 11 11 11Wtw 95 91 91 93

G. Zhang et al. / Computers & Industrial Engineering 56 (2009) 1309–1318 1317

The compuational time of the proposed approach is 0.34 s. Thecolumn labeled ‘AL + CGA’ refers to Kacem et al. (2002b), and thenext label refers to the computational results of our algorithm.From Table 2 we could obviously see that the proposed hybridalgorithm has reduced two objective under the same value ofMax(Wtw): the makespan (11 instead of 23) and the Wtw (32 in-stead of 34). By comparing between the data in these two columns,it is clearly shown that the proposed novel hybrid algorithm iseffective.

4.2. Problem 8 � 8

Table 3 displays the instance of the middle scale problem 8 � 8.The computational results by the proposed hybrid algorithm are

shown in the following:Solution 1: Makespan = 14, Max(Wtw) = 12, Wtw = 77.Solution 2: Makespan = 15, Max(Wtw) = 12, Wtw = 75.The solution 1 representation is shown in Fig. 5.The average computational time is 1.67 s under the mentioned

computer’s configuration. In Table 4, the column labeled ‘TemporalDecomposition’ refers to F. Chetouane’s method (Kacem et al.,2002a) and the next column labeled ‘classic GA’ refers to classicalgenetic algorithm. ‘Approach by Localization’ and ‘AL + CGA’ aretwo algorithms by Kacem et al. (2002a, 2002b), and the next col-umn labeled ‘PSO + SA’ refers to Xia and Wu (2005). From Table4, by the comparison with other algorithms, the effectiveness ofour proposed hybrid algorithm is shown obviously.

4.3. Problem 10 � 10

A middle scale instance which is taken from Kacem et al.(2002b) is shown in Table 5. And it was taken to evaluate the effi-ciency of our proposed hybrid algorithm.

The computational results obtained by the proposed hybridalgorithm are given in the following:

Solution: Makespan = 7, Max(Wtw) = 6, Wtw = 43.The schedule’s Gantt chart representation corresponding to the

solution is shown in Fig. 6.The computational time is 2.05 s. The comparison of our hybrid

algorithm with other algorithms is shown in Table 6. The columnlabeled ‘Temporal Decomposition’ refers to F. Chetouane’s method(Kacem et al., 2002a) and the next column labeled ‘classic GA’ re-fers to classical genetic algorithm. ‘Approach by Localization’ and‘AL + CGA’ are two algorithms by Kacem et al. (2002a, 2002b),and the next column labeled ‘PSO + SA’ refers to Xia and Wu(2005). From Table 2, it is shown that the proposed hybrid algo-rithm has reduced one objective under the same value of Max(Wtw)

1318 G. Zhang et al. / Computers & Industrial Engineering 56 (2009) 1309–1318

and makespan comparing the ‘PSO + SA’: the Wtw (43 instead of44). Table 6 shows our hybrid algorithm’s effectiveness by thecomparison with other algorithms.

4.4. Problem 15 � 10

To evaluate the efficiency and validity of our algorithm on largerscale problems, we have chosen the instance shown in Table 7which is taken from Kacem et al. (2002b). The best computationalresults by our hybrid algorithm are shown in the following:

Solution: Makespan = 11, Max(Wtw) = 11, Wtw = 93.The computational result’s schedule is represented by Gantt

chart in Fig. 7.The computational time is 10.88 s under the mentioned com-

puter’s configuration. The comparison of our hybrid algorithm withother algorithm is shown in Table 8. From Table 8 we know thatthe proposed hybrid algorithm has reduced the makespan (11 in-stead of 23) and the Wtw (93 instead of 95) under the same valuesof Max(Wtw) (11) compared with ‘AL + CGA’. Table 8 shows our hy-brid algorithm’s effectiveness and validity by the comparison withother algorithms on a large scale.

In this paper, we have applied our hybrid algorithm to solve theproblems ranging from small scale to large scale. The testing re-sults showed that the proposed algorithm performed at the samelevel or better with respect to the three objective functions in al-most all instances, when compared to the results from the otheralternative solution methods. And all results could be got in thereasonable computational time. It proves that our hybrid algorithmis efficient and effective.

5. Conclusions and future research

In this paper, an effective hybrid particle swarm optimizationalgorithm is proposed to solve the multi-objective flexible job-shop scheduling problems. The performance of the presented ap-proach is evaluated in comparison with the results obtained fromother authors’ algorithms for four representative instances. The ob-tained computational results and time demonstrated the effective-ness of the proposed approach. And a more comprehensivecomputational study should be made to test the efficiency of pro-posed solution technique.

The future research directions include in the following:

� designing more efficient information sharing mechanism andmore effective local search strategy for solving multi-objectiveFJSP;

� developing effective theory and algorithm for this complex com-binatorial optimization problem are still needed;

� applying PSO to other useful extensions research directions.

Acknowledgements

This project is supported by 863 High Technology Plan Founda-tion of China under Grant Nos. 2006AA04Z131 and 2007AA04Z107,973 National Basic Research Program of China under Grant No.2004CB719405 and the National Natural Science Foundation ofChina No. 50305008.

References

Baykasoglu, A., Ozbakir, L., & Sonmez, A. I. (2004). Using multiple objective tabusearch and grammars to model and solve multi-objective flexible job-shopscheduling problems. Journal of Intelligent Manufacturing, 15(6), 777–785.

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

Chen, H., Ihlow, J., & Lehmann, C. (1999). A genetic algorithm for flexible job-shopscheduling. In Proceedings of IEEE international conference on robotics andautomation (pp.1120–1125). Detroit.

Deb, K. (2001). Multi-objective optimization using evolutionary algorithms. Chichester,UK: Wiley.

Garey, M. R., Johnson, D. S., & Sethi, R. (1976). The complexity of flow shop and job-shop scheduling. Mathematics of Operations Research, 1, 117–129.

Glover, F., & Laguna, M. (1997). Tabu search. Kluwer Academic Publishers.Hsu, T., Dupas, R., Jolly, D., & Goncalves, G. (2002). Evaluation of mutation heuristics

for the solving of multiobjective flexible job shop by an evolutionary algorithm.In Proceedings of the 2002 IEEE international conference on systems, man andcybernetics (Vol. 5, pp. 655–660).

Hurink, E., Jurisch, B., & Thole, M. (1994). Tabu search for the job shop schedulingproblem with multi-purpose machine. Operations Research Spektrum, 15,205–215.

Kacem, I., Hammadi, S., & Borne, P. (2002a). Approach by localization andmultiobjective evolutionary optimization for flexible job-shop schedulingproblems. IEEE transactions on systems, man, and cybernetics, Part C, 32(1), 1–13.

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

Kennedy, J. (1997). Particle swarm: social adaptation of knowledge. In Proceedings ofthe 1997 IEEE international conference on evolutionary computation(pp. 303–308). USA: Indianapolis.

Kennedy, J., & Eberhart, R. (1995). Particle swarm optimization. In Proceedings of the1995 IEEE international conference on neural network (Vol. IV, No. 4, pp. 1942–1948).

Lawler, E. l., Lenstra, J. K., Rinnooy Kan, A. H. G., & Shmoys, D. B. (1993). Sequencingand scheduling: Algorithms and complexity. In S. C. Graves et al. (Eds.), Logisticsof production and inventory (pp. 445–522). Amsterdam: North Holland.

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

Mesghouni, K., Hammadi, S., & Borne, P. (1997). Evolution programs for job-shopscheduling. In Proceedings of the 1997 IEEE international conference on systems,man and cybernetics (Vol. 1, pp. 720–725).

Parsopoulos, K. E., & Vrahatis, M. N. (2002). Recent approaches to globaloptimization problems through particle swarm optimization. NaturalComputing, 1(2-3), 235–306.

Rigao, C. (2004). Tardiness minimization in a flexible job shop: A tabu searchapproach. Journal of Intelligent Manufacturing, 15(1), 103–115.

Sonmez, A. I., & Baykasoglu, A. (1998). A new dynamic programming formulation of(n * m) flow shop sequencing problems with due dates. International Journal ofProduction Research, 36, 2269–2283.

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.