METSlib is an object-oriented metaheuristics framework in C++ designed to make implementing or adapting models easy. The model is modular: all the implemented search algorithms can be applied to the same model. METSlib implements the basics of some metaheuristics algorithms, such as Random Restart Local Search, Variable Neighborhood Search, Iterated Local Search, Simulated Annealing, and Tabu Search. For each algorithm, you must implement an objective function, a neighborhood (move manager), and some moves. Tabu Search is one of the fastest ways to generate near-optimal solutions to a wide range of hard combinatorial optimization problems.
The METSlib QAP solver is a Tabu Search solver for the quadratic assignment problem, a combinatorial optimization problem that arises in many applicative cases. It can be used to find optimal locations for a set of facilities while minimizing the cost of moving commodities between them, to optimize the placement of components on a circuit board, and for many other applications. This software is based on the METSlib framework.