Sorry, I missplaced the man2html program.
Here is the plain ascii version:
syssched(1) syssched(1)
NAME
syssched - Generate schedule for Sysprog Groups
SYNOPSIS
syssched [ -w <number> ] randseed file
DESCRIPTION
syssched generates a schedule for the sysprog course. A
heuristic search algorithm is used to find a good solu-
tion. A flood algorithm is used for the search. The
heuristic parameters are highly tuned to achieve a good
solution. The first implementation did'nt even find solu-
tions of the quality achievable by hand. This is the rea-
son why only one of the heuristic parameters, the wish
rewardstep is runtime selectable. This parameter
selectable with the -w option specifies in what steps the
reward for students in wishgroups increases. The default
for this parameter is 0, i.e. no special reward is given
if a student is in his number one wish group or in his
number three wish group. This is normally the best setting
because we want as many students in their wish groups as
possible. If this parameter is set higher, a higher reward
is offered depending on the wish list. If set to 5 for
example the reward of the number one wish is 10 points
higher than the reward for the number three wish. The max-
imum number that can be given with the -w switch is 10.
The randseed value is used to seed the random number gen-
erator for the heuristic search algorith. It should be a
number between 0 and MAXINT. The file is the student
input data generated by anm2sched.
The syssched program produces an output file. It is called
studliste and contains the list of students with their
group number in the form needed by spor2. Note that the
list is not sorted but spor2 requires a sorted list and
produces no error messages if the list is not sorted. The
list has to be sorted before importing it with spor2.
On standard output the actual group allocation is given
together with the number of students in each group and the
number of students given their first, second and third
wish group. We expect this program to be run with standard
output redirected to a file and run several times, perhaps
on several machines to find an acceptable solution in a
short time. A script to start the program several times
with different random seed values is given below. If run
on different machines, the different programs must not
operate in the same directory because of the name of the
output file name. Also each machine should be assigned a
different range of random seed values in this case.
Example Script: #!/bin/sh i=0 while [ $i -lt 100 ] do
i=`expr $i + 1`
10th Oct 1994 1
syssched(1) syssched(1)
(/bin/time syssched $i ws94.dat 2>&1) > 94sc.$i
mv studliste studl.$i done
The example script also records timing information of the
scheduler run. For a perl script to produce a summary
with maximum, minimum, and average scores as well as num-
ber of students given one of their wish groups and the
execution time information see sysreport(1). Data of for-
mer semesters for a test run can be found in
/quasi/local/src/syssched/examples. The ws94.dat file was
produced with anm2sched.
BUGS
A good solution is not found on every invocation with
every random seed. Sometimes even groups with one, two,
or more than 31 students are produced. This is not a prob-
lem of the heuristics but a problem of the heuristic
search algorith used. The program should be run several
times with different random seeds and the best solution
found should be used.
The student list may not be directly imported into spor2,
it must be sorted first. This is considered a bug of
spor2.
The default output file name for the list of students is
studliste and cannot be changed.
SEE ALSO
sysreport(1), anm2sched(1), Gunter Dueck, Tobias Scheuer
and Hans-Martin Wallmeier, "Toleranzschwelle und Sintflut:
neue Ideen zur Optimierung", Spektrum der Wissenschaft
3/1993 pp. 42-51.
AUTHOR
Peter Holzer (prototype version), Ralf Schlatterbeck
10th Oct 1994 2