Class AbstractTabuAcceptor<Solution_>
- java.lang.Object
-
- org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter<Solution_>
-
- org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListenerAdapter<Solution_>
-
- org.optaplanner.core.impl.localsearch.decider.acceptor.AbstractAcceptor<Solution_>
-
- org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.AbstractTabuAcceptor<Solution_>
-
- All Implemented Interfaces:
EventListener,Acceptor<Solution_>,LocalSearchPhaseLifecycleListener<Solution_>,SolverLifecycleListener<Solution_>
- Direct Known Subclasses:
EntityTabuAcceptor,MoveTabuAcceptor,ValueTabuAcceptor
public abstract class AbstractTabuAcceptor<Solution_> extends AbstractAcceptor<Solution_>
Abstract superclass for all Tabu Acceptors.- See Also:
Acceptor
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanaspirationEnabledprotected booleanassertTabuHashCodeCorrectnessprotected TabuSizeStrategy<Solution_>fadingTabuSizeStrategyprotected StringlogIndentationprotected Deque<Object>tabuSequenceDequeprotected TabuSizeStrategy<Solution_>tabuSizeStrategyprotected Map<Object,Integer>tabuToStepIndexMapprotected intworkingFadingTabuSizeprotected intworkingTabuSize-
Fields inherited from class org.optaplanner.core.impl.localsearch.decider.acceptor.AbstractAcceptor
logger
-
-
Constructor Summary
Constructors Constructor Description AbstractTabuAcceptor(String logIndentation)
-
Method Summary
-
Methods inherited from class org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListenerAdapter
stepStarted
-
Methods inherited from class org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter
solvingEnded, solvingStarted
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListener
stepStarted
-
Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener
solvingEnded, solvingStarted
-
-
-
-
Field Detail
-
logIndentation
protected final String logIndentation
-
tabuSizeStrategy
protected TabuSizeStrategy<Solution_> tabuSizeStrategy
-
fadingTabuSizeStrategy
protected TabuSizeStrategy<Solution_> fadingTabuSizeStrategy
-
aspirationEnabled
protected boolean aspirationEnabled
-
assertTabuHashCodeCorrectness
protected boolean assertTabuHashCodeCorrectness
-
workingTabuSize
protected int workingTabuSize
-
workingFadingTabuSize
protected int workingFadingTabuSize
-
-
Constructor Detail
-
AbstractTabuAcceptor
public AbstractTabuAcceptor(String logIndentation)
-
-
Method Detail
-
setTabuSizeStrategy
public void setTabuSizeStrategy(TabuSizeStrategy<Solution_> tabuSizeStrategy)
-
setFadingTabuSizeStrategy
public void setFadingTabuSizeStrategy(TabuSizeStrategy<Solution_> fadingTabuSizeStrategy)
-
setAspirationEnabled
public void setAspirationEnabled(boolean aspirationEnabled)
-
setAssertTabuHashCodeCorrectness
public void setAssertTabuHashCodeCorrectness(boolean assertTabuHashCodeCorrectness)
-
phaseStarted
public void phaseStarted(LocalSearchPhaseScope<Solution_> phaseScope)
- Specified by:
phaseStartedin interfaceLocalSearchPhaseLifecycleListener<Solution_>- Overrides:
phaseStartedin classLocalSearchPhaseLifecycleListenerAdapter<Solution_>
-
phaseEnded
public void phaseEnded(LocalSearchPhaseScope<Solution_> phaseScope)
- Specified by:
phaseEndedin interfaceLocalSearchPhaseLifecycleListener<Solution_>- Overrides:
phaseEndedin classLocalSearchPhaseLifecycleListenerAdapter<Solution_>
-
stepEnded
public void stepEnded(LocalSearchStepScope<Solution_> stepScope)
- Specified by:
stepEndedin interfaceLocalSearchPhaseLifecycleListener<Solution_>- Overrides:
stepEndedin classLocalSearchPhaseLifecycleListenerAdapter<Solution_>
-
adjustTabuList
protected void adjustTabuList(int tabuStepIndex, Collection<? extends Object> tabus)
-
isAccepted
public boolean isAccepted(LocalSearchMoveScope<Solution_> moveScope)
- Parameters:
moveScope- not null- Returns:
- true if accepted
-
calculateFadingTabuAcceptChance
protected double calculateFadingTabuAcceptChance(int fadingTabuStepCount)
- Parameters:
fadingTabuStepCount-0 < fadingTabuStepCount <= fadingTabuSize- Returns:
0.0 < acceptChance < 1.0
-
findTabu
protected abstract Collection<? extends Object> findTabu(LocalSearchMoveScope<Solution_> moveScope)
-
findNewTabu
protected abstract Collection<? extends Object> findNewTabu(LocalSearchStepScope<Solution_> stepScope)
-
-