a hybrid heuristic to solve the parallel machines job-shop scheduling problem

10
A hybrid heuristic to solve the parallel machines job-shop scheduling problem Andrea Rossi a, * , Elena Boschi b a Department of Mechanical, Nuclear and Production Engineering, Università di Pisa, Via Bonanno Pisano, 25/B, Pisa 56126, Italy b Department of Oncology, Transplants and Advanced Technologies in Medicine, Università di Pisa, Via Paradisa, 2, Pisa 56124, Italy article info Article history: Received 1 August 2006 Received in revised form 31 August 2007 Accepted 14 March 2008 Available online 3 June 2008 Keywords: Hybrid systems Ant colony optimization Genetic algorithms Parallel machines Statistical analysis abstract This paper presents an advanced software system for solving the flexible manufacturing systems (FMS) scheduling in a job-shop environment with routing flexibility, where the assignment of operations to identical parallel machines has to be managed, in addition to the traditional sequencing problem. Two of the most promising heuristics from nature for a wide class of combinatorial optimization problems, genetic algorithms (GA) and ant colony optimization (ACO), share data structures and co-evolve in par- allel in order to improve the performance of the constituent algorithms. A modular approach is also adopted in order to obtain an easy scalable parallel evolutionary-ant colony framework. The performance of the proposed framework on properly designed benchmark problems is compared with effective GA and ACO approaches taken as algorithm components. Ó 2008 Elsevier Ltd. All rights reserved. 1. Introduction The job-shop scheduling problem with parallel machines (JSP- PM) represents an important problem encountered in current prac- tice of manufacturing scheduling systems [1,2]. It consists of assigning any operation for each job to a resource of a candidate set of identical parallel machines (assigning subproblem), in addi- tion to the classic JSP where the operations must be arranged on each (assigned) resource in order to minimize the makespan (sequencing subproblem). A candidate set of identical parallel ma- chines is termed a machine type [1], a workcenter [2] or also a flex- ible manufacturing cell [3]. In opposition to classic job-shops where there is a single resource for each machine type, in flexible manufacturing systems (FMS) a number of parallel machines are available in order to both increase the throughput rate and avoid production stop when machines fail or maintenance occurs [4]. According to the ajbjc notation of Graham et al. [5], the problem under consideration can be denoted by FJ m jprecjC max , where the field a denotes a flexible job-shop [6], the field b indicate linear routings, i.e. the occurrence of simple precedence constraints in the job routing and the field c denotes the makespan which is the adopted measure of performance. The problem is an extension of the classical J m kC max which is strongly NP-hard [7] and, therefore, unlikely to reach an optimal solution in an acceptable amount of time by a computing strategy. An extensive and rapidly growing series of approaches have been reported in literature, but only approximate or heuristic methods make a tradeoff between solution quality and effective computing times (see [8,9] for a review). Recently, genetic algorithms (GA) be- came the state-of-the-art algorithms when computation time it not a concern [10]. More recently, this approach used in combina- tion with taboo search or ant colony optimization (ACO) achieved good results and drastically reduced the CPU time [11,12]. In opposition to JSP, the literature on job-shop scheduling with parallel machines is scarce. As optimization techniques result in exponential computational complexity, until last decade manufac- turing systems widely implemented dispatching rules systems [13,14]. In the last few years, effective heuristics have become available and some systems are proposed for the literature subject by means of a genetic algorithm [15], a Lagrangian relaxation [16] and an extension of the shifting bottleneck heuristic [17,18]. The SB procedure decomposes the overall problem into multiple in- stances of the scheduling problems for single group of parallel machines. More tractable scheduling subproblems solved by dis- patching rules are a result of the decomposition approach. Upasani et al. [19] approach the problem by means of a temporal decompo- sition method. A rolling horizon (RH) framework, which divides the scheduling problem in subproblems which cover decisions for a lim- ited time period into the future, are more effective to implement dy- namic scheduling systems [20,21]. More recently an ant colony optimization for FJ m js jk , precjC max , is developed where s jk denotes the presence of sequence-dependent setup time [22]. This ACO is quite robust, because it uses a problem representation where assign- ing and sequencing constraints are deeply integrated. Even though those approaches succeeded in find the best solution in a number of simulated cases, the search efficiency seemed to offer a consid- erable improvement when evaluated by benchmark problems. 0965-9978/$ - see front matter Ó 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.advengsoft.2008.03.020 * Corresponding author. Tel.: +39 050 9130111; fax: +39 050 913040. E-mail address: [email protected] (A. Rossi). Advances in Engineering Software 40 (2009) 118–127 Contents lists available at ScienceDirect Advances in Engineering Software journal homepage: www.elsevier.com/locate/advengsoft

Upload: andrea-rossi

Post on 26-Jun-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Advances in Engineering Software 40 (2009) 118–127

Contents lists available at ScienceDirect

Advances in Engineering Software

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

A hybrid heuristic to solve the parallel machines job-shop scheduling problem

Andrea Rossi a,*, Elena Boschi b

a Department of Mechanical, Nuclear and Production Engineering, Università di Pisa, Via Bonanno Pisano, 25/B, Pisa 56126, Italyb Department of Oncology, Transplants and Advanced Technologies in Medicine, Università di Pisa, Via Paradisa, 2, Pisa 56124, Italy

a r t i c l e i n f o

Article history:Received 1 August 2006Received in revised form 31 August 2007Accepted 14 March 2008Available online 3 June 2008

Keywords:Hybrid systemsAnt colony optimizationGenetic algorithmsParallel machinesStatistical analysis

0965-9978/$ - see front matter � 2008 Elsevier Ltd. Adoi:10.1016/j.advengsoft.2008.03.020

* Corresponding author. Tel.: +39 050 9130111; faxE-mail address: [email protected] (A. Rossi).

a b s t r a c t

This paper presents an advanced software system for solving the flexible manufacturing systems (FMS)scheduling in a job-shop environment with routing flexibility, where the assignment of operations toidentical parallel machines has to be managed, in addition to the traditional sequencing problem. Twoof the most promising heuristics from nature for a wide class of combinatorial optimization problems,genetic algorithms (GA) and ant colony optimization (ACO), share data structures and co-evolve in par-allel in order to improve the performance of the constituent algorithms. A modular approach is alsoadopted in order to obtain an easy scalable parallel evolutionary-ant colony framework. The performanceof the proposed framework on properly designed benchmark problems is compared with effective GA andACO approaches taken as algorithm components.

� 2008 Elsevier Ltd. All rights reserved.

1. Introduction

The job-shop scheduling problem with parallel machines (JSP-PM) represents an important problem encountered in current prac-tice of manufacturing scheduling systems [1,2]. It consists ofassigning any operation for each job to a resource of a candidateset of identical parallel machines (assigning subproblem), in addi-tion to the classic JSP where the operations must be arranged oneach (assigned) resource in order to minimize the makespan(sequencing subproblem). A candidate set of identical parallel ma-chines is termed a machine type [1], a workcenter [2] or also a flex-ible manufacturing cell [3]. In opposition to classic job-shopswhere there is a single resource for each machine type, in flexiblemanufacturing systems (FMS) a number of parallel machines areavailable in order to both increase the throughput rate and avoidproduction stop when machines fail or maintenance occurs [4].

According to the ajbjc notation of Graham et al. [5], the problemunder consideration can be denoted by FJmjprecjCmax, where thefield a denotes a flexible job-shop [6], the field b indicate linearroutings, i.e. the occurrence of simple precedence constraints inthe job routing and the field c denotes the makespan which isthe adopted measure of performance.

The problem is an extension of the classical JmkCmax which isstrongly NP-hard [7] and, therefore, unlikely to reach an optimalsolution in an acceptable amount of time by a computing strategy.An extensive and rapidly growing series of approaches have beenreported in literature, but only approximate or heuristic methods

ll rights reserved.

: +39 050 913040.

make a tradeoff between solution quality and effective computingtimes (see [8,9] for a review). Recently, genetic algorithms (GA) be-came the state-of-the-art algorithms when computation time itnot a concern [10]. More recently, this approach used in combina-tion with taboo search or ant colony optimization (ACO) achievedgood results and drastically reduced the CPU time [11,12].

In opposition to JSP, the literature on job-shop scheduling withparallel machines is scarce. As optimization techniques result inexponential computational complexity, until last decade manufac-turing systems widely implemented dispatching rules systems[13,14]. In the last few years, effective heuristics have becomeavailable and some systems are proposed for the literature subjectby means of a genetic algorithm [15], a Lagrangian relaxation [16]and an extension of the shifting bottleneck heuristic [17,18]. TheSB procedure decomposes the overall problem into multiple in-stances of the scheduling problems for single group of parallelmachines. More tractable scheduling subproblems solved by dis-patching rules are a result of the decomposition approach. Upasaniet al. [19] approach the problem by means of a temporal decompo-sition method. A rolling horizon (RH) framework, which divides thescheduling problem in subproblems which cover decisions for a lim-ited time period into the future, are more effective to implement dy-namic scheduling systems [20,21]. More recently an ant colonyoptimization for FJmjsjk, precjCmax, is developed where sjk denotesthe presence of sequence-dependent setup time [22]. This ACO isquite robust, because it uses a problem representation where assign-ing and sequencing constraints are deeply integrated. Even thoughthose approaches succeeded in find the best solution in a numberof simulated cases, the search efficiency seemed to offer a consid-erable improvement when evaluated by benchmark problems.

A. Rossi, E. Boschi / Advances in Engineering Software 40 (2009) 118–127 119

ACO and GA, known as population-based algorithms, perform amultiple directed-parallel probabilistic searching technique bymaintaining a population of solutions, also referred to as agents,each of these provides the capability of finding near-optimal solu-tions in a complex multi-dimensional searching space. A GA ismodelled on an evolutionary approach, where recombination andselection operators are inspired by the natural evolution process.ACO is an emerging class of research, dealing with swarm intelli-gence, a set of artificial life methods which exploits the experienceof an ant colony as a model of self-organisation in co-operativefood retrieval by means of a proper pheromone trail model. Agentsare capable of exploring and exploiting pheromone informationwhich has been left on the pheromone trail when they traversed it.

A GA provides the advantage of performing a global search, butmay cause stagnation or degeneration of search performance [23].In particular, if GA mimics natural evolution, it should not operateon a single population in which a given individual has the potentialto mate with any other partner in the entire population (panmixia).Instead, species are structured and tend to reproduce within sub-groups or within neighbourhoods.

Among the existing types of structured genetic algorithms, dis-tributed GAs are especially popular [24]. Their premise lies in par-titioning the population into several subpopulations, each onebeing processed by a GA, independently of the others. Furthermore,a sparse migration of individuals produces an exchange of geneticmaterial between the subpopulations that enhances diversity andusually improves the accuracy and efficiency of the algorithm. Bymaking different decisions on the sub-algorithms of a distributedGA through the application of different search strategies, thesearch occurs at multiple exploration and exploitation levels [10].Moreover, in recent years it has become evident that concentrationon a sole heuristic is rather restrictive. A skilled combination ofconcepts derived from different heuristics can provide a more effi-cient behaviour and a higher flexibility when dealing with large-scale and real-world problems. A truly cunning hybrid strategies,combining GA and other systems as dispatching rules, TS or Simu-lated Annealing (SA). Mönch et al. apply a more sophisticated sub-problem solution procedure which hybridizes dispatching rulesand GA [25]. A simple priority index allows to select the more prof-itable batch of jobs from the overall set of batch and a genetic algo-rithm allows to select the more profitable assignment of thebatches to the parallel machines. Wang and Zheng propose a SAprocedure which controls the search process by means of anadaptive probability of mutation and an efficient strategy of selec-tion [26]. This method is able to improve the search mechanism ofGA.

The most general level of distributed search arises when eachsubpopulation can potentially run a different algorithm; this levelis termed the algorithm level [27]. Another orthogonal level of dis-tributed search can be defined by the relationship maintainedamong the subpopulations. Basically, if the amount of individualsof each subpopulation is fixed during evolution, i.e. the size of asubpopulation is made independent of the current success of itsstrategy, then it can be considered that the subpopulations arecollaborating to find the optimum [28]. Otherwise, the kind of dis-tributed search is competing [29,30].

In this context, the paper proposes an easy scalable distributed-collaborative search at the algorithm level between GA and ACO forthe job-shop scheduling problem with parallel machines in orderto improve the performance of the individual algorithms.

2. Problem formulation

In JSP-PM, O operations of n jobs have to be scheduled on mpools of machines, Pj (j = 1, . . . ,m), each including mj identical par-

allel machines, so that the quantity k = minj = 1, . . . , mmj representsthe degree of parallelization capability of the system according tothe following equations:

Xm

j¼1

mj ¼ jMj; ð1Þ

Pw

\Pz ¼ ;; w; z ¼ 1; . . . ;m; w–z; ð2Þ

where M is the machine set. The problem with equal-size pools, i.e.mj = k for each Pj, is also referred to as the JSP-kPM problem. Each jobi must be processed in accordance with its linear routing repre-sented by a sequence of li 6m operations, Oi,j,r, each of which hasto be processed as the rth operation on a single machine amongthe ones belonging to the jth pool which takes the processing timetijr. No machine can process more than one operation at a time; nooperation Oi,j,r can start until Oi,j,r�1 is completed or can stop after itstarts; finally, an operation must be processed by one, and only one,machine. The schedule is represented by the starting times st(Oi,j,r),i = 1, . . . ,n, j = 1, . . . ,m, r = 1, . . . , li. The objective of JSP-kPM is to min-imize the makespan.

Job-shop scheduling is a particular case of JSP-PM where thenumber of machines in each pool is mj = 1. The assignment of oper-ations to a machine of a pool gives a sort of further flexibility, andhence an increase in complexity, in addition to the flexibility rep-resented by the possibility of sequencing operations on the ma-chines. In this paper, schedules are semi-active and representedin the form of a precedence-feasible operation list, S, where theoperation start times are set to be as early as possible while satis-fying the routing constraints:

S ¼

ðoh;whÞh¼1;...;O

SjOjh¼1

oh ¼ O; wh 2 M;

����stðoh1 Þ 6 stðoh2 Þ; h1;h2 2 O;

stðoh1 Þ þ tijr 6 stðoh2 Þif oh1 ¼ Oi;j;r ; oh2 ¼ Oi;j;ðrþ1Þ;

r ¼ 1; . . . ; li � 1

8>>>>>>>><>>>>>>>>:

9>>>>>>>>=>>>>>>>>;

: ð3Þ

The precedence-feasible operation list is represented by a sequenceof pairs (operation, machine on which the operation is processed)where the starting times are not decreasing and operations of thesame job satisfying the routing constraint.

3. The hybrid GA–ACO heuristic for JSP-kPM

This section describes the basic principles of a distributed-col-laborative search algorithm between GA and ACO. The co-opera-tion mechanism is based on the parallel activity of the individualalgorithms, where each of these performs the proper stochasticprocess and co-operates by sharing and modifying the commonenvironment. The main loop consists of the execution of the twoheuristics which are repeatedly synchronized at each epoch in or-der to mutually exchange information.

Algorithm 1. The hybrid GA–ACO heuristic for JSP-kPM

epoch = 0;run an ACO epoch;While (loop < loop_limit) do

If (epoch < epoch_limit)

1. If (epoch = 0) generate the GA subpopulations;2. Mutual exchange of information;3. Run a GA generation;4. Run an ACO epoch;5. For each operation list apply the local search

procedure;6. If (the best solution, Sb, is improved) epoch = 0;

Else epoch = epoch + 1;

Fig. 1.graph a

120 A. Rossi, E. Boschi / Advances in Engineering Software 40 (2009) 118–127

Else7. Reinitialize population;8. epoch = 0;9. loop = loop + 1;

End whileOutput Sb

Initially an ACO epoch is performed in order to initialize the sys-tem by means of ps_init new precedence-feasible operation lists. Asubset of ps_ACO initial solutions is used to run ACO and theremaining solutions are used to generate a number of GA subpop-ulations, indicates by N_groups, which include pop_group indivi-duals each. In particular, ACO and GA run by means of thefollowing population sizes:

ps ACO ¼ ps init � N groups; ð4Þps GA ¼ pop group � N groups: ð5Þ

The mechanism to generate GA subpopulations is described inSection 3.2. When a solution is generated, it is taken to itslocal optimum by means of a neighbouring structure imple-mented by a steepest descent local search routine. The effectiveneighbouring structure proposed by Nowicki and Smutnicki isadopted[31].

The mutual exchange of information consists of two simpleroperations: (i) the ranking selection on the basis of the objectivefunction value; (ii) the off-line pheromone update rule, by usingthe best solution found. The ranking selection is an elitist selectionwhich allows children to inherit the best genotype from parentsduring crossover. The off-line pheromone update rule providesfeedback information for ants when they find the best path. A moredetailed description of both ranking selection and off-line updatingprocedures is included in Section 3.3.

As proposed by Tseng and Chen [32], the main loop is executeda number of times, loop_limit, with different initial populations toincrease the possibility of tackle stagnation in the local optimalsolutions. The populations are reinitialized by means the two-tour-nament selection. In this kind of selection, two operation lists areselected randomly from the population and the schedule whichhave the smaller makespan is reserved to reinitialize the new pop-ulation. This procedure is repeated N_groups times to generate thenew population.

The following section gives a brief description of the individualalgorithms for JSP-kPM that are taken from the literature. The ACOcounterpart of the hybrid system was proposed by Rossi and Dini[23] while the GA counterpart derives from the approach proposedby Ikeda and Kobayashi [10].

0 *

arcs of E11 arcs of E12 arcs of E21 arcs of E22 arcs of E31 arcs of E32

O111 O122

O212O231 O223

O133

O311 O322 O333

4671 82

66 50 94

39

9157

a

Example of disjunctive graph representations for JSP with replicates resources: (a)chieved by directing arcs of the DG.

3.1. The specific ant colony optimization

The ACO proposed is a particular case of ant colony systems [33]termed digraph-ACS [23]. In order to implement the pheromonetrail model, a digraph-ACS for JSP-kPM is based on the disjunctivegraph representation [34] defined by

DG ¼ ðN;A; Ej;hÞ; ð6Þ

where N is the set of operations plus the dummy start and finishingoperations (represented by the symbols 0 and �); A is the set of con-junctive arcs between every pair of operations on a job routing, be-tween 0 and every first operation on a routing, and between everylast operation on a routing and �; Ej,h is the set of disjunctive arcsbetween pairs of operations, O*

,j,*, that have to be processed on

the same machine h (h = 1, . . . ,mj) of the pool j; it also includes dis-junctive arcs between 0 andO*

,j,*, between O*

,j,* and � and between 0

and � for all Ej,h. Fig. 1 shows an example of digraph. Each arc, con-necting a pair of operations to be processed on the same pool j, isreplicated mj times (as many times as the number of machines ofthe pool j). As the arcs of Ej,h connected with n nodes are n(n � 1),the number of disjunctive arcs in the digraph is O(kmn2).

A finite sequence of conjunctive (directed) arcs between twooperations is called a path. The length of an arc is equal to the pro-cessing time of the operation at which it ends at. The path length isequal to the sum of the lengths of its arcs. A path which starts from0 and ends to * is the loading sequence on a machine. A cycle is apath which starts and ends at the same operation. If no cycle ispresent in a conjunctive graph achieved by directing some disjunc-tive arcs and including all the operations, the conjunctive graph isacyclic and the related loading sequences on the machines are afeasible schedule. In an acyclic conjunctive graph the makespan ofthe feasible schedule S is the length of the critical path (i.e. the lon-gest path between the dummy start and finishing operations) andit is indicated as makespan(S). The length of the longest path be-tween the start dummy operation 0 and a given operation is itscompletion time t(Oi,j,r). Finally, the precedence-feasible operationlist is obtained by ranking the starting times, st(Oi,j,r) = t(Oi,j,r)�ti,j,r,in the non-decreasing order (i = 1, . . . ,n, j = 1, . . . ,m, r = 1, . . . , li).Fig. 1b shows the acyclic conjunctive graph achieved by directingarcs of the DG. The weighted path is achieved by moving theweights from an operation to the two arcs which end at it.

In order to produce a feasible schedule on the digraph, a singleant of the colony is guided by the list scheduling algorithm (LSalgorithm [35]). At every step, a candidate node is connected tothe acyclic conjunctive graph which represents the partial sche-dule, by means of a feasible move. A feasible move is a disjunctivearc which can be directed in the partial conjunctive graph withoutcreating a cycle. The following is a pseudo-code description of theproposed LS algorithm.

0 *

82

91

5739

46

50

94

critical path

71

46

5066

39

5791

O111 O122

O212O231 O223

O133

O311 O322 O333

94

82

b

a representation of JSP-3PM problem with n = 3 and m = 2; (b) an acyclic conjunctive

en

A. Rossi, E. Boschi / Advances in Engineering Software 40 (2009) 118–127 121

Algorithm 2. List Scheduler algorithm for JSP-kPM

Input: a digraph DGO {Oi,j,rji = 1, . . . ,n, j = 1, . . . ,m, r = 1, . . . ,m}for each w = 1 to

Pi = 1, . . . , nli do

Fig. 2.drive thants on

Initialization of allowed list of nodes: ALw {Oi,j,r 2OjOi,j,r�1 \ O = ;};

1. Restriction of ALw to the list CLw of candidate nodes bymeans of an optimality criteria;

2. Building of the set of feasible moves, FMw;3. Move Selection: select a feasible move ðOi0 ;j;r0 ;Oi;j;rÞ from FMw

by directing the related disjunctive arc which assumes anarc length equal to the processing time of node Oi j r;

4. Evaluate the completion time t(Oi,j,r) as the length of thelongest path between those which pass from Oi,j,r�1 toOi0 ;j;r0 : tðOi;j;rÞ ¼ maxftðOi0 ;j;r0 Þ þ tijr ; tðOi;j;r�1Þg;

5. Remove all the remaining disjunctive arcs connected toOi0 ;j;r0 (i.e. no other operation can be immediately subse-quent to Oi0 ;j;r0 in the loading sequence); remove all theremaining disjunctive arcs of Eh0 j connected to Oi,j,r, i.e.

A

A

B

C

pheromone amount

B

C

the next ant

s

A

A

B

C

pheromone amount

B

C

the next ant

a

b

Mechanisms of move selection and pheromone updating in ACS: (a) diversificatioe next ants on alternative paths; (b) intensification mechanism: an amount of phthe vicinity of the best path.

h0 2Mi,j and h0 – h (i.e. no other loading sequence caninclude the operation);

6. Updating Structure: update O by removing operation Oi,j,r :O OnOi j,r;

sel

ph

election

s

the

pher

n mecheromon

d for

7. Directing the remaining disjunctive arcs: the arcs are con-

nected to the dummy operation *;

Output: the schedule S

The list scheduling algorithm is applied in order to produce exnovo a feasible solution. Also, it is applied to produce a semi-activeschedule when an operation list which does not necessarily resultin a feasible schedule is given.

A digraph-ACS uses a pheromone trail model based on the dis-junctive graph representation [23]. Because of the list schedulingprocedure which guided an ant to the path generation, the relatedpheromone trail model is a disjunctive graph where each arcðOi0 ;j;r0 ;Oi;j;rÞ of Eh,j supports two kinds of pheromone:

B

ection with reduction of

eromone amount

A

C

A

B

C of alternative path

B

A

C

A

B

C

election of the best path

best ant increases the

omone amount on his path

anism: an amount of pheromone evaporates on the selected arc in order toe is deposited on the selected arc by the best ant in order to drive the next

122 A. Rossi, E. Boschi / Advances in Engineering Software 40 (2009) 118–127

� an amount of pheromone s½Oi0 ;j;r0 ;Oi;j;r � which represents thedesirability to include the conjunctive (directed) arc½Oi0 ;j;r0 ;Oi;j;r � in the ant path (i.e. the desirability to processthe loading sequence Oi0 ;j;r0 ;Oi;j;r on the machine h);

� an amount of pheromone s½Oi;j;r ;Oi0 ;j;r0 � which represents thedesirability to include the conjunctive arc ½Oi;j;r;Oi0 ;j;r0 � in theant path.

The digraph-ACS properly modifies the following steps: (i) can-didate list generation (step 1); (ii) move selection (step 3); (iii)updating structure (step 6).

The candidate list includes allowed operations whose startingtimes are quite early to the machine completion times in the par-tial schedule by means of the following equation:

CLW ¼ fO� 2 ALW jstðO�Þ 6 minOijr2ALw

stðOijrÞ þ dðrf Þg; ð7Þ

dðrf Þ ¼max

Oijr2ALwstðOijrÞ � min

Oijr2ALwstðOijrÞ

rf; ð8Þ

where rf is the restricted factor. If the restriction is maximum, i.e.rf ? +1, the predefined value d(rf) tends to zero and a non-delayschedule is obtained; on the contrary, if rf = 0, the candidatelist does not differ from the allowed list, i.e. no restriction isachieved.

Move selection and local updating structure are standard proce-dures of ACS. In particular, ACS extends step 6 of LS algorithm bymeans of a local updating rule of pheromone amount on the se-lected arc. Fig. 2 shows the mechanisms used by ACS for moveselection (intensification mechanism, Fig. 2b) and local updating

M1: i5 i2 i1 i3 i4

M2: i5 i3 i2 i4 i1

M3: i1 i2 i4 i3 i5

Parent 1

M1: i3 i2 i1 i5 i4

M2: i1 i5 i2 i4 i3

M3: i5 i2 i4 i3 i1

Child 1

M1: i5 i2 i1 i3 i4

M2: i5 i3 i2 i4 i1

M3: i1 i2 i4 i3 i5 Shi

Muta

Direction

Job-Based Orde

a

b

Fig. 3. Genetic operators used by the specific GA: (a) JOX operator: the crossover preserwhich their appear in the partner; (b) shift mutation: a job is shifted in a prefixed direc

(diversification mechanism, Fig. 2a). The first is implemented bythe transition probability rule where an ant selects the next moveon the vicinity of the best path where the ant (eventually, see Sec-tion 3.3) deposits an opportune amount of pheromone [33,36].Move selection involves that at each construction step w, an ant se-lects the next move Z from the set of the feasible moves, by meansof the transition probability which is a function of both the visi-bility function g (an heuristic information on the vicinity to thebest solution) and the amount of pheromone s on the related arc:

Z ¼arg max

Oijr2CLwfsðOi0 jr0 ;OijrÞ � gðOi0 jr0 ;OijrÞbg if q 6 q0;

J if q > q0;

8<: ð9Þ

where b is the intensity of the visibility function, q is a randomnumber which ranges in [0,1] and q0 is the cutting explorationparameter (0 6 q0 6 1). If q is higher than q0, the feasible move Jis selected according to the random proportional rule, already usedby an old version of ACO, the Ant Systems [36]:

PaðJÞ ¼sðJÞ � gðJÞbP

O02CLwsðOijr;O

0Þa � gðOijr;O0Þb: ð10Þ

The role of cutting exploration is to find a compromise between therandom proportional rule and a mechanism of exploring near thebest path. Cutting exploration by tuning the parameter q0 near 1 al-lows the activity of the system to concentrate on the best solutions(exploitation activity), whereas, when q0 is close to 0, all the solu-tions are examined (exploration activity). For this reason the use ofadaptive parameter of cutting exploration is effective. The followingparameter, originally proposed by Kumar et al. [37], is used:

M1: i2 i4 i3 i1 i5

M2: i1 i2 i5 i4 i3

M3: i5 i3 i4 i1 i2

Parent 2

M1: i2 i4 i5 i1 i3

M2: i5 i2 i3 i4 i1

M3: i1 i3 i4 i5 i2

Child 2

Preserved Jobs i2 i4

M1: i5 i3 i2 i1 i4

M2: i3 i5 i2 i4 i1

M3: i3 i1 i2 i4 i5ft

tion

LEFT

r Crossover

ves location of prefixed jobs and rearranges the other jobs according to the order intion of all the machine sequences.

Table 1System parameters used by the different scheduling algorithms

Parameter GAcomponent

ACO component

Name Symbol

Population size ps 250 � (m � k) m � kGA subpopulations N_groups 5 –Probability of crossover pc 0.9 –Probability of mutation pm 0.06 –Relaxed factor for non-delay

schedulerf – 3

Intensity of the visibilityfunction

b – 2

Evaporation coefficient q – 0.1Cutting exploration q0 – log((epoch + 1)/

epoch_limit)Number of epochs epoch_limit 250

A. Rossi, E. Boschi / Advances in Engineering Software 40 (2009) 118–127 123

q0 ¼logðepochþ 1Þ

logðepoch limitÞ ð11Þ

The diversification mechanism used in local updating rule imposeslaying on the visited arc a negative amount of pheromone in orderto redirect on alternative arcs the other ants of the colony [33]. Thisapproach involves that after selecting the move M, the ant appliesthe local updating rule which imposes of laying on the arc the fol-lowing negative amount of pheromone:

sðMÞ ¼ ð1� qÞ � sðMÞ þ q � s0; ð12Þ

where the parameter q is the evaporation coefficient, 0 6 q 6 1, ands0 is a small positive constant which is initially deposited on all thearc of the digraph. The amount of pheromone which remains on aselected edge decreases because the expression (12) is a convexcombination of the points, sp(M) and s0.

Table 2Results for the first 30 duplicate and triplicate Lawrence problems

n m k opt Makespan

Hybrid GA–ACS

La010 10 5 2 666 666la020 10 5 2 655 688la030 10 5 2 597 626la040 10 5 2 590 611la050 10 5 2 593 593la060 15 5 2 926 926la070 15 5 2 890 894la080 15 5 2 863 863la090 15 5 2 951 951la100 15 5 2 958 958la110 20 5 2 1222 1222la120 20 5 2 1039 1039la130 20 5 2 1150 1150la140 20 5 2 1292 1292la150 20 5 2 1207 1246la0100 10 5 3 666 677la0200 10 5 3 655 712la0300 10 5 3 597 673la0400 10 5 3 590 629la0500 10 5 3 593 593la0600 15 5 3 926 936la0700 15 5 3 890 922la0800 15 5 3 863 871la0900 15 5 3 951 952la1000 15 5 3 958 958la1100 20 5 3 1222 1239la1200 20 5 3 1039 1049la1300 20 5 3 1150 1163la1400 20 5 3 1292 1292la1500 20 5 3 1207 1283

MRE% 0 2.04Average 906.6 922.5

3.2. The specific genetic algorithm

The adopted algorithm is a permutation-based GA which usesthe Innately Split Model (ISM [10]). The following procedure de-scribes the GA counterpart of the proposed system.

Algorithm 3. A generation of genetic algorithm for JSP-kPM

Input: a set of N_groups (if epoch = 0) or ps_GA (otherwise) pre-cedence-feasible operation lists

GA

675712644628593926939872951958122105115129128722728703654599961960875977970123105116130131

3.53938

If (epoch< epoch_limit) AND (epoch = 0)For (i = 1; i 6 N_groups; i ++)

21824

87701

.6

For (j = 2; j 6 pop_group; j ++)begin

a. Achieve the individualj by two-tourna-ment selection of the founder individual iof the group;

b. Perform the modified-LS procedure on indi-vidual j;

endelse

c. Perform crossover within each group;d. Perform mutation;e. For each operation list, perform the modi-

fied-LS procedure;

End ifEnd ifOutput: the next generation of ps_GA precedence-feasible oper-ation lists.

CPU time

ACS Hybrid GA–ACS GA ACS

669 183 143 171693 221 125 322642 290 52 497625 312 139 313593 0 1 0926 0 3 1908 110 92 71865 13 42 63951 0 0 0958 0 2 11222 2 362 41041 2 308 681150 0 203 01292 0 0 21249 360 189 184689 361 89 90707 363 108 97659 248 74 75635 603 326 262594 193 52 49932 424 243 64908 1202 543 719872 456 311 552958 609 278 501961 443 289 591224 3219 1721 4711069 2477 1449 7171156 2611 1571 7861293 427 2005 2381269 2032 1973 1083

2.29 – – –923.7 572.03 423.10 248.67

124 A. Rossi, E. Boschi / Advances in Engineering Software 40 (2009) 118–127

In the ISM the population of ps_GA individuals is separated intoN_groups which consists of pop_group individuals. Each group isinitialized within a little area of a space search by means of a muta-tion of the founder individual. Hence the crossover phase is per-formed between parents selected within the same group. Thecrossover is the job-based crossover, JOX, proposed by Ono et al.[38] and the mutation is the shift mutation [10]. Fig. 3 shows thechromosome representation and the used crossover and mutationoperators. The JOX generates an offspring by randomly selectingthe locus to be preserved from one parent (Fig. 3a). The other lociare copied from the other parent preserving their order. Fig. 3bshows that a similar procedure is used for mutation. The SM mod-ifies all the machine sequences by means of the selection of bothjob and direction to shift it. Subsequently for each sequence, theprocedure selects the number of loci in order to shift the job inthe selected direction.

Unlike the LS procedure which runs on a digraph to produce asolution ex novo, the modified list scheduling procedure operateson operation lists removing possible cycles from their conjunctivegraphs. Generally, the conjunctive graph of a precedence-feasibleoperation list which is modified by crossover and mutation opera-tions, is not acyclic because these operators do not preservefeasibility of the offspring. The modified-LS builds a precedence-feasible operation list from a generic operation list. It is achievedby replacing steps 1–3 in the list scheduling procedure:

Table 3Kruskall–Wallis H test statistics for algorithm comparison

opt Hybrid GA–ACO

Makespan Diff Rank number

la010 666 666 0 13.5la020 655 688 33 65la030 597 626 29 62la040 590 611 21 59la050 593 593 0 13.5la060 926 926 0 13.5la070 890 894 4 35la080 863 863 0 13.5la090 951 951 0 13.5la100 958 958 0 13.5la110 958 1222 0 13.5la120 1222 1039 0 13.5la130 1039 1150 0 13.5la140 1150 1292 0 13.5la150 1292 1246 39 70.5la0100 1222 677 11 48la0200 1039 712 57 79.5la0300 1150 673 76 86.5la0400 1292 629 39 70.5la0500 1207 593 0 13.5la0600 666 936 10 46.5la0700 655 922 32 64la0800 597 871 8 41la0900 590 952 1 28la1000 593 958 0 13.5la110 958 1239 17 54.5la120 1222 1049 10 46.5la130 1039 1163 13 52la140 1150 1292 0 13.5la150 1292 1283 76 86.5

Rank sum 1170.5Average sum (R1, R2 and R3) 39.02lNo. observations * (Ri � l)2 13,002Ties 14Factor of correctionKruskall–Wallis H test statisticCritical value for a = 0.05

Step 1: Restriction of ALw to the following candidate list whichincludes an operation whose completion time is minimumamong unscheduled ones:

ACO

Makespan

669693642625593926908865951958

12221041115012921249

689707659635594932908872958961

12241069115612931269

CLW ¼ fOi� ;j� ;r� 2 ALW jtðOi�;j�;r�Þ 6 minOijr2ALw

tðOi;j;rÞg: ð13Þ

Step 2: Building of the set of feasible moves, FMw, which containsthe unscheduled operations that are processed on the poolj* and whose processing overlaps with Oi� ;j� ;r� ;

Step 3: Move selection: select a feasible move from FMw and sche-dule it by directing the related disjunctive arc whichassumes an arc length equal to the processing time ofthe ending node.

The modified-LS procedure produces feasible schedules becauseimplements of that proposed by Ikeda and Kobayashi [10].

3.3. Final considerations

The mutual exchange of information consists of the rankingselection and the off-line pheromone update rule. The off-linepheromone update rule determines the amount of pheromonedeposits at the end of each epoch by the best ant Sb among of allthe solutions. The amount of pheromone deposited is proportionalto the path length, by means of the following convex combinationof parameter q:

GA

Diff Rank number Makespan Diff Rank number

3 33.5 675 9 4438 68.5 712 57 79.545 73.5 644 47 7535 66.5 628 38 68.5

0 13.5 593 0 13.50 13.5 926 0 13.5

18 57 939 49 762 31 872 9 440 13.5 951 0 13.50 13.5 958 0 13.50 13.5 1222 0 13.52 31 1051 12 500 13.5 1158 8 410 13.5 1292 0 13.5

42 72 1284 77 8823 60 722 56 7852 77 728 73 8562 81.5 703 106 9045 73.5 654 64 83

1 28 599 6 376 37 961 35 67.5

18 57 960 70 849 44 875 12 507 39 977 26 613 33.5 970 12 502 31 1238 16 53

30 63 1057 18 576 37 1167 17 54.51 28 1300 8 41

62 81.5 1311 104 89

1298.5 1627.043.28 54.2345.54

161.0 2376.311 10

0.990945.6745.991

A. Rossi, E. Boschi / Advances in Engineering Software 40 (2009) 118–127 125

sðaÞ ¼ ð1� qÞ � sðaÞ þ q �makespanðSbÞ�1; a 2 Sb: ð14Þ

The expression (14) plays the role of pheromone decay in the pathrelated to the poor best-epoch solutions. On the contrary, whenmakespan(Sb)�1 > s(a), a positive amount of pheromone is laid. Thisintensification mechanism drives the ant to explore in the vicinityof the best path found by ACS or GA.

The ranking selection premise lies in ordering all the psprecedence-feasible operation lists on the basis of their objectivefunction value. Subsequently it builds a mating pool which con-tains the best (pc � pop_group) solutions, where pc is the probabilityof crossover. The CPU time spent by this procedure is enhanced bymeans of a hashing function which allocates the pop_group �(pc + 1) solution achieved after the crossover phase in a range of(100 pop_group) locations.

The proposed system is implemented in Visual C++ and runs onan AMD Athlon XP 2800 MHz with 512 MB of RAM.

4. Computational experiments and results

This section proposes a detailed performance comparison forJSP with replicated resources between the proposed hybrid GA–ACO algorithm and the two constituent algorithms, GA and ACO.

A simple method is used to derive replicated resources in-stances for each degree k of the standard job-shop problems; itconsists of replicating each standard job-shop scheduling problem.For example in the duplicate problem (k = 2), the number of jobs is2n and the number of resources is 2m split into m groups of 2 re-

Table 4Wilcoxon Signed-Rank Test for paired data returned by the proposed hybrid GA–ACOsystem and the GA counterpart

Hybrid GA–ACO

GA Diff(Hybrid-GA)

Rank+

Rank�

la010 666 675 �9 14la020 688 712 �24 21la030 626 644 �16 18la040 611 628 �17 20la050 593 593 0la060 926 926 0la070 894 939 �45 29la080 863 872 �9 14la090 951 951 0la100 958 958 0la110 1222 1222 0la120 1039 1051 �12 16la130 1150 1158 �8 11la140 1292 1292 0la150 1246 1284 �38 27la0100 677 722 �45 29la0200 712 728 �16 18la0300 673 703 �30 26la0400 629 654 �25 22la0500 593 599 �6 10la0600 936 961 �25 22la0700 922 960 �38 27la0800 871 875 �4 8la0900 952 977 �25 22la1000 958 970 �12 16la1100 1239 1238 1 1la1200 1049 1057 �8 11la1300 1163 1167 �4 8la1400 1292 1300 �8 11la1500 1283 1311 �28 25

Rank sums 1 425l 232.5r 48.618Test statistic Z 4.75Critical value for

a = 0.051.960

sources each. For this experiment, the first 15 Lawrence instances[39], with duplicate and triplicate resources and jobs are adopted(k = 2 and 3; 30 instances).

The population size used in the test is 250 agents of which theACO population is achieved by placing an ant for each machine, i.e.ps_ACO = m � k. The number of GA subpopulations of N_groups = 5,the number of epochs, epoch_limit = 250 and the number of reini-tialization loop, loop_limit = 3 are achieved by means of prelimi-narily tests.

In the comparison, the GA uses the same number of epochs andpopulation size of the hybrid system. On the contrary, the epoch_li-mitACO used by ACO is evaluated in order to achieve a similar com-putational burden of GA, by the following equation:

epoch limitACO ¼ kðps GAÞðps ACOÞ epoch limitGA

¼ kðps� ps ACOÞðps ACOÞ epoch limit: ð15Þ

The number of epoch and the population size evaluated by means ofexpression (15), where k is defined in Section 2, offer an effectiveperformance in terms of mean relative error (MRE). The MRE isevaluated by the best returned and the optimum value of a probleminstance.

Table 1 shows the complete set of parameter values. Table 2shows the results returned by the proposed and the constituentalgorithms. The following considerations for the proposed algo-rithm can be supported by the results of Table 2:

Table 5Wilcoxon Signed-Rank Test for paired data returned by the proposed hybrid GA–ACOsystem and the ACO counterpart

Hybrid GA–ACO

ACO Diff(Hybrid-ACO)

Rank+

Rank�

la010 666 669 �3 13la020 688 693 �5 17la030 626 642 �16 29la040 611 625 �14 23la050 593 593 0la060 926 926 0la070 894 908 �14 23la080 863 865 �2 11la090 951 951 0la100 958 958 0la110 1222 1222 0la120 1039 1041 �2 11la130 1150 1150 0la140 1292 1292 0la150 1246 1249 �3 13la0100 677 689 �12 22la0200 712 707 5 17la0300 673 659 14 23la0400 629 635 �6 19la0500 593 594 �1 8la0600 936 932 4 16la0700 922 908 14 23la0800 871 872 �1 8la0900 952 958 �6 19la1000 958 961 �3 13la1100 1239 1224 15 28la1200 1049 1069 �20 30la1300 1163 1156 7 21la1400 1292 1293 �1 8la1500 1283 1269 14

Rank sums 151 267l 232.5r 48.618Test statistic Z 1.67Critical value for

a = 0.051.960

126 A. Rossi, E. Boschi / Advances in Engineering Software 40 (2009) 118–127

(i) it solves to optimality 10 duplicate and 2 triplicate instances,whilst GA and ACO solve, respectively, 5 and 6 duplicateinstances (they are reported in boldface type); whilst neitherGA nor ACO solve any triplicate instance;

(ii) is achieves the best results in 23 of the 30 instances; itimproves the performance of both the constituent algo-rithms in 13 instances whilst it is not able to improve 7instances where the ACO counterpart is better;

(iii) it achieves the lowest MRE;(iv) it achieves about the same computation time with respects

the ACS in the problem instances where k = 2 whilst the per-formance decreases when the problem instance increases; ingeneral, the hybrid system uses a twice and a four-thirds ofthe CPU time used by, respectively, ACS and GA systems.

A more detailed investigation is faced by means of the non-parametric, descriptive statistical method of the Kruskall–WallisH test in order to determine if any algorithm performs significantlybetter than others. In general, the use of this test takes the place ofa test for normal distribution, like Student’s T test, where the dataare gathered into a lower bound (i.e. the differences between theoptimum values of the benchmarks and the returned values aregathered into 0+). The H test of Table 3 shows that a significant dif-ference among the algorithm performances is probable because theresult is very close to 95% of the confidence interval of the H test.

The pair-wise comparison among the algorithms is able to ex-plain the achieved results better. It is achieved by the WilcoxonSigned Rank test for paired data and it is shown in Tables 4 and

Table 6Robustness problem study of the proposed approaches

Hybrid GA–ACO ACO

MRE% St. dev. Best MRE%

la010 0.68 2.6 666 0.74la020 5.78 4.6 683 5.62la030 4.25 5.1 615 7.36la040 2.99 3.1 601 5.67la050 0 0 593 0la0100 3.13 5.9 674 3.29la0200 7.64 3.4 699 7.75la0300 9.67 5.5 644 9.99la0400 7.78 4.5 629 7.84la0500 0.5 1.3 593 0.61

Average 4.24 3.6 639.7 4.89

0

2

4

6

8

10

12

14

80 2

numbe

MR

E%

Fig. 4. MRE vs number of epochs of the proposed s

5. The following considerations for the proposed algorithm canbe supported by the results of Tables 4 and 5:

1. hybrid GA–ACO performs significantly better than its GAcounterpart;

2. hybrid GA–ACO is quite close to the Wilcoxon Signed Ranktest statistic in the pair-wise comparison with ACO.

For this consideration it is evident that the proposed hybrid sys-tem is superior. This behaviour is confirmed by the analysis of therobustness problem studied by an experiment which consists of 30runs per algorithm for each of the 10 problem instancesla01, . . . , la05, k = 2,3. Table 6 shows that, in average and in nearlyall the instances, the lowest standard deviation and the lowestMRE coincides on the hybrid system. It can be noticed that fortwo instances (la030 and la040), the hybrid system obtains nearlythe half of the MRE returned by the system counterparts. Also, itachieves the best returned value in all the tests.

An increase in performance of the GA counterpart together withan optimization of the system parameters are the main tools toovercome the Wilcoxon Signed Rank test in the pair-wise compar-ison with its ACO counterpart. The genetic counterpart proposedby Ikeda and Kobayashi [10] obtains an higher MRE in the usedproblem instances because it not uses a problem representationwhere assigning and sequencing constraints are integrated whilstit achieves the best performance in the case of the classic job-shopscheduling. For example it may be noticed that the well-known10 � 10 Fisher and Thompson problem [40] is optimally solved

GA

St. dev. Best MRE% St. dev. Best

2.6 666 0.78 2.6 6675.3 684 6.79 6.5 6985.5 633 7.45 5 6362.4 619 5.71 3.1 6190 593 0 0 5935.5 680 9.8 8.9 7114.2 701 10.98 8.1 7165.3 650 10.27 16.7 6875.3 630 12.41 5.8 6541.4 594 3.48 6.7 599

3.75 645 6.77 6.34 658

50 750

r of epochs

GA-ACO

ACO

GA

ystem and the compared GA and ACO systems.

A. Rossi, E. Boschi / Advances in Engineering Software 40 (2009) 118–127 127

by both the proposed system and individual GA, but it is not pos-sible to solve it by the ACO counterpart [22].

Finally, Fig. 4 shows the performance of the compared systemsachieved by increasing computational effort in order to solve themore difficult instance for k = 2. The diagram of the hybrid systemoffers a sharp increase in performance whereas it reaches an meanrelative error of 0.03 within a 1000 of epochs whilst the comparedsystems require a further significant computational effort.

5. Concluding remarks

The paper focuses on a challenge distributed-collaborativesearch algorithm which hybridizes GA and ACO for the job-shopscheduling problem with parallel machines.

A number of innovative skills are present in the paper. The firstis the use of genetic algorithms and ant colony optimization as amechanism of collaborative search at the algorithm level. Thesecond aspect concerns the methods of selecting the GAsubpopulations and to updating pheromone trails. Finally, the GAcounterpart is reinforced in order to tackle stagnation with amethod which reinitializes the subpopulations by means of thetwo-tournament selection. At this stage the system parametervalues inherit those of the constituent algorithms.

The system is able to find six new optimal solutions and toimprove the performance of the constituent algorithms in 77% ofproposed benchmarks. Statistical analysis is also employed tobetter ensure the performance when compared with that of theconstituent algorithms. The proposed system performs signifi-cantly better than its GA counterpart, while it is very close to theconfidence interval of 0.05% of the test statistic which ensures itssuperiority with respect to the ACO counterpart. As general consid-eration, the proposed system is a powerful mechanism and animportant tool to enhance the searching capability of both geneticalgorithms and ant colony systems in the optimization search.

As the parameter values which give a good performance for theconstituent algorithms are not necessarily good in the hybridsystem, it is expected that the proposed system will offer a sharpincrease in performance when a similar tool is integrated.Therefore, future work will be directed in two main directions:(i) allowing the system to automatically detect the mostperforming system parameters as a function of the data entry;(ii) increasing computing speed for real-time response behaviourin dynamic scheduling applications.

References

[1] Lawler EL, Lenstra JK, Rinnoy Kan AHG, Shimoy DB. Sequencing andscheduling: algorithm and complexity. In: Graves SC, Rinnoy Kan AHG,Zipkin P, editors. Handbooks in operations research and managementscience. Logistics of production inventory, vol. 4. North-Holland; 1993.

[2] Ovacik IM, Uszoy R. Decomposition methods for complex factory schedulingproblems. Norwell (MA): Kluwer Academic Publishers; 1997.

[3] Lam K, Xing W. New trends in parallel machine scheduling. Int J Oper ProductManage 1997;17:326–38.

[4] Grieco A, Semeraro Q, Tolio T. A review of different approaches to the FMSloading problem. Int J Flexible Manuf Syst 2001;13:361–84.

[5] Graham RL, Lawler ER, Lenstra JK, Rinnooy Kan AHG. Optimization andapproximation in deterministic sequencing and scheduling: a survey. AnnDiscrete Math 1979;5:287–326.

[6] Pinedo ML. Scheduling: theory, algorithms and systems. 2nd ed. EnglewoodCliffs (NJ): Prentice-Hall; 2002.

[7] Garey MR, Johnson DS, Sethi R. The complexity of the flowshop and jobshopscheduling. Math Oper Res 1976;1:117–29.

[8] Jain AS, Meeran S. Deterministic job shop scheduling; past, present and future.Eur J Oper Res 1999;113:390–434.

[9] Blazewicz J, Domschke W, Pesch E. The job shop scheduling problem:conventional and new solution techniques. Eur J Oper Res 1996;93:1–33.

[10] Ikeda K, Kobayashi S. GA based on the UV-structure hypothesis and itsapplication to JSP. In: Proceedings of PPSN-VI. Sixth international conferenceon parallel problem solving from nature. Berlin: Springer-Verlag; 2000. p.273–82.

[11] Blum C, Sampels M. An ant colony optimization algorithm for shop schedulingproblem. J Math Modell Algor 2004;3:285–308.

[12] Yamada T, Nakano R. Scheduling by genetic local search with multi-stepcrossover. In: Fourth international conference on parallel problem solvingfrom nature (PPSN IV), Berlin, Germany; 22–26 September, 1996. p. 960–9.

[13] Iwata K, Murotsu Y, Oba F. Solution to large-scale scheduling problems for jobshop type machining system with alternative machine tools. Ann CIRP1980;29:65–79.

[14] Ahn J, He W, Kusiak A. Scheduling with alternative operations. IEEE TransRobot Autom 1993;9:297–303.

[15] Rossi A, Dini G. Dynamic scheduling of FMS using a real-time geneticalgorithm. Int J Product Res 2000;38:1–20.

[16] Chen H, Luh PB. An alternative framework to Lagrangian relaxation approachfor job shop scheduling. Eur J Oper Res 2003;149:499–512.

[17] Cheng J, Karuno Y, Kise H. A shifting bottleneck approach for a parallelmachine flowshop scheduling problem. J Oper Res Soc Jpn 2001;44:140–56.

[18] Mason SJ, Fowler JW, Carlyle WM. A modified shifting bottleneck heuristic forminimizing total weighted tardiness in complex job shops. J Schedul2002;5:247–62.

[19] Upasani AA, Uszoy R, Sourirajan K. A problem reduction approach forscheduling semiconductor wafer fabrication facilities. IEEE Trans SemicondManuf 2006;19:216–25.

[20] Sabuncuoglu I, Kizilisik OB. Reactive scheduling in a dynamic and stochasticFMS environment. Int J Product Res 2003;41:4211–31.

[21] Rossi A, Dini G. An FMS dynamic scheduling system by using a hybridevolutionary-ant colony optimization. In: Proceedings of the fourthinternational conference in manufacturing engineering (ICME 4); 2004. p. 3–8.

[22] Rossi A, Dini G. Flexible job-shop scheduling with routing flexibility andseparable setup time using ant colony optimisation method. Robot ComputIntegr Manuf 2007;23:503–16.

[23] Merz P, Freisleben B. Fitness landscape analysis and memetic algorithms forquadratic assignment problem. IEEE Trans Evol Comput 2000;4:337–52.

[24] Alba E, Troya JM. A survey of parallel distributed genetic algorithms.Complexity 1999;4:31–52.

[25] Mönch L, Schabacker R, Pabst D, Fowler JW. Genetic algorithm basedsubproblem solution procedure for the modified shifting bottleneck heuristicfor complex job shops. Eur J Oper Res 2007;177:2100–18.

[26] Wang L, Zheng DZ. An effective hybrid optimization strategy for job-shopscheduling problems. Comput Oper Res 2001;28:585–96.

[27] Sefrioui M, Périaoux J. A hierarchical genetic algorithm using multiple modelsfor optimization. In: Proceedings of the international conference in parallelproblem solving from nature (PPSN VI), Paris, France; 2000. p. 879–88.

[28] Herrera F, Lozano M. Gradual distributed real-coded genetic algorithms. IEEETrans Evol Comput 2000;4:43–63.

[29] Hu JJ, Goodman D. The hierarchical fair competition (HFC) model for parallelevolutionary algorithms. In: Proceedings of the 2002 congress on evolutionarycomputation CEC2002. IEEE Press; 2002. p. 49–54.

[30] Oh S-K, Lee C-Y, Lee J-J. A new distributed evolutionary algorithm foroptimization in non-stationary environments. In: Proceedings of the 2002congress on evolutionary computation CEC2002. IEEE Press; 2002. p. 378–83.

[31] Nowicki E, Smutnicki C. A fast taboo search algorithm for the job shopproblem. Manage Sci 1996;42:797–813.

[32] Tseng L-Y, Chen S-C. A hybrid metaheuristic for the resource-constrainedproject scheduling problem. Eur J Oper Res 2006;175:707–21.

[33] Dorigo M, Gambardella LM. Ant colony system: a cooperative learningapproach to the traveling salesman problem. IEEE Trans Evol Comput1997:53–66.

[34] Roy B, Sussmann B. Les Problèmes d’Ordonnancement Avec ContraintesDisjonctives. Note DS No. 9 bis, SEMA, Montrouge; 1964.

[35] Giffler D, Thompson GL. Algorithms for solving production schedulingproblems. Oper Res 1960;8:487–503.

[36] Bonabeau E, Dorigo M, Theraulaz G. Swarm intelligence. From natural toartificial systems. New York: Oxford University Press; 1999.

[37] Kumar R, Tiwari MK, Shankar R. Scheduling of flexible manufacturing system:an ant colony optimization approach. J Eng Manuf – Part B 2003;217:1443–53.

[38] Ono I, Yamamura M, Kobayashi S. A genetic algorithm for job-shop schedulingproblem using job-based order crossover. In: Proceedings of the internationalconference on evolutionary computation 1996 ICEC96. p. 547–52.

[39] Lawrence S. Resource constrained project scheduling: an experimentalinvestigation of heuristic scheduling techniques. Graduate School ofIndustrial Administration, Carniege-Mellon University, Pittsburgh (PA); 1984.

[40] Fisher H, Thompson GL. Probabilistic learning combinations of local job-shoprules. In: J.F.Muth, G.L.ThompsonIndustrial scheduling1963. Englewood Cliffs(NJ): Prentice-Hall; 1963. p. 225–51.