Genetic Programming with Multi-tree Representation for Dynamic Flexible Job Shop Scheduling

Flexible job shop scheduling (FJSS) can be regarded as an optimization problem in production scheduling that captures practical and challenging issues in real-world scheduling tasks such as order picking in manufacturing and cloud computing. Given a set of machines and jobs, FJSS aims to determine which machine to process a particular job (by routing rule) and which job will be chosen to process next by a particular machine (by sequencing rule). In addition, dynamic changes are unavoidable in the real-world applications. These features lead to difficulties in real-time scheduling. Genetic programming (GP) is well-known for the flexibility of its representation and tree-based GP is widely and typically used to evolve priority functions for different decisions. However, a key issue for the tree-based representation is how it can capture both the routing and sequencing rules simultaneously. To address this issue, we proposed to use multi-tree GP (MTGP) to evolve both routing and sequencing rules together. In order to enhance the performance of MTGP algorithm, a novel tree swapping crossover operator is proposed and embedded into MTGP. The results suggest that the multi-tree representation can achieve much better performance with smaller rules and less training time than cooperative co-evolution for GP in solving dynamic FJSS problems. Furthermore, the proposed tree swapping crossover operator can greatly improve the performance of MTGP.

[1]  Jan Karel Lenstra,et al.  Job Shop Scheduling by Simulated Annealing , 1992, Oper. Res..

[2]  Nikhil R. Pal,et al.  A novel approach to design classifiers using genetic programming , 2004, IEEE Transactions on Evolutionary Computation.

[3]  Mengjie Zhang,et al.  Automated Design of Production Scheduling Heuristics: A Review , 2016, IEEE Transactions on Evolutionary Computation.

[4]  Mark Johnston,et al.  A Computational Study of Representations in Genetic Programming to Evolve Dispatching Rules for the Job Shop Scheduling Problem , 2013, IEEE Transactions on Evolutionary Computation.

[5]  Peter Brucker,et al.  Job-shop scheduling with multi-purpose machines , 1991, Computing.

[6]  E. Nowicki,et al.  A Fast Taboo Search Algorithm for the Job Shop Problem , 1996 .

[7]  F. Pezzella,et al.  A genetic algorithm for the Flexible Job-shop Scheduling Problem , 2008, Comput. Oper. Res..

[8]  Chandrasekharan Rajendran,et al.  Efficient dispatching rules for scheduling in a job shop , 1997 .

[9]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[10]  Jürgen Branke,et al.  On Using Surrogates with Genetic Programming , 2015, Evolutionary Computation.

[11]  Yi Mei,et al.  Evolving Time-Invariant Dispatching Rules in Job Shop Scheduling with Genetic Programming , 2017, EuroGP.

[12]  Yi Mei,et al.  Genetic programming for production scheduling: a survey with a unified framework , 2017, Complex & Intelligent Systems.

[13]  Yi Mei,et al.  An Efficient Feature Selection Algorithm for Evolving Job Shop Scheduling Rules With Genetic Programming , 2017, IEEE Transactions on Emerging Topics in Computational Intelligence.

[14]  R. Haupt,et al.  A survey of priority rule-based scheduling , 1989 .

[15]  Yi Mei,et al.  Genetic Programming Hyper-Heuristic with Cooperative Coevolution for Dynamic Flexible Job Shop Scheduling , 2018, EuroGP.

[16]  Luigi P. Cordella,et al.  Genetic programming for generating prototypes in classification problems , 2005, 2005 IEEE Congress on Evolutionary Computation.

[17]  Mengjie Zhang,et al.  Generating Redundant Features with Unsupervised Multi-Tree Genetic Programming , 2018, EuroGP.

[18]  Mario Vanhoucke,et al.  A comparison of priority rules for the job shop scheduling problem under different flow time- and tardiness-related objective functions , 2012 .

[19]  William B. Langdon,et al.  Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming! , 1998 .