Exam Scheduler Technical
The main module is served as the driver module
of the whole system. Basically it sequentially calls the input module to
set up all necessary internal data structure, then call scheduler module
to schedule and finally output the schedule by calling output module. Since
our scheduling algorithm is sort of random, different times to call will
probably get different schedules. To get relative "good" schedule, the
main program calls the schedler module a certain of times to get some possbile
"candidate" schedules and leave them for users to decide which one is finally
used. A trick here is that when we find a possible "good" schedule, we
have no need to save the whole schedule. All what we need to save is just
the random seed of this time of running. After we run a certain of times,
we just use all recorded random seeds to reproduce the "candidate" schedules.
The number of times to run the scheduler module can be set in configuration
file by users
on April 23, 2000.