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.ValueUpdateType
iBest, iDebug, iValue, iValueUpdateType, iWeight, sDoubleFormat, sPercentFormat
Constructor and Description |
---|
StudentBackToBackConflicts() |
Modifier and Type | Method and Description |
---|---|
void |
getInfo(Map<String,String> info)
Adds some information into the table with information about the solution
|
String |
getName()
Criterion name
|
double |
getValue(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 |
init(Solver<Exam,ExamPlacement> solver)
Notification that the model was initialized by the solver.
|
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() |
getBounds, getPeriodValue, getRoomValue, isPeriodCriterion, isRoomCriterion, setWeight
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestRestored, bestSaved, clearCache, computeBounds, constraintAdded, constraintRemoved, getBest, getBounds, getInfo, getModel, getPerc, getPercRev, getValue, getValue, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, inc, variableAdded, variableRemoved
public StudentBackToBackConflicts()
public boolean init(Solver<Exam,ExamPlacement> solver)
ModelListener
init
in interface ModelListener<Exam,ExamPlacement>
init
in class AbstractCriterion<Exam,ExamPlacement>
solver
- IFS solverpublic String getWeightName()
AbstractCriterion
getWeightName
in class ExamCriterion
public String getXmlWeightName()
ExamCriterion
getXmlWeightName
in class ExamCriterion
public double getWeightDefault(DataProperties config)
AbstractCriterion
AbstractCriterion.getWeightName()
parameter is not present in the criterion).getWeightDefault
in class AbstractCriterion<Exam,ExamPlacement>
public boolean isDayBreakBackToBack()
public void setDayBreakBackToBack(boolean dayBreakBackToBack)
public void getXmlParameters(Map<String,String> params)
ExamCriterion
getXmlParameters
in class ExamCriterion
public void setXmlParameters(Map<String,String> params)
ExamCriterion
setXmlParameters
in class ExamCriterion
public double getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
Criterion
public String getName()
Criterion
getName
in interface Criterion<Exam,ExamPlacement>
getName
in class AbstractCriterion<Exam,ExamPlacement>
public void getInfo(Map<String,String> info)
InfoProvider
getInfo
in interface InfoProvider<Exam>
getInfo
in class ExamCriterion