METSlib is a C++ metaheuristics framework that simplifies model implementation and adaptation through its object-oriented approach.
METSlib offers a range of metaheuristic algorithms, including Random Restart Local Search, Iterated Local Search, Variable Neighborhood Search, Simulated Annealing (with linear, exponential, and customizable cooling schedules), and Tabu Search. To use each algorithm, users will need to implement an objective function, neighborhood (move manager), and some moves.
For every algorithm, users have the option to use some of the already implemented termination criteria and cooling schedule (for SA), tabu lists and aspiration criteria (for TS), or they can customize their versions. The software's object-oriented structure was carefully thought out to be highly reusable and reviewed by multiple persons, multiple times, to ensure effectiveness.
METSlib's OO library was inspired by the OTS library released by the Coin-OR project. However, the concepts presented in that library have been adapted to C++, optimized for speed, and extended to offer a unique experience. It is vital to note that there could still be errors, and no tar file has been released yet.
Version 0.4.3: N/A