org.coinor.opents
Interface TabuList

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
ComplexTabuList, SimpleTabuList

public interface TabuList
extends java.io.Serializable

The TabuList tracks which moves are tabu and for how long.

This code is licensed for public use under the Common Public License version 0.5.
The Common Public License, developed by IBM and modeled after their industry-friendly IBM Public License, differs from other common open source licenses in several important ways:

Copyright © 2001 Robert Harder

Since:
1.0
See Also:
Move, Solution

Method Summary
 boolean isTabu(Solution fromSolution, Move move)
          This function should be able to determine if a given move is on the tabu list.
 void setTabu(Solution fromSolution, Move move)
          This method accepts a Move and Solution as arguments and updates the tabu list as necessary.
 

Method Detail

setTabu

public void setTabu(Solution fromSolution,
                    Move move)
This method accepts a Move and Solution as arguments and updates the tabu list as necessary.

Although the tabu list may not use both of the passed arguments, both must be included in the definition.

Parameters:
move - The Move to register
Since:
1.0
See Also:
Move, Solution

isTabu

public boolean isTabu(Solution fromSolution,
                      Move move)
This function should be able to determine if a given move is on the tabu list. The solution that is passed is the solution before the move has operated on it. This helps when you can incrementally evaluate your objective function even though it makes some hashing tabu lists a bit more difficult.

Parameters:
move - A move
Returns:
whether or not the tabu list permits the move.
Since:
1.0
See Also:
Move, Solution