Elsevier

Information Sciences

Volume 432, March 2018, Pages 146-163
Information Sciences

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

https://doi.org/10.1016/j.ins.2017.12.013Get rights and content

Abstract

Resource constrained project scheduling is critical in logistic and planning operations across a range of industries. Most businesses rely on priority rules to determine the order in which the activities required for the project should be executed. However, the design of such rules is non-trivial. Even with significant knowledge and experience, human experts are understandably limited in terms of the possibilities they can consider. This paper introduces a genetic programming based hyper-heuristic (GPHH) for producing efficient priority rules targeting the resource constrained project scheduling problem (RCPSP). For performance analysis of the proposed approach, a series of experiments are conducted on the standard PSPLib instances with up to 120 activities. The evolved priority rules are then compared against the existing state-of-the-art priority rules to demonstrate the efficacy of our approach. The experimental results indicate that our GPHH is capable of producing reusable priority rules which significantly out-perform the best human designed priority rules.

Introduction

Classical project scheduling problem (PSP) [28] usually involves a set of non-preempt-able and precedence related activities that need to be scheduled. The structure of the project can be represented by an activity on node (AoN) graph which is a directed, acyclic and transitively reduced graph in which the nodes represent the activities and the arcs represent the precedence constraints. The precedence constraints impose that certain activities cannot start until all their predecessor activities have been completed. The classical PSP can be solved to optimality (makespan) in polynomial time using the Critical Path Method [18].

The resource constrained project scheduling problem (RCPSP) extends the classical project scheduling by taking into account constraints on the resources required to complete the activities. RCPSP is an important aspect of manufacturing and industrial operations, as it has direct impact on productivity. Therefore, it comes as no surprise that tools to handle this challenging problem are well sought after by practitioners for a wide range of applications, e.g. manufacturing systems [20], construction engineering and software development [5].

Several approaches have been proposed for solving RCPSP, ranging from classical priority rules to stochastic search algorithms [20], [21], [22]. While optimization algorithms which operate on the solution space directly have the benefit of producing good solutions, they often lack the generalization, flexibility and intuitiveness needed for real-world problems. For this reason a number of businesses prefer to rely on simple priority rules for generating schedules. A priority rule, as the name suggests, assigns priority values to the activities within the project which then determine the order in which these activities will be processed/scheduled. Priority rules provide a scheduling approach which is more understandable and usable for the project participants with different roles, from the project manager to the shop floor operators. Another advantage of using priority rules is the good scalability which is often a weak point of optimization approaches [29]. In fact, a number of optimization methods within literature employ priority rules to generate good starting solutions [13]. Last but not the least, in highly dynamic environments where quick decisions need to be made, priority rules offer a more practical choice over time consuming optimization methods.

However, the design of good priority rules is non-trivial. Evidently, even with significant knowledge and experience, human experts are limited in terms of the possibilities they can consider; an issue that becomes increasingly aggravated as the number of activities grow. Therefore, a key open problem in the field is how to design rules that have good generalization capability when applied to unseen cases. Recently, the use of genetic programming (GP) [25] has gained traction for design of efficient priority and dispatch rules in the domain of job-shop scheduling [3], [29]. 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 in contrast to the meta-heuristic approaches which only provide one disposable solution. Research on heuristic evolution has also been done in some other areas such as routing [27] and bin packing [6]. However, the potential of GP for evolving rules has been scarcely explored in the field of RCPSP, except for a few foundational studies discussed in the next section. In this study, we aim to address this gap by studying automated evolution of priority rules for RCPSP using a GP approach. In order to demonstrate the benefits of the proposed approach, we also compare the evolved rules against the existing priority rules from the literature. More specifically, the key intended contributions of this paper are:

  • Development and study of a GP hyper-heuristic (GPHH) framework to evolve priority rules for the classical RCPSP, using a diverse set of attributes.

  • Comparison of two representation schemes (arithmetic, decision-based) for priority rules and two schedule generation schemes (serial, parallel).

  • Performance characterization of the evolved rules and benchmarking with the existing rules in the literature on a large set of standard PSPLib instances [23] with up to 120 activities.

The remainder of the paper is organized as follows. Section 2 gives background on the problem and the existing literature. Section 3 gives details on the proposed GP approach for evolving rules. Section 4 provides a discussion on the results obtained while Section 5 summarizes the findings of this paper and highlights some future research directions.

Section snippets

Problem definition

The RCPSP involves a project with 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.

  • Resource constraints: These represent realistic limitations on resources such as manpower, budget, etc. Each project is assigned a set of K renewable resources where each resource k is

Proposed GP 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. We study two types of priority rules in this research – one being purely arithmetic and the other involving a combination of arithmetic and decision-based operators. Second is a set of features (problem attributes) that the priority rules will operate on. We consider a diverse

Experimental setup

To evaluate the effectiveness of our GP system and the evolved rules, we used the problem instances from the project scheduling library (PSPLib) [23]. The PSPLib contains instances of different sizes and complexities. For this study we use instances with 30, 60, 90 and 120 activities, which are correspondingly referred to as J30, J60, J90 and J120 instances. The instances were originally constructed [23] using three complexity parameters, namely network complexity (NC), resource factor (RF) and

Summary and future work

In this study we explored the use of GP for evolving priority rules for the classical RCPSP. Towards this end, we performed a systematic and comprehensive investigation using a basic GP framework. The study introduces a number of methodological and experimental developments over the existing literature, for example (a) use of a diverse set of attributes for constructing rules, (b) experimentation with both arithmetic and decision-based rules, (c) experimentation with both serial and parallel

Acknowledgments

The first author acknowledges the 2016 Graduate Student Research Grant by the IEEE Computational Intelligence Society (CIS) and Prof. Frank Neumann from the University of Adelaide for discussions related to this work.

References (37)

  • V. Valls et al.

    Justification and rcpsp: a technique that pays

    Eur. J. Oper. Res.

    (2005)
  • R. Zamani

    A competitive magnet-based genetic algorithm for solving the resource-constrained project scheduling problem

    Eur. J. Oper. Res.

    (2013)
  • J. Branke et al.

    Automated design of production scheduling heuristics: a review

    IEEE Trans. Evol. Comput.

    (2016)
  • J. Branke et al.

    Automated design of production scheduling heuristics: a review

    IEEE Trans. Evol. Comput.

    (2016)
  • E.K. Burke et al.

    Automating the packing heuristic design process with genetic programming

    Evol. Comput.

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

    Advances in critical path methods

    J. Oper. Res. Soc.

    (1966)
  • S. Chand et al.

    A heuristic algorithm for solving resource constrained project scheduling problems

    2017 IEEE Congress on Evolutionary Computation (CEC)

    (2017)
  • E.W. Davis et al.

    A comparison of heuristic and optimum solutions in resource-constrained project scheduling

    Manage. Sci.

    (1975)
  • Cited by (80)

    View all citing articles on Scopus
    View full text