Package | Description |
---|---|
org.cpsolver.studentsct |
Student Sectioning Solver.
|
org.cpsolver.studentsct.check |
Various checks of validity of a student sectioning solution.
|
org.cpsolver.studentsct.constraint |
Student Sectioning: Constraints.
|
org.cpsolver.studentsct.extension |
Student Sectioning: Various Extensions.
|
org.cpsolver.studentsct.heuristics |
Student Sectioning: Heuristics.
|
org.cpsolver.studentsct.heuristics.selection |
Student Sectioning: Various Neighbour Selection Criteria.
|
org.cpsolver.studentsct.model |
Student Sectioning: Model.
|
org.cpsolver.studentsct.online |
Online Student Sectioning Solver.
|
org.cpsolver.studentsct.online.expectations |
Student Sectioning Solver: Over-Expectation Criteria.
|
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.
|
org.cpsolver.studentsct.weights |
Student Sectioning Weightings: various students weight models
|
Modifier and Type | Method and Description |
---|---|
Request |
StudentSctBBTest.Message.getRequest()
Related course / free time request
|
protected Request |
StudentSectioningXMLLoader.loadRequest(Element requestEl,
Student student,
Map<Long,Offering> offeringTable,
Map<Long,Course> courseTable)
Load request
|
Modifier and Type | Method and Description |
---|---|
static Solution<Request,Enrollment> |
Test.batchSectioning(DataProperties cfg)
Batch sectioning test
|
static Solution<Request,Enrollment> |
Test.combineStudents(DataProperties cfg,
File lastLikeStudentData,
File realStudentData)
Combine students from the provided two files
|
InheritedAssignment<Request,Enrollment> |
StudentSectioningModel.createInheritedAssignment(Solution<Request,Enrollment> solution,
int index) |
Solution<Request,Enrollment> |
StudentSctBBTest.getSolution()
Compute and return the sectioning solution.
|
static Solution<Request,Enrollment> |
Test.load(DataProperties cfg)
Load student sectioning model
|
static Solution<Request,Enrollment> |
Test.onlineSectioning(DataProperties cfg)
Online sectioning test
|
static Solution<Request,Enrollment> |
Test.solve(Solution<Request,Enrollment> solution,
DataProperties cfg)
Solve the student sectioning problem using IFS solver
|
Modifier and Type | Method and Description |
---|---|
void |
StudentSectioningModel.addVariable(Request request) |
double |
StudentPreferencePenalties.getMaxPenalty(Request request)
Maximal penalty of a course request
|
double[] |
StudentPreferencePenalties.getMinMaxAvailableEnrollmentPenalty(Assignment<Request,Enrollment> assignment,
Request request)
Minimal and maximal available enrollment penalty of a request
|
double[] |
StudentPreferencePenalties.getMinMaxEnrollmentPenalty(Request request)
Minimal and maximal available enrollment penalty of a request
|
double |
StudentPreferencePenalties.getMinPenalty(Request request)
Minimal penalty of a course request
|
protected Enrollment |
StudentSectioningXMLLoader.loadEnrollment(Element enrollmentEl,
Request request)
Load enrollment
|
void |
StudentSectioningModel.removeVariable(Request request) |
protected void |
StudentSectioningXMLSaver.saveRequest(Element studentEl,
Request request)
Save request
|
Modifier and Type | Method and Description |
---|---|
void |
StudentSectioningModel.StudentSectioningModelContext.add(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.add(Assignment<Request,Enrollment> assignment,
StudentQuality.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.add(Assignment<Request,Enrollment> assignment,
TimeOverlapsCounter.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called after an enrollment was assigned to a request.
|
double |
StudentSectioningModel.avgUnassignPriority(Assignment<Request,Enrollment> assignment)
Average priority of unassigned requests (see
getPriority() ) |
void |
Test.TestSolutionListener.bestCleared(Solution<Request,Enrollment> solution) |
void |
Test.TestSolutionListener.bestRestored(Solution<Request,Enrollment> solution) |
void |
Test.TestSolutionListener.bestSaved(Solution<Request,Enrollment> solution) |
void |
StudentSectioningModel.computeOnlineSectioningInfos(Assignment<Request,Enrollment> assignment)
Compute online student sectioning infos for all sections (see
Section.getSpaceExpected() and Section.getSpaceHeld() ). |
StudentSectioningModel.StudentSectioningModelContext |
StudentSectioningModel.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
InheritedAssignment<Request,Enrollment> |
StudentSectioningModel.createInheritedAssignment(Solution<Request,Enrollment> solution,
int index) |
static Document |
StudentRequestXml.exportModel(Assignment<Request,Enrollment> assignment,
StudentSectioningModel model) |
Map<String,String> |
StudentSectioningModel.getExtendedInfo(Assignment<Request,Enrollment> assignment)
Model extended info.
|
Map<String,String> |
StudentSectioningModel.getInfo(Assignment<Request,Enrollment> assignment)
Model info
|
void |
StudentSectioningModel.StudentSectioningModelContext.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
StudentSectioningModel.StudentSectioningModelContext.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
StudentSectioningModel.StudentSectioningModelContext.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
Test.TestSolutionListener.getInfo(Solution<Request,Enrollment> solution,
Map<String,String> info) |
void |
Test.TestSolutionListener.getInfo(Solution<Request,Enrollment> solution,
Map<String,String> info,
Collection<Request> variables) |
void |
Test.TestSolutionListener.getInfo(Solution<Request,Enrollment> solution,
Map<String,String> info,
Collection<Request> variables) |
double[] |
StudentPreferencePenalties.getMinMaxAvailableEnrollmentPenalty(Assignment<Request,Enrollment> assignment,
CourseRequest request)
Minimal and maximal available enrollment penalty of a request
|
static double[] |
Test.getMinMaxAvailableEnrollmentPenalty(Assignment<Request,Enrollment> assignment,
CourseRequest request)
Minimum and maximum available enrollment penalty, i.e.,
Enrollment.getPenalty() of all available enrollments |
double[] |
StudentPreferencePenalties.getMinMaxAvailableEnrollmentPenalty(Assignment<Request,Enrollment> assignment,
Request request)
Minimal and maximal available enrollment penalty of a request
|
int |
StudentSectioningModel.getNrAssignedLastLikeRequests(Assignment<Request,Enrollment> assignment,
boolean precise)
Number of requests from projected (
Student.isDummy() equals true)
students that are assigned. |
int |
StudentSectioningModel.getNrAssignedRealRequests(Assignment<Request,Enrollment> assignment,
boolean precise)
Number of requests from real (
Student.isDummy() equals false)
students that are assigned. |
int |
StudentSectioningModel.getNrCompleteLastLikeStudents(Assignment<Request,Enrollment> assignment,
boolean precise)
Number of last like (
Student.isDummy() equals true) students with
a complete schedule (Student.isComplete(Assignment) equals true). |
int |
StudentSectioningModel.getNrCompleteRealStudents(Assignment<Request,Enrollment> assignment,
boolean precise)
Number of real (
Student.isDummy() equals false) students with a
complete schedule (Student.isComplete(Assignment) equals true). |
double |
StudentSectioningModel.getTotalValue(Assignment<Request,Enrollment> assignment)
Overall solution value
|
double |
StudentSectioningModel.getTotalValue(Assignment<Request,Enrollment> assignment,
boolean precise)
Overall solution value
|
double |
StudentSectioningModel.getUnassignedRequestWeight(Assignment<Request,Enrollment> assignment)
Sum of weights of all requests that are not assigned (see
getWeight() ). |
StudentSectioningModel.StudentSectioningModelContext |
StudentSectioningModel.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
StudentSectioningModel.StudentSectioningModelContext parentContext) |
static void |
Test.printInfo(Solution<Request,Enrollment> solution,
boolean computeTables,
boolean computeSectInfos,
boolean runChecks)
Print some information about the solution
|
void |
StudentSectioningModel.recomputeTotalValue(Assignment<Request,Enrollment> assignment) |
void |
StudentSectioningModel.StudentSectioningModelContext.remove(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.remove(Assignment<Request,Enrollment> assignment,
StudentQuality.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.remove(Assignment<Request,Enrollment> assignment,
TimeOverlapsCounter.Conflict c) |
void |
StudentSectioningModel.requestWeightsChanged(Assignment<Request,Enrollment> assignment)
Recompute cached request weights
|
void |
StudentSectioningModel.StudentSectioningModelContext.requestWeightsChanged(Assignment<Request,Enrollment> assignment)
Recompute cached request weights
|
void |
StudentSectioningModel.restoreBest(Assignment<Request,Enrollment> assignment) |
void |
StudentSectioningModel.saveBest(Assignment<Request,Enrollment> assignment) |
static void |
Test.saveInfoToXML(Solution<Request,Enrollment> solution,
Map<String,String> extra,
File file)
Save solution info as XML
|
void |
Test.TestSolutionListener.solutionUpdated(Solution<Request,Enrollment> solution) |
static Solution<Request,Enrollment> |
Test.solve(Solution<Request,Enrollment> solution,
DataProperties cfg)
Solve the student sectioning problem using IFS solver
|
String |
StudentSectioningModel.toString(Assignment<Request,Enrollment> assignment) |
void |
StudentSectioningModel.StudentSectioningModelContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called before an enrollment was unassigned from a request.
|
Constructor and Description |
---|
Message(int level,
Request request,
String message)
Constructor
|
Constructor and Description |
---|
StudentSectioningLoader(StudentSectioningModel model,
Assignment<Request,Enrollment> assignment)
Constructor
|
StudentSectioningModelContext(Assignment<Request,Enrollment> assignment) |
StudentSectioningSaver(Solver<Request,Enrollment> solver)
Constructor
|
StudentSectioningXMLLoader(StudentSectioningModel model,
Assignment<Request,Enrollment> assignment)
Constructor
|
StudentSectioningXMLSaver(Solver<Request,Enrollment> solver)
Constructor
|
Modifier and Type | Method and Description |
---|---|
boolean |
InevitableStudentConflicts.StudentCheck.canAssign(Request request,
int idx)
True if the given request can be assigned
|
Modifier and Type | Method and Description |
---|---|
void |
InevitableStudentConflicts.StudentCheck.backTrack(Assignment<Request,Enrollment> assignment,
int idx)
branch & bound search
|
boolean |
InevitableStudentConflicts.check(Assignment<Request,Enrollment> assignment)
Check model for inevitable student conflicts
|
void |
InevitableStudentConflicts.StudentCheck.check(Assignment<Request,Enrollment> assignment)
Execute branch & bound, return the best found schedule for the
selected student.
|
boolean |
OverlapCheck.check(Assignment<Request,Enrollment> a)
Check for overlapping sections that are attended by the same student
|
boolean |
SectionLimitCheck.check(Assignment<Request,Enrollment> assignment)
Check for sections that have more students enrolled than it is allowed,
i.e., the sum of requests weights is above the section limit
|
Constructor and Description |
---|
StudentCheck(List<Request> requests)
Constructor
|
Modifier and Type | Field and Description |
---|---|
protected Assignment<Request,Enrollment> |
LinkedSections.CurrentAssignment.iAssignment |
Modifier and Type | Method and Description |
---|---|
Enrollment |
LinkedSections.EnrollmentAssignment.getEnrollment(Request request,
int index)
Return enrollment of the given request
|
Enrollment |
LinkedSections.CurrentAssignment.getEnrollment(Request request,
int index)
|
static double |
ConfigLimit.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Config config,
Request request)
Enrollment weight of a config if the given request is assigned.
|
static double |
CourseLimit.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Course course,
Request request)
Enrollment weight of a course if the given request is assigned.
|
static double |
SectionLimit.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Enrollment weight of a section if the given request is assigned.
|
static double |
ReservationLimit.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Config config,
Request request,
boolean hasReservation)
Remaining unreserved space in a config if the given request is assigned.
|
static double |
SectionLimit.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Remaining unreserved space in a section if the given request is assigned.
|
Modifier and Type | Method and Description |
---|---|
static boolean |
StudentConflict.canAssign(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
True if the given enrollment can be assigned to the student.
|
void |
LinkedSections.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
LinkedSections.ConflictHandler conflicts)
Compute conflicting enrollments.
|
void |
CancelledSections.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section that
is cancelled.
|
void |
ConfigLimit.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if the config's enrollment
(computed by
ConfigLimit.getEnrollmentWeight(Assignment, Config, Request) )
exceeds the limit. |
void |
CourseLimit.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if the course's enrollment
(computed by
CourseLimit.getEnrollmentWeight(Assignment, Course, Request) )
exceeds the limit. |
void |
DisabledSections.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section that
is disabled and there is not a matching reservation that would allow for that.
|
void |
FixInitialAssignments.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
If there is a conflict that is MPP (method
isMPP() returns true)
and equal to the initial assignment (returned by Variable.getInitialAssignment() ),
the given enrollment is put into the conflicts. |
void |
FixedAssignments.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
If there is a conflict that is fixed (method
CourseRequest.isFixed() returns true)
and equal to the initial assignment (returned by CourseRequest.getFixedValue() ),
the given enrollment is put into the conflicts. |
void |
HardDistanceConflicts.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section that
is disabled and there is not a matching reservation that would allow for that.
|
void |
LinkedSections.LinkedSectionsConstraint.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment value,
Set<Enrollment> conflicts)
Compute conflicts using
LinkedSections.computeConflicts(Assignment, Enrollment, ConflictHandler) |
void |
RequiredReservation.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a reservation that
the student must use, but the given enrollment does not use it.
|
void |
RequiredRestrictions.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is restriction that is not met.
|
void |
RequiredSections.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section that
is cancelled.
|
void |
ReservationLimit.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if the reservation's remaining available space
(computed by
Reservation.getReservedAvailableSpace(Assignment, Request) )
is below the requests weight getWeight() . |
void |
SectionLimit.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section which limit
(computed by
SectionLimit.getEnrollmentWeight(Assignment, Section, Request) )
exceeds the section limit. |
void |
StudentConflict.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting when the student is enrolled into
another course / free time request that has an assignment that is
overlapping with one or more assignments of the given section.
|
void |
StudentNotAvailable.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if the student is not available.
|
static double |
ConfigLimit.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Config config,
Request request)
Enrollment weight of a config if the given request is assigned.
|
static double |
CourseLimit.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Course course,
Request request)
Enrollment weight of a course if the given request is assigned.
|
static double |
SectionLimit.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Enrollment weight of a section if the given request is assigned.
|
static double |
ReservationLimit.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Config config,
Request request,
boolean hasReservation)
Remaining unreserved space in a config if the given request is assigned.
|
static double |
SectionLimit.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Remaining unreserved space in a section if the given request is assigned.
|
boolean |
CancelledSections.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section that
is cancelled.
|
boolean |
ConfigLimit.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if the config's enrollment (computed by
ConfigLimit.getEnrollmentWeight(Assignment, Config, Request) ) exceeds the
limit. |
boolean |
CourseLimit.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if the course's enrollment (computed by
CourseLimit.getEnrollmentWeight(Assignment, Course, Request) ) exceeds the
limit. |
boolean |
DisabledSections.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section that
is disabled and there is not a matching reservation that would allow for that.
|
boolean |
HardDistanceConflicts.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section that
is disabled and there is not a matching reservation that would allow for that.
|
Enrollment |
LinkedSections.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Check for conflicts.
|
boolean |
LinkedSections.LinkedSectionsConstraint.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment value)
Check for conflict using
LinkedSections.inConflict(Assignment, Enrollment) |
boolean |
RequiredReservation.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a reservation that
the student must use, but the given enrollment does not use it.
|
boolean |
RequiredRestrictions.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is restriction that is not met.
|
boolean |
RequiredSections.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section that
is cancelled.
|
boolean |
ReservationLimit.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if the config's enrollment (computed by
ConfigLimit.getEnrollmentWeight(Assignment, Config, Request) ) exceeds the
limit. |
boolean |
SectionLimit.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section which
limit(computed by
SectionLimit.getEnrollmentWeight(Assignment, Section, Request) ) exceeds the
section limit. |
boolean |
StudentConflict.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting when the student is enrolled into
another course / free time request that has an assignment that is
overlapping with one or more assignments of the given section.
|
boolean |
StudentNotAvailable.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if the student is not available.
|
Constructor and Description |
---|
CurrentAssignment(Assignment<Request,Enrollment> assignment) |
LinkedSectionsConstraint(Student student,
Collection<Request> requests)
Constructor
|
Modifier and Type | Method and Description |
---|---|
Request |
DistanceConflict.Conflict.getR1()
First request
|
Request |
StudentQuality.Conflict.getR1()
First request
|
Request |
TimeOverlapsCounter.Conflict.getR1()
First request
|
Request |
DistanceConflict.Conflict.getR2()
Second request
|
Request |
StudentQuality.Conflict.getR2()
Second request
|
Request |
TimeOverlapsCounter.Conflict.getR2()
Second request
|
Modifier and Type | Method and Description |
---|---|
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.
|
Modifier and Type | Method and Description |
---|---|
void |
DistanceConflict.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
DistanceConflict.DistanceConflictContext.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
StudentQuality.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value) |
void |
StudentQuality.StudentQualityContext.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
TimeOverlapsCounter.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
DistanceConflict.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
void |
DistanceConflict.DistanceConflictContext.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
void |
StudentQuality.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value) |
void |
StudentQuality.StudentQualityContext.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
void |
TimeOverlapsCounter.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
Set<DistanceConflict.Conflict> |
DistanceConflict.allConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
The set of all conflicts (
DistanceConflict.Conflict objects) of the given
enrollment and other enrollments that are assignmed to the same student. |
Set<StudentQuality.Conflict> |
StudentQuality.allConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
All conflicts of the any type for the enrollment (including conflicts with other enrollments of the student)
|
Set<TimeOverlapsCounter.Conflict> |
TimeOverlapsCounter.allConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
The set of all conflicts (
TimeOverlapsCounter.Conflict objects) of the given
enrollment and other enrollments that are assigned to the same student. |
Set<TimeOverlapsCounter.Conflict> |
TimeOverlapsCounter.TimeOverlapsCounterContext.allConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
The set of all conflicts (
TimeOverlapsCounter.Conflict objects) of the given
enrollment and other enrollments that are assigned to the same student. |
Set<StudentQuality.Conflict> |
StudentQuality.StudentQualityContext.allConflicts(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
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,
Enrollment enrollment) |
int |
StudentQuality.StudentQualityContext.allPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment,
Student student) |
void |
DistanceConflict.DistanceConflictContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is assigned to a variable.
|
void |
StudentQuality.StudentQualityContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment value) |
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is assigned to a variable.
|
void |
DistanceConflict.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
DistanceConflict.DistanceConflictContext.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
StudentQuality.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value) |
void |
StudentQuality.StudentQualityContext.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
TimeOverlapsCounter.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
DistanceConflict.checkAllConflicts(Assignment<Request,Enrollment> assignment)
Checks the counter counting all conflicts
|
void |
DistanceConflict.DistanceConflictContext.checkAllConflicts(Assignment<Request,Enrollment> assignment)
Checks the counter counting all conflicts
|
void |
TimeOverlapsCounter.checkTotalNrConflicts(Assignment<Request,Enrollment> assignment) |
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.checkTotalNrConflicts(Assignment<Request,Enrollment> assignment) |
void |
StudentQuality.checkTotalPenalty(Assignment<Request,Enrollment> assignment)
Re-check total penalization for the given assignment
|
void |
StudentQuality.checkTotalPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment)
Re-check total penalization for the given assignment and conflict type
|
void |
StudentQuality.StudentQualityContext.checkTotalPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment) |
Set<DistanceConflict.Conflict> |
DistanceConflict.computeAllConflicts(Assignment<Request,Enrollment> assignment)
Compute a set of all distance conflicts (
DistanceConflict.Conflict objects). |
Set<TimeOverlapsCounter.Conflict> |
TimeOverlapsCounter.TimeOverlapsCounterContext.computeAllConflicts(Assignment<Request,Enrollment> assignment)
Compute a set of all time overlapping conflicts (
TimeOverlapsCounter.Conflict objects). |
Set<StudentQuality.Conflict> |
StudentQuality.StudentQualityContext.computeAllConflicts(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment) |
int |
DistanceConflict.countTotalNrConflicts(Assignment<Request,Enrollment> assignment)
Compute the actual number of all distance conflicts.
|
int |
TimeOverlapsCounter.TimeOverlapsCounterContext.countTotalNrConflicts(Assignment<Request,Enrollment> assignment)
Compute the actual number of all time overlapping conflicts.
|
int |
StudentQuality.StudentQualityContext.countTotalPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment) |
DistanceConflict.DistanceConflictContext |
DistanceConflict.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
StudentQuality.StudentQualityContext |
StudentQuality.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
TimeOverlapsCounter.TimeOverlapsCounterContext |
TimeOverlapsCounter.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Set<DistanceConflict.Conflict> |
DistanceConflict.getAllConflicts(Assignment<Request,Enrollment> assignment)
Return a set of all distance conflicts (
DistanceConflict.Conflict objects). |
Set<TimeOverlapsCounter.Conflict> |
TimeOverlapsCounter.getAllConflicts(Assignment<Request,Enrollment> assignment)
Return a set of all time overlapping conflicts (
TimeOverlapsCounter.Conflict objects). |
Set<StudentQuality.Conflict> |
StudentQuality.getAllConflicts(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment)
All conflicts of the given type for the given assignment
|
void |
StudentQuality.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
StudentQuality.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
StudentQuality.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
int |
DistanceConflict.getTotalNrConflicts(Assignment<Request,Enrollment> assignment)
Actual number of all distance conflicts
|
int |
TimeOverlapsCounter.getTotalNrConflicts(Assignment<Request,Enrollment> assignment)
Actual number of all time overlapping conflicts
|
int |
DistanceConflict.getTotalNrShortConflicts(Assignment<Request,Enrollment> assignment)
Actual number of all distance conflicts of students that need short distances
|
int |
StudentQuality.getTotalPenalty(Assignment<Request,Enrollment> assignment,
StudentQuality.Type... types)
Total penalisation of given types
|
int |
StudentQuality.getTotalPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment)
Total penalisation of given type
|
DistanceConflict.DistanceConflictContext |
DistanceConflict.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
DistanceConflict.DistanceConflictContext parentContext) |
StudentQuality.StudentQualityContext |
StudentQuality.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
StudentQuality.StudentQualityContext parentContext) |
TimeOverlapsCounter.TimeOverlapsCounterContext |
TimeOverlapsCounter.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
TimeOverlapsCounter.TimeOverlapsCounterContext parentContext) |
int |
DistanceConflict.DistanceConflictContext.nrAllConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Total sum of all conflict of the given enrollment and other enrollments
that are assigned to the same student.
|
int |
TimeOverlapsCounter.TimeOverlapsCounterContext.nrAllConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Total sum of all conflict of the given enrollment and other enrollments
that are assigned to the same student.
|
String |
StudentQuality.toString(Assignment<Request,Enrollment> assignment) |
void |
DistanceConflict.DistanceConflictContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is unassigned from a variable.
|
void |
StudentQuality.StudentQualityContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is unassigned from a variable.
|
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is unassigned from a variable.
|
Constructor and Description |
---|
DistanceConflict(Solver<Request,Enrollment> solver,
DataProperties properties)
Constructor.
|
DistanceConflictContext(Assignment<Request,Enrollment> assignment) |
StudentConflictStatistics(Solver<Request,Enrollment> solver,
DataProperties properties) |
StudentQuality(Solver<Request,Enrollment> solver,
DataProperties properties)
Constructor
|
StudentQualityContext(Assignment<Request,Enrollment> assignment) |
TimeOverlapsCounter(Solver<Request,Enrollment> solver,
DataProperties properties)
Constructor.
|
TimeOverlapsCounterContext(Assignment<Request,Enrollment> assignment) |
Modifier and Type | Method and Description |
---|---|
Request |
RouletteWheelRequestSelection.selectVariable(Solution<Request,Enrollment> solution)
Variable selection.
|
Modifier and Type | Method and Description |
---|---|
protected RouletteWheelSelection<Request> |
RouletteWheelRequestSelection.getRoulette(Solution<Request,Enrollment> solution)
Populate roulette wheel selection, if null or empty.
|
Neighbour<Request,Enrollment> |
RestoreBestSolution.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
TwoPhaseStudentSctNeighbourSelection.RestoreDummyStudents.selectNeighbour(Solution<Request,Enrollment> solution)
Return all (removed) dummy students into the problem
|
Modifier and Type | Method and Description |
---|---|
Enrollment |
EnrollmentSelection.selectValue(Solution<Request,Enrollment> solution,
Request selectedVariable)
Value selection
|
Enrollment |
EnrollmentSelection.selectValue(Solution<Request,Enrollment> solution,
Request selectedVariable,
AssignmentCheck<Request,Enrollment> test) |
protected Iterator<Enrollment> |
RandomizedBacktrackNeighbourSelection.values(BacktrackNeighbourSelection.BacktrackNeighbourSelectionContext context,
Request variable)
List of values of a variable.
|
boolean |
StudentSctNeighbourSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
StudentSctNeighbourSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
Modifier and Type | Method and Description |
---|---|
boolean |
RandomizedBacktrackNeighbourSelection.canUnassign(Enrollment enrollment,
Enrollment conflict,
Assignment<Request,Enrollment> assignment)
Check if the given conflicting enrollment can be unassigned
|
protected boolean |
RandomizedBacktrackNeighbourSelection.checkBound(List<Request> variables2resolve,
int idx,
int depth,
Enrollment value,
Set<Enrollment> conflicts) |
protected RouletteWheelSelection<Request> |
RouletteWheelRequestSelection.getRoulette(Solution<Request,Enrollment> solution)
Populate roulette wheel selection, if null or empty.
|
void |
EnrollmentSelection.init(Solver<Request,Enrollment> solver)
Initialization
|
void |
RestoreBestSolution.init(Solver<Request,Enrollment> solver) |
void |
RouletteWheelRequestSelection.init(Solver<Request,Enrollment> solver)
Initialization
|
void |
StudentSctNeighbourSelection.init(Solver<Request,Enrollment> solver) |
void |
TwoPhaseStudentSctNeighbourSelection.init(Solver<Request,Enrollment> solver)
Initialization -- also remove all the dummy students from the problem
|
void |
TwoPhaseStudentSctNeighbourSelection.RestoreDummyStudents.init(Solver<Request,Enrollment> solver) |
boolean |
EnrollmentSelection.isAllowed(Assignment<Request,Enrollment> assignment,
Enrollment value,
AssignmentCheck<Request,Enrollment> test)
true, if it is allowed to assign given value
|
boolean |
EnrollmentSelection.isAllowed(Assignment<Request,Enrollment> assignment,
Enrollment value,
AssignmentCheck<Request,Enrollment> test)
true, if it is allowed to assign given value
|
boolean |
EnrollmentSelection.isAllowed(Assignment<Request,Enrollment> assignment,
Enrollment value,
Set<Enrollment> conflicts,
AssignmentCheck<Request,Enrollment> test)
true, if it is allowed to assign given value
|
boolean |
EnrollmentSelection.isAllowed(Assignment<Request,Enrollment> assignment,
Enrollment value,
Set<Enrollment> conflicts,
AssignmentCheck<Request,Enrollment> test)
true, if it is allowed to assign given value
|
void |
StudentSctNeighbourSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
StudentSctNeighbourSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
StudentSctNeighbourSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
StudentSctNeighbourSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
Neighbour<Request,Enrollment> |
RestoreBestSolution.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
TwoPhaseStudentSctNeighbourSelection.RestoreDummyStudents.selectNeighbour(Solution<Request,Enrollment> solution)
Return all (removed) dummy students into the problem
|
Enrollment |
EnrollmentSelection.selectValue(Solution<Request,Enrollment> solution,
Request selectedVariable)
Value selection
|
Enrollment |
EnrollmentSelection.selectValue(Solution<Request,Enrollment> solution,
Request selectedVariable,
AssignmentCheck<Request,Enrollment> test) |
Enrollment |
EnrollmentSelection.selectValue(Solution<Request,Enrollment> solution,
Request selectedVariable,
AssignmentCheck<Request,Enrollment> test) |
Request |
RouletteWheelRequestSelection.selectVariable(Solution<Request,Enrollment> solution)
Variable selection.
|
void |
StudentSctNeighbourSelection.setup(Solver<Request,Enrollment> solver) |
boolean |
StudentSctNeighbourSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
StudentSctNeighbourSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
Modifier and Type | Field and Description |
---|---|
protected Assignment<Request,Enrollment> |
BranchBoundSelection.Selection.iCurrentAssignment
Current assignment
|
protected LinkedList<Request> |
BacktrackSelection.iRequests |
protected LinkedList<Request> |
StudentEnrollmentSwapSelection.iRequests |
protected Queue<Request> |
UnassignedCriticalCourseRequestSelection.iRequests |
protected Queue<Request> |
UnassignedRequestSelection.iRequests |
protected ValueSelection<Request,Enrollment> |
StandardSelection.iValueSelection |
protected VariableSelection<Request,Enrollment> |
StandardSelection.iVariableSelection |
Modifier and Type | Method and Description |
---|---|
protected Request |
BacktrackSelection.nextRequest() |
protected Request |
StudentEnrollmentSwapSelection.nextRequest() |
protected Request |
UnassignedCriticalCourseRequestSelection.nextRequest(Solution<Request,Enrollment> solution) |
protected Request |
UnassignedRequestSelection.nextRequest(Solution<Request,Enrollment> solution) |
Request |
UnassignedCriticalCourseRequestSelection.selectVariable(Solution<Request,Enrollment> solution) |
Request |
UnassignedRequestSelection.selectVariable(Solution<Request,Enrollment> solution) |
Modifier and Type | Method and Description |
---|---|
Map<Request,Enrollment> |
BranchBoundSelection.BranchBoundNeighbour.assignments() |
Map<Request,Enrollment> |
PriorityConstructionSelection.ConstructionNeighbour.assignments() |
Map<Request,Enrollment> |
RandomUnassignmentSelection.UnassignStudentNeighbour.assignments() |
Map<Request,Enrollment> |
SwapStudentSelection.SwapStudentNeighbour.assignments() |
Neighbour<Request,Enrollment> |
PriorityConstructionSelection.branchAndBound(Solution<Request,Enrollment> solution)
Find best solution for the next student using
BranchBoundSelection . |
Neighbour<Request,Enrollment> |
AssignInitialSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
BacktrackSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
BranchBoundSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Select neighbour.
|
Neighbour<Request,Enrollment> |
CriticalCoursesBranchAndBoundSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
MinCreditBranchAndBoundSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
PriorityConstructionSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Select neighbor.
|
Neighbour<Request,Enrollment> |
RandomUnassignmentSelection.selectNeighbour(Solution<Request,Enrollment> solution)
With the given probabilty, a student is randomly selected to be
unassigned.
|
Neighbour<Request,Enrollment> |
ResectionIncompleteStudentsSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Select neighbour.
|
Neighbour<Request,Enrollment> |
ResectionUnassignedStudentsSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Select neighbour.
|
Neighbour<Request,Enrollment> |
RndUnProblStudSelection.selectNeighbour(Solution<Request,Enrollment> solution)
With the given probabilty, a problematic student is randomly selected to
be unassigned.
|
Neighbour<Request,Enrollment> |
ShuffleStudentsSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
StandardSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Employ the provided
VariableSelection and ValueSelection
and return the selected value as SimpleNeighbour . |
Neighbour<Request,Enrollment> |
StudentEnrollmentSwapSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
SwapStudentSelection.selectNeighbour(Solution<Request,Enrollment> solution)
For each student that does not have a complete schedule, try to find a
request and a student that can be moved out of an enrollment so that the
selected student can be assigned to the selected request.
|
protected Neighbour<Request,Enrollment> |
ShuffleStudentsSelection.ShuffleBacktrackNeighbourSelection.selectNeighbour(Solution<Request,Enrollment> solution,
org.cpsolver.studentsct.heuristics.selection.ShuffleStudentsSelection.Shuffle shuffle) |
Modifier and Type | Method and Description |
---|---|
void |
BacktrackSelection.addRequest(Request request) |
void |
StudentEnrollmentSwapSelection.addRequest(Request request) |
boolean |
BranchBoundSelection.Selection.canAssign(Request request,
int idx)
True if the given request can be assigned
|
protected boolean |
BranchBoundSelection.Selection.canLeaveUnassigned(Request request)
Returns true if the given request can be left unassigned
|
int |
BacktrackSelection.RequestComparator.compare(Request r1,
Request r2) |
protected double |
BranchBoundSelection.Selection.getBound(Request r)
Return bound of a request
|
protected Iterator<Enrollment> |
ShuffleStudentsSelection.ShuffleBacktrackNeighbourSelection.values(BacktrackNeighbourSelection.BacktrackNeighbourSelectionContext context,
Request variable)
List of values of the given variable that will be considered (filtered using
ShuffleStudentsSelection.Shuffle.matchFilter(Enrollment) if applicable). |
boolean |
BacktrackSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
BranchBoundSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
StudentEnrollmentSwapSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
SwapStudentSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
BacktrackSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
boolean |
BranchBoundSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
boolean |
StudentEnrollmentSwapSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
boolean |
SwapStudentSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
Modifier and Type | Method and Description |
---|---|
boolean |
StandardSelection.accept(SimpleNeighbour<Request,Enrollment> n,
Solution<Request,Enrollment> solution)
Check whether the given neighbors can be returned
|
boolean |
StandardSelection.accept(SimpleNeighbour<Request,Enrollment> n,
Solution<Request,Enrollment> solution)
Check whether the given neighbors can be returned
|
void |
BranchBoundSelection.BranchBoundNeighbour.assign(Assignment<Request,Enrollment> assignment,
long iteration)
Assign the schedule
|
void |
PriorityConstructionSelection.ConstructionNeighbour.assign(Assignment<Request,Enrollment> assignment,
long iteration)
Only assign given number of assignments (from the first priority down).
|
void |
RandomUnassignmentSelection.UnassignStudentNeighbour.assign(Assignment<Request,Enrollment> assignment,
long iteration)
All requests of the given student are unassigned
|
void |
SwapStudentSelection.SwapStudentNeighbour.assign(Assignment<Request,Enrollment> assignment,
long iteration)
Perform the move.
|
static Enrollment |
SwapStudentSelection.bestSwap(Assignment<Request,Enrollment> assignment,
Enrollment conflict,
Enrollment enrl,
Set<Student> problematicStudents)
Identify the best swap for the given student
|
Neighbour<Request,Enrollment> |
PriorityConstructionSelection.branchAndBound(Solution<Request,Enrollment> solution)
Find best solution for the next student using
BranchBoundSelection . |
boolean |
CriticalStandardSelection.canUnassign(Enrollment enrollment,
Enrollment conflict,
Assignment<Request,Enrollment> assignment) |
boolean |
StandardSelection.canUnassign(Enrollment enrollment,
Enrollment conflict,
Assignment<Request,Enrollment> assignment)
Check if the given conflicting enrollment can be unassigned
|
boolean |
SwapStudentSelection.Selection.canUnassign(Enrollment enrollment,
Enrollment conflict,
Assignment<Request,Enrollment> assignment)
Check if the given conflicting enrollment can be unassigned
|
void |
BacktrackSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
BranchBoundSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
StudentEnrollmentSwapSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
SwapStudentSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
BacktrackSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
BacktrackSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
BranchBoundSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
BranchBoundSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
StudentEnrollmentSwapSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
StudentEnrollmentSwapSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
SwapStudentSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
SwapStudentSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
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 |
AssignInitialSelection.init(Solver<Request,Enrollment> solver) |
void |
BacktrackSelection.init(Solver<Request,Enrollment> solver) |
void |
BranchBoundSelection.init(Solver<Request,Enrollment> solver) |
void |
CriticalCoursesBranchAndBoundSelection.init(Solver<Request,Enrollment> solver) |
void |
CriticalStandardSelection.init(Solver<Request,Enrollment> solver) |
void |
MinCreditBranchAndBoundSelection.init(Solver<Request,Enrollment> solver) |
void |
OnlineSelection.init(Solver<Request,Enrollment> solver) |
void |
PriorityConstructionSelection.init(Solver<Request,Enrollment> solver)
Initialize
|
void |
RandomUnassignmentSelection.init(Solver<Request,Enrollment> solver)
Initialization
|
void |
ResectionIncompleteStudentsSelection.init(Solver<Request,Enrollment> solver) |
void |
ResectionUnassignedStudentsSelection.init(Solver<Request,Enrollment> solver) |
void |
RndUnProblStudSelection.init(Solver<Request,Enrollment> solver)
Initialization --
ProblemStudentsProvider.getProblemStudents() is
called |
void |
ShuffleStudentsSelection.init(Solver<Request,Enrollment> solver) |
void |
StandardSelection.init(Solver<Request,Enrollment> solver)
Initialization
|
void |
StudentEnrollmentSwapSelection.init(Solver<Request,Enrollment> solver) |
void |
SwapStudentSelection.init(Solver<Request,Enrollment> solver)
Initialization
|
void |
UnassignedCriticalCourseRequestSelection.init(Solver<Request,Enrollment> solver) |
void |
UnassignedRequestSelection.init(Solver<Request,Enrollment> solver) |
void |
BacktrackSelection.init(Solver<Request,Enrollment> solver,
String name) |
void |
BranchBoundSelection.init(Solver<Request,Enrollment> solver,
String name)
Initialize
|
void |
CriticalBacktrackSelection.init(Solver<Request,Enrollment> solver,
String name) |
protected void |
StandardSelection.init(Solver<Request,Enrollment> solver,
String name) |
void |
StudentEnrollmentSwapSelection.init(Solver<Request,Enrollment> solver,
String name) |
void |
BacktrackSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
BacktrackSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
BranchBoundSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
BranchBoundSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
StudentEnrollmentSwapSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
StudentEnrollmentSwapSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
SwapStudentSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
SwapStudentSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
BacktrackSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
BacktrackSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
BranchBoundSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
BranchBoundSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
StudentEnrollmentSwapSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
StudentEnrollmentSwapSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
SwapStudentSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
SwapStudentSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
protected void |
PriorityConstructionSelection.nextCycle(Solution<Request,Enrollment> solution)
Increment cycle
|
protected Request |
UnassignedCriticalCourseRequestSelection.nextRequest(Solution<Request,Enrollment> solution) |
protected Request |
UnassignedRequestSelection.nextRequest(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
AssignInitialSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
BacktrackSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
BranchBoundSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Select neighbour.
|
Neighbour<Request,Enrollment> |
CriticalCoursesBranchAndBoundSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
MinCreditBranchAndBoundSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
PriorityConstructionSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Select neighbor.
|
Neighbour<Request,Enrollment> |
RandomUnassignmentSelection.selectNeighbour(Solution<Request,Enrollment> solution)
With the given probabilty, a student is randomly selected to be
unassigned.
|
Neighbour<Request,Enrollment> |
ResectionIncompleteStudentsSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Select neighbour.
|
Neighbour<Request,Enrollment> |
ResectionUnassignedStudentsSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Select neighbour.
|
Neighbour<Request,Enrollment> |
RndUnProblStudSelection.selectNeighbour(Solution<Request,Enrollment> solution)
With the given probabilty, a problematic student is randomly selected to
be unassigned.
|
Neighbour<Request,Enrollment> |
ShuffleStudentsSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
StandardSelection.selectNeighbour(Solution<Request,Enrollment> solution)
Employ the provided
VariableSelection and ValueSelection
and return the selected value as SimpleNeighbour . |
Neighbour<Request,Enrollment> |
StudentEnrollmentSwapSelection.selectNeighbour(Solution<Request,Enrollment> solution) |
Neighbour<Request,Enrollment> |
SwapStudentSelection.selectNeighbour(Solution<Request,Enrollment> solution)
For each student that does not have a complete schedule, try to find a
request and a student that can be moved out of an enrollment so that the
selected student can be assigned to the selected request.
|
protected Neighbour<Request,Enrollment> |
ShuffleStudentsSelection.ShuffleBacktrackNeighbourSelection.selectNeighbour(Solution<Request,Enrollment> solution,
org.cpsolver.studentsct.heuristics.selection.ShuffleStudentsSelection.Shuffle shuffle) |
Request |
UnassignedCriticalCourseRequestSelection.selectVariable(Solution<Request,Enrollment> solution) |
Request |
UnassignedRequestSelection.selectVariable(Solution<Request,Enrollment> solution) |
void |
OnlineSelection.updateSpace(Assignment<Request,Enrollment> assignment,
Student student)
Update online sectioning info after the given student is sectioned
|
double |
BranchBoundSelection.BranchBoundNeighbour.value(Assignment<Request,Enrollment> assignment) |
double |
PriorityConstructionSelection.ConstructionNeighbour.value(Assignment<Request,Enrollment> assignment) |
double |
RandomUnassignmentSelection.UnassignStudentNeighbour.value(Assignment<Request,Enrollment> assignment) |
double |
SwapStudentSelection.SwapStudentNeighbour.value(Assignment<Request,Enrollment> assignment) |
boolean |
BacktrackSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
BranchBoundSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
StudentEnrollmentSwapSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
SwapStudentSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
BacktrackSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
boolean |
BranchBoundSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
boolean |
StudentEnrollmentSwapSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
boolean |
SwapStudentSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
Modifier and Type | Class and Description |
---|---|
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.
|
Modifier and Type | Method and Description |
---|---|
Request |
Enrollment.getRequest()
Request
|
Modifier and Type | Method and Description |
---|---|
Model<Request,Enrollment> |
Config.getModel() |
Model<Request,Enrollment> |
Course.getModel() |
Model<Request,Enrollment> |
Offering.getModel() |
Model<Request,Enrollment> |
RequestGroup.getModel() |
Model<Request,Enrollment> |
Section.getModel() |
List<Request> |
Student.getRequests()
Student's course and free time requests
|
Modifier and Type | Method and Description |
---|---|
boolean |
Student.canAssign(Assignment<Request,Enrollment> assignment,
Request request)
True if the given request can be assigned to the student.
|
int |
Request.compareTo(Request r)
Compare to requests, non-alternative requests go first, otherwise use
priority (a request with lower priority goes first)
|
double |
Config.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Config.ConfigContext.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Section.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Section.SectionContext.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Config.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this config, excluding the given one.
|
double |
Config.ConfigContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this config, excluding the given one.
|
double |
Course.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests that are enrolled into this course,
excluding the given one.
|
double |
Course.CourseContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests that are enrolled into this course,
excluding the given one.
|
double |
RequestGroup.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
is of this request group, excluding the given one.
|
double |
RequestGroup.RequestGroupContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
is of this request group, excluding the given one.
|
double |
Section.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this section, excluding the given one.
|
double |
Section.SectionContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this section, excluding the given one.
|
double |
RequestGroup.getSectionWeight(Assignment<Request,Enrollment> assignment,
Section section,
Request excludeRequest)
Section weight -- weight of all requests which have an enrollment that
is of this request group and that includes the given section, excluding the given one.
|
double |
RequestGroup.RequestGroupContext.getSectionWeight(Assignment<Request,Enrollment> assignment,
Section section,
Request excludeRequest)
Section weight -- weight of all requests which have an enrollment that
is of this request group and that includes the given section, excluding the given one.
|
double |
Config.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available space in the configuration that is not reserved by any config reservation
|
double |
Offering.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available space in the offering that is not reserved by any reservation
|
double |
Section.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available space in the section that is not reserved by any section reservation
|
boolean |
Request.RequestPriority.isCritical(Request r) |
boolean |
Request.RequestPriority.isHigher(Request r) |
boolean |
Request.RequestPriority.isSame(Request r) |
Modifier and Type | Method and Description |
---|---|
void |
Config.ConfigContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this config is assigned to a request
|
void |
Course.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this course is assigned to a request
|
void |
Course.CourseContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
void |
FreeTimeRequest.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was assigned to a
Request . |
void |
FreeTimeRequest.FreeTimeRequestContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was assigned to a
Request . |
void |
RequestGroup.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment is assigned to a request of this request group
|
void |
RequestGroup.RequestGroupContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment is assigned to a request of this request group
|
void |
SctAssignment.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was assigned to a
Request . |
void |
Section.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this section is assigned to a request
|
void |
Section.SectionContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this section is assigned to a request
|
void |
Unavailability.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
boolean |
Student.canAssign(Assignment<Request,Enrollment> assignment,
Request request)
True if the given request can be assigned to the student.
|
int |
Section.compareTo(Assignment<Request,Enrollment> assignment,
Section s)
Compare two sections, prefer sections with lower penalty and more open
space
|
List<Enrollment> |
CourseRequest.computeEnrollments(Assignment<Request,Enrollment> assignment)
Return all possible enrollments.
|
List<Enrollment> |
FreeTimeRequest.computeEnrollments(Assignment<Request,Enrollment> assignment)
Create all possible enrollments of this request -- there is only one
possible enrollment:
FreeTimeRequest.createEnrollment() |
abstract List<Enrollment> |
Request.computeEnrollments(Assignment<Request,Enrollment> assignment)
Compute available enrollments
|
List<Enrollment> |
CourseRequest.computeRandomEnrollments(Assignment<Request,Enrollment> assignment,
int limitEachConfig)
Return a subset of all enrollments -- randomly select only up to
limitEachConfig enrollments of each config.
|
Config.ConfigContext |
Config.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Course.CourseContext |
Course.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Request.RequestContext |
FreeTimeRequest.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Request.RequestContext |
Request.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
RequestGroup.RequestGroupContext |
RequestGroup.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Section.SectionContext |
Section.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Enrollment |
CourseRequest.createEnrollment(Assignment<Request,Enrollment> assignment,
Set<? extends SctAssignment> sections)
Create enrollment for the given list of sections.
|
Set<DistanceConflict.Conflict> |
Enrollment.distanceConflicts(Assignment<Request,Enrollment> assignment)
Distance conflicts, in which this enrollment is involved.
|
float |
Student.getAssignedCredit(Assignment<Request,Enrollment> assignment)
Return the number of assigned credits of the student
|
List<Enrollment> |
CourseRequest.getAvaiableEnrollments(Assignment<Request,Enrollment> assignment)
Return all enrollments that are available
|
List<Enrollment> |
CourseRequest.getAvaiableEnrollmentsSkipSameTime(Assignment<Request,Enrollment> assignment)
Return all enrollments that are available, pick only the first section of
the sections with the same time (of each subpart,
Section
comparator is used) |
double |
RequestGroup.getAverageSpread(Assignment<Request,Enrollment> assignment)
Return average section spread of this group.
|
Set<Enrollment> |
Config.getEnrollments(Assignment<Request,Enrollment> assignment)
Set of assigned enrollments
|
Set<Enrollment> |
Course.getEnrollments(Assignment<Request,Enrollment> assignment)
Set of assigned enrollments
|
Set<Enrollment> |
FreeTimeRequest.getEnrollments(Assignment<Request,Enrollment> assignment)
Return the list of assigned enrollments that contains this assignment.
|
Set<Enrollment> |
SctAssignment.getEnrollments(Assignment<Request,Enrollment> assignment)
Return the list of assigned enrollments that contains this assignment.
|
Set<Enrollment> |
Section.getEnrollments(Assignment<Request,Enrollment> assignment)
Set of assigned enrollments
|
Set<Enrollment> |
Unavailability.getEnrollments(Assignment<Request,Enrollment> assignment)
Not used, always null
|
double |
RequestGroup.getEnrollmentSpread(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
double bestRatio,
double fillRatio)
Return how much is the given enrollment similar to other enrollments of this group.
|
double |
RequestGroup.RequestGroupContext.getEnrollmentSpread(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
double bestRatio,
double fillRatio)
Return how much is the given enrollment (which is not part of the request group) creating an issue for this request group
|
List<Enrollment> |
CourseRequest.getEnrollmentsSkipSameTime(Assignment<Request,Enrollment> assignment)
Return all possible enrollments, but pick only the first section of
the sections with the same time (of each subpart,
Section
comparator is used). |
double |
Config.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Config.ConfigContext.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Section.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Section.SectionContext.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Config.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this config, excluding the given one.
|
double |
Config.ConfigContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this config, excluding the given one.
|
double |
Course.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests that are enrolled into this course,
excluding the given one.
|
double |
Course.CourseContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests that are enrolled into this course,
excluding the given one.
|
double |
RequestGroup.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
is of this request group, excluding the given one.
|
double |
RequestGroup.RequestGroupContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
is of this request group, excluding the given one.
|
double |
Section.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this section, excluding the given one.
|
double |
Section.SectionContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this section, excluding the given one.
|
double |
Config.getMaxEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Maximal weight of a single enrollment in the config
|
double |
Course.getMaxEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Maximal weight of a single enrollment in the course
|
double |
Section.getMaxEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Maximal weight of a single enrollment in the section
|
double |
Config.getMinEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Minimal weight of a single enrollment in the config
|
double |
Course.getMinEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Minimal weight of a single enrollment in the course
|
double |
Section.getMinEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Minimal weight of a single enrollment in the section
|
double |
Section.getOnlineSectioningPenalty(Assignment<Request,Enrollment> assignment)
Online sectioning penalty.
|
double |
RequestGroup.getSectionSpread(Assignment<Request,Enrollment> assignment,
Section section)
Return section spread of this group.
|
double |
RequestGroup.getSectionWeight(Assignment<Request,Enrollment> assignment,
Section section,
Request excludeRequest)
Section weight -- weight of all requests which have an enrollment that
is of this request group and that includes the given section, excluding the given one.
|
double |
RequestGroup.RequestGroupContext.getSectionWeight(Assignment<Request,Enrollment> assignment,
Section section,
Request excludeRequest)
Section weight -- weight of all requests which have an enrollment that
is of this request group and that includes the given section, excluding the given one.
|
List<Enrollment> |
CourseRequest.getSelectedEnrollments(Assignment<Request,Enrollment> assignment,
boolean availableOnly)
Return all enrollments of the first course that are selected (
CourseRequest.isSelected(Section) is true) |
TreeSet<Reservation> |
CourseRequest.getSortedReservations(Assignment<Request,Enrollment> assignment,
Course course)
Get reservations for this course requests ordered using
Reservation.compareTo(Assignment, Reservation) |
double |
Config.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available space in the configuration that is not reserved by any config reservation
|
double |
Offering.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available space in the offering that is not reserved by any reservation
|
double |
Section.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available space in the section that is not reserved by any section reservation
|
void |
Enrollment.guessReservation(Assignment<Request,Enrollment> assignment,
boolean onlyAvailable)
Guess the reservation based on the enrollment
|
boolean |
Student.hasUnassignedCritical(Assignment<Request,Enrollment> assignment)
Deprecated.
|
boolean |
Student.hasUnassignedCritical(Assignment<Request,Enrollment> assignment,
Request.RequestPriority rp)
Has student any unassigned critical course requests?
|
Config.ConfigContext |
Config.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
Config.ConfigContext parentContext) |
Course.CourseContext |
Course.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
Course.CourseContext parentContext) |
RequestGroup.RequestGroupContext |
RequestGroup.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
RequestGroup.RequestGroupContext parentContext) |
Section.SectionContext |
Section.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
Section.SectionContext parentContext) |
boolean |
CourseRequest.isAssigned(Assignment<Request,Enrollment> assignment)
Return true if request is assigned.
|
boolean |
Request.isAssigned(Assignment<Request,Enrollment> assignment)
Return true if request is assigned.
|
boolean |
Student.isComplete(Assignment<Request,Enrollment> assignment)
True if the student has assigned the desired number of requests (i.e.,
number of non-alternative course requests).
|
int |
Student.nrAssignedRequests(Assignment<Request,Enrollment> assignment)
Number of assigned COURSE requests
|
void |
Offering.setModel(Model<Request,Enrollment> model) |
Set<StudentQuality.Conflict> |
Enrollment.studentQualityConflicts(Assignment<Request,Enrollment> assignment) |
Set<TimeOverlapsCounter.Conflict> |
Enrollment.timeOverlappingConflicts(Assignment<Request,Enrollment> assignment)
Time overlapping conflicts, in which this enrollment is involved.
|
double |
Enrollment.toDouble(Assignment<Request,Enrollment> assignment)
Enrollment value
|
double |
Enrollment.toDouble(Assignment<Request,Enrollment> assignment,
boolean precise)
Enrollment value
|
String |
Enrollment.toString(Assignment<Request,Enrollment> a) |
void |
Config.ConfigContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this config is unassigned from a request
|
void |
Course.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this course is unassigned from a request
|
void |
Course.CourseContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
void |
FreeTimeRequest.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was unassigned from a
Request . |
void |
FreeTimeRequest.FreeTimeRequestContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was unassigned from a
Request . |
void |
RequestGroup.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment is unassigned from a request of this request group
|
void |
RequestGroup.RequestGroupContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment is unassigned from a request of this request group
|
void |
SctAssignment.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was unassigned from a
Request . |
void |
Section.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this section is unassigned from a request
|
void |
Section.SectionContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this section is unassigned from a request
|
void |
Unavailability.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
List<Enrollment> |
Request.values(Assignment<Request,Enrollment> assignment)
Domain of this variable -- list of available enrollments.
|
void |
CourseRequest.variableAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment enrollment) |
void |
Request.variableAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment enrollment)
Assign given enrollment to this request.
|
void |
CourseRequest.variableUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment enrollment) |
void |
Request.variableUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment enrollment)
Unassign currently assigned enrollment from this request.
|
Constructor and Description |
---|
Enrollment(Request request,
int priority,
boolean noReservationPenalty,
Course course,
Config config,
Set<? extends SctAssignment> assignments,
Reservation reservation)
Constructor
|
Enrollment(Request request,
int priority,
Config config,
Set<? extends SctAssignment> assignments,
Assignment<Request,Enrollment> assignment)
Constructor
|
Enrollment(Request request,
int priority,
Course course,
Config config,
Set<? extends SctAssignment> assignments,
Reservation reservation)
Constructor
|
Constructor and Description |
---|
ConfigContext(Assignment<Request,Enrollment> assignment) |
CourseContext(Assignment<Request,Enrollment> assignment) |
Enrollment(Request request,
int priority,
Config config,
Set<? extends SctAssignment> assignments,
Assignment<Request,Enrollment> assignment)
Constructor
|
FreeTimeRequestContext(Assignment<Request,Enrollment> assignment) |
RequestContext(Assignment<Request,Enrollment> assignment) |
RequestGroupContext(Assignment<Request,Enrollment> assignment) |
SectionContext(Assignment<Request,Enrollment> assignment) |
Modifier and Type | Method and Description |
---|---|
protected Request |
Test.addRequest(Student student,
Student original,
Request request,
Map<Long,Section> classTable,
StudentSectioningModel model) |
Modifier and Type | Method and Description |
---|---|
Assignment<Request,Enrollment> |
Test.assignment() |
Modifier and Type | Method and Description |
---|---|
protected Request |
Test.addRequest(Student student,
Student original,
Request request,
Map<Long,Section> classTable,
StudentSectioningModel model) |
double |
OnlineSectioningModel.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
OnlineSectioningModel.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Expectation penalty, to be minimized (computed using
OverExpectedCriterion.getOverExpected(Assignment, Section, Request) ) |
Modifier and Type | Method and Description |
---|---|
void |
MaxOverExpectedConstraint.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment value,
Set<Enrollment> conflicts) |
Map<String,String> |
Test.TestModel.getExtendedInfo(Assignment<Request,Enrollment> assignment) |
double |
OnlineSectioningModel.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
OnlineSectioningModel.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment selection,
Enrollment value,
Set<Enrollment> conflicts)
Expectation penalty, to be minimized.
|
double |
OnlineSectioningModel.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Expectation penalty, to be minimized (computed using
OverExpectedCriterion.getOverExpected(Assignment, Section, Request) ) |
double |
Test.getPercDisbalancedSections(Assignment<Request,Enrollment> assignment,
double perc) |
boolean |
MaxOverExpectedConstraint.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment value) |
static void |
Test.updateSpace(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
boolean increment) |
Modifier and Type | Method and Description |
---|---|
protected double |
PercentageOverExpected.getEnrollment(Assignment<Request,Enrollment> assignment,
Config config,
Request request)
Config enrollment (using
OnlineConfig.getEnrollment() if applicable}, Config.getEnrollmentWeight(Assignment, Request) otherwise) |
protected double |
PercentageOverExpected.getEnrollment(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Section enrollment (using
OnlineSection.getEnrollment() if applicable}, Section.getEnrollmentWeight(Assignment, Request) otherwise) |
double |
MinimizeConflicts.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request) |
double |
OverExpectedCriterion.HasContext.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
AvoidUnbalancedWhenNoExpectations.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
FractionallyOverExpected.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
FractionallyUnbalancedWhenNoExpectations.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
MinimizeConflicts.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
NeverOverExpected.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
OverExpectedCriterion.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
PenaltyNotNegative.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
PercentageOverExpected.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
Modifier and Type | Method and Description |
---|---|
protected double |
PercentageOverExpected.getEnrollment(Assignment<Request,Enrollment> assignment,
Config config,
Request request)
Config enrollment (using
OnlineConfig.getEnrollment() if applicable}, Config.getEnrollmentWeight(Assignment, Request) otherwise) |
protected double |
PercentageOverExpected.getEnrollment(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Section enrollment (using
OnlineSection.getEnrollment() if applicable}, Section.getEnrollmentWeight(Assignment, Request) otherwise) |
double |
MinimizeConflicts.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request) |
double |
OverExpectedCriterion.HasContext.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
MinimizeConflicts.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment selection,
Enrollment value,
Set<Enrollment> conflicts) |
double |
OverExpectedCriterion.HasContext.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment selection,
Enrollment value,
Set<Enrollment> conflicts)
Expectation penalty, to be minimized.
|
double |
AvoidUnbalancedWhenNoExpectations.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
FractionallyOverExpected.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
FractionallyUnbalancedWhenNoExpectations.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
MinimizeConflicts.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
NeverOverExpected.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
OverExpectedCriterion.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
PenaltyNotNegative.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
PercentageOverExpected.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
Modifier and Type | Field and Description |
---|---|
protected Assignment<Request,Enrollment> |
MultiCriteriaBranchAndBoundSelection.iAssignment |
Modifier and Type | Method and Description |
---|---|
Request |
OnlineSectioningCriterion.getRequest(int index) |
Modifier and Type | Method and Description |
---|---|
boolean |
MultiCriteriaBranchAndBoundSelection.canAssign(Request request,
int idx)
True if the given request can be assigned
|
protected boolean |
MultiCriteriaBranchAndBoundSelection.canLeaveUnassigned(Request request)
Returns true if the given request can be left unassigned
|
protected boolean |
SuggestionSelection.Selection.canLeaveUnassigned(Request request) |
boolean |
SuggestionsBranchAndBound.canLeaveUnassigned(Request request)
Can this request be left unassigned
|
double |
StudentSchedulingAssistantWeights.getBound(Request request) |
protected double |
SuggestionSelection.Selection.getBound(Request r) |
protected Set<Section> |
OnlineSectioningCriterion.getPreferredSections(Request request) |
protected List<Enrollment> |
SuggestionsBranchAndBound.values(Request request)
Domain of a request
|
Modifier and Type | Method and Description |
---|---|
protected void |
SuggestionsBranchAndBound.backtrack(ArrayList<Request> requests2resolve,
TreeSet<Request> altRequests2resolve,
int idx,
int depth,
boolean alt)
Main branch and bound rutine
|
protected void |
SuggestionsBranchAndBound.backtrack(ArrayList<Request> requests2resolve,
TreeSet<Request> altRequests2resolve,
int idx,
int depth,
boolean alt)
Main branch and bound rutine
|
protected boolean |
SuggestionsBranchAndBound.canContinue(ArrayList<Request> requests2resolve,
int idx,
int depth)
Termination criterion
|
boolean |
BestPenaltyCriterion.canImprove(Assignment<Request,Enrollment> assignment,
int maxIdx,
Enrollment[] current,
Enrollment[] best) |
boolean |
EqualWeightCriterion.canImprove(Assignment<Request,Enrollment> assignment,
int maxIdx,
Enrollment[] current,
Enrollment[] best) |
boolean |
MultiCriteriaBranchAndBoundSelection.SelectionCriterion.canImprove(Assignment<Request,Enrollment> assignment,
int idx,
Enrollment[] current,
Enrollment[] best)
Bound
|
boolean |
OnlineSectioningCriterion.canImprove(Assignment<Request,Enrollment> assignment,
int maxIdx,
Enrollment[] current,
Enrollment[] best) |
protected boolean |
SuggestionsBranchAndBound.checkBound(ArrayList<Request> requests2resolve,
int idx,
int depth,
Enrollment value,
Set<Enrollment> conflicts)
Check bound
|
int |
BestPenaltyCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment[] current,
Enrollment[] best) |
int |
EqualWeightCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment[] current,
Enrollment[] best) |
int |
MultiCriteriaBranchAndBoundSelection.SelectionCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment[] current,
Enrollment[] best)
Compare two solutions
|
int |
OnlineSectioningCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment[] current,
Enrollment[] best) |
int |
BestPenaltyCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment e1,
Enrollment e2) |
int |
MultiCriteriaBranchAndBoundSelection.SelectionComparator.compare(Assignment<Request,Enrollment> assignment,
Enrollment e1,
Enrollment e2)
Compare two enrollments
|
int |
OnlineSectioningCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment e1,
Enrollment e2) |
protected int |
MultiCriteriaBranchAndBoundSuggestions.compare(Assignment<Request,Enrollment> assignment,
SuggestionsBranchAndBound.Suggestion s1,
SuggestionsBranchAndBound.Suggestion s2) |
protected int |
SuggestionsBranchAndBound.compare(Assignment<Request,Enrollment> assignment,
SuggestionsBranchAndBound.Suggestion s1,
SuggestionsBranchAndBound.Suggestion s2)
Compare two suggestions
|
double |
StudentSchedulingAssistantWeights.getBaseWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
StudentSchedulingAssistantWeights.getDistanceConflictWeight(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict distanceConflict)
Deprecated.
|
double |
StudentSchedulingAssistantWeights.getStudentQualityConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
StudentQuality.Conflict conflict) |
double |
StudentSchedulingAssistantWeights.getTimeOverlapConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
TimeOverlapsCounter.Conflict timeOverlap)
Deprecated.
|
double |
BestPenaltyCriterion.getTotalWeight(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollments) |
double |
MultiCriteriaBranchAndBoundSelection.SelectionCriterion.getTotalWeight(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollments)
For backward compatibility, return a weighted sum
|
double |
OnlineSectioningCriterion.getTotalWeight(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollemnts) |
double |
ResectioningWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
StudentSchedulingAssistantWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
protected double |
OnlineSectioningCriterion.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts)
Deprecated.
|
double |
StudentSchedulingAssistantWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts) |
protected double |
OnlineSectioningCriterion.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> conflicts) |
double |
StudentSchedulingAssistantWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> qualityConflicts) |
boolean |
StudentSchedulingAssistantWeights.isBetterThanBestSolution(Solution<Request,Enrollment> currentSolution) |
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) |
Constructor and Description |
---|
MultiCriteriaBranchAndBoundSuggestions(DataProperties properties,
Student student,
Assignment<Request,Enrollment> assignment,
Hashtable<CourseRequest,Set<Section>> requiredSections,
Set<FreeTimeRequest> requiredFreeTimes,
Hashtable<CourseRequest,Set<Section>> preferredSections,
Request selectedRequest,
Section selectedSection,
SuggestionsBranchAndBound.SuggestionFilter filter,
double maxSectionsWithPenalty,
boolean priorityWeighting)
Constructor
|
SuggestionsBranchAndBound(DataProperties properties,
Student student,
Assignment<Request,Enrollment> assignment,
Hashtable<CourseRequest,Set<Section>> requiredSections,
Set<FreeTimeRequest> requiredFreeTimes,
Hashtable<CourseRequest,Set<Section>> preferredSections,
Request selectedRequest,
Section selectedSection,
SuggestionsBranchAndBound.SuggestionFilter filter,
double maxSectionsWithPenalty)
Constructor
|
Modifier and Type | Method and Description |
---|---|
Request |
AbstractStudentSectioningReport.RequestMatcher.request() |
Modifier and Type | Method and Description |
---|---|
boolean |
AbstractStudentSectioningReport.matches(Request r) |
boolean |
StudentSectioningReport.Filter.matches(Request r)
Returns true if the given request matches the filter.
|
boolean |
AbstractStudentSectioningReport.matches(Request r,
Enrollment e) |
boolean |
StudentSectioningReport.Filter.matches(Request r,
Enrollment e)
Returns true if the given request with the given assignment matches the filter.
|
Constructor and Description |
---|
RequestMatcher(Request request,
Enrollment enrollment,
Assignment<Request,Enrollment> assignment,
String user) |
Constructor and Description |
---|
RequestMatcher(Request request,
Enrollment enrollment,
Assignment<Request,Enrollment> assignment,
String user) |
Modifier and Type | Method and Description |
---|---|
Model<Request,Enrollment> |
Reservation.getModel() |
Modifier and Type | Method and Description |
---|---|
double |
Reservation.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Config config,
Request excludeRequest)
Available reserved space for a particular config
|
double |
Reservation.ReservationContext.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Config config,
Request excludeRequest)
Available reserved space for a particular config
|
double |
Reservation.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available reserved space
|
double |
Reservation.ReservationContext.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available reserved space
|
Modifier and Type | Method and Description |
---|---|
void |
Reservation.ReservationContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Notify reservation about an unassignment
|
boolean |
Reservation.canEnroll(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
True if the enrollment can be done using this reservation
|
int |
Reservation.compareTo(Assignment<Request,Enrollment> assignment,
Reservation r)
Priority first, than restrictivity (more restrictive first), than availability (more available first), than id
|
Reservation.ReservationContext |
Reservation.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Set<Enrollment> |
Reservation.getEnrollments(Assignment<Request,Enrollment> assignment)
Enrollments assigned using this reservation
|
double |
Reservation.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Config config,
Request excludeRequest)
Available reserved space for a particular config
|
double |
Reservation.ReservationContext.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Config config,
Request excludeRequest)
Available reserved space for a particular config
|
double |
Reservation.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available reserved space
|
double |
Reservation.ReservationContext.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available reserved space
|
Reservation.ReservationContext |
Reservation.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
Reservation.ReservationContext parentContext) |
void |
Reservation.ReservationContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Notify reservation about an assignment
|
Constructor and Description |
---|
ReservationContext(Assignment<Request,Enrollment> assignment) |
Modifier and Type | Method and Description |
---|---|
protected double |
PriorityStudentWeights.computeBound(double base,
Request request) |
double |
PriorityStudentWeights.getBoostedWeight(Request request) |
double |
OriginalStudentWeights.getBound(Request request) |
double |
PriorityStudentWeights.getBound(Request request) |
double |
StudentWeights.getBound(Request request)
Return lower bound for the given request
|
double |
PriorityStudentWeights.getCachedWeight(Request request) |
double |
EqualStudentWeights.getWeight(Request request) |
double |
OriginalStudentWeights.getWeight(Request request) |
double |
PriorityStudentWeights.getWeight(Request request) |
Modifier and Type | Method and Description |
---|---|
protected double |
PriorityStudentWeights.getBaseWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
OriginalStudentWeights.getDistanceConflictWeight(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict c) |
double |
PriorityStudentWeights.getDistanceConflictWeight(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict c) |
double |
StudentWeights.getDistanceConflictWeight(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict distanceConflict)
Return weight of a distance conflict
|
double |
OriginalStudentWeights.getStudentQualityConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
StudentQuality.Conflict conflict) |
double |
PriorityStudentWeights.getStudentQualityConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
StudentQuality.Conflict conflict) |
double |
StudentWeights.getStudentQualityConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
StudentQuality.Conflict conflict)
Return weight of a student quality conflict
|
double |
OriginalStudentWeights.getTimeOverlapConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
TimeOverlapsCounter.Conflict timeOverlap) |
double |
PriorityStudentWeights.getTimeOverlapConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment e,
TimeOverlapsCounter.Conflict c) |
double |
StudentWeights.getTimeOverlapConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
TimeOverlapsCounter.Conflict timeOverlap)
Return weight of a time overlapping conflict
|
double |
OriginalStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
PriorityStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
StudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Return base weight of the given enrollment
|
double |
OriginalStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts) |
double |
PriorityStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts) |
double |
StudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts)
Return weight of the given enrollment
|
double |
OriginalStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> qualityConflicts) |
double |
PriorityStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> qualityConflicts) |
double |
StudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> qualityConflicts)
Return weight of the given enrollment
|
double |
PriorityStudentWeights.getWeightAdditive(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
PriorityStudentWeights.getWeightMultiplicative(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
boolean |
EqualStudentWeights.isBetterThanBestSolution(Solution<Request,Enrollment> currentSolution) |
boolean |
OriginalStudentWeights.isBetterThanBestSolution(Solution<Request,Enrollment> currentSolution) |
boolean |
PriorityStudentWeights.isBetterThanBestSolution(Solution<Request,Enrollment> currentSolution) |