public class DistributionViolation extends ExamCriterion
AbstractCriterion.ValueContext, AbstractCriterion.ValueUpdateType
iBest, iDebug, iWeight, sDoubleFormat, sPercentFormat
sMaxSize
Constructor and Description |
---|
DistributionViolation() |
Modifier and Type | Method and Description |
---|---|
protected double[] |
computeBounds(Assignment<Exam,ExamPlacement> assignment)
Compute bounds (bounds are being cached by default).
|
double |
getPeriodValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value)
Return impact of this criterion on period assignment (if this criterion is based on period assignment).
|
double |
getRoomValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value)
Return impact of this criterion on room assignment (if this criterion is based on room assignment).
|
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)
|
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.
|
boolean |
isRoomCriterion()
True if this criterion is based on room assignment.
|
String |
toString(Assignment<Exam,ExamPlacement> assignment)
Simple text representation of the criterion and its value.
|
getBounds, getInfo, getXmlParameters, setWeight, setXmlParameters
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestRestored, bestSaved, clearCache, configure, constraintAdded, constraintRemoved, createAssignmentContext, getAbbreviation, getAssignmentContextReference, getBest, getBounds, getBounds, getBounds, getContext, getContext, getExtendedInfo, getInfo, getModel, getName, getPerc, getPercentage, getPercRev, getValue, getValue, getValue, getValueUpdateType, getWeight, getWeightDefault, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, inc, inc, init, setAssignmentContextReference, setModel, setValueUpdateType, variableAdded, variableRemoved
public DistributionViolation()
public String getWeightName()
AbstractCriterion
getWeightName
in class ExamCriterion
public String getXmlWeightName()
ExamCriterion
getXmlWeightName
in class ExamCriterion
public double getValue(Assignment<Exam,ExamPlacement> assignment, ExamPlacement value, Set<ExamPlacement> conflicts)
Criterion
assignment
- current assignmentvalue
- given valueconflicts
- values conflicting with the given valueprotected double[] computeBounds(Assignment<Exam,ExamPlacement> assignment)
AbstractCriterion
computeBounds
in class AbstractCriterion<Exam,ExamPlacement>
assignment
- current assignmentpublic boolean isRoomCriterion()
ExamCriterion
ExamPlacement.getRoomCost(Assignment)
.isRoomCriterion
in class ExamCriterion
public double getRoomValue(Assignment<Exam,ExamPlacement> assignment, ExamPlacement value)
ExamCriterion
ExamPlacement.getRoomCost(Assignment)
.getRoomValue
in class ExamCriterion
assignment
- current assignmentvalue
- new assignment in questionpublic boolean isPeriodCriterion()
ExamCriterion
ExamPlacement.getTimeCost(Assignment)
.isPeriodCriterion
in class ExamCriterion
public double getPeriodValue(Assignment<Exam,ExamPlacement> assignment, ExamPlacement value)
ExamCriterion
ExamPlacement.getTimeCost(Assignment)
.getPeriodValue
in class ExamCriterion
assignment
- current assignmentvalue
- new assignment in questionpublic double getValue(Assignment<Exam,ExamPlacement> assignment, Collection<Exam> variables)
Criterion
getValue
in interface Criterion<Exam,ExamPlacement>
getValue
in class AbstractCriterion<Exam,ExamPlacement>
assignment
- current assignmentvariables
- list of problem variablespublic 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 AbstractCriterion<Exam,ExamPlacement>
assignment
- current assignment