# 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.

Version:
  IFS 1.4 (Instructor Sectioning)
  Copyright (C) 2024 Tomáš Müller
  muller@unitime.org
  http://muller.unitime.org
  This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
  You should have received a copy of the GNU Lesser General Public License along with this library; if not see http://www.gnu.org/licenses/.
Author:
  Tomáš Müller