public interface StudentWeights extends SolutionComparator<Request,Enrollment>
| Modifier and Type | Interface and Description |
|---|---|
static class |
StudentWeights.Implementation
Registered implementation
|
| Modifier and Type | Method and Description |
|---|---|
double |
getBound(Request request)
Return lower bound for the given request
|
double |
getDistanceConflictWeight(DistanceConflict.Conflict distanceConflict)
Return weight of a distance conflict
|
double |
getTimeOverlapConflictWeight(Enrollment enrollment,
TimeOverlapsCounter.Conflict timeOverlap)
Return weight of a time overlapping conflict
|
double |
getWeight(Enrollment enrollment)
Return base weight of the given enrollment
|
double |
getWeight(Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts)
Return weight of the given enrollment
|
boolean |
isFreeTimeAllowOverlaps()
Return true if free time requests allow overlaps
|
isBetterThanBestSolutiondouble getBound(Request request)
request - given requestdouble getWeight(Enrollment enrollment)
enrollment - given enrollmentdouble getWeight(Enrollment enrollment, Set<DistanceConflict.Conflict> distanceConflicts, Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts)
enrollment - given enrollmentdistanceConflicts - distance conflictstimeOverlappingConflicts - time overlapping conflictsdouble getDistanceConflictWeight(DistanceConflict.Conflict distanceConflict)
double getTimeOverlapConflictWeight(Enrollment enrollment, TimeOverlapsCounter.Conflict timeOverlap)
boolean isFreeTimeAllowOverlaps()