OptaPlanner core 6.0.0.CR2

org.optaplanner.core.impl.termination
Class PhaseToSolverTerminationBridge

java.lang.Object
  extended by org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter
      extended by org.optaplanner.core.impl.phase.event.SolverPhaseLifecycleListenerAdapter
          extended by org.optaplanner.core.impl.termination.AbstractTermination
              extended by org.optaplanner.core.impl.termination.PhaseToSolverTerminationBridge
All Implemented Interfaces:
EventListener, SolverPhaseLifecycleListener, SolverLifecycleListener, Termination

public class PhaseToSolverTerminationBridge
extends AbstractTermination


Field Summary
 
Fields inherited from class org.optaplanner.core.impl.termination.AbstractTermination
logger
 
Constructor Summary
PhaseToSolverTerminationBridge(Termination solverTermination)
           
 
Method Summary
 double calculatePhaseTimeGradient(AbstractSolverPhaseScope phaseScope)
          See Termination.calculateSolverTimeGradient(DefaultSolverScope).
 double calculateSolverTimeGradient(DefaultSolverScope solverScope)
          A timeGradient is a relative estimate of how long the search will continue.
 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.
 void phaseEnded(AbstractSolverPhaseScope phaseScope)
           
 void phaseStarted(AbstractSolverPhaseScope phaseScope)
           
 void solvingEnded(DefaultSolverScope solverScope)
           
 void solvingStarted(DefaultSolverScope solverScope)
           
 void stepEnded(AbstractStepScope stepScope)
           
 void stepStarted(AbstractStepScope stepScope)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PhaseToSolverTerminationBridge

public PhaseToSolverTerminationBridge(Termination solverTermination)
Method Detail

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.

OptaPlanner core 6.0.0.CR2

Copyright © 2006-2013 JBoss by Red Hat. All Rights Reserved.