public static enum GroupConstraint.ConstraintType extends Enum<GroupConstraint.ConstraintType> implements GroupConstraint.ConstraintTypeInterface
Enum Constant and Description |
---|
BREAK
There must be a break of a given length in a given time interval.
|
MAX_BLOCK
Given classes must be taught in a way there is a break between two blocks of classes.
|
MAX_BREAKS
Limit number of breaks between adjacent classes on a day.
|
MAX_CONSECUTIVE_DAYS
Limit number of consecutive days of a week.
|
MAX_DAYS
Limit number of days of a week.
|
MAX_HALF_DAYS
Limit number of half-days of a week.
|
MAX_HOLES
Minimize free time of an instructor during a day (between the first and the last class).
|
MAX_HRS_DAY
At Most X Hours A Day: Classes are to be placed in a way that there is no more than given number of hours in any day.
|
MAX_WEEKS
Limit number of weeks on which an a class can take place.
|
MIN_GAP
Minimal gap between classes.
|
SAME_DAYS
Same Days: Given classes must be taught on the same days.
|
SAME_ROOM
Same Room: Given classes must be taught in the same room.
|
SAME_START
Same Start Time: Given classes must start during the same half-hour period of a day (independent of the actual
day the classes meet).
|
SAME_WEEKS
Given classes must be taught during the same weeks (i.e., must have the same date pattern).
|
WORKDAY
Work Day: Classes are to be placed in a way that there is no more than given number of hours between the start of the first class and the end of the class one on any day.
|
Modifier and Type | Method and Description |
---|---|
void |
computeConflicts(GroupConstraint.Distribution distribution,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
TeachingAssignment value,
Set<TeachingAssignment> conflicts) |
String |
getName() |
double |
getValue(GroupConstraint.Distribution distribution,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
Instructor instructor,
TeachingAssignment value) |
String |
reference() |
GroupConstraint.ConstraintType |
type() |
static GroupConstraint.ConstraintType |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static GroupConstraint.ConstraintType[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final GroupConstraint.ConstraintType SAME_DAYS
public static final GroupConstraint.ConstraintType SAME_START
public static final GroupConstraint.ConstraintType SAME_ROOM
public static final GroupConstraint.ConstraintType MAX_HRS_DAY
public static final GroupConstraint.ConstraintType SAME_WEEKS
public static final GroupConstraint.ConstraintType WORKDAY
public static final GroupConstraint.ConstraintType MIN_GAP
public static final GroupConstraint.ConstraintType MAX_BLOCK
public static final GroupConstraint.ConstraintType MAX_BREAKS
public static final GroupConstraint.ConstraintType MAX_DAYS
public static final GroupConstraint.ConstraintType BREAK
public static final GroupConstraint.ConstraintType MAX_WEEKS
public static final GroupConstraint.ConstraintType MAX_HOLES
public static final GroupConstraint.ConstraintType MAX_HALF_DAYS
public static final GroupConstraint.ConstraintType MAX_CONSECUTIVE_DAYS
public static GroupConstraint.ConstraintType[] values()
for (GroupConstraint.ConstraintType c : GroupConstraint.ConstraintType.values()) System.out.println(c);
public static GroupConstraint.ConstraintType valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic GroupConstraint.ConstraintType type()
type
in interface GroupConstraint.ConstraintTypeInterface
public String reference()
reference
in interface GroupConstraint.ConstraintTypeInterface
public String getName()
getName
in interface GroupConstraint.ConstraintTypeInterface
public double getValue(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, TeachingAssignment value)
getValue
in interface GroupConstraint.Check
public void computeConflicts(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, TeachingAssignment value, Set<TeachingAssignment> conflicts)
computeConflicts
in interface GroupConstraint.Check