Proactive heuristic procedures for robust project scheduling: An experimental analysis

https://doi.org/10.1016/j.ejor.2006.10.061Get rights and content

Abstract

Solution-robust project scheduling is a growing research field aiming at constructing proactive schedules to cope with multiple disruptions during project execution. When stochastic activity durations are considered, including time buffers between activities is a proven method to improve the stability of a baseline schedule.

This paper introduces multiple algorithms to include time buffers in a given schedule while a predefined project due date remains respected. Multiple efficient heuristic and meta-heuristic procedures are proposed to allocate buffers throughout the schedule. An extensive simulation-based analysis of the performance of all algorithms is given. The impact of the activity duration variance structure on the performance is discussed in detail.

Introduction

The vast majority of the research efforts in project scheduling over the past several years have concentrated on the development of exact and heuristic procedures for the generation of a workable baseline schedule (preschedule or predictive schedule) assuming complete information and a static and deterministic environment. During execution, however, a project may be subject to considerable uncertainty, which may lead to numerous schedule disruptions. Activities can take shorter or longer than primarily expected, resource requirements or availability may vary, new activities might have to be inserted, etc.

Recent research [14] has demonstrated that when projects have to be executed in the face of uncertainty, proactive–reactive project scheduling procedures are capable of combining schedule stability and makespan performance and the use of an objective function aiming at schedule stability pays off. In [12] it has been shown that a proactive approach is often more effective than a pure reactive approach. However, the literature on proactive stable scheduling procedures is uncovered as being virtually void. For an overview on schedule robustness, we refer to [15]. The objective of this paper is to develop and validate a number of heuristic procedures for generating such stable project baseline schedules. Following common practice in project scheduling (we refer for overviews to [6], [7]), we adopt a two-stage approach that first solves the resource-constrained project scheduling problem and afterwards adds safety to the initial schedule in a second stage. The rationale for relying on a two-stage procedure is that we want to allow for the possibility to generate solution robust schedules starting from an existing precedence and resource feasible but “unprotected” schedule (be it the currently available project schedule in the organization set up for a project, or a schedule generated using any exact or heuristic solution procedure for the resource-constrained project scheduling problem (RCPSP)) without having to resolve the resource allocation problem, i.e. the way in which renewable resource units are transferred between the activities. For that reason, the resource flows that solve the resource allocation problem for the initial schedule are preserved in the buffered schedule.

The problem used as our vehicle of analysis can be described as follows. A project network G=(N,A) is represented in activity-on-the-node representation with dummy start and end nodes. All non-dummy project activities have stochastic activity durations dj, are subject to finish start zero-lag precedence constraints and require an integer per period amount rjk of one or more renewable resource types k(k=1,2,,K) during execution. All resources have a fixed per period availability ak. Every non-dummy activity j has a weight wj that denotes the marginal cost of deviating its realized starting time during execution from its predicted starting time in the baseline schedule. The weight of the dummy end activity wn denotes the cost of delaying the project completion beyond a predefined deterministic project due date δn. The objective is to build a stable precedence and resource feasible baseline schedule by minimizing the stability cost function Σwj(E|sj-sj|), defined as the weighted sum of the expected absolute deviations between the predicted starting times sj of the activities in the baseline and their realized starting times sj during actual schedule execution. The scheduling problem for stability has been shown to be ordinary NP-hard [10].

Both simple heuristics and meta-heuristics will be presented in this paper, the objective of which is to generate stable baseline schedules with acceptable makespan performance. The remainder of the paper is organized as follows. Section 2 introduces the different heuristic procedures. The set-up of the computational experiment is described in Section 3. Section 4 presents the computational results, while a last section is devoted to overall conclusions.

Section snippets

Algorithms

The heuristic algorithms described in this section all consider a deterministic project due date δn and start from an initial unbuffered schedule in which time buffers are inserted in order to protect against anticipated disruptions. In this section several buffer allocation algorithms are introduced. Any feasible solution for the deterministic resource-constrained project scheduling problem (RCPSP) using mean activity durations (problem m,1|cpm|Cmax [5]) can serve as initial unbuffered

Experimental set-up

All proposed algorithms have been coded in Microsoft Visual C++ 6.0. The procedures were tested on the well-known J30, J60 and J120 PSPLIB data sets [8]. For details on these instances we refer to the parameter settings section of the PSPLIB website (http://129.187.106.231/psplib/). For an extensive study of the impact of the parameter settings on schedule stability we refer to [14].

In order to investigate the impact of activity duration variability, we distinguish between low, high and random

Computational results

All computational results have been obtained on a Pentium IV 2.4 GHz personal computer. A total of ten scheduling procedures are evaluated. The heuristic RCPSP solution obtained by the combined crossover algorithm of Debels and Vanhoucke [2] serves as the benchmark. Algorithms 2–4 are the RFDFF, VADE and STC heuristics introduced in Sections 2.1 RFDFF, 2.2 VADE, 2.3 STC. Algorithms 5–8 are all instances of the improvement heuristic of Section 2.4 with the solutions of Algorithms 1–4 as initial

Conclusions and further research

Proactive project scheduling is concerned with building stable baseline schedules that are able to absorb most of the anticipated disruptions during project execution. In this paper, we presented various heuristic algorithms for inserting time buffers in a project schedule.

An extensive simulation-based experiment on PSPLIB network instances revealed that the STC heuristic in general ranks best among the simple heuristics that do not rely on an improvement phase. STC uses information on activity

Acknowledgement

This research has been supported by Project OT/03/14 of the Research Fund K.U. Leuven.

References (15)

There are more references available in the full text version of this article.

Cited by (0)

View full text