Function object expressing an aspiration criteria. More...
#include <tabu-search.hh>
Public Member Functions | |
virtual void | accept (feasible_solution &fs, move &mov, gol_type evaluation) |
This is a callback function from the algorithm that tells us that a move was accepted. | |
aspiration_criteria_chain (aspiration_criteria_chain *next=0) | |
Constructor. | |
aspiration_criteria_chain (const aspiration_criteria_chain &other) | |
purposely not implemented (see Effective C++) | |
virtual bool | operator() (feasible_solution &fs, move &mov, gol_type evaluation) const |
The function that decides if we shoud accept a tabu move. | |
aspiration_criteria_chain & | operator= (const aspiration_criteria_chain &other) |
purposely not implemented (see Effective C++) | |
virtual void | reset () |
A method to reset this aspiration criteria chain to its original state. | |
virtual | ~aspiration_criteria_chain () |
Virtual destructor. | |
Protected Attributes | |
aspiration_criteria_chain * | next_m |
Function object expressing an aspiration criteria.
An aspiration criteria is a criteria used to override the tabu list. When the aspiration criteria is met a move is made even if it's in the tabu-list
Aspiration critera can be chained so a criteria can decorate another criteria
Definition at line 52 of file tabu-search.hh.
mets::aspiration_criteria_chain::aspiration_criteria_chain | ( | aspiration_criteria_chain * | next = 0 | ) | [inline, explicit] |
Constructor.
next | Optional next criteria in the chain. |
Definition at line 59 of file tabu-search.hh.
mets::aspiration_criteria_chain::aspiration_criteria_chain | ( | const aspiration_criteria_chain & | other | ) |
purposely not implemented (see Effective C++)
virtual mets::aspiration_criteria_chain::~aspiration_criteria_chain | ( | ) | [inline, virtual] |
Virtual destructor.
Definition at line 71 of file tabu-search.hh.
void mets::aspiration_criteria_chain::accept | ( | feasible_solution & | fs, |
move & | mov, | ||
gol_type | evaluation | ||
) | [inline, virtual] |
This is a callback function from the algorithm that tells us that a move was accepted.
You can use this function to update the aspiration criteria based on the current search status. (e.g. record the best cost for a best ever criteria)
fs | The current working solution (after applying move). |
mov | The accepted move (the move just made). |
Reimplemented in mets::best_ever_criteria.
Definition at line 581 of file tabu-search.hh.
bool mets::aspiration_criteria_chain::operator() | ( | feasible_solution & | fs, |
move & | mov, | ||
gol_type | evaluation | ||
) | const [inline, virtual] |
The function that decides if we shoud accept a tabu move.
fs | The current working solution (before applying move). |
mov | The move to be made (the move that is being evaluated). |
Reimplemented in mets::best_ever_criteria.
Definition at line 589 of file tabu-search.hh.
aspiration_criteria_chain& mets::aspiration_criteria_chain::operator= | ( | const aspiration_criteria_chain & | other | ) |
purposely not implemented (see Effective C++)
void mets::aspiration_criteria_chain::reset | ( | ) | [inline, virtual] |
A method to reset this aspiration criteria chain to its original state.
Reimplemented in mets::best_ever_criteria.
Definition at line 574 of file tabu-search.hh.
Definition at line 101 of file tabu-search.hh.