#include <mets.h>
Public Types | |
typedef std::deque< move * > ::iterator | iterator |
Iterator type to iterate over moves of the neighborhood. | |
typedef std::deque< move * > ::size_type | size_type |
Size type. | |
Public Member Functions | |
move_manager () | |
Initialize the move manager with an empty list of moves. | |
virtual | ~move_manager () |
Virtual destructor. | |
virtual void | refresh (feasible_solution &sol)=0 |
Called by the various search algorithms before each iteration to update the neighborhood. | |
virtual iterator | begin () |
Begin iterator of available moves queue. | |
virtual iterator | end () |
End iterator of available moves queue. | |
virtual size_type | size () const |
Size of the neighborhood. | |
Protected Attributes | |
std::deque< move * > | moves_m |
The move manager can represent both Variable and Constant Neighborhoods.
To make a constant neighborhood put moves in the moves_m queue in the constructor and implement an empty refresh() method.
To make a variable neighborhood (or to selectively select feasible moves at each iteration) update the moves_m queue in the refresh() method.
Return to METSlib home page