public class RoomPerturbationPenalty extends PerturbationPenalty
PerturbationPenalty.isMPP()
is true (minimal
perturbation problem).
AbstractCriterion.ValueContext, AbstractCriterion.ValueUpdateType
iBest, iDebug, iWeight, sDoubleFormat, sPercentFormat
sMaxSize
Constructor and Description |
---|
RoomPerturbationPenalty() |
Modifier and Type | Method and Description |
---|---|
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).
|
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.
|
String |
toString(Assignment<Exam,ExamPlacement> assignment)
Simple text representation of the criterion and its value.
|
configure, getXmlParameters, isMPP, setXmlParameters
getBounds, getInfo, getPeriodValue, getRoomValue, isRoomCriterion, setWeight
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestRestored, bestSaved, clearCache, computeBounds, constraintAdded, constraintRemoved, createAssignmentContext, getAbbreviation, getAssignmentContextReference, getBest, getBounds, getBounds, getBounds, getContext, getContext, getExtendedInfo, getInfo, getModel, getName, getPerc, getPercentage, getPercRev, getValue, getValue, getValue, getValue, getValueUpdateType, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, inc, inc, init, setAssignmentContextReference, setModel, setValueUpdateType, variableAdded, variableRemoved
public RoomPerturbationPenalty()
public String getWeightName()
AbstractCriterion
getWeightName
in class PerturbationPenalty
public String getXmlWeightName()
ExamCriterion
getXmlWeightName
in class PerturbationPenalty
public double getWeightDefault(DataProperties config)
AbstractCriterion
AbstractCriterion.getWeightName()
parameter is not present in the criterion).getWeightDefault
in class PerturbationPenalty
config
- solver configurationpublic double getValue(Assignment<Exam,ExamPlacement> assignment, ExamPlacement value, Set<ExamPlacement> conflicts)
Criterion
getValue
in interface Criterion<Exam,ExamPlacement>
getValue
in class PerturbationPenalty
assignment
- current assignmentvalue
- given valueconflicts
- values conflicting with the given valuepublic String toString(Assignment<Exam,ExamPlacement> assignment)
AbstractCriterion
AbstractCriterion.getAbbreviation()
and x is the current value AbstractCriterion.getValue(Assignment)
.toString
in interface Criterion<Exam,ExamPlacement>
toString
in class PerturbationPenalty
assignment
- current assignmentpublic boolean isPeriodCriterion()
ExamCriterion
ExamPlacement.getTimeCost(Assignment)
.isPeriodCriterion
in class ExamCriterion