The majority of publications in the extensive literature on resource-constrained project scheduling focus on a static deterministic setting for which a so-called baseline schedule is computed prior to project execution. In the real world, however, a project may be subject to considerable uncertainty. During the actual execution of a project, the baseline schedule may indeed suffer from disruptive events causing the actually realized activity start times to deviate from the predicted start times that were given in the baseline. This text focuses on robust project scheduling, in particular the development of effective and efficient proactive and reactive scheduling procedures. Proactive scheduling aims at generating robust baseline schedules that carry sufficient protection against possible schedule disruptions that may occur during project execution. Reactive scheduling procedures aim at repairing the baseline schedule when the built-in protection fails during the execution of the project. We discuss the fundamentals of state of the art proactive/reactive project scheduling approaches and, along the lines, discuss key directions for future research.
Scheduling and sequencing concerns the optimal allocation of scarce resources to activities over time. The project scheduling problem involves the scheduling of project activities subject to precedence and/or resource constraints. Robust Project Scheduling reviews the fundamentals of robust project scheduling through the deployment of proactive/reactive project scheduling procedures. Proactive/reactive project scheduling procedures try to cope with schedule disruptions that may occur during project execution using a three stage-process: (a) the generation of a precedence and resource feasible baseline schedule, (b) protecting the baseline schedule against disruptions that may occur during project execution, and (c) deploying a reactive scheduling procedure to repair the baseline schedule during project execution when needed. The authors elaborate on the three-stage scheduling process in this text. Chapter 2 examines Temporal scheduling, the generation of precedence feasible schedules using CPM or PERT. Chapter 3 focuses on the resource management issue and the state-of-the-art in generating baseline schedules that are not only precedence but also resource feasible. In Chapter 4, the authors focus on project scheduling under uncertainty. Procedures for protecting baseline schedules against time uncertainty are dealt with in Chapter 5. Proactive project scheduling under renewable resource uncertainty is covered in Chapter 6. Chapter 7 is devoted to a discussion of reactive scheduling procedures which can be launched when the baseline schedule breaks and needs to be repaired. Chapter 8 revisits the material discussed in previous chapters, reviews our major findings and identifies some future research areas. Robust Project Scheduling is aimed at the "informed newcomer". Material currently dispersed over numerous research publications is brought together within a unified comprehensive framework. Recent research findings that were not yet covered in previously published survey articles are discussed in sufficient depth. This should not only allow the reader to grasp the state-of-the-art in proactive/reactive project scheduling, but should also reveal potential new directions for fruitful research.