mets::move Class Reference
[Model]

Move to be operated on a feasible solution. More...

#include <model.hh>

Inheritance diagram for mets::move:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual gol_type evaluate (const feasible_solution &sol) const =0
 Evaluate the cost after the move.
virtual void apply (feasible_solution &sol) const =0
 Operates this move on sol.


Detailed Description

Move to be operated on a feasible solution.

You must implement this (one or more types are allowed) for your problem.

You must provide an apply as well as an evaluate method.

NOTE: this interface changed from 0.4.x to 0.5.x. The change was needed to provide a more general interface.


Member Function Documentation

virtual void mets::move::apply ( feasible_solution sol  )  const [pure virtual]

Operates this move on sol.

This should actually change the solution.

Implemented in mets::swap_elements, and mets::invert_subsequence.

virtual gol_type mets::move::evaluate ( const feasible_solution sol  )  const [pure virtual]

Evaluate the cost after the move.

What if we make this move? Local searches can be speed up by a substantial amount if we are able to efficiently evaluate the cost of the neighboring solutions without actually changing the solution.

Implemented in mets::swap_elements, and mets::invert_subsequence.


The documentation for this class was generated from the following file:

Return to METSlib home page