public class BrokenTimePatterns extends TimetablingCriterion
AbstractCriterion.ValueContext, AbstractCriterion.ValueUpdateType
iBest, iDebug, iWeight, sDoubleFormat, sPercentFormat
sMaxSize
Constructor and Description |
---|
BrokenTimePatterns() |
Modifier and Type | Method and Description |
---|---|
protected double[] |
computeBounds(Assignment<Lecture,Placement> assignment)
Compute bounds (bounds are being cached by default).
|
void |
configure(DataProperties properties)
Configure the criterion if needed
|
static int |
countUselessSlotsBrokenTimePatterns(RoomConstraint.RoomConstraintContext rc)
Number of useless slots for this room
|
protected static int |
countUselessSlotsBrokenTimePatterns(RoomConstraint.RoomConstraintContext rc,
Placement placement)
Number of broken time patterns for this room
|
double[] |
getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables)
Value bounds (minimum and maximum) of the criterion on a part of the problem
|
String |
getPlacementSelectionWeightName() |
double |
getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables)
Value of a part of the problem (given by the collection of variables)
|
double |
getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> 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). |
protected double |
penalty(Assignment<Lecture,Placement> assignment,
Placement value) |
protected double |
penalty(RoomConstraint.RoomConstraintContext rc) |
protected double |
penalty(RoomConstraint.RoomConstraintContext rc,
Placement value) |
getPlacementSelectionAdjustmentsName, getPlacementSelectionWeight, getPlacementSelectionWeightDefault
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestRestored, bestSaved, clearCache, constraintAdded, constraintRemoved, createAssignmentContext, getAbbreviation, getAssignmentContextReference, getBest, getBounds, getBounds, getBounds, getContext, getContext, getExtendedInfo, getInfo, getInfo, getModel, getName, getPerc, getPercentage, getPercRev, getValue, getValue, getValue, getValueUpdateType, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightName, inc, inc, init, setAssignmentContextReference, setModel, setValueUpdateType, toString, variableAdded, variableRemoved
public BrokenTimePatterns()
public void configure(DataProperties properties)
Criterion
public double getWeightDefault(DataProperties config)
AbstractCriterion
AbstractCriterion.getWeightName()
parameter is not present in the criterion).getWeightDefault
in class AbstractCriterion<Lecture,Placement>
config
- solver configurationpublic String getPlacementSelectionWeightName()
getPlacementSelectionWeightName
in class TimetablingCriterion
protected double penalty(Assignment<Lecture,Placement> assignment, Placement value)
protected double penalty(RoomConstraint.RoomConstraintContext rc)
protected double penalty(RoomConstraint.RoomConstraintContext rc, Placement value)
public double getValue(Assignment<Lecture,Placement> assignment, Placement value, Set<Placement> conflicts)
Criterion
assignment
- current assignmentvalue
- given valueconflicts
- values conflicting with the given valuepublic double getValue(Assignment<Lecture,Placement> assignment, Collection<Lecture> variables)
Criterion
protected double[] computeBounds(Assignment<Lecture,Placement> assignment)
AbstractCriterion
computeBounds
in class AbstractCriterion<Lecture,Placement>
assignment
- current assignmentpublic double[] getBounds(Assignment<Lecture,Placement> assignment, Collection<Lecture> variables)
Criterion
protected static int countUselessSlotsBrokenTimePatterns(RoomConstraint.RoomConstraintContext rc, Placement placement)
rc
- room constraintplacement
- placement that is being consideredpublic static int countUselessSlotsBrokenTimePatterns(RoomConstraint.RoomConstraintContext rc)
rc
- room constraint