A Genetic Programming Approach for Evolving Variable Selectors in Constraint Programming

Operational researchers and decision modelers have aspired to optimization technologies with a self-adaptive mechanism to cope with new problem formulations. Self-adaptive mechanisms not only free users from low-level and complex development tasks to enhance optimization efficiency but also allow them to focus on addressing high-level real-world operational requirements. In recent years, there has been a growing interest in applying machine learning and artificial intelligence techniques to improve self-adaptive mechanisms. However, learning to optimize hard combinatorial optimization problems remains a challenging task. This article proposes a new genetic programming approach to evolve efficient variable selectors to enhance the search mechanism in constraint programming. Starting with a set of training instances for a specific combinatorial optimization problem, the proposed approach evaluates variable selectors and evolves them to be more efficient over a number of generations. The novelties of our proposed approach are threefold: 1) a new representation of variable selectors; 2) a new mechanism for fitness evaluations; and 3) a preselection technique. We examine performance of the proposed approach on different job-shop scheduling problems, and the results show that variable selectors can be evolved efficiently. In particular, there are substantial reductions in the computational effort required for the search component of the constraint solver as well as increased chances of finding the optimal solutions. Further analyses also confirm the efficacy of our approach in respect to scalability, generalization, and interpretability of the evolved variable selectors.

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

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

[3]  Mengjie Zhang,et al.  Surrogate-Assisted Genetic Programming With Simplified Models for Automated Design of Dispatching Rules , 2017, IEEE Transactions on Cybernetics.

[4]  Andreas T. Ernst,et al.  A hybrid differential evolution algorithm with column generation for resource constrained job scheduling , 2019, Comput. Oper. Res..

[5]  Tristan B. Smith,et al.  EUROPA : A Platform for AI Planning, Scheduling, Constraint Programming, and Optimization , 2012 .

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

[7]  Tianze Wang,et al.  Machine Learning for Constraint Programming , 2019 .

[8]  J. Christopher Beck,et al.  Mixed Integer Programming models for job shop scheduling: A computational analysis , 2016, Comput. Oper. Res..

[9]  Yi Mei,et al.  Evolving Scheduling Heuristics via Genetic Programming With Feature Selection in Dynamic Flexible Job-Shop Scheduling , 2020, IEEE Transactions on Cybernetics.

[10]  Sigurdur Olafsson,et al.  Learning effective new single machine dispatching rules from optimal scheduling data , 2010 .

[11]  Muminu O. Adamu,et al.  A survey of single machine scheduling to minimize weighted number of tardy jobs , 2013 .

[12]  Riccardo Poli,et al.  Evolving timetabling heuristics using a grammar-based genetic programming hyper-heuristic framework , 2009, Memetic Comput..

[13]  Edward Tsang,et al.  Constraint Based Scheduling: Applying Constraint Programming to Scheduling Problems , 2003, J. Sched..

[14]  Krzysztof R. Apt,et al.  Principles of constraint programming , 2003 .

[15]  Gaurav Singh,et al.  Collaborative Resource Constraint Scheduling with a Fractional Shared Resource , 2008, 2008 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology.

[16]  J. Christopher Beck,et al.  Combining Constraint Programming and Local Search for Job-Shop Scheduling , 2011, INFORMS J. Comput..

[17]  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.

[18]  Bernd Scholz-Reiter,et al.  Evolutionary generation of dispatching rule sets for complex dynamic scheduling problems , 2013 .

[19]  Andreas T. Ernst,et al.  Car sequencing with constraint-based ACO , 2011, GECCO '11.

[20]  Pascal Bouvry,et al.  Tackling Large-Scale and Combinatorial Bi-Level Problems With a Genetic Programming Hyper-Heuristic , 2020, IEEE Transactions on Evolutionary Computation.

[21]  Michael Pinedo,et al.  A shifting bottleneck heuristic for minimizing the total weighted tardiness in a job shop , 1999 .

[22]  Jie Zhang,et al.  Learning Variable Ordering Heuristics for Solving Constraint Satisfaction Problems , 2019, Eng. Appl. Artif. Intell..

[23]  S. Kreipl A large step random walk for minimizing total weighted tardiness in a job shop , 2000 .

[24]  Bernd Scholz-Reiter,et al.  Towards improved dispatching rules for complex shop floor scenarios: a genetic programming approach , 2010, GECCO '10.

[25]  Andreas T. Ernst,et al.  Resource constraint scheduling with a fractional shared resource , 2011, Oper. Res. Lett..

[26]  Samy Bengio,et al.  Neural Combinatorial Optimization with Reinforcement Learning , 2016, ICLR.

[27]  Chandrasekharan Rajendran,et al.  Efficient jobshop dispatching rules: Further developments , 2000 .

[28]  J. Christopher Beck,et al.  A Hybrid Constraint Programming / Local Search Approach to the Job-Shop Scheduling Problem , 2008, CPAIOR.

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

[30]  Yi Mei,et al.  A two-stage genetic programming hyper-heuristic approach with feature selection for dynamic flexible job shop scheduling , 2019, GECCO.

[31]  Kerri Morgan,et al.  Large neighbourhood search based on mixed integer programming and ant colony optimisation for car sequencing , 2020, Int. J. Prod. Res..

[32]  Peter Stone,et al.  Learning to Solve Complex Planning Problems: Finding Useful Auxiliary Problems , 1994 .

[33]  Christian Blum,et al.  Hybrid Metaheuristics, An Emerging Approach to Optimization , 2008, Hybrid Metaheuristics.

[34]  Domagoj Jakobovic,et al.  Dynamic Scheduling with Genetic Programming , 2006, EuroGP.

[35]  Emma Hart,et al.  A Hyper-Heuristic Ensemble Method for Static Job-Shop Scheduling , 2016, Evolutionary Computation.

[36]  James J. Q. Yu,et al.  Online Vehicle Routing With Neural Combinatorial Optimization and Deep Reinforcement Learning , 2019, IEEE Transactions on Intelligent Transportation Systems.

[37]  Mikkel T. Jensen,et al.  Generating robust and flexible job shop schedules using genetic algorithms , 2003, IEEE Trans. Evol. Comput..

[38]  Emmanuel Hebrard,et al.  Job Shop Scheduling with Setup Times and Maximal Time-Lags: A Simple Constraint Programming Approach , 2010, CPAIOR.

[39]  Tapabrata Ray,et al.  On the use of genetic programming to evolve priority rules for resource constrained project scheduling problems , 2018, Inf. Sci..

[40]  Jing Liu,et al.  A Unified Framework of Graph-Based Evolutionary Multitasking Hyper-Heuristic , 2020, IEEE Transactions on Evolutionary Computation.

[41]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .

[42]  Tom Holvoet,et al.  Optimizing agents with genetic programming: an evaluation of hyper-heuristics in dynamic real-time logistics , 2018, Genetic Programming and Evolvable Machines.

[43]  G. Nemhauser,et al.  Integer Programming , 2020 .

[44]  Bernd Scholz-Reiter,et al.  Hyper-heuristic Evolution of Dispatching Rules: A Comparison of Rule Representations , 2015, Evolutionary Computation.

[45]  Andreas T. Ernst,et al.  Hybridizing Beam-ACO with Constraint Programming for Single Machine Job Scheduling , 2009, Hybrid Metaheuristics.

[46]  Xinyu Li,et al.  An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling problem , 2016 .

[47]  Mengjie Zhang,et al.  Genetic programming for QoS-aware web service composition and selection , 2016, Soft Comput..

[48]  Yoshua Bengio,et al.  Machine Learning for Combinatorial Optimization: a Methodological Tour d'Horizon , 2018, Eur. J. Oper. Res..

[49]  John E. Beasley,et al.  OR-Library: Distributing Test Problems by Electronic Mail , 1990 .

[50]  Christian Blum,et al.  Metaheuristics in combinatorial optimization: Overview and conceptual comparison , 2003, CSUR.

[51]  Roberto Rossi,et al.  Stochastic Constraint Programming as Reinforcement Learning , 2017, ArXiv.

[52]  Nhu Binh Ho,et al.  Designing Dispatching Rules to Minimize Total Tardiness , 2007, Evolutionary Scheduling.

[53]  Thomas Philip Runarsson,et al.  Supervised Learning Linear Priority Dispatch Rules for Job-Shop Scheduling , 2011, LION.

[54]  Averill M. Law,et al.  Simulation Modeling and Analysis , 1982 .

[55]  Henri Pierreval,et al.  Training a neural network to select dispatching rules in real time , 2010, Comput. Ind. Eng..

[56]  Graham Kendall,et al.  Evolving Bin Packing Heuristics with Genetic Programming , 2006, PPSN.

[57]  Kay Chen Tan,et al.  People-Centric Evolutionary System for Dynamic Production Scheduling , 2019, IEEE Transactions on Cybernetics.