Class NearSubListNearbyDestinationSelector<Solution_>
java.lang.Object
org.optaplanner.core.impl.heuristic.selector.AbstractSelector<Solution_>
org.optaplanner.core.impl.heuristic.selector.AbstractDemandEnabledSelector<Solution_>
org.optaplanner.core.impl.heuristic.selector.common.nearby.AbstractNearbySelector<Solution_,ElementDestinationSelector<Solution_>,ReplayingSelector_>
org.optaplanner.core.impl.heuristic.selector.list.nearby.NearSubListNearbyDestinationSelector<Solution_>
- All Implemented Interfaces:
Iterable<ElementRef>
,EventListener
,IterableSelector<Solution_,
,ElementRef> DestinationSelector<Solution_>
,Selector<Solution_>
,PhaseLifecycleListener<Solution_>
,SolverLifecycleListener<Solution_>
public final class NearSubListNearbyDestinationSelector<Solution_>
extends AbstractNearbySelector<Solution_,ElementDestinationSelector<Solution_>,ReplayingSelector_>
implements DestinationSelector<Solution_>
-
Field Summary
Modifier and TypeFieldDescriptionprotected IndexVariableSupply
protected SingletonInverseVariableSupply
Fields inherited from class org.optaplanner.core.impl.heuristic.selector.common.nearby.AbstractNearbySelector
childSelector, nearbyDistanceMatrix, nearbyDistanceMeter, nearbyRandom, randomSelection, replayingSelector
Fields inherited from class org.optaplanner.core.impl.heuristic.selector.AbstractSelector
logger, phaseLifecycleSupport, workingRandom
-
Constructor Summary
ConstructorDescriptionNearSubListNearbyDestinationSelector
(ElementDestinationSelector<Solution_> childDestinationSelector, SubListSelector<Solution_> originSubListSelector, NearbyDistanceMeter<?, ?> nearbyDistanceMeter, NearbyRandom nearbyRandom, boolean randomSelection) -
Method Summary
Modifier and TypeMethodDescriptionprotected MimicReplayingSubListSelector<Solution_>
castReplayingSelector
(Object uncastReplayingSelector) protected int
protected AbstractNearbyDistanceMatrixDemand<?,
?, ?, ?> protected ElementRef
elementRef
(Object next) long
getSize()
A random JITSelector
withSelector.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
.boolean
If false, thenSelector.isNeverEnding()
is true.iterator()
void
solvingEnded
(SolverScope<Solution_> solverScope) void
solvingStarted
(SolverScope<Solution_> solverScope) Methods inherited from class org.optaplanner.core.impl.heuristic.selector.common.nearby.AbstractNearbySelector
equals, getNearbyDistanceMatrixDemand, hashCode, isNeverEnding, phaseEnded, phaseStarted, toString
Methods inherited from class org.optaplanner.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 org.optaplanner.core.impl.heuristic.selector.IterableSelector
getSize, spliterator
Methods inherited from interface org.optaplanner.core.impl.phase.event.PhaseLifecycleListener
phaseEnded, phaseStarted, stepEnded, stepStarted
Methods inherited from interface org.optaplanner.core.impl.heuristic.selector.Selector
getCacheType, isCountable, isNeverEnding
Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener
solvingEnded, solvingError, solvingStarted
-
Field Details
-
inverseVariableSupply
-
indexVariableSupply
-
-
Constructor Details
-
NearSubListNearbyDestinationSelector
public NearSubListNearbyDestinationSelector(ElementDestinationSelector<Solution_> childDestinationSelector, SubListSelector<Solution_> originSubListSelector, NearbyDistanceMeter<?, ?> nearbyDistanceMeter, NearbyRandom nearbyRandom, boolean randomSelection)
-
-
Method Details
-
castReplayingSelector
protected MimicReplayingSubListSelector<Solution_> castReplayingSelector(Object uncastReplayingSelector) - Specified by:
castReplayingSelector
in classAbstractNearbySelector<Solution_,
ElementDestinationSelector<Solution_>, MimicReplayingSubListSelector<Solution_>>
-
createDemand
- Specified by:
createDemand
in classAbstractNearbySelector<Solution_,
ElementDestinationSelector<Solution_>, MimicReplayingSubListSelector<Solution_>>
-
iterator
-
solvingStarted
- Specified by:
solvingStarted
in interfaceSolverLifecycleListener<Solution_>
- Overrides:
solvingStarted
in classAbstractSelector<Solution_>
-
computeDestinationSize
protected int computeDestinationSize() -
solvingEnded
- Specified by:
solvingEnded
in interfaceSolverLifecycleListener<Solution_>
- Overrides:
solvingEnded
in classAbstractSelector<Solution_>
-
isCountable
public boolean isCountable()Description copied from interface:Selector
If false, thenSelector.isNeverEnding()
is true.- Specified by:
isCountable
in interfaceSelector<Solution_>
- Returns:
- true if all the
ValueRange
s 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:IterableSelector
A random JITSelector
withSelector.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:
getSize
in interfaceIterableSelector<Solution_,
ReplayingSelector_ extends PhaseLifecycleListener<Solution_>> - Returns:
- the approximate number of elements generated by this
Selector
, always>= 0
-
elementRef
-