public class OnlineSelection extends BranchBoundSelection
| Parameter | Type | Comment |
|---|---|---|
| Sectioning.UseStudentPreferencePenalties | Boolean |
If true, StudentPreferencePenalties are used |
| Sectioning.Distribution | Integer |
When student preference penalties are used, defines which distribution is
to be used (one of StudentPreferencePenalties.sDistTypePreference,
StudentPreferencePenalties.sDistTypePreferenceQuadratic,
StudentPreferencePenalties.sDistTypePreferenceReverse,
StudentPreferencePenalties.sDistTypeUniform) |
| Sectioning.UseOnlinePenalties | Boolean |
If true, online sectioning penalties computed based on held/expected space are used. |
| Sectioning.Epsilon | Double |
When both online penalties and student preference penalties are used: a
solution based on online penalties is computed first, this solution (and the
given epsilon) is then used to setup bounds on online penalties for the
solution that minimizes student preference penalties. Limit on online penalty
is computed as (1+Section.Epsilon) BranchBoundSelection.Selection.getPenalty(), i.e., only
sections with penalty equal or below this limit can be used -- among these
the solution that minimizes student preference penalties is computed. |
| Modifier and Type | Class and Description |
|---|---|
class |
OnlineSelection.EpsilonSelection
Branch & bound selection for a student
|
BranchBoundSelection.BranchBoundNeighbour, BranchBoundSelection.SelectioniBranchWhenSelectedHasNoConflict, iDistanceConflict, iDistConfWeight, iFilter, iMinimizePenalty, iModel, iNbrIterations, iNbrNoSolution, iNbrStudents, iNbrTimeoutReached, iOrder, iStudentQuality, iStudents, iTimeout, iTimeOverlaps, iTimesToAvoidHeuristics, iTotalTime, sDebug| Constructor and Description |
|---|
OnlineSelection(DataProperties properties)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
BranchBoundSelection.Selection |
getSelection(Assignment<Request,Enrollment> assignment,
Student student)
Branch & bound selection for a student
|
void |
init(Solver<Request,Enrollment> solver)
Criterion initialization
|
boolean |
isUsePenalties()
Use online penalties
|
boolean |
isUseStudentPrefPenalties()
Use student preference penalties
|
void |
updateSpace(Assignment<Request,Enrollment> assignment,
Student student)
Update online sectioning info after the given student is sectioned
|
addStudent, getFilter, getInfo, getInfo, init, neighbourFailed, neighbourSelected, nextStudent, selectNeighbour, setModel, valueSelected, variableSelected, withFilterpublic OnlineSelection(DataProperties properties)
properties - configurationpublic void init(Solver<Request,Enrollment> solver)
NeighbourSelectioninit in interface NeighbourSelection<Request,Enrollment>init in class BranchBoundSelectionsolver - current solverpublic boolean isUseStudentPrefPenalties()
public boolean isUsePenalties()
public void updateSpace(Assignment<Request,Enrollment> assignment, Student student)
assignment - current assignmentstudent - student in questionpublic BranchBoundSelection.Selection getSelection(Assignment<Request,Enrollment> assignment, Student student)
getSelection in class BranchBoundSelectionassignment - current assignmentstudent - selected student