2. Problembeschreibung


[ Constraint Logic Programming Seminar ] ... [ Thema Stundenplangenerierung mit CLP ] ... [ 3. Stundenplanproblem als CSP ]

Übersicht


2.1. Definition Stundenplanung

Stundenplanung (engl. timetabling) ist die Zuordnung von Objekten zu Raum- und Zeitressourcen, so dass eine möglichst grosse Anzahl an vorgegebenen Nebenbedingungen erfüllt wird.

2.2. Die hier behandelte Instanz des Problems

2.2.1 Allgemein

Da sich das Problem in der oben beschriebenen allgemeinen Form nicht anschaulich modellieren lässt, wird in dieser Arbeit als Instanz des allgemeinen Problems eine vereinfachte Form des Stundenplanproblems der Fachhochschule Wedel behandelt. Die in diesem Seminar behandelte Instanz des Stundenplanproblems besteht aus: Die Lösung dieses Problems ist eine eindeutige Zuordnung je eines Raums aus R und je eines Zeitfensters aus Z zu jeder Veranstaltung aus V, unter Berücksichtigung der Nebenbedingungen aus N.

2.2.2. Nebenbedingungen

2.2.2.1. Allgemein

Die Menge der Nebenbedingungen lässt sich in notwendige und erstrebenswerte Nebenbedingungen unterteilen. Die notwendigen Nebenbedingungen legen fest, ob die Lösung des Stundenplanproblems gültig ist, das heisst ob die Umsetzung der Zuordnungen physikalisch möglich ist. Die erstrebenswerten Nebenbedingungen beschreiben die Güte eines Stundenplans. Die Güte des Stundenplans bestimmt die Akzeptanz des Stundenplans von Seiten der Teilnehmer aller Veranstaltungen. Die notwendigen Nebenbedingungen müssen auf jeden Fall erfüllt werden, während aus der Menge der erstrebenswerten Nebenbedingungen so viele Nebenbedingungen wie möglich erfüllt werden sollten.

2.2.2.2 Notwendige Nebenbedingungen

Die hier behandelte Instanz des Problems besteht aus drei notwendigen Nebenbedingungen: Die Lösung eines Stundenplanproblems heißt gültig, wenn die drei notwendigen Nebenbedingungen erfüllt worden sind.

2.2.2.3 Erstrebenswerte Nebenbedingungen

Man unterscheidet zwischen allgemeinen erstrebenswerten Nebenbedingungen und speziellen erstrebenswerten Nebenbedingungen. Die allgemeinen erstrebenswerte Nebenbedingungen beschreiben, wie ökonomisch die vorhandenen Ressourcen ausgenutzt werden.
Beispiele: Die speziellen erstrebenswerte Nebenbedingungen beschreiben Wünsche, die leitende Teilnehmer von Veranstaltungen in Bezug auf die Raum- und Zeitfenster-Belegung ihrer Veranstaltungen haben. Alle speziellen erstrebenswerten Nebenbedingungen beeinflussen die Raum- und Zeitfenster-Belegung einer Veranstaltung, indem entweder best. Belegungskombinationen ausgeschlossen werden, oder indem best. Belegungskombinationen bevorzugt werden.
Beispiele dafür sind, z.B.:
* die Veranstaltung analysis1_1 soll am Dienstag von 11:00-12:15 stattfinden
* die Veranstaltung analysis1_1 nicht am Montag stattfinden
Die verschiedenen erstrebenswerten Nebenbedingungen widersprechen in der Regel sich oder den notwendigen Nebenbedingungen. Z.B. kann die Forderung nach Bewegungsminimierung, der Forderung nach Raumauslastung widersprechen. Eine Lösung kann also nicht alle erstrebenswerten Nebenbedingungen gleichzeitig erfüllen. Ausserdem ist die Einhaltung der verschiedenen erstrebenswerten Nebenbedingungen für die Güte eines Stundenplan von unterschiedlicher Relevanz. Um die Unterschiedlichkeit der Relevanz der erstrebenswerten Nebenbedingungen zu beschreiben, werden die erstrebenswerten Nebenbedingungen in eine Prioritätenhierachie gebracht. Die Lösung eines Stundenplanproblems heisst optimal, wenn so viele erstrebenswerte Nebenbedingungen wie möglich, unter Berücksichtigung ihrer Position innerhalb der Prioritätenhierachie, erfüllt worden sind.

2.3. Komplexität des Problems

Das Stundenplanproblem gilt als NP-vollständig.
Das Stundenplanproblem gehört also zu der Problemklasse NP, das heisst, es gibt einen nichtdeterministischen Algorithmus, der das Problem in polynomieller Zeit löst.
Im Gegensatz dazu stehen die Problemklassen P(es gibt einen deterministischen Algorithmus, der das Problem in polynomieller Zeit löst) und EXP (es gibt einen Algorithmus, der das Problem in exponentieller Zeit löst). Dabei gilt, dass die Problemklasse P eine Teilmenge von NP und diese wiederum eine Teilmenge von EXP ist. Die Eigenschaft 'vollständig' sagt aus, dass das Problem einen so hohen Schwierigkeitsgrad hat, dass man, wenn man einen deterministischen Algorithmus für das Problem finden sollte, damit nachweisen könnte, dass die Problemklasse P und NP gleich sind. Die NP-vollständig Eigenschaft des Stundenplanproblem lässt sich nachweisen, indem man die einfachste Form des Problems auf das Graph-Coloring Problem (aus dem OR) zurückführt, welches NP-vollständig ist. (vgl. [2]) Die Tatsache, dass es zur Lösung des Problems nur einen nichtdeterminsitischen Algorithmus gibt, bedeutet für die Lösungsfindung, dass der gesamte Suchraum des Problems, also die Menge aller möglichen Zuordnungen (auch die, welche in suboptimalen und ungültigen Lösungen resultieren), nach einer gültigen und gegebenenfalls auch optimalen Lösung durchsucht werden muss. Die Grösse des Suchraums ist definiert durch:

(Anzahl der Räume * Anzahl der Zeitfenster)Anzahl der Veranstaltungen

Bei 8 Räumen und 24 Zeitfenstern pro Planungsperiode (Woche) und 100 Veranstaltungen und einer angenommenen Zeitspanne von 1 nS für das Aufsuchen eines Punktes im Suchraum dauert das Durchsuchen des Suchraums:

240100 * 10-9s = 1,049 * 10229 sec
= 2,916 * 10225 Stunden

Daraus folgt, dass eine ungerichtete Suche zeitlich nicht möglich ist.
[ Constraint Logic Programming Seminar ] ... [ Thema Stundenplangenerierung mit CLP ] ... [ 3. Stundenplanproblem als CSP ]