All Projects → alberto-santini → adaptive-large-neighbourhood-search

alberto-santini / adaptive-large-neighbourhood-search

Licence: GPL-3.0 License
ALNS header-only library (loosely) based on the original implementation by Stefan Ropke.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to adaptive-large-neighbourhood-search

cplex-example
Solving a TSP with the CPLEX C++ API.
Stars: ✭ 40 (+42.86%)
Mutual labels:  operations-research, operational-research
uptune
A Generic Distributed Auto-Tuning Infrastructure
Stars: ✭ 18 (-35.71%)
Mutual labels:  heuristics
optaplanner-quickstarts
OptaPlanner quick starts for AI optimization: many use cases shown in many different technologies.
Stars: ✭ 226 (+707.14%)
Mutual labels:  operations-research
optapy
OptaPy is an AI constraint solver for Python to optimize planning and scheduling problems.
Stars: ✭ 167 (+496.43%)
Mutual labels:  metaheuristics
VeRyPy
A python library with implementations of 15 classical heuristics for the capacitated vehicle routing problem.
Stars: ✭ 166 (+492.86%)
Mutual labels:  heuristics
Ascension
A metaheuristic optimization framework
Stars: ✭ 24 (-14.29%)
Mutual labels:  metaheuristics
metaheuristic-training-networks
An implementation of various metaheuristics adapted to train neural networks
Stars: ✭ 16 (-42.86%)
Mutual labels:  metaheuristics
monolith
A C++ monorepo for discrete and continuous optimization. Batteries included!
Stars: ✭ 84 (+200%)
Mutual labels:  operations-research
swap
A Solver for the Wavelength Assignment Problem (RWA) in WDM networks
Stars: ✭ 27 (-3.57%)
Mutual labels:  metaheuristics
KMAC
Some usefull info when reverse engineering Kernel Mode Anti-Cheat
Stars: ✭ 31 (+10.71%)
Mutual labels:  heuristics
clean-code-smells-and-heuristics
No description or website provided.
Stars: ✭ 20 (-28.57%)
Mutual labels:  heuristics
Operations-Research
Some lecture notes of Operations Research (usually taught in Junior year of BS) can be found in this repository along with some Python programming codes to solve numerous problems of Optimization including Travelling Salesman, Minimum Spanning Tree and so on.
Stars: ✭ 92 (+228.57%)
Mutual labels:  operations-research
rmoo
An R package for multi/many-objective optimization with non-dominated genetic algorithms' family
Stars: ✭ 18 (-35.71%)
Mutual labels:  metaheuristics
Genetics
Genetics (Initialization, Selection, Crossover, Mutation)
Stars: ✭ 15 (-46.43%)
Mutual labels:  heuristics
Hive
Artificial Bee Colony Algorithm in Python.
Stars: ✭ 70 (+150%)
Mutual labels:  metaheuristics
Harris-Hawks-Optimization-Algorithm-and-Applications
Source codes for HHO paper: Harris hawks optimization: Algorithm and applications: https://www.sciencedirect.com/science/article/pii/S0167739X18313530. In this paper, a novel population-based, nature-inspired optimization paradigm is proposed, which is called Harris Hawks Optimizer (HHO).
Stars: ✭ 31 (+10.71%)
Mutual labels:  metaheuristics
GeneticsJS
Evolutionary algorithms library for the web 🧬
Stars: ✭ 25 (-10.71%)
Mutual labels:  metaheuristics
qbso-fs
Python implementation of QBSO-FS : a Reinforcement Learning based Bee Swarm Optimization metaheuristic for Feature Selection problem.
Stars: ✭ 47 (+67.86%)
Mutual labels:  metaheuristics
Flow-Shop-Scheduling
Genetic Algorithm for Flow Shop Scheduling
Stars: ✭ 19 (-32.14%)
Mutual labels:  heuristics
pymhlib
pymhlib - A Toolbox for Metaheuristics and Hybrid Optimization Methods
Stars: ✭ 20 (-28.57%)
Mutual labels:  metaheuristics

Adaptive Large Neighbourhood Search

This is a header-only C++ implementation of the (Parallel) Adaptive Large Neighbourhhod Search algorithm, devised by Ropke and Pisinger. The code is loosely based on the original implementation which Stefan Ropke has kindly shared with me.

Usage

All parameters of the metaheuristic framework are set editing file Params.json. The user needs to provide:

  • An object implementing an instance of the problem, with a public method getInstanceSize() which returns the size of the instance (e.g., the number of vertices in a TSP instance).
  • A class representing a solution of the problem, with a public method getCost() returning a cost to minimise (e.g., the length of a TSP tour).
  • A subclass of InitialSolutionCreator to produce an initial solution to the problem.

The destroy and repair method will derive, respectively, from base classes DestroyMethod and RepairMethod. The user can choose between using one the predefined acceptance criteria, or implementing his own inheriting from base class AcceptanceCriterion. A handy way to monitor the algorithm and perform non-standard actions during the solution process is to provide a visitor object which inherits from AlgorithmVisitor.

License

This software is licensed under the GNU Public License Version 3. See file LICENSE for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].