toulbar2
Public Member Functions | Public Attributes | List of all members
TabuSearch Class Reference
Inheritance diagram for TabuSearch:
Inheritance graph
[legend]
Collaboration diagram for TabuSearch:
Collaboration graph
[legend]

Public Member Functions

int acceptance (Move *move, Configuration *config)
 
int nontabumove (Move *move)
 
void executebeforemove (Move *move, Configuration *configuration, OpProblem *problem)
 
void reinit (OpProblem *problem)
 

Public Attributes

int tabulength
 
list< Move * > move_list
 

Detailed Description

Walk with using a tabu list : this list of moves is implemented by a list<Move*> structure , the actual class of the moves depend on the problems

Member Function Documentation

◆ acceptance()

int TabuSearch::acceptance ( Move move,
Configuration config 
)
virtual

acceptance of a move : not in the tabulist (the aspiration criterion of a best is in the configurationmove algorithm)

Reimplemented from Metaheuristic.

Reimplemented in TabuAcceptingrate.

References Configuration::valuation.

◆ executebeforemove()

void TabuSearch::executebeforemove ( Move move,
Configuration configuration,
OpProblem problem 
)
virtual

updating of the tabulist which is managed as a FIFO of maximum length tabulength

Reimplemented from Metaheuristic.

References Move::computetabumove().

◆ nontabumove()

int TabuSearch::nontabumove ( Move move)

test of non presence in the tabulist (use of eqmove method)

◆ reinit()

void TabuSearch::reinit ( OpProblem problem)
virtual

the tabu list is cleared

Reimplemented from Metaheuristic.

Member Data Documentation

◆ move_list

list<Move*> TabuSearch::move_list

tabu list : implemented FIFO

◆ tabulength

int TabuSearch::tabulength

maximum length of the tabulist