Package | Description |
---|---|
org.cpsolver.exam.model |
Examination Timetabling: Model.
|
Modifier and Type | Method and Description |
---|---|
ExamPeriod |
ExamModel.addPeriod(Long id,
String day,
String time,
int length,
int penalty)
Add a period
|
ExamPeriod |
ExamPeriodPlacement.getPeriod()
Examination period
|
ExamPeriod |
ExamPlacement.getPeriod()
Assigned period
|
ExamPeriod |
ExamModel.getPeriod(Long id)
Period of given unique id
|
ExamPeriod |
ExamPeriod.next()
Next period
|
ExamPeriod |
ExamPeriod.prev()
Previous period
|
Modifier and Type | Method and Description |
---|---|
List<ExamPeriod> |
ExamModel.getPeriods()
List of periods, use
ExamModel.addPeriod(Long, String, String, int, int) to add a
period |
Modifier and Type | Method and Description |
---|---|
void |
Exam.allowAllStudentConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Allow all direct student conflict for the given period (see
ExamStudent.canConflict(Exam, Exam) ). |
int |
ExamPeriod.compareTo(ExamPeriod p) |
void |
ExamRoom.computeConflicts(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriod period,
Set<ExamPlacement> conflicts)
Compute conflicts if the given exam is assigned in this room and the given period
|
Set<Exam> |
ExamInstructor.getExams(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exam(s) enrolled by the instructor that are scheduled in the given period
|
Set<Exam> |
ExamStudent.getExams(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exam(s) enrolled by the student that are scheduled in the given period
|
Set<Exam> |
ExamInstructor.getExamsADay(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exam(s) enrolled by the instructor that are scheduled in the given day
|
Set<Exam> |
ExamStudent.getExamsADay(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exam(s) enrolled by the student that are scheduled in the given day
|
Map<ExamInstructor,Set<Exam>> |
ExamModel.getInstructorsOfDay(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period) |
Map<ExamInstructor,Set<Exam>> |
ExamModel.getInstructorsOfPeriod(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period) |
int |
ExamRoom.getPenalty(ExamPeriod period)
Return room penalty for given period
|
int |
ExamRoomPlacement.getPenalty(ExamPeriod period)
Penalty for assignment of an exam into this room
Exam.getRoomPlacements() and the given examination period |
ExamPeriodPlacement |
Exam.getPeriodPlacement(ExamPeriod period)
Returns appropriate
ExamPeriodPlacement for the given period, if
it is available for this exam, null otherwise. |
List<ExamPlacement> |
ExamRoom.getPlacements(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exams placed at the given period
|
HashSet<Exam> |
Exam.getStudentConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
List of exams that are assigned to the given period and share one or more
students with this exam (that does not have direct conflicts allowed, see
ExamStudent.canConflict(Exam, Exam) ). |
Map<ExamStudent,Set<Exam>> |
ExamModel.getStudentsOfDay(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period) |
Map<ExamStudent,Set<Exam>> |
ExamModel.getStudentsOfPeriod(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period) |
boolean |
ExamPeriod.hasIntersection(Exam x1,
Exam x2,
ExamPeriod p)
Check if the first exam assigned to this period overlaps with the second exam assigned in the given period period
|
boolean |
ExamPeriod.hasIntersection(ExamPeriod p)
Check if this period overlaps with the given period
|
boolean |
Exam.hasStudentConflictWithPreAssigned(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
True, if there is a student of this exam (that does not have direct
conflicts allowed, see
ExamStudent.canConflict(Exam, Exam) ) that
attends some other exam in the given period. |
boolean |
ExamRoom.inConflict(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriod period)
Check for conflicts if the given exam is assigned in this room and the given period
|
boolean |
ExamInstructor.isAvailable(ExamPeriod period)
True if the student is available (for examination timetabling) during the
given period
|
boolean |
ExamRoom.isAvailable(ExamPeriod period)
True if the room is available (for examination timetabling) during the
given period
|
boolean |
ExamRoomPlacement.isAvailable(ExamPeriod period)
Examination room availability
|
boolean |
ExamStudent.isAvailable(ExamPeriod period)
True if the student is available (for examination timetabling) during the
given period
|
boolean |
ExamDistributionConstraint.DistributionType.isSatisfied(ExamPeriod first,
ExamPeriod second) |
boolean |
ExamDistributionConstraint.PeriodCheck.isSatisfied(ExamPeriod first,
ExamPeriod second) |
void |
ExamRoom.setAvailable(ExamPeriod period,
boolean available)
Set whether the room is available (for examination timetabling) during
the given period
|
void |
ExamPeriod.setNext(ExamPeriod next)
Set next period (only to be used by
ExamModel.addPeriod(Long, String, String, int, int) ) |
void |
ExamRoom.setPenalty(ExamPeriod period,
int penalty)
Set room penalty for given period
|
void |
ExamPeriod.setPrev(ExamPeriod prev)
Set previous period (only to be used by
ExamModel.addPeriod(Long, String, String, int, int) ) |
Constructor and Description |
---|
ExamPeriodPlacement(ExamPeriod period,
int penalty)
Constructor
|