org.optaplanner.core.config.heuristic.selector.move

## Class MoveSelectorConfig<C extends MoveSelectorConfig>

- java.lang.Object
- - org.optaplanner.core.config.AbstractConfig<C>
  - - org.optaplanner.core.config.heuristic.selector.SelectorConfig<C>
    - - org.optaplanner.core.config.heuristic.selector.move.MoveSelectorConfig<C>

- Direct Known Subclasses:
    AbstractPillarMoveSelectorConfig, CartesianProductMoveSelectorConfig, ChangeMoveSelectorConfig, KOptMoveSelectorConfig, MoveIteratorFactoryConfig, MoveListFactoryConfig, SubChainChangeMoveSelectorConfig, SubChainSwapMoveSelectorConfig, SwapMoveSelectorConfig, TailChainSwapMoveSelectorConfig, UnionMoveSelectorConfig

      public abstract class MoveSelectorConfig<C extends MoveSelectorConfig>
      extends SelectorConfig<C>

  General superclass for `ChangeMoveSelectorConfig`, etc.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected SelectionCacheType` | `cacheType`
    `protected List<Class<? extends SelectionFilter>>` | `filterClassList`
    `protected Class<? extends SelectionProbabilityWeightFactory>` | `probabilityWeightFactoryClass`
    `protected Long` | `selectedCountLimit`
    `protected SelectionOrder` | `selectionOrder`
    `protected Class<? extends SelectionSorter>` | `sorterClass`
    `protected Class<? extends Comparator>` | `sorterComparatorClass`
    `protected SelectionSorterOrder` | `sorterOrder`
    `protected Class<? extends SelectionSorterWeightFactory>` | `sorterWeightFactoryClass`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MoveSelectorConfig()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract MoveSelector` | `buildBaseMoveSelector(HeuristicConfigPolicy configPolicy, SelectionCacheType minimumCacheType, boolean randomSelection)`
    `MoveSelector` | `buildMoveSelector(HeuristicConfigPolicy configPolicy, SelectionCacheType minimumCacheType, SelectionOrder inheritedSelectionOrder)`
    `protected MoveSelectorConfig` | `buildUnfoldedMoveSelectorConfig(HeuristicConfigPolicy configPolicy)`
    `protected boolean` | `determineBaseRandomSelection(SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder)`
    `void` | `extractLeafMoveSelectorConfigsIntoList(List<MoveSelectorConfig> leafMoveSelectorConfigList)` Gather a list of all descendant `MoveSelectorConfig`s except for `UnionMoveSelectorConfig` and `CartesianProductMoveSelectorConfig`.
    `SelectionCacheType` | `getCacheType()`
    `List<Class<? extends SelectionFilter>>` | `getFilterClassList()`
    `Double` | `getFixedProbabilityWeight()`
    `Class<? extends SelectionProbabilityWeightFactory>` | `getProbabilityWeightFactoryClass()`
    `Long` | `getSelectedCountLimit()`
    `SelectionOrder` | `getSelectionOrder()`
    `Class<? extends SelectionSorter>` | `getSorterClass()`
    `Class<? extends Comparator>` | `getSorterComparatorClass()`
    `SelectionSorterOrder` | `getSorterOrder()`
    `Class<? extends SelectionSorterWeightFactory>` | `getSorterWeightFactoryClass()`
    `C` | `inherit(C inheritedConfig)` Inherits each property of the `inheritedConfig` unless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).
    `void` | `inheritFolded(MoveSelectorConfig foldedConfig)` Does not inherit subclass properties because this class and `foldedConfig` can be of a different type.
    `protected boolean` | `isBaseInherentlyCached()`
    `void` | `setCacheType(SelectionCacheType cacheType)`
    `void` | `setFilterClassList(List<Class<? extends SelectionFilter>> filterClassList)`
    `void` | `setFixedProbabilityWeight(Double fixedProbabilityWeight)`
    `void` | `setProbabilityWeightFactoryClass(Class<? extends SelectionProbabilityWeightFactory> probabilityWeightFactoryClass)`
    `void` | `setSelectedCountLimit(Long selectedCountLimit)`
    `void` | `setSelectionOrder(SelectionOrder selectionOrder)`
    `void` | `setSorterClass(Class<? extends SelectionSorter> sorterClass)`
    `void` | `setSorterComparatorClass(Class<? extends Comparator> sorterComparatorClass)`
    `void` | `setSorterOrder(SelectionSorterOrder sorterOrder)`
    `void` | `setSorterWeightFactoryClass(Class<? extends SelectionSorterWeightFactory> sorterWeightFactoryClass)`
    `MoveSelectorConfig` | `withCacheType(SelectionCacheType cacheType)`
    `MoveSelectorConfig` | `withFilterClassList(List<Class<? extends SelectionFilter>> filterClassList)`
    `MoveSelectorConfig` | `withFixedProbabilityWeight(Double fixedProbabilityWeight)`
    `MoveSelectorConfig` | `withProbabilityWeightFactoryClass(Class<? extends SelectionProbabilityWeightFactory> probabilityWeightFactoryClass)`
    `MoveSelectorConfig` | `withSelectedCountLimit(Long selectedCountLimit)`
    `MoveSelectorConfig` | `withSelectionOrder(SelectionOrder selectionOrder)`
    `MoveSelectorConfig` | `withSorterClass(Class<? extends SelectionSorter> sorterClass)`
    `MoveSelectorConfig` | `withSorterComparatorClass(Class<? extends Comparator> sorterComparatorClass)`
    `MoveSelectorConfig` | `withSorterOrder(SelectionSorterOrder sorterOrder)`
    `MoveSelectorConfig` | `withSorterWeightFactoryClass(Class<? extends SelectionSorterWeightFactory> sorterWeightFactoryClass)`

    - ### Methods inherited from class org.optaplanner.core.config.heuristic.selector.SelectorConfig

      `validateCacheTypeVersusSelectionOrder`

    - ### Methods inherited from class org.optaplanner.core.config.AbstractConfig

      `copyConfig, deduceEntityDescriptor, deduceVariableDescriptor, deduceVariableDescriptorList, toString`

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

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

- - ### Field Detail

    - #### cacheType

          protected SelectionCacheType cacheType

    - #### selectionOrder

          protected SelectionOrder selectionOrder

    - #### filterClassList

          protected List<Class<? extends SelectionFilter>> filterClassList

    - #### sorterComparatorClass

          protected Class<? extends Comparator> sorterComparatorClass

    - #### sorterWeightFactoryClass

          protected Class<? extends SelectionSorterWeightFactory> sorterWeightFactoryClass

    - #### sorterOrder

          protected SelectionSorterOrder sorterOrder

    - #### sorterClass

          protected Class<? extends SelectionSorter> sorterClass

    - #### probabilityWeightFactoryClass

          protected Class<? extends SelectionProbabilityWeightFactory> probabilityWeightFactoryClass

    - #### selectedCountLimit

          protected Long selectedCountLimit

  - ### Constructor Detail

    - #### MoveSelectorConfig

          public MoveSelectorConfig()

  - ### Method Detail

    - #### getCacheType

          public SelectionCacheType getCacheType()

    - #### setCacheType

          public void setCacheType(SelectionCacheType cacheType)

    - #### getSelectionOrder

          public SelectionOrder getSelectionOrder()

    - #### setSelectionOrder

          public void setSelectionOrder(SelectionOrder selectionOrder)

    - #### getFilterClassList

          public List<Class<? extends SelectionFilter>> getFilterClassList()

    - #### setFilterClassList

          public void setFilterClassList(List<Class<? extends SelectionFilter>> filterClassList)

    - #### getSorterComparatorClass

          public Class<? extends Comparator> getSorterComparatorClass()

    - #### setSorterComparatorClass

          public void setSorterComparatorClass(Class<? extends Comparator> sorterComparatorClass)

    - #### getSorterWeightFactoryClass

          public Class<? extends SelectionSorterWeightFactory> getSorterWeightFactoryClass()

    - #### setSorterWeightFactoryClass

          public void setSorterWeightFactoryClass(Class<? extends SelectionSorterWeightFactory> sorterWeightFactoryClass)

    - #### getSorterOrder

          public SelectionSorterOrder getSorterOrder()

    - #### setSorterOrder

          public void setSorterOrder(SelectionSorterOrder sorterOrder)

    - #### getSorterClass

          public Class<? extends SelectionSorter> getSorterClass()

    - #### setSorterClass

          public void setSorterClass(Class<? extends SelectionSorter> sorterClass)

    - #### getProbabilityWeightFactoryClass

          public Class<? extends SelectionProbabilityWeightFactory> getProbabilityWeightFactoryClass()

    - #### setProbabilityWeightFactoryClass

          public void setProbabilityWeightFactoryClass(Class<? extends SelectionProbabilityWeightFactory> probabilityWeightFactoryClass)

    - #### getSelectedCountLimit

          public Long getSelectedCountLimit()

    - #### setSelectedCountLimit

          public void setSelectedCountLimit(Long selectedCountLimit)

    - #### getFixedProbabilityWeight

          public Double getFixedProbabilityWeight()

    - #### setFixedProbabilityWeight

          public void setFixedProbabilityWeight(Double fixedProbabilityWeight)

    - #### withCacheType

          public MoveSelectorConfig withCacheType(SelectionCacheType cacheType)

    - #### withSelectionOrder

          public MoveSelectorConfig withSelectionOrder(SelectionOrder selectionOrder)

    - #### withFilterClassList

          public MoveSelectorConfig withFilterClassList(List<Class<? extends SelectionFilter>> filterClassList)

    - #### withSorterComparatorClass

          public MoveSelectorConfig withSorterComparatorClass(Class<? extends Comparator> sorterComparatorClass)

    - #### withSorterWeightFactoryClass

          public MoveSelectorConfig withSorterWeightFactoryClass(Class<? extends SelectionSorterWeightFactory> sorterWeightFactoryClass)

    - #### withSorterOrder

          public MoveSelectorConfig withSorterOrder(SelectionSorterOrder sorterOrder)

    - #### withSorterClass

          public MoveSelectorConfig withSorterClass(Class<? extends SelectionSorter> sorterClass)

    - #### withProbabilityWeightFactoryClass

          public MoveSelectorConfig withProbabilityWeightFactoryClass(Class<? extends SelectionProbabilityWeightFactory> probabilityWeightFactoryClass)

    - #### withSelectedCountLimit

          public MoveSelectorConfig withSelectedCountLimit(Long selectedCountLimit)

    - #### withFixedProbabilityWeight

          public MoveSelectorConfig withFixedProbabilityWeight(Double fixedProbabilityWeight)

    - #### buildMoveSelector

          public MoveSelector buildMoveSelector(HeuristicConfigPolicy configPolicy,
                                                SelectionCacheType minimumCacheType,
                                                SelectionOrder inheritedSelectionOrder)

      Parameters:
        `configPolicy` - never null
        `minimumCacheType` - never null, If caching is used (different from `SelectionCacheType.JUST_IN_TIME`), then it should be at least this `SelectionCacheType` because an ancestor already uses such caching and less would be pointless.
        `inheritedSelectionOrder` - never null
      Returns:
        never null

    - #### buildUnfoldedMoveSelectorConfig

          protected MoveSelectorConfig buildUnfoldedMoveSelectorConfig(HeuristicConfigPolicy configPolicy)

      Parameters:
        `configPolicy` - never null
      Returns:
        null if no unfolding is needed

    - #### determineBaseRandomSelection

          protected boolean determineBaseRandomSelection(SelectionCacheType resolvedCacheType,
                                                         SelectionOrder resolvedSelectionOrder)

    - #### isBaseInherentlyCached

          protected boolean isBaseInherentlyCached()

    - #### buildBaseMoveSelector

          protected abstract MoveSelector buildBaseMoveSelector(HeuristicConfigPolicy configPolicy,
                                                                SelectionCacheType minimumCacheType,
                                                                boolean randomSelection)

      Parameters:
        `configPolicy` - never null
        `minimumCacheType` - never null, If caching is used (different from `SelectionCacheType.JUST_IN_TIME`), then it should be at least this `SelectionCacheType` because an ancestor already uses such caching and less would be pointless.
        `randomSelection` - true is equivalent to `SelectionOrder.RANDOM`, false is equivalent to `SelectionOrder.ORIGINAL`
      Returns:
        never null

    - #### extractLeafMoveSelectorConfigsIntoList

          public void extractLeafMoveSelectorConfigsIntoList(List<MoveSelectorConfig> leafMoveSelectorConfigList)

      Gather a list of all descendant `MoveSelectorConfig`s except for `UnionMoveSelectorConfig` and `CartesianProductMoveSelectorConfig`.
      Parameters:
        `leafMoveSelectorConfigList` - not null

    - #### inherit

          public C inherit(C inheritedConfig)

      Description copied from class: `AbstractConfig`
      Inherits each property of the `inheritedConfig` unless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).

      After the inheritance, if a property on this `AbstractConfig` composition is replaced, it should not affect the inherited composition instance.

      Specified by:
        `inherit` in class `AbstractConfig<C extends MoveSelectorConfig>`
      Parameters:
        `inheritedConfig` - never null
      Returns:
        this

    - #### inheritFolded

          public void inheritFolded(MoveSelectorConfig foldedConfig)

      Does not inherit subclass properties because this class and `foldedConfig` can be of a different type.
      Parameters:
        `foldedConfig` - never null

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