org.cpsolver.studentsct.heuristics.selection

## Class ShuffleStudentsSelection.ShuffleBacktrackNeighbourSelection

- java.lang.Object
- - org.cpsolver.ifs.heuristics.StandardNeighbourSelection<V,T>
  - - org.cpsolver.ifs.heuristics.BacktrackNeighbourSelection<Request,Enrollment>
    - - org.cpsolver.studentsct.heuristics.selection.ShuffleStudentsSelection.ShuffleBacktrackNeighbourSelection

- All Implemented Interfaces:
    NeighbourSelection<Request,Enrollment>
  Enclosing class:
    ShuffleStudentsSelection

      public static class ShuffleStudentsSelection.ShuffleBacktrackNeighbourSelection
      extends BacktrackNeighbourSelection<Request,Enrollment>

  A special version of the `BacktrackNeighbourSelection` that filters the enrollments with the provided section filter.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.cpsolver.ifs.heuristics.BacktrackNeighbourSelection

      `BacktrackNeighbourSelection.BackTrackNeighbour, BacktrackNeighbourSelection.BacktrackNeighbourSelectionContext`

  - ### Field Summary

    - ### Fields inherited from class org.cpsolver.ifs.heuristics.BacktrackNeighbourSelection

      `iContext`

    - ### Fields inherited from class org.cpsolver.ifs.heuristics.StandardNeighbourSelection

      `iSolver, sLogger`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Neighbour<Request,Enrollment>` | `selectNeighbour(Solution<Request,Enrollment> solution, org.cpsolver.studentsct.heuristics.selection.ShuffleStudentsSelection.Shuffle shuffle)`
    `protected Iterator<Enrollment>` | `values(BacktrackNeighbourSelection.BacktrackNeighbourSelectionContext context, Request variable)` List of values of the given variable that will be considered (filtered using `ShuffleStudentsSelection.Shuffle.matchFilter(Enrollment)` if applicable).

    - ### Methods inherited from class org.cpsolver.ifs.heuristics.BacktrackNeighbourSelection

      `backtrack, canContinue, canContinueEvaluation, checkBound, getContext, getDepth, getMaxIters, getTimeout, init, selectNeighbour, selectNeighbour, selectNeighbour, setDepth, setMaxIters, setTimeout`

    - ### Methods inherited from class org.cpsolver.ifs.heuristics.StandardNeighbourSelection

      `getValueSelection, getVariableSelection, selectValue, selectVariable, setValueSelection, setVariableSelection`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### values

          protected Iterator<Enrollment> values(BacktrackNeighbourSelection.BacktrackNeighbourSelectionContext context,
                                                Request variable)

      List of values of the given variable that will be considered (filtered using `ShuffleStudentsSelection.Shuffle.matchFilter(Enrollment)` if applicable).
      Overrides:
        `values` in class `BacktrackNeighbourSelection<Request,Enrollment>`
      Parameters:
        `context` - assignment context
        `variable` - given variable
      Returns:
        values of the given variable that will be considered

    - #### selectNeighbour

          protected Neighbour<Request,Enrollment> selectNeighbour(Solution<Request,Enrollment> solution,
                                                                  org.cpsolver.studentsct.heuristics.selection.ShuffleStudentsSelection.Shuffle shuffle)