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 |
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, setModel
protected 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)
OnlineSectioningSelection
setPreferredSections
in interface OnlineSectioningSelection
preferredSections
- preferred sections for each course requestpublic void setRequiredSections(Hashtable<CourseRequest,Set<Section>> requiredSections)
OnlineSectioningSelection
setRequiredSections
in interface OnlineSectioningSelection
requiredSections
- required sections for each course requestpublic void setRequiredFreeTimes(Set<FreeTimeRequest> requiredFreeTimes)
OnlineSectioningSelection
setRequiredFreeTimes
in interface OnlineSectioningSelection
requiredFreeTimes
- required free timespublic BranchBoundSelection.BranchBoundNeighbour select(Assignment<Request,Enrollment> assignment, Student student)
OnlineSectioningSelection
select
in interface OnlineSectioningSelection
assignment
- current assignmentstudent
- student in questionpublic void setModel(OnlineSectioningModel model)
OnlineSectioningSelection
setModel
in interface OnlineSectioningSelection
model
- online sectioning modelCopyright © 2016 UniTime LLC. All Rights Reserved.