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

## org.optaplanner.core.impl.solver.termination
Class BestScoreFeasibleTermination

    java.lang.Object
      org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter
          org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter
              org.optaplanner.core.impl.solver.termination.AbstractTermination
                  org.optaplanner.core.impl.solver.termination.BestScoreFeasibleTermination

All Implemented Interfaces:
  EventListener, PhaseLifecycleListener, SolverLifecycleListener, Termination

    public class BestScoreFeasibleTermination

extends AbstractTermination

Field Summary

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

Constructor Summary
`BestScoreFeasibleTermination(FeasibilityScoreDefinition scoreDefinition, double[] timeGradientWeightFeasibleNumbers)`

Method Summary
`protected double` | `calculateFeasibilityTimeGradient(FeasibilityScore startScore, FeasibilityScore score)`
`double` | `calculatePhaseTimeGradient(AbstractPhaseScope phaseScope)` See `Termination.calculateSolverTimeGradient(DefaultSolverScope)`.
`double` | `calculateSolverTimeGradient(DefaultSolverScope solverScope)` A timeGradient is a relative estimate of how long the search will continue.
`boolean` | `isPhaseTerminated(AbstractPhaseScope phaseScope)` Called by the `Phase` 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.
`protected boolean` | `isTerminated(boolean bestSolutionInitialized, Score bestScore)`

Methods inherited from class org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter
`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.PhaseLifecycleListener
`phaseEnded, phaseStarted, stepEnded, stepStarted`

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

Constructor Detail

### BestScoreFeasibleTermination

    public BestScoreFeasibleTermination(FeasibilityScoreDefinition scoreDefinition,
                                        double[] timeGradientWeightFeasibleNumbers)

Method Detail

### 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(AbstractPhaseScope phaseScope)

  Description copied from interface: `Termination`
  Called by the `Phase` after every step and every move to determine if the search should stop.

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

### isTerminated

    protected boolean isTerminated(boolean bestSolutionInitialized,
                                   Score bestScore)

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

### calculateFeasibilityTimeGradient

    protected double calculateFeasibilityTimeGradient(FeasibilityScore startScore,
                                                      FeasibilityScore score)

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

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