1 / 83

Agenda

Abschlusspräsentation Studienprojekt: Stundenplanerstellung mit evolutionären Algorithmen Abt. Formale Konzepte Studiengang Softwaretechnik SS 2000 und WS 2000/2001. Agenda. Zielsetzung Stundenplanerstellung als Optimierungsproblem Evolutionäre Algorithmen

zocha
Download Presentation

Agenda

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Abschlusspräsentation Studienprojekt:Stundenplanerstellungmit evolutionären AlgorithmenAbt. Formale KonzepteStudiengang Softwaretechnik SS 2000 und WS 2000/2001

  2. Agenda • Zielsetzung • Stundenplanerstellung als Optimierungsproblem • Evolutionäre Algorithmen • Problemlösung mit evol. Algorithmen • Erfahrungsaustausch

  3. Zielsetzung • Kunde (K. Weicker): • Optimierung mit einemevolutionärem Algorithmus • Portabilität (Plattformunabhängigkeit) • Multilinguale Benutzeroberfläche • Festpreisprojekt (495.200,- DM) • Produktvision • Erstellung von Veranstaltungsplänen

  4. Zielsetzung • Projekteigentümer (Prof. V. Claus): • Experimentierplattform für weitere Forschungsarbeiten im Bereich EA • Erstellung von Universitätsstundenplänen

  5. Zielsetzung • Zielgruppe (Schulen): • Hohe Qualität der Stundenpläne • Kontrollmöglichkeiten • Manuelle Manipulation • Erstellung von Schulstundenplänen

  6. Zielsetzung • Projektteam: • Erfahrungen im Softwareengineering:u.a. kommerzielles Prozessmodell • Einhaltung der Planung • Hohe Qualität der Stundenpläne • Wirtschaftliches Produkt • Erstellung von • Veranstaltungsplänen? • Universitätsstundenplänen? • Schulstundenplänen?

  7. Systemüberblick

  8. Systemüberblick

  9. Systemüberblick

  10. Systemüberblick

  11. Agenda • Zielsetzung • Stundenplanerstellung als Optimierungsproblem • Evolutionäre Algorithmen • Problemlösung mit evol. Algorithmen • Erfahrungsaustausch

  12. Ausgangsdaten

  13. Ausgangsdaten

  14. Lehrauftrag

  15. Ausgangsdaten

  16. Stundenplanerstellung ...ein kombinatorisches Optimierungsproblem Lehrauftrag Verplante Stunden

  17. Stundenplanerstellung ...ein kombinatorisches Optimierungsproblem

  18. Randbedingungen • Harte Randbedingungen beachten: • Lehrer nur an einem Ort zur selben Zeit • Klasse nur an einem Ort zur selben Zeit • Raumgröße ausreichend für Klasse • Lehrer verfügbar • Klasse verfügbar • ... • Verletzung dieser Bedingungen führt zu ungültigem Stundenplan

  19. Randbedingungen • Weiche Randbedingungen beachten: • Minimierung von Hohlstunden für Klassen • Minimierung von Hohlstunden für Lehrer • Minimale / maximale Anzahl von Doppelstunden • Freie Tage für Teilzeitlehrkräfte • Verteilung der Veranstaltungen • ... • Verletzung dieser Bedingungen reduziert Qualität des Stundenplans

  20. Verteilung der Veranstaltungen

  21. Verteilung der Veranstaltungen

  22. Verteilung der Veranstaltungen

  23. Verteilung der Veranstaltungen ü

  24. Varianz und Standardabweichung 5a Qualität: 1.0 5b Qualität: 2.0 5c Qualität: 4.5

  25. Aufbau einer Veranstaltung <event id=”xxx” constraints... > <section id=”xx” name=”abcde” size=””> <involvedTeachers /> <involvedClasses /> <requiredRoomFeatures /> <preferredRoomFeatures /> </section> <section id=”xy” name=”fghij” size=””> ... </section> </event>

  26. Aufbau einer Veranstaltung <event id=”378” hoursPerWeek=”5” minDouble=”0” maxDouble=”1” borderPlacement=”prefer” fortnightPlacement=”forbid” noonBreakPlacement=”forbid” concurrentEvent=”233”> ... </event> <event id=”xxx” constraints... > <section id=”xx” name=”abcde” size=””> <involvedTeachers /> <involvedClasses /> <requiredRoomFeatures /> <preferredRoomFeatures /> </section> <section id=”xy” name=”fghij” size=””> ... </section> </event>

  27. Aufbau einer Veranstaltung <section id=”1” name=”kath. Rel.” size=”17”> <involvedTeachers /> <involvedClasses /> <requiredRoomFeatures /> <preferredRoomFeatures /> </section> <event id=”xxx” constraints... > <section id=”xx” name=”abcde” size=””> <involvedTeachers /> <involvedClasses /> <requiredRoomFeatures /> <preferredRoomFeatures /> </section> <section id=”xy” name=”fghij” size=””> ... </section> </event>

  28. Aufbau einer Veranstaltung <involvedTeachers> <involvedTeacher teacher-ref=”We” /> <involvedTeacher teacher-ref=”Hu” /> </involvedTeachers> <involvedClasses> <involvedClass class-ref=”5a” /> <involvedClass class-ref=”5b” /> <involvedClass class-ref=”5c” /> </involvedClasses> <event id=”xxx” constraints... > <section id=”xx” name=”abcde” size=””> <involvedTeachers /> <involvedClasses /> <requiredRoomFeatures /> <preferredRoomFeatures /> </section> <section id=”xy” name=”fghij” size=””> ... </section> </event>

  29. Aufbau einer Veranstaltung <requiredRoomFeatures> <feature id=”Klassenzimmer” /> <feature id=”Unterstufe” /> </requiredRoomFeatures> <preferredRoomFeatures> <feature id=”Musik” /> <feature id=”Tommelwirbel” /> </preferedRoomFeatures> <event id=”xxx” constraints... > <section id=”xx” name=”abcde” size=””> <involvedTeachers /> <involvedClasses /> <requiredRoomFeatures /> <preferredRoomFeatures /> </section> <section id=”xy” name=”fghij” size=””> ... </section> </event>

  30. Aufbau einer Veranstaltung <event id=”378” hoursPerWeek=”5” minDouble=”0” maxDouble=”1” borderPlacement=”prefer” fortnightPlacement=”forbid” noonBreakPlacement=”forbid” concurrentEvent=”233”> <section id=”1” name=”kath. Rel.” size=”17”> <involvedTeachers> <involvedTeacher teacher-ref=”Fi” /> </involvedTeachers> <involvedClasses> <involvedClass class-ref=”5a” /> <involvedClass class-ref=”5c” /> </involvedClasses> <requiredRoomFeatures> <feature name=”Klassenzimmer” /> </requiredRoomFeatures> </section> <section id=”2” name=”ev. Rel.” size=”34”> <involvedTeachers> <involvedTeacher teacher-ref=”We” /> </involvedTeachers> <involvedClasses> <involvedClass class-ref=”5c” /> </involvedClasses> <requiredRoomFeatures> <feature id=”Klassenzimmer” /> </requiredRoomFeatures> <preferredRoomFeatures> <feature id=”Musik” /> </preferedRoomFeatures> </section> </event>

  31. Lösungen des Stundenplanproblems • Vielzahl von möglichen Lösungen • deterministischer Algorithmus schwer zu entwickeln Anwendung eines evolutionären Ansatzes

  32. Demonstration

  33. Agenda • Zielsetzung • Stundenplanerstellung als Optimierungsproblem • Evolutionäre Algorithmen • Problemlösung mit evol. Algorithmen • Erfahrungsaustausch

  34. Evolutionärer Ansatz Idee: Orientierung an der Evolution der Natur Anpassung von Individuen an die natürliche Umwelt

  35. Ablauf der Evolution Initialpopulation Selektion Rekombination Bewertung Mutation

  36. Population • Besteht aus Individuen • Initialpopulation kann zufällig gewählt werden C D B A E Evolution der Individuen

  37. Rekombination Kreuzung zweier Individuen Vater Kind Mutter

  38. Mutation Veränderung der einzelnen Individuen Individuum A´ Individuum A 1 2 3 4 1 3 2 4

  39. Bewertung und Selektion Generation n Generation n+1 1 6 6 8 8 4 7 7 2 3 5 5

  40. Ablauf der Evolution Initialpopulation Selektion Rekombination Bewertung Mutation

  41. Agenda • Zielsetzung • Stundenplanerstellung als Optimierungsproblem • Evolutionäre Algorithmen • Problemlösung mit evol. Algorithmen • Erfahrungsaustausch

  42. Repräsentationsformen Vererbungsveranlagungen der Eltern Genotyp V M V M V M V M Phänotyp Augenfarbe des Kindes

  43. Ausgangsstundenplan Veranstaltungsschlange (Event Queue) = Genotyp Stundenplantabelle = Phänotyp

  44. Prinzipieller Ablauf der Optimierung Ausgangsstundenplan Population erstellen Initialisierung der Stundenpläne Mutation und Rekombination Bewertung Selektion

  45. Population erstellen Ausgangsstundenplan Population

  46. Initialisierung der Stundenpläne Population Initialisierung

  47. Initialisierung durch Veranstaltungsschlange TimeTableBuilder Bedingungen Raumliste

  48. Initialisierung durch Veranstaltungsschlange TimeTableBuilder

  49. Initialisierung durch Veranstaltungsschlange TimeTableBuilder Engl. 103

  50. Initialisierung durch Veranstaltungsschlange TimeTableBuilder Engl. 103 Fr. 207

More Related