Elsevier

Future Generation Computer Systems

Volume 86, September 2018, Pages 211-221
Future Generation Computer Systems

Evolving priority rules for resource constrained project scheduling problem with genetic programming

https://doi.org/10.1016/j.future.2018.04.029Get rights and content

Highlights

  • A scheduling procedure consisting of a meta-algorithm and priority function is shown.

  • A genetic programming approach is used for generating the priority function.

  • A comparison of three different approaches of meta-algorithm is made.

  • Performances of the suggested approaches are compared with other priority rules.

  • Results have shown adaptability of this approach for various optimization criteria.

Abstract

The main task of scheduling is the allocation of limited resources to activities over time periods to optimize one or several criteria. The scheduling algorithms are devised mainly by the experts in the appropriate fields and evaluated over synthetic benchmarks or real-life problem instances. Since many variants of the same scheduling problem may appear in practice, and there are many scheduling algorithms to choose from, the task of designing or selecting an appropriate scheduling algorithm is far from trivial. Recently, hyper-heuristic approaches have been proven useful in many scheduling domains, where machine learning is applied to develop a customized scheduling method. This paper is concerned with the resource constrained project scheduling problem (RCPSP) and the development of scheduling heuristics based on Genetic programming (GP). The results show that this approach is a viable option when there is a need for a customized scheduling method in a dynamic environment, allowing the automated development of a suitable scheduling heuristic.

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)

  • DurasevicM. et al.

    Adaptive scheduling on unrelated machines with genetic programming

    Appl. Soft Comput.

    (2016)
  • WolpertD. et al.

    No free lunch theorems for optimization

    IEEE Trans. Evol. Comput.

    (1997)
  • KleinR.

    Scheduling of Resource-Constrained Projects

    (2000)
  • HindiK.S. et al.

    An evolutionary algorithm for resource-constrained project scheduling

    IEEE Trans. Evol. Comput.

    (2002)
  • KolischR. et al.

    Characterization and generation of a general class of resource-constrained project scheduling problems

    Manag. Sci.

    (1995)
  • AbdolshahM.

    A review of resource-constrained project scheduling problems (rcpsp) approaches and solutions

    Int. Tran. J. Eng. Manag. Appl. Sci. Technol.

    (2014)
  • BruckerP. et al.

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

    European J. Oper. Res.

    (1998)
  • PritskerA.A.B. et al.

    Multiproject scheduling with limited resources: A zero–one programming approach

    Manage. Sci.

    (1969)
  • SchrageL.

    Solving resource-constrained network problems by implicit enumeration - nonpreemptive case

    Oper. Res.

    (1970)
  • 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.

    View full text