Abschlusspräsentation
Sponsored Links
This presentation is the property of its rightful owner.
1 / 83

Agenda PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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


Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


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


Zielsetzung

  • Projekteigentümer (Prof. V. Claus):

    • Experimentierplattform für weitere Forschungsarbeiten im Bereich EA

    • Erstellung von Universitätsstundenplänen


Zielsetzung

  • Zielgruppe (Schulen):

    • Hohe Qualität der Stundenpläne

    • Kontrollmöglichkeiten

    • Manuelle Manipulation

    • Erstellung von Schulstundenplänen


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?


Systemüberblick


Systemüberblick


Systemüberblick


Systemüberblick


Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


Ausgangsdaten


Ausgangsdaten


Lehrauftrag


Ausgangsdaten


Stundenplanerstellung

...ein kombinatorisches Optimierungsproblem

Lehrauftrag

Verplante Stunden


Stundenplanerstellung

...ein kombinatorisches Optimierungsproblem


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


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


Verteilung der Veranstaltungen


Verteilung der Veranstaltungen


Verteilung der Veranstaltungen


Verteilung der Veranstaltungen

ü


Varianz und Standardabweichung

5a

Qualität: 1.0

5b

Qualität: 2.0

5c

Qualität: 4.5


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>


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>


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>


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>


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>


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>


Lösungen des Stundenplanproblems

  • Vielzahl von möglichen Lösungen

  • deterministischer Algorithmus schwer zu entwickeln

Anwendung eines evolutionären Ansatzes


Demonstration


Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


Evolutionärer Ansatz

Idee: Orientierung an der Evolution der Natur

Anpassung von Individuen an die natürliche Umwelt


Ablauf der Evolution

Initialpopulation

Selektion

Rekombination

Bewertung

Mutation


Population

  • Besteht aus Individuen

  • Initialpopulation kann zufällig gewählt werden

C

D

B

A

E

Evolution der Individuen


Rekombination

Kreuzung zweier Individuen

Vater

Kind

Mutter


Mutation

Veränderung der einzelnen Individuen

Individuum A´

Individuum A

1

2

3

4

1

3

2

4


Bewertung und Selektion

Generation n

Generation n+1

1

6

6

8

8

4

7

7

2

3

5

5


Ablauf der Evolution

Initialpopulation

Selektion

Rekombination

Bewertung

Mutation


Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


Repräsentationsformen

Vererbungsveranlagungen der Eltern

Genotyp

V M

V M

V M

V M

Phänotyp

Augenfarbe des Kindes


Ausgangsstundenplan

Veranstaltungsschlange (Event Queue)

= Genotyp

Stundenplantabelle

= Phänotyp


Prinzipieller Ablauf der Optimierung

Ausgangsstundenplan

Population erstellen

Initialisierung der Stundenpläne

Mutation und Rekombination

Bewertung

Selektion


Population erstellen

Ausgangsstundenplan

Population


Initialisierung der Stundenpläne

Population

Initialisierung


Initialisierung durch Veranstaltungsschlange

TimeTableBuilder

Bedingungen

Raumliste


Initialisierung durch Veranstaltungsschlange

TimeTableBuilder


Initialisierung durch Veranstaltungsschlange

TimeTableBuilder

Engl.

103


Initialisierung durch Veranstaltungsschlange

TimeTableBuilder

Engl.

103

Fr.

207


Initialisierung durch Veranstaltungsschlange

TimeTableBuilder

Engl.

103

Ek

633

Fr.

207


Genotypmutation

vertauschen


Genotypmutation


Genotypmutation


Phänotypmutation

Phänotyp-Mutatoren:

  • Verschieben von Stunden

  • Entfernen von Stunden

  • Platzieren von Stunden


Rekombination


Bewertung

Standardabweichung 1

S

Standardabweichung 2

Standardabweichung n

Unverplante /

teilweise verplante

Veranstaltungen

ConstraintWatcher

Randbedingung 1

Randbedingung 2

Score

S

Randbedingung n


Selektion

SVerletzungen

137

102

193


Selektion

SVerletzungen

137

102

193

SVerletzungen

137

102

102


Ergebnis


Demonstration


Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


Projektverlauf und Erfahrungen

  • Ist/Soll-Daten

  • Probleme

  • Tips

  • Verbesserungsmöglichkeiten


Ist-Daten: Grösse


Ist-Daten: LOC / MetaClass


Ist-Daten: Komplexität


Avg. LOC / MetaClass


Ist-Daten: Aufwand

Aufwand geschätzt495200,00 DM

entspricht 2476,00 h

bei Stundenlohn 200,00 DM/h

Kosten Stand 15.02.2001503566,67 DM

entspricht2517,83 h

Differenz 1,69 %

Produktivität geschätzt7,78 LOC/h

Produktivität Ist 5,56 LOC/h

Differenz 39,90 %


IST-Daten: Arbeitsauslastung

Arbeitsauslastung:

durchschnittliche Arbeitszeit 314,73 h

Standardabweichung 113,25 h


Ist-Daten: Verteilung


Technische Probleme

Speicherbedarf pro Individuum ca. 1,3 MB


Personelle Probleme


Strategien zur Bewältigung von Problemen


Strategien zur Bewältigung von Problemen


Tip: Beschreiben der Entwicklungs- und der Zielorganisationen

Entwicklungsorganisation

  • Kenntnisse

  • Weiterbildungswünsche

  • Erwartungen einzelner an das Projekt / das Team

Zielorganisation

  • Vorkenntnisse


Tip: Organisation


Tip: Arbeitsumgebung(1)

  • MS Pool

  • Werkzeuge

    • CVS

    • MS Office 2000

    • JBuilder 4.0

    • Together J

  • RUP: Dokumentenvorlagen, Arbeitsanleitungen

  • Dokumentenablagesystem


Tip: Arbeitsumgebung(2)


Tip: Arbeitsumgebung(3)


Tip: Zeitplanung

  • Semesterferien frei – als Pufferzeit

  • ca. 40 Stunden/Arbeitsmonat

  • Inkrementelle Auslieferung

    • Datenmodell, Import, EA globale Suche

    • Visualisierung, EA lokale Suche

    • Manipulation, EA Tuning


Forderungen (1)


Forderungen (2)


Offene Punkte bei der Projektdurchführung

  • Projektabbruch

  • Umgang mit „Keine Zeit Syndrom“ und „Projektmoral“

    • Verantwortung und Macht

    • Fix-Jours

    • Nachweise über Arbeitspakete

  • Bewertung schwierig und nicht transparent


  • Login