The material below was scanned in from the original, the spelling Americanized and some typos and

inaccuracies corrected. Some
explanatory notes were added at the end. It is intended as a supplement to the original contained in the course reader for ISE5!.
"omments beyond the original are indicated by #$%&
SEQUENCING AND SCHEDULING:
An Introduction to the
Mathematics of the JobSho!
SI'() *+E)",, %.A., '.A., -..hil.
-epartment of -ecision Theory /ni0ersity of 'anchester
E11IS ,(+2((- 1I'ITE- .ublishers3 "hichester
,alsted .ress4 a di0ision of 5(,) 2I1E6 7 S()S
)ew 6or8, "hichester3 %risbane3 Toronto
*irst published in 9:;
and +eprinted in 9:< and 9:= by
E11IS ,(+2((- 1I'ITE-
'ar8et "ross ,ouse, "ooper Street, "hichester, 2est Sussex, .>9 E%, England
The publisher's colophon is reproduced from James Gillison's drawing of the ancient Market Cross. Chichester.
-istributors4
Australia and New Zealand
5acaranda?2iley 1td., 5acaranda .ress, 5(,) 2I1E6 & S()S I)".
$.( %ox :59, %risbane, @ueensland !>>, Australia
Canada
5(,) 2I1E6 & S()S "A)A-A 1I'ITE- ;; 2orcester +oad, +exdale, (ntario, "anada
!urope and Africa
5(,) 2I1E6 7 S()S 1I'ITE-
%affins 1ane, "hichester, 2est Sussex, England
North and "outh America and the rest of the world
,alsted .ress4 a di0ision of 5(,) 2I1E6 7 S()S
<>5 Third A0enue, )ew 6or8, )6 >5:, /SA
A 9:; S. *renchBEllis ,orwood 1td. %ritish /bmy "atalepiC in .ublici/on -ata
*rench. Simon . j . SeCuencing and scheduling. ? #Ellis ,orwood series in mathematics and its applications&
. Scheduling #'anagement&
I. Title
<5:.5D TS5=.A;
1ibruy of "ongress "ard )o. :?E!! AA"+;
IS%) 9?:5E;?;99?= #Ellis ,orwood 1td., .ublishers ? 1ibrary Edn.&
IS%) >?:SE;?E<!F #Ellis ,orwood 1td., .ub/shers ? Student Edn.&
IS%) >?!=>?;=;;9?5 #,alsted .ress&
Table of "ontents
.reface .........................................................................................................................ix
"hapter S",E-/1I)$ .+(%1E'S
. Introductory example ..............................................................................................
.; .roblems ................................................................................................................. !
.E The general Gob?shop scheduling problem ...............................................................5
.! Assumptions ........................................................................................................... :
.5 .erformance measures ............................................................................................9
.< "lassification of scheduling problems ..................................................................!
.= +eal scheduling problems and the mathematics of the Gob?shop............................5
.: Algy, %ertie, "harles and -igbyDs flat re0isited .....................................................=
.9 $eneral reading .....................................................................................................;E
.> .roblems ............................................................................................................. ;E
"hapter ; (.TI'A1IT6 (* S",E-/1ES
;. Introduction .......................................................................................................... ;5
;.; +egular measures and semi acti0e schedules ........................................................;<
;.E +elations between performance measures .............................................................;:
;.! +eferences and further reading..............................................................................E
;.5 .roblems ............................................................................................................... E;
;.
"hapter E SI)$1E 'A",I)E .+("ESSI)$4 %ASI" +ES/1TS
E. Introduction .......................................................................................................... E!
E.; .ermutation schedules ..........................................................................................ES
E.E Shortest .rocessing Time scheduling ....................................................................E=
E.! Earliest -ue -ate scheduling ................................................................................E9
E.5 'ooreDs algorithm .................................................................................................!
E.< +eferences and further reading .............................................................................!5
E.=.roblems ................................................................................................................ !<
"hapter ! SI)$1E 'A",I)E .+("ESSI)$4 .+E"E-E)"E "()ST+AI)TS A)- E**I"IE)"6
!. Introduction .......................................................................................................... !:
!.; +eCuired strings of Gobs ........................................................................................5
!.E 1awlerDs algorithm ................................................................................................5;
!.! S.T seCuencing subGect to due?date constraints ....................................................55
!.5 *inding schedules efficient with respect to T mu and * ........................................5:
!.< +eferences and further reading..............................................................................<!
!.= .roblems ............................................................................................................... <!
"hapter 5 "()ST+/"TIHE A1$(+IT,'S *(+ *1(23S,(.S A)- 5(%?S,(.S
5. Introduction ......................................................................................................... <<
5.; Some results on scheduling in a flow shop ............................................................<<
5.E 5ohnsonDs algorithm for the nf;B*B* mu. problem .................................................<9
5.! 5ohnsonDs algorithm for the nB;B$f*mu. problem ..................................................=E
5.5 A special case of the nfEB*B*mu problem ..............................................................=5
5.< A8ersD graphical solution to the ;BmB*B*max problem ...........................................==
5.= +eferences and further reading .............................................................................:
5.: .roblems ............................................................................................................... :;
"hapter < -6)A'I" .+($+A''I)$ A..+(A",ES
<. Introduction .......................................................................................................... :=
<.; The approach of ,eld and Iarp.............................................................................:=
<.E "omputational aspects of dynamic programming .................................................9E
<.! -ynamic programming subGect to precedence constraints ....................................9:
<.5 +eferences and further reading ...........................................................................>;
<.< .roblems ............................................................................................................. >;
"hapter = %+A)", A)- %(/)- 'ET,(-S
=. Introduction ........................................................................................................ ><
=.; -ynamic programming and its elimination tree ..................................................><
=.E A flow?shop example ..........................................................................................>9
=.! Some general points about the bound and branch approach ................................9
=.5 +eferences and further reading ...........................................................................;5
=.< .roblems ............................................................................................................. ;<
"hapter : I)TE$E+ .+($+A''I)$ *(+'/1ATI()S
:. Introduction ........................................................................................................ E>
:.; 2agnerDs integer programming form of nBmB.B"max. problems .. ......................E;
:.E +eferences and further reading ...........................................................................E5
:.! .roblems ........................................................................................................... E5
"hapter 9 ,A+- .+(%1E'S A)- ).?"('.1ETE)ESS
9. Introduction ....................................................................................................... E=
9.; 2hat is a good way of sol0ing a problemJ ..........................................................E:
9.E The classes . and ). ..........................................................................................!5
9.! The ).?completeness of nBB1max with non?zero ready times............................5>
9.5 +eferences and further reading ............................................................................5;
9.< .roblems .............................................................................................................5E
"hapter > ,E/+ISTI" 'ET,(-S4 $E)E+A1 A..+(A",ES
>. Introduction .......................................................................................................55
>.; Schedule generation techniCues .........................................................................5<
>.E 'odified or approximate mathematical programming methods.........................<<
>.! )eighborhood search techniCues ........................................................................5 <:
>.5 *low?shop scheduling heuristics ........................................................................=>
>.< +eferences and further reading ...........................................................................5 =!
>.= .roblems ............................................................................................................ =!
"hapter ,E/+ISTI" 'ET,(-S4 2(+ST "ASE %(/)-S
. Introduction .......................................................................................................=<
.; Scheduling independent Gobs on identical machines ..........................................==
.E .erformance guarantees and ).?completeness .................................................:=
.! 2orst case analysis and expected performance ..................................................9>
.5 +eferences and further reading ..........................................................................9
.< .roblems ..........................................................................................................9
"hapter ; A %+IE* S/+HE6 (* (T,E+ S",E-/1I)$ .+(%1E'S
;. Introduction .......................................................................................................9E
;.; .recedence constraints and resource constraints ................................................9E
;.E Hariations of the static Gob?shop problem ............................................................9:
;.! -ynamic and stochastic scheduling .................................................................,202
;.5 Assembly line balancingK proGect managementK and time? tabling of lectures ;>!
,ints and Solutions to problems .................................................................................;>=
+eferences ................................................................................................................... ;E>
Symbol Index .............................................................................................................. ;E:
Author Index ..............................................................................................................;!>
SubGect Index ............................................................................................................... ;!E
ix
"reface
I first realized the need for a new textboo8 on the mathematics of scheduling when I was as8ed to de0elop and teach a course on this subGect
to undergraduates at 'anchester /ni0ersity. The boo8s already a0ailable seemed to fall into two main categories4 those that, although
excellent in their time, had become rather out?dated and those that were aimed primarily at research wor8ers. ,ence my intention in
producing this wor8 has been to pro0ide an up to date introduction to this rapidly expanding and exciting field.
I ha0e aimed this boo8 mainly at an audience of final year undergraduate or master students in any numerate discipline, as although it is
mathematically oriented it does not demand a 8nowledge of any specific areas of ad0anced mathematics. Indeed all that is reCuired of the
student is an ability to thin8 clearly and logically. %ecause I am not writing for the professional mathematician I ha0e made considerable
efforts to 8eep the notation as simple as possible, e0en at the expense of some loss of bre0ity. 'any examples ha0e been included to ensure
understanding of the theory in0ol0ed, and hints and solutions pro0ided to the problems at the end of each chapter as an aid to those studying
alone.
I am optimistic that this boo8 will find an additional audience amongst professional operational research wor8ers, for they too ha0e need of a
basic introduction to the subGect. 2ith this group particularly in mind I ha0e extensi0ely sur0eyed current de0elopments in the theory of
scheduling, and included in the bibliography sufficient references to guide them further into the literature. ,owe0er I would stress that the
emphasis here is more theoretical than practical, and that I ha0e no intention of pro0iding a Lrecipe boo8L for those faced with a particular
scheduling problem.
The comments of many colleagues, friends, and students ha0e been extremely helpful to me during the compilation of this boo8K in particular
those of .rofessor %. 2. "onolly and -r. 5. +. 2alters who ha0e read my 0arious drafts and made many constructi0e criticisms and
suggestions. The patience and s8ill of Iate %a8er, who has underta8en all of the secretarial wor8, has been much appreciated. And finally it
has indeed been a pleasure to wor8 with my publisher, Ellis ,orwood, his family and staff4 their efficiency and tactful guidance ha0e greatly
smoothed the preparation of this boo8.
st 'arch, 9:
SI'() *+E)", /ni0ersity of 'anchester

"hapter
Scheduling .roblems
1.1 INTRODUCTORY EXAMPLE
Algy, %ertie, "harles and -igby share a flat. Each Saturday they ha0e four newspapers deli0ered4 The #inancial Times$ the Guardian$
the %ail& !'press$ and the "un. %eing a small?minded creature of habit, each member of the flat insists on reading all the papers in his
own particular order. Algy li8es to begin with the #inancial times for hour. Then he turns to the Guardian ta8ing E> minutes, glances
at the %ail& !'press for ; minutes and finishes with 5 minutes spent on the "un. %ertie prefers to begin with the Guardian ta8ing
hour 5 minutesK then he reads the %ail& !'press for E minutes, the #inancial Times for ;5 minutes, and the "un for > minutes.
"harles begins by reading the %ail& !'press for 5 minutes and follows this with the Guardian for 5 minutes, the #inancial Times for
> minutes, and the "un for E> minutes. *inally, -igby starts with the "un ta8ing hour E> minutes, before spending minute each on
the #inancial Times$ the Guardian$ and the %ail& !'press in that order. Each is so insistent upon his particular reading order that he
will wait for his next paper to be free rather than select another. 'oreo0er, no one will release a paper until he has finished it. $i0en
that Algy gets up at :.E> a.m., %ertie and "harles at :.!5 a.m., and -igby at 9.E> a.m. and that they can manage to wash, shower,
sha0e, and eat brea8fast, while reading a newspaper, and gi0en that each insists on reading all the newspapers before going out, what
is the earliest time that the four of them can lea0e together for a day in the countryJ
The problem faced by Algy and his friends, namely in what order should they rotate the papers between themsel0es so that all the
reading is finished as soon as possible, is typical of the scheduling problems that we shall be considering. %efore describing the
general structure of these problems and gi0ing some examples that are, perhaps, more rele0ant to our modern society, it is worth
examining this example further.
1et us write the data in a more compact form, as in Table .. ,ow might we tac8le this problemJ .erhaps it will be easiest to begin
by explaining what is meant by a reading schedule. @uite simply it is a prescription of the order in which the papers rotate between
readers. *or instance, one possible schedule is shown in Table .;, where A, %, ", - denote Algy, %ertie, "harles, and -igby
respecti0ely. Thus Algy has the #inancial Times first, before it passes to -igby, then to "harles, and finally to %ertie. Similarly the
Guardian passes between %ertie, "harles, Algy, and -igby in that order. And so on.
;
Table .;?A possible reading schedule
+ead by
.aper st ;nd Erd !th
*.T. A - " %
$. % " A -
-.E. " % A -
S. - A " %
2e may wor8 out how long this reading schedule will ta8e by plotting a simple diagram called a $antt -iagram #see *ig. .&. In this
we plot four time?axes, one for each newspaper. %loc8s are placed abo0e the axes to indicate when and by whom particular papers are
read. *or instance, the bloc8 in the top left hand comer indicates that Algy reads the #inancial Times from :.E> to 9.E>. To draw this
diagram we ha0e rotated the papers in the order gi0en by Table .; with the restriction that each reader follows his desired reading
order. This restriction means that for some of the time papers are left unread, e0en when there are people who are free and ha0e not
read them yetK they must remain unread until someone is ready to read them ne't. *or instance, %ertie could ha0e the #inancial Times
at >.>> a.m., but he wants the %ail& !'press first and so lea0es the #inancial Times. Similarly the schedule is also responsible for idle
time of the readers. %etween >.5 and .> "harles waits for the #inancial Times$ which for all but the last minute is not being read,
but "harles cannot ha0e the paper until after -igby because of the schedule.
E
"learly, from the $antt diagram, the earliest that all four can go out together is .5 a.m. if they use this schedule. So the next
Cuestion facing us is can we find them a better schedule, i.e. one that allows them to go out earlier. I am lea0ing that Cuestion for you
to consider in the first set of problems. ,owe0er, before attempting those, we should consider feasible and infeasible schedules.
In Table .; I simply ga0e you a schedule and we saw in the $antt diagram that this schedule would wor8K it is possible for Algy and
his flat mates to pass the papers amongst themsel0es in this order. %ut suppose I had gi0en you the schedule shown in Table .E. A
little thought shows that this schedule will not wor8. Algy is offered the "un first, but he does not want it until he has read the other
three papers. ,e cannot ha0e any of these until -igby has finished with them and -igby will not start them until he has read the "un$
which he cannot ha0e until Agy has read itM
Table l.E?An Infeasible schedule
+ead by
.aper st ;nd Erd !th
*.T. - % A "
G. - " % A
-.E. - % " A
S. A - " %
In scheduling theory the reading orders gi0en in Table . are called the technological constraints. Any schedule that is compatible
with these is called feasible. Thus Table .; gi0es a feasible schedule. Infeasible schedules, such as that in Table .E, are incompatible
with the technological constraints. (b0iously, to be acceptable a solution to a scheduling problem must be feasible.
.; .+(%1E'S
.lease try these problems now before reading any further. It is true that I ha0e gi0en you little or no guidance on how they are to be
sol0ed. I ha0e done so for good reason. Scheduling is a subGect in which the problems loo8 easy, if not tri0ial. They are, on the
contrary, among the hardest in mathematics. 6ou will not appreciate this without trying some for yourself. Sol0ing them is relati0ely
unimportantK I shall sol0e them for you shortly anyway. 2hat is important is that you should disco0er their difficulty.
. Is the following schedule feasible for Algy and his friendsJ
+ead %y
.aper st ;nd Erd !th
*.T. " - % A
G. % " A -
-.E. % " A -
S. % A - "
5
;. ,ow many different schedules, feasible or infeasible, are thereJ
E. 2hat is the earliest time that Algy and his friends can lea0e for the countryJ
!. -igby decides that the delights of a day in the country are not for him. Instead he will spend the morning in bed. (nly when the
others ha0e left will he get up and read the papers. 2hat is the earliest time that Algy, %ertie, and "harles may lea0eJ
5. 2hether or not you ha0e sol0ed .roblems E and !, consider how you would recognize the earliest possible departure time. )eed
you compare it explicitly with those of all the other feasible schedules, or can you tell without this process of complete enumeration of
all the possibilitiesJ
.E T,E $E)E+A1 5(%3S,(. S",E-/1I)$ .+(%1E'
If the theory of scheduling were simply concerned with the efficient reading of newspapers, then, of course, no one would study it. I
began with that example so that you might meet and attempt to sol0e a scheduling problem unhindered by the definitions and
notations that are usually reCuired. The time has come to introduce these definitions and that notation. The terminology of scheduling
theory arose in the processing and manufacturing industries. Thus we shall be tal8ing about Gobs and machines, e0en though in some
cases the obGects referred to bear little relation to either Gobs or machines. *or instance, in the example of the last section we shall see
that Algy, %ertie, "harles and -igby are DGobsD, whilst the newspapers are DmachinesD. ,owe0er, that is anticipating. 2e begin by
defining the general Gob?shop problem. Shortly we shall show that its structure fits many scheduling problems arising in business,
computing, go0ernment, and the social ser0ices as well as those in industry.
2e shall suppose that we ha0e n Gobs N5., 5;, M. 5n} to be processed through m machines {M1, M; M.'mO. Some authors,
particularly those writing on computer scheduling, refer to machines as processors. 2e shall suppose that each Gob must
pass through each machine once and once only. The processing of a Gob on a machine is called an operation. 2e shall
denote the operation on the i
th
Gob by the (
th
machine by oiG. Technological constraints demand that each Gob should be processed
through the machines in a particular order. *or general Gob?shop problems there are no restrictions upon the form of the technological
constraints. Each Gob has its own processing order and this may bear no relation to the processing order of any other Gob. ,owe0er, an
important special case arises when all the Gobs share the same processing order. In such circumstances we say that we ha0e a fow
shop problem #because the Gobs flow between the machines in the same order&. This distinction between Gob?shops and flow?shops
should be made clear by the examples below.
<
Each operation oiG ta8es a certain length of time, the processing time, to perform. 2e denote this by piG. %y con0ention we include in
piG any time reCuired to adGust, or set up, the machine to process this Gob. 2e also include any time reCuired to transport the Gob to the
machine. 2e shall assume that the piG are fixed and 8nown in ad0ance. This brings us to an important restriction, which we shall ma8e
throughout this boo8. 2e shall assume that e0ery numeric Cuantity is deterministic and 8nown to the scheduler.
2e shall also assume that the machines are always a0ailable, but we shall not necessarily assume the same for Gobs. Some Gobs may
not become a0ailable until after the scheduling period has started. 2e shall denote by rG the ready time or release date of the i
th
Gob, i.e.
the time at which 5G becomes a0ailable for processing.
The general problem is to find a seCuence, in which the Gobs pass between the machines, which is
#a& compatible with the technological constraints, i.e. a feasible schedule, and
#b& optimal with respect to some criterion of performance.
2e shall discuss possible criteria of performance shortlyK first we shall consider some particular examples.
Industria# e$am!#es
Any manufacturing firm not engaged in mass production of a single item will ha0e scheduling problems at least similar to that of the
Gob?shop. Each product will ha0e its own route through the 0arious wor8 areas and machines of the factory. In the clothing industry
different styles ha0e different reCuirements in cutting, sewing, pressing and pac8ing. In steel mills each size of rod or girder passes
through the set of rollers in its own particular order and with its own particular temperature and pressure settings. In the printing
industry the time spent in typesetting a boo8 will depend on its length, number of illustrations, and so onK the time spent in the actual
printing will depend on both its length and the number printedK the time spent on binding will depend on the number printedK and
lastly the time spent in pac8aging will depend both on the number printed and the boo8Ds size. Thus a printer who must schedule the
production of 0arious boo8s through his typesetting, printing, binding and pac8aging departments faces a four?machine flow?shop
problemK for each department is a machine and an the Gobs, i.e. the boo8s, flow from typesetting to printing to binding to pac8aging.
The obGecti0es in scheduling will 0ary from firm to firm and often from day to day. .erhaps the aim would be to maintain an eCual
le0el of acti0ity in all departments so that expensi0e s8ills and machines were seldom idle.
=
.erhaps it would be to achie0e certain contractual target dates or simply to finish all the wor8 as soon as possible. These and some
other obGecti0es will be discussed in detail in section .5 and in all of "hapter ;.
A#%& and friends
This is a four Gob, four machine problem. The Gobs?Algy, %ertie, "harles, and -igby?must be scheduled through the four machines?the
#inancial Times$ the Guardian$ the %ail& !'press$ and the "un)in order to minimize the completion time at which the processing, here
reading, is finished There are ready times, namely, the times at which Algy, etc. get up. )ote that in this example the technological
constraints do not demand the fat mates read the papers in the same order. %ecause of this we ha0e a Gob shop problem. ,ad the
constraints demanded that each read the papers in the same order, e.g. "un$ Guardian$ %ail& !'press and, finally, the #inancial Times$
we would ha0e had a flow?shop problem.
Aircraft 'ueuin% u! to #and
This is an n Gob, one machine problem, if we assume, as we do, that the number of aircraft arri0ing in a day is 8nown. The aircraft are
the Gobs and the runway is the machine. Each aircraft has a ready time, namely the earliest time at which it can get to the airportDs air?
space and be ready to land. The obGecti0e here might be to minimize the a0erage waiting time of an aircraft before it can land. .erhaps
this a0erage should be weighted by the number of passengers on each plane. (b0iously in real life this problem models only part of
the air traffic controllersD difficulties. .lanes must ta8e off too. Also it ignores the uncertainty inherent in the situation. Aircraft suffer
unpredictable delays and, moreo0er, the time ta8en to land, i.e. the processing time of each aircraft, will depend on the weather.
(reatment of !atients in a hos!ita#
Again we ignore all randomness. Suppose we ha0e n patients who must be treated by a consultant surgeon. Then each must be
'?seen in the out?patientsD department,
';?recei0ed in the surgical ward, prepared for the operation, etc.,
'E?be operated on.
'!?reco0er, we hope, in the surgical ward.
Thus each patient #5ob& must be processed through each of four DmachinesD , ' '; 'E and '! abo0e. It is perhaps confusing that only
one of the operations of processing a patient through a DmachineD is called a surgical operation, but in scheduling theory all are
operations. Since each patient must clearly DflowD through the DmachinesD in the order ' '; 'E '! this is a flow?shop problem. The
obGecti0e here might be stated as4 treat all patients in the shortest possible time, whilst gi0ing priority to the most ill.
:
)ther schedu#in% !rob#ems
$i0en these examples you should ha0e no difficulty in fitting other practical problems into the general Gob?shop structure. *or
instance, the following all fall into this pattern4
#a& the scheduling of different programs on a computerK
#b& the processing of different batches of crude oil at a refineryK
#c& the repair of cars in a garageK
#d& the manufacture of paints of different colors.
.! ASS/'.TI()S
*or the maGor part of this boo8 we shall be ma8ing a number of assumptions about the structure of our scheduling problems. Some
were mentioned explicitly abo0eK others were implicit. ,ere we list all the assumptions both for further emphasis and for easy
reference. 2hy we choose to ma8e these assumptions, which are often Cuite restricti0e, is discussed in section .=.
*. !ach (ob is an entit&. Although the Gob is composed of distinct operations, no two operations of the same Gob may be processed
simultaneously.
Thus we exclude from our discussion certain practical problems, e.g. those in which components are manufactured simultaneously
prior to assembly into the finished product.
+. No pre)emption. Each operation, once started, must be completed before another operation may be started on that machine.
,- !ach (ob has m distinct operations$ one on each machine. 2e do not allow for the possibility that a Gob might reCuire processing twice
on the same machine. ECually, we insist that each Gob is processed on e0ery machineK it may not s8ip one or more machines. )ote that
this latter constraint is not illusory. Although we could say that a Gob which s8ips a machine is processed upon that machine for zero
time, we would still ha0e a problem4 where in the GobDs processing seCuence should this null operation be placed. %ecause we do not
allow pre?emption, the Gob could be delayed waiting for a machine which is not in fact needed.
.. No cancellation. Each Gob must be processed to completion.
/. The processing times are independent of the schedule. In particular we are assuming two things here. *irstly, each set?up time is
seCuence independent, i.e. the time ta8en to adGust a machine for a Gob is independent of the Gob last processed. Secondly, the times to
mo0e Gobs between machines are negligible
9
0. 1n)process in2entor& is allowed$ i.e. Gobs may wait for their next machine to be free. This is not a tri0ial assumption. In some problems
processing of Gobs must be continuous from operation to operation. In steel mills one literally has to stri8e while the iron is hot.
3. There is onl& one of each t&pe of machine. 2e do not allow that there might be a choice of machines in the processing of a Gob. This
assumption eliminates, amongst others, the case where certain machines ha0e been duplicated to a0oid bottlenec8s.
4. Machines ma& be idle.
5. No machine ma& process more than one operation at a time.6 To a mathematician assumptions = and 9 are identicalK for mathematically
two of the same type of machine is eCui0alent to a single machine capable of processing two Gobs simultaneously. ,owe0er, we ma8e
both assumptions explicitly for those with a less mathematical 0iew of the world.&
*7. Machines ne2er breakdown and are a2ailable throughout the scheduling period.
**. The technological constraints are known in ad2ance and are immutable.
*+. There is no randomness. In particular
#a& the number of Gobs is 8nown and fixedK
#b& the number of machines is 8nown and fixedK
#c& the processing times are 8nown and fixedK
#d& the ready times are 8nown and fixedK
#e& all other Cuantities needed to define a particular problem are 8nown and fixed.
(ccasionally we shall relax one or two of these assumptions in specific examples. 2hen we do, we shall state so explicitly.
.5 .E+*(+'A)"E 'EAS/+ES
It is not easy to state our obGecti0es in scheduling. They are numerous, complex, and often conflicting. 'ellor #9<<& lists ;= distinct
scheduling goals, albeit in a slightly broader context. In addition, the mathematics of our problem can be extremely difficult with e0en
the simplest of obGecti0es. So we shall not try to be exhausti0e. Instead we shall indicate in general terms a few of the criteria by
which we might Gudge our success. These criteria will be sufficient to moti0ate the mathematical definitions of the performance
measures that we shall use. 2hether these abstractions are so simple minded that our theory ceases to ha0e practical rele0ance is
discussed in section . =.
(b0iously we should prefer to 8eep promised deli0ery dates. (therwise good will would surely be lost and there might be financial
penalties as well. Indeed one may argue cogently that a deli0ery date that is not
>
enforced by some penalty is not truly a deli0ery date. 2e should also try to minimize the o0erall length of the scheduling periodK
because once all the Gobs ha0e been completed the machines may be released for other tas8s. 2e should try to minimize the time for
which the machines are idleK idle machines mean idle capital in0estment. 2e should try to minimize in0entory costs and by these we
do not mean Gust the cost of storing the finished product. There are also the costs of storing the raw materials and any partially
processed Gobs that must wait between machines. 2e might try to ensure a uniform rate of acti0ity throughout the scheduling period so
that demands for labor and power are stable. "on0ersely it might be desirable to concentrate the acti0ity into periods when either labor
or power is particularly cheap.
%efore we can define performance measures in precise mathematical terms, we need some more definitions and notation. +emember
that ri and piG are respecti0ely the ready time and processing times of Gob 5i.
di is the due date, i.e. the promised deli0ery date of 5i. It is the time by which ideally we would li8e to ha0e completed 5i.
ai s the allowance for 5i. It is the period allowed for processing between the ready time and the due date4 ai P di ? ri
2i is the waiting time of 5i preceding its kth operation. %y 8th operation we do not mean the one performed on '8 #although it may
be&, but the one that comes kth in order of processing. Thus, if the technological constraints demand that 5i is processed through the
machines in the order ' G#&, ' G#;&, ' G#E& ,M..' G#m&, the kth operation is o iG#8& the one performed on ' G#8& . So 2i8 is the time that elapses
between the completion of 5i on 'G#8?& #or ri if k P & and the start of processing on '8 .
2i is the total waiting time of 5i. "learly 2i P

=
m
k
ik
8

"i is the completion time of 5i, i.e. the time at which processing of 5i finishes. 2e ha0e the eCuality4 ( )

=
+ + =
m
k
k i( ik i i
p 8 r C

& #
*i is the flow time of 5i This is defined to be the time that 5I spends in the wor8shop. Thus *i P "i ? ri
1i is the lateness of 5i This is simply the difference between its completion time and its due date4 1i P "i Q di. )ote that when a Gob is
early, i.e. when it completes before its due date, 1, is negati0e. It is often more use to ha0e a 0ariable that, unli8e lateness, only ta8es
non?zero 0alues when a Gob is tardy, i.e. when it completes after its due date. ,ence we also define the tardiness and, to be
comprehensi0e, the earliness of a Gob.
Ti is the tardiness of 5i4 Ti P maxN1i, >O.
Ei is the earliness of 5i4 !i P maxN?1i, >O
.
These Cuantities for a typical Gob are illustrated on the $antt diagram shown in *ig. .;. There is a possibility of confusion in some of
this terminology. English allows the noun DtimeD two distinct meanings. It may be used to refer to an instant or to an inter0al. Thus
ready time and completion time both refer to instants in timeK whereas processing time, waiting time, and flow time refer to inter0als.
In remar8ing upon this ambiguity we hope to a0oid possible confusion. In any case, the context usually ensures that the meaning is
clear,
2e shall often need to discuss the maximum or the mean of these Cuantities and it will help to ha0e a compact notation for doing this.
1et 9i be any Cuantity relating to 5i. Then we let

=
=
n
i
i
9 n 9

B $ the a0erage o0er all the Gobs, and Rmax. P maxNR5, R;$ SSS , RnO, the
maximum o0er all the Gobs. *or instance,
#
is the mean flow time and "max is the maximum completion time.
)ext we define the idle time on machine 'G by IG P "max ?

=
n
i
i(
p

In order to see that this definition ma8es sense, note that "max is the
time

;
when all processing ceases and

=
n
i
i(
p

is the total processing time on machine 'G. Their difference gi0es the period for which 'G is
idle.
*inally we introduce some 0ariables that count the number of Gobs in 0arious states at any gi0en time. 2e let
Nw6t: the number of Gobs waiting between machines or not ready for processing at time t-
N p #t& be the number of Gobs actually being processed at time t-
Nc6t; be the number of Gobs completed by time t- and
Nu6t; be the number of Gobs still to be completed by time t.
"learly we ha0e the following identities4
Nw6t; T Np6t; T Nc6t; P n for all t
Nw6t; T Np6t; P Nu6t: for all t
Nu67; P n.
Nu6Cmax& P (.
2e shall again use an o0er?bar to indicate an a0erage for these Cuantities. The a0erage being, of course, defined relati0e to the time
period, e.g.

=
max
> max
& #

C
u u
dt t N
C
N
)ow we are in a position to define some measures of performance.
Criteria based u!on com!#etion times
The main criteria in this category are *max, "max,
#
and C . 'inimizing *max, the maximum flow time is essentially saying that a
scheduleDs cost is directly related to its longest Gob. 'inimizing "max, the maximum completion time, says that the cost of a schedule
depends on how long the processing system is de0oted to the entire set of Gobs. )ote that in the case where the ready times are zero
"max and #max are identical. ,owe0er, when there are non?zero ready times, "max and *max are Cuite distinct. Indeed, if one Gob bas an
extremely late ready time it may easily happen that the Gob with the shortest flow?time completes at "max It is appropriate to mention
here that Cma' is also called the total production time or the ma8e?span. 'inimizing
#
, the mean flow?time, implies that a scheduleDs
cost is directly related to the a0erage time it ta8es to process a single Gob. 2e shall find that minimizing C , the mean completion
time, is eCui0alent to minimizing
#
- i.e. a schedule which attains the minimum C also attains the minimum
#
and 0ice 0ersa
#see Theorem ;.;&. It may seem strange that #ma' and "max are Cuite distinct measures of performance, whereas
#
and C are
essentially the same. The reason for this is Cuite simple. The operation of ta8ing the
E
maximum of a set of numbers has different properties to that of ta8ing the mean. *or a further discussion of this, see Theorem ;.; and
the remar8s that follow it.
? Although we shall seldom do so, some authors ha0e considered weighted measures, which recognize that some Gobs are more
important than others. Thus they suggest that we minimize weighted a0erages,


=
n
i
i i
C

α or

=
n
i
i i
#

β
where α, α; Mαn and β, β; Mβn are weighting factors usually summing to .
Criteria based u!on due dates
Since the cost of a schedule is usually related to how much we miss target dates by, ob0ious measures of performance are
<
, 1max,
T
, and TmaxK i.e. the mean lateness, the maximum lateness, the mean tardiness, and the maximum tardiness respecti0ely.
'inimizing either < or 1max. is appropriate when there is a positi0e reward for completing a Gob early t and that reward is larger the
earlier a Gob is. 'inimizing either
T
or Tma' is appropriate when early Gobs bring no rewardK there are only the penalties incurred for
late Gobs.
Sometimes the penalty incurred by a late Gob does not depend on how late it isK a Gob that completes a minute late might Gust as well be
a century late. *or instance, if an aircraft is scheduled to land at a time after which it will ha0e exhausted its fuel then the results are
Gust as catastrophic whate0er the scheduled landing time. In such cases, a reasonable obGecti0e would be to minimize nt the number or
tardy Gobs, i.e. the number of Gobs that complete after their due dates.
Criteria based u!on the In*entor& and uti#i+ation costs
,ere we might wish to minimize
8
N , the mean number of Gobs waiting for machines, or
u
N $ the mean number of unfinished Gobs.
%oth of these measures are roughly related to the in?process in0entory costs. 2e might be more concerned with minimizing
c
N , the
mean number of completed Gobs, because doing this will, in general, reduce the in0entory costs of the finished goods. If our aim is to
ensure the most efficient use of the machines, then we might choose to maximize
p
N
the mean number of Gobs actually being
processed at any time. Alternati0ely we might see8 the obGecti0e of efficient machine use by minimizing
1
, Imax the mean or the
maximum machine idle time. #).%. *or idle times the mean and the maximum are ta8en o0er the machines, not the Gobs.&
*inally, we note a classification of performance measures into those that are regular and those that are not. A regular measure = is
simply one
!
that is non?decreasing in the completion times. Thus = is a function of ", ";, M."n such that
D D
; ;
D

,.... ,
n n
C C C C C C ≤ ≤ ≤ together ⇒ =6C*$C+$.Cn& ≤=6C>*$ C>+$..C>n;.
The rationale underlying this definition is as follows4 Suppose that we ha0e two schedules such that under the first all the Gobs
complete no later than they do under the second. Then under a regular performance measure the first schedule is at least as good as the
second. )ote that we see8 to minimize a regular measure of performance.
C $ Cma'$
#
, *max,
<
1max$
T
, Tma' and nT are all regular measures of performance, as a number of simple arguments show. *or
instance, consider the performance measure Cma' ,ere we ha0e4
=6C*$C+$.Cn& P Cma' P max6C*$C+$..Cn&
1et
D D
; ;
D

,.... ,
n n
C C C C C C ≤ ≤ ≤ . Then
=6C*$C+$.Cn&P max6C*$C+$..Cn&
≤max6C>*$C>+$..C>n&? =6C>*$C>+$..C>n&
,ence Cma' is a regular performance measure.
,-. CLASSI/ICA(I)N )/ SCHEDULING "0)1LEMS
It will be con0enient to ha0e a simple notation to represent types of Gobshop problems. 2e shall classify problems according to four
parameters4 n@m@A@A.
n is the number of Gobs.
m is the number of machines.
A describes the flow pattern or discipline within the machine shop.
2hen m P , A is left blan8. A may be
# for the flow?shop case, i.e. the machine order for all Gobs is the same.
B for the permutation flow?shop case. ,ere not only is the machine order the same for all Gobs, but now we also restrict the search to
schedules in which the Gob order is the same for each machine. Thus a schedule is completely specified by a single permutation of the
numbers , ;, ... n$ gi0ing the order in which the Gobs are processed on each and e0ery machine.
$ the general Gob?shop case where there are no restrictions on the form of the technological constraints.
A describes the performance measure by which the schedule is to be e0aluated. It may ta8e, for instance, any of the forms discussed in
the pre0ious section.
As. an example4 n@+@#@Cma' is the n Gob, ; machine, flow?shop problem where the aim is to minimize ma8e?span.
In using four parameters we follow "onway, 'axwell. and 'iller #9<=&. (ther authors, notably 1enstra #9==&, +innooy Ian #9=<&,
and $raham et al. #9=9&, introduce further parameters, but their discussions extend o0er a much larger family of problems than we
shall be considering.
,-2 0EAL SCHEDULING "0)1LEMS AND (HE MA(HEMA(ICS )/ (HE J)1SH)"
(ne need not ha0e encountered scheduling problems in practice to realize that they are 0astly more complex than those of the Gob?
shop as we ha0e defined them. *ew obey many, much less all, of the assumptions that we ha0e made. The cost of a schedule is seldom
well represented by a function as simple as C or Tmax. It might be expected, therefore, that there would be little practical rele0ance of
the theory which we will de0elop. In fact, our analysis is not at all irrele0ant and it would be wise to pause and consider why.
*irstly let us examine assumptions to of section .!. #Assumption ; differs in nature from the others and will be discussed
separately.& These assumptions are undoubtedly restricti0e. They limit the structure of the Gob?shop problem greatly. They define Cuite
precisely which routings of Gobs are allowable and which are notK what the capacities and a0ailabilities of the machines areK etc. It is
0ery easy to imagine practically occurring problems where some of these restrictions are totally inappropriate. So it is comforting to
find that these assumptions are not necessary to the de0elopment of a mathematical theory of schedulingK rather they are typical of the
assumptions which we might ma8e. 2e could ha0e chosen another set of assumptions, and so defined another family of scheduling
problems, and then de0eloped a theory of scheduling for the family. ,ad we done so, we would ha0e encountered the same
difficulties, the same forms of argument, the same mathematical techniCues, and essentially the same results as we shall here. The
reason for choosing the Gob?shop family is that it leads to a presentation of the theory which is particularly coherent and, furthermore,
is not encumbered with a confusion of ca0eats and pro0isos needed to co0er special cases. (nce the Gob?shop family has been studied,
it will be an easy matter to follow de0elopments of the theory in other contexts. To help in this, "hapter ; is a brief sur0ey of such
de0elopmentsK it defines many other families of scheduling problems and references the literature appropriate to them.
Assumption ; and, to a small extent, Assumption >, stand Cuite
<
distinct from the rest. They confine attention to non?random problems, that is problems in which all numerical Cuantities are 8nown
and fixed in ad0ance. There is no uncertainty. %ecause the number of Gobs and their ready times are 8nown and fixed, we call our
problems static. %ecause the processing times and all other parameters are 8nown and fixed, we call our problems deterministic.
.roblems in which Gobs arri0e randomly o0er a period of time are called d&namic. .roblems in which the processing times, etc. are
uncertain are called stochastic. It may be argued that all practical scheduling problems are both dynamic and stochastic, if for no other
reason than that all Cuantities are subGect to some uncertainty. In fact, in many problems the randomness is Cuite ob0ious. *or instance,
it may be impossible to predict exactly when Gobs will become a0ailable for processing, e.g. aircraft arri0ing at an airportDs airspaceK it
may be impossible to predict processing times exactly, e.g. during routine maintenance it will not be 8nown which parts ha0e to be
replaced until they ha0e been examined and that examination is one of the operations of the maintenance processK it may be
impossible to predict the a0ailability of machines, for some may ha0e significant brea8down ratesK and so on. $i0en that most
problems ha0e dynamic and stochastic elements, why do we confine oursel0es to static, deterministic casesJ
To begin with, there are problems in which any randomness is Cuite clearly insignificant, i.e. the uncertainty in the 0arious Cuantities
is se0eral orders of magnitude less than the Cuantities themsel0es. Indeed, as microprocessors and industrial robots enter production
lines, we may expect a greater degree of certainty in processing times. Secondly, we cannot study the dynamic and stochastic families
of problems until we ha0e understood the static, deterministic family. An awareness of the techniCues for scheduling Gobs when there
is no uncertainty in0ol0ed will point us towards the solution of stochastic problems. *inally, there is a rather negati0e reason for
omitting the study of dynamic and stochastic problems from this boo8. To ha0e included it would ha0e reCuired a deeper 8nowledge
of probability theory and statistics than appropriate to an introductory text. The literature of the dynamic stochastic problem is briefly
sur0eyed and referenced in "hapter ;.
So we shall accept all twel0e assumptions of section .! without further Cuestion, and that lea0es us Gust one more point to discuss
here4 is our choice of performance measures too limited to allow the representation of the scheduling goals that arise in practice. The
first point to note is that in using a performance measure such as
T
we are not assuming that the cost of a schedule is directly
proportional to
T
, i.e. that the cost is a positi0e linear
=
function of
T
. 2hat we are assuming is that the cost is an increasing function of
T
, i.e. a function such that the cost increases
when and only when
T
increasesK the increases in cost and
T
need not be proportional. /nder this condition minimizing
T

minimizes the cost. Thus in restricting the choice of performance measures to those listed in section .5, we are not restricting the
form of cost function Cuite as much as we might thin8. )onetheless, we ha0e limited our choice and we should consider the impli?
cations of this.
2e are limiting oursel0es not because it is wrong to want to minimize, say "max but because in any real problem we would also want to
minimize <$ I, etc. The total cost of a schedule is a complex combination of processing costs, in0entory costs, machine idle?time costs,
and lateness penalty costs. In other words, each of our performance measures represents only a component of the total cost. A schedule
which minimizes a component cost may be 0ery poor in terms of the total cost.
In fact, our study will lose little by its failure to consider total costs. 2e shall disco0er that e0en with simple performance measures
scheduling problems can be extremely difficult. Their solution usually reCuires heuristic or approximate methods #see "hapters > and
&, and these methods may easily be modified to minimize total costs. 'oreo0er, the insight necessary to enable such modifications
will come from our earlier wor8 on problems with simple performance measures.
$upta and -ude8 #9=&, and +innooy Ian #9=<, pp. ;!?;:& discuss the form of the total scheduling cost. Also Han 2asenho0e and
$elders #9:>& ha0e introduced the concept of efficiency, i.e. .areto optimality, into the field of scheduling, and we shall study this
briefly in "hapter !.
,-3 ALG45 1E0(IE5 CHA0LES5 AND DIG146S /LA( 0E7ISI(ED
Blease do not read this section until &ou ha2e tried Broblems .;.
/sually I shall only s8etch the solutions to the problems that I set #see pp. ;>=?;;9&. ,owe0er, the problems concerning Algy and his
friends are so important to the de0elopment of the theory that we should pause and examine their solution in some detail.
*. 1s the gi2en schedule$ feasibleC The short answer is no, and we may disco0er this in a number of ways. 2e might try to draw a
$antt diagram of the schedule and find that it is impossible to place some of the bloc8s without conflicting with either the schedule or
the technological constraints. Alternati0ely we might produce an argument similar to, but more in0ol0ed than, that by which we
showed the schedule in Table .E to be infeasible. It will be agreed though that neither of these methods is particularly straightforward
and, moreo0er, that the thought of extending either to larger
:
problems is awesome. 2hat we need is a simple scheme for chec8ing the schedule operation by operation until either a conflict with
the technological constraints is found or the whole schedule is shown to be feasible. The following illustrates such a scheme.
*irstly we write the schedule and the technological constraints side by side as below. 6ou should ignore the DcirclesD for the time being.
2e shall imagine that we are operating the schedule. 2e shall assign papers to readers as instructed. As the papers are read we shall
circle the operations to indicate that they are completed and pass the papers to their next readers. Either we shall meet an impasse or
we shall show that the schedule is feasible. #)ote that I ha0e subscripted the circles in the order in which they are entered.&
Schedule Technological "onstraints
+ead %y
.aper st ;nd Erd !th +eader (rder of +eading .apers
*.T. " - % A A *.T. $. -.E. S.
$. % " A - % $ -E; *.T. S.
-.E. % " A - " -EE $! *.T5. S.
S % A - " - S. *.T. $. -.E.
2e begin in the top left hand comer of the schedule. "harles is gi0en the #inancial Times$ but will not read it until he has read the
%ail2 !'press and the Guardian. So we must lea0e this operation uncompleted and un3 circled. .roceeding down the schedule, %ertie
is gi0en the Guardian and we see from the technological constraints that he is immediately ready to read it. So we circle this operation
both in the schedule and in the technological constraints. )ext %ertie is gi0en the %ail& !'press and we see that, now he has read the
Guardian$ he is immediately ready to read it. So this is the second operation to be circled. The "un we see is also assigned to %ertie,
but he is not ready to read it so we lea0e this operation uncircled. 2e continue by returning to the top line of the schedule and by
repeatedly wor8ing down the schedule, chec8ing the leftmost uncircled operation in each line to see if it may be performed. Thus we
show that "harles may read the %ail& !'press$ the Guardian$ and the #inancial Times without any
9
conflict with the technological constraints. The position is now as shown with fi0e operations circled and we can see Cuite clearly that
an impasse has been reached. Each paper is assigned to a reader who does not wish to read it yet. ,ence the schedule is Cuite clearly
infeasible.
It will transpire that we need to chec8 for feasibility only 0ery infreCuently since the algorithms and methods that we shall study are
designed so that they cannot produce infeasible schedules. *or this reason I shall not write out the steps of the chec8ing scheme
explicitlyK they should be clear enough from the example anyway. If you need to chec8 a schedule for a more con0entional problem
based upon Gobs and machines, you should ha0e no difficulty in translating the method from the present contextK Gust remember that
here Algy and friends are the Gobs, while the papers are the machines.
+. Dow man& different schedules$ feasible or infeasible$ are thereC A schedule for the general n@m@G@A Gob?shop problem consists of m
permutations of the n Gobs. Each permutation gi0es the processing seCuence of Gobs on a particular machine. )ow there are nE different
permutations of n obGects and, since each of the m permutations may be as different as we please from the rest, it follows that the total
number of schedules is 6n E;
m
. In the problem facing Algy and his friends n P ! and m P !. So the total number of schedules is #!U&! P
EE,==<.
It is worthwhile pausing to consider the implications of this rather startling number. ,ere we ha0e a 0ery small problem4 only !
DmachinesD and ! DGobsD. 6et the number of possible contenders for the solution is enormous. 2e cannot hope to sol0e the problem by
the simple expedient of listing all the possible schedules, eliminating the infeasible, and selecting the best of those remaining. To be
fair, we might be able to chec8 through the EE,==< possibilities in a reasonable time on a fast computer. If >>> schedules were
chec8ed each second #which would be 0ery fast&, the computer would sol0e the problem in Gust o0er 5 minutes. %ut suppose that a
guest were staying in the flat so that there were 5 readers. The number of schedules would now be #5U&! P ;. R >
:
and the computer
would ta8e o0er 5= hours to sol0e this new problemU The 0ery size of these numbers indicates the 0ery great difficulty of scheduling
problems. To ha0e any chance at all of sol0ing them we must use subtlety. %ut e0en with the most subtle methods a0ailable we shall
disco0er that some problems defy practical solutionK to sol0e them would literally ta8e centuries.
E. 8hat is the earliest time at which Alg& and his friends ma& lea2e for the countr&C .erhaps the easiest way for us to approach
this problem is to loo8 bac8 at the schedule gi0en in Table .; and see if we can impro0e upon it in any ob0ious way.
1oo8ing at the $antt diagram #*ig. .& and, in particular the row for the "un$ we see that it is the "un that is finished last.
'oreo0er,
;>
it is left unread between .>5 when Algy finishes it and . when "harles is ready for it. Thus < minutes are apparently wasted.
Is there another schedule which does not waste this time, one which ensures that the "un is read continuouslyJ 2ell yes, there is.
"onsider Table .!. This has the $antt diagram shown in *ig. .E. )ote that now the "un is read continuously and that it is the last
paper to be finished. Thus under this schedule the earliest time at which they can lea0e for the country is .!5. 'oreo0er, a little
thought will con0ince most people that this is an optimal schedule. E0erybody starts reading as soon as they can and once started
the "un is read without interruption. There seems to be no slac8 left in the
;
system. %ut there is. "onsider the schedule in Table .5. This schedule leads to the $antt diagram shown in *ig. .! and we see that all
reading is now completed by .E>, 5 minutes earlier than allowed by the schedule in Table .!. So that schedule is clearly not
optimal. ,ow has this impro0ement been achie0edJ "ompare the rows for the "un in the two $antt diagrams #*igs .E and .!&. 2hat
we ha0e done is DIeap?froggedD the bloc8 for "harles o0er those #or -igby and Algy. %ecause "harles can be ready for the "un at 9.5,
if he is allowed the other papers as he wants them, we gain 5 minutes. 'oreo0er, it is possible to schedule the other readers, Algy,
%ertie, and -igby so that this gain is not lost. The moral of all this is that in scheduling you often gain o0erall by not starting a Gob on
a
22
machine as soon as you might. ,ere Algy and %ertie wait for the *inancial Times and $wzrdian respecti0ely. They could snatch up
these papers as soon as they get up, but their patience is a 0irtue rewarded.
It turns out3that the schedule in Table .5 is optimalK no other schedule allows them to lea0e the flat earlier. To see this we consider
four mutually exclusi0e possibilities4 Algy reads the Sun before anyone elseK %ertie doesK "harles doesK or -igby does. At the earliest
Algy can be ready to read the Sun at >.>;. #"hec8 this from Table ..& The earliest times at which
. %ertie, "harles and -igby can be ready are >.;:,9.5, and 9.E> respec?
, ti0ely.Thus.GFDPVF7Uiume5hat, once started, the Sun is read continuously fW ta8ing ; hr. 5 min. in total, then the earliest time at
which all reading can K finish in the four cases is ;.=, ;.!E, .E> and .!5 respecti0ely. )ote 5 that these are lower bounds on the
completion times. *or instance, a F. schedule which gi0es Algy the Sun first might not finish at ;.= either
W.F because other papers continue to be read after the Sun is finished or &Dfd because it is not possible for the Sun to be read
continuously. So the
earliest pos,FGFFDme for any schedule to finish is minN;.=, ;.!E, .E>,
B.!5O P !.E>. able .5 gi0es a scheFule Oompleting at. .E>K it must, theFFeiot",be? ptimal.G&F aw tJ=?. F F.F !/5TD .J
5 .? The structure of the abo0e argument deser0es special emphasis for it
will be de0eloped into a powerful solution techniCue 8nown as .branch and bound #see "hapter =&. 2e had a particular schedule which
completed finally at a 8nown time. To show that this schedule was optimal, 2e considered all possible schedules and di0ided them
into four disGoint classes. 2e wor8ed out for each class the earliest that any schedule within that class could complete, 1e. we found a
lower bound appropriate to each of these classes. 2e then noted that our gi0en schedule completed at the lowest of the lower bounds.
Thus no other schedule could complete before it and so it had to be an optimal schedule.
!. 2hat is the earliest time at which Algy, %ertie and "harles may lea0e without -igbyJ .>E. I lea0e with you both the problem of
finding a schedule to achie0e this and the problem of showing such a schedule to be optimal. ,owe0er, I will gi0e you one hint. /se a
bounding argument li8e that abo0e except that you should consider who is first to read the $uardian, not the Sun.
5. ,ow does one pro0e a schedule to be optimalJ )eed one resort to complete enumerationJ *or the particular scheduling problem
facing Algy and friends we now 8now that complete enumeration is unnecessary. ,owe0er, the solution of .roblem .;.E in0ol0ed a
certain element of luc8, or rather relied on 8nowing the answer before we started. )o straightforward logical argument led to the
schedule in Table .5. I Gust produced it rather li8e a magician pulling a rabbit from a hat. 'oreo0er, the bounding argument
;;
Scheduling .roblems
machine as soon as you might. ,ere Algy and %ertie wait for the *inancial Times and $uardian respecti0ely. They could snatch up
these papers as soon as they get up, but their patience is a 0irtue rewarded.
It turns out that the schedule in Table .5 is optimalK no other schedule allows them to lea0e the flat earlier. To see this we consider
four mutually exclusi0e possibilities4 Algy reads the Sun before anyone elseK %ertie doesK "harles doesK or -igby does. At the earliest
Algy can be ready to read the Sun at >.>;. #"hec8 this from Table ..& The earliest times at which %ertie, "harles and -igby can be
ready are >.;:, 9.5, and 9.E> respecti0ely. Thus, if we assume that, once started, the Sun is read continuously ta8ing ; hr. 5 min. in
total, then the earliest time at which all reading can finish in the four cases is ;.=, ;.!E, .E> and .!5 respecti0ely. )ote that
these are lower bounds on the completion times. *or instance, a schedule which gi0es Algy the Sun first might not finish at ;.=
either because other papers continue to be read after the Sun is finished or because it is not possible for the Sun to be read
continuously. So the earliest possible time for any schedule to finish is minN;.=, ;.!E, .E>, .!5O P .E>. Table .5 gi0es a
schedule completing at. .E>K it must, therefore be optimal.
The structure of the abo0e argument deser0es special emphasis for it will be de0eloped into a powerful solution techniCue
8nown as .branch and bound #see "hapter =&. 2e had a particular schedule which completed finally at a 8nown time. To show that this
schedule was optimal, we considered all possible schedules and di0ided them into four disGoint classes. 2e wor8ed out for each class
the earliest that any schedule within that class could complete, i.e., we found a lower bound appropriate to each of these classes. 2e
then noted that our gi0en schedule completed at the lowest of the lower bounds. Thus no other schedule could complete before it and
so it had to be an optimal schedule.
!. 2hat is the earliest time at which Algy, %ertie and "harles may lea0e without -igbyJ .>E. I lea0e with you both the problem of
finding a schedule to achie0e this and the problem of showing such a schedule to be optimal. ,owe0er, I will gi0e you one hint. /se a
bounding argument li8e that abo0e except that you should consider who is first to read the $uardian, not the Sun.
5. ,ow does one pro0e a schedule to be optimalJ )eed one resort to complete enumerationJ *or the particular scheduling problem
facing Algy and friends we now 8now that complete enumeration is unnecessary. ,owe0er, the solution of .roblem .;.E in0ol0ed a
certain element of luc8, or rather relied on 8nowing the answer before we started. )o straightforward logical argument led to the
schedule in Table .5. I Gust produced it rather li8e a magician pulling a rabbit from a hat. 'oreo0er, the bounding argument
;E
that I used to show optimality relied hea0ily on the, structure of this particular problem, namely that the optimal schedule allowed the
Sun to be read continuously. #2hy is this particular feature important to the argumentJ& In short, I ha0e been able to sol0e this
problem for you simply because I set it. So the Cuestion remains4 in general is it necessary to use complete enumeration to sol0e
scheduling problemsJ The answer is the rest of this boo8.
.9 $E)E+A1 +EA-I)$
Scheduling theory, as I ha0e said, is a surprisingly difficult subGect. "onseCuently there are few elementary introductions. "onway,
'axwell, and 'iller #9<=& is, perhaps, the simplest reference with %a8er #9=!& a close second. The papers of 'ellor #9<<& and
%a8shi and Arora #9<9& introduce the Gob shop scheduling problem, but then go little further. There are se0eral collections of papers
a0ailable4 notably 'uth and Thompson #9<E&, Elmaghraby #9=E&, "offman #9=<&, and a special issue of (perations +esearch
#9=:, Holume ;<, )o.&. At a more ad0anced le0el are the monographs of 1enstra #9==& and +innooy Ian #9=<&. $raham et al.
#9=9& gi0e an excellent, but mathematically terse, sur0ey of the 8nown results in scheduling theory as they stood at the end of 9==.
Ilee #9:>& re0iews the whole area of combinatorial optimization, of which scheduling theory forms a part.
.> .+(%1E'S
. "hoose a practical scheduling problem that you 8now about from your own experience. Try to fit it into the structure of the general
Gob shop. "onsider carefully whether your problem obeys each assumption gi0en in section .! and discuss carefully what
performance criterion is appropriate.
;. Show that for any Gob, 5G4
1i P *i ? ai P "i ? ri ? ai P "i ? di and hence deduce that4
1 P
d C a r C a # − = − − = −

Show that 1i P Ti Q Ei.
!. #i& Show that
#
, Tmax and nT are all regular measures of performance.
#ii& Show that minimizing
!
or Emax does not correspond to a regular measure. 2hy might it be sensible to want to minimize
!
or
Emax J
5. Is the following schedule feasible for Algy and his friendsJ
;!
+ead %y
.aper st ;nd Erd !th
*.T. A " % -
$. " A % -
-.E. " A % -
S. A - " %
;E
that I used to show optimality relied hea0ily on the, structure of this particular problem, namely that the optimal schedule allowed the
Sun to be read continuously. #2hy is this particular feature important to the argumentJ& In short, I ha0e been able to sol0e this
problem for you simply because I set it. So the Cuestion remains4 in general is it necessary to use complete enumeration to sol0e
scheduling problemsF The answer is the rest of this boo8.
.9 $E)E+A1 +EA-I)$
Scheduling theory, as I ha0e said, is a surprisingly difficult subGect. "onseCuently there are few elementary introductions. "onway,
'axwell, and 'iller #9<=& is, perhaps, the simplest reference with %a8er #9=!& a close second. The papers of 'ellor #9<<& and
%a8shi and Arora #9<9& introduce the GobFshop scheduling problem, but then go little further. There are se0eral collections of papers
a0ailable4 notably 'uth and Thompson #9<E&, Elmaghraby #9=E&, "offman #9=<&, and a special issue of (perations +esearch
#9=:, Holume ;<, )o.&. At a more ad0anced le0el are the monographs of 1enstra #9==& and +innooy Ian #9=<&. $raham et al.
#9=9& gi0e an excellent, but mathematically terse, sur0ey of the 8nown results in scheduling theory as they stood at the end of 9==.
Ilee #9:>& re0iews the whole area of combinatorial optimization, of which scheduling theory3 forms a part.
.> .+(%1E'S
. "hoose a practical scheduling problem that you 8now about from your own experience. Try to fit it into the structure of the general
Gob shop. "onsider carefully whether your problem obeys each assumption gi0en in section .! and discuss carefully what
performance criterion is appropriate.
;. Show that for any Gob, 5G4
1K P *i ? aK P "K ? rK ? aK P "K ? dK and hence deduce that4.
1 P = ? a P " ? r ? a P " ? a.
Show that 1K P TK ? EK.
!. #i& Show that D., T m SS D and n T are all regular measures of performance.
#ii& Show that minimizing E or Em SS does not correspond to a regular measure. 2hy might it be sensible to want to minimise E or Em
SS J
5. Is the following schedule feasible for Algy and his friendsJ