|
||||||||||
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. |
WeakeningConstraint | Interface of a constraint that weakens with the time. |
Class Summary | |
---|---|
ClassLimitConstraint | Class limit constraint. |
DepartmentSpreadConstraint | Departmental ballancing constraint. |
DiscouragedRoomConstraint | Discouraged room constraint. |
GroupConstraint | Group constraint. |
InstructorConstraint | Instructor constraint. |
JenrlConstraint | Join student enrollment constraint. |
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 | |
---|---|
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 |