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
Abstract superclass for all Tabu Acceptors.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
protected boolean
protected TabuSizeStrategy<Solution_>
protected final String
protected TabuSizeStrategy<Solution_>
protected int
protected int
Fields inherited from class org.optaplanner.core.impl.localsearch.decider.acceptor.AbstractAcceptor
logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
adjustTabuList
(int tabuStepIndex, Collection<? extends Object> tabus) protected double
calculateFadingTabuAcceptChance
(int fadingTabuStepCount) protected abstract Collection<? extends Object>
findNewTabu
(LocalSearchStepScope<Solution_> stepScope) protected abstract Collection<? extends Object>
findTabu
(LocalSearchMoveScope<Solution_> moveScope) boolean
isAccepted
(LocalSearchMoveScope<Solution_> moveScope) void
phaseEnded
(LocalSearchPhaseScope<Solution_> phaseScope) void
phaseStarted
(LocalSearchPhaseScope<Solution_> phaseScope) void
setAspirationEnabled
(boolean aspirationEnabled) void
setAssertTabuHashCodeCorrectness
(boolean assertTabuHashCodeCorrectness) void
setFadingTabuSizeStrategy
(TabuSizeStrategy<Solution_> fadingTabuSizeStrategy) void
setTabuSizeStrategy
(TabuSizeStrategy<Solution_> tabuSizeStrategy) void
stepEnded
(LocalSearchStepScope<Solution_> stepScope) 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, solvingError, solvingStarted
-
Field Details
-
logIndentation
-
tabuSizeStrategy
-
fadingTabuSizeStrategy
-
aspirationEnabled
protected boolean aspirationEnabled -
assertTabuHashCodeCorrectness
protected boolean assertTabuHashCodeCorrectness -
tabuToStepIndexMap
-
tabuSequenceDeque
-
workingTabuSize
protected int workingTabuSize -
workingFadingTabuSize
protected int workingFadingTabuSize
-
-
Constructor Details
-
AbstractTabuAcceptor
-
-
Method Details
-
setTabuSizeStrategy
-
setFadingTabuSizeStrategy
-
setAspirationEnabled
public void setAspirationEnabled(boolean aspirationEnabled) -
setAssertTabuHashCodeCorrectness
public void setAssertTabuHashCodeCorrectness(boolean assertTabuHashCodeCorrectness) -
phaseStarted
- Specified by:
phaseStarted
in interfaceLocalSearchPhaseLifecycleListener<Solution_>
- Overrides:
phaseStarted
in classLocalSearchPhaseLifecycleListenerAdapter<Solution_>
-
phaseEnded
- Specified by:
phaseEnded
in interfaceLocalSearchPhaseLifecycleListener<Solution_>
- Overrides:
phaseEnded
in classLocalSearchPhaseLifecycleListenerAdapter<Solution_>
-
stepEnded
- Specified by:
stepEnded
in interfaceLocalSearchPhaseLifecycleListener<Solution_>
- Overrides:
stepEnded
in classLocalSearchPhaseLifecycleListenerAdapter<Solution_>
-
adjustTabuList
-
isAccepted
- 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
-
findNewTabu
protected abstract Collection<? extends Object> findNewTabu(LocalSearchStepScope<Solution_> stepScope)
-