public class MinimizeNumberOfUsedGroupsOfTime extends ConstraintWithContext<Lecture,Placement,MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext> implements WeakeningConstraint<Lecture,Placement>
Modifier and Type | Class and Description |
---|---|
class |
MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext |
Modifier and Type | Field and Description |
---|---|
static org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] |
sGroups10of1h |
static org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] |
sGroups2of5h |
static org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] |
sGroups3of3h |
static org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] |
sGroups5of2h |
iConstraintListeners, iId
sMaxSize
Constructor and Description |
---|
MinimizeNumberOfUsedGroupsOfTime(DataProperties config,
String name,
org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] groupsOfTime) |
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.
|
MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext |
createAssignmentContext(Assignment<Lecture,Placement> assignment)
Create a new assignment context for the given assignment.
|
int |
estimateLimit() |
String |
getConstraintName() |
String |
getName()
Constraint's name -- for printing purposes
|
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, unassigned
addConstraintListener, addVariable, assignedVariables, compareTo, computeConflictsNoForwardCheck, constraintListeners, countAssignedVariables, countVariables, equals, getDescription, getId, getModel, hashCode, inConflict, isConsistent, isHard, removeConstraintListener, removeVariable, variables
public static org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] sGroups2of5h
public static org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] sGroups3of3h
public static org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] sGroups5of2h
public static org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] sGroups10of1h
public MinimizeNumberOfUsedGroupsOfTime(DataProperties config, String name, org.cpsolver.coursett.constraint.MinimizeNumberOfUsedGroupsOfTime.GroupOfTime[] groupsOfTime)
public int estimateLimit()
public void computeConflicts(Assignment<Lecture,Placement> assignment, Placement placement, Set<Placement> conflicts)
Constraint
computeConflicts
in class Constraint<Lecture,Placement>
assignment
- current assignmentplacement
- value to be assigned to its variableconflicts
- resultant set of conflicting valuespublic String getConstraintName()
public String getName()
Constraint
getName
in class Constraint<Lecture,Placement>
public void weaken(Assignment<Lecture,Placement> assignment)
WeakeningConstraint
weaken
in interface WeakeningConstraint<Lecture,Placement>
assignment
- current assignmentpublic void weaken(Assignment<Lecture,Placement> assignment, Placement value)
WeakeningConstraint
weaken
in interface WeakeningConstraint<Lecture,Placement>
assignment
- current assignmentvalue
- a conflicting value to be assignedpublic MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext createAssignmentContext(Assignment<Lecture,Placement> assignment)
HasAssignmentContext
createAssignmentContext
in interface HasAssignmentContext<Lecture,Placement,MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext>
assignment
- an assignment for which there needs to be an assignment context