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 Attribute
Add Instructor Attribute Type
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 Teaching Responsibility
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
Assigned Teaching Requests
Assignment History
Attachment Types
Banner Academic Sessions
Banner Message Responses
Banner Offering Detail
Banner Offering Edit
Banner Offerings
Banner Term CRN Properties
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 Timetabling Solver
Course Timetabling Solver Log
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 Attribute
Edit Instructor Attribute Type
Edit Instructor Attribute Types
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 Point In Time Data Snapshot
Edit Point In Time Data Snapshots
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 Teaching Responsibilities
Edit Teaching Responsibility
Edit Time Pattern
Edit Timetable Manager
Edit User
Email
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 Service Providers
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
Exporting Solver XML
Frequently Asked Questions
Hibernate Statistics
Instructional Methods
Instructional Offering Configuration
Instructional Offering Cross Lists
Instructional Offering Detail
Instructional Offerings
Instructional Types
Instructor Assignment Preferences
Instructor Attribute Types
Instructor Attributes
Instructor Detail
Instructor Preferences
Instructor Roles
Instructor Scheduling
Instructor Scheduling Solver
Instructor Scheduling Solver Log
Instructors
LDAP Authentication / Lookup
Last Changes
Limit and Projection Snapshot
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
Not-Assigned Teaching Requests
Offering Consent Types
Online Student Scheduling Dashboard
Page Statistics
People
People Lookup
Permissions
Personal Examination Schedule
Personal Schedule
Personal Timetable
Point In Time Data Reports
Point In Time Data Snapshots
Position Types
Reservations
Roles
Roll Forward Banner Session
Roll Forward Session
Room Availability
Room Detail
Room Feature Types
Room Features
Room Groups
Room Schedule
Room Timetable
Room Types
Rooms
SVN
Saved Timetables
Scheduling Subpart Detail
Scripts
Select Academic Session
Select User Role
Send email...
Setup Examination Periods
Setup Teaching Requests
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
Teaching Assignment Changes
Teaching Assignment Detail
Teaching Assignments
Teaching Request Detail
Teaching Responsibilities
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 4.2 Online Documentation
UniTime Installation
Update Meetings
Users (Database Authentication)
 

Course Timetabling Solver

Screen description

In the Solver screen, you can load input data to the solver and run the solver in different configurations and modes. The operations available to you and the amount and kind of information displayed will depend on the status of the solver (the first item of the Solver section).


Solver not started

Solver

  • Status
    • Current status of the solver
  • Solver configuration
  • Solver mode
    • Options: Initial - creates a new timetable; MPP - continues working on the loaded timetable, trying to find a better timetable with as few differences from the loaded one as possible
  • When finished
    • Choose what to do when the time-out limit on the solver is reached
  • Allow breaking of hard constraints
    • Allow breaking of required/prohibited times/rooms. This is useful to be able to assign a prohibited time or room to a class using the Suggestions page while making interactive changes.
  • Student course demands
    • Student course demands that are used during the timetabling to avoid student conflicts
      • Last Like Student Course Demands
        • Real student course enrollments from the last-like semester
        • Source of demands: XML import
      • Weighted Last Like Student Course Demands
        • Real enrollments weighted so that the courses are filled with students
          • Example: When there were 15 students in a course last year and this year the course has a limit of 20, the last-like students in that course are multiplied by 20/15 
        • Source of demands: XML import and class limits
      • Projected Student Course Demands
        • Projected demands calculated from the last-like student course demands using the projection rules from the Curriculum Projection Rules screen
        • Source of demands: XML import and Projection Rules
          • Unlike with Last Like Student Course Demands and Weighted Last Like Student Course Demands, in this case it is important to import students and their properties (academic areas, majors, and classifications), this XML import prior to importing last like student course demands.
      • Curricula Course Demands
      • Curricula Last Like Course Demands
        • A combination of curricula and (projected) last-like student course demands - the curricula help with course demands for new courses (and mandatory courses etc.) while the last-like information provides data about courses across curricula that the students took together
          • Use case: curricula only contain information about mandatory and elective courses, demands for optional courses are taken from last-like enrollment data. Last like data are also used to better estimate joint demands between courses.
        • Source of demands: XML import and Curricula
      • Student Course Requests
      • Enrolled Student Course Demands
        • Real enrollments of students for this semester that is being timetabled (used mainly for testing)
        • Source of demands: XML import
  • Student final sectioning
    • Solver will perform student sectioning as a final stage of solving the problem (i.e., when a complete solution is found for Check configuration or upon time-out for the other configurations) to have more accurate information about student conflicts
  • Owner
    • The solver group for which you want to create a timetable
  • Host (admin)
    • Select server you want to run the solver on (setting "auto" means that the least occupied solver will be used, this is the default behavior for non-administrator users)

Operations

Loading input data

During the loading phase, input data and student information is loaded and the classes which have only one required room and one required time will get them assigned.


Solver

  • Input data loaded
    • Time stamp from the time when the latest load of input data started

For the rest, see above


Current Timetable

An initial timetable is created as soon as you start loading data. Only classes with one required time and one required room get there assignments at this point.


See
Solution Properties for the description of the items in this part of the screen.


Operations

  • Refresh
    • Refresh this screen
      • When loading is done, new buttons will appear


Awaiting commands

Operations

Solving problem

Solver

See above


Operations

  • Stop
    • Stop the solver
  • Refresh
    • Refresh this screen


Solver stopped

Best Timetable Found So Far

During the automated timetabling (when the solver is running), the best timetable found so far is saved here. It is the timetable that is presented to the user when he/she stops the solver or when the time-out is reached.


When the user interacts and makes changes, he/she can save intermediate results as "Best Timetable Found So Far" and later come back to this timetable if the current one is not good.


Operations are self-descriptive

  • Save
    • Replace the timetable that was loaded originally with this new one
      • Displayed only if a saved timetable was loaded
  • Save As New
    • Save as a new timetable (do not replace the loaded one)
  • Save & Commit
    • Replace the loaded timetable with a new one and commit it
  • Save As New & Commit
    • Save as a new timetable and commit it


Current Timetable

When solver is stopped, the Best Timetable Found So Far is the same as the Current Timetable. From that moment, any manual changes made by the user are applied to the Current Timetable.


Operations

  • Restore From Best
    • Discard the current timetable and start again from the best timetable found so far
  • Save To Best
    • Overwrite the Best Timetable Found So Far with this current timetable (when you consider the current one better and want to store it temporarily)


Problems

The list of warnings appears if any problem occurred during the data load. If there is a problem during solving, there will be an error message (such as Error: FATAL).

Hint: See Solver Warnings to see a detailed list of warnings and errors that may be produced by the solver. If you see a FATAL message, keep the solver in the memory and use Contact Us (located in Help menu) page to report a problem.

Operations

  • Start
    • Restart the solver from the current timetable
  • Student Sectioning
    • Perform student sectioning on the current timetable
  • Reload Input Data
    • Reload the data from the Input Data section without loosing the current time/room assignments in the current timetable; only prohibited assignments will be lost if breaking hard constraints is not allowed
  • Unload
    • Unload both the input data and the timetable from memory (any timetable will be lost unless saved in the Best Timetable Found So Far section or in the Timetables screen)
  • Export Solution
    • Export the current solution as a comma separated values (CSV) file
  • Refresh
    • Refresh this screen

Updated on Sep 6, 2017 by Tomáš Müller (Version 4)