Class UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination<Solution_>
java.lang.Object
org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter<Solution_>
org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter<Solution_>
org.optaplanner.core.impl.solver.termination.AbstractTermination<Solution_>
org.optaplanner.core.impl.solver.termination.UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination<Solution_>
- All Implemented Interfaces:
- EventListener,- PhaseLifecycleListener<Solution_>,- SolverLifecycleListener<Solution_>,- Termination<Solution_>
public class UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination<Solution_>
extends AbstractTermination<Solution_>
- 
Field SummaryFields inherited from class org.optaplanner.core.impl.solver.termination.AbstractTerminationlogger
- 
Constructor SummaryConstructorsModifierConstructorDescriptionUnimprovedTimeMillisSpentScoreDifferenceThresholdTermination(long unimprovedTimeMillisSpentLimit, Score unimprovedScoreDifferenceThreshold) protectedUnimprovedTimeMillisSpentScoreDifferenceThresholdTermination(long unimprovedTimeMillisSpentLimit, Score unimprovedScoreDifferenceThreshold, Clock clock) 
- 
Method SummaryModifier and TypeMethodDescriptiondoublecalculatePhaseTimeGradient(AbstractPhaseScope<Solution_> phaseScope) doublecalculateSolverTimeGradient(SolverScope<Solution_> solverScope) A timeGradient is a relative estimate of how long the search will continue.protected doublecalculateTimeGradient(long safeTimeMillis) createChildThreadTermination(SolverScope<Solution_> solverScope, ChildThreadType childThreadType) longbooleanisPhaseTerminated(AbstractPhaseScope<Solution_> phaseScope) Called by thePhaseafter every step and every move to determine if the search should stop.booleanisSolverTerminated(SolverScope<Solution_> solverScope) Called by theSolverafter every phase to determine if the search should stop.protected booleanisTerminated(long safeTimeMillis) voidphaseEnded(AbstractPhaseScope<Solution_> phaseScope) voidphaseStarted(AbstractPhaseScope<Solution_> phaseScope) voidsolvingEnded(SolverScope<Solution_> solverScope) voidsolvingStarted(SolverScope<Solution_> solverScope) voidstepEnded(AbstractStepScope<Solution_> stepScope) toString()Methods inherited from class org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapterstepStartedMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerstepStartedMethods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListenersolvingError
- 
Constructor Details- 
UnimprovedTimeMillisSpentScoreDifferenceThresholdTerminationpublic UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination(long unimprovedTimeMillisSpentLimit, Score unimprovedScoreDifferenceThreshold) 
- 
UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination
 
- 
- 
Method Details- 
getUnimprovedTimeMillisSpentLimitpublic long getUnimprovedTimeMillisSpentLimit()
- 
getUnimprovedScoreDifferenceThreshold
- 
solvingStarted- Specified by:
- solvingStartedin interface- SolverLifecycleListener<Solution_>
- Overrides:
- solvingStartedin class- SolverLifecycleListenerAdapter<Solution_>
 
- 
solvingEnded- Specified by:
- solvingEndedin interface- SolverLifecycleListener<Solution_>
- Overrides:
- solvingEndedin class- SolverLifecycleListenerAdapter<Solution_>
 
- 
phaseStarted- Specified by:
- phaseStartedin interface- PhaseLifecycleListener<Solution_>
- Overrides:
- phaseStartedin class- PhaseLifecycleListenerAdapter<Solution_>
 
- 
phaseEnded- Specified by:
- phaseEndedin interface- PhaseLifecycleListener<Solution_>
- Overrides:
- phaseEndedin class- PhaseLifecycleListenerAdapter<Solution_>
 
- 
stepEnded- Specified by:
- stepEndedin interface- PhaseLifecycleListener<Solution_>
- Overrides:
- stepEndedin class- PhaseLifecycleListenerAdapter<Solution_>
 
- 
isSolverTerminatedDescription copied from interface:TerminationCalled by theSolverafter every phase to determine if the search should stop.- Parameters:
- solverScope- never null
- Returns:
- true if the search should terminate.
 
- 
isPhaseTerminatedDescription copied from interface:TerminationCalled by thePhaseafter every step and every move to determine if the search should stop.- Parameters:
- phaseScope- never null
- Returns:
- true if the search should terminate.
 
- 
isTerminatedprotected boolean isTerminated(long safeTimeMillis) 
- 
calculateSolverTimeGradientDescription copied from interface:TerminationA timeGradient is a relative estimate of how long the search will continue.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 cannot 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. - Parameters:
- solverScope- never null
- Returns:
- timeGradient t for which 0.0 <= t <= 1.0 or -1.0when it is not supported. At the start of a solver t is 0.0 and at the end t would be 1.0.
 
- 
calculatePhaseTimeGradientDescription copied from interface:Termination- Parameters:
- phaseScope- never null
- Returns:
- timeGradient t for which 0.0 <= t <= 1.0 or -1.0when it is not supported. At the start of a phase t is 0.0 and at the end t would be 1.0.
 
- 
calculateTimeGradientprotected double calculateTimeGradient(long safeTimeMillis) 
- 
createChildThreadTerminationpublic UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination<Solution_> createChildThreadTermination(SolverScope<Solution_> solverScope, ChildThreadType childThreadType) Description copied from interface:Termination- Specified by:
- createChildThreadTerminationin interface- Termination<Solution_>
- Overrides:
- createChildThreadTerminationin class- AbstractTermination<Solution_>
- Parameters:
- solverScope- never null
- childThreadType- never null
- Returns:
- not null
 
- 
toString
 
-