New concepts for activity float in resource-constrained project management

https://doi.org/10.1016/j.cor.2010.10.004Get rights and content

Abstract

The concepts of float and critical path are central to analyzing activity networks in project management. In resource-constrained projects, schedule multiplicity makes it difficult to calculate float and identify critical activities accurately. In this work, new concepts of float and critical activity are developed to ascertain critical activities more precisely without reference to activity start and end times in specific schedules. The notions of float, group float, float set, negative float and zero critical activity are introduced, which the project manager can use to deal more effectively with critical activities, duration uncertainty, activity buffering, and resource allocation than the currently available tools in literature. For practical implementation, algorithms are provided and tested to calculate the new measures on the PSPLIB benchmark instances, specifically the J30, J60 and J120 test sets, for the resource constrained project management, illustrating the effectiveness of the proposed concepts in helping to identify flexibility in scheduling activities.

Introduction

Although the notions of float and critical activity are key to analyzing project networks, float cannot be easily interpreted as the difference between the earliest start time (EST) and latest start time (LST) of an activity once resource limitations come into play. This leads to difficulties in network analysis, for example, when the critical path needs to be ascertained. The application of scheduling analysis depends on a good representation of the float of an activity and hence various methods have been proposed to calculate float [1], [2] and identify critical activities [1], [3], [4], [5], [6], [7].

Measures for calculating float to deal with resource-constrained projects have been explored by Raz and Marshall [1] and Bowers [2]. Raz and Marshall [1] used the classical definition of float and calculated it as the difference between the late schedule time and corresponding early schedule time. Since the standard notion of float is not unique, Bowers recognized that there were different schedules with identical completion time for a resource-constrained project, and float varied according to schedules. To resolve this, he redefined float into three types. However, Bowers’ notions of float were calculated as the difference between the EST and LST of all possible schedules. This is computationally prohibitive, since all possible schedules with identical durations must be found, while on the other hand, the difference between the EST and LST cannot capture the meaning of float for resource-constrained projects as we show in Section 2.

Recognizing that it was misleading to apply the traditional critical path method (CPM) to resource-constrained projects, Wiest [4] pursued a new representation of critical activities as a critical sequence in resource-constrained projects. A critical sequence is defined as the set of activities determined not only by topological ordering, but also by resource constraints. Different approaches have been developed to identify critical sequences [1], [3], [5], [6], [7]. The use of a critical sequence relies heavily on techniques used in the scheduling of resource-constrained projects, where activities identified as critical may be different for different schedules. This poses an inherent weakness in the approach.

In Goldratt [8], the idea of critical chain was proposed as a new approach for project scheduling, which is defined as a chain of activities satisfying both precedence and resource constraints. The chain of activities was critical in the sense that delaying any activities in the chain would delay the project. There is, however, little difference between the concepts of critical chain and critical sequence, both of which are schedule based, except for a form of buffer management. In critical chains, different feasible schedules might yield different critical chains, resulting in an activity being critical in one schedule, but not in another. Detailed discussions on critical chains can be found in the work by Raz et al. [9] and Herroelen and Leus [10].

In view of the need for a suitable method to identify critical activities for resource-constrained projects, Rivera and Duran [11] recently proposed the concepts of critical sets and critical clouds while pointing out the shortcomings of earlier approaches to identify critical activities. It turns out, however, that these definitions allow sets of critical activities to be left out, as shown in Section 2. Moreover, the exact algorithm proposed which uses these notions is unlikely to be practical for identifying all critical sets since even for medium-sized projects, there can be an exponential number of critical sets.

The resource-constrained project scheduling problem (RCPSP), first introduced by Wiest [4], is NP-hard in strong sense [12] and methods have been developed to tackle this problem. These include branch-and-bound methods [13], [14], [15], [16], [17], constraint-propagation-based cutting planes [18], heuristic X-pass methods [19], [20], [21], tabu search [22], [23], simulated annealing [24], [25] and genetic algorithms [26], [27], [28], [29]. A detailed survey on the methods for the RCPSP problem can be found in Demeulemeester and Herroelen [30], Kolisch and Padman [31], Kolisch and Hartmann [32], where a standard benchmark library, PSPLIB, was used to evaluate different methods [33].

A review of the limitations of current approaches for calculating float and critical activities is given in Section 2. New notions are proposed in Section 3 that address the limitations, and can be applied effectively to resource-constrained network project management. In Section 4, group float is defined, and a generalized definition of a critical set is given. In order to implement the new concepts, algorithms are developed in Section 5, and in Section 6, we discuss how critical sets and group sets can be found. In Section 7, float graphs illustrate how the new concepts can be used in managing projects. The ideas are developed further by the introduction of a negative float which complements the use of a float. Correspondingly, negative critical activity, negative group float, negative float set, negative critical set, and negative float graph are introduced. The idea of zero critical activity – which is both critical and negatively critical – is highlighted since it is particularly useful as a marker for activities to which project completion time is highly sensitive. For practical implementation of the analytical tools, algorithms developed to calculate float, critical sets and float sets are tested in numerical experiments described in Section 8. Our work is summarized in Section 9.

Section snippets

Limitations in current approaches

Although much effort has been made to interpret flexibility in resource-constrained projects, an effective definition remains unavailable. This can be attributed to the fact that there can be multiple schedules with the same project completion time. Float, as a measure of flexibility, cannot be appropriately defined based on a single schedule. Some researchers choose to represent float by extending the idea of the classical CPM, i.e., using the difference between the earliest EST and the latest

Float and critical activity

The notion of float was previously used in literature to measure scheduling flexibility associated with activities for traditional project networks. Taking the features of resource-constrained project into consideration, we redefine this notion with a broader scope.

Definition 1 Float

The float of an activity is defined as the amount of time that its duration can be extended without changing the completion time of the project.

In the case when there are no resource constraints, this is equivalent to the standard

Group float, critical set and float set

In practice, project managers are not just concerned with a specific activity. Usually, they are also concerned with a group of activities, and wish to know how long a set of activities can be delayed without affecting completion time. Although grouped activities have been studied by Rivera and Duranm [11] with the introduction of critical set and critical cloud, Example 2 showed these definitions were inadequate for discovering all critical sets. To address this shortcoming, we introduce the

Calculating the maximum float

In order to identify critical activities in a resource-constrained project defined in this work, the computation of the maximum float of an individual activity becomes necessary. As shown in Theorem 1, Float-RCPSP is NP-hard in the strong sense, so there can be no polynomial time algorithm to calculate the maximum float unless P=NP. However, for small project instances, we have found in our experiments that the exact value of maximum float is computable by a Float Search with Branch-and-Bound (

Finding group float and critical sets

Similar to float, group float can be calculated using the FSBB and FSSI algorithms. Here, the difference is that all the activities in the group must be delayed simultaneously. Changes are made to the FSBB and FSSI such that the parameters are set to (A,P,R,S,C), where S is the activity set and C is the delay vector discussed in Section 4. Detailed group float algorithms, called FSBB_GROUPFLOAT and FSSI_GROUPFLOAT, are provided in the Appendix.

It is useful to find all float sets and critical

Project depiction using a float graph

Methods have been developed to calculate the maximum float value of an activity and a set of activities. To give the project managers a graphical view of the flexibility of activities in a resource-constrained project, a float graph can be used. This is an undirected graph that depicts float and group float as labels of vertices and edges.

Definition 6 Float graph

A float graph G=(V,E,fv,fe) is an undirected graph, where each vV represents an activity, and there is an edge (u,v)E if and only if the maximum group

Experimental study and analysis

In view of the NP-hardness of the Float-RCPSP, it is only possible to find maximum activity float (E-Float) for small projects. However, with the use of hypothesis testing and the meta-heuristic SA algorithm, it is possible to find the maximum possible float (H-Float) for large projects. Our numerical study is divided into three parts. We start in Section 8.1 by investigating the performance of a branch-and-bound algorithm for E-Float on the J30 test set of the PSPLIB [51], which contains 30

Conclusion and future research

New concepts of float and critical activity were developed in this work to address the limitations of current concepts available for planning resource-constrained projects. With these new measures of flexibility, namely float, group float, critical activity, critical set and the use of float graphs, projects with resource constraints can be managed more effectively. They allow the manager to focus on critical activities, handle activity duration uncertainty, select completion times to buffer

Acknowledgements

The authors would like to express their thanks to the anonymous referees whose comments and suggestions helped to improve the work.

References (52)

  • R. Kolisch et al.

    Experimental investigation of heuristics for resource-constrained project scheduling: an update

    European Journal of Operational Research

    (2006)
  • A. Sprecher et al.

    Semi-active, active, and non-delay schedules for the resource-constrained project scheduling problem

    European Journal of Operational Research

    (1995)
  • J. Carlier et al.

    On linear lower bounds for the resource constrained project scheduling problem

    European Journal of Operational Research

    (2003)
  • W. Herroelen et al.

    Resource-constrained project scheduling: a survey of recent developments

    Computers and Operations Research

    (1998)
  • S. Hartmann et al.

    Experimental evaluation of state-of-the-art heuristics for the resource-constrained project scheduling problem

    European Journal of Operational Research

    (2000)
  • V. Valls et al.

    Justification and RCPSP: a technique that pays

    European Journal of Operational Research

    (2005)
  • W. Herroelen et al.

    Project scheduling under uncertainty: survey and research potentials

    European Journal of Operational Research

    (2005)
  • J.D. Wiest

    Some properties of schedules for large projects with limited resources

    Operations Research

    (1964)
  • B.M. Woodworth

    Is resource-constrained project management software reliable?

    Cost Engineering

    (1989)
  • J.A. Bowers

    Criticality in resource constrained networks

    Journal of Operations Research Society

    (1995)
  • E. Uyttewaal

    Take the path that is really critical

    PM Network

    (1999)
  • E.M. Goldratt

    Critical chain

    (1997)
  • T. Raz et al.

    A critical look at critical chain project management

    Project Management Journal

    (2003)
  • E. Demeulemeester et al.

    A branch-and-bound procedure for the multiple resource-constrained project scheduling problem

    Management Science

    (1992)
  • E. Demeulemeester et al.

    New benchmark results for the resource-constrained project scheduling problem

    Management Science

    (1997)
  • A. Sprecher

    Scheduling resource-constrained projects competitively at modest memory requirements

    Management Science

    (2000)
  • Cited by (16)

    View all citing articles on Scopus
    View full text