public class MinimizeNumberOfUsedRoomsConstraint extends ConstraintWithContext<Lecture,Placement,MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext> implements WeakeningConstraint<Lecture,Placement>
| Modifier and Type | Class and Description |
|---|---|
class |
MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext |
iConstraintListeners, iIdsMaxSize| Constructor and Description |
|---|
MinimizeNumberOfUsedRoomsConstraint(DataProperties config) |
| Modifier and Type | Method and Description |
|---|---|
void |
computeConflicts(Assignment<Lecture,Placement> assignment,
Placement placement,
Set<Placement> conflicts)
The only method which has to be implemented by any constraint.
|
MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext |
createAssignmentContext(Assignment<Lecture,Placement> assignment)
Create a new assignment context for the given assignment.
|
int |
estimateLimit() |
String |
getName()
Constraint's name -- for printing purposes
|
boolean |
inConflict(Assignment<Lecture,Placement> assignment,
Placement placement)
Returns true if the given assignment is inconsistent with the existing
assignments respecting this constraint.
|
String |
toString() |
void |
weaken(Assignment<Lecture,Placement> assignment)
Weaken the constraint.
|
void |
weaken(Assignment<Lecture,Placement> assignment,
Placement value)
Weaken the constraint enough so that it can assign the given
value.
|
assigned, getAssignmentContextReference, getContext, getContext, setAssignmentContextReference, setModel, unassignedaddConstraintListener, addVariable, assignedVariables, compareTo, computeConflictsNoForwardCheck, constraintListeners, countAssignedVariables, countVariables, equals, getDescription, getId, getModel, hashCode, isConsistent, isHard, removeConstraintListener, removeVariable, variablespublic MinimizeNumberOfUsedRoomsConstraint(DataProperties config)
public void computeConflicts(Assignment<Lecture,Placement> assignment, Placement placement, Set<Placement> conflicts)
ConstraintcomputeConflicts in class Constraint<Lecture,Placement>assignment - current assignmentplacement - value to be assigned to its variableconflicts - resultant set of conflicting valuespublic boolean inConflict(Assignment<Lecture,Placement> assignment, Placement placement)
ConstraintMacPropagation).inConflict in class Constraint<Lecture,Placement>assignment - current assignmentplacement - given valuepublic String getName()
ConstraintgetName in class Constraint<Lecture,Placement>public int estimateLimit()
public void weaken(Assignment<Lecture,Placement> assignment)
WeakeningConstraintweaken in interface WeakeningConstraint<Lecture,Placement>assignment - current assignmentpublic void weaken(Assignment<Lecture,Placement> assignment, Placement value)
WeakeningConstraintweaken in interface WeakeningConstraint<Lecture,Placement>assignment - current assignmentvalue - a conflicting value to be assignedpublic MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext createAssignmentContext(Assignment<Lecture,Placement> assignment)
HasAssignmentContextcreateAssignmentContext in interface HasAssignmentContext<Lecture,Placement,MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext>assignment - an assignment for which there needs to be an assignment context