# Package org.cpsolver.exam.criteria

Examination Timetabling: Criteria.

See: Description

- Class Summary
  Class | Description
  --- | ---
  DistributionPenalty | Distribution penalty.
  ExamCriterion | Abstract examination criterion.
  ExamRotationPenalty | Rotation penalty.
  InstructorBackToBackConflicts | Number of back-to-back instructor conflicts.
  InstructorDirectConflicts | Number of direct instructor conflicts.
  InstructorDistanceBackToBackConflicts | Number of back-to-back distance instructor conflicts.
  InstructorMoreThan2ADayConflicts | Number of more than two exams a day instructor conflicts.
  InstructorNotAvailableConflicts | Number of direct instructor conflicts caused by the fact that an instructor is not available.
  LargeExamsPenalty | Front load penalty.
  PeriodIndexPenalty | Average index of the assigned period.
  PeriodPenalty | Cost for using a period.
  PeriodSizePenalty | A weight for period penalty (used in `ExamPeriodPlacement.getPenalty()` multiplied by examination size `Exam.getSize()`.
  PerturbationPenalty | Perturbation penalty.
  RoomPenalty | Room penalty (penalty for using given rooms).
  RoomPerturbationPenalty | Room perturbation penalty.
  RoomSizePenalty | Cost for using room(s) that are too big.
  RoomSplitDistancePenalty | Room split distance penalty.
  RoomSplitPenalty | Cost for using more than one room (nrSplits^2).
  StudentBackToBackConflicts | Number of back-to-back student conflicts.
  StudentDirectConflicts | Number of direct student conflicts.
  StudentDistanceBackToBackConflicts | Number of back-to-back distance student conflicts.
  StudentMoreThan2ADayConflicts | Number of more than two exams a day student conflicts.
  StudentNotAvailableConflicts | Number of direct student conflicts caused by the fact that a student is not available.

## Package org.cpsolver.exam.criteria Description

Examination Timetabling: Criteria.
This packages contains all criteria that are forming the objective function in the examination timetabling problem.

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