public class RoomPenalty extends ExamCriterion
ExamRoomPlacement.getPenalty(ExamPeriod) of assigned rooms.
AbstractCriterion.ValueContext, AbstractCriterion.ValueUpdateType| Modifier and Type | Field and Description |
|---|---|
protected Integer |
iSoftRooms |
iBest, iDebug, iWeight, sDoubleFormat, sPercentFormatsMaxSize| Constructor and Description |
|---|
RoomPenalty() |
| Modifier and Type | Method and Description |
|---|---|
double[] |
getBounds(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables)
Value bounds (minimum and maximum) of the criterion on a part of the problem
|
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 |
init(Solver<Exam,ExamPlacement> solver)
Notification that the model was initialized by the solver.
|
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.
|
getInfo, getPeriodValue, getRoomValue, getXmlParameters, isRoomCriterion, setWeight, setXmlParametersafterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestRestored, bestSaved, clearCache, computeBounds, configure, 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, setAssignmentContextReference, setModel, setValueUpdateType, variableAdded, variableRemovedprotected Integer iSoftRooms
public RoomPenalty()
public boolean init(Solver<Exam,ExamPlacement> solver)
ModelListenerinit in interface ModelListener<Exam,ExamPlacement>init in class AbstractCriterion<Exam,ExamPlacement>solver - IFS solverpublic 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 double getValue(Assignment<Exam,ExamPlacement> assignment, ExamPlacement value, Set<ExamPlacement> conflicts)
Criterionassignment - current assignmentvalue - given valueconflicts - values conflicting with the given valuepublic double[] getBounds(Assignment<Exam,ExamPlacement> assignment, Collection<Exam> variables)
CriteriongetBounds in interface Criterion<Exam,ExamPlacement>getBounds in class ExamCriterionassignment - current assignmentvariables - list of problem variablespublic 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 assignmentpublic boolean isPeriodCriterion()
ExamCriterionExamPlacement.getTimeCost(Assignment).isPeriodCriterion in class ExamCriterion