Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-37

Planner: SubChainSwapMove must support efficient original (non random) selection through an efficient SubChain ListIterator

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Unresolved
    • Optional
    • Future
    • None
    • optaplanner-core

    Description

      java.lang.UnsupportedOperationException: This class (class org.optaplanner.core.impl.heuristic.selector.value.chained.DefaultSubChainSelector) does not support the listIterator() methods yet. As a result you can only use SubChain based swap moves with randomSelection true.  https://issues.jboss.org/browse/JBRULES-3586
      	at org.optaplanner.core.impl.heuristic.selector.value.chained.DefaultSubChainSelector.listIterator(DefaultSubChainSelector.java:167)
      	at org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractOriginalSwapIterator.<init>(AbstractOriginalSwapIterator.java:49)
      	at org.optaplanner.core.impl.heuristic.selector.move.generic.chained.SubChainSwapMoveSelector$1.<init>(SubChainSwapMoveSelector.java:75)
      	at org.optaplanner.core.impl.heuristic.selector.move.generic.chained.SubChainSwapMoveSelector.iterator(SubChainSwapMoveSelector.java:75)
      	at org.optaplanner.core.impl.heuristic.selector.move.decorator.AbstractCachingMoveSelector.constructCache(AbstractCachingMoveSelector.java:60)
      	at org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleBridge.stepStarted(SelectionCacheLifecycleBridge.java:54)
      	at org.optaplanner.core.impl.phase.event.SolverPhaseLifecycleSupport.fireStepStarted(SolverPhaseLifecycleSupport.java:48)
      	at org.optaplanner.core.impl.heuristic.selector.AbstractSelector.stepStarted(AbstractSelector.java:51)
      	at org.optaplanner.core.impl.localsearch.decider.DefaultDecider.stepStarted(DefaultDecider.java:100)
      	at org.optaplanner.core.impl.localsearch.DefaultLocalSearchSolverPhase.stepStarted(DefaultLocalSearchSolverPhase.java:121)
      	at org.optaplanner.core.impl.localsearch.DefaultLocalSearchSolverPhase.solve(DefaultLocalSearchSolverPhase.java:66)
      	at org.optaplanner.core.impl.solver.DefaultSolver.runSolverPhases(DefaultSolver.java:190)
      	at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:155)
      ...
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            gdesmet@redhat.com Geoffrey De Smet (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: