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

## org.optaplanner.core.impl.solver
Class BasicPlumbingTermination

    java.lang.Object
      org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter
          org.optaplanner.core.impl.phase.event.SolverPhaseLifecycleListenerAdapter
              org.optaplanner.core.impl.termination.AbstractTermination
                  org.optaplanner.core.impl.solver.BasicPlumbingTermination

All Implemented Interfaces:
  EventListener, SolverPhaseLifecycleListener, SolverLifecycleListener, Termination

    public class BasicPlumbingTermination

extends AbstractTermination

Field Summary
`protected BlockingQueue<ProblemFactChange>` | `problemFactChangeQueue`
`protected AtomicBoolean` | `terminatedEarly`

Fields inherited from class org.optaplanner.core.impl.termination.AbstractTermination
`logger`

Constructor Summary
`BasicPlumbingTermination()`

Method Summary
`boolean` | `addProblemFactChange(ProblemFactChange problemFactChange)`
`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.
`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()`

Methods inherited from class org.optaplanner.core.impl.phase.event.SolverPhaseLifecycleListenerAdapter
`phaseEnded, phaseStarted, stepEnded, stepStarted`

Methods inherited from class org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter
`solvingEnded, solvingStarted`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.optaplanner.core.impl.phase.event.SolverPhaseLifecycleListener
`phaseEnded, phaseStarted, stepEnded, stepStarted`

Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener
`solvingEnded, solvingStarted`

Field Detail

### terminatedEarly

    protected AtomicBoolean terminatedEarly

### problemFactChangeQueue

    protected BlockingQueue<ProblemFactChange> problemFactChangeQueue

Constructor Detail

### BasicPlumbingTermination

    public BasicPlumbingTermination()

Method Detail

### resetTerminateEarly

    public void resetTerminateEarly()

### terminateEarly

    public boolean terminateEarly()

### isTerminateEarly

    public boolean isTerminateEarly()

### addProblemFactChange

    public boolean addProblemFactChange(ProblemFactChange problemFactChange)

### getProblemFactChangeQueue

    public BlockingQueue<ProblemFactChange> getProblemFactChangeQueue()

### 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.

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

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