# Package net.sf.cpsolver.studentsct.heuristics.selection

Student Sectioning: Various Neighbour Selection Criteria.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ProblemStudentsProvider | An interface to pass the list problematic students computed by a neighbour selection to the next neighbour selection.

- Class Summary
  Class | Description
  --- | ---
  BacktrackSelection | Use backtrack neighbour selection.
  BranchBoundSelection | Section all students using incremental branch & bound (no unassignments).
  BranchBoundSelection.BranchBoundNeighbour | Branch & bound neighbour -- a schedule of a student
  OnlineSelection | Section given student using branch & bound algorithm with no unassignments allowed.
  PriorityConstructionSelection | This selection is very much like `BranchBoundSelection`, but it works in cycles (over all the students) assigning only the first N priority courses.
  RandomUnassignmentSelection | Random unassignment of some (randomly selected) students.
  RandomUnassignmentSelection.UnassignStudentNeighbour | Unassignment of all requests of a student
  ResectionIncompleteStudentsSelection | Resection incomplete studends.
  ResectionUnassignedStudentsSelection | Resection studends with empty schedule.
  RndUnProblStudSelection | Random unassignment of some problematic students.
  StandardSelection | Use the provided variable and value selection for some time.
  SwapStudentSelection | Pick a student (one by one) with an incomplete schedule, try to find an improvement, identify problematic students.
  SwapStudentSelection.SwapStudentNeighbour | Neighbour that contains the swap

## Package net.sf.cpsolver.studentsct.heuristics.selection Description

Student Sectioning: Various Neighbour Selection Criteria.
These criteria are used by StudentSctNeighbourSelection.