moSimple(Move/Solution)TabuList are updated, Doxyfile too
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@286 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
bfe7aee5a2
commit
9fc380c8dd
219 changed files with 1737 additions and 709 deletions
|
|
@ -36,7 +36,7 @@ public:
|
|||
currentSize=0;
|
||||
}
|
||||
|
||||
//! Function that indicates if, in a given state, the _move is tabu or not.
|
||||
//! Function that indicates if, in a given state, the _move is tabu or not.
|
||||
/*!
|
||||
\param __move A given moMove.
|
||||
\param __sol A solution.
|
||||
|
|
@ -59,6 +59,13 @@ public:
|
|||
void
|
||||
add (const M & __move, const EOT & __sol)
|
||||
{
|
||||
if(currentSize!=0)
|
||||
{
|
||||
// Useful in the case of a move has been kept thanks to the moAspirCrit.
|
||||
// In this case, the move can already be in the tabuList.
|
||||
removeMove(__move);
|
||||
}
|
||||
|
||||
tabuList.push_back(__move);
|
||||
|
||||
if(currentSize==maxSize)
|
||||
|
|
@ -85,6 +92,27 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
//! Procedure that removes a given move from the tabu list (if it is into, else do nothing).
|
||||
/*!
|
||||
\param __move A given moMove.
|
||||
*/
|
||||
void
|
||||
removeMove(const M & __move)
|
||||
{
|
||||
typename std::list<M>::iterator it;
|
||||
|
||||
it=tabuList.begin();
|
||||
while(it!=tabuList.end()&&(!((*it)==__move)))
|
||||
{
|
||||
it++;
|
||||
}
|
||||
|
||||
if(it!=tabuList.end())
|
||||
{
|
||||
tabuList.erase(it);
|
||||
}
|
||||
}
|
||||
|
||||
//! The maximum size of the tabu list.
|
||||
unsigned maxSize;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue