public class MaxBlockFlexibleConstraint extends FlexibleConstraint
FlexibleConstraint.Block, FlexibleConstraint.FlexibleConstraintContext, FlexibleConstraint.FlexibleConstraintType, FlexibleConstraint.PlacementTimeComparator
Modifier and Type | Field and Description |
---|---|
protected int |
iMaxBlockSlotsBTB |
iConstraintType, iPreference, iReference, iWeeks
iConstraintListeners, iId
sMaxSize
Constructor and Description |
---|
MaxBlockFlexibleConstraint(Long id,
String owner,
String preference,
String reference) |
Modifier and Type | Method and Description |
---|---|
void |
computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts)
The only method which has to be implemented by any constraint.
|
List<FlexibleConstraint.Block> |
getBlocks(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week) |
double |
getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments)
Return current number of violations.
|
createAssignmentContext, getCurrentPreference, getName, getOwner, getPrologPreference, getReference, getRelevantPlacements, getType, getWeeks, isConsistent, isHard, mergeToBlocks, toString
assigned, getAssignmentContextReference, getContext, getContext, setAssignmentContextReference, setModel, unassigned
addConstraintListener, addVariable, assignedVariables, compareTo, computeConflictsNoForwardCheck, constraintListeners, countAssignedVariables, countVariables, equals, getDescription, getId, getModel, hashCode, inConflict, removeConstraintListener, removeVariable, variables
protected int iMaxBlockSlotsBTB
public MaxBlockFlexibleConstraint(Long id, String owner, String preference, String reference)
id
- constraint unique idowner
- identifier of distribution preference the constraint was created forpreference
- time preference ("R" for required, "P" for prohibited, "-2",
"-1", "1", "2" for soft preference)reference
- parameters of the constraint in String formpublic void computeConflicts(Assignment<Lecture,Placement> assignment, Placement value, Set<Placement> conflicts)
Constraint
computeConflicts
in class Constraint<Lecture,Placement>
assignment
- current assignmentvalue
- value to be assigned to its variableconflicts
- resultant set of conflicting valuespublic List<FlexibleConstraint.Block> getBlocks(Assignment<Lecture,Placement> assignment, int dayCode, Set<Placement> conflicts, Placement value, HashMap<Lecture,Placement> assignments, BitSet week)
public double getNrViolations(Assignment<Lecture,Placement> assignment, Set<Placement> conflicts, HashMap<Lecture,Placement> assignments)
FlexibleConstraint
getNrViolations
in class FlexibleConstraint
assignment
- current assignmentconflicts
- conflicting placements to be unassignedassignments
- assigned placements