TOGA Installation Guide

Title:TOGA Installation Guide
Author: Dave Haynes
Organization: Thuswise Ltd, UK
Contact: toga@thuswise.co.uk
Version: 0.01.002
Date: 8th August 2003

Contents

The TOGA Distribution

TOGA is written in a language called Python. This means it can run on many platforms and operating systems, including Linux and Windows.

You can download the TOGA source code under a free licence.

TOGA is not yet available as a single executable (.exe) for Windows, although this is planned for the future.

Installing TOGA

  1. Install Python on your system, if it is not there already.

    TOGA requires version 2.2 or later of Python to work properly. Download and install Python from http://www.python.org

  2. Download TOGA.

    TOGA is available from http://www.thuswise.co.uk. You may choose one of two files:

    toga-src-0-01-002.zip
    toga-src-0-01-002.tar.gz
    
    "src"

    means the file contains Python source code

    "0"

    is the major version number

    "01"

    is the minor version number

    "002"

    is the build number

    ".zip"

    means the file is a zip file which may be extracted using the WinZip program or GNU unzip

    ".tar.gz"

    is a zipped tape archive, native to UNIX systems

    NB: Modern versions of WinZip will be able to work with either format.

  3. Unpack the TOGA source into a convenient location on your computer.

    The directory structure should look like this:

    +- toga-src-0-01-002
        |
        +- docs
        |
        +- nsga2
        |
        +- test
        |
        +- tools
        |
        COPYING
        README
        Table.py
        TogaEngine.py
        test.py
        toga.py
    

Running the Unit Test suite

TOGA comes with a test suite to make sure its basic operation is sound. To check your copy is working correctly:

  1. Change your working directory to the TOGA directory.

  2. From the command line, enter:

    python test.py
    

The test suite will run, and print a report of how it went.

Generating data for demonstration

The tools directory contains some utilities to automatically create problem data.

DemoGenerator.py

This script generates a school timetable at random, subject to some parameters which may be found in the file demogen.cfg.

  1. Change your working directory to the TOGA tools directory.

  2. Alter demogen.cfg with a text editor if necessary

  3. From the command line, enter:

    python DemoGenerator.py
    

The timetable will be generated and stored along with its documentation in a special directory. The path to this directory may be defined in the configuration file. Also in this directory is a batch file which you may pass to TOGA to process the data and try to generate an optimised timetable, eg:

python toga.py -b ./demogen/my_timetable/run_my_timetable

ProblemDataParser.py

This script may be used to convert data from the 2002 PATAT Timetabling Competition into TOGA .csv files. This script has hard-coded paths, so you will need to consult the code if you want to use it.

Defining your own Timetable

To use TOGA for your own timetabling task, you will need to become familiar with its concepts and structures. The following are essential reading: