Class CompositeMoveSelector<Solution_>

java.lang.Object
org.optaplanner.core.impl.heuristic.selector.AbstractSelector<Solution_>
org.optaplanner.core.impl.heuristic.selector.move.AbstractMoveSelector<Solution_>
org.optaplanner.core.impl.heuristic.selector.move.composite.CompositeMoveSelector<Solution_>
All Implemented Interfaces:
Iterable<Move<Solution_>>, EventListener, IterableSelector<Solution_,Move<Solution_>>, MoveSelector<Solution_>, Selector<Solution_>, PhaseLifecycleListener<Solution_>, SolverLifecycleListener<Solution_>
Direct Known Subclasses:
CartesianProductMoveSelector, UnionMoveSelector

public abstract class CompositeMoveSelector<Solution_> extends AbstractMoveSelector<Solution_>
Abstract superclass for every composite MoveSelector.
See Also:
  • Field Details

    • childMoveSelectorList

      protected final List<MoveSelector<Solution_>> childMoveSelectorList
    • randomSelection

      protected final boolean randomSelection
  • Constructor Details

    • CompositeMoveSelector

      protected CompositeMoveSelector(List<MoveSelector<Solution_>> childMoveSelectorList, boolean randomSelection)
  • Method Details

    • getChildMoveSelectorList

      public List<MoveSelector<Solution_>> getChildMoveSelectorList()
    • supportsPhaseAndSolverCaching

      public boolean supportsPhaseAndSolverCaching()
    • isCountable

      public boolean isCountable()
      Description copied from interface: Selector
      If false, then Selector.isNeverEnding() is true.
      Returns:
      true if all the ValueRanges are countable (for example a double value range between 1.2 and 1.4 is not countable)
    • toString

      public String toString()
      Overrides:
      toString in class Object