← Alle Beiträge
Technik

Anatomie des Stundenplan-Motors: wie ein Plan wirklich entsteht

Bei Stundenplansoftware kaufen Sie in Wahrheit den Motor. Wir öffnen unseren Schicht für Schicht — von den Schuldaten bis zum beweisbar guten Plan.

Stundenplan-MotorOptimierungStundenplanung

Wer Stundenplansoftware auswählt, wählt in Wahrheit keine Oberfläche. Bildschirme ähneln sich, Knöpfe lernt man an einem Nachmittag. Worüber sich entscheidet, wie viel von Ihrem August Sie zurückbekommen, ist der Motor hinter dem Knopf „Generieren“ — und in fast jedem Produkt ist dieser Motor eine geschlossene Kiste.

Dieser Beitrag öffnet unsere. Der Bildena-Motor besteht aus fünf Schichten. Wir gehen der Reihe nach durch, was jede tut, warum sie dort ist und woran wir merken würden, dass sie still falsch arbeitet.

STUNDENPLAN-MOTOR 12345 SchuldatenEingabeUnterrichtskarten, Verfügbarkeiten, Räume, Klassenregeln.Nichts wird geraten: es gilt, was eingegeben wurde.ModellbauerTimetableProblemBuilderJede Unterrichtsstunde wird zur Variable, jede Regel zur Bedingung.Die Übersetzung ist verlustfrei; keine Regel fällt still weg.VorprüfungTimetableCapacityScanOffene Klassenstunden werden mit freien Lehrerstunden gepaart.Unmöglich? Stopp in Millisekunden, mit benanntem Engpass.KernSolver-KernHarte Bedingungen gelten absolut; der Rest konkurriert gewichtet.Steigt die untere Schranke, ist „nichts Besseres“ bewiesen.Plan und PunktzahlPerfectionScoreVon 100: 80 für die Platzierung, 20 für messbare Qualität.Nicht die Strafsumme des Solvers — schulübergreifend vergleichbar.
Die fünf Schichten. Eingabe und Ausgabe liegen außerhalb; alles im gestrichelten Rahmen läuft, wenn Sie auf Generieren drücken.

1. Schuldaten werden verlustfrei in ein Modell übersetzt

Der Motor arbeitet nicht mit Unterrichtskarten, sondern mit Entscheidungsvariablen. Jede Karte wird gemäß ihrer Wochenstunden in Blöcke zerlegt, und jeder Block wählt einen Tag, aufeinanderfolgende Stunden und, wo es zählt, einen Raum. Die ganze Woche einer Schule ist eine widerspruchsfreie Kombination dieser Entscheidungen.

Für diese Übersetzung gilt genau eine Regel, und sie ist streng: sie muss verlustfrei sein. Der Motor sagt nie „diese Bedingung habe ich nicht verstanden, ich überspringe sie“. Gekoppelter Unterricht, geteilte Klassen, Wahlpflichtbänder, A/B-Wochen, Schichtbetrieb — alles lebt im selben Variablenraum und wird in derselben Mathematik ausgedrückt. Jedes Feld, nach dem die Oberfläche fragt, hat eine Entsprechung im Modell; ein Feld ohne Entsprechung wird gar nicht erst abgefragt.

Das ist eine größere Zusage, als es klingt. Eine Bedingung in die Oberfläche zu setzen, ohne sie ans Modell zu binden, ist eine stille Lüge: Sie setzen den Haken, der Plan entsteht, die Regel wurde nie angewendet — und im September merkt es eine Lehrkraft.

2. Unmöglichkeit wird erkannt, bevor gerechnet wird

Der teure Weg, herauszufinden, dass ein Plan nicht baubar ist, heißt: probieren. Klassische Prüfungen betrachten jede Dimension für sich — hat die Klasse genug offene Stunden, hat die Lehrkraft genug freie? Beides kann bequem bestehen, und der Plan bleibt trotzdem unmöglich. Denn eine Stunde kann nur dort liegen, wo die Klasse offen und die Lehrkraft frei ist; sind beide Mengen weit, ihre Schnittmenge aber eng, sehen Zähltests nichts.

Bildena baut stattdessen für jede Klasse und jede Lehrkraft eine zweiteilige Zuordnung zwischen Unterrichtsstunden und zulässigen Zeitfenstern. Eine Klasse hat zur selben Zeit einen Unterricht, eine Lehrkraft steht an einem Ort; die Stunden müssen also eindeutig auf Fenster abgebildet werden. Gibt es keine vollständige Zuordnung, ist der Plan sicher unmöglich — keine Schätzung, sondern eine Folge der Hall-Bedingung.

Wir haben gemessen, was dieser Unterschied wert ist. An einer realen Schule liefen die Prüfungen sauber durch, und der Lauf meldete nach 186 Sekunden „nicht lösbar“, ohne den Grund nennen zu können. Dieselbe Lage wird heute in Millisekunden erkannt, und der Engpass steht ausgeschrieben da: „diese fünf Fächer brauchen zusammen 22 Stunden, gemeinsam nutzbar sind nur 19.“

Eine Regel dieser Schicht steht nicht zur Verhandlung: sie liefert keine falschen Alarme. Die Kandidatenmengen werden bewusst weit gehalten. Sagt der Scan „baubar“, heißt das nur, dass dieser Test bestanden wurde; sagt er „unmöglich“, dann ist es unmöglich. Eine Planerin in eine Sackgasse zu schicken, die es gar nicht gibt, kostet mehr als zu spät zu kommen.

3. Harte Bedingungen und Wünsche teilen sich nie eine Schublade

Im Kern arbeitet ein Constraint-Solver auf Basis von Googles Optimierungstechnologie, von uns für die Schulplanung angepasst. Genau in dieser Anpassung liegt die Arbeit: über das Ergebnis entscheidet nicht der Kern selbst, sondern wie genau ihm eine Schule beschrieben wurde.

Im Zentrum dieser Beschreibung steht eine einzige Unterscheidung. Manches darf nicht verletzt werden, anderes ist bloß erwünscht, und beides teilt sich nie eine Schublade.

Hart — nie verletztWeich — konkurriert über Gewichte
Kollisionen bei Lehrkraft, Klasse, Gruppe, RaumVerteilung eines Fachs über die Woche
Schülerkollisionen (bei schülerbezogener Planung)Lücken bei Lehrkräften
Sperrzeiten und geschlossene TageTägliche Lastverteilung
Trennung von A- und B-WocheWeiche Reihenfolgewünsche
Tages- und Wochenlimits der LehrkraftNutzung markierter Stunden
Harte Reihenfolgeregeln, Vorbereitungsgrenzen
Der praktische Unterschied: Sie können per Schieberegler keine Kollision erzeugen. In heuristischen Motoren ist „ich habe ein Gewicht zu weit hochgezogen und bekam einen Konflikt“ ein reales Ergebnis, weil alles im selben Punktetopf konkurriert. Hier ist eine harte Bedingung keine Punktzahl, sondern eine Wand: dieser Bereich des Lösungsraums existiert nicht.

4. „Nichts Besseres“ ist eine Schranke, kein Gefühl

Während der Suche führt der Solver zwei Zahlen mit: die Kosten des besten Plans, den er hat, und die theoretische untere Schranke, unter die keine Anordnung kommen kann. Im Verlauf sinkt die eine, die andere steigt. Treffen sie sich, ist die Arbeit fertig — und das Ergebnis ist nicht nur gut, seine Optimalität ist bewiesen.

Treffen sie sich nicht, erfahren Sie den verbleibenden Abstand. „Dieser Plan ist höchstens so weit vom bestmöglichen entfernt“ ist der Satz, mit dem Sie entscheiden, ob Sie den Plan annehmen oder den Motor weiterlaufen lassen. Eine Heuristik kann diesen Satz nicht bilden: ohne Darstellung des Ideals lässt sich der Abstand dazu nicht messen. Sie weiß am Ende nur, dass sie aufgehört hat.

Diesen Unterschied haben wir in einem eigenen Beitrag behandelt: was es heißt, dass ein Stundenplan beweisbar optimal ist.

5. Das Ergebnis hat eine Kennzahl — aber nicht die des Solvers

Jeder Lauf bekommt eine Perfektionspunktzahl von 100. Achtzig Punkte entfallen auf die Platzierung: volle Punktzahl, wenn jede Unterrichtsstunde einen Platz gefunden hat. Die übrigen zwanzig sind messbare Qualität — Klassenlücken, Lehrerlücken, bedingte Situationen und verletzte Planungsregeln.

Diese Wahl ist bewusst: die Strafsumme des Solvers wird nicht als Punktzahl verwendet. Sie ist eine einzige Summe, zwischen Schulen nicht vergleichbar, und ihre Bedeutung verschiebt sich, sobald Sie ein Gewicht ändern — die 1.240 von letzter Woche und die 980 von dieser messen nicht dasselbe. Die Punktzahl wird deshalb am Plan selbst neu gemessen, und dieselbe Formel läuft auf dem Server wie im Browser: Ziehen Sie eine Stunde auf dem Bildschirm, ändert sich der Wert, bevor Sie gespeichert haben.

Wer prüft den Motor?

Der gefährlichste Fehler eines Planungsmotors ist kein Absturz, sondern still falsch zu rechnen. Der Plan entsteht, der Bildschirm ist grün, und eine Bedingung wurde nie angewendet. Diese Fehlerklasse findet man nicht durch Hinsehen — man findet sie mit Tests. Allein auf der Motorseite laufen über 2.800 automatisierte Tests, und drei Familien davon zielen genau auf dieses Risiko:

  • Bindungstests. Für jede harte Bedingung bauen wir eine Eingabe, die sie absichtlich verletzt, und verlangen vom Motor die Antwort nicht lösbar. Zu bestätigen, dass ein Plan „richtig aussieht“, genügt nicht: nur so zeigt sich, ob eine Regel aus dem Code wirklich im Modell angekommen ist.
  • Regression an echten Schulen. Läufe auf importierten Daten realer Schulen mit festem Startwert. Verschlechtert eine Verbesserung am Motor den Plan einer anderen Schule, sieht man es vor dem Release.
  • Äquivalenz der Formulierung. Dasselbe Problem wird auf zwei Arten beschrieben und die Ergebnisse werden auf Gleichwertigkeit geprüft — der Beweis, dass ein geändertes Modell seine Bedeutung behalten hat.
Warum wir darauf bestehen. Nimmt eine Schule einen Plan an, hängen daran gut tausend Unterrichtsstunden und die Wochen von Hunderten Menschen. Ab da kostet die Entdeckung, dass „die Bedingung gar nicht angewendet wurde“, keine Softwarekorrektur — sondern einen zweiten August.

Aufsicht läuft über denselben Motor, aber in einem eigenen Modell

Auch die Lehreraufsicht läuft über denselben Kern und bildet pausenbasierte wie tagesbasierte Ordnungen ab. Entscheidend ist die architektonische Grenze: der Aufsichtsplaner liest die Stundenplatzierungen und schreibt sie nie. Ein neu erzeugter Aufsichtsplan verändert Ihren Stundenplan nicht. Diese Regel wird im Code-Review durchgesetzt, nicht dem guten Willen überlassen.

Was wir nicht versprechen

Die Grenzen vorab zu nennen ist billiger, als sie später zu erklären.

  • Optimalität gilt für das Ziel, das Sie definiert haben. Gewichten Sie Lehrerlücken mit null, erzeugt der Motor bereitwillig einen Plan voller Lücken und beweist dessen Optimalität. Die Mathematik ist Ihren Prioritäten treu — auch Ihren Fehlern.
  • Er erfindet keine Ressourcen. Kein Solver schafft einen Raum, den Sie nicht haben, oder eine Stunde, die es nicht gibt. Er kann nur früh und präzise sagen, dass sie fehlen.
  • Der Beweis gelingt nicht immer im Zeitlimit. Bei sehr großen oder sehr engen Schulen kann der Motor mit einem kleinen Restabstand stoppen. Der Unterschied: er nennt diesen Abstand, statt eine halbe Suche als fertige Antwort auszugeben.

Die Zusage, die wir geben

Am Ende eines Laufs wissen Sie, welcher von drei Fällen eingetreten ist: dieser Plan ist optimal; dieser Plan ist zulässig und höchstens so weit vom Optimum entfernt; oder diese Anforderungen sind nicht alle gleichzeitig erfüllbar, und das ist die Menge, die kollidiert.

„Mehr habe ich nicht geschafft“ bekommen Sie nie. Das ist der Unterschied.


Bildena Scheduler ist ein webbasiertes System für die Schulstundenplanung auf Basis von Googles Optimierungstechnologie und eigenen Planungsalgorithmen, entwickelt und gehostet in Deutschland. In der kostenlosen Testphase können Sie einen vollständigen Lauf auf Ihren eigenen Daten starten — importiert aus aSc TimeTables, Untis oder Excel — und das Ergebnis mit Ihrem heutigen Plan vergleichen.

Lassen Sie Ihren eigenen Stundenplan rechnen

Aus aSc, Untis oder Excel importieren und kostenlos eine vollständige Generierung starten — erster Stundenplan in 3 Minuten.

Kostenlos starten

Weiterlesen