public class PeriodPenalty extends ExamCriterion
ExamPeriodPlacement.getPenalty()
for more details.
AbstractCriterion.ValueContext, AbstractCriterion.ValueUpdateType
Modifier and Type | Field and Description |
---|---|
protected Integer |
iSoftPeriods |
iBest, iDebug, iWeight, sDoubleFormat, sPercentFormat
sMaxSize
Constructor and Description |
---|
PeriodPenalty() |
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.
|
String |
toString(Assignment<Exam,ExamPlacement> assignment)
Simple text representation of the criterion and its value.
|
getInfo, getPeriodValue, getRoomValue, getXmlParameters, isPeriodCriterion, isRoomCriterion, setWeight, setXmlParameters
afterAssigned, 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, variableRemoved
protected Integer iSoftPeriods
public PeriodPenalty()
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>
config
- solver configurationpublic double getValue(Assignment<Exam,ExamPlacement> assignment, ExamPlacement value, Set<ExamPlacement> conflicts)
Criterion
assignment
- current assignmentvalue
- given valueconflicts
- values conflicting with the given valuepublic double[] getBounds(Assignment<Exam,ExamPlacement> assignment, Collection<Exam> variables)
Criterion
getBounds
in interface Criterion<Exam,ExamPlacement>
getBounds
in class ExamCriterion
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