Tải bản đầy đủ (.pdf) (1,157 trang)

Handbook of scheduling algorithms, models, and performance analysis

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.12 MB, 1,157 trang )


Handbook of

SCHEDULING
Algorithms, Models,
and Performance Analysis


CHAPMAN & HALL/CRC
COMPUTER and INFORMATION SCIENCE SERIES
Series Editor: Sartaj Sahni
P UB LI S HED TI TLES
HANDBOOK OF SCHEDULING: ALGORITHMS, MODELS, AND PERFORMANCE ANALYSIS
Joseph Y-T. Leung

FO RTHC OMI NG TI TLES
HANDBOOK OF COMPUTATIONAL MOLECULAR BIOLOGY
Srinivas Aluru
HANDBOOK OF ALGORITHMS FOR WIRELESS AND MOBILE NETWORKS AND COMPUTING
Azzedine Boukerche
DISTRIBUTED SENSOR NETWORKS
S. Sitharama Iyengar and Richard R. Brooks
SPECULATIVE EXECUTION IN HIGH PERFORMANCE COMPUTER ARCHITECTURES
David Kaeli and Pen-Chung Yew
HANDBOOK OF DATA STRUCTURES AND APPLICATIONS
Dinesh P. Mehta and Sartaj Sahni
HANDBOOK OF BIOINSPIRED ALGORITHMS AND APPLICATIONS
Stephan Olariu and Albert Y. Zomaya
HANDBOOK OF DATA MINING
Sanjay Ranka
THE PRACTICAL HANDBOOK OF INTERNET COMPUTING


Munindar P. Singh
SCALABLE AND SECURE INTERNET SERVICE AND ARCHITECTURE
Cheng Zhong Xu


CHAPMAN & HALL/CRC COMPUTER and INFORMATION SCIENCE SERIES

Handbook of

SCHEDULING
Algorithms, Models,
and Performance Analysis

Edited by

Joseph Y-T. Leung

CHAPMAN & HALL/CRC
A CRC Press Company
Boca Raton London New York Washington, D.C.


C3979_discl.fm Page 1 Friday, March 19, 2004 2:37 PM

Library of Congress Cataloging-in-Publication Data
Catalog record is available from the Library of Congress
This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with
permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish
reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials
or for the consequences of their use.

Neither this book nor any part may be reproduced or transmitted in any form or by any means, electronic or mechanical,
including photocopying, micro lming, and recording, or by an y information storage or retrieval system, without prior
permission in writing from the publisher.
All rights reserved. Authorization to photocopy items for internal or personal use, or the personal or internal use of speci c
clients, may be granted by CRC Press LLC, provided that $1.50 per page photocopied is paid directly to Copyright Clearance
Center, 222 Rosewood Drive, Danvers, MA 01923 USA. The fee code for users of the Transactional Reporting Service is
ISBN 1-58488-397-9/04/$0.00+$1.50. The fee is subject to change without notice. For organizations that have been granted
a photocopy license by the CCC, a separate system of payment has been arranged.
The consent of CRC Press LLC does not extend to copying for general distribution, for promotion, for creating new works,
or for resale. Speci c permission must be obtained in writing f rom CRC Press LLC for such copying.
Direct all inquiries to CRC Press LLC, 2000 N.W. Corporate Blvd., Boca Raton, Florida 33431.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for
identi cation and e xplanation, without intent to infringe.

Visit the CRC Press Web site at www.crcpress.com
© 2004 by CRC Press LLC
No claim to original U.S. Government works
International Standard Book Number 1-58488-397-9
Printed in the United States of America 1 2 3 4 5 6 7 8 9 0
Printed on acid-free paper


Dedication

To my wife Maria

v


Preface


Scheduling is a form of decision-making that plays an important role in many disciplines. It is concerned
with the allocation of scarce resources to activities with the objective of optimizing one or more performance
measures. Depending on the situation, resources and activities can take on many different forms. Resources
may be nurses in a hospital, bus drivers, machines in an assembly plant, CPUs, mechanics in an automobile
repair shop, etc. Activities may be operations in a manufacturing process, duties of nurses in a hospital,
executions of computer programs, car repairs in an automobile repair shop, and so on. There are also
many different performance measures to optimize. One objective may be the minimization of the mean
flow time, while another objective may be the minimization of the number of jobs completed after their
due dates.
Scheduling has been studied intensively for more than 50 years, by researchers in management, industrial
engineering, operations research, and computer science. There is now an astounding body of knowledge
in this field. This book is the first handbook on scheduling. It is intended to provide a comprehensive
coverage of the most advanced and timely topics in scheduling. A major goal of this project is to bring
together researchers in the above disciplines in order to facilitate cross fertilization. The authors and topics
chosen cut across all these disciplines.
I would like to thank Sartaj Sahni for inviting me to edit this handbook. I am grateful to all the authors and
co-authors (more than 90 in total) who took time from their busy schedules to contribute to this handbook.
Without their efforts, this handbook would not have been possible. Edmund Burke and Michael Pinedo
have given me valuable advice in picking topics and authors. Helena Redshaw and Jessica Vakili at CRC
Press have done a superb job in managing the project.
I would like to thank Ed Coffman for teaching me scheduling theory when I was a graduate student at
Penn State. My wife, Maria, gave me encouragement and strong support for this project.
This work was supported in part by the Federal Aviation Administration (FAA) and in part by the
National Science Foundation (NSF). Findings contained herein are not necessarily those of the FAA or
NSF.

vii



The Editor

Joseph Y-T. Leung, Ph.D., is Distinguished Professor of Computer Science in New Jersey Institute of
Technology. He received his B.A. in Mathematics from Southern Illinois University at Carbondale and his
Ph.D. in Computer Science from the Pennsylvania State University. Since receiving his Ph.D., he has taught
at Virginia Tech, Northwestern University, University of Texas at Dallas, University of Nebraska at Lincoln,
and New Jersey Institute of Technology. He has been chairman at University of Nebraska at Lincoln and
New Jersey Institute of Technology.
Dr. Leung is a member of ACM and a senior member of IEEE. His research interests include scheduling
theory, computational complexity, discrete optimization, real-time systems, and operating systems. His
research has been supported by NSF, ONR, FAA, and Texas Instruments.

ix


Contributors

Richa Agarwal
Georgia Institute of Technology
Department of Industrial &
Systems Engineering
Atlanta, Georgia
Sanjay L. Ahire
University of Dayton
Department of MIS, OM,
and DS
Dayton, Ohio
Ravindra K. Ahuja
University of Florida
Department of Industrial &

Systems Engineering
Gainesville, Florida
Yalc‚ in Akc‚ ay
Koc¸ University
Istanbul, Turkey
James Anderson
University of North Carolina
Department of Computer
Science
Chapel Hill, North Carolina
Hakan Aydin
George Mason University
Department of Computer
Science
Fairfax, Virginia
Anantaram Balakrishnan
University of Texas
Austin, Texas
Philippe Baptiste
CNRS, Ecole Polytechnique
Palaiseau, France

Sanjoy Baruah
University of North Carolina
Department of Computer
Science
Chapel Hill, North Carolina
Jacek Bla˙zewicz
Poznan´ University of
Technology

Institute of Computing Science
´ Poland
Poznan,
N. Brauner
IMAG
Grenoble, France
R. P. Brazile
University of North Texas
Department of Computer
Science & Engineering
Denton, Texas
Peter Brucker
University of Osnabr¨uck
Department of Mathematics
Osnabr¨uck, Germany
Edmund K. Burke
University of Nottingham
School of Computer Science
Nottingham, United Kingdom
Marco Caccamo
University of Illinois
Department of Computer
Science
Urbana, Illinois

Xiaoqiang Cai
Chinese University of
Hong Kong
Department of Systems
Engineering & Engineering

Management
Shatin, Hong Kong
Jacques Carlier
Compi`egne University of
Technology
Compi`egne, France
John Carpenter
University of North Carolina
Department of Computer
Science
Chapel Hill, North Carolina
Xiuli Chao
North Carolina State University
Department of Industrial
Engineering
Raleigh, North Carolina
Chandra Chekuri
Bell Laboratories
Murray Hill, New Jersey
Bo Chen
University of Warwick
Warwick Business School
Coventry, United Kingdom
Deji Chen
Fisher-Rosemount
Systems, Inc.
Austin, Texas

xi



Artur Czumaj
New Jersey Institute of
Technology
Department of Computer
Science
Newark, New Jersey
Patrick De Causmaecker
KaHo Sint-Lieven
Department of Industrial
Engineering
Gent, Belgium
Sudarshan K. Dhall
University of Oklahoma
School of Computer Science
Norman, Oklahoma

Teofilo F. Gonzalez
University of California
Department of Computer
Science
Santa Barbara, California
Jo¨el Goossens
Universit´e Libre de Brussels
Department of Data Processing
Brussels, Belgium
Valery S. Gordon
National Academy of Sciences
of Belarus
United Institute of Informatics

Problems
Minsk, Belarus

Maciej Drozdowski
Poznan´ University of Technology
Institute of Computing Science
´ Poland
Poznan,

Michael F. Gorman
University of Dayton
Department of MIS, OM,
and DS
Dayton, Ohio

Pierre-François Dutot
CNRS
Lab Informatique
et Distribution
Montbonnot, France

Kevin I-J. Ho
Chun Shan Medical University
Department of Information
Management
Taiwan, China

Kelly Easton
Kansas State University
School of Industrial &

Manufacturing Systems
Engineering
Manhattan, Kansas

Dorit Hochbaum
University of California
Haas School of Business, and
Department of Industrial
Engineering & Operations
Research
Berkeley, California

G. Finke
IMAG
Grenoble, France
Shelby Funk
University of North Carolina
Department of Computer
Science
Chapel Hill, North Carolina
Karsten Gentner
University of Karlsruhe
Institute of Economic Theory
and Operations Research
Karlsruhe, Germany
xii

Philip Holman
University of North Carolina
Department of Computer

Science
Chapel Hill, North Carolina
H. Hoogeveen
Utrecht University
Department of Computer
Science
Utrecht, Netherlands
Antoine Jouglet
CNRS
Compi`egne, France

´
Joanna Jozefowska
Poznan´ University of
Technology
Institute of Computing Science
´ Poland
Poznan,
Philip Kaminsky
University of California
Department of Industrial
Engineering & Operations
Research
Berkeley, California
John J. Kanet
University of Dayton
Department of MIS, OM
and DS
Dayton, Ohio
Hans Kellerer

University of Graz
Institute for Statistics &
Operations Research
Graz, Austria
Sanjeev Khanna
University of Pennsylvania
Department of Computer &
Information Science
Philadelphia, Pennsylvania
Young Man Kim
Kookmin University
School of Computer Science
Seoul, South Korea
Gilad Koren
Bar-Ilan University
Computer Science
Department
Ramat-Gan, Israel
Wieslaw Kubiak
Memorial University of
Newfoundland
Faculty of Business
Administration
St. John’s, Canada


Raymond S.K. Kwan
University of Leeds
School of Computing
Leeds, United Kingdom

Ten H. Lai
The Ohio State University
Department of Computer &
Information Science
Columbus, Ohio
Gilbert Laporte
University of Montreal
Centre of Research in
Transportation
Montreal, Canada
Chung-Yee Lee
Hong Kong University of
Science & Technology
Department of Industrial
Engineering & Engineering
Management
Kowloon, Hong Kong
Joseph Y-T. Leung
New Jersey Institute of
Technology
Department of Computer
Science
Newark, New Jersey
Rami Melhem
University of Pittsburgh
Department of Computer
Science
Pittsburgh, Pennsylvania
Aloysius K. Mok
University of Texas

Department of Computer
Science
Austin, Texas
Daniel Mosse
University of Pittsburgh
Department of Computer
Science
Pittsburgh, Pennsylvania

Gr´egory Mouni´e
ENSIMAG
Lab Informatique
et Distribution
Montbonnot, France
George Nemhauser
Georgia Institute of Technology
School of Industrial & Systems
Engineering
Atlanta, Georgia
Klaus Neumann
University of Karlsruhe
Institute for Economic Theory
and Operations Research
Karlsruhe, Germany
Laurent P´eridy
West Catholic University
Applied Mathematics Institute
Angers, France
Sanja Petrovic
University of Nottingham

School of Computer Science
Nottingham, United Kingdom
Michael Pinedo
New York University
Department of Operations
Management
New York, New York
Eric Pinson
West Catholic University
Applied Mathematics Institute
Angers, France
Jean-Marie Proth
INRIA-Lorraine
SAGEP Project
Metz, France
Kirk Pruhs
University of Pittsburgh
Computer Science Department
Pittsburgh, Pennsylvania

Xiangtong Qi
Hong Kong University of
Science and Technology
Department of Industrial
Engineering and
Engineering Management
Kowloon, Hong Kong
David Rivreau
West Catholic University
Applied Mathematics Institute

Angers, France
Sartaj Sahni
University of Florida
Department of Computer &
Information Science &
Engineering
Gainesville, Florida
Christoph Schwindt
University of Karlsruhe
Institute for Economic Theory
& Operations Research
Karlsruhe, Germany
Jay Sethuraman
Columbia University
Department of Industrial
Engineering & Operations
Research
New York, New York
Jiˇr´ı Sgall
Mathematical Institute, AS CR
Prague, Czech Republic
Lui Sha
University of Illinois
Department of Computer
Science
Urbana, Illinois
Dennis E. Shasha
New York University
Department of Computer
Science

Courant Institute of
Mathematical Sciences
New York, New York
xiii


Zuo-Jun Shen
University of Florida
Department of Industrial &
Systems Engineering
Gainesville, Florida

Eric Torng
Michigan State University
Department of Computer
Science and Engineering
East Lansing, Michigan

Jan Weglarz
¸
Poznan´ University of
Technology
Institute of Computing Science
´ Poland
Poznan,

Anand Srinivasan
Microsoft Corporation
Windows Embedded Team
Redmond, Washington


Norbert Trautmann
University of Karlsruhe
Institute for Economic Theory
and Operations Research
Karlsruhe, Germany

Susan Xu
Penn State University
Department of Supply Chain
and Information Systems
University Park, Pennsylvania

Michael Trick
Carnegie Mellon University
Graduate School of Industrial
Administration
Pittsburgh, Pennsylvania

Jian Yang
New Jersey Institute of
Technology
Department of Industrial &
Manufacturing Engineering
Newark, New Jersey

Vitaly A. Strusevich
University of Greenwich
School of Computing
and Mathematical

Sciences
London, United Kingdom
K. M. Swigger
University of North Texas
Department of Computer
Science & Engineering
Denton, Texas
Alexander Thomasian
New Jersey Institute of
Technology
Department of
Computer Science
Newark, New Jersey
Vadim G. Timkovsky
CGI Group Inc.
McMaster University
Algorithms Research Group
Ontario, Canada

xiv

Denis Trystram
Institut National Polytechnique
Lab ID-IMAG
Grenoble, France
George L. Vairaktarakis
Case Western Reserve
University
Department of Operations
Cleveland, Ohio

Marjan van den Akker
Utrecht University
Department of Computer
Science
Utrecht, Netherlands
Greet Vanden Berghe
KaHo Sint-Lieven
Department of Industrial
Engineering
Gent, Belgium

G. Young
California State Polytechnic
University
Department of Computer
Science
Pomona, California
Gang Yu
University of Texas
Department of Management
Science & Information
Systems
Austin, Texas
Xian Zhou
The Hong Kong
Polytechnic University
Department of Applied
Mathematics
Kowloon, Hong Kong



Contents

Part I:

Introduction

1

Introduction and Notation
Joseph Y-T. Leung

2

A Tutorial on Complexity
Joseph Y-T. Leung

3

Some Basic Scheduling Algorithms
Joseph Y-T. Leung

Part II:

Classical Scheduling Problems

4

Elimination Rules for Job-Shop Scheduling Problem: Overview
and Extensions

Jacques Carlier, Laurent P´eridy, Eric Pinson, and David Rivreau

5

Flexible Hybrid Flowshops
George Vairaktarakis

6

Open Shop Scheduling
Teofilo F. Gonzalez

7

Cycle Shop Scheduling
Vadim G. Timkovsky

8

Reducibility among Scheduling Classes
Vadim G. Timkovsky

9

Parallel Scheduling for Early Completion
Bo Chen

10

Minimizing the Maximum Lateness

Hans Kellerer


11

Approximation Algorithms for Minimizing Average Weighted Completion
Time
Chandra Chekuri and Sanjeev Khanna

12

Minimizing the Number of Tardy Jobs
Marjan van den Akker and Han Hoogeveen

13

Branch-and-Bound Algorithms for Total Weighted Tardiness
Antoine Jouglet, Philippe Baptiste, and Jacques Carlier

14

Scheduling Equal Processing Time Jobs
Philippe Baptiste and Peter Brucker

15

Online Scheduling
Kirk Pruhs, Jiˇr´ı Sgall, and Eric Torng

16


Convex Quadratic Relaxations in Scheduling
Jay Sethuraman

Part III:

Other Scheduling Models

17

The Master–Slave Scheduling Model
Sartaj Sahni and George Vairaktarakis

18

Scheduling in Bluetooth Networks
Yong Man Kim and Ten H. Lai

19

Fair Sequences
Wieslaw Kubiak

20

Due Date Quotation Models and Algorithms
Philip Kaminsky and Dorit Hochbaum

21


Scheduling with Due Date Assignment
Valery S. Gordon, Jean-Marie Proth, and Vitaly A. Strusevich

22

Machine Scheduling with Availability Constraints
Chung-Yee Lee

23

Scheduling with Discrete Resource Constraints
J. Bla˙zewicz, N. Brauner, and G. Finke

24

Scheduling with Resource Constraints — Continuous Resources
Joanna J´ozefowska and Jan We˛ glarz

xvi


25

Scheduling Parallel Tasks — Algorithms and Complexity
M. Drozdowski

26

Scheduling Parallel Tasks Approximation Algorithms
Pierre-Franc‚ ois Dutot, Gr´egory Mouni´e, and Denis Trystram


Part IV:

Real-Time Scheduling

27

The Pinwheel: A Real-Time Scheduling Problem
Deji Chen and Aloysius Mok

28

Scheduling Real-Time Tasks: Algorithms and Complexity
Sanjoy Baruah and Jo¨el Goossens

29

Real-Time Synchronization Protocols
Lui Sha and Marco Caccamo

30

A Categorization of Real-Time Multiprocessor Scheduling Problems
and Algorithms
John Carpenter, Shelby Funk, Philip Holman, Anand Srinivasan,
James Anderson, and Sanjoy Baruah

31

Fair Scheduling of Real-Time Tasks on Multiprocessors

James Anderson, Philip Holman, and Anand Srinivasan

32

Approximation Algorithms for Scheduling Time-Critical Jobs
on Multiprocessor Systems
Sudarshan K. Dhall

33

Scheduling Overloaded Real-Time Systems with Competitive/Worst Case
Guarantees
Gilad Koren and Dennis Shasha

34

Minimizing Total Weighted Error for Imprecise Computation Tasks
and Related Problems
Joseph Y-T. Leung

35

Dual Criteria Optimization Problems for Imprecise Computation Tasks
Kevin I-J. Ho

36

Periodic Reward-Based Scheduling and Its Application to Power-Aware
Real-Time Systems
Hakan Aydin, Rami Melhem, and Daniel Moss´e


37

Routing Real-Time Messages on Networks
G. Young


Part V:

Stochastic Scheduling and Queueing Networks

38

Offline Deterministic Scheduling, Stochastic Scheduling, and Online
Deterministic Scheduling: A Comparative Overview
Michael Pinedo

39

Stochastic Scheduling with Earliness and Tardiness Penalties
Xiaoqiang Cai and Xian Zhou

40

Developments in Queueing Networks with Tractable Solutions
Xiuli Chao

41

Scheduling in Secondary Storage Systems

Alexander Thomasian

42

Selfish Routing on the Internet
Artur Czumaj

Part VI:

Applications

43

Scheduling of Flexible Resources in Professional Service Firms
Yal¸cin Ak¸cay, Anantaram Balakrishnan, and Susan H. Xu

44

Novel Metaheuristic Approaches to Nurse Rostering Problems
in Belgian Hospitals
Edmund Kieran Burke, Patrick De Causmaecker and Greet Vanden Berghe

45

University Timetabling
Sanja Petrovic and Edmund Burke

46

Adapting the GATES Architecture to Scheduling Faculty

R. P. Brazile and K. M. Swigger

47

Constraint Programming for Scheduling
John J. Kanet, Sanjay L. Ahire, and Michael F. Gorman

48

Batch Production Scheduling in the Process Industries
Karsten Gentner, Klaus Neumann, Christoph Schwindt, and Norbert Trautmann

49

A Composite Very-Large-Scale Neighborhood Search Algorithm
for the Vehicle Routing Problem
Richa Agarwal, Ravinder K. Ahuja, Gilbert Laporte, and Zuo-Jun “Max” Shen

50

Scheduling Problems in the Airline Industry
Xiangtong Qi, Jian Yang and Gang Yu

xviii


51

Bus and Train Driver Scheduling
Raymond S. K. Kwan


52

Sports Scheduling
Kelly Easton, George Nemhauser, and Michael Trick


Introduction

I

1 Introduction and Notation
Joseph Y-T. Leung
Introduction • Overview of the Book • Notation

2 A Tutorial on Complexity
Joseph Y-T. Leung
Introduction • Time Complexity of Algorithms • Polynomial Reduction • NP-Completeness and
NP-Hardness • Pseudo-Polynomial Algorithms and Strong NP-Hardness • PTAS and FPTAS

3 Some Basic Scheduling Algorithms
Joseph Y-T. Leung
Introduction • The Makespan Objective • The Total Completion Time Objective • Dual Objectives:
Makespan and Total Completion Time • The Maximum Lateness Objective • The Number of Late
Jobs Objective • The Total Tardiness Objective

I-1


1

Introduction and
Notation
Joseph Y-T. Leung
New Jersey Institute of Technology

1.1

1.1
1.2
1.3

Introduction
Overview of the Book
Notation

Introduction

Scheduling is concerned with the allocation of scarce resources to activities with the objective of optimizing
one or more performance measures. Depending on the situation, resources and activities can take on many
different forms. Resources may be machines in an assembly plant, CPU, memory and I/O devices in a
computer system, runways at an airport, mechanics in an automobile repair shop, etc. Activities may be
various operations in a manufacturing process, execution of a computer program, landings and take-offs at
an airport, car repairs in an automobile repair shop, and so on. There are also many different performance
measures to optimize. One objective may be the minimization of the makespan, while another objective
may be the minimization of the number of late jobs.
The study of scheduling dates back to 1950s. Researchers in operations research, industrial engineering,
and management were faced with the problem of managing various activities occurring in a workshop.
Good scheduling algorithms can lower the production cost in a manufacturing process, enabling the
company to stay competitive. Beginning in the late 1960s, computer scientists also encountered scheduling
problems in the development of operating systems. Back in those days, computational resources (such as

CPU, memory and I/O devices) were scarce. Efficient utilization of these scare resources can lower the cost
of executing computer programs. This provided an economic reason for the study of scheduling.
The scheduling problems studied in the 1950s were relatively simple. A number of efficient algorithms
have been developed to provide optimal solutions. Most notable are the work by Jackson [1, 2], Johnson
[3], and Smith [4]. As time went by, the problems encountered became more sophisticated, and researchers
were unable to develop efficient algorithms for them. Most researchers tried to develop efficient branchand-bound methods that are essentially exponential-time algorithms. With the advent of complexity
theory [5–7], researchers began to realize that many of these problems may be inherently difficult to solve.
In the 1970s, many scheduling problems were shown to be NP-hard [8, 9–11].
In the 1980s, several different directions were pursued in academia and industry. One direction was the
development and analysis of approximation algorithms. Another direction was the increasing attention
paid to stochastic scheduling problems. From then on, research in scheduling theory took off by leaps and
bounds. After almost 50 years, there is now an astounding body of knowledge in this field.
This book is the first handbook in scheduling. It is intended to provide a comprehensive coverage of the
most advanced and timely topics in scheduling. A major goal is to bring together researchers in computer
© 2004 by CRC Press, LLC


science, industrial engineering, operations research, and management science so that cross fertilization
can be facilitated. The authors and topics chosen cut across all of these disciplines.

1.2

Overview of the Book

The book comprises six major parts, each of which has several chapters.
Part I presents introductory materials and notation. Chapter 1 gives an overview of the book and
the α|β|γ notation for classical scheduling problems. Chapter 2 is a tutorial on complexity theory. It
is included for those readers who are unfamiliar with the theory of NP-completeness and NP-hardness.
Complexity theory plays an important role in scheduling theory. Anyone who wants to engage in theoretical
scheduling research should be proficient in this topic. Chapter 3 describes some of the basic scheduling

algorithms for classical scheduling problems. They include Hu’s, Coffman-Graham, LPT, McNaughton’s,
and Muntz-Coffman algorithms for makespan minimization; SPT, Ratio, Baker’s, Generalized Baker’s,
Smith’s, and Generalized Smith’s rules for the minimization of total (weighted) completion time; algorithms
for dual objectives (makespan and total completion time); EDD, Lawler’s, and Horn’s algorithms for the
minimization of maximum lateness; Hodgson-Moore algorithm for minimizing the number of late jobs;
Lawler’s pseudo-polynomial algorithm for minimizing the total tardiness.
Part II is devoted to classical scheduling problems. These problems are among the first studied by
scheduling theorists, and for which the 3-field notation (α|β|γ ) was introduced for classification.
Chapters 4 to 7 deal with job shop, flow shop, open shop, and cycle shop, respectively. Job shop problems
are among the most difficult scheduling problems. There was an instance of job shop with 10 machines
and 10 jobs that was not solved for a very long time. Exact solutions are obtained by enumerative search.
Chapter 4 gives a concise survey of elimination rules and extensions that are one of the most powerful
tools for enumerative search designed in the last two decades. Hybrid flow shops are flow shops where
each stage consists of parallel and identical machines. Chapter 5 describes a number of approximation
algorithms for two-stage flexible hybrid flow shops with the objective of minimizing the makespan. Open
shops are like flow shops, except that the order of processing on the various machines is immaterial.
Chapter 6 discusses the complexity of generating exact and approximate solutions for both nonpreemptive and preemptive schedules, under several classical objective functions. Cycle shops are like job shops,
except that each job passes through the same route on the machines. Chapter 7 gives polynomial-time
and pseudo-polynomial algorithms for cycle shops, as well as NP-hardness results and approximation
algorithms.
Chapter 8 shows a connection between an NP-hard preemptive scheduling problem on parallel and
identical machines with the corresponding problem in a job shop or open shop environment for a set of
chains of equal-processing-time jobs. The author shows that a number of NP-hardness proofs for parallel
and identical machines can be used to show the NP-hardness of the corresponding problem in a job shop
or open shop.
Chapters 9 to 13 cover the five major objective functions in classical scheduling theory: makespan,
maximum lateness, total weighted completion time, total weighted number of late jobs, and total weighted
tardiness. Chapter 9 discusses the makespan objective on parallel and identical machines. The author
presents polynomial solvability and approximability, enumerative algorithm, and polynomial-time approximations under this framework. Chapter 10 deals with the topic of minimizing maximum lateness
on parallel and identical machines. Complexity results and exact and approximation algorithms are given

for nonpreemptive and preemptive jobs, as well as jobs with precedence constraints. Chapter 11 gives a
comprehensive review of recently developed approximation algorithms and approximation schemes for
minimizing the total weighted completion time on parallel and identical machines. The model includes
jobs with release dates and/or precedence constraints. Chapter 12 gives a survey of the problem of minimizing the total weighted number of late jobs. The chapter concentrates mostly on exact algorithms and
their correctness proofs. Total tardiness is among the most difficult objective functions to solve, even
for a single machine. Chapter 13 gives branch-and-bound algorithms for minimizing the total weighted


tardiness on one machine, where jobs are nonpreemptible and have release dates (but not precedence
constraints).
Many NP-hard scheduling problems become solvable in polynomial time when the jobs have identical
processing times. Chapter 14 gives polynomial-time algorithms for several of these cases, concentrating
on one machine as well as parallel and identical machines’ environments.
The scheduling problems dealt in the above-mentioned chapters are all offline deterministic scheduling
problems. This means that the jobs’ characteristics are known to the decision maker before a schedule
is constructed. In contrast, online scheduling restricts the decision maker to schedule jobs based on the
currently available information. In particular, the jobs’ characteristics are not known until they arrive.
Chapter 15 surveys the literature in online scheduling.
A number of approximation algorithms for scheduling problems have been developed that are based
on linear programming. The basic idea is to formulate the scheduling problem as an integer programming
problem, solve the underlying linear programming relaxation to obtain an optimal fractional solution,
and then round the fractional solution to a feasible integer solution in such a way that the error can be
bounded. Chapter 16 describes this technique as applied to the problem of minimizing the total weighted
completion time on unrelated machines.
Part III is devoted to scheduling models that are different from the classical scheduling models. Some of
these problems come from applications in computer science and some from the operations research and
management community.
Chapter 17 discusses the master-slave scheduling model. In this model, each job consists of three stages
and processed in the same order: preprocessing, slave processing, and postprocessing. The preprocessing
and postprocessing of a job are done on a master machine (which is limited in quantity), while the slave

processing is done on a slave machine (which is unlimited in quantity). Chapter 17 gives NP-hardness
results, polynomial-time algorithms, and approximation algorithms for makespan minimization.
Local area networks (LAN) and wide area networks (WAN) have been the two most studied networks in
the literature. With the proliferation of hand-held computers, Bluetooth network is gaining importance.
Bluetooth networks are networks that have an even smaller distance than LANs. Chapter 18 discusses
scheduling problems that arise in Bluetooth networks.
Suppose a manufacturer needs to produce di units of a certain product for customer i , 1 ≤ i ≤ n.
Assume that each unit takes one unit of time to produce. The total time taken to satisfy all customers
is D =
d j . If we produce all units for a customer before we produce for the next customer, then the
last customer will have to wait for a long time. Fair sequences are those such that each customer would
ideally receive (d j /D)t units at time t. Chapter 19 gives a review of fair sequences. Note that fair sequences
are related to Pfair scheduling in Chapter 27 and fair scheduling of real-time tasks on multiprocessors in
Chapter 30.
In scheduling problems with due date-related objectives, the due date of a job is given a priori and the
scheduler needs to schedule jobs with the given due dates. In modern day manufacturing operations, the
manufacturer can negotiate due dates with customers. If the due date is too short, the manufacturer runs
the risk of missing the due date. On the other hand, if the due date is too long, the manufacturer runs
the risk of loosing the customer. Thus, due date assignment and scheduling should be integrated to make
better decisions. Chapters 20 and 21 discuss due date assignment problems.
In classical scheduling problems, machines are assumed to be continuously available for processing. In
practice, machines may become unavailable for processing due to maintenance or breakdowns. Chapter 22
describes scheduling problems with availability constraints, concentrating on NP-hardness results and
approximation algorithms.
So far we have assumed that a job only needs a machine for processing without any additional resources.
For certain applications, we may need additional resources, such as disk drives, memory, and tape drives,
etc. Chapters 23 and 24 present scheduling problems with resource constraints. Chapter 23 discusses
discrete resources, while Chapter 24 discusses continuous resources.
In classical scheduling theory, we assume that each job is processed by one machine at a time. With the
advent of parallel algorithms, this assumption is no longer valid. It is now possible to process a job with



several machines simultaneously so as to reduce the time needed to complete the job. Chapters 25 and 26
deal with this model. Chapter 25 gives complexity results and exact algorithms, while Chapter 26 presents
approximation algorithms.
Part IV is devoted to scheduling problems that arise in real-time systems. Real-time systems are those
that control real-time processes. As such, the primary concern is to meet hard deadline constraints, while
the secondary concern is to maximize machine utilization. Real-time systems will be even more important
in the future, as computers are used more often to control our daily appliances.
Chapter 27 surveys the pinwheel scheduling problem, which is motivated by the following application.
Suppose we have n satellites and one receiver in a ground station. When satellite j wants to send information
to the ground, it will repeatedly send the same information in a j consecutive time slots, after which it will
cease to send that piece of information. The receiver in the ground station must reserve one time slot for
satellite j during those a j consecutive time slots, or else the information is lost. Information is sent by
the satellites dynamically. How do we schedule the receiver to serve the n satellites so that no information
is ever lost? The question is equivalent to the following: Is it possible to write an infinite sequence of
integers, drawn from the set {1, 2, . . . , n}, so that each integer j , 1 ≤ j ≤ n, appears at least once in any
a j consecutive positions? The answer, of course, depends on the values of a j . Sufficient conditions and
algorithms to construct a schedule are presented in Chapter 27.
In the last two decades, a lot of attention has been paid to the following scheduling problem. There are
n periodic, real-time jobs. Each job i has an initial start time s i , a computation time c i , a relative deadline
di , and a period pi . Job i initially makes a request for execution at time s i , and thereafter at times s i + kpi ,
k = 1, 2, . . . . Each request for execution requires c i time units and it must finish its execution within di
time units from the time the request is made. Given m ≥ 1 machines, is it possible to schedule the requests
of these jobs so that the deadline of each request is met? Chapter 28 surveys the current state of the art of
this scheduling problem.
Chapter 29 discusses an important issue in the scheduling of periodic, real-time jobs — a high-priority
job is blocked by a low-priority job due to priority inversion. This can occur when a low-priority job gains
access to shared data, which will not be released by the job until it is finished; in other words, the lowpriority job cannot be preempted while it is holding the shared data. Chapter 29 discusses some solutions
to this problem.

Chapter 30 presents Pfair scheduling algorithms for real-time jobs. Pfair algorithms produce schedules
in which jobs are executed at a steady rate. This is similar to fair sequences in Chapter 19, except that the
jobs are periodic, real-time jobs.
Chapter 31 discusses several approaches in scheduling periodic, real-time jobs on parallel and identical
machines. One possibility is to partition the jobs so that each partition is assigned to a single machine.
Another possibility is to treat the machines as a pool and allocate upon demand. Chapter 31 compares
several approaches in terms of the effectiveness of optimal algorithms with each approach.
Chapter 32 describes several approximation algorithms for partitioning a set of periodic, real-time jobs
into a minimum number of partitions so that each partition can be feasibly scheduled on one machine.
Worst-case analyses of these algorithms are also presented.
When a real-time system is overloaded, some time-critical jobs will surely miss their deadlines. Assuming
that each time-critical job will earn a value if it is completed on time, how do we maximize the total value?
Chapter 33 presents several algorithms, analyzes their competitive ratios, and gives lower bounds for any
competitive ratios. Note that this problem is equivalent to online scheduling of independent jobs with the
goal of minimizing the weighted number of late jobs.
One way to cope with an overloaded system is to completely abandon a job that cannot meet its deadline.
Another way is to execute less of each job with the hope that more jobs can meet their deadlines. This model
is called the imprecise computation model. In this model each job i has a minimum execution time mini
and a maximum execution time maxi , and the job is expected to execute αi time units, mini ≤ αi ≤ maxi .
If job i executes less than maxi time units, then it incurs a cost equal to maxi −αi . The objective is to find
a schedule that minimizes the total (weighted) cost or the maximum (weighted) cost. Chapter 34 presents
algorithms that minimize total weighted cost, and Chapter 35 presents algorithms that minimize maximum


weighted cost as well as dual criteria (total weighted cost and maximum weighted cost). Chapter 36 studies
the same problem with arbitrary cost functions. It is noted there that this problem has some connections
with power-aware scheduling.
Chapter 37 presents routing problems of real-time messages on a network. A set of n messages reside
at various nodes in the network. Each message Mi has a release time r i and a deadline di . The message is
to be routed from its origin node to its destination node. Both online and offline routing are discussed.

NP-hardness results and optimal algorithms are presented.
Part V is devoted to stochastic scheduling and queueing networks. The chapters in this part differ from
the previous chapters in that the characteristics of the jobs (such as processing times and arrival times) are
not deterministic; instead, they are governed by some probability distribution functions.
Chapter 38 compares the three classes of scheduling: offline deterministic scheduling, stochastic scheduling, and online deterministic scheduling. The author points out the similarities and differences among
these three classes.
Chapter 39 deals with the earliness and tardiness penalties. In Just-in-Time (JIT) systems, a job should
be completed close to its due date. In other words, a job should not be completed too early or too late. This
is particularly important for products that are perishable, such as fresh vegetables and fish. Harvesting is
another activity that should be completed close to its due date. The authors studied this problem under
the stochastic setting, comparing the results with the deterministic counterparts.
The methods to solve queueing network problems can be classified into exact solution methods and
approximation solution method. Chapter 40 reviews the latest developments in queueing networks with
exact solutions. The author presents sufficient conditions for the network to possess a product-form
solution, and in some cases necessary conditions are also presented.
Chapter 41 studies disk scheduling problems. Magnetic disks are based on technology developed 50
years ago. There have been tremendous advances in magnetic recording density resulting in disks whose
capacity is several hundred gigabytes, but the mechanical nature of disk access remains a serious bottleneck.
This chapter presents scheduling techniques to improve the performance of disk access.
The Internet has become an indispensable part of our life. Millions of messages are sent over the Internet
everyday. Globally managing traffic in such a large-scale communication network is almost impossible.
In the absence of global control, it is typically assumed in traffic modeling that the network users follow
the most rational approach; i.e., they behave selfishly to optimize their own individual welfare. Under
these assumptions, the routing process should arrive into a Nash equilibrium. It is well known that
Nash equilibria do not always optimize the overall performance of the system. Chapter 42 reviews the
analysis of the coordination ratio, which is the ratio of the worst possible Nash equilibrium and the overall
optimum.
Part VI is devoted to applications. There are chapters that discuss scheduling problems that arise in the
airline industry, process industry, hospitals, transportation industry, and educational institutions.
Suppose you are running a professional training firm. Your firm offers a set of training programs, with

each program yielding a different payoff. Each employee can teach a subset of the training programs.
Client requests arrive dynamically, and the firm must decide whether to accept the request, and if so
which instructor to assign to the training program(s). The goal of the decision maker is to maximize
the expected payoff by intelligently utilizing the limited resources to meet the stochastic demand for the
training programs. Chapter 43 describes a formulation of this problem as a stochastic dynamic program
and proposes solution methods for some special cases.
Constructing timetables of work for personnel in healthcare institutions is a highly constrained and
difficult problem to solve. Chapter 44 presents an overview of the algorithms that underpin a commercial
nurse rostering decision support system that is in use in over 40 hospitals in Belgium.
University timetabling problems can be classified into two main categories: course and examination
timetabling. Chapter 45 discusses the constraints for each of them and provides an overview of some recent
research advances made by the authors and members of their research team.
Chapter 46 describes a solution method for assigning teachers to classes. The authors have developed a
system (GATES) that schedules incoming and outgoing airline flights to gates at the JFK airport in New


York City. Using the GATES framework, the authors continue with its applications to the new domain of
assigning teachers to classes.
Chapter 47 provides an introduction to constraint programming (CP), focusing on its application to
production scheduling. The authors provide several examples of classes of scheduling problems that lend
themselves to this approach and that are either impossible to formulate, using conventional Operations
Research methods or are clumsy to do so.
Chapter 48 discusses batch scheduling problems in the process industry (e.g., chemical, pharmaceutical,
or metal casting industries), which consist of scheduling batches on processing units (e.g., reactors, heaters,
dryers, filters, or agitators) such that a time-based objective function (e.g., makespan, maximum lateness,
or weighted earliness plus tardiness) is minimized.
The classical vehicle routing problem is known to be NP-hard. Many different heuristics have been
proposed in the past. Chapter 49 surveys most of these methods and proposes a new heuristic, called Very
Large Scale Neighborhood Search, for the problem. Computational tests indicate that the proposed heuristic
is competitive with the best local search methods.

Being in a time-sensitive and mission-critical business, the airline industry bumps from the left to the
right into all sorts of scheduling problems. Chapter 50 discusses the challenges posed by aircraft scheduling,
crew scheduling, manpower scheduling, and other long-term business planning and real-time operational
problems that involve scheduling.
Chapter 51 discusses bus and train driver scheduling. Driver wages represent a big percentage, about 45
percent for the bus sector in the U.K., of the running costs of transport operations. Efficient scheduling of
drivers is vital to the survival of transport operators. This chapter describes several approaches that have
been successful in solving these problems.
Sports scheduling is interesting from both a practical and theoretical standpoint. Chapter 52 surveys the
current body of sports scheduling literature covering a period of time from the early 1970s to the present
day. While the emphasis is on Single Round Robin Tournament Problem and Double Round Robin Tournament Problem, the chapter also discusses Balanced Tournament Design Problem and Bipartite Tournament
Problem.

1.3

Notation

In all of the scheduling problems considered in this book, the number of jobs (n) and machines (m) are
assumed to be finite. Usually, the subscript j refers to a job and the subscript i refers to a machine. The
following data are associated with job j :
Processing Time ( pi j ) — If job j requires processing on machine i , then pi j represents the processing
time of job j on machine i . The subscript i is omitted if job j is only to be processed on one machine (any
machine).
Release Date (r j ) — The release date r j of job j is the time the job arrives at the system, which is the
earliest time at which job j can start its processing.
Due Date (d j ) — The due date d j of job j represents the date the job is expected to complete. Completion of a job after its due date is allowed, but it will incur a cost.
Deadline (d¯ j ) — The deadline d¯ j of job j represents the hard deadline that the job must respect; i.e.,
job j must be completed by d¯ j .
Weight (w j ) — The weight w j of job j reflects the importance of the job.
Graham et al. [12] introduced the α|β|γ notation to classify scheduling problems. The α field describes

the machine environment and contains a single entry. The β field provides details of job characteristics
and scheduling constraints. It may contain multiple entries or no entry at all. The γ field contains the
objective function to optimize. It usually contains a single entry.


The possible machine environment in the α field are as follows:
Single Machine (1) — There is only one machine in the system. This case is a special case of all other
more complicated machine environments.
Parallel and Identical Machines (Pm) — There are m identical machines in parallel. In the remainder
of this section, if m is omitted, it means that the number of machines is arbitrary; i.e., the number of
machines will be specified as a parameter in the input. Each job j requires a single operation and may be
processed on any one of the m machines.
Uniform Machines (Qm) — There are m machines in parallel, but the machines have different speeds.
Machine i , 1 ≤ i ≤ m, has speed s i . The time pi j that job j spends on machine i is equal to p j /s i ,
assuming that job j is completely processed on machine i .
Unrelated Machines (Rm) — There are m machines in parallel, but each machine can process the jobs
at a different speed. Machine i can process job j at speed s i j . The time pi j that job j spends on machine i
is equal to p j /s i j , assuming that job j is completely processed on machine i .
Job Shop (Jm) — In a job shop with m machines, each job has its own predetermined route to follow.
It may visit some machines more than once and it may not visit some machines at all.
Flow Shop (Fm) — In a flow shop with m machines, the machines are linearly ordered and the jobs all
follow the same route (from the first machine to the last machine).
Open Shop (Om) — In an open shop with m machines, each job needs to be processed exactly once on
each of the machines. But the order of processing is immaterial.
The job characteristics and scheduling constraints specified in the β field may contain multiple entries.
The possible entries are β1 , β2 , β3 , β4 , β5 , β6 , β7 , β8 .
Preemptions (pmtn) — Jobs can be preempted and later resumed possibly on a different machine. If
preemptions are allowed, pmtn is included in the β field, otherwise, it is not included in the β field.
No-Wait (nwt) — The no-wait constraint is for flow shops only. Jobs are not allowed to wait between
two successive machines. If nw t is not specified in the β field, waiting is allowed between two successive

machines.
Precedence Constraints (prec) — The precedence constraints specify the scheduling constraints of the
jobs, in the sense that certain jobs must be completed before certain other jobs can start processing. The
most general form of precedence constraints, denoted by prec, is represented by a directed acyclic graph,
where each vertex represents a job and job i precedes job j if there is a directed arc from i to j . If each
job has at most one predecessor and at most one successor, the constraints are referred to as chains. If
each job has at most one successor, the constraints are referred to as an intree. If each job has at most one
predecessor, the constraints are referred to as an outtree. If prec is not specified in the β field, the jobs are
not subject to precedence constraints.
Release Dates (r j ) — The release date r j of job j is the earliest time at which job j can begin processing.
If this symbol is not present, then the processing of job j may start at any time.
Restrictions on the Number of Jobs (nbr ) — If this symbol is present, then the number of jobs is
restricted; e.g., nbr = 5 means that there are at most five jobs to be processed. If this symbol is not present,
then the number of jobs is unrestricted and is given as an input parameter n.
Restrictions on the Number of Operations in Jobs (n j ) — This subfield is only applicable to job shops.
If this symbol is present, then the number of operations of each job is restricted; e.g., n j = 4 means that
each job is limited to at most four operations. If this symbol is not present, then the number of operations
is unrestricted.
Restrictions on the Processing Times ( p j ) — If this symbol is present, then the processing time of
each job is restricted; e.g., p j = p means that each job’s processing time is p units. If this symbol is not
present, then the processing time is not restricted.


×