INTRODUCTION
Scheduling is the allocation of limited resources over time to perform a given set of jobs or activities. We concentrate here on scheduling models with applications to factory and computer systems. Other common uses of the term scheduling include:
-
(1)
Project scheduling — the determination of activity times and project duration for complex projects composed of multiple activities with precedence relations;
-
(2)
Workforce scheduling — the determination of the number of workers and their duty cycles to meet certain labor restrictions; and
-
(3)
Timetabling — the determination of the matching of participants with each other and with resources, such as sports scheduling or student/room exam assignments.
Scheduling problems have been studied informally for centuries. The Gantt Chart , developed in World War I for logistics purposes, is a graphical representation of tasks and resources over time, and was the first formal model used for scheduling purposes. Critical Path Methods were developed after World War II for project management and are still widely used. The 1950s saw the first analyses of machine scheduling problems using mathematical models. Further research interest was provided by the computational complexity paradigm of the early 1970s. More recently, modern manufacturing environments have attracted the attention of scheduling researchers.
The reason for this continuing activity is the amount of time and value that manufacturing organizations necessarily invest in the scheduling function. This function typically takes place at the operational level, after completion of the planning phases concerned with which tasks are to be performed and which resources are available. Examples of such planning phases include forecasting, aggregate planning, inventory control and materials requirements planning (Nahmias, 1993).
In spite of all the research in this area, there are few individual contributions that we can point to as having a major impact on applications and very little available as a unifying theory (McKay, Safayeni and Buzacott, 1988; Pinedo, 1995). This is because of the very difficult mathematical structure of these problems and the wide variety of special constraints which arise in applications. Nevertheless, there are some results which have had a major impact. These, along with some of the basic tools of scheduling will be described, following some useful definitions.
For those interested in reviews of the scheduling literature there are some excellent texts and surveys: Conway, Maxwell and Miller (1967); French (1982); Lawler et al. (1993); Morton and Pentico (1993); Baker (1995); Pinedo (1995); and Pinedo and Chao (1998).
PRELIMINARIES
Scheduling involves the determination of two types of decisions:
-
allocation decisions, i.e. which resources (here called machines) will be assigned to perform each of a given set of jobs; and
-
sequencing decisions, i.e. in what order and when do we perform each of these jobs.
Even though many applications involve the determination of a schedule that is simply feasible with respect to scarce resources, most mathematical models use some economic measure of performance that enables us to compare different schedules.
These objectives typically represent some measure of throughput, customer satisfaction or costs. In general, the problems focus on a single objective at a time, although there are some results on multicriteria problems (Daniels, 1990).
The constraints or considerations that are relevant in these models include precedence relations among jobs, job priorities, setup times on machines, and preemption capabilities. McKay et al. (1988) identified over 600 types of constraints present in manufacturing environments. The machine environment also affects our ability to solve these problems. We consider single machine problems, several machines in parallel, flow shops which involve several machines in series, and job shops which involve several machines through which jobs follow various routings.
Also influencing the difficulty of solving these problems and the techniques that can be used to solve them is the precision in the problem data. Most models and results assume that the data is deterministic, although there exist some results for stochastic or probabilistic environments (Righter, 1994), as well as some models that protect against uncertainty in the data (Daniels and Kouvelis, 1995).
SOLUTION TECHNIQUES
Since most scheduling problems have economic criteria and constraints, it is natural to use optimization methods to solve these problems. However, the number of feasible schedules grows quickly with problem size, making almost all such problems extremely difficult to solve. Consider the simplest problem with n jobs on a single machine, with no additional constraints. There are n! sequences which must be considered, and even for relatively small problems, for example of size n = 100, the enumeration task is virtually impossible. In the mid 1970s, many scheduling problems were classified by complexity theory as intractable. More formally, as optimization problems, they are NP-hard (Garey and Johnson, 1979), and thus optimal solution procedures that are substantially more efficient than enumeration are unlikely to exist.
Nevertheless, these hard problems need to be solved. Traditional optimization techniques such as mathematical programming, enumeration methods, and dynamic programming have had limited success. Quite often, it is necessary to resort to heuristic techniques which do not guarantee an optimal solution. These techniques have been of two types: limit the space of search by only considering schedules that meet some specified criteria, or search in a limited neighborhood of some known feasible schedule. These heuristics have shown some success, but unfortunately much of this work considers only their worst-case performance, which is not necessarily a true measure of the average performance of a heuristic. Recent advances in heuristics, including constraint satisfaction (Fox and Smith, 1984), simulated annealing (Matsuo, Suh and Sullivan, 1989), tabu search (Widmer and Hertz, 1989) and genetic algorithms (Storer, Wu and Vaccari, 1992) have extended our ability to find good solutions. Anderson, Glass and Potts (1997) provided a comprehensive discussion of local search methods for scheduling problems.
Surprisingly, it is a simple principle that has given us some of the most significant scheduling results. This principle is pairwise interchange (Baker, 1995). This neighborhood search technique starts with a feasible schedule for the problem and inter-changes the sequence of two already scheduled jobs according to some rule. For some classes of problems, this procedure always results in an optimal solution. For other classes, it routinely results in a computationally good, although not necessarily optimal solution.
In problems with stochastic data, some of these same combinatorial techniques can be used (Pinedo, 1995). In some simple problems it is possible to take advantage of queueing theory results or of stochastic analogs of the pairwise interchange rules discussed above. However, in most cases, simulation becomes the technique of choice. Often, the complicated environment or simply the highly combinatorial nature of the problem is enough to make simulation the only viable method of analysis.
SCHEDULING RESULTS
We next describe some results which are key building blocks to scheduling theory and applications. These arise from problems with a single, continuously available machine; with independent, one-operation, and deterministic jobs; and with machine set-up times that are negligible or are not sequence-dependent.
Single-Machine Models — We assume that there are n jobs with the following data:
- p j =:
-
the processing time required by job j;
- r j =:
-
the ready time of job j, that is, the earliest time at which the job can begin processing;
- d j =:
-
the time job j is due to have processing completed.
Once a schedule has been determined, the following variables can be evaluated:
- C j =:
-
the completion time of job j;
- F j =:
-
the flowtime of job j = C j - r j;
- L j =:
-
the lateness of job j= C j - d j;
- T j =:
-
the tardiness of job j = max{0, L j}.
The simplest models assume criteria which are nondecreasing in the completion time of jobs, that is, in all the above variables. These are called regular measures and include:
In these problems, optimal schedules exist in which job preemption and machine idle time do not occur. Thus, a solution is completely characterized by a sequence of the jobs.
The following is an important result in scheduling theory:
Shortest Processing Time (SPT) sequence, that is, sequencing the jobs from shortest to longest processing time, minimizes total flowtime when r j = 0 for all jobs (Smith, 1956).
This is proved by interchange arguments and can be extended to include jobs of different importance, or weights, by using weight-to-processing-time ratio (Smith, 1956).
For customer service measures, we include due date information. Perhaps counterintuitively, SPT also minimizes Total Lateness. The most important result using due date measures is:
Earliest Due Date (EDD), that is, sequencing the jobs from earliest to latest due date, minimizes both L max and T max (Jackson, 1955).
In many other problems with due-date measures, EDD provides useful guidance towards an optimal, or close to optimal solution.
There are several other single machine results. The presence of nonzero ready times creates problems with due date measures unless jobs can be preempted without penalty. If this is not the case, it is necessary to look ahead to jobs not yet in the system, causing simple dispatching rules that do not consider the current partial sequence, such as SPT or EDD, to yield suboptimal solutions.
Another condition imposed on jobs may be precedence relations. They represent a partial ordering of the jobs which is imposed for technological reasons. These relationships (which can be represented by graphs where job i precedes job j if there is an arc from i to j), may under certain conditions still yield relatively simple algorithms. When the graph is composed of chains or is series-parallel, many problems can be solved optimally. However, general precedence relationships between jobs typically prevent the finding of optimal solutions quickly (Monma, 1981).
As noted, these simple models ignore setup times. When setup times are present and sequence-dependent, many simple problems become very difficult to solve. For example, minimizing makespan , that is, C max = completion time of the last job, is equivalent to solving a traveling salesman problem.
We have thus far considered only regular measures of performance. One important non-regular measure, that represents another attribute of customer service, is a job earliness penalty. That is, a job's earliness is E j = max{0, d j − C j}. When there are many jobs and a common due date, minimizing a combination of earliness and tardiness penalties is still possible (Baker and Scudder, 1990; Hall and Posner, 1991). When the due dates are distinct for each job, the problems are very difficult to solve.
Multiple Parallel-Machine Models — Fast optimal algorithms for scheduling problems with several machines are scarce. The existence of several machines requires not only sequencing decisions, but also allocation decisions. The simplest environment assumes there are n jobs available at time zero and m identical machines for processing them.
The simplest model in this environment attempts to minimize makespan, that is, the time to complete all n jobs. Since changing the sequence of jobs allocated to a particular machine does not affect the makespan, the only decision is allocating jobs to machines. If preemption is permitted, McNaughton (1959) showed that there is a simple algorithm to per-form this allocation. When preemption is not permitted, the problem is NP-hard even if m = 2. However, a computationally reasonable (pseudo-polynomial time) algorithm provides optimal solutions.
Here, a reasonable heuristic seems to be to list the jobs in some prespecified order, placing the next job in the list onto the first machine that becomes available. By cleverly ordering the jobs, list scheduling heuristics provide acceptable performance guarantees. For example, a simple rule such as longest processing time first (LPT) guarantees a solution within 33% of the optimal makespan (Graham, 1969). Graham also found several interesting anomalies in list scheduling, such as that increasing the number of machines or reducing the processing time of the jobs can increase makespan.
If the objective is to minimize total flow time on m identical machines, an SPT list scheduling algorithm gives an optimal solution. Almost all other problems that can be generalized from the single machine case, unfortunately, fail to yield optimal solutions in polynomial time.
The next important class of problems is flow shop models. The simplest instance assumes there are m machines and each job requires processing on each machine, that is, each job has m operations. In addition, processing moves from machine to machine in a prespecified order that is the same for each job. These problems are much more difficult to solve than single machine problems. One additional consideration is that inserted idle time may be desirable. This was not the case for single machines with regular performance measures. In addition, if there are more than three machines, different permutations of the jobs must be considered for each machine, giving rise to (n!)m possible sequences.
When m = 2, however, Johnson (1954) provided an efficient algorithm for minimizing makespan. When there are more than two machines the makespan problem becomes NP-hard. There are several special cases, however, when m = 3 that use variations of Johnson's algorithm to guarantee optimal solutions.
We state Johnson's theorem using his notation. Here,
- A i =:
-
the processing-time (including setup, if any) of the first operation of the ith job;
- B i =:
-
the processing-time (including setup, if any) of the second operation of the ith job.
Johnson's algorithm is applied to the following problem: sequence an arbitrary number of jobs in a two-machine flow shop to minimize the makespan. We assume that all jobs are simultaneously available.
JOHNSON'S THEOREM
An optimal schedule for a two-machine flow shop that minimizes the make-span will be obtained when job j precedes job j + 1if
Under certain conditions, the processing of an operation of job j can start before the completion of the previous operation. This overlapping of operations can improve the makespan. Trietsch and Baker (1993) discussed a variety of these lot streaming problems.
One variation of the flow shop model requires that the processing of a job cannot be interrupted once it has started. A survey of applications, algorithms and complexity results for these no-wait models, and for related models with machine blocking, was given by Hall and Sriskandarajah (1996). Another extension of the flow shop model allows the job to pass through the machines in any order. This is referred to as an open shop and, except for the case of two machines with makespan objective, the problems are essentially all very hard to solve optimally.
Job shop scheduling models cover a significant portion of all factory scheduling problems. In a job shop, the number and order of operations for each job may differ. These problems are virtually intractable because of the large number of possible schedules. The notorious 10-job, 10-machine problem of Fisher and Thompson (1963) provided the benchmark for the computational difficulty of these problems. It took 25 years of research for its optimal solution to be verified (Carlier and Pinson, 1988). Many heuristic procedures use dispatching rules. These heuristics choose, according to some rule, the next job from those available to start on a machine when that machine becomes idle. A successful and widely used heuristic for the job shop problem was described by Adams, Balas and Zawack (1988).
Other results
Generalized Resource Constraints — Scheduling problems often involve resources that are not continuously available, or get depleted by use, or are subject to failure or deterioration. Scheduling in this environment is called resource-constrained machine scheduling. Many related results were provided by Blazewicz et al. (1986).
Stochastic Machine Scheduling — In many situations, job parameters are known with certainty. Processing times may, however, be subject to fluctuation, or job arrivals may not be known in advance. At times the deterministic problem has a direct stochastic counterpart. There are several cases where an algorithm which is used as a heuristic in the deterministic version of a problem can guarantee an optimal solution (in an expected sense) for the stochastic version. In most cases, however, stochastic problems are hard, not only in computational effort but also requiring a different set of techniques such as Markov decision processes (Bertsekas, 1987).
Scheduling Families or Groups — Modern manufacturing facilities contain flexible machines which can produce or assemble a variety of products. When products are similar, switching between them requires no set-up time. These groups of products are called product families . Switching between different product families is possible but requires a setup. Here a batch represents a set of items that are produced following a single setup. The difficulty in scheduling these environments arises from the tradeoff between scheduling large batches which cause delays to jobs in other families, and scheduling small batches which incur many setups. The issues to be resolved include sequencing items within families, the determination of the batch sizes and the sequencing of the batches from different families (Santos and Magazine, 1985; Monma and Potts, 1989).
Modern Manufacturing Environments —The requirements of modern manufacturing impose new demands on the scheduling function and the theory that supports it. Lee, Uzsoy and Martin-Vega (1992) considered burn-in problems that arise in semiconductor manufacturing, where the processing time required by a batch of jobs is the length of the longest job rather than the total processing time. Automated manufacturing systems, particularly those which require the coordination of computer-controlled material handling devices with production schedules, generate a variety of interesting scheduling problems, as discussed by Crama (1997). For example, Hall, Kamoun and Sriskandarajah (1997) considered robotic cells, in which a robot serves several production machines. Also in accordance with modern manufacturing principles are manufacturing environments with limited storage buffers (Hall, Posner and Potts, 1998). Current trends in deterministic scheduling, with an emphasis on modern manufacturing problems, are extensively reviewed by Lee, Li and Pinedo (1997).
Combinatorial and integer optimization; Combinatorics; Computational complexity; Constraint satisfaction; Flexible manufacturing; Genetic algorithms; Heuristics; Inventory modeling; Job shops; Operations management; Production management; Simulated annealing; Tabu search.
References
Adams, J., Balas, E., and Zawack, D. (1988). “The Shifting Bottleneck Procedure for Job Shop Scheduling,” Mgmt. Sci., 34, 391–401.
Anderson, E.J., Glass, C.A., and Potts, C.N. (1997). “Machine Scheduling,” 361–414 in Local Search in Combinatorial Optimization, ed. Aaarts, E.H.L. and Lenstra, J.K., Wiley, Chichester, U.K.
Baker, K. (1995). Elements of Sequencing and Scheduling, revised edition, Amos Tuck School of Business Administration, Dartmouth College, Hanover, NH.
Baker, K. and Scudder, G. (1990). “Sequencing with Earliness and Tardiness Penalties: A Review,” Opns. Res., 38, 22–36.
Bertsekas, D.P. (1987). Dynamic Programming: Deterministic and Stochastic Models, Prentice Hall, Englewood Cliffs, NJ.
Blazewicz, J., Cellary, W., Slowinski, R., and Weglarz, J. (1986). “Scheduling Under Resource Constraints — Deterministic Models,” Ann. Opns. Res.,,7.
Carlier, J. and Pinson, E. (1988). “An Algorithm for Solving the Job-Shop Problem,” Mgmt. Sci., 35, 164–176.
Conway, R., Maxwell, W., and Miller, L. (1967). Theory of Scheduling, Addison-Wesley, Reading, MA.
Crama, Y. (1997). “Combinatorial Models for Production Scheduling in Automated Manufacturing Systems,” Eur. Jl. Opnl. Res., 99, 136–153.
Daniels, R. (1990). “A Multi-Objective Approach to Resource Allocation in Single Machine Scheduling,” Eur. Jl. Opnl. Res., 48, 226–241.
Daniels, R. and Kouvelis, P. (1995). “Robust Scheduling to Hedge Against Processing Time Uncertainty in Single Stage Production,” Mgmt. Sci., 41, 363–376.
Fisher, H. and Thompson, G. (1963). “Probabilistic Learning Combinations of Local Job-Shop Scheduling Rules,” 225–251 in Industrial Scheduling, ed. Muth, J. and Thompson, G., Prentice-Hall, Englewood Cliffs, NJ.
Fox, M.S. and Smith, S.F. (1984). “ISIS: A Knowledge-Based System for Factory Scheduling,” Expert Syst., 1, 25–49.
French, S. (1982). Sequencing and Scheduling: An Introduction to the Mathematics of the Job Shop, Harwood, Chichester, U.K.
Garey, M.R. and Johnson, D.S. (1979). Computers and Intractability: a Guide to the Theory of NP-Completeness, W.H. Freeman & Company, San Francisco.
Graham, R. (1969). “Bounds on Multiprocessor Timing Anomalies,” SIAM Jl. of App. Math., 17, 416–425.
Hall, N.G., Kamoun, H., and Sriskandarajah, C. (1997). “Scheduling in Robotic Cells: Classification, Two and Three Machine Cells,” Opns. Res., 45, 421–439.
Hall, N.G. and Posner, M.E. (1991). “Earliness-Tardiness Scheduling Problems, I: Weighted Deviation of Completion Times About a Common Due Date,” Opns. Res., 39, 847–856.
Hall, N.G., Posner, M.E., and Potts, C.N. (1998). “Scheduling With Finite Capacity Output Buffers,” Opns. Res., 46, S84–S97.
Hall, N.G. and Sriskandarajah, C. (1996). “A Survey of Machine Scheduling Problems with Blocking and No-Wait in Process,” Opns. Res., 44, 510–525.
Jackson, J.R. (1955). “Scheduling a Production Line to Minimize Maximum Tardiness,” Research Report 43, Management Science Research Project, University of California, Los Angeles.
Johnson, S. (1954). “Optimal Two and Three Stage Production Schedules with Setup Times Included,” Naval Res. Logistics Qtrly., 1, 61–68.
Lawler, E., Lenstra, J., Rinnooy, Kan, A., and Shmoys, D. (1993). “Sequencing and Scheduling: Algorithms and Complexity,” in Handbooks in Operations Research and Management Science, Vol. 4, Logistics of Production and Inventory, ed. Graves, S., Rinnooy Kan, A. and Zipkin, P.
Lee, C.-Y., Li, L., and Pinedo, M. (1997). “Current Trends in Deterministic Scheduling,” Ann. Opns. Res., 70, 1–42.
Lee, C.-Y., Uzsoy, R., and Martin-Vega, L.A. (1992). “Efficient Algorithms for Scheduling Semiconductor Burn-in Operations,” Opns. Res., 40, 764–775.
Matsuo, H., Suh, C.J., and Sullivan, R.S. (1989). “A Controlled Search Simulated Annealing Method for the Single Machine Weighted Tardiness Problem,” Ann. Opns. Res., 21, 85–108.
McKay, K., Safayeni, F., and Buzacott, J. (1988). “Job-Shop Scheduling Theory: What is Relevant,” Interfaces, 18(4), 84–90.
McNaughton, R. (1959). “Scheduling with Deadlines and Loss Functions,” Mgmt. Sci., 6, 1–12.
Monma, C.L. (1981). “Sequencing with General Precedence Constraints,” Math. Opns. Res., 4, 215–224.
Monma, C.L. and Potts, C.N. (1989). “On the Complexity of Scheduling With Batch Setup Times,” Opns. Res., 37, 798–804.
Morton, T. and Pentico, D. (1993). Heuristic Scheduling Systems, John Wiley, New York.
Nahmias, S. (1993). Production and Operations Analysis, 2nd edition, Irwin, Homewood, IL.
Pinedo, M. (1995). Scheduling: Theory, Algorithms, and Systems, Prentice Hall, Englewood Cliffs, NJ.
Pinedo, M. and Chao, X. (1998). Operations Scheduling: Applications in Manufacturing and Services, to be published by McGraw-Hill, Burr Ridge, IL.
Righter, R. (1994). “Stochastic Scheduling,” in Stochastic Orders, ed. Shaked, M. and Shanthikumar, G., Academic Press, San Diego.
Santos, C. and Magazine, M. (1985). “Batching in Single Operation Manufacturing Systems,” Opns. Res. Lett., 4, 99–103.
Smith, W. (1956). “Various Optimizers for Single Stage Production,” Naval Res. Logistics Qtrly.,3, 59–66.
Storer, R.H., Wu, S.D., and Vaccari, R. (1992). “New Search Spaces for Sequencing Problems With Application to Job Shop Scheduling,” Mgmt. Sci., 38, 1495–1509.
Trietsch, D. and Baker, K. (1993). “Basic Techniques for Lot Streaming,” Opns. Res., 41, 1065–1076.
Widmer, M. and Hertz, A. (1989). “A New Heuristic Method for the Flow Shop Sequencing Problem,” Eur. Jl. Opnl. Res., 41, 186–193.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Kluwer Academic Publishers
About this entry
Cite this entry
Hall, N.G., Magazine, M. (2001). Scheduling and sequencing . In: Gass, S.I., Harris, C.M. (eds) Encyclopedia of Operations Research and Management Science. Springer, New York, NY. https://doi.org/10.1007/1-4020-0611-X_925
Download citation
DOI: https://doi.org/10.1007/1-4020-0611-X_925
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-0-7923-7827-3
Online ISBN: 978-1-4020-0611-1
eBook Packages: Springer Book Archive