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. 
 | 
Termination | 
createChildThreadTermination(DefaultSolverScope solverScope,
                            ChildThreadType childThreadType)
 | 
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)
Clients that use a timeGradient should cache it at the start of a single step because some implementations are not time-stable.
 If a timeGradient can not be calculated, it should return -1.0.
 Several implementations (such a 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 null0.0 <= t <= 1.0 or -1.0 when it is not supported.
         At the start of a solver t is 0.0 and at the end t would be 1.0.double calculatePhaseTimeGradient(AbstractPhaseScope phaseScope)
phaseScope - never null0.0 <= t <= 1.0 or -1.0 when it is not supported.
         At the start of a phase t is 0.0 and at the end t would be 1.0.Termination createChildThreadTermination(DefaultSolverScope solverScope, ChildThreadType childThreadType)
solverScope - never nullchildThreadType - never nullUnsupportedOperationException - if not supported by this terminationCopyright © 2006–2021 JBoss by Red Hat. All rights reserved.