public class UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination extends AbstractTermination
logger| Modifier | Constructor and Description |
|---|---|
|
UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination(long unimprovedTimeMillisSpentLimit,
Score unimprovedScoreDifferenceThreshold) |
protected |
UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination(long unimprovedTimeMillisSpentLimit,
Score unimprovedScoreDifferenceThreshold,
Clock clock) |
| 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.
|
protected double |
calculateTimeGradient(long safeTimeMillis) |
UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination |
createChildThreadTermination(DefaultSolverScope solverScope,
ChildThreadType childThreadType)
|
Score |
getUnimprovedScoreDifferenceThreshold() |
long |
getUnimprovedTimeMillisSpentLimit() |
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. |
protected boolean |
isTerminated(long safeTimeMillis) |
void |
phaseEnded(AbstractPhaseScope phaseScope) |
void |
phaseStarted(AbstractPhaseScope phaseScope) |
void |
solvingEnded(DefaultSolverScope solverScope) |
void |
solvingStarted(DefaultSolverScope solverScope) |
void |
stepEnded(AbstractStepScope stepScope) |
String |
toString() |
stepStartedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitstepStartedpublic UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination(long unimprovedTimeMillisSpentLimit,
Score unimprovedScoreDifferenceThreshold)
public long getUnimprovedTimeMillisSpentLimit()
public Score getUnimprovedScoreDifferenceThreshold()
public void solvingStarted(DefaultSolverScope solverScope)
solvingStarted in interface SolverLifecycleListenersolvingStarted in class SolverLifecycleListenerAdapterpublic void solvingEnded(DefaultSolverScope solverScope)
solvingEnded in interface SolverLifecycleListenersolvingEnded in class SolverLifecycleListenerAdapterpublic void phaseStarted(AbstractPhaseScope phaseScope)
phaseStarted in interface PhaseLifecycleListenerphaseStarted in class PhaseLifecycleListenerAdapterpublic void phaseEnded(AbstractPhaseScope phaseScope)
phaseEnded in interface PhaseLifecycleListenerphaseEnded in class PhaseLifecycleListenerAdapterpublic void stepEnded(AbstractStepScope stepScope)
stepEnded in interface PhaseLifecycleListenerstepEnded in class PhaseLifecycleListenerAdapterpublic boolean isSolverTerminated(DefaultSolverScope solverScope)
TerminationSolver after every phase to determine if the search should stop.solverScope - never nullpublic boolean isPhaseTerminated(AbstractPhaseScope phaseScope)
TerminationPhase after every step and every move to determine if the search should stop.phaseScope - never nullprotected boolean isTerminated(long safeTimeMillis)
public double calculateSolverTimeGradient(DefaultSolverScope solverScope)
TerminationClients 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.public double calculatePhaseTimeGradient(AbstractPhaseScope phaseScope)
TerminationphaseScope - 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.protected double calculateTimeGradient(long safeTimeMillis)
public UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination createChildThreadTermination(DefaultSolverScope solverScope, ChildThreadType childThreadType)
TerminationcreateChildThreadTermination in interface TerminationcreateChildThreadTermination in class AbstractTerminationsolverScope - never nullchildThreadType - never nullCopyright © 2006–2020 JBoss by Red Hat. All rights reserved.