public class RoomSplitDistancePenalty extends ExamCriterion
AbstractCriterion.ValueUpdateType
iBest, iDebug, iValue, iValueUpdateType, iWeight, sDoubleFormat, sPercentFormat
Constructor and Description |
---|
RoomSplitDistancePenalty() |
Modifier and Type | Method and Description |
---|---|
void |
afterAssigned(long iteration,
ExamPlacement value)
Called after a value is assigned to its variable (
Value.variable() ). |
void |
beforeUnassigned(long iteration,
ExamPlacement value)
Called before a value is unassigned from its variable (
Value.variable() ). |
void |
getInfo(Map<String,String> info)
Adds some information into the table with information about the solution
|
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).
|
String |
getXmlWeightName()
Name of the weight parameter in the parameters section of the examination XML file.
|
boolean |
isPeriodCriterion()
True if this criterion is based on period assignment.
|
int |
nrRoomSplits() |
String |
toString() |
getBounds, getPeriodValue, getRoomValue, getXmlParameters, isRoomCriterion, setWeight, setXmlParameters
afterUnassigned, beforeAssigned, bestRestored, bestSaved, clearCache, computeBounds, constraintAdded, constraintRemoved, getBest, getBounds, getInfo, getModel, getName, getPerc, getPercRev, getValue, getValue, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, inc, init, variableAdded, variableRemoved
public RoomSplitDistancePenalty()
public 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 double getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
Criterion
public void beforeUnassigned(long iteration, ExamPlacement value)
ModelListener
Value.variable()
).beforeUnassigned
in interface ModelListener<Exam,ExamPlacement>
beforeUnassigned
in class AbstractCriterion<Exam,ExamPlacement>
iteration
- current iterationvalue
- value to be unassignedpublic void afterAssigned(long iteration, ExamPlacement value)
ModelListener
Value.variable()
).afterAssigned
in interface ModelListener<Exam,ExamPlacement>
afterAssigned
in class AbstractCriterion<Exam,ExamPlacement>
iteration
- current iterationvalue
- value to be assignedpublic void getInfo(Map<String,String> info)
InfoProvider
getInfo
in interface InfoProvider<Exam>
getInfo
in class ExamCriterion
public int nrRoomSplits()
public boolean isPeriodCriterion()
ExamCriterion
ExamPlacement.getTimeCost()
.isPeriodCriterion
in class ExamCriterion