Chips-n-Salsa: A Java Library of Customizable, Hybridizable, Iterative, Parallel, Stochastic, and Self-Adaptive Local Search Algorithms

Discrete optimization problems are often of practical real-world importance as well as computationally intractable. For example, the traveling salesperson, bin packing, and longest common subsequence problems are NP-Hard, as is resource constrained scheduling, and many single-machine scheduling problems (Garey & Johnson, 1979). Polynomial time algorithms for such problems are unlikely to exist, and the best known algorithms that guarantee optimal solutions have a worst-case exponential runtime. It is thus common to use stochastic local search and other metaheuristics (Gonzalez, 2018). Stochastic local search algorithms begin at a random search state, and apply a sequence of neighbor transitions to nearby search states. This includes perturbative (Hoos & Stützle, 2018) algorithms like simulated annealing (Delahaye, Chaimatanan, & Mongeau, 2019) and hill climbers (Hoos & Stützle, 2018), where each search state is a complete candidate feasible solution, and a mutation operator makes a small random modification to move to another local candidate solution; and also includes constructive (Hoos & Stützle, 2018) algorithms like stochastic samplers (Bresina, 1996; Cicirello & Smith, 2005; Grasas, Juan, Faulin, de Armas, & Ramalhinho, 2017; Langley, 1992; ReyesRubiano, Calvet, Juan, Faulin, & Bové, 2020), where each search state is a partial solution that is iteratively transformed into a complete solution. Stochastic local search algorithms do not guarantee optimal solutions. However, they often find near-optimal solutions in much less time than systematic search. They also offer an anytime property (Jesus, Liefooghe, Derbel, & Paquete, 2020; Zilberstein, 1996), where solution quality improves with runtime.

[1]  Thomas Stützle,et al.  Automatic design of hybrid stochastic local search algorithms for permutation flowshop problems , 2019, Eur. J. Oper. Res..

[2]  Vincent A. Cicirello On the Effects of Window-Limits on the Distance Profiles of Permutation Neighborhood Operators , 2014, BICT.

[3]  Andrew W. Moore,et al.  Learning evaluation functions for global optimization , 1998 .

[4]  Laura Calvet,et al.  A biased-randomized variable neighborhood search for sustainable multi-depot vehicle routing problems , 2020, J. Heuristics.

[5]  Angel A. Juan,et al.  Biased randomization of heuristics using skewed probability distributions: A survey and some applications , 2017, Comput. Ind. Eng..

[6]  Vincent A. Cicirello,et al.  The Permutation in a Haystack Problem and the Calculus of Search Landscapes , 2016, IEEE Transactions on Evolutionary Computation.

[7]  Marco Tomassini,et al.  Evolutionary Algorithms , 1995, Towards Evolvable Hardware.

[8]  Stephen F. Smith,et al.  Stochastic Procedures for Generating Feasible Schedules , 1997, AAAI/IAAI.

[9]  Vincent A. Cicirello Variable Annealing Length and Parallelism in Simulated Annealing , 2017, SOCS.

[10]  David Zuckerman,et al.  Optimal Speedup of Las Vegas Algorithms , 1993, Inf. Process. Lett..

[11]  Teofilo F. Gonzalez Handbook of Approximation Algorithms and Metaheuristics, Second Edition, Volume 1: Methologies and Traditional Applications , 2018, Handbook of Approximation Algorithms and Metaheuristics.

[12]  Bart Selman,et al.  Algorithm portfolios , 2001, Artif. Intell..

[13]  Vincent A. Cicirello,et al.  On the Design of an Adaptive Simulated Annealing Algorithm , 2007 .

[14]  Stephen F. Smith,et al.  Enhancing Stochastic Search Performance by Value-Biased Randomization of Heuristics , 2005, J. Heuristics.

[15]  C.J.H. Mann,et al.  Handbook of Approximation: Algorithms and Metaheuristics , 2008 .

[16]  Shlomo Zilberstein,et al.  Using Anytime Algorithms in Intelligent Systems , 1996, AI Mag..

[17]  Stephen F. Smith,et al.  Boosting stochastic problem solvers through online self-analysis of performance , 2003 .

[18]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

[19]  Sean Luke,et al.  ECJ at 20: toward a general metaheuristics toolkit , 2019, GECCO.

[20]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[21]  Bilel Derbel,et al.  Algorithm selection of anytime algorithms , 2020, GECCO.

[22]  Eric Vigoda,et al.  Adaptive Simulated Annealing: A Near-optimal Connection between Sampling and Counting , 2006, 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07).

[23]  Vincent A. Cicirello,et al.  Profiling the Distance Characteristics of Mutation Operators for Permutation-Based Genetic Algorithms , 2013, FLAIRS Conference.

[24]  Aliaksandr Hubin,et al.  An adaptive simulated annealing EM algorithm for inference on non-homogeneous hidden Markov models , 2019, AIIPCC '19.

[25]  P. Langley Systematic and nonsystematic search strategies , 1992 .

[26]  Vincent A. Cicirello JavaPermutationTools: A Java Library of Permutation Distance Metrics , 2018, J. Open Source Softw..

[27]  Vincent A. Cicirello Impact of Random Number Generation on Parallel Genetic Algorithms , 2018, FLAIRS Conference.

[28]  VempalaSantosh,et al.  Adaptive simulated annealing: A near-optimal connection between sampling and counting , 2009 .

[29]  Thomas Bäck,et al.  Theory of Evolutionary Computation: Recent Developments in Discrete Optimization , 2020, Theory of Evolutionary Computation.

[30]  Thomas Stützle,et al.  Stochastic Local Search , 2007, Handbook of Approximation Algorithms and Metaheuristics.

[31]  Xin Yao,et al.  Algorithm portfolio for individual-based surrogate-assisted evolutionary algorithms , 2019, GECCO.

[32]  John L. Bresina,et al.  Heuristic-Biased Stochastic Sampling , 1996, AAAI/IAAI, Vol. 1.

[33]  Marcel Mongeau,et al.  Simulated Annealing: From Basics to Applications , 2018, Handbook of Metaheuristics.