Class NearSubListNearbySubListSelector<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_,RandomSubListSelector<Solution_>,MimicReplayingSubListSelector<Solution_>>
-
- ai.timefold.solver.core.impl.heuristic.selector.list.nearby.NearSubListNearbySubListSelector<Solution_>
-
- All Implemented Interfaces:
IterableSelector<Solution_,SubList>,SubListSelector<Solution_>,Selector<Solution_>,PhaseLifecycleListener<Solution_>,SolverLifecycleListener<Solution_>,Iterable<SubList>,EventListener
public final class NearSubListNearbySubListSelector<Solution_> extends AbstractNearbySelector<Solution_,RandomSubListSelector<Solution_>,MimicReplayingSubListSelector<Solution_>> implements SubListSelector<Solution_>
-
-
Field Summary
-
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 NearSubListNearbySubListSelector(RandomSubListSelector<Solution_> childSubListSelector, SubListSelector<Solution_> originSubListSelector, NearbyDistanceMeter<?,?> nearbyDistanceMeter, NearbyRandom nearbyRandom)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MimicReplayingSubListSelector<Solution_>castReplayingSelector(Object uncastReplayingSelector)protected AbstractNearbyDistanceMatrixDemand<?,?,?,?>createDemand()Iterator<Object>endingValueIterator()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.longgetValueCount()ListVariableDescriptor<Solution_>getVariableDescriptor()booleanisCountable()If false, thenSelector.isNeverEnding()is true.Iterator<SubList>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
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, isNeverEnding
-
Methods inherited from interface ai.timefold.solver.core.impl.solver.event.SolverLifecycleListener
solvingError
-
-
-
-
Constructor Detail
-
NearSubListNearbySubListSelector
public NearSubListNearbySubListSelector(RandomSubListSelector<Solution_> childSubListSelector, SubListSelector<Solution_> originSubListSelector, NearbyDistanceMeter<?,?> nearbyDistanceMeter, NearbyRandom nearbyRandom)
-
-
Method Detail
-
castReplayingSelector
protected MimicReplayingSubListSelector<Solution_> castReplayingSelector(Object uncastReplayingSelector)
- Specified by:
castReplayingSelectorin classAbstractNearbySelector<Solution_,RandomSubListSelector<Solution_>,MimicReplayingSubListSelector<Solution_>>
-
createDemand
protected AbstractNearbyDistanceMatrixDemand<?,?,?,?> createDemand()
- Specified by:
createDemandin classAbstractNearbySelector<Solution_,RandomSubListSelector<Solution_>,MimicReplayingSubListSelector<Solution_>>
-
solvingStarted
public void solvingStarted(SolverScope<Solution_> solverScope)
- Specified by:
solvingStartedin interfaceSolverLifecycleListener<Solution_>- Overrides:
solvingStartedin classAbstractSelector<Solution_>
-
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_,SubList>- Returns:
- the approximate number of elements generated by this
Selector, always>= 0
-
getVariableDescriptor
public ListVariableDescriptor<Solution_> getVariableDescriptor()
- Specified by:
getVariableDescriptorin interfaceSubListSelector<Solution_>
-
endingValueIterator
public Iterator<Object> endingValueIterator()
- Specified by:
endingValueIteratorin interfaceSubListSelector<Solution_>
-
getValueCount
public long getValueCount()
- Specified by:
getValueCountin interfaceSubListSelector<Solution_>
-
-