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:
-
Einer Menge von Veranstaltungen V = {v1, v2, ..., vn}
Eine Veranstaltung ist dabei ein Treffen einer Menge von Teilnehmern
Teil = {teil1, teil2, ..., teilk}
in einem bestimmten Raum, zu einer festen Zeit und für eine feste Zeitdauer (in diesem Fall eine
Stunde und 15 Minuten). Die Teilnehmer verbrauchen Platz in dem Raum, der diesen nur
begrenzt zur Verfügung stellt.
Ausserdem benötigt eine Veranstaltung für ihren Ablauf noch eine Menge von Ressourcen
Res = {res1, res2, ..., resl},
die der Raum, in dem die Veranstaltung stattfindet, zur
Verfügung stellen muss.
Beispiel:
Eine Veranstaltung ist einer von den 2 Blöcken, aus denen die Vorlesung Analysis1
besteht und soll mit Analysis1_1 bezeichnet werden.
Die Menge der Teilnehmer an Analysis1_1 ist dabei Teil = {Harms, II1, WI1}
Die Teilnehmer beanspruchen genau soviel Platz, wieviel reale Personen sie repräsentieren.
Die Menge der Ressourcen, die Analysis1_1 benötigt, ist dabei Res = {Tafel}.
Der Begriff Veranstaltung ist also nicht mit dem Begriff Vorlesung zu verwechseln,
da eine Vorlesung aus mehreren Veranstaltungen bestehen kann.
-
Einer Menge von Räumen R = {r1, r2, ..., rm}
in denen Veranstaltungen stattfinden können. Ein Raum stellt eine bestimmte Anzahl AnzR von Plätzen für
die Teilnehmer einer Veranstaltung und eine Menge von Raumressourcen
RaumRes = {raumres1, rraumres2, ..., raumreso}
für den Ablauf einer Veranstaltung zur Verfügung.
Beispiel:
Ein Raum ist Hörsaal 5,
der 150 Plätze
und die Menge RaumRes = {Tafel, Beamer, Video, Audio} zur Verfügung stellt.
-
Einer Menge von Zeitfenstern Z = {z1, z2, ..., zp}.
in denen Veranstaltungen stattfinden können. Zeitfenster sind die zeitlichen
Anteile in welche die Planungsperiode (in unserem Fall eine Woche) eingeteilt
ist, und in denen jeweils eine Veranstaltung stattfinden kann (in unserem Fall
eine Stunde und 15 min).
Beispiel:
Montag 8:00-9:15 ist ein Zeitfenster
Montag 17:00-18:15 ist ein Zeitfenster
-
Eine Menge von Nebenbedingungen N, die Abhängigkeiten zwischen den Elementen der drei
oben genannten Mengen beschreiben.
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:
-
Gültige Raumbelegung
Der Raum r, der einer Veranstaltung v zugeordnet wird, muss genügend Platz für
alle Teilnehmer von v zur Verfügung stellen, und die Menge der Ressourcen die v
benötigt, muss eine Teilmenge der Ressourcen sein, die r zur Verfügung stellt.
-
Verhinderung eines Raum Clash
In einem Raum r kann während eines Zeitfensters z nur maximal eine Veranstaltung v
stattfinden.
Das heisst, die Zuordnung, welche die Lösung beschreibt, muss injektiv sein.
-
Ein Teilnehmer kann während eines Zeitfenster an maximal einer Veranstaltung
teilnehmen. Das heisst, die Mengen der Teilnehmer der Veranstaltungen, die im gleichen
Zeitfenster stattfinden, müssen disjunkt sein.
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:
-
Raumauslastung
Veranstaltungen sollten in Räumen stattfinden, bei denen die Differenz zwischen
Raumkapazität und Platzverbrauch der Teilnehmer möglichst minimal ist.
-
Teilnehmerauslastung
Die Anzahl der Veranstaltungen, an denen ein Teilnehmer teilnehmen muss, sollte ein Maximum
pro Tag nicht überschreiten, und sollte gleichmässig über die
Planungsperiode (eine Woche) verteilt sein.
-
Bewegungsminimierung
Veranstaltungsteilnehmer sollten zwischen Veranstaltungen so wenig wie möglich
die Veranstaltungsräume wechseln müssen
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 ]