public class OnlineSectioningModel extends StudentSectioningModel
OnlineSectioningModel
class that allows to set the over-expected
criterion (see OverExpectedCriterion
). This class is particularly useful in passing the over-expected criterion to the
online sectioning algorithms and heuristics.AvoidUnbalancedWhenNoExpectations
.StudentSectioningModel.StudentSectioningModelContext
ModelWithContext.ContextUpdateType
iProjectedStudentWeight, sDecimalFormat
sDoubleFormat, sPercentageFormat, sTimeFormat
sMaxSize
Constructor and Description |
---|
OnlineSectioningModel(DataProperties properties) |
OnlineSectioningModel(DataProperties config,
OverExpectedCriterion criterion) |
Modifier and Type | Method and Description |
---|---|
boolean |
getKeepInitialAssignments()
Return true if the inital assignments are to be kept unchanged
|
double |
getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment selection,
Enrollment value,
Set<Enrollment> conflicts)
Expectation penalty, to be minimized.
|
double |
getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Expectation penalty, to be minimized (computed using
OverExpectedCriterion.getOverExpected(Assignment, Section, Request) ) |
OverExpectedCriterion |
getOverExpectedCriterion()
Get over-expected criterion
|
void |
setOverExpectedCriterion(OverExpectedCriterion overExpectedCriterion)
Set over-expected criterion
|
addLinkedSections, addLinkedSections, addLinkedSections, addLinkedSections, addOffering, addStudent, addVariable, avg, avgNrRequests, avgUnassignPriority, clearOnlineSectioningInfos, computeOnlineSectioningInfos, createAssignmentContext, createInheritedAssignment, getBestAssignedCourseRequestWeight, getDayOfWeekOffset, getDistanceConflict, getDistanceMetric, getExtendedInfo, getInfo, getLinkedSections, getMaxDomainSize, getNbrStudents, getNrAssignedLastLikeRequests, getNrAssignedRealRequests, getNrCompleteLastLikeStudents, getNrCompleteRealStudents, getNrLastLikeRequests, getNrLastLikeStudents, getNrRealRequests, getNrRealStudents, getOfferings, getProperties, getReservationCanAssignOverTheLimit, getStudentQuality, getStudents, getStudentsWithAccommodation, getStudentWeights, getTimeOverlaps, getTotalRequestWeight, getTotalValue, getTotalValue, getUnassignedRequestWeight, inheritAssignmentContext, isMPP, recomputeTotalValue, removeStudent, removeVariable, requestWeightsChanged, restoreBest, saveBest, setCourseRequestPriority, setDayOfWeekOffset, setDistanceConflict, setMaxDomainSize, setStudentQuality, setStudentQuality, setStudentWeights, setTimeOverlaps, toString
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, getAssignmentContextReference, getContext, getContext, getContextUpdateType, setAssignmentContextReference, setContextUpdateType
addConstraint, addCriterion, addGlobalConstraint, addModelListener, afterAssigned, afterUnassigned, assignedVariables, assignedVariables, beforeAssigned, beforeUnassigned, bestUnassignedVariables, bestUnassignedVariables, clearAssignmentContexts, clearBest, conflictConstraints, conflictValues, conflictValues, constraints, countConstraints, countGlobalConstraints, countVariables, createAssignmentContexts, createReference, getBestPerturbations, getBestUnassignedVariables, getBestValue, getCriteria, getCriterion, getDefaultAssignment, getEmptyAssignment, getExtendedInfo, getInfo, getInfo, getInfo, getInfoProviders, getModelListeners, getPerc, getPercRev, getTotalValue, getTotalValue, getTotalValue, globalConstraints, inConflict, inConflict, init, invalidateVariablesWithInitialValueCache, modelListenerOfType, nrAssignedVariables, nrAssignedVariables, nrUnassignedVariables, nrUnassignedVariables, perturbVariables, perturbVariables, perturbVariables, perturbVariables, perturbVariables, removeConstraint, removeCriterion, removeCriterion, removeGlobalConstraint, removeModelListener, removeReference, restoreBest, restoreBest, saveBest, setBestValue, setDefaultAssignment, toString, unassignedHardConstraints, unassignedVariables, unassignedVariables, variables, variablesWithInitialValue, weaken
public OnlineSectioningModel(DataProperties properties)
public OnlineSectioningModel(DataProperties config, OverExpectedCriterion criterion)
public boolean getKeepInitialAssignments()
StudentSectioningModel
getKeepInitialAssignments
in class StudentSectioningModel
public OverExpectedCriterion getOverExpectedCriterion()
public void setOverExpectedCriterion(OverExpectedCriterion overExpectedCriterion)
overExpectedCriterion
- over-expected criterionpublic double getOverExpected(Assignment<Request,Enrollment> assignment, Section section, Request request)
OverExpectedCriterion.getOverExpected(Assignment, Section, Request)
)assignment
- current assignmentsection
- section in questionrequest
- student course requestpublic double getOverExpected(Assignment<Request,Enrollment> assignment, Enrollment[] enrollment, int index, Section section, Request request)
assignment
- current assignmentenrollment
- current enrollment of the studentindex
- only use enrollments 0 .. index - 1 from the assignment arraysection
- section in questionrequest
- student course requestpublic double getOverExpected(Assignment<Request,Enrollment> assignment, Enrollment selection, Enrollment value, Set<Enrollment> conflicts)
OverExpectedCriterion.getOverExpected(Assignment, Section, Request)
method that can be called from Constraint.computeConflicts(Assignment, Value, Set)
.assignment
- current assignmentselection
- selected enrollment questionvalue
- an enrollment to be assignedconflicts
- enrollments that have been already identified as conflicting