Class NearSubListNearbyDestinationSelector<Solution_>
- java.lang.Object
-
- ai.timefold.solver.core.impl.heuristic.selector.AbstractSelector<Solution_>
-
- ai.timefold.solver.core.impl.heuristic.selector.AbstractDemandEnabledSelector<Solution_>
-
- ai.timefold.solver.core.impl.heuristic.selector.common.nearby.AbstractNearbySelector<Solution_,ElementDestinationSelector<Solution_>,ReplayingSelector_>
-
- ai.timefold.solver.core.impl.heuristic.selector.list.nearby.NearSubListNearbyDestinationSelector<Solution_>
-
- All Implemented Interfaces:
IterableSelector<Solution_,ElementRef>,DestinationSelector<Solution_>,Selector<Solution_>,PhaseLifecycleListener<Solution_>,SolverLifecycleListener<Solution_>,Iterable<ElementRef>,EventListener
public final class NearSubListNearbyDestinationSelector<Solution_> extends AbstractNearbySelector<Solution_,ElementDestinationSelector<Solution_>,ReplayingSelector_> implements DestinationSelector<Solution_>
-
-
Field Summary
Fields Modifier and Type Field Description protected IndexVariableSupplyindexVariableSupplyprotected SingletonInverseVariableSupplyinverseVariableSupply-
Fields inherited from class ai.timefold.solver.core.impl.heuristic.selector.common.nearby.AbstractNearbySelector
childSelector, nearbyDistanceMatrix, nearbyDistanceMeter, nearbyRandom, randomSelection, replayingSelector
-
Fields inherited from class ai.timefold.solver.core.impl.heuristic.selector.AbstractSelector
logger, phaseLifecycleSupport, workingRandom
-
-
Constructor Summary
Constructors Constructor Description NearSubListNearbyDestinationSelector(ElementDestinationSelector<Solution_> childDestinationSelector, SubListSelector<Solution_> originSubListSelector, NearbyDistanceMeter<?,?> nearbyDistanceMeter, NearbyRandom nearbyRandom, boolean randomSelection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MimicReplayingSubListSelector<Solution_>castReplayingSelector(Object uncastReplayingSelector)protected intcomputeDestinationSize()protected AbstractNearbyDistanceMatrixDemand<?,?,?,?>createDemand()protected ElementRefelementRef(Object next)longgetSize()A random JITSelectorwithSelector.isNeverEnding()true should return a size as if it would be able to return each distinct element only once, because the size can be used inSelectionProbabilityWeightFactory.booleanisCountable()If false, thenSelector.isNeverEnding()is true.Iterator<ElementRef>iterator()voidsolvingEnded(SolverScope<Solution_> solverScope)voidsolvingStarted(SolverScope<Solution_> solverScope)-
Methods inherited from class ai.timefold.solver.core.impl.heuristic.selector.common.nearby.AbstractNearbySelector
equals, getNearbyDistanceMatrixDemand, hashCode, isNeverEnding, phaseEnded, phaseStarted, toString
-
Methods inherited from class ai.timefold.solver.core.impl.heuristic.selector.AbstractSelector
getCacheType, stepEnded, stepStarted
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ai.timefold.solver.core.impl.heuristic.selector.IterableSelector
getSize, spliterator
-
Methods inherited from interface ai.timefold.solver.core.impl.phase.event.PhaseLifecycleListener
phaseEnded, phaseStarted, stepEnded, stepStarted
-
Methods inherited from interface ai.timefold.solver.core.impl.heuristic.selector.Selector
getCacheType, isCountable, isNeverEnding
-
Methods inherited from interface ai.timefold.solver.core.impl.solver.event.SolverLifecycleListener
solvingEnded, solvingError, solvingStarted
-
-
-
-
Field Detail
-
inverseVariableSupply
protected SingletonInverseVariableSupply inverseVariableSupply
-
indexVariableSupply
protected IndexVariableSupply indexVariableSupply
-
-
Constructor Detail
-
NearSubListNearbyDestinationSelector
public NearSubListNearbyDestinationSelector(ElementDestinationSelector<Solution_> childDestinationSelector, SubListSelector<Solution_> originSubListSelector, NearbyDistanceMeter<?,?> nearbyDistanceMeter, NearbyRandom nearbyRandom, boolean randomSelection)
-
-
Method Detail
-
castReplayingSelector
protected MimicReplayingSubListSelector<Solution_> castReplayingSelector(Object uncastReplayingSelector)
- Specified by:
castReplayingSelectorin classAbstractNearbySelector<Solution_,ElementDestinationSelector<Solution_>,MimicReplayingSubListSelector<Solution_>>
-
createDemand
protected AbstractNearbyDistanceMatrixDemand<?,?,?,?> createDemand()
- Specified by:
createDemandin classAbstractNearbySelector<Solution_,ElementDestinationSelector<Solution_>,MimicReplayingSubListSelector<Solution_>>
-
iterator
public Iterator<ElementRef> iterator()
-
solvingStarted
public void solvingStarted(SolverScope<Solution_> solverScope)
- Specified by:
solvingStartedin interfaceSolverLifecycleListener<Solution_>- Overrides:
solvingStartedin classAbstractSelector<Solution_>
-
computeDestinationSize
protected int computeDestinationSize()
-
solvingEnded
public void solvingEnded(SolverScope<Solution_> solverScope)
- Specified by:
solvingEndedin interfaceSolverLifecycleListener<Solution_>- Overrides:
solvingEndedin classAbstractSelector<Solution_>
-
isCountable
public boolean isCountable()
Description copied from interface:SelectorIf false, thenSelector.isNeverEnding()is true.- Specified by:
isCountablein interfaceSelector<Solution_>- Returns:
- true if all the
ValueRanges are countable (for example a double value range between 1.2 and 1.4 is not countable)
-
getSize
public long getSize()
Description copied from interface:IterableSelectorA random JITSelectorwithSelector.isNeverEnding()true should return a size as if it would be able to return each distinct element only once, because the size can be used inSelectionProbabilityWeightFactory.- Specified by:
getSizein interfaceIterableSelector<Solution_,ReplayingSelector_ extends PhaseLifecycleListener<Solution_>>- Returns:
- the approximate number of elements generated by this
Selector, always>= 0
-
elementRef
protected ElementRef elementRef(Object next)
-
-