On the use of genetic programming to evolve priority rules for resource constrained project scheduling problems
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)
- et al.
Combining monte-carlo and hyper-heuristic methods for the multi-mode resource-constrained multi-project scheduling problem
Inf. Sci. (Ny)
(2016) - et al.
Scheduling subject to resource constraints: classification and complexity
Discrete Appl. Math.
(1983) - et al.
Resource-constrained project scheduling: notation, classification, models, and methods
Eur. J. Oper. Res.
(1999) - et al.
Adaptive scheduling on unrelated machines with genetic programming
Appl. Soft Comput.
(2016) - et al.
An effective shuffled frog-leaping algorithm for resource-constrained project scheduling problem
Comput. Oper. Res.
(2012) Bidirectional planning: improving priority rule-based heuristics for scheduling resource-constrained projects
Eur. J. Oper. Res.
(2000)Efficient priority rules for the resource-constrained project scheduling problem
J. Oper. Manage.
(1996)Serial and parallel resource-constrained project scheduling methods revisited: theory and computation
Eur. J. Oper. Res.
(1996)- et al.
PSPLIB – a project scheduling problem library: OR software - ORSEP operations research software exchange program
Eur. J. Oper. Res.
(1997) - et al.
A particle swarm optimization based hyper-heuristic algorithm for the classic resource constrained project scheduling problem
Inf. Sci. (Ny)
(2014)
Justification and rcpsp: a technique that pays
Eur. J. Oper. Res.
A competitive magnet-based genetic algorithm for solving the resource-constrained project scheduling problem
Eur. J. Oper. Res.
Automated design of production scheduling heuristics: a review
IEEE Trans. Evol. Comput.
Automated design of production scheduling heuristics: a review
IEEE Trans. Evol. Comput.
Automating the packing heuristic design process with genetic programming
Evol. Comput.
Advances in critical path methods
J. Oper. Res. Soc.
A heuristic algorithm for solving resource constrained project scheduling problems
2017 IEEE Congress on Evolutionary Computation (CEC)
A comparison of heuristic and optimum solutions in resource-constrained project scheduling
Manage. Sci.
Cited by (80)
Surrogate model for memetic genetic programming with application to the one machine scheduling problem with time-varying capacity
2023, Expert Systems with ApplicationsA guided genetic programming with attribute node activation encoding for resource constrained project scheduling problem
2023, Swarm and Evolutionary ComputationA heuristic solution framework for the resource-constrained multi-aircraft scheduling problem with transfer of resources and aircraft
2023, Expert Systems with ApplicationsA priority rule for scheduling shared due dates in the resource-constrained project scheduling problem
2023, Computers and Industrial EngineeringExtensions of the resource-constrained project scheduling problem
2023, Automation in Construction