Official Competition Rules

1. This competition seeks to encourage research into automated timetabling methods, and to offer a prize to the most successful method in a particular circumstance. It is the spirit of these rules that is important, not the letter. With any set of rules for any competition it is possible to work within the letter of the rules but outside the spirit. Please don't do this. It's not fair, it's not good science, and it will result in disqualification.

2. The Metaheuristics Network's (and ultimately the Co-ordinator's) decision is final in any matter.

3. The Metaheuristics Network reserves the right to change the rules at any time and without notice. It is the participant's responsibility to check the competition web pages from time-to-time for any changes in the rules.

4. The Metaheuristics Network reserves the right to disqualify any participant from the competition at any time if the participant is determined by the Network to have worked outside the spirit of the competition rules.

5. Members of the Metaheuristics Network are allowed to enter the competition, but cannot win any prize. "Members" includes those directly associated with the project (counted in the contract). Other members of staff and students at the institutions involved may fully participate.

6. The algorithms should run on a single processor machine, take as input a problem file in the format described, and produce as output a feasible timetable (if found) with a minimum number of soft constraint violations in the allowed CPU time. Participants can use any programming language.

7. The algorithm should not take account of additional knowledge about the instance (e.g. results from previous runs or other processing). The same version (and parameters) of the algorithm must be used for all instances (i.e.the algorithm should not "know" which instance it is solving).

8. Participants should submit for each instance the best solution found by their algorithm in the specified computer time, by uploading it onto the web site.

9. Participants must also submit a concise and clear description of their algorithm, so that others can implement it.

10. The deadline for uploading the solutions to all twenty instances, and the algorithm description, onto the website is March 31st 2003.

11. The winner must be prepared to show that those results are repeatable in the given computer time. In particular the participants should make their program in such a way that the EXACT run that produced each solution submitted can be repeated (by providing the random seed etc.). Participants can try several runs to produce each submitted solution, but must be able to repeat the run for any solution submitted. Possible winners will be expected to demonstrate their program on existing and new unseen instances. In some circumstances, possible winners may be required to show source code to a limited number of Network Members, in order to check compliance with the rules.

12. Participants who cannot provide feasible solutions to all twenty instances are excluded from the competition.

13. The winner is the participant that reaches the best results across all instances as defined below: For each of the twenty instances proposed each participant submits the best solution found by their algorithm in the specified CPU time. For each instance and participant a score between 0 and 1 is calculated as follows: (x-b)/(w-b), where x is the number of soft constraint violations of the participant on this instance, b is the number of soft constraint violations of the best participant on this instance, and w the number of soft constraint violations of the worst participant on this instance. These scores are added up across the 20 instances for each participant resulting in a total score between 0 and 20. The winner is the participant with the lowest score.

14. The benchmark program is designed to roughly test how fast the participant's machine is at doing the sort of things that are involved in timetabling. The program will tell participants how long they can run their algorithm for on the competition timetabling problem instances. It is not possible to provide perfectly fair benchmarks across many platforms and algorithms, and the Metaheuristics Network is aware that the benchmark may be kinder to some people than others. The benchmark is only suitable for individual, single processor machines. It is not suitable for, for example, specialist parallel machines or clusters. For this reason, only individual, single processor machines are allowed to be used for the competition. Participants who run their algorithm for longer than the benchmark program allows will be disqualified. The benchmarks of possible winners will be checked.

15. Participants using a PC must use the benchmark executables provided. Others should contact the Metaheuristics Network to obtain an executable.

16. The benchmark program should be run when the machine is not being used for anything else. Examples of things to check for are:

17. With the executables provided the benchmark takes around 300 seconds to run on a 500MHz PC under Linux and 500 seconds on the same PC under Windows 2000. If the results participants get are not roughly in line with this, they must inform the Metaheuristics Network.

18. The information on the competition web-site forms part of these rules, but where there is any conflict, this set of numbered rules takes precedence.