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

Agenda PowerPoint PPT Presentation


  • 51 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


Agenda 5825994

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


Agenda

Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


Zielsetzung

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


Zielsetzung1

Zielsetzung

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

    • Experimentierplattform für weitere Forschungsarbeiten im Bereich EA

    • Erstellung von Universitätsstundenplänen


Zielsetzung2

Zielsetzung

  • Zielgruppe (Schulen):

    • Hohe Qualität der Stundenpläne

    • Kontrollmöglichkeiten

    • Manuelle Manipulation

    • Erstellung von Schulstundenplänen


Zielsetzung3

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 berblick1

Systemüberblick


System berblick2

Systemüberblick


System berblick3

Systemüberblick


Agenda1

Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


Ausgangsdaten

Ausgangsdaten


Ausgangsdaten1

Ausgangsdaten


Lehrauftrag

Lehrauftrag


Ausgangsdaten2

Ausgangsdaten


Stundenplanerstellung

Stundenplanerstellung

...ein kombinatorisches Optimierungsproblem

Lehrauftrag

Verplante Stunden


Stundenplanerstellung1

Stundenplanerstellung

...ein kombinatorisches Optimierungsproblem


Randbedingungen

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


Randbedingungen1

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 veranstaltungen1

Verteilung der Veranstaltungen


Verteilung der veranstaltungen2

Verteilung der Veranstaltungen


Verteilung der veranstaltungen3

Verteilung der Veranstaltungen

ü


Varianz und standardabweichung

Varianz und Standardabweichung

5a

Qualität: 1.0

5b

Qualität: 2.0

5c

Qualität: 4.5


Aufbau einer veranstaltung

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 veranstaltung1

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 veranstaltung2

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 veranstaltung3

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 veranstaltung4

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 veranstaltung5

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

Lösungen des Stundenplanproblems

  • Vielzahl von möglichen Lösungen

  • deterministischer Algorithmus schwer zu entwickeln

Anwendung eines evolutionären Ansatzes


Demonstration

Demonstration


Agenda2

Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


Evolution rer ansatz

Evolutionärer Ansatz

Idee: Orientierung an der Evolution der Natur

Anpassung von Individuen an die natürliche Umwelt


Ablauf der evolution

Ablauf der Evolution

Initialpopulation

Selektion

Rekombination

Bewertung

Mutation


Population

Population

  • Besteht aus Individuen

  • Initialpopulation kann zufällig gewählt werden

C

D

B

A

E

Evolution der Individuen


Rekombination

Rekombination

Kreuzung zweier Individuen

Vater

Kind

Mutter


Mutation

Mutation

Veränderung der einzelnen Individuen

Individuum A´

Individuum A

1

2

3

4

1

3

2

4


Bewertung und selektion

Bewertung und Selektion

Generation n

Generation n+1

1

6

6

8

8

4

7

7

2

3

5

5


Ablauf der evolution1

Ablauf der Evolution

Initialpopulation

Selektion

Rekombination

Bewertung

Mutation


Agenda3

Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


Repr sentationsformen

Repräsentationsformen

Vererbungsveranlagungen der Eltern

Genotyp

V M

V M

V M

V M

Phänotyp

Augenfarbe des Kindes


Ausgangsstundenplan

Ausgangsstundenplan

Veranstaltungsschlange (Event Queue)

= Genotyp

Stundenplantabelle

= Phänotyp


Prinzipieller ablauf der optimierung

Prinzipieller Ablauf der Optimierung

Ausgangsstundenplan

Population erstellen

Initialisierung der Stundenpläne

Mutation und Rekombination

Bewertung

Selektion


Population erstellen

Population erstellen

Ausgangsstundenplan

Population


Initialisierung der stundenpl ne

Initialisierung der Stundenpläne

Population

Initialisierung


Initialisierung durch veranstaltungsschlange

Initialisierung durch Veranstaltungsschlange

TimeTableBuilder

Bedingungen

Raumliste


Initialisierung durch veranstaltungsschlange1

Initialisierung durch Veranstaltungsschlange

TimeTableBuilder


Initialisierung durch veranstaltungsschlange2

Initialisierung durch Veranstaltungsschlange

TimeTableBuilder

Engl.

103


Initialisierung durch veranstaltungsschlange3

Initialisierung durch Veranstaltungsschlange

TimeTableBuilder

Engl.

103

Fr.

207


Initialisierung durch veranstaltungsschlange4

Initialisierung durch Veranstaltungsschlange

TimeTableBuilder

Engl.

103

Ek

633

Fr.

207


Genotypmutation

Genotypmutation

vertauschen


Genotypmutation1

Genotypmutation


Genotypmutation2

Genotypmutation


Ph notypmutation

Phänotypmutation

Phänotyp-Mutatoren:

  • Verschieben von Stunden

  • Entfernen von Stunden

  • Platzieren von Stunden


Rekombination1

Rekombination


Bewertung

Bewertung

Standardabweichung 1

S

Standardabweichung 2

Standardabweichung n

Unverplante /

teilweise verplante

Veranstaltungen

ConstraintWatcher

Randbedingung 1

Randbedingung 2

Score

S

Randbedingung n


Selektion

Selektion

SVerletzungen

137

102

193


Selektion1

Selektion

SVerletzungen

137

102

193

SVerletzungen

137

102

102


Ergebnis

Ergebnis


Demonstration1

Demonstration


Agenda4

Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch


Projektverlauf und erfahrungen

Projektverlauf und Erfahrungen

  • Ist/Soll-Daten

  • Probleme

  • Tips

  • Verbesserungsmöglichkeiten


Ist daten gr sse

Ist-Daten: Grösse


Ist daten loc metaclass

Ist-Daten: LOC / MetaClass


Ist daten komplexit t

Ist-Daten: Komplexität


Avg loc metaclass

Avg. LOC / MetaClass


Ist daten aufwand

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

IST-Daten: Arbeitsauslastung

Arbeitsauslastung:

durchschnittliche Arbeitszeit 314,73 h

Standardabweichung 113,25 h


Ist daten verteilung

Ist-Daten: Verteilung


Technische probleme

Technische Probleme

Speicherbedarf pro Individuum ca. 1,3 MB


Personelle probleme

Personelle Probleme


Strategien zur bew ltigung von problemen

Strategien zur Bewältigung von Problemen


Strategien zur bew ltigung von problemen1

Strategien zur Bewältigung von Problemen


Tip beschreiben der entwicklungs und der zielorganisationen

Tip: Beschreiben der Entwicklungs- und der Zielorganisationen

Entwicklungsorganisation

  • Kenntnisse

  • Weiterbildungswünsche

  • Erwartungen einzelner an das Projekt / das Team

Zielorganisation

  • Vorkenntnisse


Tip organisation

Tip: Organisation


Tip arbeitsumgebung 1

Tip: Arbeitsumgebung(1)

  • MS Pool

  • Werkzeuge

    • CVS

    • MS Office 2000

    • JBuilder 4.0

    • Together J

  • RUP: Dokumentenvorlagen, Arbeitsanleitungen

  • Dokumentenablagesystem


Tip arbeitsumgebung 2

Tip: Arbeitsumgebung(2)


Tip arbeitsumgebung 3

Tip: Arbeitsumgebung(3)


Tip zeitplanung

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 (1)


Forderungen 2

Forderungen (2)


Offene punkte bei der projektdurchf hrung

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