|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
GroupConstraint.PairCheck | Group constraints that can be checked on pairs of classes (e.g., same room means any two classes are in the same room), only need to implement this interface. |
Class Summary | |
---|---|
BreakFlexibleConstraint | The Break constraint checks for instructor lunch break or a break in general in between the given classes. |
ClassLimitConstraint | Class limit constraint. |
DepartmentSpreadConstraint | Departmental ballancing constraint. |
DiscouragedRoomConstraint | Discouraged room constraint. |
FlexibleConstraint | Flexible constraint. |
FlexibleConstraint.PlacementTimeComparator | Placement comparator: earlier placement first, shorter placement first if both start at the same time. |
GroupConstraint | Group constraint. |
IgnoreStudentConflictsConstraint | Ignore student conflicts constraint. |
InstructorConstraint | Instructor constraint. |
JenrlConstraint | Join student enrollment constraint. |
MaxBlockFlexibleConstraint | The MaxBlock constraint checks for too big blocks of back-to-back classes of an instructor. |
MaxBreaksFlexibleConstraint | The MaxBreaks constraint limits the number of blocks of non back-to-back classes of an instructor on a day. |
MinimizeNumberOfUsedGroupsOfTime | Minimize number of used groups of time within a set of classes. |
MinimizeNumberOfUsedRoomsConstraint | Minimize number of used rooms within the set of classes. |
RoomConstraint | Room constraint. |
SpreadConstraint | Spread given set of classes in time as much as possible. |
Enum Summary | |
---|---|
FlexibleConstraint.FlexibleConstraintType | Flexible constraint types |
GroupConstraint.ConstraintType | Group constraint type. |
GroupConstraint.Flag | Group constraint building blocks (individual constraints that need more than GroupConstraint.PairCheck ) |
University Course Timetabling: Constraints.
There are two types of basic hard constraints: resource constraints
(expressing that only one course can be taught by an instructor or in
a particular room at the same time), and group constraints (expressing
relations between several classes, e.g., that two sections of the same
lecture can not be taught at the same time, or that some classes have
to be taught one immediately after another).
Except the constraints described above, there are several additional
constraints which came up during our work on this lecture timetabling
problem. These constraints were defined in order to make the
automatically computed timetable solution acceptable for users from
Purdue University.
First of all, if there are two classes placed one after another so
that there is no time slot in between (also called back-to-back
classes), distances between buildings need to be considered. The
general feeling is that different rooms in the same building are
always reasonable, moving to the building next door is to be
discouraged, a couple of buildings away strongly discouraged, and any
longer distance prohibited.
Each building has its location defined as a pair of coordinates [x,y].
The distance between two buildings is estimated by Euclides distance
in such two dimensional space, i.e., (dx^2 + dy^2)^(1/2) where dx and
dy are differences between x and y coordinates of the buildings. As
for instructors, two subsequent classes (where there is no empty slot
in between, called also back-to-back classes) are infeasible to teach
when such difference is more than 200 meters (hard constraint). The
other options (soft constraints) are:
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |