Skip to content
Stefan Vigerske edited this page Feb 28, 2020 · 2 revisions

Please use the Mailing List to ask questions about migrating from 0.4.x to 0.5.x.

Migrating from 0.4.x to 0.5.x

  • The operator= has been replaced by an explicit copy_from method.

  • Replace mets::feasible_solution with mets::evaluable_solution (unless you provide your own solution recorder).

  • mets::mana_move interface has changed a bit: there is now an "opposite_of" method that can be used with the simple tabu list to declare as tabu the opposite of the move made (for tenure iterations): the default implementation will simply call operator==.

  • Replace the apply/unapply methods for your moves with evaluate/apply methods. This will allow performance gain on some type of problems, but it will require some work to have the complex_move work again.

  • Take a look at the documentation of the constructor of TS/SA/LS algorithms. The algorithms are now template of the neighborhood type (this allows for custom move iterators and more sophisticated exploration scheme) and the best_solution instance has been replaced by a best_solution_recorder class (the default recorder records the best solution found, but it is easy to implement a recorder that also considers other details: e.g. feasibility).

  • Feel free to update this page with more details or to ask your questions on the Mailing List.