Supporting Efficient Global Moves on Sequences in Constraint-based Local Search Engines

Constraint-Based Local Search (CBLS) is an approach for quickly building local search solvers based on a declarative modelling framework for specifying input variables, constraints and objective function. An underlying engine can efficiently update the optimization model to reflect any change to the input variables, enabling fast exploration of neighbourhoods as performed by local search procedures. This approach suffers from a weakness when moves involve modifying the value of a large set of input variables in a structured fashion. In routing optimization, if one implements the optimization model by means of integer variables, a two-opt move that flip a portion of route requires modifying the value of many variables. The constraint on this problems are then notified about many updates, but they need to infer that these updates constitute a flip, and waste a lot of time. This paper presents this multi-variable limitation, discusses approaches to mitigate it, and proposes an efficient implementation of a variable type that represents sequences of integers to avoid it. The proposed implementation offers good complexities for updating and querying the value of sequences of integers and some mechanisms to enable the use of state-of-the art incremental global constraints.

[1]  F. Glover,et al.  Handbook of Metaheuristics , 2019, International Series in Operations Research & Management Science.

[2]  Cédric Pralet,et al.  Dynamic Online Planning and Scheduling Using a Static Invariant-Based Evaluation Model , 2013, ICAPS.

[3]  Christophe Ponsard,et al.  Combining Neighborhoods into Local Search Strategies , 2018 .

[4]  Michael D. Ernst,et al.  HAMPI: A String Solver for Testing, Analysis and Vulnerability Detection , 2011, CAV.

[5]  Michael J. Maher,et al.  Kangaroo: An Efficient Constraint-Based Local Search System Using Lazy Propagation , 2011, CP.

[6]  Luca Di Gaspero,et al.  EASYLOCAL++: an object‐oriented framework for the flexible design of local‐search algorithms , 2003, Softw. Pract. Exp..

[7]  Xiang Fu,et al.  Simple linear string constraints , 2013, Formal Aspects of Computing.

[8]  Pascal Van Hentenryck,et al.  Constraint-based local search , 2018, Handbook of Heuristics.

[9]  A. Schrijver On the History of Combinatorial Optimization (Till 1960) , 2005 .

[10]  Parosh Aziz Abdulla,et al.  Norn: An SMT Solver for String Constraints , 2015, CAV.

[11]  M. Sol The general pickup and delivery problem , 2010 .

[12]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[13]  Pascal Van Hentenryck,et al.  Control Abstractions for Local Search , 2003, CP.

[14]  Gustav Björdal String Variables for Constraint-Based Local Search , 2016 .

[15]  Thierry Benoist,et al.  LocalSolver 1.x: a black-box local-search solver for 0-1 programming , 2011, 4OR.

[16]  G. Croes A Method for Solving Traveling-Salesman Problems , 1958 .

[17]  Pierre Flener,et al.  Constraint Solving on Bounded String Variables , 2015, CPAIOR.

[18]  Nenad Mladenovic,et al.  Variable neighborhood search for the travelling deliveryman problem , 2011, 4OR.