Expected costs: 1 student for 6 months
Profile: process scheduling (mathematics or computer science), some programming
I am currently working on making ultimate scheduling, which would fulfill all the expectations we have. Having somebody else working on some topics, but using different algorithms (I am using genetic algorithms as this is required) could be useful and surely beneficial for both parties.
Some formalism can be found at: http://lascaux.asu.cas.cz/~petr/proyecto/scheduling.pdf.
Under scheduling we understand a process of allocating observing time to various tasks (targets) based on their coordinates (i.e. accessibility and airmass), current observing conditions (sky brightness, seeing), priority (group-fair-time-allocation, priority within group) and absolute time (fixed time specified, periodic observation needed). The solution may be obtained by evaluating a certain merit function on the fly during the observation, or by passing through all the available choices using brute force and choosing the best. There are points of essential importance needed to be able to fulfill the task:
RTS2 scripts already do contain a good definition of the first point, however, some information needed is missing (selection criteria, the owner) and some is present only in the database (coordinates, priority). I (mates) believe, that a good definition of the target could be achieved by extending the script into a more complex target description which would, in a human-and-machine readable form, contain all the information needed to plan, execute, and evaluate the observing request.
I believe that having this target description well defined is one of the essential prerequisities of a good scheduler.