an integrated approach for modeling and solving the general multiprocessor job-shop scheduling...

26
An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search Stéphane Dauzère-Pérès Department of Automatic Control and Production Engineering, Ecole des Mines de Nantes, La Chantrerie, F-44070 Nantes Cedex 03, France Jan Paulli Department of Operations Research, University of Aarhus, Ny Munkegade, DK-8000 Århus C, Denmark The problem considered in this paper is an important extension of the classical job-shop scheduling problem, where the same operation can be performed on more than one machine. The problem is to assign each operation to a machine and to sequence the operations on the machines, such that the makespan of a set of jobs is minimized. We introduce an extended version of the disjunctive graph model, that is able to take into account the fact that opera- tions have to be assigned to machines. This allows us to present an integrated approach, by defining a neighborhood structure for the problem where there is no distinction between reassigning or resequencing an operation. This neighborhood is proved to be connected. A tabu search procedure is proposed and computational results are provided. Keywords: Analysis of algorithms, suboptimal algorithms: tabu search, productionyscheduling, sequencing, deterministic, multiple machine, multiprocessor, job-shop scheduling, disjunc- tive graph model. 1. Introduction The Multiprocessor Job-shop Scheduling (MJS) problem is a generalization of the classical job-shop scheduling problem J k C max found in many practical applica- tions. A set of jobs have to be processed on a collection of machines and each job needs several consecutive operations ( routing) before being completed. A machine can only perform one operation at a time and preemption is not allowed, i.e., an operation cannot be interrupted once started. The difference with the classical job- shop scheduling problem J k C max is that in the multiprocessor job-shop scheduling problem, every operation can have more than one machine on which to be processed. © J.C. Baltzer AG, Science Publishers Annals of Operations Research 70(1997)281 – 306 281

Upload: stephane-dauzere-peres

Post on 02-Aug-2016

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

An integrated approach for modeling and solvingthe general multiprocessor job-shop

scheduling problem using tabu search

Stéphane Dauzère-PérèsDepartment of Automatic Control and Production Engineering,

Ecole des Mines de Nantes, La Chantrerie, F-44070 Nantes Cedex 03, France

Jan PaulliDepartment of Operations Research, University of Aarhus,

Ny Munkegade, DK-8000 Århus C, Denmark

The problem considered in this paper is an important extension of the classical job-shopscheduling problem, where the same operation can be performed on more than one machine.The problem is to assign each operation to a machine and to sequence the operations on themachines, such that the makespan of a set of jobs is minimized. We introduce an extendedversion of the disjunctive graph model, that is able to take into account the fact that opera-tions have to be assigned to machines. This allows us to present an integrated approach, bydefining a neighborhood structure for the problem where there is no distinction betweenreassigning or resequencing an operation. This neighborhood is proved to be connected. Atabu search procedure is proposed and computational results are provided.

Keywords: Analysis of algorithms, suboptimal algorithms: tabu search, productionyscheduling,sequencing, deterministic, multiple machine, multiprocessor, job-shop scheduling, disjunc-tive graph model.

1. Introduction

The Multiprocessor Job-shop Scheduling (MJS) problem is a generalization ofthe classical job-shop scheduling problem J‖Cmax found in many practical applica-tions. A set of jobs have to be processed on a collection of machines and each jobneeds several consecutive operations (routing ) before being completed. A machinecan only perform one operation at a time and preemption is not allowed, i.e., anoperation cannot be interrupted once started. The difference with the classical job-shop scheduling problem J‖Cmax is that in the multiprocessor job-shop schedulingproblem, every operation can have more than one machine on which to be processed.

© J.C. Baltzer AG, Science Publishers

Annals of Operations Research 70(1997)281–306 281

Page 2: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

This property is very often found in practice. The problem is thus to determine bothan assignment and a sequence of the operations on the machines, according to theobjective. Here, the objective is to minimize the maximal completion time of thejobs (the makespan) although parts of our results do not depend on the objectivefunction.

The general description of the problem allows for the case in which operations,before or (and) after an operation i on the routing of a job, are processed on the samemachine as i. Also, the duration of an operation depends on the machine on which itis assigned (i.e., machine-dependent processing times). Processing times are assumedto be integer and known in advance, and set-up times between operations are assumednegligible or included in the processing times (sequence independent).

The MJS problem is relevant in at least two types of production systems. In flex-ible manufacturing systems (FMSs) (see Paulli [15]), machines have the ability to per-form different kinds of operations. The second type consists of workshops with poolsof parallel machines, where the machines in a pool can only perform one kind ofoperation (i.e., dedicated machines). The second type of systems can actually be seenas a special case of the first.

Being an extension of the classical job-shop scheduling problem J‖Cmax, whichis known to be NP-hard (Garey et al. [8]), the MJS problem is NP-hard as well. TheMJS problem has been treated to some extent in the literature. However, common tomost of the papers is that they mainly focus on the job-shop scheduling part of themultiprocessor job-shop scheduling problem. Two of the first to address the problemwere Brucker and Schlie [3]. They give a polynomial time algorithm for minimizingthe makespan, if the number of machines is equal to two. Brandimarte [2] considersthe general problem and proposes a hierarchical algorithm based on the decomposi-tion of the problem into an assignment part and a job-shop scheduling part. He solvesthe assignment problem and then focuses on the job-shop scheduling problem. A re-assignment of one of the critical operations is done at predefined intervals and thenagain focus is on the resulting job-shop scheduling problem. This approach is quitesimilar to the one suggested in Paulli [15] for a slightly generalized problem, the FMSscheduling problem. This problem is an MJS problem with an additional constrainton the maximal number of jobs that can be in progress at the same time. In Hurinket al. [13], a more integrated approach using tabu search is suggested. Finally, inDauzère-Pérès and Paulli [6], the reassignment of operations is treated extensivelyand a new reassignment procedure is proposed. This reassignment procedure optimizeson the assignment while retaining feasibility of the schedule. In all the approacheswe are aware, of the assignment of operations to machines and the sequencing ofoperations on the machines are separated. This separation is done either directly byconsidering independently assignment and sequencing, or in a local search algorithmin which reassignment and resequencing of an operation are considered as twodifferent types of transitions. In this paper, we propose an integrated approach inwhich assignment and sequencing are not differentiated.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem282

Page 3: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

The notation is introduced and the multiprocessor job-shop scheduling problemis described in section 2. In section 3, the disjunctive graph representation – very oftenused in job-shop scheduling – is modified and extended to take into account the factthat an operation has to be assigned on a machine. The reassignment techniqueproposed in Paulli [15] and developed in Dauzère-Pérès and Paulli [6] is extended tothe new representation. The main advantage of the latter is that resequencing anoperation on a machine or reassigning an operation to another machine are modelledin the same way. The sufficient conditions presented in [6] which ensure, beforehand,that no cycle will be created by making a particular move are recalled. Based on theseconditions, a neighborhood structure (NS) is proposed in section 5 which, again, doesnot differentiate between resequencing and reassigning an operation. By exploitingthe fact that this neighborhood structure includes the one presented in van Laarhovenet al. [19] for the classical job-shop scheduling problem, we prove the connectivity ofthe neighborhood structure NS. The content of sections 3 and 5 was first presented inDauzère-Pérès [5]. In section 6, the neighborhood structure is used in a tabu searchprocedure for the MJS problem. Essential elements of this tabu search procedure area classification of the neighbor solutions given in section 6.2 and lower bounds on themakespan of a neighbor solution derived in section 6.3. Computational experimentsare given in section 7 and the results are compared with the ones presented in [13]and [6].

2. Notation

A set of n jobs, J = {1,…, n}, have to be processed on a set of m machines,M = {1,…, m}. A sequence of operations (routing) have to be performed to completea job. Let O be the set of all the operations. For a given operation i, J(i ) denotes thejob associated to it and Mi the set of machines on which i can be performed.

In the MJS problem with parallel machines, the set of machines M is dividedinto disjoint sets, each of them containing machines which can process the same kindof operation. For any two operations i and j, either Mi = Mj or Mi > Mj = ∅. Inflexible manufacturing systems there is no such restriction.

Assigning the operations to the machines means determining a mapping a fromO to M, such that a(i ) is the machine on which operation i has to be processed anda(i ) ∈Mi , pi

a > 0 denotes the processing time of i on machine a(i ).For a given assignment a, the problem becomes a classical job-shop scheduling

problem. A nice representation of this problem can be obtained using a disjunctivegraph G = (N, A, Ea) (see Roy and Sussman [16]). Each node is associated to anoperation and each constraint is represented by an arc. N is the set of operations Oplus the dummy start and finish operations 0 and ∗ ( pa

0 = pa∗ = 0, and M0 = M∗ = ∅).

A is the set of conjunctive arcs between every two consecutive operations on a routing,between 0 and every first operation on a routing, and between every last operation ona routing, and ∗. Ea

k is the set of disjunctive arcs between pairs of operation assigned

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 283

Page 4: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

to the machine k (i.e., (i, j ) ∈Eak ⇒ a(i ) = a( j ) = k), and Ea =

⋃k∈M Ea

k. The lengthof an arc is equal to the processing time of the operation from which it starts. Aselection Sk is determined by fixing a direction to each disjunctive arc in Ea

k , i.e.,by replacing every disjunctive arc with a conjunctive arc. A complete selection S isthe union of a selection for every machine k, S=

⋃k∈M Sk.

In a conjunctive (directed) graph (N, A, S), a finite sequence of conjunctive arcsbetween two operations is called a path. A cycle is a path which starts from and endsat the same operation. A sequence of operations on the machines is feasible if andonly if the complete selection S induces an acyclic (without a cycle) directed graph(N, A, S). A feasible sequence generates feasible schedules. The length of a path isequal to the sum of the lengths of the arcs on the path. A longest path between twooperations is a path with the maximum length. Let L(i, j ) be the length of the longestpaths between operations i and j (=0 if there is no path). ri = L(0, i ) denotes therelease date (head) of operation i, qi = L(i, ∗) – pi

a its delivery time (tail) and ti itsstarting time in a schedule (ti ≥ ri ). Two operations i and j are said to be path-adjacentif L(i, j ) = pi

a, i.e., rj = ri + pia and qi = qj + pj

a. Note that every pair of consecutiveoperations on a longest path are path-adjacent.

A longest path between the start and finish operations is called a critical path.Its length (r∗ = L(0, ∗) = maxi ∈O ri + pi

a + qi) is equal to the minimum amount of timerequired to complete all the jobs, or the makespan.

Let pi denote the operation preceding operation i in the routing of job J(i ) (i.e.,( p(i ), i ) ∈A and p(i ) = 0 if i is the first operation in the routing). Similarly, let f (i )denote the operation following i in the routing of job J(i ) (i.e., (i, f (i )) ∈A, andf (i ) = ∗ if i is the last operation in the routing). Finally, an ending arc of operation iis a conjunctive arc that terminates (ends) at i, and a starting arc of operation i is aconjunctive arc that originates (starts) from i.

3. A new disjunctive graph model

First, note that using the classical representation every disjunctive arc of Eka is

replaced by a conjunctive arc in Sk, i.e., every node is related by a conjunctive arc toall the nodes that have to be processed on the same machine. When a selection Sk isacyclic – induces a feasible sequence – it is known that the transitivity property issatisfied, i.e., (i, j ), ( j, l ) ∈Sk ⇒ (i, l ) ∈Sk. Moreover, if j is sequenced somewherebetween i and l on machine k, then there is a path in Sk between i and l passingthrough j. The arc (i, l ) is thus redundant, since (i, l ) has length pi

a < pia + pj

a

≤ L(i, j ) + L( j, l ) ≤ L(i, l ).Consequently, all the redundant arcs in Sk, ∀k ∈M, can be deleted. In the result-

ing complete selection S, for every operation i with both a predecessor and a successorin the sequence of machine a(i ), one and only one arc will end at i and one and onlyone arc will start from i. Only the first operation in a sequence of a machine will haveno ending arc in S, and only the last operation will have no starting arc in S.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem284

Page 5: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

Figure 1. An illustration of the new disjunctive graph model.

Using the preceding remarks, we would like to modify and extend the disjunc-tive graph representation to the case of the multiprocessor job-shop scheduling. Letus consider the original problem in which no assignment is given. Now, in Ek there isa disjunctive arc between every pair of operations (i, j ) that may use the same machinek, i.e., k ∈Mi and k ∈Mj . Note that two disjunctive arcs of different sets Ek and Ek′will be adjacent between operations i and j if k, k′ ∈Mi > Mj . Because the processingtime of an operation depends on the machine, disjunctive arcs between the same twooperations may have different lengths.

The new disjunctive graph is illustrated in figure 1 on an example with 3machines and 3 jobs. Here, Operations 1 and 2 belong to Job 1, Operations 3, 4 and5 belong to Job 2 and Operations 6, 7 and 8 belong to Job 3. Operations 2, 3, 4, 7and 8 can only be processed on one machine (M3 = M8 = {1}, M4 = {2} and M2 = M7

= {3}), whereas Operations 1, 5 and 6 may be processed on two machines (M1 = {2, 3},M5 = {1, 3} and M6 = {1, 2}).

Finding a feasible solution for the multiprocessor job-shop scheduling means todetermine a complete selection S=

⋃k∈M Sk in the following way.

Step 1. For every operation i, direct one or two disjunctive arcs in E attached to i,and remove all the others. S must be such that:

(i) At most one conjunctive arc ends at an operation and at most one con-junctive arc starts from an operation.

(ii) If an operation has an ending and a starting arc, both arcs are in thesame set Sk.

(iii) In every Sk ≠ ∅, there must be one and only one operation without anending arc and one and only one operation without a starting arc.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 285

Page 6: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

Step 2. For every Sk ≠ ∅, set Sk = Sk < {(0, i ); ( j, ∗ )}, where operations i and j are,respectively, the first and last operations sequenced on machine k. For everySk ≠ ∅, set Sk = {(0, ∗ )}.

In condition (ii), k is actually the machine to which the operation is assigned. Incondition (iii) and in step 2, Sk ≠ ∅ means that at least one operation is assigned tomachine k. Conditions (i) and (iii) ensure that every operation, except the first andlast operations in a sequence, has a predecessor and a successor. In condition (iii), theoperation without an ending arc is the first one in the sequence and the operationwithout a starting arc is the last one in the sequence. Step 2 is used to ensure consist-ency of the notation in the remainder of the paper, since every operation in O willthen have an ending and a starting arc in S. As in the classical representation, S definesa feasible sequence if and only if the directed graph (N, A, S) is acyclic. An exampleof a feasible selection is given in figure 2.

4. Moving an operation

In [15], a technique to reassign an operation from one machine to another in adisjunctive graph is presented. Here, we show that, by using the new disjunctive graphmodel, the reassignment technique can also be used to resequence an operation on thesame machine.

Suppose that a feasible solution of the multiprocessor job-shop schedulingproblem is given, i.e., a conjunctive graph (N, A, S) in the new disjunctive graphrepresentation. Moving an operation i in O is done in the following way:

Step 1. Delete the conjunctive arcs (s, i ) and (i, t) in S connected to i, and add theconjunctive arc (s, t).

Figure 2. A feasible selection for the MJS problem of figure 1.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem286

Page 7: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

Step 2. Delete a conjunctive arc (j, k) in S, where j and k are two operations as-signed to a machine in Mi , and add the conjunctive arcs (j, i ) and (i, k).

Let a and a ′ be the assignments before and after the move, respectively. Because ofstep 2 in section 3, operations s and j can be operation 0, and operations t and k canbe operation ∗. If s is 0, then i was first in the sequence of operations on machine a(i ),and if t is ∗, then i was last in the sequence. Note that i can be both first and last ifit was the only operation assigned to a(i ). Similarly, if j is 0, then i is moved to thefirst position in the sequence of operations on machine a ′(i ), and if k is ∗, then i ismoved to the last position. Again, note that i can be simultaneously at the first andlast position if no operation was assigned to a ′(i ).

An illustration is shown in figure 3. Note that if a(i ) ≠ a ′(i ), then the operationis reassigned to another machine. If a(i ) = a ′ (i ), then the operation is resequencedon the same machine. This is a major advantage of the new disjunctive graph model

Figure 3. Moving an operation.

since, to our knowledge, all the previous approaches to the MJS problem differentiatebetween assigning and sequencing. An integrated approach allows stronger results tobe derived.

A move is feasible if it does not create a cycle in the resulting graph. Let usrecall, and express in our disjunctive graph model, the sufficient conditions, proposedin [6], which ensure that a move is feasible.

Theorem 1 No cycle is created by moving operation i, if i is sequenced betweenoperations j ( j ≠ f (i )) and k (k ≠ p(i )), ( j, k) ∈S, such that:

(1) rj < rf (i ) + paf (i ), and

(2) rk + pak > rp(i ).

Theorem 1 is proved in [6], but for completeness we repeat the proof using thenotation introduced here.

Proof There are only two possible ways of creating a cycle by moving operation i:

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 287

Page 8: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

(i) there was a path in the graph between operation i and operation j before movingi, i.e., L(i, j ) > 0,

(ii) or (and) there was a path in the graph between operation k and operation i beforemoving i, i.e., L(k, i ) > 0.

The arcs before and after i in Sa(i ) (the selection on machine a(i )) are deleted when iis moved. Thus, in case (i), if there was a path between i and j, then there was a pathbetween operation f (i ) and j in the old graph as well (since j ≠ f (i )). This impliesrj ≥ rf (i ) + pf (i ), a contradiction of the first condition.

In case (ii), operation p(i ) was on the path between k and i in the old graph (sincek ≠ p(i )). This implies rp(i ) ≥ rk + pk, a contradiction of the second condition. u

An important property of the conditions given in theorem 1 is that they are notrelated to any particular objective function. They remain valid for other criteria thanthe makespan.

5. A connected neighborhood structure

In this section we introduce a neighborhood structure, denoted by NS, for themultiprocessor job-shop scheduling problem. A neighborhood structure is for everysolution a specification of which solutions are “close” in some sense. These solutionsare called neighbors. A neighbor solution can be reached by a so-called transitionfrom the current solution. In our proposed neighborhood structure NS, a transition isgenerated by moving an operation as described in section 4, and such that the condi-tions in theorem 1 are satisfied. We shall prove that NS is connected, i.e., a globallyminimal selection can be reached from any starting selection in a finite number oftransitions.

For the classical job-shop scheduling problem, van Laarhoven et al. [19] describethe following neighborhood structure: A transition is generated by choosing succes-sive operations i and j in the sequence of a machine k such that the arc (i, j ) (∈S) iscritical, and by reversing that arc. Let Sa

opt be the set of globally minimal selectionsfor a given assignment a, and let Sa be any selection associated to a.

Theorem 2 (van Laarhoven, Aarts and Lenstra [19]) For each selection Sa ∉Saopt, it

is possible to construct a finite sequence of transitions leading from Sa to a selectionin Sa

opt.

We would like to generalize this result, i.e., the connectivity property, to ourneighborhood structure NS. To do so, we introduce two lemmas.

Lemma 1 The neighborhood structure of [19] is included in the neighborhoodstructure NS.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem288

Page 9: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

Proof In NS, reversing a conjunctive arc (i, j ) in Sa means moving i between j andthe operation k after j in Sa, ( j, k) ∈Sa (or equivalently j between the operation beforei in Sa and i ). The move is allowed in NS if the conditions in theorem 1 are satisfied.Operation i and operation j are path-adjacent because (i, j ) is critical, hencer j = ri + pa

i . Thus, since r f (i ) + paf (i ) > r f (i ) ≥ r i + pa

i ( paf (i ) > 0), the first condition in

theorem 1 is verified. Also, since rp(i ) < rp(i ) + pap(i ) ≤ ri + pa

i ( pap(i ) > 0) and rk ≥ rj + pj ,

the second condition is also verified. u

Note that NS can also be used for the classical job-shop scheduling problem.

Lemma 2 In the neighborhood structure NS, there is always a transition which allowsan operation i to be reassigned to any machine in the set Mi .

Proof Given the assignment a and an associated selection S, we want to prove thatoperation i can be reassigned to any machine l ∈Mi , l ≠ a(i ). We want to show thatthere are always two operations j and k, ( j, k) ∈Sl , such that operation j satisfiescondition (1) in theorem 1 and operation k satisfies condition (2).

For every conjunctive arc (j, k) in Sl , at least one of the two conditions issatisfied. If condition (1) is not verified, r j ≥ rf (i ) + pa

f (i ), and since rk + pak > rj and

rf (i ) + paf (i ) > rp(i ), condition (2) is satisfied. Similarly, if condition (2) is not verified,

rk + pak ≤ rp(i ), implying that condition (1) is satisfied.Moreover, if j satisfies condition (1), then all the previous operations in the

sequence (j ′ such that a( j ′ ) = l and L( j ′, j ) > 0) also satisfy condition (1) (sincerj ′ < rj ). Similarly, all the operations sequenced after k in the sequence (k ′ such thata(k′ ) = l and L(k, k ′) > 0) satisfy condition (2) if k satisfies condition (2).

Finally, one can easily check that operation 0 satisfies condition (1) (r0 = 0), andthat operation ∗ satisfies condition (2) (r∗ = maxi ∈O ri + pa

i ).Thus, there must be an operation j ( j ≠ ∗ ) and an operation k (k ≠ 0) between

0 and ∗ in the sequence of l such that (j, k) ∈Sl , and conditions (1) and (2) are veri-fied. u

As for theorem 1, an interesting property of lemma 2 is that it does not dependon the criterion.

The following theorem ensures asymptotic convergence in probability to aglobally minimal selection of the multiprocessor job-shop scheduling problem.

Theorem 3 For each selection S∉Sopt, it is possible to construct a finite sequenceof transitions leading from S to a globally minimal selection.

Proof Let a* be any assignment associated to a selection in Sopt, and a the assign-ment associated to a selection S. From lemma 2, we know that only one transition isnecessary to move an operation i from a(i ) to a* (i ) if a(i ) ≠ a* (i ), and none ifa(i ) = a* (i ). Thus, at most |O| (the cardinality of set O) transitions are necessary to

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 289

Page 10: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

switch from assignment a to assignment a* . Then using theorem 2 and lemma 1, theglobally minimal selection associated to a* can also be reached in a finite sequenceof transitions. u

From theorem 3, one knows that a global optimization technique such asSimulated Annealing converges asymptotically to a globally optimal solution. Moregenerally, having a connected neighborhood structure is often felt as a major criterionto the success of local search algorithms, e.g. Tabu Search (see Glover et al. [11]).

6. Tabu search for the MJS problem

We decided to use the above results in a tabu search procedure to validate theuse of our integrated approach for the MJS problem. The reason of choosing tabusearch instead of other search techniques, such as simulated annealing, is the apparentsuccess of tabu search on the classical job-shop scheduling problem as well as othercombinatorial optimization problems (see e.g. [17] and the papers in [11]). Further-more, in a recent survey of local search algorithms for the job-shop schedulingproblem, Vaessens et al. [18] claim that, in general, tabu search seems to be the bestlocal search technique for job-shop scheduling.

Tabu search is a local search algorithm that requires a starting solution and aneighborhood structure. Tabu search proceeds by transiting from solution to solution,using the transitions (or moves) defined by the neighborhood structure, in a system-atic way until some stopping criterion is met. Tabu search examines all of theneighbors of the current solution and selects the best admissible move (note that thismove might be a degrading one). An admissible move is a move which is not onthe tabu list, where the tabu list is a list containing forbidden moves. For a generaldescription of tabu search and examples of applications, see e.g. Glover [9,10] andGlover et al. [11].

Our implementation of tabu search is rather simple. We only use the most basicideas of tabu search, i.e., a list of tabu moves to prevent the local search from cycling.The procedure can be extended (and most likely improved) by integrating some ofthe more complex aspects of tabu search, e.g. aspiration level criterion, long-termmemory and strategic oscillation. However, it is our primary objective to show thatour neighborhood structure can indeed be used to make a powerful heuristic for theMJS problem. A simple version of tabu search should demonstrate this.

6.1. Starting solution

To generate the starting solution, we use a very simple two-step procedure. First,operations are assigned to machines and then a feasible schedule is generated for theresulting job-shop scheduling problem. Obviously, far more sophisticated procedurescan be developed. However, by using this simple procedure we are able to investigatethe robustness of our tabu search algorithm.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem290

Page 11: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

Step 1. Initial assignment. The initial assignment is determined with a very simpleheuristic in which the objective is to balance the workload on the machines. Opera-tions are first ordered in the non-decreasing order of the number of machines capableof performing the operation (i.e., the cardinality of Mi). Operations with the samenumber of possible machines are ordered in the non-increasing order of their averageprocessing times. According to the new order, every operation i is assigned to themachine k in Mi , for which the sum of the current workload (sum of the processingtimes of the operations already assigned) and the processing time of the operation( pi

a) is minimal.

Step 2. Initial classical job-shop scheduling problem. Any algorithm for theclassical job-shop scheduling problem J‖Cmax can be used in this step. In our experi-ments, we used a simple priority rule-based dispatching heuristic. The jobs areintroduced into the system in the non-decreasing order of their total processing time.Whenever there is a queue in front of a machine, the FIFO (First-In-First-Out) rule isused. This heuristic is very fast, but generally leads to rather poor solutions.

6.2. Searching the neighborhood

As previously noted, theorem 1 is used to define the neighborhood structure,i.e., the set of moves is equal to all triplets (i, j, k) of operations satisfying theorem 1.The set of moves will typically be very large and calculating the makespan for allneighbors of a solution will be very time-consuming. Hence, we use an estimate ofthe makespan after performing a move to evaluate the quality of this move. Adescription of the lower bound, LB(i, j, k), is given in section 6.3. Unfortunately, thequality of this lower bound tends to vary from one move to another, so choosing thebest move based upon lower bounds alone is not satisfactory. We will therefore dividethe set of moves into subsets based upon how potentially attractive the neighbors ofthe current solution appear.

Let us first recall the sufficient conditions proposed in Dauzère-Pérès and Paulli[6], ensuring that a move will not increase the makespan.

Theorem 4 Moving operation i between j and k will not increase the makespan Cmax

if:

(1) no cycle is created in the new sequence, and

(2) max(rp(i ) + pp(i ), rj + pj ) + pai + max(pf (i ) + qf (i ), pk + qk) ≤ Cmax.

Again, the theorem is proved in [6], but for completeness we repeat the proof here.Let r and q be the release dates and the delivery times associated with the new

graph obtained after moving operation i.

Proof The release date of operation i after moving it is˜ ˜ ˜max( ,( ) ( )r r p ri p i p i j= + + pj ).The release date of operation j can only decrease when i is moved (if i was on the

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 291

Page 12: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

longest path between 0 and j ), so r rj j≤ . Operation i cannot be on the longest pathbetween 0 and p(i ) because a cycle would be created, i.e.,˜ ( ) ( )r rp i p i= . Hence,˜ max( , ).( ) ( )r r p r pi p i p i j j≤ + + By using similar arguments, we get that˜ ( ) ( )q qf i f i=and q qk k≤ . Hence,˜ max( , ).( ) ( )q q p q pi f i f i k k≤ + +

Now, assume that the makespan increases. Then, the critical paths (whoselengths are larger than Cmax) in the new graph have been created by moving operationi. Hence, i must be on every critical path in this graph. This means that Cmax< ri + pa

i

+ ˜ max( , ) max( , ),( ) ( ) ( ) ( )q r p r p p p q p qi p i p i j j ia

f i f i k k≤ + + + + + + a contradiction ofcondition (2). u

Furthermore, if i is a critical operation and all critical paths pass through i, andif condition (2) in theorem 4 is satisfied with strict inequality, then the move (i, j, k)will decrease the makespan (see theorem 3 in [6]).

These results can be used in numerous ways to classify the set of moves. Basedon experimental studies, we decided to use the following division (hierarchy ofmoves):

R1: moves where i is critical and (i, j, k) satisfies condition (2) in theorem 4 withstrict inequality.

R2: moves where i is critical and (i, j, k) satisfies condition (2) in theorem 4 withequality.

R3: moves where i is critical, (i, j, k) does not satisfy condition (2) in theorem 4, andLB(i, j, k) < Cmax.

R4: moves where i is critical, (i, j, k) does not satisfy condition (2) in theorem 4, andLB(i, j, k) > Cmax.

R5: moves that are not in R1 < R2 < R3 < R4.

Note that the moves where i is critical, (i, j, k) does not satisfy condition (2) intheorem 4 and LB(i, j, k) = Cmax are only considered in R5. Experimental studiesindicated that these moves are rarely interesting, since the schedule changes very littleand chances of finding a better move in the next step are small.

R1 is the set containing the most interesting moves, since a move in R1 will neverincrease the makespan, and in some cases we know for sure that the move willdecrease the makespan. The moves in R2 are not so interesting a priori, but we knowthat the makespan will never increase after such a move. In R3, a move might improvethe makespan, but it might also increase the makespan (if the lower bound is anunderestimation). And with a move in R4, we know for sure that the makespan willincrease. Common to all the moves in R1 to R4 are that they change something on oneor more of the critical paths. This is not always the case in the last set R5, but thesemoves might help the search to escape from a local optimum.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem292

Page 13: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

The best admissible move is now the first non-tabu move found in the lowestindexed set Ri , when searching each of the sets in order of non-decreasing lowerbounds LB(i, j, k).

In the simple tabu search procedure we propose, the above hierarchy of movesshowed the best results (among those we tested). When designing a more sophisti-cated tabu search procedure, it might be advantageous to use other hierarchies or tochange between different hierarchies occasionally to diversify the search.

6.3. Lower bounds onCmax

In this section, we look at lower bounds on the makespan of the scheduleobtained by moving operation i from its current position to a new position betweenoperations j and k, and when the move satisfies theorem 1. We will use these lowerbounds to evaluate the quality of a move without actually making it. These lowerbounds are thus an essential part of most search techniques since they are used tochoose between various possible moves.

In the following, let P( j ) denote the set of operations on all paths from 0 to jand let F(k) denote the set of operations on all paths from k to ∗. Furthermore, let sand t be the operations right before and right after i on machine l before moving i(note that s ∈P(i ) and t ∈F(i )). Finally, let againr and q be the release dates andthe delivery times associated with the graph obtained after moving operation i, andlet Cmax be the new makespan.

Theorem 5 Using the neighborhood structure NS, the makespan of the scheduleobtained by moving operation i between operation j and operation k is always largerthan

where ˜ ˜ ˜max( , ),( ) ( )r r p r pi p i p i j j= + + and ˜ ˜ ˜max( , ).( ) ( )q p q p qi f i f i k k= + +Observe that ( ) ( ) ,r rp i p i= since i cannot be on the longest path between 0 and

p(i ) (this would create a cycle and we know the move is feasible). Similarly,˜ ( ) ( ) .q qf i f i= To prove theorem 5, we thus have to show that˜ ˆr rj j≥ and ˜ ˆ .q qk k≥

LB i j k r p r p p p q p qp i p i j j ia

f i f i k k1 ( , , ) max( , ˆ ) max( , ˆ ),( ) ( ) ( ) ( )= + + + + + +′

where

ˆmax( , ) ( ),

( ).( ) ( )

qq q p q p q i F k

q i F kkk s f s f s t t

k=

− + + +

∈∉

if

if

Proof The longest path passing through i is a lower bound on the makespan aftermoving i. Hence,

˜ ˜ ˜ ,r p q Ci il

i+ + ≤′max

ˆmax( , ) ( ),

( );( ) ( )

rr r r p r p i P j

r i P jjj t p t p t s s

j=

− + + +

∈∉

if

if

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 293

Page 14: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

i ∈P( j ): First, note that i ∈P( j ) ⇒ t ∈P( j ) < j. If t ∉P( j ) and t ≠ j, then f (i ) hasto belong to P( j ), i.e., rf (i ) + pf (i ) ≤ rj , a contradiction of condition (1) in theorem 1.

Next, observe that the following relation holds:

˜ ˜( ),r r r rj j t t≥ − −

where ˜ ˜ ˜max( , ).( ) ( )r r p r pt p t p t s s= + + To prove this, two cases have to be considered.

(i) t is not on the longest path between 0 and j before the move. Since f (i ) ∉P( j ),operation i cannot be on the longest path between 0 and j before the move.Hence,˜ ˜( , ) ( , ) .r L j L j rj j= = =0 0 Moreover, since i is sequenced before t inthe current graph and after j in the new graph, the path between t and j stillexists in the new graph. Consequently, there cannot be a path between i and t inthe new graph, since this would create a cycle. Hence, the longest path between0 and t can only decrease by moving i, i.e., ˜ ˜( , ) ( , )r L t L t rt t= ≤ =0 0 , and therelation is satisfied.

(ii) t is on the longest path between 0 and j before the move. This implies thatL(0, j ) = L(0, t) + L(t, j ). After the move, t might not be on the longest path anymore, i.e., ˜ ˜ ˜( , ) ( , ) ( , ).L j L t L t j0 0≥ + Again, the longest path between t and jcannot change, i.e.,L t j L t j( , ) ( , ).˜= Since L(t, j ) = L(0, j ) – L(0, t) = rj – r t

and ˜ ˜ ˜ ˜ ˜( , ) ( , ) ( , )L t j L j L t r rj t≤ − = −0 0 , we obtain thatr r r rj t j t− ≤ −˜ ˜ , and therelation is satisfied.

Finally, we can evaluaters and ˜ ( )rp t and obtain a lower bound onrj only byusing information from the current graph.

Because t ∈P( j ) < { j }, s is sequenced before i both in the current and the newgraph, andr rs s= .

The longest path from 0 to p(t) does not change by removing i, since this wouldimply that there is a path from i to p(t) in the current graph. This path has to gothrough f (i ), since t is the operation after i on machine l and p(t) cannot follow t. Thisimplies that rf (i ) + pf (i ) ≤ rp(t) < rt ≤ rj , a contradiction of condition (1) in theorem 1.Similarly, the longest path from 0 to p(t) does not change after inserting i between jand k since t ∈P( j ) < { j }, i.e., there is no path between i and p(t) in the new graph.Hence,˜ ( ) ( )r rp t p t= .

Inserting these evaluations in the relation gives the following lower bound onthe new release date of operation j :

˜ ˜( ) max( , ) ˆ .( ) ( )q q q q q q p q p q qk k s s k s f s f s t t k≥ − − = − + + + =

i ∉P( j ): The longest path from 0 to j is not affected by moving i, hence˜ ˆr r rj j j= = .

i ∈F (k): With arguments similar to the case i ∈P( j ), one gets that

˜ max( , ) ˆ .( ) ( )r r r r p r p rj j t p t p t s s j≥ − + + + =

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem294

Page 15: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

i ∉F (k): The longest path from k to ∗ is not affected by moving i, hence q qk k== qk . u

The sets P( j ) and F( j ), ∀j can be computed in linear time in the number ofoperations using a simple labelling algorithm and the fact that

P i P s P p i s p i F i F t F f i t f i( ) ( ) ( ( )) { } { ( )} ( ) ( ) ( ( )) { } { ( )},= =< < < < < <and

where P(0) = {0} and F(∗) = { ∗}.

Remark 1 The makespan of the schedule obtained by moving operation i betweenoperation j and operation k is always larger than

LB i j k r p p qs s t t2 ( , , ) .= + + +

Proof Observe that neither L(0, s) nor L(t, ∗) will decrease by moving i. The lengthof the longest path passing through s and t (now adjacent in the new graph) is a lowerbound on the new makespan. Hence,C r p p qs s t tmax ≥ + + + . u

Note that if operation i is not on a critical path or if there is a critical path notpassing through i, then the makespan cannot be decreased by moving i. In thesecases, Cmax is also a lower bound on the makespan after moving i. However, whenusing this lower bound a lot of moves will have the same lower bound (Cmax), evenif some moves would a priori seem more interesting (e.g. those moves that make acritical operation non-critical). Hence, we will use the following lower bound on themakespan obtained by moving operation i between operation j and operation k:

LB i j k LB i j k LB i j k( , , ) max( ( , , ), ( , , )).= 1 2

6.4. The tabu list

The purpose of the tabu list is to prevent the search from degenerating by startingto cycle between the same solutions. Normally, this is done by letting the tabu listconsist of some characterization of the last s moves performed. The tabu list is initial-ized empty, constructed in s consecutive iterations and updated circularly in lateriterations. The parameter s is called the tabu list size and need not be fixed during allof the search.

The following recommendations on the tabu list are based on computationalexperiments on the problems from test sample 1 (see section 7.1). However, this tabulist also gives good results on the other test samples.

We tried out three different types of tabu lists. Again, i is the operation beingmoved between operations j and k, s and t are the operations before and after i in thecurrent sequence and a(i ) is the machine operation i was assigned to before the move.The three tabu lists tested were constructed and used in the following ways:

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 295

Page 16: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

(1) (s, t) is added to the tabu list. A move (i ′, j ′, k ′) is forbidden if (j ′, k′) belongsto the tabu list.

(2) (i, a(i )) is added to the tabu list. A move (i ′, j ′, k ′) is forbidden if (i ′, a( j ′)) (or(i ′, a(k ′)) if j ′ = 0) belongs to the tabu list.

(3) (i, j ) is added to the tabu list. A move (i ′, j ′, k ′) is forbidden if (i ′, j ′) or (k′, i ′)belongs to the tabu list.

In our computational experiments the third type of tabu list showed the best resultsand consequently was used in the computational experiments presented of section 7.

The size of the tabu list is crucial to the success of the tabu search procedure,hence the best results will be obtained by tuning s for each particular problem. Thiscan, however, be very time-consuming, so instead we suggest, based on the compu-tational experiments, to use the following generic tabu list size:

s M m e

Oni

i O

= + + −

∈∑25 1ln ,| | | |y

where |Mi| is the number of machines on which operation i can be processed and |O|is the total number of operations.

∑ i ∈O|Mi|ym is the average number of machines on which an operation can beprocessed and |O|yn is the average number of operations being processed on amachine. The size of the tabu list thus consists of a constant term and a term depend-ing on the flexibility of the system, and on the average load on a machine. We use thisgeneric tabu list size in all the results presented in section 7.

Computational experiments further indicate that it is advantageous to vary thesize of the tabu list during the search. We used an approach suggested in Taillard [17],where the procedure starts with s0 = s as defined above. s is then changed randomlybetween b0.8s0c and d1.2s0e every d1.3s0e iteration.

6.5. The algorithm – a summary

Below, an overview of the proposed tabu search procedure for the MJS problemis given, using the elements detailed in the above sections.

Step 1. Find a starting solution using the algorithm described in section 6.1.

Step 2. Repeat the following until Maxiter iterations without improvement on themakespan have been performed.

• Search the neighborhood using the strategy suggested in section 6.2 to findthe best non-tabu move.

• Perform the move along the lines given in section 4.• Find the makespan of the new solution and update the ri’s and qi’s.• Update the tabu list as suggested in section 6.4.

Step 3. Restore the best solution and stop.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem296

Page 17: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

The parameter Maxiter controls the trade-off between solution quality and speed.By increasing Maxiter, the solution quality cannot get worse and the CPU timeincreases.

Unless otherwise stated, we used Maxiter = 10000 in our experiment, since thisgave a reasonable trade-off between solution quality and speed.

7. Computational experiments

We conducted three different sets of computational experiments. The first set ofdata is taken from Hurink et al. [13], generated from the job-shop problems of Fisherand Thompson [7] and Adams et al. [1]. In section 7.2, we generated problems for anFMS in which the number of operations is larger than the number of machines andthe flexibility is gradually increased. Both test samples were also used for computa-tional experiments in Dauzère-Pérès and Paulli [6], so a comparison of the differentsolution approaches is possible. Finally, in section 7.3, we test our procedure on anumber of classical job-shop scheduling problems.

The procedure is implemented in PASCAL on an HP9000/735 workstation.In the following, LB denotes a lower bound on the solution, Cstart denotes the

starting solution, Cbest denotes the final solution found using the procedure, CPUs isthe amount of CPU seconds used by the procedure, and Cpub1 denotes the best knownsolution. When an optimal solution is known, Cpub1 obviously equals the lower boundLB (in which case the lower bound is marked with an asterisk).

7.1. Test sample 1

The first test sample comes from Hurink et al. [13]. The problems are generatedfrom three problems by Fisher and Thompson [7] (m06, m10 and m20) and 40 prob-lems from Adams et al. [1] (l01– l40). m06 is a 6× 6 problem (6 machines and 6 jobs– originally with one operation on each machine), m10 and m20 are, respectively,10 × 10 and 5× 20 problems. l01– l05 are 5× 10, l05–l10 are 5× 15, l11– l15 are5 × 20, l16– l20 are 10× 10, l21– l25 are 10× 15, l26– l30 are 10× 20, l31– l35 are10 × 30 and l36–l40 are 15× 15 problems. Each set Mi is equal to the machine towhich operation i is assigned in the original problem, plus any of the other machineswith a given probability. Depending on this probability, Hurink et al. generated threesets of test problems: edata, rdata, and vdata. The first set, edata, contains theproblems with the least amount of flexibility (close to the original job-shop schedul-ing problems), whereas the average size of Mi is equal to 2 in rdata and my2 in vdata.For more details, see [13].

The results obtained on the three test sets are shown in table 1. The lower boundsare those reported in [13]. If the lower bound is marked with an asterisk, it is provedto be the makespan of an optimal solution by Hurink et al. [13]. Those lower boundsmarked with two asterisks were proved to be the makespan of the optimal solutionduring our experiments (eleven cases).

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 297

Page 18: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

Table 1

Results of our tabu search procedure on the Hurink et al. data.

Data edata rdata vdata

LB Cstart Cbest CPUs LB Cstart Cbest CPUs LB Cstart Cbest CPUs

m06 *55 60 55 14.9 *47 56 47 16.8 *47 56 47 18.7m10 *871 1180 878 64.0 679 1008 686 81.2 *655 1021 655 57.7m20 *1088 1531 1106 95.6 **1022 1358 1024 94.1 *1022 1328 1022 175.3l01 *609 710 609 22.1 570 693 574 32.9 *570 654 572 69.3l02 *655 863 655 27.0 529 717 532 61.7 *529 715 529 43.8l03 *550 702 554 40.2 477 655 479 49.5 477 600 479 38.7l04 *568 731 568 55.8 *502 652 504 50.4 *502 729 503 31.3l05 *503 612 503 22.9 *457 622 458 32.6 457 590 460 38.3l06 *833 894 833 35.2 **799 903 800 53.9 *799 924 800 57.2l07 *762 916 765 61.6 749 931 750 98.7 **749 909 750 84.5l08 *845 991 845 35.9 765 1000 767 48.1 **765 931 766 60.7l09 *878 1084 878 38.6 **853 1078 854 79.9 **853 959 853 110.4l10 *866 989 866 34.1 **804 886 805 52.4 *804 1017 805 74.7l11 1087 1255 1103 104.3 *1071 1382 1072 79.8 *1071 1165 1071 168.1l12 *960 1130 960 58.9 **936 1003 936 99.8 *936 1021 936 99.4l13 *1053 1171 1053 53.2 *1038 1198 1038 93.2 *1038 1056 1038 89.4l14 *1123 1238 1123 80.3 *1070 1323 1070 117.8 **1070 1280 1070 122.2l15 *1111 1425 1111 92.7 1089 1278 1090 90.6 **1089 1129 1089 156.5l16 *892 1157 915 39.8 *717 1085 717 53.9 *717 1095 717 46.7l17 *707 902 707 68.9 *646 900 646 42.0 *646 985 646 46.8l18 *842 1051 843 52.4 *666 999 669 43.4 *663 984 663 49.9l19 *796 1017 796 91.8 647 1015 703 71.4 *617 992 617 62.4l20 *857 1104 864 46.7 *756 1137 756 41.9 *756 1061 756 50.4l21 895 1436 1046 105.8 808 1202 846 281.4 800 1194 814 139.8l22 832 1241 890 156.5 737 1152 772 155.6 733 1140 744 228.6l23 950 1224 953 111.5 816 1337 853 156.1 809 1331 818 336.8l24 881 1180 918 104.2 775 1213 820 162.5 773 1228 784 174.6l25 894 1241 955 62.3 752 1201 802 104.2 751 1161 757 384.1l26 1089 1468 1138 150.5 1056 1566 1070 170.5 1052 1566 1056 298.0l27 1181 1654 1215 124.2 1085 1473 1100 246.1 1084 1674 1087 443.1l28 1116 1541 1169 134.7 1075 1544 1085 203.0 1069 1509 1072 350.9l29 1058 1587 1157 161.4 993 1529 1004 225.5 993 1382 997 198.0l30 1147 1699 1225 214.9 1068 1584 1089 187.4 1068 1585 1071 305.8l31 1523 1883 1556 219.0 1520 1941 1528 173.4 1520 2005 1521 554.0l32 **1698 1936 1698 185.6 1657 1960 1660 461.8 1657 1979 1659 420.8l33 *1547 2034 1547 199.4 1497 1937 1501 359.1 1497 1765 1498 505.8l34 1592 1865 1623 362.6 1535 1941 1539 287.7 1535 1897 1537 422.4l35 *1736 2000 1736 121.8 1549 1939 1555 200.8 1549 2092 1551 510.3l36 1006 1540 1171 119.8 1016 1564 1030 193.2 *948 1509 948 124.6l37 1355 1724 1418 128.9 989 1624 1082 174.6 *986 1445 986 149.5l38 1019 1556 1172 138.5 943 1606 989 134.1 *943 1384 943 135.5l39 1151 1565 1207 119.9 966 1506 1024 138.0 *922 1420 922 158.7l40 1034 1487 1150 287.1 955 1496 980 172.5 *955 1475 955 138.1

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem298

Page 19: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

The first thing to be observed from table 1 is that the quality of the startingsolution is rather low. On average, the makespan of the starting solutions is 35% abovethe lower bounds, with a worst case of 70%. Although the makespan of the startingsolutions in general decreases as the flexibility increases (from edata to rdata and fromrdata to vdata), so does the lower bound.

The second observation from table 1 is that by using our tabu search proceduresubstantial improvement in the makespan can be obtained. In fact, the makespan ofthe best solutions is only 1.64% above the lower bound on average, with a worst caseof 17%. This implies that our tabu search procedure is quite robust, i.e., not toosensitive to the quality of the starting solution.

The test problems in edata seem to be more difficult than the test problems inrdata and vdata. For some of the test problems in edata, the deviation from the lowerbound is quite high, e.g. l36– l40. Admittedly, this might be caused by poor lowerbound quality for these problems, but it might also come from the fact that the testproblems get easier as the flexibility increases. In edata, the test problems are stillclose to the original job-shop scheduling problems, hence most of the moves areresequencing moves.

In table 2, the results of our tabu search procedure are repeated and comparedwith the makespan of the best solutions published so far. The columns Cpub1 containthe minimum of the makespans published in [13] (resulting from the use of twodifferent neighborhoods) and the ones published in [6]. Table 2 almost speaks foritself. Our tabu search procedure outperforms the combined effort of the three otherprocedures in 78 cases, whereas it is outperformed in only 9 cases, with an increaseof at most 0.62%. Furthermore, it should be noted that by increasing the number ofiterations (increasing Maxiter), it is possible to eliminate the 9 cases where one of theother three procedures outperforms our tabu search procedure.

Before we proceed with other test samples, we will now look on how thesuggested hierarchy of moves (R1–R5) performs. Recall that the moves in R1 and R2

will never increase the makespan, the moves in R3 may either decrease, maintain orincrease the makespan, and finally the moves in R4 and R5 will increase the makespan.Table 3 shows how the moves performed during the search are divided betweenR1–R5. The numbers in the table are averages of the corresponding percentages of thedivisions for each test problem. It should be noted that in none of our test problemsdid we perform a move in R5. The neighborhood is thus big enough to avoid movingnon-critical operations. Table 3 also shows that the flexibility of the test problemsinfluences how the moves are divided between R1–R4. The more flexible a problemis, the more non-increasing moves (R1 and R2) there are to choose from. In fact, thispattern becomes even clearer if one includes problems with no flexibility in the choiceof machines (the classical job-shop scheduling problem – see section 7.3).

The number of moves performed before the best solution is found varies consid-erably from problem to problem, as is usual for tabu search. How many iterations ittakes does not seem to depend (in any obvious way) on flexibility, size of test problem

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 299

Page 20: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

Table 2

Comparison with prior results on the Hurink et al. data.Boldfaced values indicate the best solution values.

Data edata rdata vdata

Cpub1 Cbest Cpub1 Cbest Cpub1 Cbest

m06 56 55 47 47 47 47m10 873 878 710 686 655 655m20 1109 1106 1028 1024 1023 1022l01 609 609 574 574 573 572l02 655 655 535 532 530 529l03 566 554 481 479 481 479l04 573 568 506 504 503 503l05 503 503 458 458 461 460l06 833 833 801 800 799 800l07 765 765 752 750 751 750l08 845 845 767 767 766 766l09 878 878 856 854 854 853l10 866 866 805 805 805 805l11 1106 1103 1073 1072 1072 1071l12 960 960 937 936 938 936l13 1053 1053 1039 1038 1040 1038l14 1123 1123 1071 1070 1071 1070l15 1111 1111 1093 1090 1091 1089l16 924 915 717 717 717 717l17 723 707 646 646 646 646l18 861 843 673 669 663 663l19 805 796 709 703 617 617l20 901 864 756 756 756 756l21 1046 1046 861 846 815 814l22 905 890 790 772 744 744l23 972 953 878 853 826 818l24 940 918 825 820 796 784l25 967 955 821 802 769 757l26 1149 1138 1081 1070 1058 1056l27 1220 1215 1106 1100 1088 1087l28 1165 1169 1090 1085 1073 1072l29 1178 1157 1010 1004 995 997l30 1253 1225 1105 1089 1070 1071l31 1572 1556 1529 1528 1521 1521l32 1698 1698 1666 1660 1658 1659l33 1547 1547 1505 1501 1498 1498l34 1613 1623 1540 1539 1536 1537l35 1736 1736 1556 1555 1550 1551l36 1235 1171 1054 1030 948 948l37 1423 1418 1122 1082 986 986l38 1185 1172 1001 989 943 943l39 1226 1207 1041 1024 922 922l40 1188 1150 1009 980 955 955

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem300

Page 21: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

Table 3

Statistics over the moves performed during the search.

Data R1 R2 R3 R4 R5

edata 39.4% 4.2% 32.2% 24.2% 0.0%rdata 52.7% 9.5% 19.2% 18.6% 0.0%vdata 52.9% 15.4% 16.3% 15.4% 0.0%

or the quality of the starting solution. The average number of moves performed isaround 6300, but the minimum is one move and the maximum is 31000 moves. How-ever, for many of the test problems, it takes less than 100 moves for the makespan tobe within 1–2% of the lower bound even though the starting solution is often morethan 30 – 40% from the lower bound. This indicates that by using an integratedapproach, the proposed tabu search procedure is very robust and that the poor startingsolutions do not influence the solution quality too much. However, further computa-tional experiments with more sophisticated starting heuristics need to be made to fullyvalidate this conjecture.

7.2. Test sample 2

Five sets of 18 test problems were generated using the data in table 4. Column〈J〉 gives the range of the number of operations on the routing of job J and column〈pi〉 the range of the average processing time of operation i on the machines in Mi .∆pi is the maximal deviation from pi for every machine in Mi . All parameters wererandomly generated from a uniform distribution within the specified ranges. Finally,Mi , the set of machines capable of performing operation i, was constructed by lettingmachine l be in Mi with probability P. If Mi is empty, and because every operationhas to be performed on at least one machine, a machinel is selected at random,and M li = { }. Note that as P approaches zero, the test problem will tend toward a job-shop scheduling problem.

Table 5 shows the results of the procedure on the first of the five test sets. CMJS2

is the best makespan found by the procedure MJS2 in Dauzère-Pérès and Paulli [6].Again, it is seen that the quality of the starting solution is low and that the tabu

search procedure leads to substantial improvements in the solutions. The results onall of the 18 test problems clearly show that the tabu search procedure is better thanthe MJS2 procedure. Comparing the results for the tabu search procedure with theresults for the procedure MJS2 shows the benefits from using an integrated approachfor solving the MJS problems. In the MJS2 procedure, we alternate between opti-mizing the classical job-shop scheduling problem and the operation reassignmentproblem. By decomposing the MJS problem into these two parts, the problem is morecomprehensible but, as table 5 clearly shows, at the cost of solution quality.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 301

Page 22: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

Table 4

Data for test problems of sample 2.

Problem n m 〈J〉 〈pi〉 ∆pi P

1 10 5 15–25 10–100 0 0.12 10 5 15–25 10–100 0 0.33 10 5 15–25 10–100 0 0.54 10 5 15–25 10–100 5 0.15 10 5 15–25 10–100 5 0.36 10 5 15–25 10–100 5 0.57 15 8 15–25 10–100 0 0.18 15 8 15–25 10–100 0 0.39 15 8 15–25 10–100 0 0.5

10 15 8 15–25 10–100 5 0.111 15 8 15–25 10–100 5 0.312 15 8 15–25 10–100 5 0.513 20 10 20–25 10–100 0 0.114 20 10 20–25 10–100 0 0.315 20 10 20–25 10–100 0 0.516 20 10 20–25 10–100 5 0.117 20 10 20–25 10–100 5 0.318 20 10 20–25 10–100 5 0.5

Table 5

Results on the first set of test problems.

Data LB Cstart Cbest CPUs CMJS2

1a 2505 3230 2530 260.1 26422a 2228 3130 2244 251.2 23173a 2228 2807 2235 256.2 22634a 2503 3238 2565 263.9 26485a 2189 3071 2229 317.9 23196a 2162 2847 2216 378.2 22637a 2187 3015 2408 305.7 24738a 2061 3191 2093 260.5 21509a 2061 3033 2074 685.2 2127

10a 2178 3114 2362 251.6 246011a 2017 2913 2078 894.7 212412a 1969 2854 2047 839.6 207313a 2161 2972 2302 328.9 236014a 2161 3519 2183 681.6 222415a 2161 3002 2171 1732.4 229516a 2148 3008 2301 341.7 239117a 2088 3054 2169 491.8 221118a 2057 3185 2139 1944.7 2160

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem302

Page 23: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

The pattern of table 5 can be found on the remaining four test sets as well. Forbrevity, these results are omitted since little new information can be derived fromthese tables.

7.3. Test sample 3

The test problems on this sample are all classical job-shop scheduling problems.Since the classical job-shop scheduling problem is a special case of the MJS problem,our tabu search procedure can also be used to solve these problems. We tested thetabu search procedure on the original 43 test problems from [7] and [1], used togenerate test sample 1 (see section 7.1). The results are shown in tables 6 and 7. Inthe following three tables the column Cpubl contains the makespans of the best knownsolution for the problems so far (based on [4] and [14]).

Table 7

Results on the 40 Lawrence test problems.

Data LB Cstart Cbest CPUs Cpubl Data LB Cstart Cbest CPUs Cpubl

l01 *666 702 666 21.1 666 l21 995 1299 1057 143.7 1047l02 *655 863 655 23.5 655 l22 *927 1301 948 78.2 927l03 *597 756 603 30.4 597 l23 *1032 1255 1032 63.9 1032l04 *590 728 590 24.6 590 l24 *935 1233 946 164.0 935l05 *593 638 593 21.1 593 l25 *977 1308 992 81.6 977l06 *926 953 926 33.4 926 l26 *1218 1426 1218 184.4 1218l07 *890 1047 890 37.4 890 l27 1235 1664 1269 165.9 1236l08 *863 991 863 35.2 863 l28 *1216 1445 1237 177.4 1216l09 *951 951 951 35.7 951 l29 1114 1528 1215 135.8 1160l10 *958 958 958 33.3 958 l30 *1355 1632 1355 114.1 1355l11 *1222 1380 1222 50.0 1222 l31 *1784 2040 1784 126.5 1784l12 *1039 1127 1039 51.5 1039 l32 *1850 1993 1850 124.2 1850l13 *1150 1173 1150 51.2 1150 l33 *1719 2003 1719 126.6 1719l14 *1292 1292 1292 51.5 1292 l34 *1721 1950 1721 140.4 1721l15 *1207 1504 1207 59.6 1207 l35 *1888 2126 1888 123.2 1888l16 *945 1265 959 44.0 945 l36 *1268 1557 1313 86.8 1268l17 *784 946 785 46.0 784 l37 1355 1629 1456 95.3 1407l18 *848 1115 861 41.0 848 l38 1077 1623 1254 97.1 1196l19 *842 1094 850 38.9 842 l39 *1233 1560 1245 201.2 1233l20 *902 1164 902 79.5 902 l40 1170 1677 1242 112.2 1229

Table 6

Results on the three Fisher and Thompson test problems.

Data LB Cstart Cbest CPUs Cpubl

m06 *55 60 55 15.2 55m10 *930 1220 966 58.6 930m20 *1165 1622 1178 68.7 1165

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 303

Page 24: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

The results with our tabu search procedure are good compared to e.g. the resultsreported in Adams et al. [1] with their Shifting Bottleneck procedure, but are not asgood as the ones reported in Nowicki and Smutnicki [14] with a very specialized tabusearch procedure. The tabu search procedure by Nowicki and Smutnicki is nominatedas the (current) best heuristic for the classical job-shop scheduling problem inVaessens et al. [18].

It should be noted that, since there are only resequencing moves in a classicaljob-shop scheduling problem, the number of possible moves in each iteration is muchsmaller, and a bad starting solution might have a more important effect. Our experi-ments indicated that by adjusting the size of the tabu list to the test problem (on atrial-and-error basis), better solutions can be obtained. Furthermore, by making smallchanges in the way the procedure searches the neighborhood of a solution (again, ona trial-and-error basis), the solution quality can be improved. Finally, by increasingthe value of Maxiter, we are able to get substantially better results for many of thetest problems on which our procedure did not perform so well.

Table 8 shows the results with Maxiter = 200000 on the 19 test problems fromtables 6 and 7 where the procedure did not find the optimal solution. In 6 out of the19 test problems, the procedure now finds the optimal solution. In particular, it is

worth noticing that our procedure is able to find the optimal solution to the notorious10 × 10 problem (m10) by Fisher and Thompson. Furthermore, the solution found forl21 is, to the best of our knowledge, the best solution reported on this test problem.Still, the tabu search procedure for the classical job-shop scheduling problemdescribed in [14] is still slightly better (and considerably faster) than our tabu searchprocedure for the general MJS problem used on classical job-shop schedulingproblems. However, since our tabu search procedure is very simple, it is an obvioustopic for further computational experiments to see whether sophisticating the searchstrategies could improve the solution quality (and perhaps also the speed).

Table 8

Results on selected test problems. Maxiter = 200000.

Data LB Cbest CPUs Cpubl Data LB Cbest CPUs Cpubl

m10 *930 930 1418.9 930 l25 *977 983 1941.8 977m20 *1165 1178 1050.6 1165 l27 1235 1264 2399.3 1236l03 *597 597 479.0 597 l28 *1216 1220 2436.5 1216l16 *945 945 1602.7 945 l29 1114 1178 2504.5 1160l17 *784 784 876.2 784 l36 *1268 1292 3023.6 1268l18 *848 848 796.2 848 l37 1355 1412 2457.2 1407l19 *842 842 1042.9 842 l38 1077 1202 4249.0 1196l21 995 1046 2131.8 1047 l39 *1233 1242 2924.2 1233l22 *927 932 2357.8 927 l40 1170 1239 3549.0 1229l24 *935 938 2134.6 935

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem304

Page 25: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

8. Conclusion

Several results for the multiprocessor job-shop scheduling problem have beenpresented in this paper. First, we extended the classical disjunctive graph model forjob-shop scheduling to take into account the fact that operations have to be assignedto machines in the MJS problem. Using the new representation, we proposed anintegrated approach in which moving an operation means equivalently reassigning itto another machine or resequencing it on the same machine. We showed that thesufficient conditions presented in [6], ensuring that moving an operation will notcreate a cycle in the disjunctive graph, can be used to define a neighborhood structurefor the MJS problem. We proved that this neighborhood is connected, i.e., there is afinite sequence of moves leading from any given solution to an optimal one. We usedthese results to propose a tabu search procedure for the MJS problem. Key elementsin making this procedure efficient are the sufficient conditions ensuring that movingan operation will not increase the makespan, as well as the lower bound derivedin this paper on the makespan of the schedule obtained by moving an operation.Computational experiments were conducted on three different sets of test problems.Our integrated procedure seems to be superior to prior heuristics for the MJS prob-lem, and has quite satisfying results on classical job-shop scheduling problems aswell. Investigating whether a more specialized version would be a good heuristic forthe classical job-shop scheduling problem is a topic for future research.

It should be noted that the procedure is quite simple. Our primary objective wasto show that our neighborhood structure can indeed be used to make a powerfulheuristic for the MJS problem. Although it still needs to be investigated, it is likelythat our procedure can be improved by considering important features of tabu searchsuch as the aspiration level criterion, long-term memory and strategic oscillation.

As other topics for future research, our results could be used in designing otherlocal search algorithms, e.g. simulated annealing, and to tackle other objective func-tions, since some of our results are also valid for other criteria than the makespan. Animportant extension we are currently working on is the case where operations mayhave to be performed on several machines simultaneously and the choice of thesemachines has also to be made.

Acknowledgement

The authors are grateful to the referees for their useful comments and sugges-tions.

References

[1] J. Adams, E. Balas and D. Zawack, The shifting bottleneck procedure for job-shop scheduling,Management Science 34(1988)391 – 401.

[2] P. Brandimarte, Routing and scheduling in a flexible job shop by tabu search, Annals of OperationsResearch 41(1993)57–183.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem 305

Page 26: An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search

[3] P. Brucker and R. Schlie, Job-shop scheduling with multi-purpose machines, Computing 45(1990)369–375.

[4] P. Brucker, B. Jurisch and B. Sievers, A branch and bound algorithm for the job-shop schedulingproblem, Discrete Applied Mathematics 49(1994)107–127.

[5] S. Dauzère-Pérès, A connected neighborhood structure for the multiprocessor job-shop schedulingproblem, Management Report Series No. 180, Rotterdam School of Management, ErasmusUniversiteit Rotterdam, The Netherlands, 1994.

[6] S. Dauzère-Pérès and J. Paulli, Solving the general multiprocessor job-shop scheduling problem,Management Report Series No. 182, Rotterdam School of Management, Erasmus UniversiteitRotterdam, The Netherlands, 1994.

[7] H. Fisher and G.L. Thompson, Probabilistic learning combinations of local job-shop schedulingrules, in: Industrial Scheduling, J.F. Muth and G.L. Thompson, eds., Prentice Hall, EnglewoodCliffs, 1963, pp. 225–251.

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

[9] F. Glover, Tabu Search – Part I, ORSA Journal on Computing 1(1989)190–206.[10] F. Glover, Tabu Search – Part II, ORSA Journal on Computing 2(1990)4–32.[11] F. Glover, E. Taillard and D. de Werra, A user’s guide to tabu search, Annals of Operations Research

41(1993)3–28.[12] F. Glover, M. Laguna, E. Taillard and D. de Werra (eds.), Tabu search, Annals of Operations

Research 41(1993) (the complete volume).[13] J. Hurink, B. Jurisch and M. Thole, Tabu search for the job-shop scheduling problem with multi-

purpose machines, OR Spektrum 15(1994)205–215.[14] E. Nowicki and C. Smutnicki, A fast taboo search algorithm for the job shop problem, Preprint

8/93, Institute of Engineering Cybernetics, Technical University of Wroclaw, 1993.[15] J. Paulli, A hierarchical approach for the FMS scheduling problem, to appear in European Journal

of Operational Research, 1995.[16] B. Roy and B. Sussman, Les problèmes d’ordonnancement avec contraintes disjonctives, Note DS

No. 9 bis, SEMA, Montrouge, 1964.[17] E. Taillard, Parallel taboo search techniques for the job shop scheduling problem, ORSA Journal

on Computing 6(1994)108–117.[18] R.J.M. Vaessens, E.H.L. Aarts and J.K. Lenstra, Job shop scheduling by local search, Memoran-

dum COSOR 94-05, Eindhoven University of Technology, The Netherlands, 1994.[19] P.M. van Laarhoven, E.H.L. Aarts and J.K. Lenstra, Job shop scheduling by simulated annealing,

Operations Research 40(1992)113–125.

S. Dauzère-Pérès, J. Paulliy The multiprocessor job-shop scheduling problem306