public class SuggestionSelection extends BranchBoundSelection implements OnlineSectioningSelection
BranchBoundSelection of the batch solver. The
selections adds the ability to provide required free times and sections and to prefer certain sections.
If a course request has preferred sections, StudentWeights.PreferenceFactor parameter is used
to penalize selection of a non-preferred section.| Modifier and Type | Class and Description |
|---|---|
class |
SuggestionSelection.Selection
Extension of
BranchBoundSelection.Selection including checking of
required free times and sections. |
BranchBoundSelection.BranchBoundNeighbour| Modifier and Type | Field and Description |
|---|---|
protected Hashtable<CourseRequest,Set<Section>> |
iPreferredSections |
protected Hashtable<CourseRequest,Config> |
iRequiredConfig |
protected Set<FreeTimeRequest> |
iRequiredFreeTimes |
protected Hashtable<CourseRequest,Hashtable<Subpart,Section>> |
iRequiredSection |
protected Set<CourseRequest> |
iRequiredUnassinged |
iBranchWhenSelectedHasNoConflict, iDistanceConflict, iDistConfWeight, iFilter, iMinimizePenalty, iModel, iNbrIterations, iNbrNoSolution, iNbrStudents, iNbrTimeoutReached, iOrder, iStudentQuality, iStudents, iTimeout, iTimeOverlaps, iTimesToAvoidHeuristics, iTotalTime, sDebug| Constructor and Description |
|---|
SuggestionSelection(DataProperties properties) |
| Modifier and Type | Method and Description |
|---|---|
BranchBoundSelection.BranchBoundNeighbour |
select(Assignment<Request,Enrollment> assignment,
Student student)
Compute student schedule
|
void |
setMaxOverExpected(double maxOverExpected)
Set hard limit on the
OverExpectedCriterion penalty. |
void |
setModel(OnlineSectioningModel model)
Set online sectioning model
|
void |
setPreferredSections(Hashtable<CourseRequest,Set<Section>> preferredSections)
Set preferred sections
|
void |
setRequiredFreeTimes(Set<FreeTimeRequest> requiredFreeTimes)
Set required free times
|
void |
setRequiredSections(Hashtable<CourseRequest,Set<Section>> requiredSections)
Set required sections
|
void |
setRequiredUnassinged(Set<CourseRequest> requiredUnassignedRequests)
Set course requests that are to be left unassigned
|
addStudent, getFilter, getInfo, getInfo, getSelection, init, init, neighbourFailed, neighbourSelected, nextStudent, selectNeighbour, setModel, valueSelected, variableSelected, withFilterprotected Set<FreeTimeRequest> iRequiredFreeTimes
protected Hashtable<CourseRequest,Config> iRequiredConfig
protected Hashtable<CourseRequest,Hashtable<Subpart,Section>> iRequiredSection
protected Hashtable<CourseRequest,Set<Section>> iPreferredSections
protected Set<CourseRequest> iRequiredUnassinged
public SuggestionSelection(DataProperties properties)
public void setPreferredSections(Hashtable<CourseRequest,Set<Section>> preferredSections)
OnlineSectioningSelectionsetPreferredSections in interface OnlineSectioningSelectionpreferredSections - preferred sections for each course requestpublic void setRequiredSections(Hashtable<CourseRequest,Set<Section>> requiredSections)
OnlineSectioningSelectionsetRequiredSections in interface OnlineSectioningSelectionrequiredSections - required sections for each course requestpublic void setRequiredFreeTimes(Set<FreeTimeRequest> requiredFreeTimes)
OnlineSectioningSelectionsetRequiredFreeTimes in interface OnlineSectioningSelectionrequiredFreeTimes - required free timespublic BranchBoundSelection.BranchBoundNeighbour select(Assignment<Request,Enrollment> assignment, Student student)
OnlineSectioningSelectionselect in interface OnlineSectioningSelectionassignment - current assignmentstudent - student in questionpublic void setModel(OnlineSectioningModel model)
OnlineSectioningSelectionsetModel in interface OnlineSectioningSelectionmodel - online sectioning modelpublic void setRequiredUnassinged(Set<CourseRequest> requiredUnassignedRequests)
OnlineSectioningSelectionsetRequiredUnassinged in interface OnlineSectioningSelectionrequiredUnassignedRequests - course requests that are required to be left unassignedpublic void setMaxOverExpected(double maxOverExpected)
OnlineSectioningSelectionOverExpectedCriterion penalty.setMaxOverExpected in interface OnlineSectioningSelectionmaxOverExpected - max over-expected limit