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 thePlanningSolution
annotation
- 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 boolean
assertExpectedStepScore
protected boolean
assertShadowVariablesAreNotStaleAfterStep
protected boolean
assertStepScoreFromScratch
protected BestSolutionRecaller<Solution_>
bestSolutionRecaller
protected org.slf4j.Logger
logger
protected String
logIndentation
protected int
phaseIndex
protected PhaseLifecycleSupport<Solution_>
phaseLifecycleSupport
protected PhaseLifecycleSupport<Solution_>
solverPhaseLifecycleSupport
protected Termination
termination
-
Constructor Summary
Constructors Constructor Description AbstractPhase(int phaseIndex, String logIndentation, BestSolutionRecaller<Solution_> bestSolutionRecaller, Termination 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 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 termination)
-
-
Method Detail
-
getPhaseIndex
public int getPhaseIndex()
-
getTermination
public Termination getTermination()
-
setSolverPhaseLifecycleSupport
public void setSolverPhaseLifecycleSupport(PhaseLifecycleSupport<Solution_> solverPhaseLifecycleSupport)
Description copied from interface:Phase
Used to makeAbstractSolver.addPhaseLifecycleListener(PhaseLifecycleListener)
work.- Specified by:
setSolverPhaseLifecycleSupport
in 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(DefaultSolverScope<Solution_> solverScope)
- Specified by:
solvingStarted
in interfaceSolverLifecycleListener<Solution_>
-
solvingEnded
public void solvingEnded(DefaultSolverScope<Solution_> solverScope)
- Specified by:
solvingEnded
in interfaceSolverLifecycleListener<Solution_>
-
phaseStarted
public void phaseStarted(AbstractPhaseScope<Solution_> phaseScope)
- Specified by:
phaseStarted
in interfacePhaseLifecycleListener<Solution_>
-
stepStarted
public void stepStarted(AbstractStepScope<Solution_> stepScope)
- Specified by:
stepStarted
in interfacePhaseLifecycleListener<Solution_>
-
calculateWorkingStepScore
protected void calculateWorkingStepScore(AbstractStepScope<Solution_> stepScope, Object completedAction)
-
predictWorkingStepScore
protected void predictWorkingStepScore(AbstractStepScope<Solution_> stepScope, Object completedAction)
-
stepEnded
public void stepEnded(AbstractStepScope<Solution_> stepScope)
- Specified by:
stepEnded
in interfacePhaseLifecycleListener<Solution_>
-
phaseEnded
public void phaseEnded(AbstractPhaseScope<Solution_> phaseScope)
- Specified by:
phaseEnded
in interfacePhaseLifecycleListener<Solution_>
-
addPhaseLifecycleListener
public void addPhaseLifecycleListener(PhaseLifecycleListener<Solution_> phaseLifecycleListener)
Description copied from interface:Phase
Add aPhaseLifecycleListener
that is only notified of thephase
and thePhaseLifecycleListener.stepStarted(AbstractStepScope)
step} starting/ending events from this phase (and theSolverLifecycleListener.solvingStarted(DefaultSolverScope)
solving} events too of course).To get notified for all phases, use
AbstractSolver.addPhaseLifecycleListener(PhaseLifecycleListener)
instead.- Specified by:
addPhaseLifecycleListener
in interfacePhase<Solution_>
- Parameters:
phaseLifecycleListener
- never null
-
removePhaseLifecycleListener
public void removePhaseLifecycleListener(PhaseLifecycleListener<Solution_> phaseLifecycleListener)
- Specified by:
removePhaseLifecycleListener
in interfacePhase<Solution_>
- Parameters:
phaseLifecycleListener
- never null- See Also:
Phase.addPhaseLifecycleListener(PhaseLifecycleListener)
-
assertWorkingSolutionInitialized
protected void assertWorkingSolutionInitialized(AbstractPhaseScope<Solution_> phaseScope)
-
-