public class BreakFlexibleConstraint extends FlexibleConstraint
FlexibleConstraint.Block, FlexibleConstraint.FlexibleConstraintContext, FlexibleConstraint.FlexibleConstraintType, FlexibleConstraint.PlacementTimeComparatoriConstraintType, iDayOfWeekOffset, iPreciseDateComputation, iPreference, iReference, iWeeksiConstraintListeners, iIdsMaxSize| Constructor and Description |
|---|
BreakFlexibleConstraint(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> |
getBreakBlocks(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week)
Creates a list of consecutive blocks with back-to-back classes.
|
double |
getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments)
Return current number of violations.
|
createAssignmentContext, getCurrentPreference, getDayOfWeekOffset, getName, getOwner, getPrologPreference, getReference, getRelevantPlacements, getType, getWeeks, isConsistent, isHard, isPreciseDateComputation, mergeToBlocks, shareWeeksAndDay, toStringassigned, getAssignmentContextReference, getContext, getContext, setAssignmentContextReference, setModel, unassignedaddConstraintListener, addVariable, assignedVariables, compareTo, computeConflictsNoForwardCheck, constraintListeners, countAssignedVariables, countVariables, equals, getDescription, getId, getModel, hashCode, inConflict, removeConstraintListener, removeVariable, variablespublic BreakFlexibleConstraint(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)
ConstraintcomputeConflicts in class Constraint<Lecture,Placement>assignment - current assignmentvalue - value to be assigned to its variableconflicts - resultant set of conflicting valuespublic List<FlexibleConstraint.Block> getBreakBlocks(Assignment<Lecture,Placement> assignment, int dayCode, Set<Placement> conflicts, Placement value, HashMap<Lecture,Placement> assignments, BitSet week)
assignment - current assignmentdayCode - days of weekconflicts - conflicting assignmentvalue - placement in questionassignments - other considered assignmentsweek - selected weekpublic double getNrViolations(Assignment<Lecture,Placement> assignment, Set<Placement> conflicts, HashMap<Lecture,Placement> assignments)
FlexibleConstraintgetNrViolations in class FlexibleConstraintassignment - current assignmentconflicts - conflicting placements to be unassignedassignments - assigned placements