METSlib 0.6

- Main Page
- Modules
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
mets::move Class Referenceabstract
Model

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

`#include <model.hh>`

Inheritance diagram for mets::move:
Collaboration diagram for mets::move:

## Public Member Functions
virtual gol_type | evaluate (const feasible_solution &sol) const =0
| Evaluate the cost after the move. More...
virtual void | apply (feasible_solution &sol) const =0
| Operates this move on sol. More...

## 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::invert_subsequence, and mets::swap_elements.

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::invert_subsequence, and mets::swap_elements.

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

- metslib/model.hh

Return to METSlib home page