Designing dispatching rules with genetic programming for the unrelated machines environment with constraints

https://doi.org/10.1016/j.eswa.2020.114548Get rights and content

Highlights

  • Automatic generation of dispatching rules for 4 constraints.

  • Automatically designed rules show superiority over the manual one.

  • Including criteria makes it more difficult to generate good dispatching rules.

  • For some criteria no new terminal nodes need to be defined.

Abstract

Scheduling problems constitute an important part in many everyday systems, where a variety of constraints have to be met to ensure the feasibility of schedules. These problems are often dynamic, meaning that changes occur during the execution of the system. In such cases, the methods of choice are dispatching rules (DRs), simple methods that construct the schedule by determining the next decision which needs to be performed. Designing DRs for every possible problem variant is unfeasible. Therefore, the attention has shifted towards automatic generation of DRs using different methods, most notably genetic programming (GP), which demonstrated its superiority over manually designed rules. Since many real world applications of scheduling problems include various constraints, it is required to create high quality DRs even when different constraints are considered. However, most studies focused on problems without additional constraints or only considered them briefly. The goal of this study is to examine the potential of GP to construct DRs for problems with constraints. This is achieved primarily by adapting the schedule generation scheme used in automatically designed DRs. Also, to provide GP with a better overview of the problem, a set of supplementary terminal nodes is proposed. The results show that automatically generated DRs obtain better performance than several manually designed DRs adapted for problems with constraints. Using additional terminals resulted in the construction of better DRs for some constraints, which shows that their usefulness depends on the considered constraint type. Therefore, automatically generating DRs for problems with constraints presents a better alternative than adapting existing manually designed DRs. This finding is important as it shows the capability of GP to construct high quality DRs for more complicated problems, which is useful for real world situations where a number of constraints can be present.

Introduction

Scheduling is a decision process concerned with the allocation of certain activities or jobs onto a limited set of available resources or machines (Pinedo, 2012). Because of their complexity and presence in many real world situations, scheduling problems have been extensively researched in the literature. Some real world examples of scheduling problems include various manufacturing systems (Kofler et al., 2009, Ouelhadj and Petrovic, 2009), scheduling airplanes on runways (Cheng et al., 1999, Hansen, 2004), scheduling in railway traffic (Corman & Quaglietta, 2015), nurse rostering (Burke, De Causmaecker, Vanden Berghe, & Van Landeghem, 2004), scheduling patients for treatments (Petrovic & Castro, 2011), university timetabling (Lewis, Paechter, & Rossi-Doria, 2007), and many other. Most scheduling problems of interest are NP hard, meaning that the optimal solution cannot be obtained in a reasonable amount of time. Therefore, the most prevalent way of solving such problems is by using various heuristic methods. Depending on how these heuristic methods solve the scheduling problem they are divided into improvement and constructive heuristics.

The idea of improvement heuristics is that they work with one or more, usually randomly generated, solutions (schedules) which are iteratively improved. This is done by using different operators which introduce changes in the solutions. This group of heuristics contains a wide range of metaheuristic methods (Hart, Ross, & Corne, 2005), like genetic algorithms (GAs) (Vlašic et al., 2019, Vlašic et al., 2020), simulated annealing (Kim, Kim, Jang, & Chen, 2002), tabu search (Lee, Yu, & Lee, 2013), ant colony optimisation (Behnamian, Zandieh, & Fatemi Ghomi, 2009), and many others. Although metaheuristics can obtain high quality results for various scheduling problems, they usually come with a serious restriction. Namely, such methods can only be used when all the information about the problem is available, which means that scheduling is performed under static conditions. However, in many situations the information about the problem is not available from the start, but rather the jobs that need to be executed become available during the execution of the system, which means that the problem must be solved under dynamic conditions. Consequently, the method applied for solving problems under dynamic conditions needs to work for problems where all information is not available from the start or can change during the execution of the system.

Constructive heuristics are the more appropriate choice for solving scheduling problems under dynamic conditions. Instead of searching through the entire search space of solutions, these heuristics iteratively construct the solution. Most commonly, constructive heuristics appear in the form of dispatching rules (DRs) (Maheswaran et al., 1999, Braun et al., 2001, Durasevic and Jakobovic, 2018). The idea behind DRs is to decide which job to schedule on which machine only at those moments when it is absolutely required. For example, such a situation arises when a machine becomes free and the next job needs to be scheduled on it. A job is selected by calculating a certain priority for each job and selecting the one with the highest priority value. Because of that, DRs are adaptable to changes that can happen during the execution of the system, like the arrival of new jobs over time. Therefore, they are the most obvious choice for solving scheduling problems under dynamic conditions.

DRs, however, have certain drawbacks. Most importantly, they are difficult to design manually and that process requires expert knowledge. Since there is a plethora of different scheduling problems, one would have to design DRs for each variant, which is not feasible. For that reason a large number of studies focused on the problem of automatic design of new DRs (Branke et al., 2016, Nguyen et al., 2017). Most commonly, genetic programming (GP) (Koza, 1990, Poli et al., 2008) has been used to design new DRs automatically. The research in this area demonstrated a great potential of using GP to automatically design new DRs for scheduling problems with different criteria or conditions.

In most studies the considered scheduling problems did not include additional constraints that can be present in reality. For example, some jobs may not be executed before other jobs are completed, or certain machines might be under maintenance during fixed periods of time. As a result, DRs need to take additional constraints into account. However, as previously denoted, such problems were rarely considered, and if they were, usually only a single constraint was included. Therefore, until now most manually and automatically designed DRs did not take into account additional constraints. Although the research on unconstrained problems is important and leads to new findings, it is also necessary to validate the methods on more difficult problems which include various constraints. Therefore, the goal of this paper is to study the potential of automatically designing new DRs for the unrelated machines environment with additional constraints and evaluate their effectiveness compared to several selected manually designed DRs adapted for the same constraints. The constraints that are considered in this paper are sequence dependent setup times, machine unavailability periods, machine eligibility constraints, and precedence constraints. As it is quite unlikely that in real world situations only a single constraint is present, the performance of automatically designed DRs is also tested on all the combinations of the aforementioned constraints. In that way it is possible to determine how the performance of automatically designed DRs is affected by the number and existence of constraints. The contributions of this paper can be summarised as:

  • 1.

    Adaptation of automatically designed DRs for different scheduling constraints

  • 2.

    Proposition and evaluation of additional terminal nodes for the considered constraints

  • 3.

    Performance evaluation of automatically designed DRs in comparison to manually designed DRs for problems with single and multiple constraints.

The paper is organised as follows. Section 2 provides an overview of the literature dealing with automatic design of DRs. The unrelated machines environment is described in Section 3. Section 4 describes the methods for solving the unrelated machines environment problem with additional constraints, as well as how GP can be applied to design new DRs automatically. Section 5 describes the benchmarks and experimental design. The results obtained by the tested methods are presented in Section 6. Section 7 provides a short discussion about the obtained results, while Section 8 concludes the paper and outlines directions for possible future research.

Section snippets

Literature overview

Over the years GP became one of the most popular hyper-heuristic methods. Hyper-heuristics are methods that can be used to design novel heuristics for different kinds of problems (Burke et al., 2007, Burke et al., 2009, Burke et al., 2013). GP has been used for designing new heuristics for a variety of different optimisation problems like the knapsack and bin packing problem (Burke, Hyde, Kendall, & Woodward, 2012), nurse rostering (Pillay & Qu, 2018), and capacitated arc routing problem (Mei

Unrelated machines scheduling environment

Scheduling problems are usually defined by a number of jobs which need to be scheduled on a given set of machines. The number of jobs and machines is usually limited and is denoted with n and m, respectively. Furthermore, a certain job in the system is usually denoted as j, whereas a machine is denoted as i. The unrelated machines environment represents the class of scheduling problems in which each job needs to be executed on only one machine, however, the time needed to execute the job

Solving scheduling problems with constraints

Although this paper deals with the automatic generation of DRs for the unrelated machines environment with additional constraints, two other ways of solving these problems will be applied. This is done to validate the results obtained by GP, since there are no relevant methods that could be used for solving problems with all the aforementioned constraints. Therefore, in addition to GP a GA will also be used to solve the static scheduling problem variant, which can be considered as a certain

Problem instance design

To validate the proposed methods a set of problem instances was designed in a similar way as in several other studies (Dimopoulos and Zalzala, 1999, Dimopoulos and Zalzala, 2001, Lee et al., 1997, Pfund et al., 2008). The instances were generated with a different number of jobs and machines in various combinations. The number of jobs was set to 12, 25, 50, or 100, whereas the number of machines was set to 3, 6, or 10.

The processing times of jobs are generated from the intervalpij[0,100].

The

Results

In this section the results of all the methods for the various combinations of constraints will be outlined. First, each constraint will be optimised individually to determine the effect of the terminal nodes on the performance of automatically designed DRs. After that, the best combinations of terminal nodes will be used when several constraints are optimised simultaneously.

Discussion

Based on the results that were outlined in the last section, several interesting conclusions can be drawn. First of all, it is evident that not all constraints are equally difficult for DRs to handle. This can be seen when comparing the results of the DRs with the results obtained by the GA. In some cases the differences between those methods are less prominent. This usually happens when the machine eligibility or precedence constraints are considered. The reason why the performance difference

Conclusion

This study deals with the problem of adapting automatically designed DRs for solving scheduling problems which include different constraints. To tackle this problem, the SGS that is used by automatically designed DRs was adapted to take into consideration all the constraints and to ensure that only feasible schedules will be created. Additionally, to give the DRs a better overview on the problem and further improve their performance, a set of additional terminal nodes that include information

CRediT authorship contribution statement

Kristijan Jaklinović: Conceptualization, Software, Validation, Investigation, Visualization. Marko Ðurasević: Conceptualization, Methodology, Validation, Formal analysis, Investigation, Writing - original draft, Writing - review & editing, Visualization, Supervision. Domagoj Jakobović: Conceptualization, Validation, Writing - original draft, Writing - review & editing.

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Acknowledgement

This work has been supported in part by Croatian Science Foundation under the project IP-2019-04-4333, "Hyperheuristic Design of Dispatching Rules".

References (64)

  • C.W. Pickardt et al.

    Evolutionary generation of dispatching rule sets for complex dynamic scheduling problems

    International Journal of Production Economics

    (2013)
  • J.C. Tay et al.

    Evolving dispatching rules using genetic programming for solving multi-objective flexible job-shop problems

    Computers & Industrial Engineering

    (2008)
  • A. Beham et al.

    A genetic programming approach to solve scheduling problems with parallel simulation

  • J. Branke et al.

    Hyper-heuristic evolution of dispatching rules: A comparison of rule representations

    Evolutionary Computation

    (2015)
  • J. Branke et al.

    Automated Design of Production Scheduling Heuristics: A Review

    IEEE Transactions on Evolutionary Computation

    (2016)
  • E. Burke et al.

    The state of the art of nurse rostering

    Journal of Scheduling

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

    Hyper-heuristics: A survey of the state of the art

    Journal of the Operational Research Society

    (2013)
  • Burke, E. K., Hyde, M. R., Kendall, G., Ochoa, G., Ozcan, E. & Woodward, J. R. (2009). Exploring hyper-heuristic...
  • E.K. Burke et al.

    Automatic heuristic generation with genetic programming

  • E.K. Burke et al.

    Automating the packing heuristic design process with genetic programming

    Evolutionary Computation

    (2012)
  • Cheng, V., Crawford, L. & Menon, P. (1999). Air traffic control using genetic search techniques. In Proceedings of the...
  • Dimopoulos, C. & Zalzala, A. (1999). A genetic programming heuristic for the one-machine total tardiness problem. In...
  • M. Durasević et al.

    Comparison of ensemble learning methods for creating ensembles of dispatching rules for the unrelated machines environment

    Genetic Programming and Evolvable Machines

    (2017)
  • M. Durasević et al.

    Evolving dispatching rules for optimising many-objective criteria in the unrelated machines environment

    Genetic Programming and Evolvable Machines

    (2018)
  • E. Hart et al.

    Evolutionary scheduling: A review

    Genetic Programming and Evolvable Machines

    (2005)
  • E. Hart et al.

    A hyper-heuristic ensemble method for static job-shop scheduling

    Evolutionary Computation

    (2016)
  • Jakobović, D. & Budin, L. (2006). Dynamic scheduling with genetic programming. In P. Collet, M. Tomassini, M. Ebner, S....
  • Jakobović, D., Jelenković, L. & Budin, L. (2007). Genetic programming heuristics for multiple machine scheduling. In...
  • Karunakaran, D., Chen, G. & Zhang, M. (2016). Parallel multi-objective job shop scheduling using genetic programming....
  • Kim, D. -W., Kim, K. -H., Jang, W. & Chen, F. F. (2002). Unrelated parallel machine scheduling with setup times using...
  • Kofler, M., Wagner, S., Beham, A., Kronberger, G. & Affenzeller, M. (2009). Priority Rule Generation with a Genetic...
  • J. Koza

    Genetically breeding populations of computer programs to solve problems in artificial intelligence

  • Cited by (0)

    View full text