# Package org.cpsolver.exam.split

This package contains an an experimental criterion that allows an exam to be split into two if it decreases the number of student conflicts.

See: Description

- Class Summary
  Class | Description
  --- | ---
  ExamSplitMoves | Experimental neighbor selection that allows an exam to be split into two if it decreases the number of student conflicts.
  ExamSplitter | Experimental criterion that allows an exam to be split into two if it decreases the number of student conflicts.

## Package org.cpsolver.exam.split Description

This package contains an an experimental criterion that allows an exam to be split into two if it decreases the number of student conflicts.
An examination split is improving (and is considered) if the weighted number of student conflicts that will be removed by the split is bigger than the weight of the splitter criterion.
To enable examination splitting, following parameters needs to be set:

- HillClimber.AdditionalNeighbours=org.cpsolver.exam.split.ExamSplitMoves
- GreatDeluge.AdditionalNeighbours=org.cpsolver.exam.split.ExamSplitMoves
- Exams.AdditionalCriteria=org.cpsolver.exam.split.ExamSplitter
- Exams.ExamSplitWeight=500

The Exams.ExamSplitWeight represents the weight of a split. For instance, to allow only splits that decrease the number of student direct conflicts, half of the weight of a direct student conflict is a good value for this weight.