Litcius/Paper detail

ALNS: a Python implementation of the adaptive largeneighbourhood search metaheuristic

Niels A. Wouda, Leon Lan

2023The Journal of Open Source Software19 citationsDOIOpen Access PDF

Abstract

The alns Python package provides a complete implementation of the adaptive large neighbourhood search (ALNS) metaheuristic algorithm (Pisinger & Røpke, 2010;Røpke & Pisinger, 2006).ALNS has quickly become a favourite in the field of operations research for solving difficult combinatorial problems, including the vehicle routing problem and various scheduling problems.Our package has an easy-to-use API and includes various stopping criteria, a large set of acceptance criteria based on Santini et al. ( 2018), and multiple operator selection schemes.Furthermore, it supports many other single-trajectory neighbourhood search algorithms as special cases, including iterated local search (ILS), variable neighbourhood search (VNS), and the greedy randomised adaptive search procedure (GRASP).The package has already been successfully used for research into methodological improvements of ALNS itself (Reijnen et al., 2022), and for the development of a high-quality ALNS metaheuristic solving an industry problem (Wouda et al., 2023).Because of this success, we expect the package to be useful to the wider operations research community.

Topics & Concepts

Python (programming language)MetaheuristicComputer scienceNeighbourhood (mathematics)Programming languageMathematicsArtificial intelligenceMathematical analysisMetaheuristic Optimization Algorithms ResearchVehicle Routing Optimization MethodsAdvanced Multi-Objective Optimization Algorithms
ALNS: a Python implementation of the adaptive largeneighbourhood search metaheuristic | Litcius