Elsevier

Expert Systems with Applications

Volume 113, 15 December 2018, Pages 555-569
Expert Systems with Applications

A survey of dispatching rules for the dynamic unrelated machines environment

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

Highlights

  • Overview of existing dispatching rules for the unrelated machines problem.

  • Two novel proposed dispatching rules.

  • Comparison of 26 dispatching rules on four problem types.

  • A comparative analysis of their performance for optimising nine criteria.

  • Analysis of suitable dispatching rule characteristics for optimised criteria.

Abstract

In the real world, scheduling is usually performed under dynamic conditions, which means that it is not known when new jobs will be released into the system. Therefore, the procedure which is used to create the schedule must be able to adapt to the changing conditions during the execution of the system. In dynamic conditions, dispatching rules are one of the most commonly used methods for creating the schedules. Throughout the years, various dispatching rules were defined for a wide range of scheduling criteria. However, in most cases when a new dispatching rule is proposed, it is usually tested on only one or two scheduling criteria, and compared with only a few other dispatching rules. Furthermore, there are also no recent studies which compare all the different dispatching rules with each other. Therefore, it is difficult to determine how certain dispatching rules perform on different scheduling criteria and problem types. The objective of this study was to collect a large number of dispatching rules from the literature for the unrelated machines environment, and test them on nine scheduling criteria and four problem types with various machine and job heterogeneities. For each of the tested dispatching rules it will be outlined in which situations it achieves the best results, as well as which dispatching rules are best suited for solving each of the tested scheduling criteria.

Introduction

Scheduling is a decision-making process which deals with the allocation of resources to tasks over a given period of time (Leung, 2004, Pinedo, 2012). The goal of the scheduling process is to create a schedule which optimises one or more user defined criteria. Scheduling plays an important role in most manufacturing systems (Dimopoulos, Zalzala, 2000, Kofler, Wagner, Beham, Kronberger, Affenzeller, 2009), but is also used in many other real world scenarios, like scheduling planes on runways (Cheng, Crawford, Menon, 1999, Hansen, 2004), scheduling for radiotherapy pre-treatment (Petrovic & Castro, 2011), scheduling tasks on CPUs (Pinedo, 2012), scheduling in railway traffic (Corman & Quaglietta, 2015), and many others. Because of its wide applicability, as well as its complexity, various scheduling problems have been studied in the last several decades.

Most instances of scheduling problems belong to the category of NP-hard problems, which makes it impossible to obtain an optimal solution in a reasonable amount of time. Because of this reason, scheduling problems are in most cases solved by using different heuristic methods, which obtain a satisfactory solution in a relatively small amount of time. Although many heuristic methods have been specifically designed for solving the unrelated machines environment (de C. M. Nogueira, Arroyo, Villadiego, Goncalves, 2014, Cota, Haddad, Souza, Coelho, 2014, Fanjul-Peyro, Ruiz, 2010, Fanjul-Peyro, Ruiz, 2011), in most cases scheduling problems are solved by using different metaheuristic methods (like genetic algorithms, particle swarm optimisation, tabu search, and many other) (Hart, Ross, & Corne, 2005). All the aforementioned methods can be applied only on scheduling problems under static conditions, where the information about all jobs is known before the execution of the system, and thus the schedule can be created beforehand. However, many scheduling problems occur in dynamic scheduling environments, in which it is not known in advance when jobs will arrive into the system, and what their properties will be. Therefore, it is not possible to create a schedule up front, but rather the schedule needs to be constructed simultaneously with the execution of the system. In order to solve scheduling problems under dynamic conditions, many simple scheduling methods, called dispatching rules, have been defined in the literature.

Dispatching rules (DRs) are simple constructive scheduling heuristics, which iteratively build up a schedule. This is done in a way that each time a certain machine is free, the DR determines which of the available, but yet unscheduled jobs, should be scheduled on the given machine. In order to determine which job should be scheduled next, DRs most commonly use a priority function to rank the jobs, and schedule the job with the best priority value. The priorities of jobs are usually calculated based on some characteristics of the jobs and the current state of the system. Therefore, DRs can be used under dynamic scheduling conditions, since they will only use the currently available information to decide which jobs should be scheduled next. Because DRs construct the schedule iteratively, they achieve much better execution times than metaheuristic methods (Đurasević & Jakobović, 2016), and can thus react quickly to changes which happen in the scheduling environment. However, designing good DRs is usually a lengthy trial and error process, which needs to be performed by domain experts. To tackle this problem, different machine learning and evolutionary computation methods have been used to automatically design new DRs (Branke, Nguyen, Pickardt, Zhang, 2016, Nguyen, Mei, Zhang, 2017). Although automatically designed DRs usually achieve better performance than manually designed DRs, they are also more complex and not as interpretable. Additionally, manually designed DRs are often used as a baseline for evaluating the performance of automatically designed DRs. Because of all these reasons, it is still important to design new and improved DRs, and also to be aware of how the various manually designed DRs perform on different scheduling criteria.

Although a wide range of DRs have been defined for the unrelated machines environment, very little research was performed to compare the performance of all the proposed DRs, and test how they perform for different scheduling criteria. Maheswaran, Ali, Siegel, Hensgen, and Freund (1999) compared eight DRs for minimising the makespan criterion. In the paper the selected DRs were applied in a dynamic environment where jobs were released during the execution of the system. Braun et al. (2001) analysed the performance of six DRs in the static scheduling environment for minimising the makespan criterion. They additionally compared the considered DRs with five other methods which can be applied for solving static scheduling problems, like genetic algorithms and similar search based heuristic methods. Du Kim and Kim (2004) propose a new DR for minimising the makespan and compare it with three existing DRs for scheduling in the unrelated machines environment under dynamic conditions. Izakian, Abraham, and Snasel (2009) compared six DRs for scheduling tasks in heterogeneous distributed environments. The authors compared the results achieved by the different DRs when optimising the mean makespan and mean flowtime criteria. Pfund, Fowler, Gadkari, and Chen (2008) compared several DRs for the unrelated parallel machines with setup and ready times, for optimising the total weighted tardiness criterion. However, only the static scheduling environment was considered in the previous study. Yang-Kuei and Chi-Wei (2013) have considered scheduling in the unrelated machines environment with release times, however, once again only for static scheduling conditions. They compared several DRs for optimising three criteria independently, the makespan, total completion time, and total weighted tardiness. Tseng, Chin, and Wang (2009) compare six DRs for optimising the makespan and total weighted tardiness criteria when scheduling jobs in the heterogeneous computing environment. The DRs were applied in a dynamic scheduling environment where jobs were released into the system during the execution of the system.

The aim of this paper is to provide an overview of DRs which can be applied for solving the unrelated machines scheduling problem with release times. The considered scheduling problem will be solved under dynamic conditions, meaning that the schedule needs to be constructed simultaneously with the execution of the system. To collect most of the proposed DRs which would be applicable for solving such scheduling problems, an extensive survey of the existing literature on DRs for the unrelated machine environment was conducted. In addition, a new DR called just in time and a new version of the work queue DR are proposed in this paper, both of which were designed manually. All the DRs will be tested on nine scheduling criteria to give a notion on how the collected DRs perform on various scheduling objectives. Furthermore, the DRs will be tested on four different problem sets, each of which will be generated with a different machine and job heterogeneity, to analyse how the selected DRs perform on different problem configurations. Based on all the conducted experiments, the paper will draw conclusions on which of the tested DRs were the most appropriate for optimising the considered criteria, as well as how different methods compare to each other. This should allow for an easier selection of appropriate DRs for a given criterion and heterogeneity conditions.

The rest of the paper is organised as follows. Section 2 gives an overview of the unrelated machines environment and the objectives which will be used to measure the performance of the created schedules. The DRs which were selected from the literature are enumerated and described in Section 3. The design of the experiments is described in Section 4. Section 5 outlines the results achieved by all the selected DRs on the nine scheduling criteria. Section 6 gives a discussion about the main conclusion which can be drawn from the obtained results. Finally, Section 7 gives the conclusion of this survey and outlines some possible future research directions.

Section snippets

The unrelated machines environment

The unrelated machines environment consists of n jobs which need to be scheduled on one of the m available machines. It is presumed that both the number of machines and jobs are finite. Each job can be scheduled on only a single machine, and once it starts with its execution it can not be interrupted until it is completed. Additionally, each machine can execute one job at a time. The index j is usually used to denote a concrete job, while the index i is used to denote a concrete machine. For

Dispatching rules for the unrelated machines environment

This section will describe various dispatching rules for solving the unrelated machines scheduling problem with release times and under dynamic conditions, which were collected from the literature. The dispatching rules are applied to determine which job should be scheduled next on which machine each time a job enters the system and there is at least one machine free, or a machine becomes free and there is at least one job waiting to be scheduled. The priority values calculated by DRs for

Experimental design and setup

Since for the evaluation of the selected problem instances it is necessary to have a wide range of different problems, this section will describe the way in which the problem instances, which were used for evaluation purposes, were generated.

For the generation of processing times, two parameters need to be defined, ϕj which is a measure that determines the job heterogeneity, and ϕm which defines the measure of machine heterogeneity. The ϕj parameter controls whether the different jobs will have

Results

This section will outline the results which were obtained by the selected DRs for the nine scheduling objectives. Each result of the DRs denoted in the tables represents the sum of the results for the 60 problem instances used to evaluate the DRs. In each table the best result for each criterion will be denoted in bold, while the best five results for each criterion will be denoted with a grey cell. The table includes three additional columns which denote the average rank of each DR on several

Discussion and analysis

In this section a short analysis based on the results obtained in the previous section will be performed. The analysis will be divided into two parts. The first part will focus on DRs and tries to analyse for what situations they are most well suited. In the second part for each criterion it will be analysed which are the best rules for that criterion.

Conclusion

In this paper a review of existing DRs which can be applied for scheduling in the unrelated machines environment with release times and under dynamic conditions was given. Additionally, all the collected DRs were evaluated on several problem sets and by using nine scheduling criteria. The results demonstrate that there is no single DR which would perform well for all of the nine tested criteria, but rather that DRs usually achieve the best performance for only one or two criteria, or perform

References (38)

  • E. Quaglietta et al.

    The on-time real-time railway traffic management framework: A proof-of-concept using a scalable standardised data communication architecture

    Transportation Research Part C: Emerging Technologies

    (2016)
  • A.S. e Santos et al.

    Ordered minimum completion time heuristic for unrelated parallel-machines problems

    Proceedings of the 9th iberian conference on information systems and technologies (CISTI)

    (2014)
  • I.-L. Wang et al.

    Scheduling unrelated parallel machines in semiconductor manufacturing by problem reduction and local search heuristics

    Flexible Services and Manufacturing Journal

    (2013)
  • J. Branke et al.

    Automated design of production scheduling heuristics: A Review

    IEEE Transactions on Evolutionary Computation

    (2016)
  • V. Cheng et al.

    Air traffic control using genetic search techniques

    Proceedings of the IEEE international conference on control applications (cat. no.99ch36328)

    (1999)
  • L.P. Cota et al.

    AIRP: A heuristic algorithm for solving the unrelated parallel machine scheduling problem

    Proceedings of the IEEE congress on evolutionary computation (CEC)

    (2014)
  • C. Dimopoulos et al.

    Recent developments in evolutionary computation for manufacturing optimization: Problems, solutions, and comparisons

    IEEE Transactions on Evolutionary Computation

    (2000)
  • Du Kim, H., & Kim, J. S. (2004). An online scheduling algorithm for grid computing systems. In M. Li, X.-H. Sun, Q....
  • M. Đurasević et al.

    Comparison of solution representations for scheduling in the unrelated machines environment

    Proceedings of the 39th international convention on information and communication technology, electronics and microelectronics (MIPRO)

    (2016)
  • Cited by (84)

    View all citing articles on Scopus
    View full text