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.Selection
iBranchWhenSelectedHasNoConflict, iDistanceConflict, iDistConfWeight, iFilter, iMinimizePenalty, iModel, iNbrIterations, iNbrNoSolution, 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, withFilter
public OnlineSelection(DataProperties properties)
properties
- configurationpublic void init(Solver<Request,Enrollment> solver)
NeighbourSelection
init
in interface NeighbourSelection<Request,Enrollment>
init
in class BranchBoundSelection
solver
- 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 BranchBoundSelection
assignment
- current assignmentstudent
- selected student