org.optaplanner.core.impl.solver
public class BasicPlumbingTermination extends AbstractTermination
Modifier and Type | Field and Description |
---|---|
protected BlockingQueue<ProblemFactChange> |
problemFactChangeQueue |
protected AtomicBoolean |
terminatedEarly |
logger
Constructor and Description |
---|
BasicPlumbingTermination() |
Modifier and Type | Method and Description |
---|---|
boolean |
addProblemFactChange(ProblemFactChange problemFactChange) |
double |
calculatePhaseTimeGradient(AbstractSolverPhaseScope phaseScope)
|
double |
calculateSolverTimeGradient(DefaultSolverScope solverScope)
A timeGradient is a relative estimate of how long the search will continue.
|
BlockingQueue<ProblemFactChange> |
getProblemFactChangeQueue() |
boolean |
isPhaseTerminated(AbstractSolverPhaseScope phaseScope)
Called by the
SolverPhase 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. |
boolean |
isTerminateEarly() |
void |
resetTerminateEarly() |
boolean |
terminateEarly() |
phaseEnded, phaseStarted, stepEnded, stepStarted
solvingEnded, solvingStarted
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
phaseEnded, phaseStarted, stepEnded, stepStarted
solvingEnded, solvingStarted
protected AtomicBoolean terminatedEarly
protected BlockingQueue<ProblemFactChange> problemFactChangeQueue
public void resetTerminateEarly()
public boolean terminateEarly()
public boolean isTerminateEarly()
public boolean addProblemFactChange(ProblemFactChange problemFactChange)
public BlockingQueue<ProblemFactChange> getProblemFactChangeQueue()
public boolean isSolverTerminated(DefaultSolverScope solverScope)
Termination
Solver
after every phase to determine if the search should stop.solverScope
- never nullpublic boolean isPhaseTerminated(AbstractSolverPhaseScope phaseScope)
Termination
SolverPhase
after every step and every move to determine if the search should stop.phaseScope
- never nullpublic double calculateSolverTimeGradient(DefaultSolverScope solverScope)
Termination
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 nullpublic double calculatePhaseTimeGradient(AbstractSolverPhaseScope phaseScope)
Termination
phaseScope
- never nullCopyright © 2006-2013 JBoss by Red Hat. All Rights Reserved.