Package | Description |
---|---|
org.cpsolver.studentsct |
Student Sectioning Solver.
|
org.cpsolver.studentsct.constraint |
Student Sectioning: Constraints.
|
org.cpsolver.studentsct.extension |
Student Sectioning: Various Extensions.
|
org.cpsolver.studentsct.filter |
Various student filters.
|
org.cpsolver.studentsct.heuristics.selection |
Student Sectioning: Various Neighbour Selection Criteria.
|
org.cpsolver.studentsct.heuristics.studentord |
Online Student Sectioning Test: various students orderings
|
org.cpsolver.studentsct.model |
Student Sectioning: Model.
|
org.cpsolver.studentsct.online |
Online Student Sectioning Solver.
|
org.cpsolver.studentsct.online.selection |
Online Student Sectioning Solver: Selection Weights and Heuristics.
|
org.cpsolver.studentsct.report |
Student Sectioning: Various Reports.
|
org.cpsolver.studentsct.reservation |
Student Sectioning: Reservations.
|
Modifier and Type | Method and Description |
---|---|
Student |
StudentSctBBTest.getStudent()
Return the given student
|
protected Student |
StudentSectioningXMLLoader.loadStudent(Element studentEl,
Map<Long,Offering> offeringTable)
Load student
|
Modifier and Type | Method and Description |
---|---|
Set<Student> |
StudentSectioningModel.StudentSectioningModelContext.getCompleteStudents()
Students with complete schedules (see
isComplete(Assignment) ) |
List<Student> |
StudentSectioningModel.getStudents()
Students
|
Modifier and Type | Method and Description |
---|---|
boolean |
Test.ExtraStudentFilter.accept(Student student) |
void |
StudentSectioningModel.addStudent(Student student)
Add a student into the model
|
CourseRequest |
StudentSectioningXMLLoader.loadCourseRequest(Element requestEl,
Student student,
Map<Long,Offering> offeringTable,
Map<Long,Course> courseTable)
Load course request
|
FreeTimeRequest |
StudentSectioningXMLLoader.loadFreeTime(Element requestEl,
Student student)
Load free time request
|
protected Request |
StudentSectioningXMLLoader.loadRequest(Element requestEl,
Student student,
Map<Long,Offering> offeringTable,
Map<Long,Course> courseTable)
Load request
|
void |
StudentSectioningModel.removeStudent(Student student)
Remove a student from the model
|
protected void |
StudentSectioningXMLSaver.saveStudent(Element studentEl,
Student student)
Save student
|
static void |
StudentPreferencePenalties.setPenalties(Student student,
int distributionType)
Set the computed penalties to all sections of all requests of the given
student
|
Constructor and Description |
---|
StudentSctBBTest(Student student)
Constructor
|
Modifier and Type | Method and Description |
---|---|
Student |
LinkedSections.LinkedSectionsConstraint.getStudent()
Return student
|
Constructor and Description |
---|
LinkedSectionsConstraint(Student student,
Collection<Request> requests)
Constructor
|
StudentConflict(Student student)
Constructor
|
Modifier and Type | Method and Description |
---|---|
Student |
DistanceConflict.Conflict.getStudent()
Related student
|
Student |
StudentQuality.Conflict.getStudent()
Related student
|
Student |
TimeOverlapsCounter.Conflict.getStudent()
Related student
|
Modifier and Type | Method and Description |
---|---|
Set<StudentQuality.Conflict> |
StudentQuality.StudentQualityContext.allConflicts(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment,
Student student) |
int |
StudentQuality.StudentQualityContext.allPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment,
Student student) |
boolean |
StudentQuality.hasDistanceConflict(Student student,
Section s1,
Section s2) |
boolean |
DistanceConflict.inConflict(Student student,
Section s1,
Section s2)
Return true if the given two sections are in distance conflict.
|
boolean |
StudentQuality.Type.isApplicable(StudentQuality.Context cx,
Student student,
Request r1,
Request r2) |
boolean |
StudentQuality.Quality.isApplicable(StudentQuality.Context cx,
Student student,
Request r1,
Request r2)
Check if the metric is applicable for the given student, between the given two requests
|
boolean |
StudentQuality.isApplicable(StudentQuality.Type type,
Student student,
Request r1,
Request r2)
Check whether the given type is applicable for the student and the two requests.
|
int |
StudentQuality.Type.penalty(StudentQuality.Context cx,
Student s,
SctAssignment a1,
SctAssignment a2) |
int |
StudentQuality.Quality.penalty(StudentQuality.Context cx,
Student s,
SctAssignment a1,
SctAssignment a2)
When in conflict, what is the penalisation
|
Constructor and Description |
---|
Conflict(Student student,
Enrollment e1,
Section s1,
Enrollment e2,
Section s2)
Constructor
|
Conflict(Student student,
int share,
Enrollment e1,
SctAssignment a1,
Enrollment e2,
SctAssignment a2)
Constructor
|
Conflict(Student student,
StudentQuality.Type type,
int penalty,
Enrollment e1,
SctAssignment a1,
Enrollment e2,
SctAssignment a2)
Constructor
|
Conflict(Student student,
StudentQuality.Type type,
int penalty,
Enrollment e1,
SctAssignment a1,
SctAssignment a2) |
FreeTimes(Student student) |
Unavailabilities(Student student) |
Modifier and Type | Method and Description |
---|---|
boolean |
CombinedStudentFilter.accept(Student student)
A student is accepted if it is accepted by the first and/or the second
filter
|
boolean |
FreshmanStudentFilter.accept(Student student)
Accept student.
|
boolean |
PriortyStudentFilter.accept(Student student) |
boolean |
RandomStudentFilter.accept(Student student)
A student is accepted with the given probability
|
boolean |
RealStudentFilter.accept(Student student)
Accept student.
|
boolean |
ReverseStudentFilter.accept(Student student)
Accept student.
|
boolean |
StudentFilter.accept(Student student)
Accept student
|
Modifier and Type | Field and Description |
---|---|
protected Student |
BranchBoundSelection.Selection.iStudent
Student
|
Modifier and Type | Field and Description |
---|---|
protected LinkedList<Student> |
BranchBoundSelection.iStudents |
protected List<Student> |
PriorityConstructionSelection.iStudents |
protected Iterator<Student> |
PriorityConstructionSelection.iStudentsEnumeration |
Modifier and Type | Method and Description |
---|---|
Student |
BranchBoundSelection.BranchBoundNeighbour.getStudent()
Student
|
Student |
SwapStudentSelection.SwapStudentNeighbour.getStudent() |
protected Student |
BranchBoundSelection.nextStudent() |
protected Student |
SwapStudentSelection.nextStudent() |
Modifier and Type | Method and Description |
---|---|
Set<Student> |
ProblemStudentsProvider.getProblemStudents()
Set of problematic students (
Student objects). |
Set<Student> |
SwapStudentSelection.getProblemStudents()
List of problematic students
|
Set<Student> |
SwapStudentSelection.Selection.getProblemStudents()
Set of problematic students computed in the last selection
|
Modifier and Type | Method and Description |
---|---|
void |
BranchBoundSelection.addStudent(Student student) |
void |
SwapStudentSelection.addStudent(Student student) |
BranchBoundSelection.Selection |
BranchBoundSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student)
Branch & bound selection for a student
|
BranchBoundSelection.Selection |
CriticalCoursesBranchAndBoundSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student) |
BranchBoundSelection.Selection |
MinCreditBranchAndBoundSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student) |
BranchBoundSelection.Selection |
OnlineSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student)
Branch & bound selection for a student
|
SwapStudentSelection.Selection |
SwapStudentSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student)
Selection subclass for a student
|
void |
OnlineSelection.updateSpace(Assignment<Request,Enrollment> assignment,
Student student)
Update online sectioning info after the given student is sectioned
|
Modifier and Type | Method and Description |
---|---|
static Enrollment |
SwapStudentSelection.bestSwap(Assignment<Request,Enrollment> assignment,
Enrollment conflict,
Enrollment enrl,
Set<Student> problematicStudents)
Identify the best swap for the given student
|
Constructor and Description |
---|
BranchBoundNeighbour(Student student,
double value,
Enrollment[] assignment)
Constructor
|
CriticalCoursesSelection(Student student,
Assignment<Request,Enrollment> assignment) |
EpsilonSelection(Student student,
Assignment<Request,Enrollment> assignment,
BranchBoundSelection.Selection selection)
Constructor
|
InitialSelection(Student student,
Assignment<Request,Enrollment> assignment) |
MinCreditSelection(Student student,
Assignment<Request,Enrollment> assignment) |
Selection(Student student,
Assignment<Request,Enrollment> assignment)
Constructor
|
Selection(Student student,
Assignment<Request,Enrollment> assignment)
Constructor
|
UnassignStudentNeighbour(Student student,
Assignment<Request,Enrollment> assignment,
Request.RequestPriority priority)
Constructor
|
Modifier and Type | Method and Description |
---|---|
List<Student> |
StudentChoiceOrder.order(List<Student> students)
Order the given list of students
|
List<Student> |
StudentMajorOrder.order(List<Student> students)
Order the given list of students
|
List<Student> |
StudentOrder.order(List<Student> students)
Return the given set of students in a particular order
|
List<Student> |
StudentRandomOrder.order(List<Student> students)
Return the given set of students in a random order
|
List<Student> |
StudentRandomRealFirstOrder.order(List<Student> students)
Return the given set of students in a random order, however, all real
students before last-like (
isDummy() is true) students. |
Modifier and Type | Method and Description |
---|---|
double |
StudentChoiceOrder.avgNrChoices(Student student)
Average number of choices for each student
|
int |
StudentByPriorityRequestDate.compare(Student s1,
Student s2) |
int |
StudentByRequestDate.compare(Student s1,
Student s2) |
int |
StudentChoiceOrder.compare(Student s1,
Student s2) |
int |
StudentChoiceRealFirstOrder.compare(Student s1,
Student s2) |
int |
StudentGroupsChoiceRealFirstOrder.compare(Student s1,
Student s2) |
int |
StudentMajorOrder.compare(Student s1,
Student s2) |
Long |
StudentByRequestDate.getRequestDate(Student s) |
double |
StudentGroupsChoiceRealFirstOrder.nrGroups(Student s)
Average number of request groups that the student is involved in
|
Modifier and Type | Method and Description |
---|---|
List<Student> |
StudentChoiceOrder.order(List<Student> students)
Order the given list of students
|
List<Student> |
StudentMajorOrder.order(List<Student> students)
Order the given list of students
|
List<Student> |
StudentOrder.order(List<Student> students)
Return the given set of students in a particular order
|
List<Student> |
StudentRandomOrder.order(List<Student> students)
Return the given set of students in a random order
|
List<Student> |
StudentRandomRealFirstOrder.order(List<Student> students)
Return the given set of students in a random order, however, all real
students before last-like (
isDummy() is true) students. |
Modifier and Type | Method and Description |
---|---|
Student |
Enrollment.getStudent()
Student
|
Student |
Request.getStudent()
Student to which this request belongs
|
Student |
Unavailability.getStudent()
Student
|
Modifier and Type | Method and Description |
---|---|
int |
Student.compareTo(Student s) |
Course |
Offering.getCourse(Student student)
Return course, under which the given student enrolls into this offering.
|
boolean |
Section.isEnabled(Student student)
Return enabled flag of the class.
|
boolean |
Student.StudentPriority.isHigher(Student s) |
boolean |
Section.isModalityPreferred(Student student) |
boolean |
Student.StudentPriority.isSame(Student s) |
boolean |
Student.StudentPriority.isSameOrHigher(Student s) |
Constructor and Description |
---|
CourseRequest(long id,
int priority,
boolean alternative,
Student student,
List<Course> courses,
boolean waitlist,
boolean critical,
Long timeStamp)
Constructor
|
CourseRequest(long id,
int priority,
boolean alternative,
Student student,
List<Course> courses,
boolean waitlist,
Long timeStamp)
Constructor
|
CourseRequest(long id,
int priority,
boolean alternative,
Student student,
List<Course> courses,
boolean waitlist,
Request.RequestPriority importance,
Long timeStamp)
Constructor
|
FreeTimeRequest(long id,
int priority,
boolean alternative,
Student student,
TimeLocation time)
Constructor
|
Request(long id,
int priority,
boolean alternative,
Student student)
Constructor
|
Unavailability(Student student,
Section section,
boolean canOverlap)
Constructor
|
Modifier and Type | Method and Description |
---|---|
protected Request |
Test.addRequest(Student student,
Student original,
Request request,
Map<Long,Section> classTable,
StudentSectioningModel model) |
protected Course |
Test.clone(Course course,
long studentId,
Student originalStudent,
Map<Long,Section> classTable,
StudentSectioningModel model) |
boolean |
OnlineReservation.isApplicable(Student student) |
boolean |
OnlineSection.isEnabled(Student student) |
boolean |
Test.section(Student original) |
Constructor and Description |
---|
Executor(Iterator<Student> students) |
Modifier and Type | Field and Description |
---|---|
protected Student |
MultiCriteriaBranchAndBoundSelection.iStudent
Student
|
Modifier and Type | Method and Description |
---|---|
protected Student |
OnlineSectioningCriterion.getStudent() |
Modifier and Type | Method and Description |
---|---|
BranchBoundSelection.BranchBoundNeighbour |
MultiCriteriaBranchAndBoundSelection.select(Assignment<Request,Enrollment> assignment,
Student student) |
BranchBoundSelection.BranchBoundNeighbour |
OnlineSectioningSelection.select(Assignment<Request,Enrollment> assignment,
Student student)
Compute student schedule
|
BranchBoundSelection.BranchBoundNeighbour |
SuggestionSelection.select(Assignment<Request,Enrollment> assignment,
Student student) |
BranchBoundSelection.BranchBoundNeighbour |
MultiCriteriaBranchAndBoundSelection.select(Assignment<Request,Enrollment> assignment,
Student student,
MultiCriteriaBranchAndBoundSelection.SelectionCriterion comparator) |
Modifier and Type | Method and Description |
---|---|
protected String |
AccommodationConflictsTable.advisor(Student student) |
protected String |
AccommodationConflictsTable.curriculum(Student student) |
protected String |
AccommodationConflictsTable.group(Student student) |
boolean |
AbstractStudentSectioningReport.matches(Student student) |
boolean |
SolutionStatsReport.StudentFilter.matches(Student student) |
boolean |
SolutionStatsReport.NotFilter.matches(Student student) |
boolean |
SolutionStatsReport.OrFilter.matches(Student student) |
boolean |
SolutionStatsReport.AndFilter.matches(Student student) |
boolean |
SolutionStatsReport.GroupFilter.matches(Student student) |
boolean |
SolutionStatsReport.PriorityFilter.matches(Student student) |
boolean |
SolutionStatsReport.DummyFilter.matches(Student student) |
boolean |
SolutionStatsReport.DummyOrNoRequestsFilter.matches(Student student) |
boolean |
SolutionStatsReport.OnlineFilter.matches(Student student) |
boolean |
SolutionStatsReport.AthletesFilter.matches(Student student) |
boolean |
SolutionStatsReport.OnlineLateFilter.matches(Student student) |
boolean |
SolutionStatsReport.StarFilter.matches(Student student) |
boolean |
SolutionStatsReport.StudentGroup.matches(Student student) |
boolean |
StudentSectioningReport.Filter.matches(Student s)
Returns true if the given student matches the filter.
|
boolean |
SolutionStatsReport.StudentGroup.matches(Student student,
StudentSectioningReport.Filter filter) |
Modifier and Type | Method and Description |
---|---|
Student |
UniversalOverride.StudentMatcher.student() |
Modifier and Type | Method and Description |
---|---|
boolean |
CourseReservation.isApplicable(Student student)
Check the area, classifications and majors
|
boolean |
CourseRestriction.isApplicable(Student student)
Check the area, classifications and majors
|
boolean |
CurriculumReservation.isApplicable(Student student)
Check the area, classifications and majors
|
boolean |
CurriculumRestriction.isApplicable(Student student)
Check the area, classifications and majors
|
boolean |
DummyReservation.isApplicable(Student student)
Dummy reservation is not applicable to any students
|
boolean |
IndividualReservation.isApplicable(Student student)
Reservation is applicable for all students in the reservation
|
boolean |
IndividualRestriction.isApplicable(Student student)
Restriction is applicable for all students in the restriction
|
boolean |
LearningCommunityReservation.isApplicable(Student student)
Check the student group and the course
|
abstract boolean |
Reservation.isApplicable(Student student)
Returns true if the student is applicable for the reservation
|
abstract boolean |
Restriction.isApplicable(Student student)
Returns true if the student is applicable for the restriction
|
boolean |
UniversalOverride.isApplicable(Student student)
Check the area, classifications and majors
|
Constructor and Description |
---|
StudentMatcher(Student student) |