public class StudentBackToBackConflicts extends ExamCriterion
ExamPeriod.prev() or following
ExamPeriod.next() period. If
isDayBreakBackToBack() is false, back-to-back conflicts
are only considered between consecutive periods that are of the same day.
AbstractCriterion.ValueContext, AbstractCriterion.ValueUpdateTypeiBest, iDebug, iWeight, sDoubleFormat, sPercentFormatsMaxSize| Constructor and Description |
|---|
StudentBackToBackConflicts() |
| Modifier and Type | Method and Description |
|---|---|
void |
configure(DataProperties properties)
Configure the criterion if needed
|
void |
getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info)
Adds some information into the table with information about the solution
|
String |
getName()
Criterion name
|
double |
getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables)
Value of a part of the problem (given by the collection of variables)
|
double |
getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts)
Value of a proposed assignment (including hard conflicts)
|
double |
getWeightDefault(DataProperties config)
Defines default weight (when
AbstractCriterion.getWeightName() parameter is not present in the criterion). |
String |
getWeightName()
Defines weight name (to be used to get the criterion weight from the configuration).
|
void |
getXmlParameters(Map<String,String> params)
Put all the parameters of this criterion into a map that is used to write parameters section of the examination XML file.
|
String |
getXmlWeightName()
Name of the weight parameter in the parameters section of the examination XML file.
|
boolean |
isDayBreakBackToBack()
True when back-to-back student conflict is to be encountered when a
student is enrolled into an exam that is on the last period of one day
and another exam that is on the first period of the consecutive day.
|
void |
setDayBreakBackToBack(boolean dayBreakBackToBack)
True when back-to-back student conflict is to be encountered when a
student is enrolled into an exam that is on the last period of one day
and another exam that is on the first period of the consecutive day.
|
void |
setXmlParameters(Map<String,String> params)
Set all the parameters of this criterion from a map that is read from the parameters section the examination XML file.
|
String |
toString(Assignment<Exam,ExamPlacement> assignment)
Simple text representation of the criterion and its value.
|
getBounds, getPeriodValue, getRoomValue, isPeriodCriterion, isRoomCriterion, setWeightafterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestRestored, bestSaved, clearCache, computeBounds, constraintAdded, constraintRemoved, createAssignmentContext, getAbbreviation, getAssignmentContextReference, getBest, getBounds, getBounds, getBounds, getContext, getContext, getExtendedInfo, getInfo, getModel, getPerc, getPercentage, getPercRev, getValue, getValue, getValue, getValueUpdateType, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, inc, inc, init, setAssignmentContextReference, setModel, setValueUpdateType, variableAdded, variableRemovedpublic StudentBackToBackConflicts()
public void configure(DataProperties properties)
Criterionconfigure in interface Criterion<Exam,ExamPlacement>configure in class AbstractCriterion<Exam,ExamPlacement>properties - configurationpublic String getWeightName()
AbstractCriteriongetWeightName in class ExamCriterionpublic String getXmlWeightName()
ExamCriteriongetXmlWeightName in class ExamCriterionpublic double getWeightDefault(DataProperties config)
AbstractCriterionAbstractCriterion.getWeightName() parameter is not present in the criterion).getWeightDefault in class AbstractCriterion<Exam,ExamPlacement>config - solver configurationpublic boolean isDayBreakBackToBack()
public void setDayBreakBackToBack(boolean dayBreakBackToBack)
dayBreakBackToBack - true if last exam on one day is back-to-back to the first exam of the following daypublic void getXmlParameters(Map<String,String> params)
ExamCriteriongetXmlParameters in class ExamCriterionparams - map of parameters (parameter = value) to be populatedpublic void setXmlParameters(Map<String,String> params)
ExamCriterionsetXmlParameters in class ExamCriterionparams - map of parameters (parameter = value) loaded from XMLpublic double getValue(Assignment<Exam,ExamPlacement> assignment, ExamPlacement value, Set<ExamPlacement> conflicts)
Criterionassignment - current assignmentvalue - given valueconflicts - values conflicting with the given valuepublic double getValue(Assignment<Exam,ExamPlacement> assignment, Collection<Exam> variables)
CriteriongetValue in interface Criterion<Exam,ExamPlacement>getValue in class AbstractCriterion<Exam,ExamPlacement>assignment - current assignmentvariables - list of problem variablespublic String getName()
CriteriongetName in interface Criterion<Exam,ExamPlacement>getName in class AbstractCriterion<Exam,ExamPlacement>public void getInfo(Assignment<Exam,ExamPlacement> assignment, Map<String,String> info)
InfoProvidergetInfo in interface InfoProvider<Exam,ExamPlacement>getInfo in class ExamCriterionassignment - current assignmentinfo - info tablepublic String toString(Assignment<Exam,ExamPlacement> assignment)
AbstractCriterionAbstractCriterion.getAbbreviation()
and x is the current value AbstractCriterion.getValue(Assignment).toString in interface Criterion<Exam,ExamPlacement>toString in class AbstractCriterion<Exam,ExamPlacement>assignment - current assignment