Planung der Workshop für die Glückswerkstatt

  • Übersicht Planung der Glückswerkstatt Workshops: planungsproblem-mathematische-definition.pdf
  • 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:

  • Es gibt Workshopteilnehmer, die nicht geantwortet haben. Deren Präferenzen sind alle Null und diese Teilnehmer werden in die am wenigsten besuchten Workshop eingeteilt.

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:
      • Teilnehmer mit kleinem Score
      • Teilnehmer in vollen Workshops
    • Interessante Workshops für die Umteilung:
      • hohes Score für umgeteilten Teilnehmer
      • Workshops, die durch die Umteilung nicht voll werden.
  • 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

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.

  • Update der Dateien:
    • In VS-Code, öffnen Sie die Kommandozeile mit Terminal→New Terminal (evtl. ist dieser Menu-Punkt hinter zu finden.
    • Geben Sie den Befehl git pull in der Kommandozeile ein
  • Lesen Sie die Datei csv-uebungen/csv/readme.md (für Preview siehe hier) und bearbeiten Sie die Aufgaben.
  • Optional: Es gibt zu den Array-Aufaben und der Dictionary Aufgabe Lösungen, die sie gerne studieren können.

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 die erzeugte Datei planung/zuteilung.csv und vergleichen Sie mit data/2024.csv.
    • Studieren Sie die Datei data/2024m_w.csv
  • 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.
  • lehrkraefte/blc/informatik/glf25/glueckswerkstatt/start.txt
  • Last modified: 2025/11/17 07:21
  • by Ivo Blöchliger