Package org.optaplanner.core.impl.localsearch.decider

## Class LocalSearchDecider<Solution_>

- java.lang.Object
- - org.optaplanner.core.impl.localsearch.decider.LocalSearchDecider<Solution_>

- Type Parameters:
    `Solution_` - the solution type, the class with the `PlanningSolution` annotation
  Direct Known Subclasses:
    `MultiThreadedLocalSearchDecider`

      public class LocalSearchDecider<Solution_>
      extends Object

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Acceptor` | `acceptor` |
    `protected boolean` | `assertExpectedUndoMoveScore` |
    `protected boolean` | `assertMoveScoreFromScratch` |
    `protected LocalSearchForager` | `forager` |
    `protected org.slf4j.Logger` | `logger` |
    `protected String` | `logIndentation` |
    `protected MoveSelector` | `moveSelector` |
    `protected Termination` | `termination` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LocalSearchDecider​(String logIndentation, Termination termination, MoveSelector moveSelector, Acceptor acceptor, LocalSearchForager forager)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `decideNextStep​(LocalSearchStepScope<Solution_> stepScope)` |
    `protected void` | `doMove​(LocalSearchMoveScope<Solution_> moveScope)` |
    `Acceptor` | `getAcceptor()` |
    `LocalSearchForager` | `getForager()` |
    `MoveSelector` | `getMoveSelector()` |
    `Termination` | `getTermination()` |
    `void` | `phaseEnded​(LocalSearchPhaseScope<Solution_> phaseScope)` |
    `void` | `phaseStarted​(LocalSearchPhaseScope<Solution_> phaseScope)` |
    `protected void` | `pickMove​(LocalSearchStepScope<Solution_> stepScope)` |
    `void` | `setAssertExpectedUndoMoveScore​(boolean assertExpectedUndoMoveScore)` |
    `void` | `setAssertMoveScoreFromScratch​(boolean assertMoveScoreFromScratch)` |
    `void` | `solvingEnded​(DefaultSolverScope<Solution_> solverScope)` |
    `void` | `solvingStarted​(DefaultSolverScope<Solution_> solverScope)` |
    `void` | `stepEnded​(LocalSearchStepScope<Solution_> stepScope)` |
    `void` | `stepStarted​(LocalSearchStepScope<Solution_> stepScope)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### logger

          protected final transient org.slf4j.Logger logger

    - #### logIndentation

          protected final String logIndentation

    - #### termination

          protected final Termination termination

    - #### moveSelector

          protected final MoveSelector moveSelector

    - #### acceptor

          protected final Acceptor acceptor

    - #### forager

          protected final LocalSearchForager forager

    - #### assertMoveScoreFromScratch

          protected boolean assertMoveScoreFromScratch

    - #### assertExpectedUndoMoveScore

          protected boolean assertExpectedUndoMoveScore

  - ### Constructor Detail

    - #### LocalSearchDecider

          public LocalSearchDecider​(String logIndentation,
                                    Termination termination,
                                    MoveSelector moveSelector,
                                    Acceptor acceptor,
                                    LocalSearchForager forager)

  - ### Method Detail

    - #### getTermination

          public Termination getTermination()

    - #### getMoveSelector

          public MoveSelector getMoveSelector()

    - #### getAcceptor

          public Acceptor getAcceptor()

    - #### getForager

          public LocalSearchForager getForager()

    - #### setAssertMoveScoreFromScratch

          public void setAssertMoveScoreFromScratch​(boolean assertMoveScoreFromScratch)

    - #### setAssertExpectedUndoMoveScore

          public void setAssertExpectedUndoMoveScore​(boolean assertExpectedUndoMoveScore)

    - #### solvingStarted

          public void solvingStarted​(DefaultSolverScope<Solution_> solverScope)

    - #### phaseStarted

          public void phaseStarted​(LocalSearchPhaseScope<Solution_> phaseScope)

    - #### stepStarted

          public void stepStarted​(LocalSearchStepScope<Solution_> stepScope)

    - #### decideNextStep

          public void decideNextStep​(LocalSearchStepScope<Solution_> stepScope)

    - #### doMove

          protected void doMove​(LocalSearchMoveScope<Solution_> moveScope)

    - #### pickMove

          protected void pickMove​(LocalSearchStepScope<Solution_> stepScope)

    - #### stepEnded

          public void stepEnded​(LocalSearchStepScope<Solution_> stepScope)

    - #### phaseEnded

          public void phaseEnded​(LocalSearchPhaseScope<Solution_> phaseScope)

    - #### solvingEnded

          public void solvingEnded​(DefaultSolverScope<Solution_> solverScope)