You are on page 1of 19

Annals of Operations Research 26(1990)269-287 269

A PRACTICAL USE OF JACKSON'S PREEMPTIVE SCHEDULE


FOR SOLVING THE JOB SHOP PROBLEM

J. CARLIER
Universite de Technologie de Compiegne, France
and
E. PINSON
Institut de Mathematiques Appliquees, Universite Catholique de /'Ouest, B.P. 808,
49005 Angers Cedex, France

Abstract
In this paper, we present a polynomial algorithm for optimally adjusting heads and
tails in the job shop problem. This algorithm is based on Jackson's preemptive schedule
for the one-machine problem. We next use this algorithm to construct a new branch and
bound method. Computational results show the superiority of this method over the
classical ones.

Keywords
Polynomial algorithm, job shop, branch and bound.

1. Introduction
In the job shop problem, n jobs have to be processed on m machines with a
minimal makespan [16]. It is an NP-hard problem in the strong sense [10, 14],
which is the subject of a considerable amount of study because of its many
possible applications. Methods proposed are heuristic [1] as well as branch and bound
ones [2,3,8].
In a previous paper [8], we proposed an efficient enumerative method for the
job shop problem which, for the first time, solved the famous 10 x 10 problem of ref.
[16]. This branch and bound method used Jackson's preemptive schedule JPS for
computing lower bounds. In this paper, we present a polynomial algorithm for optimally
adjusting heads and tails. This algorithm is then used to construct a new branch and
bound method. Computational experience shows the superiority of this new
method over our previous one, as well as over the heuristic method proposed by
Adams et al. [1].
The paper is organized as follows. First, we define the job shop problem and
introduce notation. Next, we present JPS and our polynomial algorithm. Finally, we
describe the new branch and bound method and give computational results.

© J.C. Baltzer A.G., Scientific Publishing Company


270 J. Carlier, E. Pinson, Jackson's preemptive schedule

2. Generalities
2.1. JOB SHOP

In a job shop problem, n jobs have to be processed on m machines. The


processing of a job on a machine is called an operation, and the following assumptions
are made:
• a machine can process only one job at a time;
• an operation cannot be interrupted;
• a job consists of at most n operations;
• the processing order of a job depends on the job;
• the operating sequences of the machines must be determined so as to minimize
makespan.

2.2. DISJUNCTIVE GRAPH

Two operations i and j, executed by the same machine, cannot be processed


simultaneously. Therefore, we associate with them a pair of disjunctive arcs
[i, j] = {(i, j), (j, i)}. The problem is then modelled by a disjunctive graph
(j = (G, D), where G = (X, U) is a conjunctive graph and D is a set of disjunctions.

2 5 4

Fig. 1. A 4 x 3 job shop. (a, b) denotes


the processing of job a on machine b.

Figure 1 shows an example of a disjunctive graph associated with a job shop with
four jobs and three machines.
J. Carlier, E. Pinson, Jackson's preemptive schedule 271

2.3. NOTATION

In this paper, p.I denotes the processing time of operation i, r.I the head of i, and
qi its tail. Let l(i,j) denote the value of one of the longest paths from i to
j in G. We have: r.I = l(o, i) and q.1 = l(i, *)- 1'n.,
1
where o and * are the source and
the sink in G.

2.4. SCHEDULE

A schedule on a disjunctive graph (j = (G, D) is a set of starting times


T = {t./i
I
e X} such that
the conjunctive constraints are satisfied:

the disjunctive constraints are satisfied:

'V(i,j) E D.

2.5. SELECTION
In order to build a schedule, we have to select the disjunctive constraints and
thus choose an operating sequence for each machine.
A selection A is a set of disjunctive arcs such that if (i, j) e A, then (j, i) e: A.
If (i, j) belongs to A, operation i must be processed before operation j. We associate
with selection A the conjunctive graph GA = (X, U u A). By definition, a selection
is complete if all the disjunctions of D are selected. It is consistent if the associated
conjunctive graph is acyclic. A schedule corresponds to a consistent and complete
selection. Its makespan is the value of one of the longest paths in GA.

2.6. SOLUTION
Let UB be a given integer. By definition, a solution of the job shop problem
is a schedule with a makespan less than or equal to UB.

2.7. CUQUE OF DISJUNCTIONS


A clique of disjunctions is a set of operations K, such that all pairs of operations
of K are in disjunction. Cliques are obtained for the job shop by considering a group
of operations processed by a specific machine. e e K (respectively, s e K) is called
the input (respectively, output) of clique Kif e (respectively, s) is sequenced in T
before (respectively, after) any other operation of K.
272 · J. Cartier, E. Pinson, Jackson's preemptive schedule

3. The one-machine problem


3.1. DEFINITION

In the one-machine problem, we have to sequence a set of operations I on a


single machine so as to minimize makespan [6, 13, 15]. Given a job shop problem,
we can obtain m one-machine problems by setting up one of the m machines. An
operation i has a head r.,
I
a processing time p,.,
I
and a tail qI..

3.2. JACKSON'S PREEMPTIVE SCHEDULE

Jackson's preemptive schedule JPS is the list schedule associated with the most
work remaining (MWR) priority dispatching rule. It is constructed as follows. At the
first moment t where the machine and at least one operation are available, the available
operation with the maximal tail is scheduled. This operation is processed either up
to its completion or until a more urgent operation becomes available. t is updated,
and we iterate until all operations are scheduled [12]. Figure 2 shows an example of
JPS built on six operations.

i J 2 3 4 5 6
'i 4 0 9 15 20 21
P·I 6 8 4 5 8 8
Qj 20 25 30 9 14 16

2 bl 3 14 lsi 6 5
0 89 13 18 20 21 29 36 39
Fig. 2. JPS (makespan 50).

By using heap structures, JPS can be computed in O(n lo~ n) steps. Its makespan
is a lower bound for the job shop problem and is equal to max1 ~ 1 h(J), where [8]

h(J) =min 'i +


jeJ
L Pi+ jeJ
jeJ
min Qj.

4. Adjustment of heads and tails


4.1. INTRODUCTION

For an efficient solution of disjunctive scheduling problems, it is interesting to


select directly as many disjunctive constraints as possible. In [8], we presented some
J. Cartier, E. Pinson, Jackson's preemptive schedule 273

results concerning the determination of the inputs and ·outputs of cliques. This
determination leads to the adjustment of heads and tails, and to the direct selection
of disjunctions. Of course, it is not realistic to look for all cliques verifying the
properties given in [8], and it is not even useful because heads and tails can be
adjusted optimally in polynomial time, as explained below.
We will only show how to adjust heads because of the symmetric role of heads
and tails.

4.2. ADJUSTMENT OF HEADS

Let us consider a set of operations I executed by a machine, and let c be a given


operation of/. By definition, a subset J of operations is called an ascendant set of
c if c e J and:

~in
jEJ
rj + L Pj +~in
jeJ ]EJ
Qj + Pc > UB. (1)

rc + Pc + L Pj +~in
je J JE J
Qj > UB. (2)

Clearly, if J is an ascendant set of c, cis the output of JU{c} (cis ~ther the
input or the output because of (1), and it cannot be the input because of (2)). So, we
have:

tc-to ~max(~in
J'>;,J J'
r;+ L Pi)=f3Jc·
ie J'
IE

An efficient adjustment is obtained if fhc > rc. So, for optimally adjusting r,
• • c
we have to find a set J and a value C such that:

(a) C• = min rj + L Pj ;
jeJ* jeJ*

(b) J* k; 1 1 for at least one ascendant set 1 1 of c;


(c) for any ascendant set J of c, and "iil' k; J:

min
jeJ'
rj+ L Pj ~ c*;
jeJ'

(d) rc < c··'


or to prove that there is no set J* satisfying (a), (b), (c) and (d).
In appendix A, we prove that computing c• also leads to the immediate selections
of disjunctions associated with all the ascendant sets of c.
274 J. Carlier, E. Pinson, Jackson's preemptive schedule

4.3. DETERMINING c•
Let us introduce some complementary notation:
- C. is the completion time of operation j.
J
For the operation c, we also define:
- K c = {j E 1/q.J > qc };
- for j e K c , p.-
J
is the time j processed before rc in JPS;
p.+ is the time j processed after r in JPS;
J c
- K- = { J. E K /p.+ = 0} · K+ = { J. E K /p.+ > 0}.
C Cj 'c C)

Given that tails are distinct, if two operations j 1 and j 2 were equally placed
(qh = Qjz).
ties are broken by setting qh = qh + o. Our method consists of looking
for a non-empty subset K+ of K+c satisfying (3):

rc+Pc+ L
jeK+
pj+ min
jeK+
Qj > UB. (3)

Clearly, if such a set exists, there is a maximal set K*e satisfying (3). How-
ever, intuitively, c cannot be executed before any operation of K*c because of (3).
So, it is executed after all of them. Moreover, all operations of K*c cannot be achieved
before
c• =max c1 .
je K;

Therefore, we can set rc = c·. We can also prove that:

c· = min
ieJ*
ri + L Pi
ieJ*

(see appendix B).

4.4. AN ALGORITHM FOR ADJUSTING rc

Let us suppose that Jackson's preemptive schedule has been built until the time
t = rc. Then we can compute K c and K+c by considering for each operation the
processing time before and after t. An algorithm for computing c* could be:
- Take the operations of K+c in increasing order of q.J , and find the first j 1 such
that:

rc + Pc + L pj + qh > UB (if any exists).


{j e Kt/qj "2 tJj 1 }
J. Carlier, E. Pinson, Jackson's preemptive schedule 275

- Define Kc* = {j e Kc+ /qj ~ qh }.


- Compute c* =max Ci, and set rc = c*.
je K;

j 1 and c* can be computed in O(n) steps (where n = Ill). So, the adjustment
of rc for a given task c of I can be computed in O(n) steps. For all the operations
c of I, we thus obtain an O(n2) algorithm.
Figures 3 and 4 show a simple application of this algorithm on the previous
example, with c = 4 and UB =52.

2 hi 3 14 lsi 6 s
0 8 9 18 20 21 29 36 39

Fig. 3. Let us set UB = 52 and apply the algorithm of section 4.4, with c = 4. We obtain:
'4 + P4 + P~ + p; + p: + q = 15 + 5 + 3 + 8 + 8 + 14 =53> UB.
5

So, K= = {1, 5, 6} and we can adjust r4 by setting r4 = max{C1 , C5 , C6 } = 36. We obtain


the new preemptive schedule of fig. 4.

2 hi 3 lsi 6 5 I 4
0 8 9 13 18 2021 29 36 41

Fig. 4. The new preemptive schedule.

If we take UB = 51, we can in the same way set r4 = 37 and r5 = 29.

5. Branch and bound method


5.1. INTRODUCTION

The algorithm for the adjustment of heads and tails and a new branching
scheme allow us to construct an efficient branch and bound method for solving the
job shop problem. In this section, we describe this method and report some
computational results.

5.2. LOWER BOUND

If we set up a machine, a lower bound for the makespan of the job shop
problem can be obtained by computing JPS. It appears, however, that the best lower
bound LB thus obtained is sometimes far from the optimal makespan. For instance,
276 J. Carlier, E. Pinson, Jackson's preemptive schedule

for the 10 x 10 job shop of Muth and Thompson [16], LB = 808 and the value of an
optimal schedule is 930, which corresponds to a gap of nearly 15%.
To improve the initial lower bound, we make a dichotomic search on the
maximal value of UB so that, by optimal adjustment of heads and tails using JPS,
we can prove there is no solution. In fact, this simple procedure allows a significant
improvement of the lower bound. To illustrate this, we give lower bounds obtained
both by a simple application of JPS on each machine and by application of the
previous dichotomic search with adjustment of heads and tails for the three benchmarks
of Muth and Thompson.

Simple application Dichotomic


Problem ofJPS search

6x6 52 55
10 X 10 808 868
20 X 5 1164 1165

For the other nodes of the search tree, we only compute JPS, because the
dichotomic search would be too time consuming.

5.3. BRANCHING SCHEME

Let us consider a clique J (i.e. a subset of tasks to be processed on a given


machine) non-entirely selected; the determination of the input or the output of J will
probably lead to immediate selections and consequently improve the lower bound.
So, on each node of the search tree, we compute JPS for each machine, a clique
J and a set E (respectively, S) of potential inputs (respectively, outputs) for J. We
determine among all sets E and S the one with minimal cardinality. Next, we evaluate

Fig. 5. Example of branching on a set E.

the different branchings in order to define the next node to develop in the search tree.
Figure 5 shows an example of branching on a set E.
J. Carlier, E. Pinson, Jackson's preemptive schedule 277

5.4. CHOOSING THE CUQUE

We decide to choose among all machines a clique J with maximal local lower
bound h(J). This quantity is obtained by applying JPS and determining the operation
j with maximal C. + q .. It can be proved that there exists a subset J such that:
1 1

- je J;

- Cj + qj = ~ ri + L, Pi + ~ qi = h(J) (see appendix B).


lEI iEI lEI

If IJ I ~ 2, this clique can be chosen for the branching scheme. Otherwise, we


search for a clique J' with lower bound h(J') immediately smaller or equal to h(J),
and so on.

5.5. COMPUTING E AND S

To compute E and S when J is set, we use a result of our previous paper [8].
Let J be a clique. We define E' (respectively, S') as the subset of operations i e J
such that there exists a solution with i as input (respectively, output) of J. If E
(respectively, S) denotes a subset of J containing E' (respectively, S'), an evaluation
of E' and S' can be computed by using the following result:

- If ri + L, Pj + min qj > U B, then, in any solution, i e E'.


jE I jE S-{i}

- If min rj + L, Pj + qi > U B, then, in any solution, i e S'.


jEE-{i} jEI

6. Computational experience
We have implemented this enumerative method in FORTRAN 77 on a mini-
computer PRIME 2655 (1.3 Mips, 4 Mo CPU), and tested it on about 100 benchmarks
originating in the literature [1,5, 16].
First, in table 1 we compare this new branch and bound method (BAB2) with
our previous one (BABl) described in [8]. The characteristics of the experiments are
the following:
PO: problem origim/M = [16], C = [5], A = [1];
m: number of machines;
n: number of jobs;
/': value of the optimal solution;
UP: value of the common initial upper bound;
278 J. Carlier, E. Pinson, Jackson's preemptive schedule

Table 1

Comparison of the new and the old [8] branch and bound method

PO n m ,.
Common characteristics

UP LB1
BABl
nd1 t1 LB2
BAB2
nd2 t2

M 6 6 55 55 52 1 1 55 1 1
c 11 5 7038 7045 6917 47 41 7038 22 17
c 12 5 7312 7458 7103 25 14 7312 12 20
c 14 4 8003 8403 8003 56 64 8003 35 25
M 20 5 1165 1222 1164 1862 1448 1165 44 38
M 10 10 930 969 808 22021 17985 868 4336 5943

LB1, LB2: lower bounds on the search tree root for BABl and BAB2;
nd1,' nd2: number of branchings for finding the optimal solution for BABl
and BAB2;
t1, t2: corresponding CPU times in seconds on PRIME 2655 for computing
the optimal solution.

In table 2, we report the results of experiments which compare our new branch
and bound method with the heuristic method proposed by Adams et al. [1]. The new
characteristics of the experiments are the following:
LB1, LB2: lower bounds on the search tree root for both methods;
/1,/2: values of the best solutions found by both methods;
ndl, nd2: number of branchings for finding the solutions of makespan /1 and
/2*;
t1, t2: corresponding CPU times in seconds* for computing these solutions;
UP: value of the initial upper bound for our branch and bound method.

*For the heuristic method of [1], a branching corresponds to a macrorun in SBll algorithm. If
nd1 = 0, it means that their previous version SBI had already found the optimal solution. For our branch
and bound method, nd2 is divided into (a) search for the solution of makespanf2, and (b) optimality
proof. ·
*Ori a VAX 780/11 for the heuristic method and on a PRIME 2655 for our branch and bound method.
In all cases, we limit our computational time to 2 CPU hours.
J. Cartier, E. Pinson, Jackson's preemptive schedule 279

Table 2
Results of a comparison of our new branch and bound method with the heuristic method of [1]

Common
characteristics Heuristic method [1] New branch and bound method

PO n m I LB1 f1 nd1 t1 LB2 fl. nd2 t2 UP


a b a b

M 6 6 55 52 55* 82 1 55 55* 1 0 1 0 55
A 10 5 655 655 669 30 12 655 655* 55 0 27 0 663
A 15 5 926 926 926* 0 1 926 926* 43 0 37 0 932
M 20 5 1165 1164 1178 32 80 1165 1165* 44 0 38 0 1165
M 10 10 930 808 930 270 851 868 930* 833 4203 1543 4400 935
A 10 10 945 875 978 93 240 901 945* 140 51 110 59 955
A 10 10 784 737 787 47 192 777 784* 104 7 91 3 843
A 15 10 930 913 944 44 419 913 930* 1232 3900 1390 4350 1003
A 15 10 1032 1032 1032* 30 225 1032 1032* 70 0 100 0 1050
A 20 10 ? 1235 1291 64 837 1235 1289 235 503 - 1301
A 20 10 1355 1355 1355* 41 551 1355 1355* 125 0 174 0 1375
A 30 10 1784 1784 1784* 0 38 1784 1784* 187 0 297 0 1800
A 30 10 1850 1850 1850* 0 29 1850 1850* 143 0 207 0 1873
A 15 15 1268 1224 1305 30 735 1233 1268* 3603 813 5860 1303 1319
A 15 15 ? 1355 1423 33 837 1397 1402 7806 - 7102 - 1432

*Solution proved to be optimal.

7. Conclusion
The optimal adjustment of heads and tails and the new branching scheme lead
to a more efficient branch and bound method than our previous one [8]. By this
method, nearly all benchmarks of [1] were solved. This is not really a surprise,
because this new tool is more powerful than the ones previously proposed.
If we define the gap associated with a job shop problem as the difference
between the value of an optimal solution and the initial. lower bound, we propose to
distinguish two classes of job shop problems: problems with a null gap and problems
with a strictly positive gap. The analysis of our computational experience leads us
to the following conclusions:
(a) Problems with a null gap are generally degenerate in that there exists a great
number of optimal solutions (their optimality is implicit by definition), but they are
intrinsically less difficult to solve. In all the cases tested, our enumerative method
280 J. Carlier, E. Pinson, Jackson's preemptive schedule

needs only one or two backtracks to determine an optimal schedule and Jackson's
non-preemptive schedule for the bottleneck machine(s) either is optimal on the root
of the search tree or becomes optimal after few branchings.
(b) Problems with a strictly positive gap are harder. The determination of an
optimal schedule is often more difficult, depending in most cases on the size of the
gap. The main difficulty is proving optimality, the computational part in which the
real combinatoric factor associated with the problem seems to be of prime importance.
Optimal adjustment of heads and tails is a powerful tool for efficiently pruning the
search tree. In all the cases tested, our procedure either improved the best known
solutions or solved the problems optimally.

Appendix A

THEOREM 1

The determination of c* leads to the immediate selection of all the disjunctive


arcs associated with the ascendant sets J of c.

Proof
If there is no ascendant set associated with c, then J* does not exist.
If, for any subset J' of any ascendant set J of c, we have

min r; +
ieJ'
L
ieJ'
p; ::;; rc ,

then we cannot augment r.


c
Moreover, any new disjunctive arc [j; c] can also be
introduced because

(4)

Otherwise, J* exists and we can augment rc by setting

rc =min 'i +
jeJ"
L Pi.
jeJ"

Thereafter, the new disjunctive arcs are introduced for the same reason as (4). D

Appendix B

To justify our algorithm, we need some preliminary results that we establish


below.
J. Carlier, E. Pinson, Jackson's preemptive schedule 281

LEMMA 1

If 1 is an ascendant set of c and there exists a solution, then:

min qj > qc and min rj < rc + Pc.


je J je J

Proof
Let us suppose that mini E 1 qi S qc. If rc S mini E 1 'i , then:
H(JU{c}) = rc+ L Pj+Pc+~in
jel Jel
qj > UB. (2)

Otherwise,

min rj < rc and H(1U{c}) =min rj +


jeJ jel jel jel
L
Pi +pc +min qj > UB. (1)

Let us suppose that min.1 E 1 r.1 ~ rc + pc . Then (2) implies H(1) > UB. D

LEMMA 2

For 1!;;; I and 1' ~ 1: max Cj ~ min ri + L, Pi.


jeJ ieJ' ieJ'

Proof
The operations of 1' cannot be achieved before min.IE 1 , r.I + I..
IE 1 , p.I . So, the
inequality is a consequence of 1' ~ 1. D

LEMMA 3

For j e I, there exists a subset K ~ I such that:

-je K;

- Ci = min
leeK
r1e + L
leeK
p 1e ;

Proof
Let us denote by u the largest time smaller than C. such that, in the interval
[u- 1, u], either no operation is processed or the procJssed operation i satisfies
q.I < qJ.. We define K as the subset of operations ·processed in the interval [u, C1. ].
282 J. Cartier, E. Pinson, Jackson's preemptive schedule

Then, we have min1 e K r1 = u. Otherwise, one operation of K would have been


processed during the interval [u- 1, u] because q1 ~ q. > q.. Moreover, each operation
of K is achieved at the date C. ; otherwise, an operatlon k* j of K would have been
processed during the interval {c.- 1, C.] instead of j because q1 > q .. Therefore, the
machine is busy during the int~rval [J, C. ], and we have: 1
J

Cj = min rk +I pk • 0
kEK kEK

LEMMA4

If J is an ascendant set of C and max.JE 1 C.J ~ rC , then, for any J' c- J,

min
iEJ'
ri +I
iEJ'
Pi ~ rc.

Proof
min ri
iEJ'
+I
iEJ'
Pi ~ max Cj
jEJ
and max Cj ~ rc
jEl

imply that

~i~ ri +I pi :o:;; rc
lEi iEi'

by transitivity. D

LEMMA 5

If K; is empty, then J* does not exist.


Proof
If K+C is empty, then, for any ascendant set J of c, we have max.J E 1 C.~ J
rC
because if C.J > rc, then K+c contains j (q.J > qc). So, for any subset J' of an ascendant
set J,

~~ ri
lEi
+I
iEi'
Pi ~ rc. 0

LEMMA 6

If J is an ascendant set of c such that r = J 1'1 K+c is not empty, then:

rc+Pc +I
jEJ+
pj+ min
jEi+
qj > UB. (3)
J. Carlier, E. Pinson, Jackson's preemptive schedule 283

Proof
If, for any task j of J, p"':= p., then r = J and (3) is satisfied because J is an
ascendant set of c. Otherwise~ 1

rc ~ ~in rj +
JEI
L
jel
pj,

and we have

min qi ~ min qi
ieJ+ iel
So:
rc + Pc + L pj + min qi ~ min ri + L pj + Pc + L pj +min qi.
ieJ+ ieJ+ iel iel ieJ+ iel

The right-hand side member is strictly greater than UB because J is an ascendant


set of c. D

LEMMA 7

If K; and K;
satisfy (3), then K~ u K; satisfies (3). So, there exists a maximal
set K•c satisfying (3).

Proof
We can suppose without loss of generality that

min qi = min qi .
ie K{uK1; ie K{

Then, we have

rc + Pc + ""
~ Pi+ + mm . qi ~ rc + Pc + "" . qj.
~ Pi+ + mm
ie K{uK1; ie K{uK1; je K{ je K{

The right-hand side member is strictly greater than UB because K; satisfies (3). D

LEMMA 8

When K; is defined, then, if J is an ascendant set of c:


max {min ri +
I'~ I je I'
L Pi}~ c• =max
ie I' je K;
Ci.
284 J. Carlier, E. Pinson, Jackson's preemptive schedule

Proof
J ~ K (lemma 1). If j e K-, C. ~ rc ~ C*. Otherwise,• j e K+.
then .J c
However,
c c
lemma 6 and lemma 7 imply that J. e K.c
Consequently, C.~
J
C. 0

LEMMA 9

Proof
K; u { j } satisfies (3) because this condition is satisfied by K*c and
millj e K; qi ~ qi. Moreover, ~ = K*c u { j } because K*c is the maximal set
satisfying (3). 0

THEOREM 2

J* exists if and only if K*c is not empty. Moreover, we have:

min ri + L Pi = c·.
jel" jel"

Proof
From lemmas 1, 2, 6 and 7, if J* exists, then K*c is not empty and

min '.i + L Pi~ c·.


jel" jeJ*

We will prove that, conversely, if K; is not empty, J* exists and

min ri + L Pi = c·.
iel* jeJ*

Let us consider the following three cases:

Casel

min ri > rc.


ieK;

Let us set J = K*.c For j e J, we have p~=


J
pJ.. So:

~in ri + L Pi +~in qi + Pc > rc + L Pi +~in qi + Pc.


jEJ jeJ jEJ ieJ jEJ ·
J. Carlier, E. Pinson, Jackson's preemptive schedule 285

The right-hand side member of this inequality is strictly greater then UB because
J = K; satisfies (3). So, J is an ascendant set of c. Let j 0 be such that Cio = C *;there
exists a subset K ~ I and a time u such that

Cio = min
iEK
ri + L Pi;
iEK

qio = min
iEK
q i and the operations of K are executed in [ u, Cio J.
Letj be the operation processed during the interval [rc, rc + 1]; in this interval,
the machine is not idle because c is just available. If

Qj ~ min Qi,
iEK;

then J. e K*c (lemma 9). However, this contradicts the hypothesis because r.1 S rc . So,

Qj <min q; S Qjo·
iE K;

Let k e K; Qk ;;;:: qio by definition of K and, during the interval [u, Cj 0 ], the machine
processes only the operations•
of K.• So, u > rc and• k e K*c (q.J ~ qc ). Finally,
lemma 9 proves that k e K c and K ~ K c . Consequently, J =K satisfies the condition.

Case2

During the interval [rc - 1, rc ], the operation j executed satisfies

Qj ~ min Qi
iEK;
=qh '
because one task of K*c is available and not achieved at rc - 1. Let 6 be the largest
time smaller than rc such that during the interval [ 6- 1, 6] the machine is idle or one
operation with a smaller priority than j 1 is processed. We defme r as the set of
operations processed during the interval [6, rJ and J = r u K;.
We have:

~in ri + L Pi+ Pc +':'lin Qi = ':'lin ri + L Pi+ L Pl + Pc +':'lin Qi


IEJ iEJ IEJ lEI iEJ iEJ IEJ

+ .
= rc + .LJ
~
Pi + Pc + mm Qi.
iEJ iEJ
286 J. Carlier, E. Pinson, Jackson's preemptive schedule

This last quantity is greater than UB because

min q; = min q; = qit, and Kc* !;; J.


ieJ ieK;

Moreover,

rc + Pc + L Pi+ min
ieJ ieJ
q; > UB

for the same reason. Let us associate with j 0 the set K. Of course, u ~ 6. If
k e K n J-, then k e J. Otherwise, k is processed after rc and consequently belongs
to K+.
c •
It also belongs to K c because

Qemma 9). So, k e J and K!;; J. Consequently, J* = K satisfies the condition.

Case3
min ri = rc.
jeK;

J = K*c is an ascendant set of c, and J* = K satisfies the condition. D

References
[1] J. Adams, E. Balas and D. Zawack, The shifting bottleneck procedure for job shop scheduling,
Management Science Report No. MSRR-525 (1988), Manag. Sci. 34(1990)391-401.
[2] J.R. Barker and G.B. McMahon, Scheduling the general job shop, Manag. Sci. 31(1985)5.
[3] E. Balas, Machine sequencing via disjunctive graphs: An implicit enumeration algorithm, Oper. Res.
17(1969)941-957.
[4] R.W. Bouma, Job shop scheduling: A comparison of three enumeration schemes in a branch and
bound approach, Master's Thesis, Faculty of Econometrics and Operations Research, Erasmus
University, Rotterdam (1982).
[5) J. Cartier, Ordonnancements a contraintes disjonctives, RAIRO 12(1978)333-351.
[6) J. Cartier, One machine problem, Eur. J. Oper. Res. 11(1982)42-47.
[7] J. Cartier, Problemes d'ordonnancements a contraintes de ressources: algorithmes et complexite,
These d'etat (1984).
[8] J. Cartier and E. Pinson, An algorithm for solving the job shop problem, Manag. Sci. 35(1989)164-176.
[9) S. French, Sequencing and Scheduling: An Introduction to the Matheflllltics of the Job Shop (Wiley,
1982).
[10] M.R. Garey and D.S. Johnson, Computers and Intractability (Freeman, 1979).
[11] J. Grabowsky, A new algorithm for solving the job shop problem, Oper. Res. Progr. (1982)57-75~
J. Cartier, E. Pinson, Jackson's preemptive schedule 287

[12] J.R. Jackson, Scheduling a production line to minimize maximum tardiness, Research Report No.
43, Management Science Research Project, University of California, Los Angeles (1955).
[13] B.J. Lageweg, J.K. Lenstra and A.H.G. Rinnooy Kan, Minimizing maximum lateness on one machine:
Computational experience and some applications, Statistica Neerlandica 30(1976)25-41.
[14] J.K. Lenstra, A.H.G. Rinnooy Kan and P. Brucker, Complexity of machine scheduling problems,
Ann. Discr. Math. 1(1977)343-362.
[15] G.B. McMahon and M. Florian, On scheduling with ready times and due dates to minimize maximum
lateness, Oper. Res. 23(1975)475-482.
[16] J.F. Muth and G.L. Thompson, Industrial Scheduling (Prentice-Hall, Englewood Cliffs, NJ, 1963).
[17] E. Pinson, Le probleme de job-shop, These de doctorat de l'Universite Paris VI (1988).
[18] C.N. Potts, An adaptive branching rule for the permutation flow-shop problem, Eur. J. Oper. Res.
5(1980)19-25.

You might also like