org.drools.planner.core.termination
Class PhaseToSolverTerminationBridge
java.lang.Object
org.drools.planner.core.solver.event.SolverLifecycleListenerAdapter
org.drools.planner.core.phase.event.SolverPhaseLifecycleListenerAdapter
org.drools.planner.core.termination.AbstractTermination
org.drools.planner.core.termination.PhaseToSolverTerminationBridge
- All Implemented Interfaces:
- EventListener, SolverPhaseLifecycleListener, SolverLifecycleListener, Termination
public class PhaseToSolverTerminationBridge
- extends AbstractTermination
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PhaseToSolverTerminationBridge
public PhaseToSolverTerminationBridge(Termination solverTermination)
solvingStarted
public void solvingStarted(DefaultSolverScope solverScope)
- Specified by:
solvingStarted
in interface SolverLifecycleListener
- Overrides:
solvingStarted
in class SolverLifecycleListenerAdapter
phaseStarted
public void phaseStarted(AbstractSolverPhaseScope phaseScope)
- Specified by:
phaseStarted
in interface SolverPhaseLifecycleListener
- Overrides:
phaseStarted
in class SolverPhaseLifecycleListenerAdapter
stepStarted
public void stepStarted(AbstractStepScope stepScope)
- Specified by:
stepStarted
in interface SolverPhaseLifecycleListener
- Overrides:
stepStarted
in class SolverPhaseLifecycleListenerAdapter
stepEnded
public void stepEnded(AbstractStepScope stepScope)
- Specified by:
stepEnded
in interface SolverPhaseLifecycleListener
- Overrides:
stepEnded
in class SolverPhaseLifecycleListenerAdapter
phaseEnded
public void phaseEnded(AbstractSolverPhaseScope phaseScope)
- Specified by:
phaseEnded
in interface SolverPhaseLifecycleListener
- Overrides:
phaseEnded
in class SolverPhaseLifecycleListenerAdapter
solvingEnded
public void solvingEnded(DefaultSolverScope solverScope)
- Specified by:
solvingEnded
in interface SolverLifecycleListener
- Overrides:
solvingEnded
in class SolverLifecycleListenerAdapter
isSolverTerminated
public boolean isSolverTerminated(DefaultSolverScope solverScope)
- Description copied from interface:
Termination
- Called by the
Solver
after every phase to determine if the search should stop.
- Parameters:
solverScope
- never null
- Returns:
- true if the search should terminate.
isPhaseTerminated
public boolean isPhaseTerminated(AbstractSolverPhaseScope phaseScope)
- Description copied from interface:
Termination
- Called by the
SolverPhase
after every step and every move to determine if the search should stop.
- Parameters:
phaseScope
- never null
- Returns:
- true if the search should terminate.
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(AbstractSolverPhaseScope 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.
Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.