## Uses of Interface
org.optaplanner.core.impl.heuristic.selector.move.MoveSelector

- Packages that use MoveSelector
  Package | Description
  --- | ---
  org.optaplanner.core.impl.constructionheuristic.placer |
  org.optaplanner.core.impl.exhaustivesearch.decider |
  org.optaplanner.core.impl.heuristic.selector.move |
  org.optaplanner.core.impl.heuristic.selector.move.composite |
  org.optaplanner.core.impl.heuristic.selector.move.decorator |
  org.optaplanner.core.impl.heuristic.selector.move.factory |
  org.optaplanner.core.impl.heuristic.selector.move.generic |
  org.optaplanner.core.impl.heuristic.selector.move.generic.chained |
  org.optaplanner.core.impl.localsearch |
  org.optaplanner.core.impl.localsearch.decider |

- - ### Uses of MoveSelector in org.optaplanner.core.impl.constructionheuristic.placer

    Fields in org.optaplanner.core.impl.constructionheuristic.placer declared as MoveSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | PooledEntityPlacer.`moveSelector` |
    `protected MoveSelector<Solution_>` | QueuedValuePlacer.`moveSelector` |

    Fields in org.optaplanner.core.impl.constructionheuristic.placer with type parameters of type MoveSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected List<MoveSelector<Solution_>>` | QueuedEntityPlacer.`moveSelectorList` |

    Constructors in org.optaplanner.core.impl.constructionheuristic.placer with parameters of type MoveSelector
    Constructor | Description
    --- | ---
    `PooledEntityPlacer​(MoveSelector<Solution_> moveSelector)` |
    `QueuedValuePlacer​(EntityIndependentValueSelector<Solution_> valueSelector, MoveSelector<Solution_> moveSelector)` |

    Constructor parameters in org.optaplanner.core.impl.constructionheuristic.placer with type arguments of type MoveSelector
    Constructor | Description
    --- | ---
    `QueuedEntityPlacer​(EntitySelector<Solution_> entitySelector, List<MoveSelector<Solution_>> moveSelectorList)` |

  - ### Uses of MoveSelector in org.optaplanner.core.impl.exhaustivesearch.decider

    Fields in org.optaplanner.core.impl.exhaustivesearch.decider declared as MoveSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | ExhaustiveSearchDecider.`moveSelector` |

    Methods in org.optaplanner.core.impl.exhaustivesearch.decider that return MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `MoveSelector<Solution_>` | ExhaustiveSearchDecider.`getMoveSelector()` |

    Constructors in org.optaplanner.core.impl.exhaustivesearch.decider with parameters of type MoveSelector
    Constructor | Description
    --- | ---
    `ExhaustiveSearchDecider​(String logIndentation, BestSolutionRecaller<Solution_> bestSolutionRecaller, Termination<Solution_> termination, ManualEntityMimicRecorder<Solution_> manualEntityMimicRecorder, MoveSelector<Solution_> moveSelector, boolean scoreBounderEnabled, ScoreBounder scoreBounder)` |

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

    Classes in org.optaplanner.core.impl.heuristic.selector.move that implement MoveSelector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractMoveSelector<Solution_>` | Abstract superclass for `MoveSelector`.

    Methods in org.optaplanner.core.impl.heuristic.selector.move that return MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | AbstractMoveSelectorFactory.`applySorting​(SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder, MoveSelector<Solution_> moveSelector)` |
    `protected abstract MoveSelector<Solution_>` | AbstractMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` | Builds a base `MoveSelector` without any advanced capabilities (filtering, sorting, ...).
    `MoveSelector<Solution_>` | AbstractMoveSelectorFactory.`buildMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, SelectionOrder inheritedSelectionOrder)` | Builds `MoveSelector` from the `MoveSelectorConfig` and provided parameters.
    `MoveSelector<Solution_>` | MoveSelectorFactory.`buildMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, SelectionOrder inheritedSelectionOrder)` | Builds `MoveSelector` from the `MoveSelectorConfig` and provided parameters.

    Methods in org.optaplanner.core.impl.heuristic.selector.move with parameters of type MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | AbstractMoveSelectorFactory.`applySorting​(SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder, MoveSelector<Solution_> moveSelector)` |

  - ### Uses of MoveSelector in org.optaplanner.core.impl.heuristic.selector.move.composite

    Classes in org.optaplanner.core.impl.heuristic.selector.move.composite that implement MoveSelector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `CartesianProductMoveSelector<Solution_>` | A `CompositeMoveSelector` that Cartesian products 2 or more `MoveSelector`s.
    `class` | `CompositeMoveSelector<Solution_>` | Abstract superclass for every composite `MoveSelector`.
    `class` | `UnionMoveSelector<Solution_>` | A `CompositeMoveSelector` that unions 2 or more `MoveSelector`s.

    Fields in org.optaplanner.core.impl.heuristic.selector.move.composite with type parameters of type MoveSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected List<MoveSelector<Solution_>>` | CompositeMoveSelector.`childMoveSelectorList` |
    `protected SelectionProbabilityWeightFactory<Solution_,​MoveSelector<Solution_>>` | UnionMoveSelector.`selectorProbabilityWeightFactory` |

    Methods in org.optaplanner.core.impl.heuristic.selector.move.composite that return MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `MoveSelector<Solution_>` | CartesianProductMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |
    `MoveSelector<Solution_>` | UnionMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |

    Methods in org.optaplanner.core.impl.heuristic.selector.move.composite that return types with arguments of type MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<MoveSelector<Solution_>>` | CompositeMoveSelector.`getChildMoveSelectorList()` |

    Constructor parameters in org.optaplanner.core.impl.heuristic.selector.move.composite with type arguments of type MoveSelector
    Constructor | Description
    --- | ---
    `CartesianProductMoveSelector​(List<MoveSelector<Solution_>> childMoveSelectorList, boolean ignoreEmptyChildIterators, boolean randomSelection)` |
    `CompositeMoveSelector​(List<MoveSelector<Solution_>> childMoveSelectorList, boolean randomSelection)` |
    `UnionMoveSelector​(List<MoveSelector<Solution_>> childMoveSelectorList, boolean randomSelection)` |
    `UnionMoveSelector​(List<MoveSelector<Solution_>> childMoveSelectorList, boolean randomSelection, SelectionProbabilityWeightFactory<Solution_,​MoveSelector<Solution_>> selectorProbabilityWeightFactory)` |
    `UnionMoveSelector​(List<MoveSelector<Solution_>> childMoveSelectorList, boolean randomSelection, SelectionProbabilityWeightFactory<Solution_,​MoveSelector<Solution_>> selectorProbabilityWeightFactory)` |

  - ### Uses of MoveSelector in org.optaplanner.core.impl.heuristic.selector.move.decorator

    Classes in org.optaplanner.core.impl.heuristic.selector.move.decorator that implement MoveSelector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractCachingMoveSelector<Solution_>` |
    `class` | `CachingMoveSelector<Solution_>` | A `MoveSelector` that caches the result of its child `MoveSelector`.
    `class` | `FilteringMoveSelector<Solution_>` |
    `class` | `ProbabilityMoveSelector<Solution_>` |
    `class` | `SelectedCountLimitMoveSelector<Solution_>` |
    `class` | `ShufflingMoveSelector<Solution_>` |
    `class` | `SortingMoveSelector<Solution_>` |

    Fields in org.optaplanner.core.impl.heuristic.selector.move.decorator declared as MoveSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | AbstractCachingMoveSelector.`childMoveSelector` |
    `protected MoveSelector<Solution_>` | FilteringMoveSelector.`childMoveSelector` |
    `protected MoveSelector<Solution_>` | ProbabilityMoveSelector.`childMoveSelector` |
    `protected MoveSelector<Solution_>` | SelectedCountLimitMoveSelector.`childMoveSelector` |

    Methods in org.optaplanner.core.impl.heuristic.selector.move.decorator that return MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `MoveSelector<Solution_>` | AbstractCachingMoveSelector.`getChildMoveSelector()` |

    Constructors in org.optaplanner.core.impl.heuristic.selector.move.decorator with parameters of type MoveSelector
    Constructor | Description
    --- | ---
    `AbstractCachingMoveSelector​(MoveSelector<Solution_> childMoveSelector, SelectionCacheType cacheType)` |
    `CachingMoveSelector​(MoveSelector<Solution_> childMoveSelector, SelectionCacheType cacheType, boolean randomSelection)` |
    `FilteringMoveSelector​(MoveSelector<Solution_> childMoveSelector, SelectionFilter<Solution_,​Move<Solution_>> filter)` |
    `ProbabilityMoveSelector​(MoveSelector<Solution_> childMoveSelector, SelectionCacheType cacheType, SelectionProbabilityWeightFactory<Solution_,​? extends Move<Solution_>> probabilityWeightFactory)` |
    `SelectedCountLimitMoveSelector​(MoveSelector<Solution_> childMoveSelector, long selectedCountLimit)` |
    `ShufflingMoveSelector​(MoveSelector<Solution_> childMoveSelector, SelectionCacheType cacheType)` |
    `SortingMoveSelector​(MoveSelector<Solution_> childMoveSelector, SelectionCacheType cacheType, SelectionSorter<Solution_,​Move<Solution_>> sorter)` |

  - ### Uses of MoveSelector in org.optaplanner.core.impl.heuristic.selector.move.factory

    Classes in org.optaplanner.core.impl.heuristic.selector.move.factory that implement MoveSelector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `MoveIteratorFactoryToMoveSelectorBridge<Solution_>` | Bridges a `MoveIteratorFactory` to a `MoveSelector`.
    `class` | `MoveListFactoryToMoveSelectorBridge<Solution_>` | Bridges a `MoveListFactory` to a `MoveSelector`.

    Methods in org.optaplanner.core.impl.heuristic.selector.move.factory that return MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `MoveSelector<Solution_>` | MoveIteratorFactoryFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |
    `MoveSelector<Solution_>` | MoveListFactoryFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |

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

    Classes in org.optaplanner.core.impl.heuristic.selector.move.generic that implement MoveSelector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ChangeMoveSelector<Solution_>` |
    `class` | `GenericMoveSelector<Solution_>` | Abstract superclass for every generic `MoveSelector`.
    `class` | `PillarChangeMoveSelector<Solution_>` |
    `class` | `PillarSwapMoveSelector<Solution_>` |
    `class` | `SwapMoveSelector<Solution_>` |

    Methods in org.optaplanner.core.impl.heuristic.selector.move.generic that return MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | ChangeMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |
    `protected MoveSelector<Solution_>` | PillarChangeMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |
    `protected MoveSelector<Solution_>` | PillarSwapMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |
    `protected MoveSelector<Solution_>` | SwapMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |

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

    Classes in org.optaplanner.core.impl.heuristic.selector.move.generic.chained that implement MoveSelector
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `KOptMoveSelector<Solution_>` |
    `class` | `SubChainChangeMoveSelector<Solution_>` |
    `class` | `SubChainSwapMoveSelector<Solution_>` |
    `class` | `TailChainSwapMoveSelector<Solution_>` | Also known as a 2-opt move selector.

    Methods in org.optaplanner.core.impl.heuristic.selector.move.generic.chained that return MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | KOptMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |
    `protected MoveSelector<Solution_>` | SubChainChangeMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |
    `protected MoveSelector<Solution_>` | SubChainSwapMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |
    `protected MoveSelector<Solution_>` | TailChainSwapMoveSelectorFactory.`buildBaseMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)` |

  - ### Uses of MoveSelector in org.optaplanner.core.impl.localsearch

    Methods in org.optaplanner.core.impl.localsearch that return MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | DefaultLocalSearchPhaseFactory.`buildMoveSelector​(HeuristicConfigPolicy<Solution_> configPolicy)` |

  - ### Uses of MoveSelector in org.optaplanner.core.impl.localsearch.decider

    Fields in org.optaplanner.core.impl.localsearch.decider declared as MoveSelector
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected MoveSelector<Solution_>` | LocalSearchDecider.`moveSelector` |

    Methods in org.optaplanner.core.impl.localsearch.decider that return MoveSelector
    Modifier and Type | Method | Description
    --- | --- | ---
    `MoveSelector<Solution_>` | LocalSearchDecider.`getMoveSelector()` |

    Constructors in org.optaplanner.core.impl.localsearch.decider with parameters of type MoveSelector
    Constructor | Description
    --- | ---
    `LocalSearchDecider​(String logIndentation, Termination<Solution_> termination, MoveSelector<Solution_> moveSelector, Acceptor<Solution_> acceptor, LocalSearchForager<Solution_> forager)` |
    `MultiThreadedLocalSearchDecider​(String logIndentation, Termination<Solution_> termination, MoveSelector<Solution_> moveSelector, Acceptor<Solution_> acceptor, LocalSearchForager<Solution_> forager, ThreadFactory threadFactory, int moveThreadCount, int selectedMoveBufferSize)` |