Abschlusspräsentation
Download
1 / 83

Agenda - PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Agenda' - zocha


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
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?






Agenda1
Agenda

  • Zielsetzung

  • Stundenplanerstellung als Optimierungsproblem

  • Evolutionäre Algorithmen

  • Problemlösung mit evol. Algorithmen

  • Erfahrungsaustausch






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






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



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




Ph notypmutation
Phänotypmutation

Phänotyp-Mutatoren:

  • Verschieben von Stunden

  • Entfernen von Stunden

  • Platzieren von Stunden



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




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



Technische probleme
Technische Probleme

Speicherbedarf pro Individuum ca. 1,3 MB





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 Zielorganisationen


Tip arbeitsumgebung 1
Tip: Arbeitsumgebung(1) Zielorganisationen

  • MS Pool

  • Werkzeuge

    • CVS

    • MS Office 2000

    • JBuilder 4.0

    • Together J

  • RUP: Dokumentenvorlagen, Arbeitsanleitungen

  • Dokumentenablagesystem


Tip arbeitsumgebung 2
Tip: Arbeitsumgebung(2) Zielorganisationen


Tip arbeitsumgebung 3
Tip: Arbeitsumgebung(3) Zielorganisationen


Tip zeitplanung
Tip: Zeitplanung Zielorganisationen

  • 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) Zielorganisationen


Forderungen 2
Forderungen (2) Zielorganisationen


Offene punkte bei der projektdurchf hrung
Offene Punkte bei der Projektdurchführung Zielorganisationen

  • Projektabbruch

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

    • Verantwortung und Macht

    • Fix-Jours

    • Nachweise über Arbeitspakete

  • Bewertung schwierig und nicht transparent


ad