Gruppeneinteilung

Allgemein zu Beginn mancher Veranstaltung, an Universitäten aber insbesondere zu
Semesterbeginn und bei einigen Veranstaltungen sogar während des Verlaufes der
Veranstaltung müssen Teilnehmer nach unterschiedlichen Kriterien möglichst fair in
(Übungs-)gruppen eingeteilt werden. Wird die Verteilung ad hoc durchgeführt, ergibt sich oft
ein gewisser Unmut bei den Teilnehmern, da die eigenen Wünsche (sofern zulässig) meist
nicht wie erwartet erfüllt wurden.
Im Rahmen dieser Arbeit ist daher ein Programm zu erstellen, das eine Aufteilung von
Teilnehmern an einer Veranstaltung in möglichst gleich große Gruppen durchführt und ggf.
Nebenbedingungen berücksichtigt. Vermutlich gehört das allgemeine Problem, d.h. die
optimale Zuordnung (Scheduling) von Ressourcen insbesondere unter der Berücksichtigung
von Nebenbedingung zu den komplexesten Problemen der Informatik. Für eine gute
Realisierung dieser Arbeit genügt – wie oft in der Praxis - ein deterministischer, schneller,
ggf. etwas trickreicher Algorithmus, der eine gute aber nicht notwendigerweise (immer)
optimale Lösung berechnet (d.h. eine Heuristik).

Von einer Gruppe wurde die Dokumentation im Netz veröffentlicht.
Screenshots einiger Realisierungen: