Class BestScoreTermination
- java.lang.Object
- 
- org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter<Solution_>
- 
- org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter
- 
- org.optaplanner.core.impl.solver.termination.AbstractTermination
- 
- org.optaplanner.core.impl.solver.termination.BestScoreTermination
 
 
 
 
- 
- All Implemented Interfaces:
- EventListener,- PhaseLifecycleListener,- SolverLifecycleListener,- Termination
 
 public class BestScoreTermination extends AbstractTermination 
- 
- 
Field Summary- 
Fields inherited from class org.optaplanner.core.impl.solver.termination.AbstractTerminationlogger
 
- 
 - 
Constructor SummaryConstructors Constructor Description BestScoreTermination(ScoreDefinition scoreDefinition, Score bestScoreLimit, double[] timeGradientWeightNumbers)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description doublecalculatePhaseTimeGradient(AbstractPhaseScope phaseScope)doublecalculateSolverTimeGradient(DefaultSolverScope solverScope)A timeGradient is a relative estimate of how long the search will continue.protected doublecalculateTimeGradient(Score startScore, Score endScore, Score score)TerminationcreateChildThreadTermination(DefaultSolverScope solverScope, ChildThreadType childThreadType)booleanisPhaseTerminated(AbstractPhaseScope phaseScope)Called by thePhaseafter every step and every move to determine if the search should stop.booleanisSolverTerminated(DefaultSolverScope solverScope)Called by theSolverafter every phase to determine if the search should stop.protected booleanisTerminated(boolean bestSolutionInitialized, Score bestScore)StringtoString()- 
Methods inherited from class org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapterphaseEnded, phaseStarted, stepEnded, stepStarted
 - 
Methods inherited from class org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdaptersolvingEnded, solvingStarted
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerphaseEnded, phaseStarted, stepEnded, stepStarted
 - 
Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListenersolvingEnded, solvingStarted
 
- 
 
- 
- 
- 
Constructor Detail- 
BestScoreTerminationpublic BestScoreTermination(ScoreDefinition scoreDefinition, Score bestScoreLimit, double[] timeGradientWeightNumbers) 
 
- 
 - 
Method Detail- 
isSolverTerminatedpublic boolean isSolverTerminated(DefaultSolverScope solverScope) Description 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.
 
 - 
isPhaseTerminatedpublic boolean isPhaseTerminated(AbstractPhaseScope phaseScope) Description 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(boolean bestSolutionInitialized, Score bestScore)
 - 
calculateSolverTimeGradientpublic double calculateSolverTimeGradient(DefaultSolverScope solverScope) Description 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 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. - 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.
 
 - 
calculatePhaseTimeGradientpublic double calculatePhaseTimeGradient(AbstractPhaseScope phaseScope) Description 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(Score startScore, Score endScore, Score score) 
 - 
createChildThreadTerminationpublic Termination createChildThreadTermination(DefaultSolverScope solverScope, ChildThreadType childThreadType) Description copied from interface:Termination- Specified by:
- createChildThreadTerminationin interface- Termination
- Overrides:
- createChildThreadTerminationin class- AbstractTermination
- Parameters:
- solverScope- never null
- childThreadType- never null
- Returns:
- not null
 
 
- 
 
-