## Uses of Class
org.optaplanner.core.impl.heuristic.move.AbstractMove

- Packages that use AbstractMove
  Package | Description
  --- | ---
  org.optaplanner.core.impl.heuristic.move |
  org.optaplanner.core.impl.heuristic.selector.move.generic |
  org.optaplanner.core.impl.heuristic.selector.move.generic.chained |
  org.optaplanner.core.impl.partitionedsearch.scope |

- - ### Uses of AbstractMove in org.optaplanner.core.impl.heuristic.move

    Subclasses of AbstractMove in org.optaplanner.core.impl.heuristic.move
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NoChangeMove<Solution_>` | Makes no changes.

    Methods in org.optaplanner.core.impl.heuristic.move that return AbstractMove
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract AbstractMove<Solution_>` | AbstractMove.`createUndoMove​(ScoreDirector<Solution_> scoreDirector)` | Called before the move is done, so the move can be evaluated and then be undone without resulting into a permanent change in the solution.
    `AbstractMove<Solution_>` | AbstractMove.`doMove​(ScoreDirector<Solution_> scoreDirector)` |

  - ### Uses of AbstractMove in org.optaplanner.core.impl.heuristic.selector.move.generic

    Subclasses of AbstractMove in org.optaplanner.core.impl.heuristic.selector.move.generic
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ChangeMove<Solution_>` |
    `class` | `PillarChangeMove<Solution_>` | This `Move` is not cacheable.
    `class` | `PillarSwapMove<Solution_>` | This `Move` is not cacheable.
    `class` | `SwapMove<Solution_>` |

  - ### Uses of AbstractMove in org.optaplanner.core.impl.heuristic.selector.move.generic.chained

    Subclasses of AbstractMove in org.optaplanner.core.impl.heuristic.selector.move.generic.chained
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ChainedChangeMove<Solution_>` |
    `class` | `ChainedSwapMove<Solution_>` |
    `class` | `KOptMove<Solution_>` |
    `class` | `SubChainChangeMove<Solution_>` |
    `class` | `SubChainReversingChangeMove<Solution_>` |
    `class` | `SubChainReversingSwapMove<Solution_>` | This `Move` is not cacheable.
    `class` | `SubChainSwapMove<Solution_>` | This `Move` is not cacheable.
    `class` | `TailChainSwapMove<Solution_>` | Also known as a 2-opt move.

  - ### Uses of AbstractMove in org.optaplanner.core.impl.partitionedsearch.scope

    Subclasses of AbstractMove in org.optaplanner.core.impl.partitionedsearch.scope
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `PartitionChangeMove<Solution_>` | Applies a new best solution from a partition child solver into the global working solution of the parent solver.