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