|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.cpsolver.ifs.criteria.AbstractCriterion<Exam,ExamPlacement>
net.sf.cpsolver.exam.criteria.ExamCriterion
net.sf.cpsolver.exam.criteria.DistributionPenalty
public class DistributionPenalty
Distribution penalty. I.e., sum weights of violated distribution
constraints.
A weight of violated distribution soft constraints (see
ExamDistributionConstraint
) can be set by problem property
Exams.RoomDistributionWeight, or in the input xml file, property
roomDistributionWeight.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class net.sf.cpsolver.ifs.criteria.AbstractCriterion |
---|
AbstractCriterion.ValueUpdateType |
Field Summary | |
---|---|
protected Integer |
iSoftDistributions
|
Fields inherited from class net.sf.cpsolver.ifs.criteria.AbstractCriterion |
---|
iBest, iDebug, iValue, iValueUpdateType, iWeight, sDoubleFormat, sPercentFormat |
Constructor Summary | |
---|---|
DistributionPenalty()
|
Method Summary | |
---|---|
protected double[] |
computeBounds()
Compute bounds (bounds are being cached by default). |
double |
getPeriodValue(ExamPlacement value)
Period related distribution penalty, i.e., sum weights of violated distribution constraints |
double |
getRoomValue(ExamPlacement value)
Room related distribution penalty, i.e., sum weights of violated distribution constraints |
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. |
void |
inc(double value)
Outside update of the criterion (usefull when the criterion is driven by a set of constraints). |
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. |
boolean |
isRoomCriterion()
True if this criterion is based on room assignment. |
String |
toString()
|
Methods inherited from class net.sf.cpsolver.exam.criteria.ExamCriterion |
---|
getBounds, getInfo, getXmlParameters, setWeight, setXmlParameters |
Methods inherited from class net.sf.cpsolver.ifs.criteria.AbstractCriterion |
---|
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestRestored, bestSaved, clearCache, constraintAdded, constraintRemoved, getBest, getBounds, getInfo, getModel, getName, getPerc, getPercRev, getValue, getValue, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, variableAdded, variableRemoved |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected Integer iSoftDistributions
Constructor Detail |
---|
public DistributionPenalty()
Method Detail |
---|
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>
public double getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
Criterion
public boolean isRoomCriterion()
ExamCriterion
ExamPlacement.getRoomCost()
.
isRoomCriterion
in class ExamCriterion
public double getRoomValue(ExamPlacement value)
getRoomValue
in class ExamCriterion
public boolean isPeriodCriterion()
ExamCriterion
ExamPlacement.getTimeCost()
.
isPeriodCriterion
in class ExamCriterion
public void inc(double value)
Criterion
inc
in interface Criterion<Exam,ExamPlacement>
inc
in class AbstractCriterion<Exam,ExamPlacement>
public double getPeriodValue(ExamPlacement value)
getPeriodValue
in class ExamCriterion
protected double[] computeBounds()
AbstractCriterion
computeBounds
in class AbstractCriterion<Exam,ExamPlacement>
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |