Elsevier

Swarm and Evolutionary Computation

Volume 44, February 2019, Pages 897-912
Swarm and Evolutionary Computation

Evolving heuristics for the resource constrained project scheduling problem with dynamic resource disruptions

https://doi.org/10.1016/j.swevo.2018.09.007Get rights and content

Abstract

Dynamic changes and disruptions are encountered frequently in the domain of project scheduling. The nature of these dynamic events often requires project managers to make quick decisions with regards to effectively re-scheduling the activities. Priority heuristics have a significant potential for such applications due to their simplicity, intuitiveness and low computational cost. In this research, we focus on automated evolution of priority heuristics using a genetic programming hyper-heuristic (GPHH). The proposed approach uses a multi-objective scheme (MO-GPHH) to evolve priority heuristics that can perform better than the existing rules, and at the same time have low complexity. Furthermore, unlike the existing works on evolving priority heuristics that focus on only static problems, this study covers both static and dynamic instances. The proposed approach is tested on a practical dynamic variant of the classical resource constrained project scheduling problem (RCPSP) in which the resource availability varies with time and knowledge about these changes and disruptions only become available as the project progresses. Extensive numerical experiments and benchmarking are performed to demonstrate the efficacy of the proposed approach.

Introduction

The resource constrained project scheduling problem (RCPSP) is an extension of the classical project scheduling (management) problem in which a set of activities need to be scheduled while considering the various precedence and resource constraints. Most often, the objective is to generate a schedule with minimum makespan (i.e., the total duration of the project). RCPSP has numerous real-life applications such as scheduling of manufacturing systems [1], construction engineering and software development [2] among others. Over the years a number of approaches have been proposed for solving RCPSP. These range from classical priority rules to contemporary stochastic and exact search heuristics [1,3,4].

One critical assumption of the classical RCPSP is that the project attributes remain the same from start to end, i.e., they are assumed to be completely static. This often does not hold in real world cases where project characteristics change for a variety of reasons ranging from internal disruptions to changes in client preferences. Most business environments involve uncertainty and as a result, the problems faced in these settings are inherently dynamic in nature. This is apparent from the increasing studies that have been directed towards handling dynamic problems in certain domains, such as job shop scheduling [5] and arc routing [6]. However, there is scare literature so far on dynamic variant of RCPSP.

In this paper, we look into a dynamic variant of the classical RCPSP which focuses on resource availability disruptions that occur dynamically during the execution of the project. To simulate real-life scenarios, the knowledge on these disruptions is considered to become available only as time progresses, requiring quick identification of which activities to schedule next. The concept of priority rules is well suited for these type of problems since it can assist in quick decision making in dynamic environments. A priority rule can also be considered as a heuristic, since it defines a specific way to generate a schedule based on the instance attributes. However, the design of such priority heuristics is often non-trivial with domain experts given the task of understanding business processes and proposing appropriate solutions. Understandably, there are practical limits in terms of the possibilities that a human expert can consider. Therefore, it is of interest to develop methods that can automate the search for good heuristics. Such methods are referred to as hyper-heuristics. The use of genetic programming as a hyper-heuristic (which we refer to as GPHH) has attracted attention in existing literature in areas such as job-shop scheduling [5]. A GP operates using the principles of recombination, mutation and natural selection to evolve programs. Through such systematic exploration of the large (unbound) search space of possible rules, it is able to produce efficient re-usable priority rules.

The evolved heuristics present a number of benefits over exact or meta-heuristic methods for dynamic problems. The first and most obvious benefit is the run-time. Exact and meta-heuristic search methods usually explore thousands of solutions in search of the optimal solution. Conducting such optimization after each disruption can be time consuming and undesirable. For such cases, a quick way to reschedule the activities efficiently (such as priority rules) would be more preferred to optimality. Another benefit is the simplicity of use. The evolved heuristics do not require the user to specify or tune parameters since there are none. The performance of meta-heuristics depend on multiple user-define parameters, tuning all of which in a dynamic environment may be difficult. The heuristics are also relatively easier to understand and use as opposed to sophisticated algorithms. Finally, with the use of GPHH, the evolved heuristics can be customized to deal with patterns and complexities which are specific to a particular scheduling environment since they can learn from historical data.

In this study, we propose a GPHH to evolve priority heuristics suited for dynamic RCPSP. The main contributions of this paper are as follows:

  • Formulation of a dynamic RCPSP variant with uncertain resource availabilities

  • Development of a Multi-Objective GPHH Framework which evolves and searches for heuristics which perform well and at the same time are not overly complex.

  • Detailed analysis and characterization of the evolved heuristics as well as a detailed comparison with the best performing priority heuristics from literature.

More specifics of the related work, motivation and the research gaps addressed in this work are presented in Section 2. The formulation of dynamic RCPSP is discussed in Section 3, followed by the discussion of proposed approach in Section 4. Numerical experiments and results are discussed in Sections 5 Experimental setup, 6 Results, followed by conclusions in Section 7.

Section snippets

Problem definition: classical RCPSP

The classical (static) resource constrained project scheduling problem is defined as follows. A project has M activities which need to be scheduled while considering two types of constraints:

  • Precedence constraints: These represent the interdependence between the activities. If activity j is a successor of activity i, then activity i must be completed before activity j can be started. All such relationships among the order of activities constitute the precedence constraints.

  • Resource constraints:

RCPSP with dynamic resource disruptions

The classical RCPSP described in Section 2.1 has received much research attention over the last few decades. However, one common criticism of the classical RCPSP is that it does not adequately represent real world challenges in which resource disruptions are quite common. Machines often breakdown, staff may unexpectedly become sick or resources may altogether need to be diverted to handle other urgent projects or maintenance tasks. We try to model these dynamic aspects with stochastic resource

Proposed framework for evolving priority rules

In order to build a framework for evolving priority rules, a few basic components are essential. First is the representation of the priority rule/function itself, which determines the forms in which one can construct it. In this study we focus on simple arithmetic priority rules. Second is a set of features (problem attributes) that the priority rules will operate on. We consider a diverse range of attributes to capture the problem characteristics. Furthermore, in order to evaluate any given

Data set

To evaluate the effectiveness of our GP system and the evolved rules, we use variants of PSPLib [33] instances. The PSPLib contains static instances of different sizes and complexities which we use as a building block for our dynamic instances. The instances with 30, 60, 90 and 120 activities are referred to as J30, J60, J90 and J120 respectively. The instances are constructed using three complexity parameters, namely network complexity (NC), resource factor (RF) and resources strength (RS).

Results

In this section, we present the detailed results obtained using the proposed approach and benchmark them against the existing techniques. We start by first verifying the performance on the static instances. Thereafter, we evolve the rules for three dynamic scenarios - first that improves performance for cases where the activities can be paused and resumed (preempt-resume), the second which considers that the activities need to be restarted after disruption (preempt-resume), and the third which

Conclusion and future work

In this paper we developed a multi-objective GPHH framework for automated evolution of priority rules/heuristics for practical dynamic resource constrained project scheduling instances with preempt-repeat and preempt-resume preemption schemes. The extensive numerical experiments indicate that MO-GPHH, which operates on complexity as a pseudo-objective, consistently performs nearly at par or better in comparison to SO-GPHH in terms of test performance, while producing solutions of (much) lower

Acknowledgement

The first author would like to acknowledge PhD scholarship from the University of New South Wales, Australia.

References (40)

  • F. Deblaere et al.

    Reactive scheduling in the multi-mode rcpsp

    Comput. Oper. Res.

    (2011)
  • R.K. Chakrabortty et al.

    Multi-mode resource constrained project scheduling under resource disruptions

    Comput. Chem. Eng.

    (2016)
  • S. Chand et al.

    On the use of genetic programming to evolve priority rules for resource constrained project scheduling problems

    Inf. Sci.

    (2018)
  • R. Kolisch et al.

    PSPLIB - a project scheduling problem library: OR software - ORSEP operations research software exchange program

    Eur. J. Oper. Res.

    (1997)
  • R. Klein

    Bidirectional planning: improving priority rule-based heuristics for scheduling resource-constrained projects

    Eur. J. Oper. Res.

    (2000)
  • R. Kolisch et al.

    Heuristic Algorithms for the Resource-constrained Project Scheduling Problem: Classification and Computational Analysis

    (1999)
  • J. Branke et al.

    Automated design of production scheduling heuristics: a review

    IEEE Trans. Evol. Comput.

    (2016)
  • M. Liu et al.

    A memetic algorithm with a new split scheme for solving dynamic capacitated arc routing problems

  • A.A.B. Pritsker et al.

    Multiproject scheduling with limited resources: a zero-one programming approach

    Manag. Sci.

    (1969)
  • J.A. Carruthers et al.

    Advances in critical path methods

    J. Oper. Res. Soc.

    (1966)
  • Cited by (37)

    • An efficient genetic programming approach to design priority rules for resource-constrained project scheduling problem

      2022, Expert Systems with Applications
      Citation Excerpt :

      Third, currently, researchers have used two different types of evaluation functions. One of them only uses the objective value (Đumić et al., 2018), and another type of the evaluation function requires an extra reference value (Chand et al., 2018, 2019). Since the evaluation function can affect the performance of the GPHH (Branke, Nguyen et al., 2015), in this research, we tested these two types of evaluation functions to inquire into their impact on the performance of the GPHH for the RCPSP.

    • Genetic programming with local search to evolve priority rules for scheduling jobs on a machine with time-varying capacity

      2021, Swarm and Evolutionary Computation
      Citation Excerpt :

      Given the structure of priority rules, Genetic Programming (GP) [13] arises as the most common and natural choice. Some examples of scheduling problems for which different authors developed GP approaches to evolve priority rules are the job shop scheduling problem [14–17], some versions of the one machine sequencing problem [18–20], unrelated parallel machines scheduling problems [21], bin packing [22] or resource constrained project scheduling [23–25], among others. Burke et al. [12] classify these approaches as heuristic generation, specifically these algorithms are named genetic programming based hyper-heuristics.

    View all citing articles on Scopus
    View full text