Package  Description 

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

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

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

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.example.csp 
Random Binary CSP with uniform distribution.

org.cpsolver.ifs.example.jobshop 
JobShop Problem.

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.studentsct.constraint 
Student Sectioning: Constraints.

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

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 
ClassLimitConstraint
Class limit constraint.

class 
DepartmentSpreadConstraint
Departmental ballancing constraint.

class 
DiscouragedRoomConstraint
Discouraged room constraint.

class 
FlexibleConstraint
Flexible constraint.

class 
GroupConstraint
Group constraint.

class 
IgnoreStudentConflictsConstraint
Ignore student conflicts 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 
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  Method and Description 

Set<Constraint<Lecture,Placement>> 
Lecture.getWeakeningConstraints() 
Modifier and Type  Method and Description 

void 
TimetableModel.addConstraint(Constraint<Lecture,Placement> constraint) 
void 
Lecture.addContstraint(Constraint<Lecture,Placement> constraint) 
void 
OnFlySectioning.constraintAdded(Constraint<Lecture,Placement> constraint) 
void 
OnFlySectioning.constraintRemoved(Constraint<Lecture,Placement> constraint) 
void 
TimetableModel.removeConstraint(Constraint<Lecture,Placement> constraint) 
void 
Lecture.removeContstraint(Constraint<Lecture,Placement> constraint) 
Modifier and Type  Class and Description 

class 
ExamDistributionConstraint
Distribution binary constraint.

class 
ExamInstructor
An instructor.

class 
ExamRoom
A room.

class 
ExamStudent
A student.

Modifier and Type  Method and Description 

void 
Exam.addContstraint(Constraint<Exam,ExamPlacement> constraint)
Adds a constraint.

int 
ExamRoom.compareTo(Constraint<Exam,ExamPlacement> o)
Compare two rooms (by unique id)

int 
ExamStudent.compareTo(Constraint<Exam,ExamPlacement> o)
Compare two students (by student ids)

void 
Exam.removeContstraint(Constraint<Exam,ExamPlacement> constraint)
Removes a constraint.

Modifier and Type  Class and Description 

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.

Modifier and Type  Method and Description 

void 
AbstractCriterion.constraintAdded(Constraint<V,T> constraint) 
void 
AbstractCriterion.constraintRemoved(Constraint<V,T> constraint) 
Modifier and Type  Class and Description 

class 
CSPBinaryConstraint
CSP binary constraint.

Modifier and Type  Class and Description 

class 
Job
Job constraint.

class 
Machine
Machine constraint.

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 
Dependence
Binary dependence between two activities.

class 
Resource
Resource constraint

Modifier and Type  Field and Description 

protected List<Constraint<V,T>> 
MacPropagation.iConstraints
List of constraints on which arcconsistency is to be maintained

protected List<Constraint<V,T>> 
MacRevised.iConstraints
List of constraints on which arcconsistency is to be maintained

Modifier and Type  Method and Description 

Constraint<?,T> 
AssignedValue.getConstraint()
Returns constraint

Constraint<?,T> 
AssignedValueSet.getConstraint()
Returns constraint

Modifier and Type  Method and Description 

void 
MacPropagation.addConstraint(Constraint<V,T> constraint)
Adds a constraint on which arcconsistency is to be maintained

void 
MacRevised.addConstraint(Constraint<V,T> constraint)
Adds a constraint on which arcconsistency is to be maintained

void 
ConflictStatistics.constraintAdded(Constraint<V,T> constraint) 
void 
Extension.constraintAdded(Constraint<V,T> constraint)
Called when a constraint is added to the model

void 
ConflictStatistics.constraintAfterAssigned(Assignment<V,T> assignment,
long iteration,
Constraint<V,T> constraint,
T assigned,
Set<T> unassigned)
Increments appropriate counters when there is a value unassigned

void 
ConflictStatistics.constraintBeforeAssigned(Assignment<V,T> assignment,
long iteration,
Constraint<V,T> constraint,
T assigned,
Set<T> unassigned) 
void 
ConflictStatistics.constraintRemoved(Constraint<V,T> constraint) 
void 
Extension.constraintRemoved(Constraint<V,T> constraint)
Called when a constraint is removed from the model

boolean 
MacPropagation.contains(Constraint<V,T> constraint)
Returns true, if arcconsistency is to be maintained on the given
constraint

boolean 
MacRevised.contains(Constraint<V,T> constraint)
Returns true, if arcconsistency is to be maintained on the given
constraint

Set<T> 
MacRevised.NoGood.explanation(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T value,
V variable) 
boolean 
MacRevised.NoGood.hasSupport(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T value,
V variable) 
void 
MacRevised.NoGood.propagate(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T noGoodValue,
List<T> queue) 
boolean 
MacRevised.NoGood.revise(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T value) 
void 
AssignedValue.setConstraint(Constraint<?,T> constraint)
Sets constraint

void 
AssignedValueSet.setConstraint(Constraint<?,T> constraint)
Sets constraint

Set<T> 
MacRevised.NoGood.supports(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T value,
V variable) 
Modifier and Type  Class and Description 

class 
BinaryConstraint<V extends Variable<V,T>,T extends Value<V,T>>
Binary constraint.

class 
GlobalConstraint<V extends Variable<V,T>,T extends Value<V,T>>
Generic global constraint.

Modifier and Type  Method and Description 

Map<Constraint<V,T>,Set<T>> 
Model.conflictConstraints(Assignment<V,T> assignment,
T value)
The list of constraints which are in a conflict with the given value if
it is assigned to its variable.

List<Constraint<V,T>> 
Model.constraints()
The list of constraints in the model

List<Constraint<V,T>> 
Variable.constraints()
Return the list of constraints associated with this variable

Map<V,List<Constraint<V,T>>> 
Variable.constraintVariables()
Returns a table of all variables linked with this variable by a
constraint.

List<Constraint<V,T>> 
Variable.hardConstraints()
Return the list of hard constraints associated with this variable

List<Constraint<V,T>> 
Variable.softConstraints()
Return the list of soft constraints associated with this variable

List<Constraint<V,T>> 
Model.unassignedHardConstraints(Assignment<V,T> assignment)
The list of hard constraints which contain at least one variable that is
not assigned.

Modifier and Type  Method and Description 

void 
Model.addConstraint(Constraint<V,T> constraint)
Adds a constraint to the model

void 
Variable.addContstraint(Constraint<V,T> constraint)
Adds a constraint.

int 
Constraint.compareTo(Constraint<V,T> c) 
void 
ModelListener.constraintAdded(Constraint<V,T> constraint)
Constraint is added to the model

void 
ConstraintListener.constraintAfterAssigned(Assignment<V,T> assignment,
long iteration,
Constraint<V,T> constraint,
T assigned,
Set<T> unassigned)
Called by the constraint, after a value is assigned to its variable.

void 
ConstraintListener.constraintBeforeAssigned(Assignment<V,T> assignment,
long iteration,
Constraint<V,T> constraint,
T assigned,
Set<T> unassigned)
Called by the constraint, before a value is assigned to its variable.

void 
ModelListener.constraintRemoved(Constraint<V,T> constraint)
Constraint is removed from the model

void 
Model.removeConstraint(Constraint<V,T> constraint)
Removes a constraint from the model

void 
Variable.removeContstraint(Constraint<V,T> constraint)
Removes a constraint.

Modifier and Type  Class and Description 

class 
SameInstructorConstraint
Same Instructor Constraint.

class 
SameLinkConstraint
Same Link Constraint.

Modifier and Type  Class and Description 

class 
CancelledSections
Cancelled sections constraint.

class 
ConfigLimit
Configuration limit constraint.

class 
CourseLimit
Course limit constraint.

class 
DisabledSections
Disabled sections constraint.

class 
FixedAssignments
Fixed assignment constraint.

class 
FixInitialAssignments
Fix initial assignment constraint.

class 
LinkedSections.LinkedSectionsConstraint
Linked sections constraint  to be created for each student that requests two
or more offerings of this link

class 
RequiredReservation
Required reservation constraint.

class 
RequiredRestrictions
Required restrictions constraint.

class 
RequiredSections
Required sections constraint.

class 
ReservationLimit
Reservation limit constraint.

class 
SectionLimit
Section limit constraint.

class 
StudentConflict
This constraints ensures that a student is not enrolled into sections that
are overlapping in time.

class 
StudentNotAvailable
Student not available.

Modifier and Type  Class and Description 

class 
MaxOverExpectedConstraint
A global constraint limiting the overexpected penalization for a student.
