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 |
iBranchWhenSelectedHasNoConflict, iDistanceConflict, iDistConfWeight, iMinimizePenalty, iModel, iOrder, iStudents, iTimeout, iTimeOverlaps, 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 |
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
|
addStudent, getSelection, init, init, nextStudent, selectNeighbour, setModelprotected Set<FreeTimeRequest> iRequiredFreeTimes
protected Hashtable<CourseRequest,Config> iRequiredConfig
protected Hashtable<CourseRequest,Hashtable<Subpart,Section>> iRequiredSection
protected Hashtable<CourseRequest,Set<Section>> iPreferredSections
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 modelCopyright © 2017 UniTime LLC. All Rights Reserved.