Uploaded image for project: 'JBoss BRMS Platform'
  1. JBoss BRMS Platform
  2. RHBRMS-2232

Running nearbySelection with PHASE cacheType causes UnsupportedOperationException

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      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.

            gdesmet@redhat.com Geoffrey De Smet (Inactive)
            jvahala Jiří Vahala (Inactive)
            Archiver:
            rhn-support-ceverson Clark Everson
            Jiří Locker Jiří Locker
            Jiří Locker Jiří Locker
            Kris Verlaenen, Lukáš Petrovický (Inactive)

              Created:
              Updated:
              Resolved:
              Archived: