Details
-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
6.1.0
Description
Description of problem:
Planner throws out this exception:
java.lang.UnsupportedOperationException: null
at org.optaplanner.core.impl.heuristic.selector.entity.nearby.NearEntityNearbyEntitySelector.listIterator(NearEntityNearbyEntitySelector.java:139)
at org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractOriginalSwapIterator.createUpcomingSelection(AbstractOriginalSwapIterator.java:62)
at org.optaplanner.core.impl.heuristic.selector.common.iterator.UpcomingSelectionIterator.hasNext(UpcomingSelectionIterator.java:40)
at com.google.common.collect.Iterators.addAll(Iterators.java:417)
at org.optaplanner.core.impl.heuristic.selector.move.decorator.AbstractCachingMoveSelector.constructCache(AbstractCachingMoveSelector.java:60)
at org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleBridge.phaseStarted(SelectionCacheLifecycleBridge.java:49)
at org.optaplanner.core.impl.phase.event.PhaseLifecycleSupport.firePhaseStarted(PhaseLifecycleSupport.java:41)
at org.optaplanner.core.impl.heuristic.selector.AbstractSelector.phaseStarted(AbstractSelector.java:47)
at org.optaplanner.core.impl.localsearch.decider.LocalSearchDecider.phaseStarted(LocalSearchDecider.java:97)
at org.optaplanner.core.impl.localsearch.DefaultLocalSearchPhase.phaseStarted(DefaultLocalSearchPhase.java:116)
at org.optaplanner.core.impl.localsearch.DefaultLocalSearchPhase.solve(DefaultLocalSearchPhase.java:60)
at org.optaplanner.core.impl.solver.DefaultSolver.runPhases(DefaultSolver.java:213)
at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:176)
Steps to Reproduce:
1. Use any TSP example
2. use local search below:
<localSearch>
<swapMoveSelector>
<cacheType>PHASE</cacheType>
<secondaryEntitySelector>
<nearbySelection>
<originEntitySelector/> <nearbyDistanceMeterClass>org.optaplanner.examples.tsp.domain.solver.nearby.VisitNearbyDistanceMeter</nearbyDistanceMeterClass>
<parabolicDistributionSizeMaximum>40</parabolicDistributionSizeMaximum>
</nearbySelection>
</secondaryEntitySelector>
</swapMoveSelector>
</localSearch>
3. run solver and see exception
as we talked on IRC, it shouldn't be possible to run solver with that configuration and it should fail-fast config evaluation.