Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.drools.planner.core.termination
Interface Termination

All Superinterfaces:
  EventListener, SolverLifecycleListener, SolverPhaseLifecycleListener

All Known Implementing Classes:
  AbstractCompositeTermination, AbstractTermination, AndCompositeTermination, BasicPlumbingTermination, OrCompositeTermination, PhaseToSolverTerminationBridge, ScoreAttainedTermination, StepCountTermination, TimeMillisSpendTermination, UnimprovedStepCountTermination

    public interface Termination

extends SolverLifecycleListener, SolverPhaseLifecycleListener

A Termination determines when a `Solver` or a `SolverPhase` should stop.

Method Summary
`double` | `calculatePhaseTimeGradient(AbstractSolverPhaseScope solverPhaseScope)` See `calculateSolverTimeGradient(DefaultSolverScope)`.
`double` | `calculateSolverTimeGradient(DefaultSolverScope solverScope)` A timeGradient is a relative estimate of how long the search will continue.
`boolean` | `isPhaseTerminated(AbstractSolverPhaseScope solverPhaseScope)` Called by the `SolverPhase` after every step 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.

Methods inherited from interface org.drools.planner.core.solver.event.SolverLifecycleListener
`solvingEnded, solvingStarted`

Methods inherited from interface org.drools.planner.core.phase.event.SolverPhaseLifecycleListener
`beforeDeciding, phaseEnded, phaseStarted, stepDecided, stepTaken`

Method Detail

### isSolverTerminated

    boolean isSolverTerminated(DefaultSolverScope solverScope)

  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

    boolean isPhaseTerminated(AbstractSolverPhaseScope solverPhaseScope)

  Called by the `SolverPhase` after every step to determine if the search should stop.

  Parameters:
    `solverPhaseScope` - never null
  Returns:
    true if the search should terminate.

### calculateSolverTimeGradient

    double calculateSolverTimeGradient(DefaultSolverScope solverScope)

  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

    double calculatePhaseTimeGradient(AbstractSolverPhaseScope solverPhaseScope)

  See `calculateSolverTimeGradient(DefaultSolverScope)`.

  Parameters:
    `solverPhaseScope` - 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.