Evolving priority rules for resource constrained project scheduling problem with genetic programming
Introduction
Scheduling is a process that deals with the allocation of resources to tasks over given time periods. It is used on everyday basis in many manufacturing and services industries. The task of scheduling is to optimize one or more objectives. Often, the process includes some limitations like the capacity of vehicles, working time of employees, limited funds etc.
The focus of this work is on one of the scheduling problems with limitations—the resource constrained project scheduling problem (RCPSP). RCPSP is a problem with two kinds of constraints—precedence and resource. One job can require other activities to be completed before it starts with processing. All jobs need resources in various amounts, and resources are limited. The goal of solving RCPSP is to schedule all jobs in a given project in way that all constraints are met, and one or more criteria are optimized.
Many real life problems can be formulated as RCPSP, and due to the fact that RCPSP is very hard to solve, many solving methods were developed. The decision of which solving method to use must be made depending on the problem characteristics. Usually, solving methods can be divided into two groups—exact methods and heuristics. Exact methods are impractical on problems which have a large number of jobs to schedule, so the heuristic methods are mostly used. Some heuristic methods show better results on specific problem instances, but no heuristics that are good for all problems exist (proven by the No free lunch theorem [1]). Because of that there are some authors that try to combine different heuristic approaches. A common example of this approach are genetic algorithms combined with local search methods.
Since heuristic methods give good results only when applied to problems containing specific characteristics, thereby being application specific, there is a need to rise to a higher level of solving—searching the space of solving methods, and not searching the solution space. This is why hyper-heuristics are being developed. Genetic programming (GP) is one of algorithms that can be used as a hyper-heuristic which produces new heuristics. This paper demonstrates the use of GP as a hyper-heuristic to evolve appropriate scheduling heuristics for the RCPSP.
The paper is organized as follows: in Section 2 a definition of RCPSP is given, while in Section 3 a brief overview of methods for solving RCPSP is given. Section 4 describes how GP can be used in evolving new scheduling heuristics in form of priority rules. The results are presented in Section 5, and short conclusion and future research directions are given in Section 6.
Section snippets
RCPSP
In general, the resource constrained project scheduling problem considers activities and resources. Activities have known durations and resource demands, while resources are of limited availability. Additionally, activities are linked by precedence relations. The problem consists of finding a feasible schedule with minimal total duration by assigning start times to each activity such that the precedence and resource constraints are satisfied.
All activities constituting the project are defined
Previous work
RCPSP was introduced in 1963. by Kelley. Even though it is a more than 50 years old problem, it is still interesting and new solving methods are still being developed. According to the computational complexity theory, the RCPSP is one of the most intractable combinatorial optimization problems and belongs to the class of NP-hard problems [6]. RCPSP solving methods can generally be divided into exact and heuristic approaches [4].
Exact solving approaches search the complete space of feasible
Priority resource constrained scheduling with genetic programming
Functionally, Genetic Programming (GP) is an evolutionary algorithm inspired by biological evolution which aims to find computer programmes that perform a user-defined computational task. It is therefore a machine learning technique that searches the solution space of programmes instead of actual solutions to problem instances. GP is able to evolve higher-level solutions (programmes) that can be applied to generate solutions to a variety of problem instances.
In our approach, GP is used to
Initialization
As in other EC techniques, the GP working environment is also coupled to the necessity of finding good parameters for the underlying algorithms and domain-specific evaluator where every decision should be supported by an extensive round of experiments.
Conclusions and further work
This paper demonstrates the application of genetic programming as a hyper-heuristic to generate suitable scheduling heuristics for the resource constrained scheduling problem. The results are promising, as the GP based priority rules are able to provide the best or second to best results among all the included human-made scheduling heuristics. This is especially evident in cases where custom optimization criteria is used, in which case the existing heuristics exhibit varying efficiency. On the
Mateja Đumić is a Ph.D. student at Faculty of Electrical Engineering and Computing in Zagreb. She received masters degree in Financial and business mathematics in 2014 at University of Osijek—Department of Mathematics, where she currently works as teaching assistant.
References (39)
Multiobjective network scheduling with efficient use of renewable and nonrenewable resources
European J. Oper. Res.
(1981)- et al.
Scheduling subject to resource constraints: classification and complexity
Discrete Appl. Math.
(1983) - et al.
A decomposition approach to multi-project scheduling
European J. Oper. Res.
(1991) - et al.
Solving the resource-constrained project scheduling problem with optimization subroutine library
Comput. Oper. Res.
(1996) - et al.
Computational experience with a backtracking algorithm for solving a general class of precedence and resource-constrained project scheduling problems
European J. Oper. Res.
(1990) Resource allocation via dynamic programming in activity networks
European J. Oper. Res.
(1993)Bidirectional planning: improving priority rule-based heuristics for scheduling resource-constrained projects
European J. Oper. Res.
(2000)Serial and parallel resource-constrained project scheduling methods revisited: Theory and computation
European J. Oper. Res.
(1996)- et al.
Investigating the use of genetic programming for a classic one-machine scheduling problem
Adv. Eng. Softw.
(2001) - et al.
Evolving priority scheduling heuristics with genetic programming
Appl. Soft Comput.
(2012)
Adaptive scheduling on unrelated machines with genetic programming
Appl. Soft Comput.
No free lunch theorems for optimization
IEEE Trans. Evol. Comput.
Scheduling of Resource-Constrained Projects
An evolutionary algorithm for resource-constrained project scheduling
IEEE Trans. Evol. Comput.
Characterization and generation of a general class of resource-constrained project scheduling problems
Manag. Sci.
A review of resource-constrained project scheduling problems (rcpsp) approaches and solutions
Int. Tran. J. Eng. Manag. Appl. Sci. Technol.
A branch and bound algorithm for the resource constrained project scheduling problem
European J. Oper. Res.
Multiproject scheduling with limited resources: A zero–one programming approach
Manage. Sci.
Solving resource-constrained network problems by implicit enumeration - nonpreemptive case
Oper. Res.
Cited by (0)
Mateja Đumić is a Ph.D. student at Faculty of Electrical Engineering and Computing in Zagreb. She received masters degree in Financial and business mathematics in 2014 at University of Osijek—Department of Mathematics, where she currently works as teaching assistant.
Dominik Šišejković received the B.Sc. and M.Sc. degree in computing from the Faculty of Electrical Engineering and Computing, University of Zagreb in 2014 and 2016 respectively. Currently, he is working as a Ph.D. student and research assistant at the Chair for Software for Systems on Silicon at the Institute for Communication Technologies and Embedded Systems, RWTH Aachen University, Germany.
Rebeka Čorić is a Ph.D. student at Faculty of Electrical Engineering and Computing in Zagreb. She received masters degree in Financial and business mathematics in 2014 at University of Osijek—Department of Mathematics, where she currently works as teaching assistant.
Domagoj Jakobović is Full professor at Faculty of Electrical Engineering and Computing, University of Zagreb. He received B.S. degree in December 1996. and MS degree in December 2001. in Electrical Engineering. Since April 1997. he is a member of the research and teaching staff at the Department of Electronics, Microelectronics, Computer and Intelligent Systems of Faculty of Electrical Engineering and Computing, University of Zagreb. He received Ph.D. degree in December 2005. on the subject of generating scheduling heuristics with genetic programming.