org.optaplanner.core.impl.solver.termination
Class BestScoreTermination
java.lang.Object
   org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter
org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter
       org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter
org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter
           org.optaplanner.core.impl.solver.termination.AbstractTermination
org.optaplanner.core.impl.solver.termination.AbstractTermination
               org.optaplanner.core.impl.solver.termination.BestScoreTermination
org.optaplanner.core.impl.solver.termination.BestScoreTermination
- All Implemented Interfaces: 
- EventListener, PhaseLifecycleListener, SolverLifecycleListener, Termination
- public class BestScoreTermination 
- extends AbstractTermination
 
 
 
 
 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
 
 
BestScoreTermination
public BestScoreTermination(ScoreDefinition scoreDefinition,
                            Score bestScoreLimit,
                            double[] timeGradientWeightNumbers)
isSolverTerminated
public boolean isSolverTerminated(DefaultSolverScope solverScope)
- Description copied from interface: Termination
- Called by the Solverafter every phase to determine if the search should stop.
 
- 
- Parameters:
- solverScope- never null
- Returns:
- true if the search should terminate.
 
isPhaseTerminated
public boolean isPhaseTerminated(AbstractPhaseScope phaseScope)
- Description copied from interface: Termination
- Called by the Phaseafter every step and every move to determine if the search should stop.
 
- 
- Parameters:
- phaseScope- never null
- Returns:
- true if the search should terminate.
 
isTerminated
protected boolean isTerminated(boolean bestSolutionInitialized,
                               Score bestScore)
- 
 
calculateSolverTimeGradient
public double calculateSolverTimeGradient(DefaultSolverScope solverScope)
- Description copied from interface: Termination
- A 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.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.
 
calculatePhaseTimeGradient
public double calculatePhaseTimeGradient(AbstractPhaseScope phaseScope)
- Description copied from interface: Termination
- See Termination.calculateSolverTimeGradient(DefaultSolverScope).
 
- 
- Parameters:
- phaseScope- never null
- Returns:
- timeGradient t for which 0.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.
 
calculateTimeGradient
protected double calculateTimeGradient(Score startScore,
                                       Score endScore,
                                       Score score)
- 
 
Copyright © 2006-2014 JBoss by Red Hat. All Rights Reserved.