Professional Documents
Culture Documents
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.
2. Generalities
2.1. JOB SHOP
2 5 4
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
'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.
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]
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.
~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*
min
jeJ'
rj+ L Pj ~ c*;
jeJ'
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;
c· = min
ieJ*
ri + L Pi
ieJ*
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:
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
2 hi 3 lsi 6 5 I 4
0 8 9 13 18 2021 29 36 41
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.
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.
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.
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
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;
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:
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
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
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
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 ,
(4)
rc =min 'i +
jeJ"
L Pi.
jeJ"
Thereafter, the new disjunctive arcs are introduced for the same reason as (4). D
Appendix B
LEMMA 1
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,
Let us suppose that min.1 E 1 r.1 ~ rc + pc . Then (2) implies H(1) > UB. D
LEMMA 2
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
-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
Cj = min rk +I pk • 0
kEK kEK
LEMMA4
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
~~ ri
lEi
+I
iEi'
Pi ~ rc. 0
LEMMA 6
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
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
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
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 ri + L Pi = c·.
iel* jeJ*
Casel
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
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:
+ .
= rc + .LJ
~
Pi + Pc + mm Qi.
iEJ iEJ
286 J. Carlier, E. Pinson, Jackson's preemptive schedule
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
Case3
min ri = rc.
jeK;
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.