Package org.optaplanner.core.impl.phase
Class AbstractPhase<Solution_>
- java.lang.Object
 - 
- org.optaplanner.core.impl.phase.AbstractPhase<Solution_>
 
 
- 
- Type Parameters:
 Solution_- the solution type, the class with thePlanningSolutionannotation
- All Implemented Interfaces:
 EventListener,PhaseLifecycleListener<Solution_>,Phase<Solution_>,SolverLifecycleListener<Solution_>
- Direct Known Subclasses:
 DefaultConstructionHeuristicPhase,DefaultCustomPhase,DefaultExhaustiveSearchPhase,DefaultLocalSearchPhase,DefaultPartitionedSearchPhase,NoChangePhase
public abstract class AbstractPhase<Solution_> extends Object implements Phase<Solution_>
- See Also:
 DefaultLocalSearchPhase
 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected booleanassertExpectedStepScoreprotected booleanassertShadowVariablesAreNotStaleAfterStepprotected booleanassertStepScoreFromScratchprotected BestSolutionRecaller<Solution_>bestSolutionRecallerprotected org.slf4j.Loggerloggerprotected StringlogIndentationprotected intphaseIndexprotected PhaseLifecycleSupport<Solution_>phaseLifecycleSupportprotected PhaseLifecycleSupport<Solution_>solverPhaseLifecycleSupportprotected Termination<Solution_>termination 
- 
Constructor Summary
Constructors Constructor Description AbstractPhase(int phaseIndex, String logIndentation, BestSolutionRecaller<Solution_> bestSolutionRecaller, Termination<Solution_> termination) 
- 
Method Summary
 
 - 
 
- 
- 
Field Detail
- 
logger
protected final transient org.slf4j.Logger logger
 
- 
phaseIndex
protected final int phaseIndex
 
- 
logIndentation
protected final String logIndentation
 
- 
bestSolutionRecaller
protected final BestSolutionRecaller<Solution_> bestSolutionRecaller
 
- 
termination
protected final Termination<Solution_> termination
 
- 
solverPhaseLifecycleSupport
protected PhaseLifecycleSupport<Solution_> solverPhaseLifecycleSupport
 
- 
phaseLifecycleSupport
protected PhaseLifecycleSupport<Solution_> phaseLifecycleSupport
 
- 
assertStepScoreFromScratch
protected boolean assertStepScoreFromScratch
 
- 
assertExpectedStepScore
protected boolean assertExpectedStepScore
 
- 
assertShadowVariablesAreNotStaleAfterStep
protected boolean assertShadowVariablesAreNotStaleAfterStep
 
 - 
 
- 
Constructor Detail
- 
AbstractPhase
public AbstractPhase(int phaseIndex, String logIndentation, BestSolutionRecaller<Solution_> bestSolutionRecaller, Termination<Solution_> termination) 
 - 
 
- 
Method Detail
- 
getPhaseIndex
public int getPhaseIndex()
 
- 
getTermination
public Termination<Solution_> getTermination()
 
- 
setSolverPhaseLifecycleSupport
public void setSolverPhaseLifecycleSupport(PhaseLifecycleSupport<Solution_> solverPhaseLifecycleSupport)
Description copied from interface:PhaseUsed to makeAbstractSolver.addPhaseLifecycleListener(PhaseLifecycleListener)work.- Specified by:
 setSolverPhaseLifecycleSupportin interfacePhase<Solution_>- Parameters:
 solverPhaseLifecycleSupport- never null
 
- 
isAssertStepScoreFromScratch
public boolean isAssertStepScoreFromScratch()
 
- 
setAssertStepScoreFromScratch
public void setAssertStepScoreFromScratch(boolean assertStepScoreFromScratch)
 
- 
isAssertExpectedStepScore
public boolean isAssertExpectedStepScore()
 
- 
setAssertExpectedStepScore
public void setAssertExpectedStepScore(boolean assertExpectedStepScore)
 
- 
isAssertShadowVariablesAreNotStaleAfterStep
public boolean isAssertShadowVariablesAreNotStaleAfterStep()
 
- 
setAssertShadowVariablesAreNotStaleAfterStep
public void setAssertShadowVariablesAreNotStaleAfterStep(boolean assertShadowVariablesAreNotStaleAfterStep)
 
- 
getPhaseTypeString
public abstract String getPhaseTypeString()
 
- 
solvingStarted
public void solvingStarted(SolverScope<Solution_> solverScope)
- Specified by:
 solvingStartedin interfaceSolverLifecycleListener<Solution_>
 
- 
solvingEnded
public void solvingEnded(SolverScope<Solution_> solverScope)
- Specified by:
 solvingEndedin interfaceSolverLifecycleListener<Solution_>
 
- 
phaseStarted
public void phaseStarted(AbstractPhaseScope<Solution_> phaseScope)
- Specified by:
 phaseStartedin interfacePhaseLifecycleListener<Solution_>
 
- 
stepStarted
public void stepStarted(AbstractStepScope<Solution_> stepScope)
- Specified by:
 stepStartedin interfacePhaseLifecycleListener<Solution_>
 
- 
calculateWorkingStepScore
protected <Score_ extends Score<Score_>> void calculateWorkingStepScore(AbstractStepScope<Solution_> stepScope, Object completedAction)
 
- 
predictWorkingStepScore
protected <Score_ extends Score<Score_>> void predictWorkingStepScore(AbstractStepScope<Solution_> stepScope, Object completedAction)
 
- 
stepEnded
public void stepEnded(AbstractStepScope<Solution_> stepScope)
- Specified by:
 stepEndedin interfacePhaseLifecycleListener<Solution_>
 
- 
phaseEnded
public void phaseEnded(AbstractPhaseScope<Solution_> phaseScope)
- Specified by:
 phaseEndedin interfacePhaseLifecycleListener<Solution_>
 
- 
addPhaseLifecycleListener
public void addPhaseLifecycleListener(PhaseLifecycleListener<Solution_> phaseLifecycleListener)
Description copied from interface:PhaseAdd aPhaseLifecycleListenerthat is only notified of thephaseand thePhaseLifecycleListener.stepStarted(AbstractStepScope)step} starting/ending events from this phase (and theSolverLifecycleListener.solvingStarted(SolverScope)solving} events too of course).To get notified for all phases, use
AbstractSolver.addPhaseLifecycleListener(PhaseLifecycleListener)instead.- Specified by:
 addPhaseLifecycleListenerin interfacePhase<Solution_>- Parameters:
 phaseLifecycleListener- never null
 
- 
removePhaseLifecycleListener
public void removePhaseLifecycleListener(PhaseLifecycleListener<Solution_> phaseLifecycleListener)
- Specified by:
 removePhaseLifecycleListenerin interfacePhase<Solution_>- Parameters:
 phaseLifecycleListener- never null- See Also:
 Phase.addPhaseLifecycleListener(PhaseLifecycleListener)
 
- 
assertWorkingSolutionInitialized
protected void assertWorkingSolutionInitialized(AbstractPhaseScope<Solution_> phaseScope)
 
 - 
 
 -