Tsine – High School Timetabling System – alpha version 0.1 – user documentation

Alpha version – what does it consist of?

The alpha version of Tsine – High School Timetabling systém consists of two parts – an algorithm, and a GUI.

Installation instructions

Quick steps

System requirements

Before running Tsine (either computation or GUI), you need to create tables in the database. This is done by tsineInstallDb.py script, with following options:

Example run of the installation script – go to the application directory:

./tsineInstallDb.py –host localhost –user luigi –db tsine

After that, Tsine is ready for use.

Algorithm

Overview

The algoritm uses simple backtracking, with an evauluation function which count number of cillisions in the timetable, and thus selects the best timetable. It always produces one (the first) of the timetables with the best score.

Usage

Users are supposed to execute the algorithm only within GUI (see below), however, it's possible to execute it independently as well, using following notation:

./tsineBruteForce.py [options]

with these options available:

Graphical User Interface

Overview

The GUI allows user to interact with the computations in an easier way – it allows to display current best result, set constraints on timetables (move the items to fixed positions, as well as release them to free scheduling), and manage computations.

Running the GUI

To run GUI, you need to install Tsine database tables first (see above, Installation instructions). The GUI itself has no command-line parameters, you can run it according to this example:

./tsineGui.py

To start the computation, configure database connection information via Main menu->Edit->Preferences menu option.

Setting database properties

The properties you have to set are the following:






After setting database properties, it's time to run computation itself. Multiple computations may run at the same time, even (in future versions) using different algorithms. To run a new computation, go to the Computations („Výpočty“ in Czech) tab and press „New computation“ button. This shows you a list of available algorithms (computation types). To start a computation, press „Execute“.






Viewing results of the computation

To view results for a particular computation, select the Results („Výsledky“) tab, and the computation ID in the drop-down list. The information about current best result for selected computation will be displayed.

(Un)Scheduling timetable items on fixed position

To schedule timetable item on a fixed position in the timetable (on fixed room, day and hour), select the item in the results list, and press the Move („Přesunout“) button on the Results toolbar.




A dialog window shall pop up, so that you'll be able to select fixed room, day and hour for specified item. You can press „Save“ („Ulozit“) to schedule the item, or „Delete“ („Vymazat“) to unschedule the item from a fixed place you set earlier. You can set the constraint on either a single computation (the one selected in the drop-down menu in the „Results“ tab) or on all computations (eitheir currently running or those to be run in the future).

After making any changes to the constraints, you can press „Reload“ to see, how the changes were reflected by the computation.

Viewing school configuration

To view school configuration (eg. students, teachers available etc.), select the „Data“ tab, which allows you to view lists of the items in the configuration.

Saving results

Results of a timetable can be saved in a simple XML file. To save the result of the computation selected in the „Results“ tab, press „Save“ button, either on the „Results“ tab, or in the main menu.