public class MinimizeNumberOfUsedRoomsConstraint extends Constraint<Lecture,Placement> implements WeakeningConstraint<Lecture,Placement>
iAssignedVariables, iConstraintListeners, iId| Constructor and Description |
|---|
MinimizeNumberOfUsedRoomsConstraint(DataProperties config) |
| Modifier and Type | Method and Description |
|---|---|
void |
assigned(long iteration,
Placement placement)
Given value is to be assigned to its varable.
|
void |
computeConflicts(Placement placement,
Set<Placement> conflicts)
The only method which has to be implemented by any constraint.
|
int |
estimateLimit() |
String |
getName()
Constraint's name -- for printing purposes
|
int |
getOverLimit(Placement placement) |
boolean |
inConflict(Placement placeement)
Returns true if the given assignment is inconsistent with the existing
assignments respecting this constraint.
|
boolean |
isConsistent(Placement value1,
Placement value2)
Returns true if the given assignments are consistent respecting this
constraint.
|
boolean |
isEnabled() |
boolean |
isOverLimit(Placement placement) |
void |
setEnabled(boolean enabled) |
String |
toString() |
void |
unassigned(long iteration,
Placement placement)
Given value is unassigned from its variable.
|
void |
weaken()
Weaken the constraint.
|
void |
weaken(Placement value)
Weaken the constraint enough so that it can assign the given
value.
|
addConstraintListener, addVariable, assignedVariables, compareTo, constraintListeners, countAssignedVariables, countVariables, equals, getDescription, getId, getModel, hashCode, isHard, removeConstraintListener, removeVariable, setModel, variablespublic MinimizeNumberOfUsedRoomsConstraint(DataProperties config)
public boolean isOverLimit(Placement placement)
public int getOverLimit(Placement placement)
public void computeConflicts(Placement placement, Set<Placement> conflicts)
ConstraintcomputeConflicts in class Constraint<Lecture,Placement>placement - value to be assigned to its varaibleconflicts - resultant set of conflicting valuespublic boolean inConflict(Placement placeement)
ConstraintMacPropagation).inConflict in class Constraint<Lecture,Placement>public boolean isConsistent(Placement value1, Placement value2)
ConstraintMacPropagation).isConsistent in class Constraint<Lecture,Placement>public void assigned(long iteration, Placement placement)
Constraintassigned in class Constraint<Lecture,Placement>public void unassigned(long iteration, Placement placement)
Constraintunassigned in class Constraint<Lecture,Placement>public void weaken()
WeakeningConstraintweaken in interface WeakeningConstraint<Lecture,Placement>public String getName()
ConstraintgetName in class Constraint<Lecture,Placement>public int estimateLimit()
public void setEnabled(boolean enabled)
public boolean isEnabled()
public void weaken(Placement value)
WeakeningConstraintweaken in interface WeakeningConstraint<Lecture,Placement>