public class UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination extends AbstractTermination
logger
Constructor and Description |
---|
UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination(long unimprovedTimeMillisSpentLimit,
Score unimprovedScoreDifferenceThreshold) |
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() |
stepStarted
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
stepStarted
public UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination(long unimprovedTimeMillisSpentLimit, Score unimprovedScoreDifferenceThreshold)
public long getUnimprovedTimeMillisSpentLimit()
public Score getUnimprovedScoreDifferenceThreshold()
public void solvingStarted(DefaultSolverScope solverScope)
solvingStarted
in interface SolverLifecycleListener
solvingStarted
in class SolverLifecycleListenerAdapter
public void solvingEnded(DefaultSolverScope solverScope)
solvingEnded
in interface SolverLifecycleListener
solvingEnded
in class SolverLifecycleListenerAdapter
public void phaseStarted(AbstractPhaseScope phaseScope)
phaseStarted
in interface PhaseLifecycleListener
phaseStarted
in class PhaseLifecycleListenerAdapter
public void phaseEnded(AbstractPhaseScope phaseScope)
phaseEnded
in interface PhaseLifecycleListener
phaseEnded
in class PhaseLifecycleListenerAdapter
public void stepEnded(AbstractStepScope stepScope)
stepEnded
in interface PhaseLifecycleListener
stepEnded
in class PhaseLifecycleListenerAdapter
public boolean isSolverTerminated(DefaultSolverScope solverScope)
Termination
Solver
after every phase to determine if the search should stop.solverScope
- never nullpublic boolean isPhaseTerminated(AbstractPhaseScope phaseScope)
Termination
Phase
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)
Termination
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.public double calculatePhaseTimeGradient(AbstractPhaseScope phaseScope)
Termination
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.protected double calculateTimeGradient(long safeTimeMillis)
public UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination createChildThreadTermination(DefaultSolverScope solverScope, ChildThreadType childThreadType)
Termination
createChildThreadTermination
in interface Termination
createChildThreadTermination
in class AbstractTermination
solverScope
- never nullchildThreadType
- never nullCopyright © 2006–2018 JBoss by Red Hat. All rights reserved.