net.sf.cpsolver.exam.split

## Class ExamSplitMoves.ExamShuffleNeighbour

- java.lang.Object
- - net.sf.cpsolver.ifs.model.Neighbour<Exam,ExamPlacement>
  - - net.sf.cpsolver.exam.split.ExamSplitMoves.ExamShuffleNeighbour

- Enclosing class:
    ExamSplitMoves

      protected class ExamSplitMoves.ExamShuffleNeighbour
      extends Neighbour<Exam,ExamPlacement>

  Shuffle students between the parent exam and all of its children. Only swaps that are decreasing the weighted sum of student conflicts are considered.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExamShuffleNeighbour(Exam exam)` Exam to be shuffled.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `assign(long iteration)` Perform the shuffle.
    `Exam` | `exam()` Exam to be shuffled.
    `double` | `value()` Value of the shuffle.

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

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

- - ### Constructor Detail

    - #### ExamShuffleNeighbour

          public ExamShuffleNeighbour(Exam exam)

      Exam to be shuffled.

  - ### Method Detail

    - #### assign

          public void assign(long iteration)

      Perform the shuffle.
      Specified by:
        `assign` in class `Neighbour<Exam,ExamPlacement>`

    - #### value

          public double value()

      Value of the shuffle. This is the weighted sum of all student conflicts that will be removed by the shuffle.
      Specified by:
        `value` in class `Neighbour<Exam,ExamPlacement>`

    - #### exam

          public Exam exam()

      Exam to be shuffled.