public interface Termination extends PhaseLifecycleListener
Solver or a Phase should stop.
An implementation must extend AbstractTermination to ensure backwards compatibility in future versions.AbstractTermination| Modifier and Type | Method and Description |
|---|---|
double |
calculatePhaseTimeGradient(AbstractPhaseScope phaseScope)
|
double |
calculateSolverTimeGradient(DefaultSolverScope solverScope)
A timeGradient is a relative estimate of how long the search will continue.
|
boolean |
isPhaseTerminated(AbstractPhaseScope phaseScope)
Called by the
Phase after every step and every move to determine if the search should stop. |
boolean |
isSolverTerminated(DefaultSolverScope solverScope)
Called by the
Solver after every phase to determine if the search should stop. |
phaseEnded, phaseStarted, stepEnded, stepStartedsolvingEnded, solvingStartedboolean isSolverTerminated(DefaultSolverScope solverScope)
Solver after every phase to determine if the search should stop.solverScope - never nullboolean isPhaseTerminated(AbstractPhaseScope phaseScope)
Phase after every step and every move to determine if the search should stop.phaseScope - never nulldouble calculateSolverTimeGradient(DefaultSolverScope solverScope)
SimulatedAnnealingAcceptor) require a correctly implemented timeGradient.
A Termination's timeGradient can be requested after they are terminated, so implementations
should be careful not to return a timeGradient above 1.0.solverScope - never nulldouble calculatePhaseTimeGradient(AbstractPhaseScope phaseScope)
phaseScope - never nullCopyright © 2006–2015 JBoss by Red Hat. All rights reserved.