public class BestScoreTermination extends AbstractTermination
logger| Constructor and Description | 
|---|
| BestScoreTermination(ScoreDefinition scoreDefinition,
                    Score bestScoreLimit,
                    double[] timeGradientWeightNumbers) | 
| 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(Score startScore,
                     Score endScore,
                     Score score) | 
| Termination | createChildThreadTermination(DefaultSolverScope solverScope,
                            ChildThreadType childThreadType) | 
| boolean | isPhaseTerminated(AbstractPhaseScope phaseScope)Called by the  Phaseafter every step and every move to determine if the search should stop. | 
| boolean | isSolverTerminated(DefaultSolverScope solverScope)Called by the  Solverafter every phase to determine if the search should stop. | 
| protected boolean | isTerminated(boolean bestSolutionInitialized,
            Score bestScore) | 
| String | toString() | 
phaseEnded, phaseStarted, stepEnded, stepStartedsolvingEnded, solvingStartedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitphaseEnded, phaseStarted, stepEnded, stepStartedsolvingEnded, solvingStartedpublic BestScoreTermination(ScoreDefinition scoreDefinition, Score bestScoreLimit, double[] timeGradientWeightNumbers)
public 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(boolean bestSolutionInitialized,
                               Score bestScore)
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(Score startScore, Score endScore, Score score)
public Termination createChildThreadTermination(DefaultSolverScope solverScope, ChildThreadType childThreadType)
TerminationcreateChildThreadTermination in interface TerminationcreateChildThreadTermination in class AbstractTerminationsolverScope - never nullchildThreadType - never nullCopyright © 2006–2019 JBoss by Red Hat. All rights reserved.