Package | Description |
---|---|
org.cpsolver.exam.heuristics |
Examination Timetabling: Solution Heuristics.
|
org.cpsolver.exam.model |
Examination Timetabling: Model.
|
org.cpsolver.exam.neighbours |
Examination Timetabling: Various Neighbourhoods.
|
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.
|
Modifier and Type | Method and Description |
---|---|
Set<ExamRoomPlacement> |
ExamColoringConstruction.findRooms(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriodPlacement period) |
Modifier and Type | Method and Description |
---|---|
ExamPeriodPlacement |
ExamPlacement.getPeriodPlacement()
Assigned period placement
|
ExamPeriodPlacement |
Exam.getPeriodPlacement(ExamPeriod period)
Returns appropriate
ExamPeriodPlacement for the given period, if
it is available for this exam, null otherwise. |
ExamPeriodPlacement |
Exam.getPeriodPlacement(Long periodId)
Returns appropriate
ExamPeriodPlacement for the given period, if
it is available for this exam, null otherwise. |
Modifier and Type | Method and Description |
---|---|
List<ExamPeriodPlacement> |
Exam.getPeriodPlacements()
Return list of possible period placements.
|
Modifier and Type | Method and Description |
---|---|
boolean |
Exam.checkDistributionConstraints(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Check all distribution constraint that this exam is involved in
|
int |
ExamPeriodPlacement.compareTo(ExamPeriodPlacement o)
Compare two period placements
|
int |
Exam.countInstructorConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Number of instructor of this exam (that does not have direct conflicts
allowed, see
ExamInstructor.canConflict(Exam, Exam) ) that attend
some other exam in the given period. |
int |
Exam.countStudentConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Number of students of this exam (that does not have direct conflicts
allowed, see
ExamStudent.canConflict(Exam, Exam) ) that attend
some other exam in the given period. |
Set<ExamRoomPlacement> |
Exam.findBestAvailableRooms(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Find best available rooms for the exam in the given period.
|
Set<ExamRoomPlacement> |
Exam.findRoomsRandom(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Randomly find a set of available rooms for the exam in the given period.
|
Set<ExamRoomPlacement> |
Exam.findRoomsRandom(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period,
boolean checkConflicts)
Randomly find a set of available rooms for the exam in the given period.
|
Constructor and Description |
---|
ExamPlacement(Exam exam,
ExamPeriodPlacement periodPlacement,
Set<ExamRoomPlacement> roomPlacements)
Constructor
|
Constructor and Description |
---|
Exam(long id,
String name,
int length,
boolean altSeating,
int maxRooms,
int minSize,
List<ExamPeriodPlacement> periodPlacements,
List<ExamRoomPlacement> roomPlacements)
Constructor
|
Modifier and Type | Method and Description |
---|---|
boolean |
ExamPeriodSwapMove.checkDistributionConstraints(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriodPlacement period,
Map<Exam,ExamPlacement> placements) |
Set<ExamRoomPlacement> |
ExamPeriodSwapMove.findBestAvailableRooms(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriodPlacement period,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements) |
Modifier and Type | Method and Description |
---|---|
Set<ExamRoomPlacement> |
ExamSplitMoves.findBestAvailableRooms(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriodPlacement period,
int examSize)
Find best available rooms for a new exam (that is to be split from the given one),
if is is assigned into the given examination period.
|