Planung der Workshop für die Glückswerkstatt
Infos zur Planung
-
Infos zum Zeitplan: am 17.11. sollten wir die «echten» Daten zur Verfügung haben. Definitiver Plan soll Ende November stehen.
Ausgabeformat: Wieder eine CSV-Tabelle. Die kann nämlich in Nesa dann eingelesen werden (oder eine entsprechende Excel-Tabelle). Genaues Format:
Technisches
Hall of fame
Beste Zielfunktion für den Plan von 2025:
Zielfunktion Q = 3231
Workshops:
✅ Kein Workshop ist überbelegt.
Teilnehmer:
✅ Alle Teilnehmer sind eingeplant.
Scores:
8 Punkte: 1 Teilnehmer mit nur 1. Wahl 0.4% (mit Laueris 0.3%)
9 Punkte: 19 Teilnehmer mit 1. & 4. Wahl 6.7% (mit Laueris 6.5%)
10 Punkte: 52 Teilnehmer mit 1. & 3. Wahl 18.4% (mit Laueris 17.8%)
12 Punkte: 211 Teilnehmer mit 1. & 2. Wahl 74.6% (mit Laueris 72.3%)
17.11.2025
Update vom Projekt: git pull im Terminal (von VS-Code)
Oops: Was, wenn ein Workshop ersatzlos wegfällt? (z.Z. ein wahrscheinliches Szenario).
Pseudo-Code für eine mögliche Implementation von Tabu-Search
Lösungsraum: Alle Teilnehmer (ausser Laueris) sind in zwei unterschiedliche Workshops eingeteilt, keine Workshops überbucht.
Tabu-Liste: Teilnehmer werden eine gewisse Anzahl Schritte (Iterationen) nicht mehr umgeteilt.
Interessante Teilnehmer für Moves:
Interessante Workshops für die Umteilung:
Live Implementation?
10.11.2025
Ziele:
Vervollständigung / Verbesserung des Greedy-Algorithmus
Wie mit Teilnehmern umgehen, die keinem gewählten Workshop zugeteilt werden können.
Reihenfolge im «zweiten Durchgang» anders wählen.
Wiederholung vom Algorithmus und sich beste Lösung merken.
Diskutieren von «Moves», um Pläne zu verändern.
Lösungsraum festlegen:
z.B. Workshops sind nie überbucht, Teilnehmer sind z.T. nicht eingeteilt.
z.B. Alle Teilnehmer sind immer eingeteilt, Workshop können überbucht sein.
oder anything goes.
Tabu-Liste(n) festlegen:
z.B. Teilnehmer dürfen eine gewisse Zeit nicht mehr in «Moves» involviert sein.
z.B. Workshops dürfen eine gewisse Zeit nicht mehr in «Moves» involviert sein.
z.B. Kombination Teilnehmer/Workshop darf eine gewisse Zeit nicht mehr vorkommen.
2.11.2025
Ziel: Erstellen einer zulässigen (realisierbaren) Planung.
Update aller Dateien (neue Funktionen in der Plan-Klasse) mit git pull
Diskussion von Strategien, einen zulässigen Plan zu erstellen.
Programmierung dieser Strategien in Python wie folgt:
Kopieren der Datei dummy.py in eine Datei mit Ihrem Namen, z.B. hansli.py.
Stellen Sie Fragen zur Programierung, ich werde nötige Code-Schnippsel in der Beschreibung der
Plan-Klasse ablegen.
Ihre Datei anpassen, erweitern, testen.
27.10.2025
Lektion 1: CSV
Ziel: Sie haben eine Ahnung davon, was csv-Dateien sind, wie die mit einem Tabellenkalkulationsprogramm erstellt und gelesen werden können, und wie diese in Python gelesen und geschrieben werden können.
Lektion 2: Planung
Ziel: Sie haben eine Übersicht über die Planungsdaten und wie diese mit der zur Verfügung gestellten Python-Klasse Plan gelesen und geschrieben werden können.
Studieren Sie die Datei planung/dummy.py und führen Sie diese im entsprechenden Verzeichnis aus.
Studieren Sie den grossen Kommentar in der Klasse Plan, in der Datei planung/plan.py. (Ca. Zeilen 4-22).
Ziel: Sie entwickeln Strategien auf Papier, wie ein Plan erstellt werden könnte. Die Strategien werden am Schluss der Stunde eingezogen, damit entsprechende Funktionalitäten der Klasse Plan hinzugefügt werden können.
Auf Papier, alleine oder in Zweiergruppen, entwerfen Sie selbst eine möglichst präzise Anleitung, wie ein Plan erstellt werden könnte.
Optional: Überlegen Sie sich zusätzliche Kriterien, um die Qualität einer fertigen Zuteilung zu messen.
Optional: Überlegen Sie sich Methoden, wie eine fertige Zuteilung umgestaltet werden kann, so dass die Qualität besser werden könnte. Die Idee ist, damit viele Zuteilungen zu generieren und sich die jeweils beste zu merken.