Fakult£¤t f£¼r Wirtschaftswissenschaft Lehrstuhl f£¼r ......

download Fakult£¤t f£¼r Wirtschaftswissenschaft Lehrstuhl f£¼r ... lange/papers/ ¢  nach Bildung

of 94

  • date post

    09-Sep-2019
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of Fakult£¤t f£¼r Wirtschaftswissenschaft Lehrstuhl f£¼r ......

  • Masterarbeit eingereicht an der

    Fakultät für Wirtschaftswissenschaft Lehrstuhl für Unternehmensführung und Organisation Prof. Dr. Thomas Spengler

    Titel der Arbeit

    Die Anwendung eines genetischen Algorithmus

    auf das Timetabling Problem einer

    Grundschule

    Betreuer: Prof. Dr. Thomas Spengler

    13.08.2012

    Julia Lange

    Liebermannstraÿe 16 BWL/Business Economics (M.Sc.)

    39108 Magdeburg 4. Fachsemester

    julialange5388@aol.com Matrikelnr.: 181527

    Telefon: 0163-3063345

  • Inhaltsverzeichnis

    Abkürzungsverzeichnis III

    Abbildungsverzeichnis IV

    Tabellenverzeichnis V

    Symbolverzeichnis VI

    1 Einführung 1

    1.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 Struktur des Timetabling Problems einer Grundschule 3

    2.1 Eingangsdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.2 Curriculum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.3 Ziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.4 Beschränkungen . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3 Modellierung und Lösung des Timetabling Problems mittels

    linearer Optimierung 14

    3.1 Linearer Modellierungsansatz für das Timetabling Problem der

    Grundschule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    3.2 Generierung zulässiger Lösungen und Komplexität des linearen

    Optimierungsproblems . . . . . . . . . . . . . . . . . . . . . . 18

    3.2.1 Bedingung für die Generierung zulässiger Pläne . . . . 18

    3.2.2 Komplexität des Timetabling Problems . . . . . . . . . 20

    3.3 LP-Relaxation zur Lösung des Timetabling Problems . . . . . 21

    3.4 Gliederung des linearen Optimierungsmodells in zwei Planungs-

    ebenen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    4 Lösung des Timetabling Problems mittels genetischem Al-

    gorithmus 23

    4.1 Vorbemerkungen zur Auswahl des Lösungsverfahrens . . . . . 23

    4.2 Aufbau und Vorgehen eines genetischen Algorithmus . . . . . 24

    4.3 Repräsentation und Codierung eines Stundenplanes . . . . . . 25

    4.4 Generierung der Anfangspopulation . . . . . . . . . . . . . . . 30

    4.5 Bewertung eines Planes . . . . . . . . . . . . . . . . . . . . . . 33

    4.5.1 Unterscheidung von Fitness, Zielfunktion und Fitness-

    funktion . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    I

  • Julia Lange - Das Timetabling Problem einer Grundschule

    4.5.2 Zielfunktion . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.5.3 Fitnessfunktion zur Berechnung der Fitness . . . . . . 38

    4.6 Genetische Operatoren . . . . . . . . . . . . . . . . . . . . . . 42

    4.6.1 Selektion . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    4.6.2 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . 45

    4.6.3 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . 48

    4.7 Zusammensetzung der Folgegeneration . . . . . . . . . . . . . 49

    4.8 Abbruchkriterien . . . . . . . . . . . . . . . . . . . . . . . . . 51

    4.9 Erweiterungen des genetischen Basis-Algorithmus . . . . . . . 51

    5 Anwendung des genetischen Algorithmus 55

    6 Fazit 58

    Anhang X

    Literatur XXIX

    II

  • Julia Lange - Das Timetabling Problem einer Grundschule

    Abkürzungsverzeichnis

    Anw. Anwendung

    Anz. Anzahl

    BB Building Block

    EA Evolutionärer Algorithmus

    ESA Ergänzende schulische Angebote

    GA Genetischer Algorithmus

    Ind. Individuum

    lin. linear

    PMX Partially Mapped Crossover

    Wkt. Wahrscheinlichkeit

    III

  • Abbildungsverzeichnis

    Abb.1: Pseudo-Code eines Basis-GA . . . . . . . . . . . . . . . 26

    Abb.2: Varianten des Crossover . . . . . . . . . . . . . . . . . . 46

    Abb.3: Gra�sche Übersicht der Ergebnisse der Anwendung des

    genetischen Algorithmus . . . . . . . . . . . . . . . . . . 56

    IV

  • Tabellenverzeichnis

    Tab.1: Schülerverteilung der Grundschule . . . . . . . . . . . . 4

    Tab.2: Zu unterrichtende Fächer der Grundschule . . . . . . . . 4

    Tab.3: Lehrerkollegium der Grundschule . . . . . . . . . . . . . 5

    Tab.4: Raumausstattung der Grundschule . . . . . . . . . . . . 6

    Tab.5: Schulstundeneinteilung der Grundschule . . . . . . . . . 6

    Tab.6: Curriculum der Grundschule . . . . . . . . . . . . . . . . 8

    Tab.7: Populationgröÿen verschiedener praktischer Anwendungen 32

    Tab.8: Übersicht der Komponenten und Parameter der Anwen-

    dung des genetischen Algorithmus . . . . . . . . . . . . . 56

    V

  • Julia Lange - Das Timetabling Problem einer Grundschule

    Symbolverzeichnis

    Kapitel 3

    Indizes und Indexmengen

    F̄ := {f |f = 1, ..., F}; f ist ein Fach F̂ := Teilmenge von F̄

    F̄k := {f | Fach f muss in Klasse k unterrichtet werden} F̄l := {f | Fach f kann von Lehrer l unterrichtet} F̄r := {f | Fach f kann in Raum r unterrichtet werden} F̄lt := {f | Fach f kann von Lehrer l in Schulstunde t unterrichtet werden} F̄lt+1 := {f | Fach f kann von Lehrer l in Schulstunde t+ 1 unterrichtet werden} F ∗l := {f | Fach f von Lehrer l unterrichtet} F ∗kl := {f | Fach f wird in Klasse k von Lehrer l unterrichtet} K̄ := {k|k = 1, ..., K}; k ist eine Klasse K̄f := {k| Klasse k muss im Fach f unterrichtet werden} K̄t := {k| Klasse k kann in Schulstunde t unterrichtet werden} K̄lt := {k| Klasse k kann von Lehrer l in Schulstunde t unterrichtet werden} K∗lf := {k| Klasse k wird im Fach f von Lehrer l unterrichtet} L̄ := {l|l = 1, ..., L}; l ist ein Lehrer L̄f := {l| Lehrer l kann Fach f unterrichten} L̄t := {l| Lehrer l kann in Schulstunde t unterrichten} L̄ft := {l| Lehrer l kann Fach f in Schulstunde t unterrichten} L̄kt := {l| Lehrer l kann Klasse k in Schulstunde t unterrichten} L̄kt+1 := {l| Lehrer l kann Klasse k in Schulstunde t+ 1 unterrichten} L∗f := {l| Lehrer l unterrichtet Fach f} L∗kf := {l| Lehrer l unterrichtet Klasse k im Fach f} R̄ := {r|r = 1, ..., R}; r ist ein Raum R̄f := {r| Raum r kann für Fach f genutzt werden} R̄t := {r| Raum r kann in Schulstunde t genutzt werden} R̄ft := {r| Raum r kann für Fach f in Schulstunde t genutzt werden} R̄ft+1 := {r| Raum r kann für Fach f in Schulstunde t+ 1 genutzt werden} T̄ := {t|t = 1, ..., T}; t ist eine Schulstunde; T = 30 in der Planungsperiode T̄f := {t| in Periode t kann Fach f unterrichtet werden} T̄k := {t| in Periode t kann Klasse k unterrichtet werden} T̄l := {t| in Periode t kann Lehrer l unterrichten} T̄kl := {t| in Periode t kann Lehrer l Klasse k unterrichten}

    VI

  • Julia Lange - Das Timetabling Problem einer Grundschule

    Daten

    bkf := ist der Bedarf Schulstunden, die Klasse k im Fach f im

    Planungsperiode unterrichtet werden muss

    bkl := ist der Bedarf an Schulstunden, die Klasse k von Lehrer l im

    Planungsperiode unterrichtet werden muss

    ēl := ist die Anzahl Schulstunden, die Lehrer l in der Planungsperiode

    für ergänzende schulische Angebote oder andere Sondertätigkeiten

    zur Verfügung steht

    s̄l := ist die Anzahl Schulstunden, die Lehrer l im Planungsperiode zu

    leisten hat

    Entscheidungsvariable

    xtf :=

    { 1 wenn Fach f in Schulstunde t unterrichtet wird

    0 sonst

    xklf :=

    { 1 wenn Klasse k von Lehrer l im Fach f unterrichtet wird

    0 sonst

    xtklrf :=

    { 1 wenn Klasse k von Lehrer l in Raum r im Fach f in Schul- stunde t unterrichtet wird

    0 sonst

    xt+1klrf :=

    { 1 wenn Klasse k von Lehrer l in Raum r im Fach f in Schul- stunde t+ 1 unterrichtet wird

    0 sonst

    xtkl :=

    { 1 wenn Klasse k von Lehrer l in Schulstunde t unterrichtet wird

    0 sonst

    VII

  • Julia Lange - Das Timetabling Problem einer Grundschule

    Kapitel 4

    Indizes und Indexmengen

    H̄ := {h = 1, . . . , H}; h ist eine harte Beschränkung Hh I := {i = 1, . . . , n}; i ist ein Individuum J := {j = 1, . . . ,m}; j ist eine Population POPj := {i| Individuum i gehört zur Population j} W̄ := {w = 1, . . . ,W}; w ist eine weiche Beschränkung Ww

    Daten

    dtklrf := ist die �Erwünschtheit� einer Zuordnung von Klasse k und Lehrer

    l mit Fach f zu Raum r in Schulstunde t

    fiti := ist die Fitness des Individuums i

    f̄ it := durchschnittliche Fitness der Population

    fitmax := maximaler Fitnesswert in der Population

    fitmin := minimaler Fitnesswert in der Population

    g := ist maximale Anzahl zu erzeugender Generationen

    n := ist die Anzahl Individuen in einer Population (Populationsgröÿe)

    pc := ist die Wahrscheinlichkeit für die Anwendung eines Crossover

    pm := ist die Wahrscheinlichkeit für die Anwendung einer Mutation

    vlt :=

    { 1 wenn Lehrer l in Schulstunde t verfügbar ist

    0 sonst

    zi := ist der Zielfunktionswert einer Lösung (eines Individuums) i

    zHi := ist der Teilzielfunktionswert einer Lösung (eines Individuums) i

    bezogen auf harte Beschränkungen

    zWi := ist der Teilzielfunktionswert einer Lösung (eines Individuums) i

    bezogen auf weiche Beschränkungen

    α := ist das Gewicht der Abweichung von harten Beschränkungen

    βw := ist das Ge