Justification and RCPSP: A technique that pays

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

Abstract

The objective of this paper is to show that justification is a simple technique that can be easily incorporated in diverse algorithms for the resource-constrained project scheduling problem––improving the quality of the schedules generated without generally requiring more computing time. The results of incorporating this technique in 22 different algorithms are shown. Fifteen of the new algorithms that use double justification outperform seven of the best heuristic algorithms that do not use justification. The tests have been performed on the standard test set j120 for the RCPSP generated using ProGen.

Introduction

The classical resource-constrained project scheduling problem (RCPSP) continues to be an active area of research attracting in recent years increasing interest from researchers and practitioners in the search for better solution procedures. We refer to the surveys provided by Icmeli et al. (1993), Özdamar and Ulusoy (1995), Herroelen et al. (1998), Brucker et al. (1999) and Kolisch and Padman (2001). For solving the RCPSP exactly, the most competitive algorithms seem to be those of Demeulemeester and Herroelen (1992), Brucker et al. (1998), Mingozzi et al. (1998), Klein and Scholl (1999), Sprecher (2000) and Dorndorf et al. (2000). Since the RCPSP is NP-hard in the strong sense (Blazewicz and Lenstra, 1983), it is not surprising that only small-sized problem instances with up to 60 activities can be solved exactly in a satisfactory manner. Therefore, heuristic solution procedures remain as the only feasible method of handling practical resource-constrained project scheduling problems.

Many heuristic approaches have been proposed for RCPSP (we refer to the aforementioned surveys). Kolisch and Hartmann (1999) have given an overview of heuristics focusing on X-pass methods (single pass methods, multi-pass methods, sampling procedures) and metaheuristics (simulated annealing, genetic algorithms, Tabu search). Apart from the algorithms covered by this computational comparison, different heuristics have been proposed by Li and Willis (1992), Özdamar and Ulusoy (1996), Merkle et al. (2000), Klein (2000), Nonobe and Ibaraki (2001), Alcaraz and Maroto (2001), Tormos and Lova (2001), Hartmann (2002), Möhring et al. (2003), and Valls et al., 2003, Valls et al., 2004. Few of these researchers have paid due attention to a simple and efficient technique for improving the quality of schedules––the justification of schedules.

In an early paper, Wiest (1964) introduced the concepts of left-justified and right-justified schedules and a procedure for associating a right-justified schedule to a given left-justified schedule by local left-shifting of all activities. The objective being to extend the unambiguously defined concepts of activity slack and critical path in the unlimited resource case to the case where resources are limited. Since then few researchers have used these, or related concepts, when designing algorithms for the RCPSP. Although both procedures differ in important aspects, Wiest's procedure can be considered as an antecedent of the justification technique to be defined later this paper.

Li and Willis (1992) propose an iterative forward/backward scheduling technique for project scheduling under general resource-constraints. Basically, the procedure iteratively applies serial forward and backward scheduling until no further improvement in the project duration can be obtained. The activity finish (start) times of a forward (backward) schedule determine the activity priorities for the next backward (forward) schedule. In other words, they perform left and right-justification of schedules as defined in this paper.

The heuristic technique of Tormos and Lova (2001) is an iterative method where each iteration is a two-stage procedure. The first stage builds a feasible schedule by means of a regret-based biased random sampling procedure. In the second stage, this schedule is right-justified and then the resulting schedule is left-justified.

Valls et al., 2003, Valls et al., 2004 propose two different metaheuristic algorithms for solving the RCPSP. They are based on different approaches. The first one is a non-standard implementation of fundamental concepts of Tabu Search without explicitly using memory structures, whereas the second one is a population-based procedure. However, both incorporate the techniques of right and left-justification inside the algorithmic scheme for two reasons. Firstly, to improve the quality of solutions obtained by other methods for a marginal computational cost. Secondly, to alternatively aim the search at two regions with different characteristics (strategic oscillation).

In this paper, we wish to highlight the first reason. We intend to show that justification is a simple technique that can be incorporated easily into various algorithms and produces notable improvements in the quality of the schedules with a small, and generally favourable, change in computing time.

The remainder of the paper is organized as follows. Section 2 presents a formal definition of the RCPSP along with some definitions. Section 3 describes the set of computational experiments designed to show the benefits of using double justification whereas the results obtained are analysed in Sections 4 First set of experiments, 5 Second set of experiments, 6 Third set of experiments. Finally, a summary and some concluding remarks appear in Section 7.

Section snippets

Problem description and definitions

The RCPSP may be stated as follows. A project consists of a set of activities V={1,…,n} where each activity has to be processed without preemption. The dummy activities 1 and n represent the beginning and the end of the project. The duration of an activity j is denoted by dj where d1=dn=0. There are K renewable resource types. The availability of each resource type k in each time period is Rk units, k=1,…,K. Each activity j requires rjk units of resource k during each period of its duration

Experiment design

As it is not possible to analyse the benefits of incorporating the techniques of justification in all types of algorithms, we have designed a set of experimental computations using three sets of very diverse algorithms.

In the first set we have added simple, very fast, and well-known algorithms; including two single pass methods and two multi-pass methods which were ranked in first positions in a previous computational study (Kolich, 1995). One of the single pass methods employs the serial SGS

First set of experiments

In the first set of experiments we have included four algorithms with, and without, double justification.

The first (second) algorithm applies the serial (parallel) SGS with the LFT (WCS) rule for each instance. If the generated solution is subsequently justified twice then an algorithm with double justification is obtained.

The third algorithm randomly generates 5000 active schedules for each instance and saves the best one. The same algorithm, but with double justification, randomly generates

Second set of experiments

In this section we intend to extend the experiments to include more complex algorithms that, nevertheless, cannot be considered state-of-the-art algorithms for the RCPSP. To achieve this we have designed 16 new population-based algorithms and a simulated annealing algorithm specifically for this experiment.

Third set of experiments

In this section we will analyse the effect of applying double justification to an algorithm that offers quality solutions. For this task we have selected the Hartmann's genetic algorithm, one of the best state-of-the-art algorithms that does not use justification.

In this test we use a genetic programming activity list algorithm (Hartmann, 1998) that we have implemented (GA). Firstly, we ran the program with a limit of 5000 schedules, then with a limit of 10,000 schedules, and then with 5000

Conclusions

In this paper we have intended to show that justification is a simple technique that can be easily incorporated in many algorithms for the RCPSP––and that it produces notable improvements in schedule quality without generally increasing computing time.

As it is not possible to analyse the benefits of incorporating justification to all types of algorithms, we have designed a set of experimental computations on three very different types of algorithm. In the first type of algorithm we included

References (34)

  • E. Demeulemeester et al.

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

    Management Science

    (1992)
  • U. Dorndorf et al.

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

    Mathematical Methods of Operations Research

    (2000)
  • A. Drexl

    Scheduling of project networks by job assignment

    Management Science

    (1991)
  • S. Hartmann

    A competitive genetic algorithm for resource-constrained project scheduling

    Naval Research Logistics

    (1998)
  • S. Hartmann

    A self-adapting genetic algorithm for project scheduling under resource constraints

    Naval Research Logistic

    (2002)
  • O. Icmeli et al.

    Project scheduling problems: A survey

    International Journal of Operations and Production Management

    (1993)
  • J.E. Kelley

    The critical-path method: Resources planning and scheduling

  • Cited by (0)

    This research was partially supported by the CICYT under contract TAP99-1123 and by the Generalitat Valenciana under contract FP 198-CB-12-303.

    View full text