public class DiscouragedRoomConstraint extends RoomConstraint implements WeakeningConstraint<Lecture,Placement>
RoomConstraint, however, it tries to minimize the usage of the room
as much as possible.| Modifier and Type | Class and Description |
|---|---|
class |
DiscouragedRoomConstraint.DiscouragedRoomConstraintContext |
RoomConstraint.RoomConstraintContextiConstraintListeners, iIdsMaxSize| Constructor and Description |
|---|
DiscouragedRoomConstraint(DataProperties config,
Long id,
String name,
Long buildingId,
int capacity,
RoomSharingModel roomSharingModel,
Double x,
Double y,
boolean ignoreTooFar,
boolean constraint) |
| 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.
|
RoomConstraint.RoomConstraintContext |
createAssignmentContext(Assignment<Lecture,Placement> assignment)
Create a new assignment context for the given assignment.
|
String |
getName()
Room name
|
boolean |
inConflict(Assignment<Lecture,Placement> assignment,
Placement value)
Returns true if the given assignment is inconsistent with the existing
assignments respecting this constraint.
|
String |
toString() |
void |
unassigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement placement)
Given value is unassigned from its variable.
|
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.
|
addPartition, assigned, checkRoomSize, checkRoomSize, getAvailableArray, getBuildingId, getCapacity, getConstraint, getIgnoreTooFar, getParentRoom, getPartitions, getPosX, getPosY, getResource, getResourceId, getResourceOfWeek, getRoomName, getSharingModel, getType, isAvailable, isAvailable, isConsistent, setCoordinates, setModel, setNotAvailable, setTypegetAssignmentContextReference, getContext, getContext, setAssignmentContextReferenceaddConstraintListener, addVariable, assignedVariables, compareTo, computeConflictsNoForwardCheck, constraintListeners, countAssignedVariables, countVariables, equals, getDescription, getId, getModel, hashCode, isHard, removeConstraintListener, removeVariable, variablespublic DiscouragedRoomConstraint(DataProperties config, Long id, String name, Long buildingId, int capacity, RoomSharingModel roomSharingModel, Double x, Double y, boolean ignoreTooFar, boolean constraint)
public void computeConflicts(Assignment<Lecture,Placement> assignment, Placement value, Set<Placement> conflicts)
ConstraintcomputeConflicts in class RoomConstraintassignment - current assignmentvalue - value to be assigned to its variableconflicts - resultant set of conflicting valuespublic boolean inConflict(Assignment<Lecture,Placement> assignment, Placement value)
ConstraintMacPropagation).inConflict in class RoomConstraintassignment - current assignmentvalue - given valuepublic String getName()
RoomConstraintgetName in class RoomConstraintpublic String toString()
toString in class RoomConstraintpublic 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 RoomConstraint.RoomConstraintContext createAssignmentContext(Assignment<Lecture,Placement> assignment)
HasAssignmentContextcreateAssignmentContext in interface HasAssignmentContext<Lecture,Placement,RoomConstraint.RoomConstraintContext>createAssignmentContext in class RoomConstraintassignment - an assignment for which there needs to be an assignment contextpublic void unassigned(Assignment<Lecture,Placement> assignment, long iteration, Placement placement)
Constraintunassigned in class RoomConstraintassignment - current assignmentiteration - current iterationplacement - unassigned value