Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/290616116

Scheduling: Theory, Algorithms and Systems Development

Chapter · January 1992


DOI: 10.1007/978-3-642-46773-8_5

CITATIONS READS
64 2,252

2 authors, including:

Michael Pinedo
New York University
288 PUBLICATIONS   13,618 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Scheduling Theory Algorithms and Systems View project

All content following this page was uploaded by Michael Pinedo on 21 March 2016.

The user has requested enhancement of the downloaded file.


35

SCHEDULING: THEORY, ALGORITHMS AND SYSTEMS


DEVELOPMENT

Michael Pinedo, Columbia University, New York


Khosrow Hadavi, Siemens Corporate Research, Princeton

Abstract: In this paper we give a brief historical overview of the research done in scheduling theory
and its applications. We discuss the most recent developments as well as the directions in which
the field is going.

1. Introduction

During the last four decades an enormous amount of research has been done on the many different
aspects of scheduling. Researchers and practitioners from various fields, including Operations Re-
search, Industrial Engineering and Computer Science, have dedicated their attention to sequencing
and scheduling.
In the fifties and sixties these efforts resulted in a large number of algorithmic techniques suitable
for deterministic scheduling problems. In the seventies, when complexity theory came of age, several
classification schemes for deterministic scheduling problems were developed, which were useful as
they partitioned scheduling problems into "easy" and "hard" problems. During the last decade a
significant amount of theoretical research has been done in stochastic scheduling problems. Also
during this period, with the advent of the microcomputer on the factory floor, universities as well as
corporate research and development centers have begun to design and develop scheduling systems
for factory floor use and other applications.
In this paper we give a brief overview of the history of the field and we discuss the directions in
which the field is going.

2. Overview of the Theory

There exists a useful and fairly complete classification scheme, which encompasses a large number
of deterministic models of interest /4f. In this classification scheme job j has a release date rj, a

Operations Research Proceedings 1991


C Springer-Verlag Berlin Heidelberg 1992
36

due date dj , a weight (priority factor) Wj and a processing time Pij on machine i (when the job's
processing time does not depend upon the machine the subscript i is omitted). The classification
scheme is based on a triplet Q I fJ I 'Y. The Q refers to the machine environment. Well studied
machine environments include the single machine (1), machines in parallel (P), the flow shop (F)
and the common job shop (J). The second field may contain zero or one or more entries which
refer to processing characteristics and constraints. For example, if preemptions are allowed, prmt
is included; if there are precedence constraints, prec is included; if there are sequence dependent
setup times, Sjk is included, and so on. The third field refers to the objective function. The
objective function can be, for example, the minimization of the makespan or completion time of
the last job (Gmmz ), the minimization of the flow time or sum of completion times (E Gj ), the
number of jobs completed after their due dates (E Uj), and so on. In this framework the problem
P I prmt, Sjl< I Gmmz thus refers to the problem where the makespan has to be minimized with
machines in parallel, sequence dependent setup times and preemptions allowed.
The first algorithms developed for scheduling problems were basically simple sorting rules which
rank the jobs according to priority functions. Well-known examples are Earliest Due Date (EDD)
first, Shortest Processing Time (SPT) first, Longest Processing Time (LPT) first, and so on. Such
rules are useful mainly because of their simplicity; they are in practice often used as dispatching
rules. The sorting function can, of course, be more complicated. For example, jobs may be ranked
in decreasing order of their weight divided by their processing time, that is, in decreasing order
of Wj/Pj. This last rule is in the scheduling literature often referred to as the Weighted Shortest
Processing Time (WSPT) first rule and is basically equivalent to the so-called cll-rule in the queueing
literature. Scheduling problems for which an optimal sequence can be obtained through a simple
sort are computationally among the easiest ones. For example, it is known that the EDD rule
minimizes the maximum lateness on a single machine when the jobs are subject to due dates, while
the SPT rule minimizes the flow time on parallel machines. Such problems are thus solvable in
polynomial time and therefore easy.
There are many (but not too many) other scheduling problems which also can be solved in
polynomial time. Often, single machine problems and parallel machine problems with preemptions
can be solved efficiently. Some of these problems can be formulated as Linear Programs. Consider,
for example, the problem where n jobs, all available at time 0, have to be processed on m identical
machines in parallel with preemptions allowed in such a way that the makespan is minimized.
This problem can be formulated easily as a Linear program. Unfortunately, the great majority of
scheduling problems are NP-hard and can therefore not be formulated as Linear Programs. However,
they often can be formulated fairly easily as other types of Mathematical Programs, namely Integer
37

Programs or Disjunctive Programs. Examples of such problems are F II Cmar and J II Cmar •
The two computational techniques which are most often used when dealing with such problems
are Dynamic Programming and Branch and Bound. Dynamic Programming can be used in a
forward mode as well as in a backward mode. The backward mode may at times be difficult to
implement as the makespan may not be known in advance; the forward mode can often be applied
more easily. Branch and Bound has several advantages over Dynamic Programming and appears
to be more widely used. One advantage is that it is not necessary to carry out the computation
till an optimal schedule is found; after a given amount of computation time the procedure can be
stopped and the best schedule obtained so far is feasible. Branch and Bound can also easily be used
in conjunction with problem specific heuristics; a heuristic can be used independently to obtain an
initial feasible schedule, which is then used as a bound in the Branch and Bound procedure. During
the seventies powerful bounding techniques have been developed, Lagrangean Relaxation being the
best known among them.
As Branch and Bound and Dynamic Programming are very time consuming in practice, simple
priority rules are often used for problems which are NP-hard. The use of these rules on NP-hard
problems has lead many researchers to perform worst case analyses of such rules. For example,
when LPT is applied to the (nonpreemptive) P II Cmax problem it can be shown that the resulting
makespan cannot be larger than 4/3 times the optimal makespan /2j.
Theoretical research in scheduling has focussed mainly on models with a single objective. In
practice, of course, there are multiple objectives which have to be dealt with. These objectives may
have different weights and the weights may actually vary over time. A schedule which is optimal
with respect to one objective may be atrocious with respect to another. Lately, researchers have
been able to find optimal schedules for some multiple objective models. For example, it is easy
to find an optimal schedule for P I prmt I Ctl Cmax + Ct2 L: Cil where Ctl and Ct2 are the respective
weights of the two objectives.
During the last ten years a great deal of research has been done on stochastic scheduling. In
these problems the assumption is that the actual processing times of the jobs are not known in
advance. The processing time of a job is assumed to be a random variable of which only the dis-
tribution is known in advance; the actual processing time is only known after the job has been
completed. This research in stochastic scheduling has yielded fundamental new insights. One of
these insights is the following: It may at times be surprisingly easy to determine the optimal policy
for the stochastic counterpart of an NP-hard deterministic problem. A rule which may be only a
heuristic in a deterministic setting may optimize the expected objective in a stochastic setting. This
observation has a certain effect on algorithms which are to be used in real life settings. If there is
38

a certain amount of randomness in the system it does not pay to invest the computer time needed
for finding the very best solution under the assumption that all data are fixed.

3. Empirical Procedures

In real life, with actual scheduling systems, the theoretical procedures presented in the previous
section often are not applicable. To obtain an optimal schedule for a real life problem with only
10 jobs can easily take 24 hours on a RISC workstation. As most schedulers would like to have a
schedule within 30 seconds, good heuristics are of the utmost importance.
A significant amount of research has been done on sophisticated dispatching rules which use
global information. Dispatching rules are often used to determine the order in which jobs are
processed either on a,single machine or on a bank of parallel machines. The priority rules discussed
in the previous section are basically simple dispatching rules designed with a specific (simple)
objective function in mind. One objective often encountered in practice is the minimization of
the sum of the weighted tardinesses, i.e., E wjTj, where the tardiness Ti of job j is defined as
max( Cj - dj , 0) with Cj being the completion time of job j. It is clear that the two heuristics which
may playa role with regard to this objective are EDD and WSPT. If all the due dates are very close
to zero, i.e., the situation is very tight, then clearly WSPT will perform well. On the other hand, if
the due dates are spread out, EDD will do well. Somehow a mixture has to be found between EDD
and WSPT. Several mixtures have been proposed in the literature, one of which being the so-called
Apparent Tardiness Cost first (ATC) rule /5/. If a machine is freed at time t the following index
factor is computed for each one of the jobs waiting to be processed.

Wj (max(dj-pj-t,O))
I()
j t = -exp
Pj
-
kp
,

where k is a so-called look-ahead or scaling factor and p is the average processing time of the jobs
waiting. The di - Pi - t represents the remaining slack of job j, that is the amount of time the start
of job j can be postponed without causing job j to be late. It is clear that the value of k has a big
impact on how the rule behaves. If k = 00, the rule reduces to the WSPT rule, while if k = ° the
rule reduces to the Minimum Slack first rule when all jobs have a positive slack, and to the WSPT
rule among the jobs which are going to be late when one or more jobs have zero or negative slack.
The parameter k can function thus as a control parameter. That is, if a given set of jobs has to be
scheduled, then first the characteristics of the job set have to be captured in a number of different
factors, such as the Due Date Tightness factor
39

T = 1 _ _'"
L..J
__ d·J_
n,Cmar
and the Due Date Range factor
R = maxd· - J
mind·
).
Cmar
A significant amount of research has been done in developing functions f which map T and R to
an appropiate k, i.e., k = f(T, R) /2/.
This rule illustrates how composite heuristics can be constructed which combine several heuri-
stics into one rule in order to deal with one or more objectives.
Composite rules tend to be very problem specific. In contrast with these rules a great deal of
attention has been paid to more generic solution procedures which are less problem specific. Two
well-known search techniques are simulated annealing and tabu-search. These two techniques are
fairly similar to one another and are based on the same concepts. For both techniques the concept
of neighbourhood needs to be defined. For example, any given schedule of n jobs on a single machine
has as neighbours all schedules which can be obtained through a swap of any two adjacent jobs
in the given schedule. Simulated annealing as well as tabu-search proceed through moves from
one schedule to another; the next schedule is always a neighbour of the previous one. A move
may even be allowed when the objective deteriorates. This characteristic is essential as it gives the
search routine a chance to move away from a local minimum. The sequence in which the various
neighbours of a given schedule are considered as candidates for a move may be the same in simulated
annealing and tabu-search. However, the two techniques are fundamentally different in the decision
mechanisms which determine whether a move will be made. In simulated annealing this mechanism
is based on a probabilistic approach. If the move results in an improvement, the move is made; if the
move results in a deterioration of the objective function, then the move is made with a probability
which depends on the iteration and on the amount with which the objective deteriorates. Because
of the probabilistic nature of the mechanism, there is no danger of cycling. With tabu-search, if the
current schedule represents a local minimum, a move to a worse neighbour is made according to a
deterministic routine; this can cause cycling. In order to avoid cycling a so-called tabu-list is kept.
Whenever a move is made the reverse move is put at the top of the tabu-list; all other entries are
pushed one position down, while the bottom entry drops from the list.
Some research has been done comparing the effectiveness of simulated annealing with the ef-
fectiveness of tabu-search on scheduling problems. The results of one study which compared the
two techniques applied on the same test problems indicated that simulated annealing was slightly
slower but resulted in slightly better schedules.
40

4. Systems Development and Implementation

As said before, during the last decade an enormous amount work has been done on the development
of scheduling systems. Because of these efforts it has become evident how many differences there
are between theoretical scheduling models and scheduling problems in practice. Some of these
differences are the following:
(i) Real life scheduling problems often require scheduling systems which are reactive. In many
environments there may be at all times an existing schedule which needs to be updated because of
new jobs or modified because of an unforeseen disruption. It is often highly desirable that the new
schedule in one way or another is not too different from the original schedule. In the scheduling
literature these types of problems have hardly been addressed.
(ii) In real life information is often fuzzy. For example, it may be preferable to process a job on
one machine instead of on another. This type of information may be hard to capture concisely in
a mathematical model.
(iii) In practice there are often many objective functions. The various objectives may have dif-
ferent weights which may change over time, dependent upon the status quo of the environment.
These types of multi-objective scheduling problems have not received much attention in the litera-
ture either.
There are other mostly implementation issues which have had considerable impact on the deve-
lopment and implementation of scheduling systems.
(i) Databases which are inaccurate, inconsistent or incomplete. In practice, it turns out that
databases are seldom 100% complete or accurate, which then may lead to schedules which are not
feasible.
(ii) User interfaces which are not sufficiently user friendly. For the scheduler to use the system
it is of the utmost importance that the interface is to his liking. If he does not feel comfortable
with the system he may not use the system at all.
(iii) Response time of the system. The scheduler usually does not like to wait more than 30
seconds for the schedule generation module to come up with a schedule; a longer wait would cause
aggravation. The response time when the scheduler is in an editing mode has to be even shorter.
Scheduling systems often consist· of a number of important segments or modules. The more
important modules are the database management module, the schedule generation module and the
schedule editing module. Here we only discuss the design of schedule generation modules.
There have been several approaches for the design of schedule generation modules. One ap-
proach, coming from the Operations Research community, emphasizes optimization; one or more
41

objectives are formulated and an optimization procedure is utilized to obtain an optimal or close to
optimal schedule. Another approach, coming from the.Artificial Intelligence community, emphasizes
constraint satisfaction. All constraints or scheduling rules are embedded in a knowledge base and
an attempt is made to obtain a feasible schedule. This approach often leads to the use of pro-
gramming languages with object-oriented extensions such as Prolog, LISP or C++. Lately, these
two approaches have been converging and systems have been designed with a knowledge base which
consists of a library of rules in addition to the usual database. In these hybrid systems constraint
satisfaction and optimization are intertwined.
One example of a system which has been developed in a corporate research environment and
implemented in one of the most difficult machine environments (namely semiconductor manufac-
turing) is the Requirements Driven Scheduling (ReDS) system /3/. ReDS has been developed at
the Siemens Corporate Research Center in Princeton and implemented in a VLSI development line
in Germany. ReDS uses heuristics for its release strategies and divide and conquer as well as least
commitment planning for the real time generation of its schedules. An example of a system which
has been developed in a academic setting and implemented in industry is the ISIS system. This sy-
stem, which has been developed at Carnegie-Mellon University and implemented in a turbine blade
manufacturing facility of Westinghouse Electric, is based on constraint satisfaction. A beam search
is used in the space of all the constraints and each partial result is evaluated until an acceptable
solution is obtained. Another example of a system developed in an academic setting and designed
for industry is the FlexFlo system, which has been developed at Columbia University in collabora-
tion with the Corporate Research Center of International Paper. It is designed for a flexible flow
shop and emphasizes constraint satisfaction as well as optimization.

5. Discussion

The current development and (not always successful) implementation of scheduling systems has a
significant impact on the research in scheduling. It focuses attention on the real problems which
often have been disregarded by the researchers in academia and provides testing grounds for the
evaluation of new algorithms. It also brings to light disciplines which are associated and have to be
taken into consideration in order to develop and implement systems successfully.
42

Literature

/1/ Bhaskaran, K.; Pinedo, M.


Dispatching
Handbook of Industrial Engineering, Chapter 83, J. Wiley, NY (1991)

/2/ Graham, R.
Bounds on Multiprocessing Anomalies
SIAM J. of App!. Math., 17,263-269 (1969)

/3/ Hadavi, K.; Voigt, K.


An Integrated Planning and Scheduling Environment
Proceedings of AI in Manufacturing Conference, Long Beach (1987)

/4/ Lawler, E.L.; Lenstra, J.K.; Rinnooy Kan, A.H.G.; Shmoys, D.E.
Sequencing and Scheduling: Algorithms and Complexity.
Report BS-R8909, Centre for Mathematics and Computer Science, Amsterdam (1989).

/5/ Vepsalainen, A.; Morton, T.


Priority Rules for Job Shops with Weighted Tardiness Costs.
Management Science 34, 1035-1047 (1987)

View publication stats

You might also like