Projects / METSlib


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.

Operating Systems

Recent releases

  •  26 May 2011 19:32

    Release Notes: This release fixes many bugs.

    •  25 Nov 2010 08:39

      Release Notes: This version breaks compatibility with version 0.4.x, but migration should not be too hard. The apply/unapply move mechanism has been replaced by a more natural evaluate/apply. complex_moves are no longer possible, but search performance can be improved for a wide range of problems. Other changes include the introduction of a permutation problem base class that can be used to easily model QAP, TSP, and a wide range of assignment problems.

      •  15 Oct 2009 08:08

        Release Notes: This release replaces the mets::feasible_solution assignment operator with a virtual copy_from method that improves copy operations. The autoconf and config.h system have been improved. The library and the examples can now build successfully on Ubuntu 8.04 and 9.04, Debian Lenny, OpenSolaris 2009.06, Windows/Cygwin 1.7beta, and Visual C++ Express 2008. Most Linux distributions should build with no problems.

        •  25 Jan 2009 16:15

          Release Notes: This version fixes a nasty bug in the simple_tabu_list implementation and adds a new QAP sample.

          •  17 Dec 2008 18:30

            No changes have been submitted for this release.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.