Hyper-heuristic Evolution of Dispatching Rules: A Comparison of Rule Representations

Evol Comput. 2015 Summer;23(2):249-77. doi: 10.1162/EVCO_a_00131. Epub 2014 Nov 24.

Abstract

Dispatching rules are frequently used for real-time, online scheduling in complex manufacturing systems. Design of such rules is usually done by experts in a time consuming trial-and-error process. Recently, evolutionary algorithms have been proposed to automate the design process. There are several possibilities to represent rules for this hyper-heuristic search. Because the representation determines the search neighborhood and the complexity of the rules that can be evolved, a suitable choice of representation is key for a successful evolutionary algorithm. In this paper we empirically compare three different representations, both numeric and symbolic, for automated rule design: A linear combination of attributes, a representation based on artificial neural networks, and a tree representation. Using appropriate evolutionary algorithms (CMA-ES for the neural network and linear representations, genetic programming for the tree representation), we empirically investigate the suitability of each representation in a dynamic stochastic job shop scenario. We also examine the robustness of the evolved dispatching rules against variations in the underlying job shop scenario, and visualize what the rules do, in order to get an intuitive understanding of their inner workings. Results indicate that the tree representation using an improved version of genetic programming gives the best results if many candidate rules can be evaluated, closely followed by the neural network representation that already leads to good results for small to moderate computational budgets. The linear representation is found to be competitive only for extremely small computational budgets.

Keywords: CMA-ES; Job shop scheduling; artificial neural network; dispatching rule; genetic programming; representation.

MeSH terms

  • Algorithms*
  • Appointments and Schedules*
  • Artificial Intelligence*
  • Computer Simulation
  • Models, Theoretical*
  • Neural Networks, Computer*
  • Search Engine*
  • Stochastic Processes