org.optaplanner.core.impl.solver.recaller

## Class BestSolutionRecaller<Solution_>

- java.lang.Object
- - org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter<Solution_>
  - - org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter<Solution_>
    - - org.optaplanner.core.impl.solver.recaller.BestSolutionRecaller<Solution_>

- Type Parameters:
    `Solution_` - the solution type, the class with the `PlanningSolution` annotation
  All Implemented Interfaces:
    EventListener, PhaseLifecycleListener<Solution_>, SolverLifecycleListener<Solution_>

      public class BestSolutionRecaller<Solution_>
      extends PhaseLifecycleListenerAdapter<Solution_>

  Remembers the `best solution` that a `Solver` encounters.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `assertBestScoreIsUnmodified`
    `protected boolean` | `assertInitialScoreFromScratch`
    `protected boolean` | `assertShadowVariablesAreNotStale`
    `protected org.slf4j.Logger` | `logger`
    `protected SolverEventSupport<Solution_>` | `solverEventSupport`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BestSolutionRecaller()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `processWorkingSolutionDuringMove(Score score, AbstractStepScope<Solution_> stepScope)`
    `void` | `processWorkingSolutionDuringStep(AbstractStepScope<Solution_> stepScope)`
    `void` | `setAssertBestScoreIsUnmodified(boolean assertBestScoreIsUnmodified)`
    `void` | `setAssertInitialScoreFromScratch(boolean assertInitialScoreFromScratch)`
    `void` | `setAssertShadowVariablesAreNotStale(boolean assertShadowVariablesAreNotStale)`
    `void` | `setSolverEventSupport(SolverEventSupport<Solution_> solverEventSupport)`
    `void` | `solvingStarted(DefaultSolverScope<Solution_> solverScope)`
    `void` | `updateBestSolution(DefaultSolverScope<Solution_> solverScope)`
    `protected void` | `updateBestSolution(DefaultSolverScope<Solution_> solverScope, Score bestScore, Solution_ bestSolution)`

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

    - ### 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.solver.event.SolverLifecycleListener

      `solvingEnded`

- - ### Field Detail

    - #### logger

          protected final transient org.slf4j.Logger logger

    - #### assertInitialScoreFromScratch

          protected boolean assertInitialScoreFromScratch

    - #### assertShadowVariablesAreNotStale

          protected boolean assertShadowVariablesAreNotStale

    - #### assertBestScoreIsUnmodified

          protected boolean assertBestScoreIsUnmodified

    - #### solverEventSupport

          protected SolverEventSupport<Solution_> solverEventSupport

  - ### Constructor Detail

    - #### BestSolutionRecaller

          public BestSolutionRecaller()

  - ### Method Detail

    - #### setAssertInitialScoreFromScratch

          public void setAssertInitialScoreFromScratch(boolean assertInitialScoreFromScratch)

    - #### setAssertShadowVariablesAreNotStale

          public void setAssertShadowVariablesAreNotStale(boolean assertShadowVariablesAreNotStale)

    - #### setAssertBestScoreIsUnmodified

          public void setAssertBestScoreIsUnmodified(boolean assertBestScoreIsUnmodified)

    - #### setSolverEventSupport

          public void setSolverEventSupport(SolverEventSupport<Solution_> solverEventSupport)

    - #### solvingStarted

          public void solvingStarted(DefaultSolverScope<Solution_> solverScope)

      Specified by:
        `solvingStarted` in interface `SolverLifecycleListener<Solution_>`
      Overrides:
        `solvingStarted` in class `SolverLifecycleListenerAdapter<Solution_>`

    - #### processWorkingSolutionDuringStep

          public void processWorkingSolutionDuringStep(AbstractStepScope<Solution_> stepScope)

    - #### processWorkingSolutionDuringMove

          public void processWorkingSolutionDuringMove(Score score,
                                                       AbstractStepScope<Solution_> stepScope)

    - #### updateBestSolution

          public void updateBestSolution(DefaultSolverScope<Solution_> solverScope)

    - #### updateBestSolution

          protected void updateBestSolution(DefaultSolverScope<Solution_> solverScope,
                                            Score bestScore,
                                            Solution_ bestSolution)

Copyright © 2006–2019 JBoss by Red Hat. All rights reserved.