| Title: | TOGA Roadmap |
|---|---|
| Author: | Dave Haynes |
| Organization: | Thuswise Ltd, UK |
| Contact: | toga@thuswise.co.uk |
| Version: | 0.01.002 Supercedes previous version 0.01 |
| Date: | 15th August 2003 |
TOGA's GA implementation is still very basic. For example, it has no Elite controlling mechanism. Also, it has been tried and found wanting against the problems posed in the 2002 PATAT Timetabling Competition. Of course, these challenges were deliberately designed to be difficult. It's possible that even in its present form TOGA might be a useful tool against real-world problems.
One immediate criticism you could level at TOGA is that it is slow. You need a couple of hours to spare at least! I don't see this as an issue as yet, for the following reasons:
What TOGA currently offers is a fully functional framework as a basis for development; "the simplest thing that could possibly work".
A move to Python 2.3 will enable a rewrite, and hopefully result in faster performance. I intend to try using Sets, which will eliminate an ugly hack currently in use with regard to populations.
I hope in future releases to hybridise the algorithm, perhaps to include Graph Colouring and Matching to improve the chances of feasible solutions. These could still be directed by GA; for example, in choosing strategies to cope with degeneracy.
It is likely that chromosome encoding will change radically, therefore. Also, the Objective function is going to change. I'll be adding extra measures; for example, to balance staff workload evenly, or to maintain a consistent association between staff and pupils.
In the longer term, I am developing a graphical interface to TOGA. I have an idea that it could form part of a wider database application for schools, perhaps based on the Twisted framework and PostgreSQL. I have some learning to do before then. If you're familiar with these environments, and want to help, please get in touch.
Lastly, I'll be considering an overhaul of source distribution for future releases.
| Version | Release date |
|---|---|
| v0.01 | Early July 2003 |
| v0.01.002 | Mid August 2003 |
| v0.01.003 | Late September 2003 |
| Code | Name | Description |
|---|---|---|
| A | Arrangement | Staff arranged to teach specific lessons |
| B | Booking | Bookings against intervals, not slots |
| C | Course | |
| D | Department | |
| E | Enrolmemt | |
| F | Facility | |
| G | ||
| H | Home | Locations preferred by members of staff |
| I | Interval | Time Intervals for the whole year. intervalNo, slotNo, start, end |
| J | ||
| K | Candidate | |
| L | Lesson | |
| M | Commitment | |
| N | Location | |
| O | ||
| P | Pupil | |
| Q | Requirement | |
| R | Resource | |
| S | Slot | |
| T | Staff | |
| U | ||
| V | Aversion | Staff who prefer not to work in certain slots |
| W | ||
| X | ||
| Y | Prototype | Output of TOGA, against slots, not intervals |
| Z | Zone | Locations preferred by departments |