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

Details

    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.

      Attachments

        Activity

          People

            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)

            Dates

              Created:
              Updated:
              Resolved:
              Archived:

              PagerDuty