public static interface StudentQuality.Quality
Modifier and Type | Method and Description |
---|---|
double |
getWeight(StudentQuality.Context cx,
StudentQuality.Conflict c,
Enrollment e)
Base weight of the given conflict and enrollment.
|
boolean |
inConflict(StudentQuality.Context cx,
SctAssignment a1,
SctAssignment a2)
When applicable, is there a conflict between two sections
|
boolean |
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
|
Iterable<? extends SctAssignment> |
other(StudentQuality.Context cx,
Enrollment e)
Enumerate other section assignments applicable for the given enrollment (e.g., student unavailabilities)
|
int |
penalty(StudentQuality.Context cx,
SctAssignment a1,
SctAssignment a2)
When in conflict, what is the penalisation
|
boolean isApplicable(StudentQuality.Context cx, Student student, Request r1, Request r2)
boolean inConflict(StudentQuality.Context cx, SctAssignment a1, SctAssignment a2)
int penalty(StudentQuality.Context cx, SctAssignment a1, SctAssignment a2)
Iterable<? extends SctAssignment> other(StudentQuality.Context cx, Enrollment e)
double getWeight(StudentQuality.Context cx, StudentQuality.Conflict c, Enrollment e)
StudentQuality.Conflict.getPenalty()
, but
change to be between 0.0 and 1.0. For example, for time conflicts, a percentage of share is used.