Navigation
Academic Area Reservations
Academic Areas
Academic Classifications
Academic Sessions
Add Academic Session
Add Application Setting
Add Building
Add Course Credit Type
Add Course Credit Unit
Add Course Offering
Add Course Type
Add Curriculum
Add Date Pattern
Add Default Manager Setting
Add Department
Add Designator
Add Distribution Preference
Add Event
Add Event Date Mapping
Add Event Info
Add Event Meetings
Add Examination
Add Examination Distribution Preference
Add Examination Period
Add Examination Type
Add Instructional Type
Add Instructor
Add Instructor Role
Add Logging Level
Add Non-University Location
Add Position Type
Add Reservation
Add Role
Add Room
Add Room Feature
Add Room Feature Type
Add Room Group
Add Room Type
Add Solver Configuration
Add Solver Group
Add Solver Parameter
Add Solver Parameter Group
Add Special Use Room
Add Sponsoring Organization
Add Standard Event Note
Add Status Type
Add Student Accommodation
Add Student Group
Add Student Scheduling Status Type
Add Subject Area
Add Time Pattern
Add Timetable Manager
Add User
Administration Reports
Alternatives for Class
Application Configuration
Application Of Preferences
Application.properties
Assign Instructors
Assigned Classes
Assigned Examinations
Assignment History
Attachment Types
Bugs
Buildings
CAS Authentication
CPSolver
Chameleon
Change Log for Student
Change Message for Student
Changes
Class Assignment
Class Assignment Properties
Class Assignments
Class Detail
Class Duration Types
Class Schedule
Class Timetable
Classes
Classes for Student
Conflict-Based Statistics
Constraint Solver Howto
Contact Us
Course Credit
Course Credit Formats
Course Credit Types
Course Credit Units
Course Finder
Course Reports
Course Reservations
Course Types
Credits
Current User
Curricula
Curriculum Detail
Curriculum Projection Rules
Curriculum Requested Enrollments
Curriculum Schedule
Curriculum Timetable
Custom Room Availability
Customizations
Data Exchange
Date Patterns
Default Academic Session
Default Manager Settings
Departmental Schedule
Departmental Timetable
Departments
Designator List
Distribution Preferences
Distribution Types
Eclipse
Edit Academic Session
Edit Application Setting
Edit Building
Edit Class
Edit Course Credit Format
Edit Course Credit Formats
Edit Course Credit Type
Edit Course Credit Types
Edit Course Credit Unit
Edit Course Credit Units
Edit Course Offering
Edit Course Type
Edit Course Types
Edit Curriculum
Edit Date Pattern
Edit Default Manager Setting
Edit Department
Edit Designator
Edit Distribution Preference
Edit Distribution Type
Edit Event
Edit Event Date Mapping
Edit Event Date Mappings
Edit Event Status
Edit Event Statuses
Edit Examination
Edit Examination Distribution Preference
Edit Examination Period
Edit Examination Type
Edit Examination Types
Edit Instructional Type
Edit Instructor
Edit Instructor Role
Edit Instructor Roles
Edit Logging Level
Edit Logging Levels
Edit Manager Setting
Edit Offering Consent Type
Edit Offering Consent Types
Edit Permission
Edit Permissions
Edit Position Type
Edit Position Types
Edit Reservation
Edit Role
Edit Roles
Edit Room
Edit Room Availability
Edit Room Departments
Edit Room Event Availability
Edit Room Feature
Edit Room Feature Type
Edit Room Feature Types
Edit Room Features
Edit Room Group
Edit Room Groups
Edit Room Preference
Edit Room Type
Edit Scheduling Subpart
Edit Solver Configuration
Edit Solver Group
Edit Solver Parameter
Edit Solver Parameter Group
Edit Sponsoring Organization
Edit Standard Event Note
Edit Status Type
Edit Student Accommodation
Edit Student Accommodations
Edit Student Group
Edit Student Groups
Edit Student Scheduling Status Type
Edit Student Scheduling Status Types
Edit Subject Area
Edit Time Pattern
Edit Timetable Manager
Edit User
Enrollment Audit PDF Reports
Enrollments of Class or Course
Event Date Mappings
Event Detail
Event Reports
Event Room Availability
Event Room Selection
Event Schedule
Event Statuses
Event Timetable
Events
Exact Time Pattern
Exam Naming Convention
Exam Timetable
Examination Assignment
Examination Assignment Changes
Examination Conflict-Based Statistics
Examination Detail
Examination Distribution Preferences
Examination PDF Reports
Examination Periods
Examination Reports
Examination Schedule
Examination Solution Properties
Examination Solver
Examination Solver Log
Examination Solver Status
Examination Statuses
Examination Timetable
Examination Timetabling
Examination Types
Examinations
Frequently Asked Questions
Hibernate Statistics
Instructional Methods
Instructional Offering Configuration
Instructional Offering Cross Lists
Instructional Offering Detail
Instructional Offerings
Instructional Types
Instructor Detail
Instructor Preferences
Instructor Roles
Instructors
LDAP Authentication / Lookup
Last Changes
Localization
Logging Levels
Lookup Classes
Lookup Examinations
Main Page
Majors
Manage Instructor List
Manage Solvers
Manager Settings
Mass cancel...
Meetings
Minors
Multiple Class Setup
Not-Assigned Classes
Not-Assigned Examinations
Offering Consent Types
Online Student Scheduling Dashboard
Page Statistics
People
People Lookup
Permissions
Personal Examination Schedule
Personal Schedule
Personal Timetable
Position Types
Reservations
Roles
Roll Forward Session
Room Availability
Room Detail
Room Feature Types
Room Features
Room Groups
Room Schedule
Room Timetable
Room Types
Rooms
SVN
Scheduling Subpart Detail
Scripts
Select Academic Session
Select User Role
Send email...
Setup Examination Periods
Solution Properties
Solution Reports
Solver
Solver Configurations
Solver Groups
Solver Load Balancing
Solver Log
Solver Parameter Groups
Solver Parameters
Solver Status
Solver Warnings
Sponsoring Organizations
Standard Event Notes
Status Types
Structure of Distribution Preferences
Student Accommodations
Student Conflicts
Student Course Requests
Student Groups
Student Scheduling Assistant
Student Scheduling Status Types
Student Sectioning Dashboard
Student Sectioning Reports
Student Sectioning Solution Properties
Student Sectioning Solver
Student Sectioning Solver Log
Subject Areas
Subject Schedule
Subject Timetable
Suggestions
Test HQL
Time Patterns
Timetable
Timetable Managers
Timetables
Timetabling
Timetabling Benchmarks
Timetabling CVS Access
Timetabling Development using MyEclipse
Timetabling Development using NetBeans
Timetabling Installation FAQ
Tips and Tricks
Types of Distribution Preferences
UniTime 4.1 Online Documentation
UniTime Installation
Update Meetings
Users (Database Authentication)
 

Examination Timetabling

Examination Problem

Examination timetabling problem consists of the following entities

  • A set of non overlapping examination periods. Each examination period has defined a date, a start time and a length. It may also have a preference associated with it. The preferences that are set on periods act as default preferences for all examinations (e.g., we can discourage the last day of the examination week if desired).
    • So for instance, five 2 hour long periods can be defined for each day of the examination week for final exams, or an early and a late period can be defined for each date during the semester on which midterm examinations can take place.
  • A set of rooms. Each room has a normal and an examination seating capacity defined. Additionally, a room has a room availability matrix defined (stating during which periods a room can be used) and each period can be associated with a preference as well. Room coordinates may be provided as well. The following preferences can be set on a room for each period
    • Prohibited ... a room cannot be used during this period
    • Strongly Discouraged ... a room can only be used for an exam, the exam has a preference for this room (an exam overrides the preference of the room).
    • Discouraged ... a use of the room during this period should be minimized (Note that an exam is put into such a room if there is no other room of enough size available. This means that an exam will not be split into multiple rooms if it can be placed in a discouraged room.)
  • A set of examinations. Each exam has defined a length, type of seating, maximal number of rooms into which it can be split (typically between 1 to 4), and a list of students enrolled in the exam (e.g., by providing the list of courses, or classes for which the exam is organized). If the maximal number of rooms is set to zero, an exam is not to be placed in a room, it is only assigned to a period. One or more instructors may be associated with an exam. Additionally, each exam can have the following requirements and preferences associated with it:
    • Period preferences: a preference or requirement for each period. These may include prohibited periods (an exam cannot be placed in such period) or required periods (an exam must be placed in the period)
    • Room preferences: a preference or requirement on rooms, buildings, room features and/or room groups. These may include prohibited or required rooms, buildings etc.
  • A set of distribution preferences. A distribution preference is set between two or more exams, it can be either required or with a preference. Distribution preferences are of the following types:
    • Same Room ... exams are required/preferred to take place in the same room or rooms.
    • Different Room ... exams are required/preferred to take place in different rooms (no two exams of the constraint are to be placed in the same room).
    • Same Period ... exams are required/preferred to take place during the same periods.
    • Different Period ... exams are required/preferred to take place during different period.
    • Precedence ... exams are required/preferred to take place in the order they are listed in the constraint. For instance if exam A is in the precedence constraint before exam B, it is to be placed in a period that precedes the period in which exam B is placed.


Hard Constraints

Examination timetabling problem is a problem of assigning exams to examination periods and rooms so that the following constraints are respected.

  • Only one exam can be placed in a room at any period.
  • A room cannot be used on periods during which it is not available or marked as prohibited. A room can only be used during a period marked as strongly discouraged by an exam that has a preference for this particular room.
  • An exam must be placed in a room (or a set of rooms) so that the overall seating capacity of the rooms equals or is greater than the number of students attending the exam, with respect to the requested seating type (e.g., each room has a normal seating and examination seating capacities defined, an exam can request either normal or examination seating). Maximal number of rooms into which an exam can be split cannot be exceeded as well.
  • An exam cannot be placed in a period that is marked as prohibited for the exam, or that is not required if there is some other period required by the exam. Similarly, an exam cannot be placed in a room that is prohibited for the exam (by the room requirements that are set on the exam).
  • Required distribution constraints must be satisfied.


Soft Constraints (Optimization Criteria)

During the search, besides looking for a complete solution (all exams are assigned to periods and rooms) that satisfies all hard constraints mentioned above, the following criteria are optimized. Each criterion has a weight associated with it (e.g., direct conflicts have typically much higher weight that back-to-back conflicts), overall weighted sum of the above criteria is minimized.

Student Conflicts

  • Direct Conflicts: A student is enrolled in two exams that are placed in the same period.
  • More Than Two Exams A Day Conflicts: A student is enrolled into three or more exams that take place on the same day.
  • Back-To-Back Conflicts: A student is enrolled into exams that are scheduled in consecutive periods (back-to-backs over an end of a day may or may not be considered).
  • Distance Back-To-Back Conflicts: A student is enrolled into exams that are scheduled in consecutive periods and placed in rooms that are too far apart (if multiple rooms are involved, the maximal distance is considered, by default a threshold of 670 meters is used).

Instructor Conflicts

  • Direct Conflicts: An instructor is associated with two exams that are placed in the same period.
  • More Than Two Exams A Day Conflicts: An instructor is associated with three or more exams that take place on the same day.
  • Back-To-Back Conflicts: An instructor is associated with exams that are scheduled in consecutive periods (back-to-backs over an end of a day may or may not be considered).
  • Distance Back-To-Back Conflicts: An instructor is associated with exams that are scheduled in consecutive periods and placed in rooms that are too far apart

Other Criteria

  • Period Penalty: A penalization of an assignment of an exam into a period that is not preferred by the exam. Penalization corresponds to the preference that is put on the period for the exam. It is basically a difference of the best possible period and the assigned one, e.g., if there is a preferred period (weight -1), but the exam is assigned to discouraged period (weight 1), the period penalty for the exam is 2. Overall, preferences are wighted as follows:
    • Strongly Discouraged .. 4
    • Discouraged .. 1
    • Neutral .. 0
    • Preferred .. -1
    • Strongly Preferred .. -4
  • Room Penalty: A penalization of an assignment of an exam into a room that is not preferred by the exam. Penalization corresponds to the preference that is put on the room for the exam (e.g., if there is a preference on a building on the exam, the preference is applied to all rooms of the building), same weighting scale as for period penalty is used.
  • Distribution Penalty: A penalization of each distribution preference (that is not required) that is not satisfied is considered. Penalization corresponds to the preference that is associated with the constraint (1 for preferred, 4 for strongly preferred).
  • Room Split: A penalization of assigning an exam into multiple rooms. There is penalty of 1 of splitting an exam into two rooms, 4 into three rooms, 9 into four rooms (it is (r-1)^2 where r is the number of rooms into which an exam is assigned).
  • Room Split Distance: Average distance between rooms that an exam is split.
  • Room Size: A penalization of using rooms that are two large for an exam. It is the difference of the size of the room (either exam or normal seating based on what is required by the exam), and the size of the exam (number of students enrolled in the exam).
  • Rotation Penalty: An exam can have an average period (computed from the previous examination problems) associated with it. If so, a penalty of the current period index multiplied by the average period index is associated with each exam. This effectively "rotates" the exams (exams that were later in the examination term has higher penalty if placed in a later period).
  • Large Exams Penalty: One for each large exam (an exam with more than a certain number of students enrolled) if it is placed on or after a certain period


Minimal Perturbation Problem

  • Perturbation Penalty: If initial exam assignments are provided, a penalization of putting an exam into a different period based on the distance of the two periods and the size of the exam can be included in the optimization criteria.

Updated on Apr 2, 2015 by Tomáš Müller (Version 3)