public class OnlineSelection.EpsilonSelection extends BranchBoundSelection.Selection
iAssignment, iBestAssignment, iBestValue, iCurrentAssignment, iStudent, iT0, iT1, iTimeoutReached, iTimesToAvoid, iValues
Constructor and Description |
---|
EpsilonSelection(Student student,
Assignment<Request,Enrollment> assignment,
BranchBoundSelection.Selection selection)
Constructor
|
Modifier and Type | Method and Description |
---|---|
Enrollment |
firstConflict(int idx,
Enrollment enrollment)
First conflicting enrollment
|
protected double |
getAssignmentPenalty(int i)
Assignment penalty
|
StudentPreferencePenalties |
getPenalties()
Student preference penalties
|
boolean |
isAllowed(int idx,
Enrollment enrollment) |
BranchBoundSelection.BranchBoundNeighbour |
select()
Execute branch & bound, return the best found schedule for the
selected student.
|
backTrack, canAssign, canLeaveUnassigned, getBestAssignment, getBestNrAssigned, getBestValue, getBound, getBound, getDistanceConflicts, getNrAssigned, getNrAssignedBound, getPenalty, getPenaltyBound, getStudentQualityConflicts, getTime, getTimeOverlappingConflicts, getValue, getWeight, getWeight, inConflict, isTimeoutReached, saveBest, values
public EpsilonSelection(Student student, Assignment<Request,Enrollment> assignment, BranchBoundSelection.Selection selection)
student
- selected studentassignment
- current assignmentselection
- selectionpublic BranchBoundSelection.BranchBoundNeighbour select()
select
in class BranchBoundSelection.Selection
protected double getAssignmentPenalty(int i)
getAssignmentPenalty
in class BranchBoundSelection.Selection
i
- index of the requestpublic boolean isAllowed(int idx, Enrollment enrollment)
public Enrollment firstConflict(int idx, Enrollment enrollment)
firstConflict
in class BranchBoundSelection.Selection
idx
- index of requestenrollment
- enrollment in questionpublic StudentPreferencePenalties getPenalties()