Package org.optaplanner.core.config.heuristic.selector.common.nearby

## Class NearbySelectionConfig

- java.lang.Object
- - org.optaplanner.core.config.AbstractConfig<C>
  - - org.optaplanner.core.config.heuristic.selector.SelectorConfig<NearbySelectionConfig>
    - - org.optaplanner.core.config.heuristic.selector.common.nearby.NearbySelectionConfig

-     public class NearbySelectionConfig
      extends SelectorConfig<NearbySelectionConfig>

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Double` | `betaDistributionAlpha` |
    `protected Double` | `betaDistributionBeta` |
    `protected Integer` | `blockDistributionSizeMaximum` |
    `protected Integer` | `blockDistributionSizeMinimum` |
    `protected Double` | `blockDistributionSizeRatio` |
    `protected Double` | `blockDistributionUniformDistributionProbability` |
    `protected Integer` | `linearDistributionSizeMaximum` |
    `protected Class<? extends NearbyDistanceMeter>` | `nearbyDistanceMeterClass` |
    `protected NearbySelectionDistributionType` | `nearbySelectionDistributionType` |
    `protected EntitySelectorConfig` | `originEntitySelectorConfig` |
    `protected Integer` | `parabolicDistributionSizeMaximum` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `NearbySelectionConfig()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `EntitySelector` | `applyNearbyEntitySelector​(HeuristicConfigPolicy configPolicy, SelectionCacheType minimumCacheType, SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder, EntitySelector entitySelector)` |
    `ValueSelector` | `applyNearbyValueSelector​(HeuristicConfigPolicy configPolicy, SelectionCacheType minimumCacheType, SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder, ValueSelector valueSelector)` |
    `protected NearbyRandom` | `buildNearbyRandom​(boolean randomSelection)` |
    `NearbySelectionConfig` | `copyConfig()` | Typically implemented by constructing a new instance and calling `AbstractConfig.inherit(AbstractConfig)` on it
    `Double` | `getBetaDistributionAlpha()` |
    `Double` | `getBetaDistributionBeta()` |
    `Integer` | `getBlockDistributionSizeMaximum()` |
    `Integer` | `getBlockDistributionSizeMinimum()` |
    `Double` | `getBlockDistributionSizeRatio()` |
    `Double` | `getBlockDistributionUniformDistributionProbability()` |
    `Integer` | `getLinearDistributionSizeMaximum()` |
    `Class<? extends NearbyDistanceMeter>` | `getNearbyDistanceMeterClass()` |
    `NearbySelectionDistributionType` | `getNearbySelectionDistributionType()` |
    `EntitySelectorConfig` | `getOriginEntitySelectorConfig()` |
    `Integer` | `getParabolicDistributionSizeMaximum()` |
    `NearbySelectionConfig` | `inherit​(NearbySelectionConfig 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` | `setBetaDistributionAlpha​(Double betaDistributionAlpha)` |
    `void` | `setBetaDistributionBeta​(Double betaDistributionBeta)` |
    `void` | `setBlockDistributionSizeMaximum​(Integer blockDistributionSizeMaximum)` |
    `void` | `setBlockDistributionSizeMinimum​(Integer blockDistributionSizeMinimum)` |
    `void` | `setBlockDistributionSizeRatio​(Double blockDistributionSizeRatio)` |
    `void` | `setBlockDistributionUniformDistributionProbability​(Double blockDistributionUniformDistributionProbability)` |
    `void` | `setLinearDistributionSizeMaximum​(Integer linearDistributionSizeMaximum)` |
    `void` | `setNearbyDistanceMeterClass​(Class<? extends NearbyDistanceMeter> nearbyDistanceMeterClass)` |
    `void` | `setNearbySelectionDistributionType​(NearbySelectionDistributionType nearbySelectionDistributionType)` |
    `void` | `setOriginEntitySelectorConfig​(EntitySelectorConfig originEntitySelectorConfig)` |
    `void` | `setParabolicDistributionSizeMaximum​(Integer parabolicDistributionSizeMaximum)` |
    `void` | `validateNearby​(SelectionCacheType resolvedCacheType, SelectionOrder resolvedSelectionOrder)` |

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

      `validateCacheTypeVersusSelectionOrder`

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

      `deduceEntityDescriptor, deduceVariableDescriptor, deduceVariableDescriptorList, toString`

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

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

- - ### Field Detail

    - #### originEntitySelectorConfig

          protected EntitySelectorConfig originEntitySelectorConfig

    - #### nearbyDistanceMeterClass

          protected Class<? extends NearbyDistanceMeter> nearbyDistanceMeterClass

    - #### nearbySelectionDistributionType

          protected NearbySelectionDistributionType nearbySelectionDistributionType

    - #### blockDistributionSizeMinimum

          protected Integer blockDistributionSizeMinimum

    - #### blockDistributionSizeMaximum

          protected Integer blockDistributionSizeMaximum

    - #### blockDistributionSizeRatio

          protected Double blockDistributionSizeRatio

    - #### blockDistributionUniformDistributionProbability

          protected Double blockDistributionUniformDistributionProbability

    - #### linearDistributionSizeMaximum

          protected Integer linearDistributionSizeMaximum

    - #### parabolicDistributionSizeMaximum

          protected Integer parabolicDistributionSizeMaximum

    - #### betaDistributionAlpha

          protected Double betaDistributionAlpha

    - #### betaDistributionBeta

          protected Double betaDistributionBeta

  - ### Constructor Detail

    - #### NearbySelectionConfig

          public NearbySelectionConfig()

  - ### Method Detail

    - #### getOriginEntitySelectorConfig

          public EntitySelectorConfig getOriginEntitySelectorConfig()

    - #### setOriginEntitySelectorConfig

          public void setOriginEntitySelectorConfig​(EntitySelectorConfig originEntitySelectorConfig)

    - #### getNearbyDistanceMeterClass

          public Class<? extends NearbyDistanceMeter> getNearbyDistanceMeterClass()

    - #### setNearbyDistanceMeterClass

          public void setNearbyDistanceMeterClass​(Class<? extends NearbyDistanceMeter> nearbyDistanceMeterClass)

    - #### getNearbySelectionDistributionType

          public NearbySelectionDistributionType getNearbySelectionDistributionType()

    - #### setNearbySelectionDistributionType

          public void setNearbySelectionDistributionType​(NearbySelectionDistributionType nearbySelectionDistributionType)

    - #### getBlockDistributionSizeMinimum

          public Integer getBlockDistributionSizeMinimum()

    - #### setBlockDistributionSizeMinimum

          public void setBlockDistributionSizeMinimum​(Integer blockDistributionSizeMinimum)

    - #### getBlockDistributionSizeMaximum

          public Integer getBlockDistributionSizeMaximum()

    - #### setBlockDistributionSizeMaximum

          public void setBlockDistributionSizeMaximum​(Integer blockDistributionSizeMaximum)

    - #### getBlockDistributionSizeRatio

          public Double getBlockDistributionSizeRatio()

    - #### setBlockDistributionSizeRatio

          public void setBlockDistributionSizeRatio​(Double blockDistributionSizeRatio)

    - #### getBlockDistributionUniformDistributionProbability

          public Double getBlockDistributionUniformDistributionProbability()

    - #### setBlockDistributionUniformDistributionProbability

          public void setBlockDistributionUniformDistributionProbability​(Double blockDistributionUniformDistributionProbability)

    - #### getLinearDistributionSizeMaximum

          public Integer getLinearDistributionSizeMaximum()

    - #### setLinearDistributionSizeMaximum

          public void setLinearDistributionSizeMaximum​(Integer linearDistributionSizeMaximum)

    - #### getParabolicDistributionSizeMaximum

          public Integer getParabolicDistributionSizeMaximum()

    - #### setParabolicDistributionSizeMaximum

          public void setParabolicDistributionSizeMaximum​(Integer parabolicDistributionSizeMaximum)

    - #### getBetaDistributionAlpha

          public Double getBetaDistributionAlpha()

    - #### setBetaDistributionAlpha

          public void setBetaDistributionAlpha​(Double betaDistributionAlpha)

    - #### getBetaDistributionBeta

          public Double getBetaDistributionBeta()

    - #### setBetaDistributionBeta

          public void setBetaDistributionBeta​(Double betaDistributionBeta)

    - #### validateNearby

          public void validateNearby​(SelectionCacheType resolvedCacheType,
                                     SelectionOrder resolvedSelectionOrder)

    - #### applyNearbyEntitySelector

          public EntitySelector applyNearbyEntitySelector​(HeuristicConfigPolicy configPolicy,
                                                          SelectionCacheType minimumCacheType,
                                                          SelectionCacheType resolvedCacheType,
                                                          SelectionOrder resolvedSelectionOrder,
                                                          EntitySelector entitySelector)

    - #### applyNearbyValueSelector

          public ValueSelector applyNearbyValueSelector​(HeuristicConfigPolicy configPolicy,
                                                        SelectionCacheType minimumCacheType,
                                                        SelectionCacheType resolvedCacheType,
                                                        SelectionOrder resolvedSelectionOrder,
                                                        ValueSelector valueSelector)

    - #### buildNearbyRandom

          protected NearbyRandom buildNearbyRandom​(boolean randomSelection)

    - #### inherit

          public NearbySelectionConfig inherit​(NearbySelectionConfig 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<NearbySelectionConfig>`
      Parameters:
        `inheritedConfig` - never null
      Returns:
        this

    - #### copyConfig

          public NearbySelectionConfig copyConfig()

      Description copied from class: `AbstractConfig`
      Typically implemented by constructing a new instance and calling `AbstractConfig.inherit(AbstractConfig)` on it
      Specified by:
        `copyConfig` in class `AbstractConfig<NearbySelectionConfig>`
      Returns:
        new instance