- Import von Daten aus Textdateien (Format gegeben)
- Gewichtung von unterschiedlichen Randbedingungen für die
Bewertung eines Stundenplans
- Möglichkeit einen Stundenplan zu speichern und zu laden
(beliebiges Format)
- Potentielle Auswahl aus verschiedenen Optimierungsverfahren
- ein oder zwei Optimierungsverfahren sind zu implementieren, eine
geeignete Schnittstelle soll das Hinzufügen von weiteren Verfahren
ermöglichen (hierbei ist insbesondere zu beachten, dass die
unterschiedlichen Verfahren unterschiedliche Darstellungen von
Lösungen benutzen können, aus denen dann jeweils ein zu bewertender
Stundenplan erzeugt werden kann.)
- Optimierungen mit einer zufälligen Initialisierung
- manuelle Veränderungen an einem Stundenplan (der z.B. das
Ergebnis einer Optimierung ist)
- Für einzelne Verfahren (z.B. lokale Suche) kann auch eine
Optimierung ausgehend von dem Resultat einer vorherigen Optimierung
(oder dem manuell veränderten Resultat)
stattfinden.
- ein Optimierungsmodul mit einem evolutionären Algorithmus
- ein Optimierungsmodul mit einer lokalen Suche
- Anzeige der noch vorhandenen Konflikte bei resultierenden Stundenplänen
- anzeigen/drucken von Stundenplänen für einzelne Klassen und
Lehrer
- Es sollten Möglichkeiten vorgesehen (aber nicht komplett
implementiert) werden, Änderungen am Stundenplanproblem vorzunehmen
(z.B. andere Zuordnung der Lehrer zu den Veranstaltungen aufgrund
des Ausfalls eines Lehrers, Hinzufügen einer Veranstaltung). Dadurch
kann ein bestehender Stundenplan inkonsistent werden, sollte aber
durch eine lokale Optimierung wieder verbessert werden
können. Veränderte Stundenplanprobleme sollten unter einem neuen
Namen abgespeichert werden können.