net.sf.cpsolver.exam.split

## Class ExamSplitMoves.ExamSplitNeighbour

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

- Enclosing class:
    ExamSplitMoves

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

  Split an exam into two

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExamSplitNeighbour(Exam exam, ExamPlacement placement)` Split an exam into two, assign the new exam into the given placement.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `assign(long iteration)` Perform the split.
    `Exam` | `exam()` Exam to be split.
    `int` | `nrStudents()` Number of students that will be moved into the new exam.
    `ExamPlacement` | `placement()` Placement of the new exam.
    `double` | `value()` Value of the split.

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

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

- - ### Constructor Detail

    - #### ExamSplitNeighbour

          public ExamSplitNeighbour(Exam exam,
                                    ExamPlacement placement)

      Split an exam into two, assign the new exam into the given placement.
      Parameters:
        `exam` - an exam to be split
        `placement` - a placement to be assigned to the new exam

  - ### Method Detail

    - #### assign

          public void assign(long iteration)

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

    - #### value

          public double value()

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

    - #### nrStudents

          public int nrStudents()

      Number of students that will be moved into the new exam.

    - #### exam

          public Exam exam()

      Exam to be split.

    - #### placement

          public ExamPlacement placement()

      Placement of the new exam.