kurzanleitung.html
1. Einleitung
2. Eingabe der Stammdaten
3. Darstellungsformen
4. Eingabe der Problemstellung
5. Automatisches Lösen
6. Manuelles Verbessern
7. Drucken
1. Einleitung
Ultraplan ist ein Programm, das es emöglicht, Veranstaltungen mit bestimmten Ressourcenansprüchen Zeitslots so zuzuordnen, dassdiese Ansprüche erfüllt werden können. Klassisches Problem ist das der Stundenplanerstellung an Schulen. Das Programm befindet sich noch im Experimentalstatus, sollte aber für viele Anwendungen - und bei umsichtiger Bedienung - bereits einsetzbar sein.
Ultraplan wird in dieser ersten Version als Freeware für den akademischen Bereich angeboten. Der Autor behät es sich vor, spätere
Versionen als Shareware oder in anderer Weise kommerziell anzubieten.
2. Eingabe der Stammdaten
I. Erzeugen von Objekttypen (Stammdaten-Obbjekttypen definieren)Ultraplan ist nicht auf eine bestimmte Anwendung festgelegt. Sie können selber vorgeben, welche und wieviele Arten unterschiedlicher Objekte Sie verwalten wollen. Bei einem Schulstundenplan werden dies im allgemeinen Lehrer,Klassen und Räume sein. Es können aber ebenfalls Geräte oder Medien verwaltet werden.
Die Zeiteinheiten werden ebenfalls als Objekte betrachtet. Hierbei ist eine Unterscheidung zwischen verschiedenen Typen aber noch nicht implementiert. Um einen
Stundenplanerstellen zu können muß mindestens ein "Zeiteinheiten"-Typ erzeugt werden; bei einem Stundenplan werden dies im allgemeinen Schulstunden sein.
Zu jedem Objekttyp können mehrere Parameter vorgesehen werden. Bei Räumen z.B. die Größe, bei Lehrern die Fächer, die diese unterrichten etc. Diese können hier vorgesehen werden. Bitte beachten sie die für Sie gültigen Datenschutzrichtlinien.
II. Erzeugen von Objekten (Stammdaten-Objekte editieren)
Nun können die gewünschten Objekte erzeugt werden. Hierbei
können die bei I vorgesehenen Attribute eingegeben werden. Bitte beachten
Sie, daß die Zeitobjekte einzeln eingegeben werden müssen, d.h.
Montag_1., Montag_2. , etc.. Ein Zusammenfassen erfolgt im nächsten
Schritt.
Zeitablauf festlegen (Stammdaten-Zeitablauf angeben)
Hier kann angegeben werden, in welcher zeitlichen Reihenfolge die Zeitobjekte
liegen. Dies ist nur wichtig für die sog. Springstundenminimierung,
d.h. die Minimierung der Wartezeiten eines Objektes/einer person zwischen
zwei Einsätzen. Die Pausen dienen dazu, z.B. Tagesgrenzen zu markieren,
so daß diese überschreitende Springstunden nicht gewertet werden.
IV. Gruppieren von Objekten
(Stammdaten-Gruppenstruktur editieren)
Dies ist mit Abstand der schwierigste Schritt bei der Eingabe. Hier
können verschiedene Objekte zu Gruppen zusammengefasst werden. Hierbei
gibt es zwei Arten von "Enthaltensein" in einer Gruppe: Als Teilmenge oder
als Element. Teilmengen werden so interpretiert als wären alle ihre
Elemente einzeln in die Übergeordnete Gruppe eingefügt worden.
Bei "Elementen" hingegen ist die Gruppe als ganzes ein Objekt in der Obergruppe.
Momentan wirkt sich dieser Unterschied aber nur bei der Darstellung aus
(s.u.). Gruppen können auch automatisch erstellt werden. Hierzu dient
der Knopf "Stammdaten". Im dann angezeigten Dialog kann eine Gruppe durch
Vorgabe von Attributwerten erstellt werden.
Die Zusammenfassung zu Gruppen erlaubt es später,Vorgeben für
alle Elemente einer Gruppe auf einmal zu machen, oder ein Element einer
Gruppe beliebig bestimmen zu lassen. So kann man später mit einem
Wert angeben, dass die Mitglieder der Gruppe "Rollstuhlfahrer" Mitglieder
der Gruppe "Räume mit Rampe" bevorzugen. Für "herkömmliche Schul-Stundenpläne" wird empfohlen
eine Menge "Tage", die die Mengen "Montag", "Dienstag" usw. als Elemente
enthält, wobei diese die Objekte Mo_1.Mo_2 usw. (analog für Di)
enthalten und eine Menge "Stunden" mit den Element-Mengen "1. ,2., 3., usw."
wobei diese die Objekte Mo_1.Di_1. usw (nalog für 2.) enthalten,
zu erzeugen.
V. Bewertungen vorgeben (Stammdaten - Bewertungsfenster)
Hier können Wünsche (soft Constraints) formuliert werden;
ein Wunsch kann allerdings so "dringend" formuliert werden, daß er
ähnliche Prioritäten genießt wi die physikalischen Notwendigkeiten
(kein Lehrer an zwei Stellen gleichzeitig). Es gibt zwei Arten von Angaben:
Individuelle Wünsche und relative Wünsche. Beide
können für Gruppen geäußert werden. Individuelle
Wünsche betreffen Vorgaben die nur die jeweilige Gruppe betreffen
wie z.B. daß keine Springstunden gewünscht werden (hier kann
eine Priorität eingegeben werden, je höher desto stärker).
Relative Wünsche geben an, wie sehr sich zwei Objekte "mögen",
z.B. Rollstuhlfahrer und Räume mit Rampe, oder Klassen und Stunden
am Montag etc.. Vorgaben für Gruppen werden auf alle Gruppenmiglieder
übertragen. Bei Mitgliedschaft in mehreren Gruppen wird das Mittel
über die dierekten Obergruppen (ohne egal - Einträge) verwandt.
Die Einstellungen die manuell vorgenommen werden überschreiben die
Gruppenvorgaben. So kann man mit zwei Werten angeben, daß Klassen
allgemein den Montag nicht mögen, die Klassen der Erprobungsstufe
aber doch.
3. Darstellungsformen
Die Erstellung eines Planes läuft im wesentlichen in Zwei Fenstertypen ab: Vorgabenfenstern und Ergebnisfenstern. Diese können farblich unterschieden werden. Die Darstellungen der Objekte Vorgaben bzw. Stunden (je nach Anwendung) in beiden Fenstern folgt den in 2.IV erstellten Gruppen. Hierzu dient das Fenster "neue Ansicht", das durch Drücken eines Knopfes bzw. durch Ansicht - "Darstellung ändern" erreicht werden kann.Im den linken beiden Feldern kann die Tabellenform gewählt werden. Die Tabellen können bis zu drei Stufen tief hierarchisch aufgebaut werden. Die Tabelle entsteht dann als cartesisches (kreuz-) Produkt der angegebenen Gruppen. Auf der Rechten Seite können bestimmte Gruppen ausgewählt (oben) oder eingefärbt (unten) werden. Wird eine der Boxen neben den Feldern aktiviert, so bilden Auswahl und Färbung eine dritte bzw. viete virtuelle Koordinatenachse, in der die einzelnen Felder bzw. Färbungen mit + und - bzw. p und m durchgeblättert werden können. Beim Ausdrucken wird jedes Blättern bezüglich der Auswahl durch eine neue seite bzw. durch eine neue Menge von Seiten realisiert. Wenn man einer Ansicht einen Namen gibt, so steht sie ab dann unter "basierend auf" als Schablone zur Verfügung. Diese können in Ansicht-Ansichten bearbeiten modifiziert bzw. gelöscht werden.
4. Eingabe der Problemstellung
Die Eingabe eines neuen Problems wird im Vorgabenfenster durchgeführt. Hierzu wird zunächst die gewünschte Darstellung gewählt. Im Fall einer Schule z.B. eine Klassen x Lehrer Tabelle. Durch Doppelklick in ein leeres Fenster erhält man einen neuen Eintrag. Hierbei werden die Objekte, die der aktuellen Tabellenposition entsprechen automatisch eingefügt. Durch einen Doppelklick auf das neue Objekt kann dieses editiert werden. Auf Wunsch kann das Editierungsfenster automatisch geöffnet werden. Zum Umschalten zwischen den beiden Zuständen muss die "shift"- Taste gedrückt werden. Im Editierungsfenster kann man die Vielfachheit einer Anfrage (z.B. die Zahl der Stunden, die ein Lehrer in einer Klasse halten soll) und die Zahl der Angefragkten Objekte angeben. Hier werden z.Zt. Gruppen immer als Untergruppen gewertet, d.h. wenn man 4 "Tage" bestellt, wobei jeder Tag aus Stunden angibt, so erhält man 4 Stunden. Tatsächlich 4 Tage zu bekommen würde die Komplexität der Aufgabe erneut erhöhen. Kopieren, Ausschneiden und Einsetzen wird Relativ zur momentanen Tabelle vorgenommen, d.h. die automatisch hinzugefügten Objkete werden entsprechend korrigiert.5. Automatisches Lösen
Da das System als wissenschaftliches Experimentalsystem konzipiert wurde stehen mehrere Lösungsvarianten zur Verfügung von denen einige recht gut einige aber gar nicht funktionieren. Von allem was irgendwie "Trading" heißt, sollten Sie die Finger lassen. Sollten Sie ein mystisches Problem haben, das sich mit einem der "Handelsverfahren" lösen läßt, nicht aber nicht einem der anderen Verfahren, so schreiben Sie mir bitte eine Mail.Das einfachste Verfahren ist "Zeitslot optimieren". Dies setzt voraus, dass die Stunden, die für das entsprechende Zeitslot vorgesehen sind, bereits gesetzt wurden. Es verändert nur diejenigen Stunden in denen eine Wahlmöglichkeit zwischen verschiedenen Objekten besteht. Diese werden gemäß den gegebenen Präferenzen optimal angepasst.
"Schnellplanung" setzt alle Stunden so, als ob jede Anforderung nur einen Lehrer und eine Klasse enthält. Hierfür sind gute Algorithmen bekannt. Differenzierungen (d.h mehrere Lehrer/Klassen etc.) können hier zu Widersprüchen führen, die nicht aufgehoben werden.
"Berechnung starten" läßt sie ein Verfahren auswählen - insbesondere die tabusuchen haben sich in Tests bewährt. Sie können den "Fortschitt" bei der Beseitigung von Kollisionen in einer Datei protokollieren lassen.
Im Feld "Iterationen" sollten Sie einen Wert in der Größenordung von 50000 eingeben. Sollte es Ihnen zu lange dauern, können sie die
Berechnung vorzeitig "beenden"
"Alles löschen" löscht OHNE WEITERE VORWARNUNG OHNE DASS MAN ES RÜCKGÄNGIG MACHEN KANN den GESAMTEN momentanen Stundenplan (sorry).