This is an old revision of the document!
Die Plan-Klasse
Ein Klasse in Python kann als Sammlung von Variablen und Funktionen (die mit diesen Variablen arbeiten) betrachtet werden.
Die Klasse ist in der Datei plan.py definiert, die im Verzeichnis planung liegt.
Initialisierung
from plan import Plan # Daten einlesen (Nesa export und Workshop Definitionen) plan = Plan("../data/2024.csv", "../data/2024m_w.csv")
Verfügbare Variablen
Siehe Kommentar in plan.py ab ca. Zeile 4.
Wichtige Code-Schnipsel
1. Priorität eines Teilnehmers s
workshop_nummer = plan.o[s][0]
Workshop w zur Zeit t schon voll?
if plan.b[w][t] >= plan.m[w]: # Tu wat else: # Tu wat anderes
Beste Prio für Teilnehmer s zur Zeit t einplanen
for i in range(4):
w = plan.o[s][i]
if plan.b[w][t] < plan.m[w]: # Hat noch Platz?
plan.schedule(s,w,t) # Einplanen
Mögliche Variante für obigen Code: Mögliche Zeitfenster innerhalb der for i-Schleife durchgehen (und so beide Zeitfenster ausnutzen).
Umteilen
Teilnehmer suchen, die zur Zeit t den Workshop der Priorität p1 besucht, in in den Workshop der Priorität p2 umgeteilt werden könnte:
for s in range(plan.S): if not plan.laueri[s]: # Nur nicht Laueris (sonst keine Prioritäten-Liste o) if plan.x[s][t]==plan.o[s][p1]: # s zur Zeit t in Workshop der Prio p1? w2 = plan.o[s][p2] # Workshop der Prio p2 if plan.b[w2][t]<plan.m[w2]: # Hat noch Platz