Package | Description |
---|---|
org.cpsolver.coursett.criteria |
University Course Timetabling: Criteria.
|
org.cpsolver.coursett.criteria.additional |
University Course Timetabling: Additional (Experimental) Criteria.
|
org.cpsolver.coursett.criteria.placement |
University Course Timetabling: Placement Selection Criteria.
|
org.cpsolver.coursett.custom |
University Course Timetabling: Various customizations.
|
org.cpsolver.coursett.model |
University Course Timetabling: Model.
|
org.cpsolver.coursett.sectioning |
Additional Student Sectioning Algorithms.
|
org.cpsolver.exam.criteria |
Examination Timetabling: Criteria.
|
org.cpsolver.exam.criteria.additional |
Examination Timetabling: Additional (Experimental) Criteria.
|
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.
|
org.cpsolver.ifs.criteria |
IFS Criteria.
|
org.cpsolver.ifs.model |
IFS Model (description of a problem)
|
org.cpsolver.instructor.criteria |
Instructor Scheduling: Criteria.
|
org.cpsolver.studentsct |
Student Sectioning Solver.
|
org.cpsolver.studentsct.extension |
Student Sectioning: Various Extensions.
|
org.cpsolver.studentsct.heuristics.selection |
Student Sectioning: Various Neighbour Selection Criteria.
|
org.cpsolver.studentsct.online.selection |
Online Student Sectioning Solver: Selection Weights and Heuristics.
|
Modifier and Type | Class and Description |
---|---|
class |
BackToBackInstructorPreferences
Bact-to-back instructor preferences.
|
class |
BrokenTimePatterns
Broken time patterns.
|
class |
DepartmentBalancingPenalty
Department balancing penalty.
|
class |
DistributionPreferences
Distribution preferences.
|
class |
FlexibleConstraintCriterion
The class encapsulates various flexible constraints concerning compact timetables of
instructors.
|
class |
Perturbations
Perturbations.
|
class |
RoomPreferences
Room preferences.
|
class |
RoomViolations
Room violations.
|
class |
SameSubpartBalancingPenalty
Same subpart balancing penalty.
|
class |
StudentCommittedConflict
Student committed conflicts.
|
class |
StudentConflict
Student conflicts.
|
class |
StudentDistanceConflict
Student distance conflicts.
|
class |
StudentHardConflict
Student hard conflicts.
|
class |
StudentOverlapConflict
Student overlapping conflicts.
|
class |
StudentWorkdayConflict
Student work-day conflicts.
|
class |
TimePreferences
Time preferences.
|
class |
TimetablingCriterion
Abstract class for all timetabling criteria.
|
class |
TimeViolations
Time violations.
|
class |
TooBigRooms
Too big rooms.
|
class |
UselessHalfHours
Useless half-hours.
|
Modifier and Type | Class and Description |
---|---|
class |
IgnoredCommittedStudentConflict
Ignored committed student conflicts.
|
class |
IgnoredStudentConflict
Ignored student conflicts.
|
class |
ImportantStudentConflict
Important student conflicts.
|
class |
ImportantStudentHardConflict
Important student hard conflicts.
|
class |
InstructorConflict
Instructor conflict counting criterion.
|
class |
InstructorFairness
This class represent fairness criterion for instructors.
|
class |
InstructorLunchBreak
The class represents various criteria concerning compact timetables of
instructors.
|
class |
InstructorStudentConflict
Instructor student conflicts.
|
class |
InstructorStudentHardConflict
Instructor student conflicts.
|
class |
QuadraticStudentConflict
Quadratic student conflicts.
|
class |
QuadraticStudentHardConflict
Quadratic student conflicts.
|
class |
RoomSizePenalty
Cost for using room(s) that are too big.
|
class |
StudentLuchBreak
Naive, yet effective approach for modeling student lunch breaks.
|
class |
StudentMinimizeDaysOfWeek
Naive, yet effective approach for minimizing number of days in student schedule.
|
class |
StudentMinimizeScheduleHoles
Naive, yet effective approach for minimizing holes in student schedule.
|
class |
StudentOnlineConflict
An experimental criterion that tries to minimize cases where a student has an online and in-person
class on the same day.
|
class |
StudentOverLunchConflict
An experimental criterion that tries to keep student all classes before or after the lunch period.
|
Modifier and Type | Class and Description |
---|---|
class |
AssignmentCount
Deprecated.
|
class |
DeltaTimePreference
Difference between proposed and best time assignment.
|
class |
HardConflicts
Number of values (of other variables) that have to be unassigned in order before
this value can be assigned.
|
class |
PlacementSelectionCriterion
Abstract class for all criteria that are to be used only in the placement selection
(do not have any impact on the overall solution value).
|
class |
PotentialHardConflicts
Use conflict-based statistics to compute potential hard conflicts.
|
class |
WeightedHardConflicts
Hard conflicts weighted by the conflict-based statistics (past occurrences).
|
Modifier and Type | Class and Description |
---|---|
class |
DeterministicStudentSectioning
Deterministic implementation of the initial student sectioning.
|
Modifier and Type | Class and Description |
---|---|
class |
DefaultStudentSectioning
Default implementation of the student sectioning functions needed within the course timetabling solver
consisting of
InitialSectioning and FinalSectioning . |
Modifier and Type | Class and Description |
---|---|
class |
SctSectioning
Student sectioning implementation based on branch & bound.
|
class |
StudentSwapSectioning
Student sectioning implementation based on local search.
|
Modifier and Type | Class and Description |
---|---|
class |
DistributionPenalty
Distribution penalty.
|
class |
ExamCriterion
Abstract examination criterion.
|
class |
ExamRotationPenalty
Rotation penalty.
|
class |
InstructorBackToBackConflicts
Number of back-to-back instructor conflicts.
|
class |
InstructorDirectConflicts
Number of direct instructor conflicts.
|
class |
InstructorDistanceBackToBackConflicts
Number of back-to-back distance instructor conflicts.
|
class |
InstructorMoreThan2ADayConflicts
Number of more than two exams a day instructor conflicts.
|
class |
InstructorNotAvailableConflicts
Number of direct instructor conflicts caused by the fact that an instructor is
not available.
|
class |
LargeExamsPenalty
Front load penalty.
|
class |
PeriodIndexPenalty
Average index of the assigned period.
|
class |
PeriodPenalty
Cost for using a period.
|
class |
PeriodSizePenalty
A weight for period penalty (used in
ExamPeriodPlacement.getPenalty() multiplied by examination size
Exam.getSize() . |
class |
PerturbationPenalty
Perturbation penalty.
|
class |
RoomPenalty
Room penalty (penalty for using given rooms).
|
class |
RoomPerturbationPenalty
Room perturbation penalty.
|
class |
RoomSplitDistancePenalty
Room split distance penalty.
|
class |
RoomSplitPenalty
Cost for using more than one room (nrSplits^2).
|
class |
StudentBackToBackConflicts
Number of back-to-back student conflicts.
|
class |
StudentDirectConflicts
Number of direct student conflicts.
|
class |
StudentDistanceBackToBackConflicts
Number of back-to-back distance student conflicts.
|
class |
StudentMoreThan2ADayConflicts
Number of more than two exams a day student conflicts.
|
class |
StudentNotAvailableConflicts
Number of direct student conflicts caused by the fact that a student is
not available.
|
Modifier and Type | Class and Description |
---|---|
class |
DistanceToStronglyPreferredRoom
Experimental criterion measuring average distance (in meters) to the
strongly preferred room (or rooms) of the examination.
|
class |
DistributionViolation
Experimental criterion counting violations of hard distribution constraints.
|
class |
PeriodViolation
Experimental criterion counting violations of periods assignments.
|
class |
RoomViolation
Experimental criterion counting violations of room assignments.
|
class |
StudentMoreThan1ADayConflicts
Number of more than One exam a day student conflicts.
|
Modifier and Type | Class and Description |
---|---|
class |
ExamSplitter
Experimental criterion that allows an exam to be split
into two if it decreases the number of student conflicts.
|
Modifier and Type | Interface and Description |
---|---|
interface |
Criterion<V extends Variable<V,T>,T extends Value<V,T>>
Criterion.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractCriterion<V extends Variable<V,T>,T extends Value<V,T>>
Abstract Criterion.
|
class |
AssignedValue<V extends Variable<V,T>,T extends Value<V,T>>
Simple Criterion: Sum of
Value.toDouble(Assignment) . |
Modifier and Type | Interface and Description |
---|---|
interface |
ExtendedInfoProvider<V extends Variable<V,T>,T extends Value<V,T>>
An extension of the
InfoProvider class providing extended information. |
Modifier and Type | Method and Description |
---|---|
protected List<InfoProvider<V,T>> |
Model.getInfoProviders()
Registered info providers (see
InfoProvider ) |
Modifier and Type | Class and Description |
---|---|
class |
AttributePreferences
Attribute Preferences.
|
class |
BackToBack
Back to Back.
|
class |
CoursePreferences
Course Preferences.
|
class |
DifferentLecture
Different Lecture.
|
class |
Distributions
Distributions criterion.
|
class |
InstructorPreferences
Instructor Preferences.
|
class |
InstructorSchedulingCriterion
Abstract instructor scheduling criterion.
|
class |
OriginalInstructor
Original Instructor.
|
class |
SameCommon
Same Common Preferences.
|
class |
SameCourse
Same Course Preferences.
|
class |
SameDays
Same Days.
|
class |
SameInstructor
Same Instructor.
|
class |
SameLink
Same Link.
|
class |
SameRoom
Same Room.
|
class |
TeachingPreferences
Teaching Preferences.
|
class |
TimeOverlaps
Time overlaps.
|
class |
UnusedInstructorLoad
Unused Instructor Load.
|
Modifier and Type | Class and Description |
---|---|
class |
StudentSectioningModel.StudentSectioningModelContext |
Modifier and Type | Class and Description |
---|---|
class |
StudentQuality
This extension computes student schedule quality using various matrices.
|
Modifier and Type | Class and Description |
---|---|
class |
AssignInitialSelection
Assign initial enrollments.
|
class |
BacktrackSelection
Use backtrack neighbour selection.
|
class |
BranchBoundSelection
Section all students using incremental branch & bound (no unassignments).
|
class |
CriticalBacktrackSelection
Use backtrack neighbour selection.
|
class |
CriticalCoursesBranchAndBoundSelection
This selection is very much like
BranchBoundSelection , but only critical
course requests are assigned (see Request.isCritical() . |
class |
MinCreditBranchAndBoundSelection
This selection is very much like
BranchBoundSelection , but only enough
courses to a student is assigned to reach the min credit (see Student.getMinCredit() ). |
class |
OnlineSelection
Section given student using branch & bound algorithm with no unassignments
allowed.
|
class |
ResectionIncompleteStudentsSelection
Resection incomplete studends.
|
class |
ResectionUnassignedStudentsSelection
Resection studends with empty schedule.
|
class |
StudentEnrollmentSwapSelection
Swap enrollments of different students of a course.
|
class |
SwapStudentSelection
Pick a student (one by one) with an incomplete schedule, try to find an
improvement, identify problematic students.
|
Modifier and Type | Class and Description |
---|---|
class |
SuggestionSelection
Online student sectioning algorithm based on the
BranchBoundSelection of the batch solver. |