Package  Description 

org.cpsolver.coursett.constraint 
University Course Timetabling: Constraints.

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.heuristics 
University Course Timetabling: Heuristics.

org.cpsolver.coursett.model 
University Course Timetabling: Model.

org.cpsolver.exam.criteria 
Examination Timetabling: Criteria.

org.cpsolver.exam.criteria.additional 
Examination Timetabling: Additional (Experimental) Criteria.

org.cpsolver.exam.heuristics 
Examination Timetabling: Solution Heuristics.

org.cpsolver.exam.model 
Examination Timetabling: Model.

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.algorithms 
IFS Neighbourhood Search Algorithms

org.cpsolver.ifs.assignment.context 
Assignment context can be used by a class (e.g., a constraint, a extension, a neighborhood selection, or a criterion) to
contain any assignment dependent data.

org.cpsolver.ifs.criteria 
IFS Criteria.

org.cpsolver.ifs.dbt 
Dynamic backtracking extension of IFS solver

org.cpsolver.ifs.example.rpp 
Random Placement Problem.

org.cpsolver.ifs.example.tt 
Simple Timetabling Problem.

org.cpsolver.ifs.extension 
IFS Extensions (conflictbased statistics, maintenance of arc
consistency)

org.cpsolver.ifs.model 
IFS Model (description of a problem)

org.cpsolver.instructor.constraints 
Instructor Scheduling: Constraints.

org.cpsolver.instructor.criteria 
Instructor Scheduling: Criteria.

org.cpsolver.instructor.model 
Instructor Scheduling: Model.

org.cpsolver.studentsct 
Student Sectioning Solver.

org.cpsolver.studentsct.extension 
Student Sectioning: Various Extensions.

org.cpsolver.studentsct.model 
Student Sectioning: Model.

org.cpsolver.studentsct.online 
Online Student Sectioning Solver.

org.cpsolver.studentsct.reservation 
Student Sectioning: Reservations.

Modifier and Type  Class and Description 

class 
BreakFlexibleConstraint
The Break constraint checks for instructor lunch break or a break in general in between the given classes.

class 
DepartmentSpreadConstraint
Departmental ballancing constraint.

class 
DiscouragedRoomConstraint
Discouraged room constraint.

class 
FlexibleConstraint
Flexible constraint.

class 
GroupConstraint
Group constraint.

class 
InstructorConstraint
Instructor constraint.

class 
JenrlConstraint
Join student enrollment constraint.

class 
MaxBlockFlexibleConstraint
The MaxBlock constraint checks for too big blocks of backtoback classes of an instructor.

class 
MaxBreaksFlexibleConstraint
The MaxBreaks constraint limits the number of blocks of non backtoback classes of an instructor on a day.

class 
MaxConsecutiveDaysFlexibleConstraint
The MaxConsecutiveDays constraint limits the number of consecutive days of week during which the given set of classes are taught.

class 
MaxDaysFlexibleConstraint
The MaxDays constraint limits the number of days of week during which the given set of classes are taught.

class 
MaxHalfDaysFlexibleConstraint
The MaxHalfDays constraint limits the number of halfdays of week during which the given set of classes are taught.

class 
MaxHolesFlexibleConstraint
The MaxHoles constraint limits the number of free time (holes) for an instructor on a day.

class 
MaxWeeksFlexibleConstraint
The MaxWeeks constraint limits the number of weeks during which the given set of classes are taught.

class 
MinimizeNumberOfUsedGroupsOfTime
Minimize number of used groups of time within a set of classes.

class 
MinimizeNumberOfUsedRoomsConstraint
Minimize number of used rooms within the set of classes.

class 
RoomConstraint
Room constraint.

class 
SoftInstructorConstraint
Soft version of the instructor constraint.

class 
SpreadConstraint
Spread given set of classes in time as much as possible.

Modifier and Type  Class and Description 

class 
BackToBackInstructorPreferences
Bacttoback 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 workday 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 halfhours.

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 
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 conflictbased statistics to compute potential hard conflicts.

class 
WeightedHardConflicts
Hard conflicts weighted by the conflictbased statistics (past occurrences).

Modifier and Type  Class and Description 

class 
FixCompleteSolutionNeighbourSelection
University course timetabling neighbour selection.

Modifier and Type  Class and Description 

class 
Lecture
Lecture (variable).

Modifier and Type  Class and Description 

class 
DistributionPenalty
Distribution penalty.

class 
ExamCriterion
Abstract examination criterion.

class 
ExamRotationPenalty
Rotation penalty.

class 
InstructorBackToBackConflicts
Number of backtoback instructor conflicts.

class 
InstructorDirectConflicts
Number of direct instructor conflicts.

class 
InstructorDistanceBackToBackConflicts
Number of backtoback 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 backtoback student conflicts.

class 
StudentDirectConflicts
Number of direct student conflicts.

class 
StudentDistanceBackToBackConflicts
Number of backtoback 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 
ExamConstruction
Initial solution construction heuristics.

class 
ExamGreatDeluge
Deprecated.

class 
ExamHillClimbing
Deprecated.

class 
ExamNeighbourSelection
Examination timetabling neighbour selection.

class 
ExamSimulatedAnnealing
Deprecated.

class 
ExamTabuSearch
Tabu search algorithm.

Modifier and Type  Class and Description 

class 
ExamDistributionConstraint
Distribution binary constraint.

class 
ExamModel
Examination timetabling model.

class 
ExamRoom
A room.

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  Class and Description 

class 
GreatDeluge<V extends Variable<V,T>,T extends Value<V,T>>
Great deluge.

class 
HillClimber<V extends Variable<V,T>,T extends Value<V,T>>
Hill climber.

class 
MetaHeuristicSearch<V extends Variable<V,T>,T extends Value<V,T>>
Metaheuristic search neighbor selection.

class 
NeighbourSearch<V extends Variable<V,T>,T extends Value<V,T>>
Base class for the search techniques like hill climber, great deluge, or simulated annealing.

class 
ParallelConstruction<V extends Variable<V,T>,T extends Value<V,T>>
A simple neighbourhood selection extension suitable for the
ParallelSolver
during the construction phase. 
class 
SimpleSearch<V extends Variable<V,T>,T extends Value<V,T>>
Simple search neighbour selection.

class 
SimulatedAnnealing<V extends Variable<V,T>,T extends Value<V,T>>
Simulated annealing.

class 
StepCountingHillClimber<V extends Variable<V,T>,T extends Value<V,T>>
Step counting hill climber.

Modifier and Type  Class and Description 

class 
AbstractClassWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>
An abstract implementation of an assignment context holding class.

class 
BinaryConstraintWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentConstraintContext<V,T>>
A binary constraint with an assignment context.

class 
ConstraintWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentConstraintContext<V,T>>
A constraint with an assignment context.

class 
ExtensionWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>
An extension with an assignment context.

class 
ModelWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentConstraintContext<V,T>>
A model with an assignment context.

class 
NeighbourSelectionWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>
A neighborhood selection with an assignment context.

class 
VariableWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>
A variable with an assignment context.

Modifier and Type  Method and Description 

HasAssignmentContext<V,T,C> 
AssignmentContextReference.getParent()
Return parent class, i.e., the class implementing the
HasAssignmentContext interface. 
Modifier and Type  Method and Description 

static <V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext> 
AssignmentContextHelper.getContext(HasAssignmentContext<V,T,C> source,
Assignment<V,T> assignment)
Returns an assignment context associated with the given object.

Constructor and Description 

AssignmentContextReference(HasAssignmentContext<V,T,C> parent,
int index)
Create a reference context

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  Class and Description 

class 
DbtPropagation<V extends Variable<V,T>,T extends Value<V,T>>
Maintenance of arc consistency in dynamic backtracking.

Modifier and Type  Class and Description 

class 
ResourceConstraint
Resource constraint (rectangular area where the rectangles are to be placed).

Modifier and Type  Class and Description 

class 
Resource
Resource constraint

Modifier and Type  Class and Description 

class 
MacPropagation<V extends Variable<V,T>,T extends Value<V,T>>
MAC propagation.

class 
MacRevised<V extends Variable<V,T>,T extends Value<V,T>>
Another implementation of MAC propagation.

class 
SearchIntensification<V extends Variable<V,T>,T extends Value<V,T>>
Go back to the best known solution when no better solution is found within
the given amount of iterations.

Modifier and Type  Method and Description 

<C extends AssignmentContext> 
Model.createReference(HasAssignmentContext<V,T,C> parent)
Create a reference to an assignment context for a class that is in a need of one.

<C extends AssignmentContext> 
Model.removeReference(HasAssignmentContext<V,T,C> parent)
Remove a reference to an assignment context for the model

Modifier and Type  Class and Description 

class 
SameInstructorConstraint
Same Instructor Constraint.

class 
SameLinkConstraint
Same Link Constraint.

Modifier and Type  Class and Description 

class 
AttributePreferences
Attribute Preferences.

class 
BackToBack
Back to Back.

class 
CoursePreferences
Course Preferences.

class 
DifferentLecture
Different Lecture.

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

Modifier and Type  Class and Description 

class 
StudentSectioningModel
Student sectioning model.

Modifier and Type  Class and Description 

class 
DistanceConflict
This extension computes student distant conflicts.

class 
StudentQuality
This extension computes student schedule quality using various matrices.

class 
TimeOverlapsCounter
This extension computes time overlaps.

Modifier and Type  Class and Description 

class 
Config
Representation of a configuration of an offering.

class 
Course
Representation of a course offering.

class 
CourseRequest
Representation of a request of a student for one or more course.

class 
FreeTimeRequest
Representation of a request of a student for free time.

class 
Request
Representation of a request of a student for a course(s) or a free time.

class 
RequestGroup
Representation of a group of students requesting the same course that
should be scheduled in the same set of sections.

class 
Section
Representation of a class.

Modifier and Type  Class and Description 

class 
OnlineConfig
An online configuration.

class 
OnlineReservation
An online reservation.

class 
OnlineSection
An online section.

class 
OnlineSectioningModel
An online model.

class 
Test.TestModel 
Modifier and Type  Class and Description 

class 
CourseReservation
Course reservation.

class 
CurriculumOverride
Curriculum reservation override.

class 
CurriculumReservation
Curriculum reservation.

class 
DummyReservation
Dummy reservation.

class 
GroupReservation
Group reservation.

class 
IndividualReservation
Individual reservation.

class 
LearningCommunityReservation
Learning Community reservation.

class 
Reservation
Abstract reservation.

class 
ReservationOverride
Reservation override.
