public class ClassLimitConstraint extends Constraint<Lecture,Placement>
iConstraintListeners, iId
Constructor and Description |
---|
ClassLimitConstraint(int classLimit,
String name) |
ClassLimitConstraint(Lecture parent,
String name) |
Modifier and Type | Method and Description |
---|---|
void |
addParentAdepts(Assignment<Lecture,Placement> assignment,
Collection<Placement> adepts,
Lecture parent,
Placement value,
Set<Placement> conflicts) |
int |
classLimit() |
void |
computeAdepts(Assignment<Lecture,Placement> assignment,
Collection<Placement> adepts,
List<Lecture> variables,
Placement value,
Set<Placement> conflicts) |
void |
computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts)
The only method which has to be implemented by any constraint.
|
int |
currentClassLimit(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
int |
getClassLimitDelta() |
String |
getName()
Constraint's name -- for printing purposes
|
Lecture |
getParentLecture() |
boolean |
inConflict(Assignment<Lecture,Placement> assignment,
Placement value)
Returns true if the given assignment is inconsistent with the existing
assignments respecting this constraint.
|
boolean |
isEnabled() |
void |
setClassLimitDelta(int classLimitDelta) |
void |
setEnabled(boolean enabled) |
String |
toString() |
addConstraintListener, addVariable, assigned, assignedVariables, compareTo, computeConflictsNoForwardCheck, constraintListeners, countAssignedVariables, countVariables, equals, getDescription, getId, getModel, hashCode, isConsistent, isHard, removeConstraintListener, removeVariable, setModel, unassigned, variables
public ClassLimitConstraint(int classLimit, String name)
public ClassLimitConstraint(Lecture parent, String name)
public int getClassLimitDelta()
public void setClassLimitDelta(int classLimitDelta)
public int classLimit()
public Lecture getParentLecture()
public int currentClassLimit(Assignment<Lecture,Placement> assignment, Placement value, Set<Placement> conflicts)
public 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 void computeAdepts(Assignment<Lecture,Placement> assignment, Collection<Placement> adepts, List<Lecture> variables, Placement value, Set<Placement> conflicts)
public void addParentAdepts(Assignment<Lecture,Placement> assignment, Collection<Placement> adepts, Lecture parent, Placement value, Set<Placement> conflicts)
public boolean inConflict(Assignment<Lecture,Placement> assignment, Placement value)
Constraint
MacPropagation
).inConflict
in class Constraint<Lecture,Placement>
assignment
- current assignmentvalue
- given valuepublic String getName()
Constraint
getName
in class Constraint<Lecture,Placement>
public void setEnabled(boolean enabled)
public boolean isEnabled()