Fahrplanung · Verständlich erklärt

Zeitabstände im Fahrplan verständlich erklärt

Zwei Buslinien sollen Fahrgäste in beiden Richtungen aufeinander abstimmen. Dann kann sich eine Kette von Mindestzeiten zu einem Ring schließen, in dem jede Abfahrt auf sich selbst wartet. Diese Seite zeigt, wann ein Fahrplan aus Zeitabständen überhaupt aufgeht: erst anschaulich, dann mit Modell, Formeln und Messwerten.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

Ein Wort unbekannt? Das Begriffsverzeichnis erklärt es in wenigen Sätzen.

Zwei Busse, die aufeinander warten

Stellen Sie sich zwei Buslinien vor, die sich an einem Umsteigeplatz treffen. Auf jeder fährt ein Bus von dort aus eine Runde und kommt zurück. Wer mit Bus A zurückkommt, will mit Bus B weiter, und wer mit Bus B zurückkommt, will mit Bus A weiter. Beide Anschlüsse sollen klappen. Der Plan gilt nur einmal: Es gibt keine nächste Runde, auf die man ausweichen könnte.

Dafür gelten Mindestzeiten: Eine Runde dauert mindestens 10 Minuten, zum Umsteigen braucht man mindestens 3. Bus A fährt ab und ist nach 10 Minuten zurück, Bus B darf 3 Minuten später abfahren und ist nach 10 Minuten zurück, und 3 Minuten später soll wieder Bus A abfahren: die Abfahrt, mit der wir begonnen haben. Das sind 10 + 3 + 10 + 3 = 26 Minuten. Diese Abfahrt müsste also 26 Minuten nach sich selbst liegen, und das geht nicht. Es ist wie bei zwei Terminen, die sich gegenseitig verschieben: Jeder wartet auf den anderen.

Warum längeres Warten nicht hilft

Mindestzeiten sagen: frühestens so viel später. Man erfüllt sie, indem man alles nach hinten schiebt, solange sich keine Kette zu einem Ring schließt. Höchstzeiten sagen: nicht später als so viel, etwa höchstens 30 Minuten Wartezeit am Anschluss.

Der Ring im Beispiel besteht nur aus Mindestzeiten. Fachleute sagen, der Plan habe einen Zeitkreis. Streicht man alle Höchstzeiten, bleibt der Ring bestehen, und eine längere erlaubte Wartezeit rettet den Plan nicht. Auch eine kürzere Umsteigezeit löst ihn nicht auf: Selbst ohne Umsteigezeit blieben 10 + 10 = 20 Minuten, die Abfahrt läge immer noch 20 Minuten nach sich selbst.

Wenn der Plan aufgeht: der Spielraum

Schließt sich kein Ring, lässt sich für jedes Ereignis, also jede Abfahrt und Ankunft, sagen, wann es frühestens und wann spätestens stattfinden kann, ohne dass das Ende des Plans später wird. Der Abstand dazwischen heißt Spielraum. Beispiel: Bus B kann frühestens zu einer bestimmten Minute abfahren und muss spätestens 20 Minuten später abfahren, sonst endet der Plan später: Das sind 20 Minuten Spielraum. Ohne Spielraum ist ein Ereignis kritisch: Jede Verspätung dort schiebt das Ende des Plans nach hinten. Höchstzeiten können Ereignisse kritisch machen, die ohne sie noch Luft hätten.

Einmaliger Plan und Takt

Ein Plan, der nur einmal gilt, kennt nur zwei Antworten: möglich oder nicht. Im Takt wiederholt sich der Plan jede Stunde, so wie im Stundentakt ein Bus immer zur selben Minute fährt. Dort darf die Kette 60 statt 26 Minuten dauern, denn die letzte Abfahrt darf die der nächsten Stunde sein. Was einmalig geht, geht deshalb auch im Takt, umgekehrt nicht.

Was die Demo zeigt

Die folgenden Aussagen stammen aus einem Programm zum Ausprobieren, der Demo. Sie rechnet mit erfundenen Netzen: 20 Haltestellen, Buslinien mit je 6 Halten, jede fährt einmal ihre Runde. Für jedes Netz prüft sie, ob ein einmaliger Plan alle Zeitgrenzen einhält. Verlangt werden die am stärksten nachgefragten Umstiege, wobei A nach B und B nach A getrennt zählen; die Nachfrage ist angenommen.

Mit 6 Buslinien und den vier am stärksten nachgefragten Umstiegen, ohne Höchstwartezeit am Anschluss, ließ sich bei 108 von 240 Netzen kein einmaliger Plan finden, und bei allen 108 schon ohne jede Höchstzeit nicht, also wegen eines Zeitkreises. Verlangt man alle Umstiege, ebenfalls ohne Höchstwartezeit, ging bei 6 Buslinien in keinem von 1000 Netzen ein einmaliger Plan auf.

Im Takt sah es besser aus: Bei denselben vier Umstiegen und einer Höchstwartezeit von 10 Minuten über der Umsteigezeit gingen alle 240 Netze auf, 191 davon waren einmalig unmöglich. Der Takt rettet aber nicht alles: Verlangt man alle Umstiege bei 30 Minuten Höchstwartezeit, blieben auch im Takt die meisten Netze unmöglich (Zahlen im zweiten Teil).

Was hilft?

Zuerst die Probe: Streichen Sie in Gedanken alle Höchstzeiten. Geht der Plan dann nicht auf, liegt ein Zeitkreis vor, und keine längere Wartezeit hilft. Dann bleibt, einen Umstieg zu streichen oder den Plan sich wiederholen zu lassen. Verlangt man Umstiege nur von der kleineren zur größeren Nummer der Buslinien, schließt sich ohne Höchstwartezeit kein Ring: Er müsste irgendwo von einer größeren zu einer kleineren Nummer zurückkehren, und das können nur Höchstzeiten. Ohne Höchstwartezeit gingen in allen gemessenen Einstellungen alle Netze auf.

Häufiges Missverständnis

  • „Wenn jeder Anschluss für sich machbar ist, ist es der ganze Plan.“ Nein. Im Beispiel ist jeder Anschluss allein kein Problem; erst zusammen schließen sie den Ring.

Woran Sie das im Alltag erkennen

Anzeichen für einen Zeitkreis, etwa wenn sich zwei Linien am Knoten in beiden Richtungen anbinden sollen:

  • Die Planerin schiebt die Abfahrt der einen Linie nach hinten, damit ein Anschluss klappt, dadurch rutscht die der anderen nach hinten, und am Ende ist wieder die erste dran.
  • Sie lockert eine Wartezeitgrenze nach der anderen, und selbst ohne jede Höchstzeit geht der Plan nicht auf.

Wie ernst sind die Zahlen der Demo zu nehmen?

Die Netze sind erfunden, die verlangten Umstiege sind Annahmen, und Verspätungen kommen nicht vor. Die Zahlen zeigen, wie sich ein einmaliger Plan in diesen Netzen verhält, nicht, wie viele echte Pläne scheitern.

Was Sie mitnehmen

  • Streichen Sie bei jedem Plan zuerst in Gedanken alle Höchstzeiten. Geht er dann nicht auf, hilft keine längere Wartezeit.
  • Verlangen Sie Anschlüsse in beide Richtungen zwischen denselben zwei Strecken, rechnen Sie die ganze Kette durch, nicht jeden Anschluss einzeln.

Der Knopf „Demo ausprobieren“ führt zum Programm, der Knopf daneben zum zweiten Teil für Fachleute. Zum Verstehen brauchen Sie die Demo nicht.

Hinweis: Alle Demos rechnen mit synthetischen oder frei verfügbaren Beispieldaten und laufen auf einem externen Anbieter (Datenschutz). Bitte geben Sie darin keine vertraulichen oder personenbezogenen Daten ein. Die Ergebnisse gelten für die jeweilige Demo-Instanz und lassen sich nicht ungeprüft auf reale Fälle übertragen; für darauf gestützte Entscheidungen übernehme ich keine Gewähr.

Teil 2 · Für Fachleute

Modell und Annahmen

Dieser Teil ist eigenständig lesbar und fasst die formale Beschreibung der Demo zusammen (Expander „📐 Mathematische Formulierung“).

  • Ereignisse und Bögen: Ein Ereignis ist eine Abfahrt oder Ankunft an einem Halt in einer Richtung; eine Linie hat bei 6 Halten 20 Ereignisse. Ein Bogen \((u, v)\) verbindet zwei Ereignisse und trägt ein Fenster \(l_{uv} \le x_v - x_u \le h_{uv}\) für die Zeitpunkte \(x_u, x_v\) in ganzen Minuten; ohne Höchstabstand ist \(h_{uv} = \infty\).
  • Netz und Annahmen: Das Netz ist synthetisch und stammt aus dem Netzgenerator der Taktfahrplan-Demo: 20 Haltestellen, jede Linie hat 6 Halte, ein Umlauf je Linie, ganzzahlige Minuten, keine Verspätungen, kein Fahrzeugumlauf über mehrere Linien. Verlangt werden die \(k\) am stärksten nachgefragten Umstiege, je Richtung gezählt: Der Umstieg von A nach B und der von B nach A sind zwei Anschlüsse. Diese Anschlussliste und die Richtung sind Planungsannahmen: „gerichtet“ lässt nur Umstiege von der kleineren zur größeren Liniennummer zu (die Mindestkanten der Anschlüsse laufen dann nur in dieser Richtung), „alle“ lässt beide Richtungen zu. Mit \(W\) ist die Höchstwartezeit am Anschluss bezeichnet; sie wird über der Mindest-Umsteigezeit gemessen, das Anschlussfenster reicht also bei einer Mindest-Umsteigezeit von 3 min und \(W = 10\) min bis 13 min.
  • Standardwerte der Regler (wo nicht anders genannt): keine Reserve, Haltezeit 1 bis 3 min, Mindest-Umsteigezeit 3 min, Höchstwende unbegrenzt, Zugfolge aus.
  • Rechnung: Bellman-Ford für längste Wege, in zwei Fassungen: Python mit Zeuge (der Kreis als geschlossener Kantenzug) und NumPy, rundenweise, für die Messreihen. Eine unmögliche Bogenmenge liefert ein Löschfilter, der jeden Bogen probeweise entfernt: Sie ist inklusionsminimal, aus ihr darf also kein Bogen mehr fehlen, aber nicht eindeutig, denn welche Menge übrig bleibt, hängt von der Bogenreihenfolge ab. Ob ein Plan einen Zeitkreis hat, zeigt deshalb nicht diese Menge, sondern der Test ohne alle Höchstabstände.
  • Zeitkreis: Ein unmöglicher Plan hat einen Zeitkreis, wenn er schon ohne jeden Höchstabstand unmöglich ist; sonst wird er erst durch Höchstabstände unmöglich.

Die Bogenarten und ihre Fenster:

BogenFenster in MinutenRegler
Fahrzeit[Fahrzeit, Fahrzeit + Reserve]Fahrzeitreserve (0 bis 200 %)
Halt[1, längste Haltezeit]Haltezeit (1, 3, 10 min)
Wende am Endpunkt[4, 4 + Höchstwende]Höchstwende
Anschluss[Mindest-Umsteigezeit, Mindest-Umsteigezeit + Höchstwartezeit]Mindest-Umsteigezeit (0 bis 12 min), Höchstwartezeit W, Zahl k der Anschlüsse, Richtung
Zugfolge[Mindestzugfolge, ∞), Reihenfolge fest nach LiniennummerMindestzugfolge

Die Formeln

Gesucht sind Zeitpunkte \(x_e \ge 0\) in ganzen Minuten für alle Ereignisse \(e\), die alle Fenster einhalten:

\[l_{uv} \le x_v - x_u \le h_{uv} \qquad \text{für alle Bögen } (u, v).\]

Der Bedingungsgraph hat je Bogen zwei Kanten. Die Kante \(u \to v\) übersetzt \(x_v \ge x_u + l_{uv}\), die Kante \(v \to u\) übersetzt \(x_u \ge x_v - h_{uv}\) und gibt es nur bei endlichem \(h_{uv}\):

\[w(u \to v) = l_{uv}, \qquad w(v \to u) = -h_{uv}.\]

Satz (Machbarkeit): Ein Plan existiert genau dann, wenn der Bedingungsgraph keinen Kreis \(C\) positiver Länge enthält, wenn also für jeden Kreis gilt:

\[w(C) = \sum_{\text{Mindestabstände in } C} l \;-\; \sum_{\text{Höchstabstände in } C} h \;\le\; 0 .\]

Mit einer Quelle \(z\) (\(x_z = 0\)), einer Senke \(t\) und \(L(a \to b)\) als Länge des längsten Weges von \(a\) nach \(b\) sind früheste Lage, frühestes Gesamtende \(D\), späteste Lage und Spielraum:

\[x_e^{\min} = L(z \to e), \qquad D = \max_e x_e^{\min}, \qquad x_e^{\max} = D - L(e \to t), \qquad s_e = x_e^{\max} - x_e^{\min}.\]

Ein Ereignis ist kritisch, wenn \(s_e = 0\). Die klassische Rechnung (alle \(h_{uv} = \infty\)) ergibt dieselben Formeln ohne die Rückkanten.

Für den Vergleich mit dem Takt gelten dieselben Bögen modulo Takt \(T\), mit Phasen \(\pi_e \in \{0, \dots, T-1\}\), einer ganzzahligen Zahl voller Takte \(p_{uv}\) und dem Abstand \(x_{uv}\) des Bogens:

\[\pi_v - \pi_u + T\,p_{uv} = x_{uv}, \qquad x_{uv} \in [l_{uv}, h_{uv}].\]

Jede einmalige Lösung \(x\) liefert mit \(\pi_e = x_e \bmod T\) eine periodische.

Herleitung Schritt für Schritt

Die Schritte 1 bis 4 sind Lehrbuchstoff zu Differenzbedingungen und längsten Wegen, die Schritte 5 bis 8 Rechnung dieser Seite (Schritt 7 folgt der Begründung der README); die Demo prüft ihre Ergebnisse gegen Aufzählung aller Belegungen und gegen unabhängige Löser (Befunde, letzte Zeile).

  • Schritt 1, nur wenn: Addiert man \(x_v - x_u \ge w\) über die Kanten eines Kreises, hebt sich die linke Seite auf, denn jede Variable erscheint einmal mit Plus und einmal mit Minus. Es bleibt \(0 \ge w(C)\). Ein Kreis mit \(w(C) > 0\) macht das System unlösbar.
  • Schritt 2, wenn: Gibt es keinen Kreis positiver Länge, sind die längsten Wege von der Quelle \(z\) endlich; die Quelle ist mit Kanten vom Gewicht 0 mit allen Ereignissen verbunden, damit \(x_e \ge 0\) gilt. Für jede Kante \(a \to b\) mit Gewicht \(w\) gilt \(L(z \to b) \ge L(z \to a) + w\), denn der Weg zu \(a\) lässt sich um die Kante verlängern. Also erfüllen die Werte \(x_e = L(z \to e)\) alle Ungleichungen \(x_v - x_u \ge w\), und sie sind ganzzahlig, weil alle Gewichte ganzzahlig sind.
  • Schritt 3, früheste Lage: Jede Lösung mit \(x \ge 0\) erfüllt \(x_e \ge L(z \to e)\), wie man entlang eines Weges von der Quelle her sieht. Die Werte aus Schritt 2 sind also die komponentenweise kleinste Lösung.
  • Schritt 4, späteste Lage und Spielraum: Spiegelbildlich ist \(D - L(e \to t)\) der größte Wert, den \(x_e\) annehmen darf, ohne dass das Gesamtende über \(D\) hinausgeht. Die Senke ist mit jedem Ereignis durch eine Kante vom Gewicht 0 verbunden, also ist \(D = L(z \to t)\). Wegen \(L(z \to e) + L(e \to t) \le L(z \to t)\) ist \(s_e \ge 0\), und \(s_e = 0\) heißt, dass \(e\) auf einem längsten Weg liegt.
  • Schritt 5, der Zeitkreis: Streicht man alle Höchstabstände, bleiben nur die Kanten \(u \to v\) mit Gewicht \(l_{uv}\). Ein Kreis aus ihnen hat die Länge \(\sum l\) und ist positiv, sobald ein Mindestabstand positiv ist (kein Mindestabstand ist negativ). Höchstabstände fügen dem Graphen nur Kanten hinzu und entfernen keinen Kreis; ein Zeitkreis bleibt also bei jeder Wahl der Höchstabstände bestehen, auch ohne sie.
  • Schritt 6, was daraus für die Regler folgt: Regler, die nur Höchstabstände weiten (Fahrzeitreserve, längste Haltezeit), können einen Zeitkreis nicht auflösen. Die Mindest-Umsteigezeit geht als Mindestabstand ein, aber ein Kreis, der Fahrten enthält, bleibt auch bei Mindest-Umsteigezeit 0 positiv. Wenn bei „alle“ ohne Höchstwartezeit jeder unmögliche Plan einen Zeitkreis hat (Befunde), ändern diese Regler den Anteil der möglichen Pläne deshalb nicht.
  • Schritt 7, Richtung „gerichtet“ ohne Höchstwartezeit: Zwischen Linien gibt es nur Anschlussbögen (und Zugfolgebögen); ihre Mindestkanten laufen von der kleineren zur größeren Liniennummer, Rückkanten gibt es nur mit Höchstwartezeit, und innerhalb einer Linie ist das Fenstersystem allein lösbar. Ein Kreis müsste also von einer höheren zu einer niedrigeren Liniennummer zurückkehren, und das können nur Höchstabstände am Anschluss. Daher ist ein Plan in dieser Richtung ohne Höchstwartezeit am Anschluss möglich.
  • Schritt 8, einmalig ⇒ periodisch: Aus einer einmaligen Lösung \(x\) folgt mit \(\pi_e = x_e \bmod T\) und \(p_{uv} = (x_v - x_u - \pi_v + \pi_u)/T\) eine periodische Lösung; \(p_{uv}\) ist ganzzahlig, weil die Differenz ein Vielfaches von \(T\) ist. Die Umkehrung gilt nicht: Im periodischen System muss sich ein Kreis nur modulo \(T\) schließen, seine Abstände summieren sich dann zu einem Vielfachen von \(T\) statt zu einer Zahl über null.

Durchgerechnet an kleinen Beispielen

Ein Zeitkreis. Das ist das Mini-System der Tests der Demo, hier mit der Rechnung dieser Seite fortgesetzt. Ereignisse: 0 Abfahrt und 1 Rückkehr von Linie A, 2 Abfahrt und 3 Rückkehr von Linie B. Mindestabstände: von 0 nach 1 mindestens 10 min (Fahrt), von 1 nach 2 mindestens 3 min (Anschluss A zurück, B hin), von 2 nach 3 mindestens 10 min (Fahrt), von 3 nach 0 mindestens 3 min (Anschluss B zurück, A hin).

Der Kreis \(0 \to 1 \to 2 \to 3 \to 0\) hat die Länge \(10 + 3 + 10 + 3 = 26 > 0\) und enthält keinen Höchstabstand: Der Plan ist unmöglich, und keine Lockerung einer Höchstwartezeit ändert das. Periodisch mit \(T = 60\) ist dasselbe System ohne Höchstabstände lösbar, denn die vier Abstände müssen sich dann zu einem Vielfachen von 60 summieren, hier zu 60, also 34 min mehr als die Mindestsumme 26. Diese 34 min verteilen sich auf die Abstände, etwa als Wartezeit am letzten Anschluss. Gibt es Höchstabstände, muss dieser Überschuss in den Fenstern der vier Bögen Platz finden.

Spielraum und Höchstabstand. Rechnung dieser Seite, keine Messung der Demo. Vier Ereignisse P, Q, R, S mit den Mindestabständen \(x_Q - x_P \ge 2\), \(x_R - x_P \ge 2\), \(x_S - x_Q \ge 3\) und \(x_S - x_R \ge 1\). Der längste Weg führt über Q und hat die Länge \(2 + 3 = 5\), also ist \(D = 5\), und R hat den Spielraum 2. Alle Werte in Minuten:

Ereignisfrüheste Lage (nur Mindestabstände)späteste Lage (nur Mindestabstände)Spielraum (nur Mindestabstände)früheste Lage (mit Höchstabstand)späteste Lage (mit Höchstabstand)Spielraum (mit Höchstabstand)
P000000
Q220220
R242440
S550550

Die rechten Spalten gelten mit dem zusätzlichen Höchstabstand \(x_S - x_R \le 1\), also der Kante \(S \to R\) mit Gewicht \(-1\): Er hebt die früheste Lage von R auf \(x_S - 1 = 4\), und R wird kritisch, obwohl es ohne Höchstabstand Spielraum 2 hatte. Mit \(x_S - x_R \le 2\) wäre der Spielraum von R noch 1. Ein Höchstabstand \(x_S - x_Q \le 2\) dagegen widerspricht dem Mindestabstand 3: Der Kreis \(Q \to S \to Q\) hat die Länge \(3 - 2 = +1\), der Plan ist unmöglich.

Befunde

Alle Zahlen stammen aus der README der Demo. Sie gelten für deren Netzgenerator und die genannten Einstellungen (übrige Regler auf Standard); Netz und Nachfrage sind Annahmen. „Möglich“ heißt: Ein einmaliger Plan existiert. Die Zeilen verwenden verschiedene Stichproben: Die erste rechnet mit 1000 Netzen (vier Blöcke zu je 250), die Zeilen zu Zeitkreis, Zugfolge und Takt mit je 240 Netzen (vier Blöcke zu je 60, die ersten 60 Netze je 250er-Block, also eine andere Auswahl und keine Teilmenge der 1000), die Zeile zum haltbaren Anteil mit 40 beziehungsweise 10 Netzen je Block; 38,3 % unmöglich (1000 Netze) und 108 von 240 unmöglich, der Rest zu 55,0 % möglich bei 240 Netzen, sind daher verschiedene Messungen derselben Einstellung. Mittel ± Standardabweichung sind über vier Blöcke gebildet; ein Netz hat die Nummer Nr = 250 · Block + i und den Zufalls-Seed 3000 + 100 · Nr.

FrageBefund
Wie viele einmalige Pläne gehen auf?6 Linien, 1000 Netze: Mit den 4 wichtigsten gerichteten Anschlüssen und Höchstwartezeit 30 min sind 55,6 % der Netze möglich. Mit den 4 wichtigsten Anschlüssen der Richtung „alle“ und ohne Höchstwartezeit sind es 61,7 % ± 3,2, also sind schon ohne Höchstwartezeit am Anschluss 38,3 % der Pläne unmöglich. Mit allen verlangten Anschlüssen (k = alle, Richtung „alle“) und ohne Höchstwartezeit war ein einmaliger Plan bei 5, 6, 8 und 10 Linien in 0 von je 1000 Netzen möglich, bei 3 Linien in 11 von 1000.
Wer kippt den Plan: Zeitkreis oder Höchstabstand?6 Linien, vier Blöcke zu je 60 Netzen, 240 Netze je Zeile. Richtung „alle“, k = 4, W unbegrenzt: 108 von 240 unmöglich, alle 108 schon ohne Höchstabstand (Zeitkreis), 0 erst durch Höchstabstände. Mit W = 10 min: 191 unmöglich, davon 108 Zeitkreis und 83 erst durch Höchstabstände. Bei k = 8 und W unbegrenzt: 150 von 240 unmöglich, alle 150 Zeitkreis; mit W = 10 min 235, davon 150 und 85.
Gibt es in der Richtung „gerichtet“ Zeitkreise?Nein: bei k = 4 und W = 30 min / 10 min sowie k = 8 und W = 10 min sind 111 / 152 / 238 von 240 Plänen unmöglich, davon 0 durch einen Zeitkreis. Ohne Höchstwartezeit hat die Richtung „gerichtet“ in allen 60 gemessenen Zellen (5 Linienzahlen, 12 Werte von k) den Anteil 1,000; das ist ein Satz (Schritt 7) und kein toter Zweig.
Welche Regler helfen?Bei „alle“, k = 4, W unbegrenzt ändern Fahrzeitreserve (0 bis 200 %), längste Haltezeit (1, 3, 10 min) und Mindest-Umsteigezeit (0 bis 12 min) den Anteil nicht (gleiche Zahl in allen vier Blöcken). Bei „gerichtet“, k = 4, W = 15 min steigt der Anteil mit der Reserve von 42,5 auf 45,4 % und mit der Mindest-Umsteigezeit von 42,3 auf 45,0 %; die Höchstwartezeit wird über der Mindest-Umsteigezeit gemessen, das absolute Fenster verschiebt sich also mit. Wirksam ist die Höchstwende (min über 4 min): unbegrenzt / 60 / 30 / 15 / 5 / 0 bei „alle“, k = 4, W unbegrenzt: 61,7 / 55,4 / 40,6 / 27,8 / 21,4 / 18,9 %.
Wie wirkt die Höchstwartezeit?6 Linien, „alle“, k = 4, W unbegrenzt / 40 / 30 / 20 / 15 / 0 min: 61,7 → 45,7 → 35,9 → 28,2 → 26,3 → 23,8 %. Sie wirkt vor allem zwischen unbegrenzt und 20 min; darunter ist der Anteil fast flach.
Gibt es einen scharfen Übergang in k?Nein. Bei Richtung „alle“ und W = 10 min fällt der Anteil ohne Sprung an einer bestimmten Zahl k, am stärksten von k = 1 auf 2 und danach etwa geometrisch; er erreicht 0,9 / 0,5 / 0,1 bei 3 Linien: k = 1,2 / 2,4 / 4,6; bei 6 Linien: 1,2 / 2,7 / 5,8; bei 10 Linien: 1,2 / 3,0 / 6,3 (linear zwischen den gemessenen k interpoliert). Der Bereich zwischen 0,9 und 0,1 wird mit der Linienzahl breiter (3,4 / 4,6 / 5,1 Anschlüsse); die Lage des Anteils 0,5 (2,4 / 2,7 / 3,0) liegt innerhalb der Streuung der Blöcke. Gemessen nur für diese Einstellung und 3, 6 und 10 Linien; bei unbegrenzter Höchstwartezeit liegt die Lage des Anteils 0,5 bei 5,2 / 6,1 / 5,9 und wandert nicht monoton.
Wie viel Spielraum, was ist kritisch?„Gerichtet“, k = 4, W = 30 min, 6 Linien, 556 mögliche Pläne unter 1000 Netzen: 27,5 % ± 0,7 der Ereignisse kritisch (Spielraum 0), mit nur Mindestabständen 24,9 %. Es sind +4,4 Prozentpunkte der Ereignisse erst durch Höchstabstände kritisch und fehlen in der klassischen Rechnung; umgekehrt sind 1,8 Punkte der klassisch kritischen Ereignisse mit Höchstabständen nicht mehr kritisch (daher 27,5 statt 24,9 + 4,4 %). Bei „alle“, k = 4, W unbegrenzt nur +0,1 Prozentpunkte; bei 10 Linien +2,9 Prozentpunkte („gerichtet“, k = 4, W = 30 min). Spielraum in Minuten, Quantile 0/10/25/50/75/90/100: 0/0/0/13/35/68/182 (6 Linien, „gerichtet“, k = 4, W = 30 min, über alle Ereignisse möglicher Pläne).
Zugfolge: Zahl oder Reihenfolge?5 Anschlusslisten, 6 Linien, vier Blöcke zu je 60 Netzen. Bei fester Reihenfolge (kleinere Liniennummer zuerst, Planungsannahme) bricht der Anteil schon bei einer Mindestzugfolge von 2 min ein: Der kleinste Einbruch von 0 auf 2 min beträgt mindestens 8,7 Prozentpunkte, und ob sie 2, 4 oder 10 min beträgt, ändert den Anteil höchstens 3,4 Prozentpunkte. Bei freier Reihenfolge (Entweder-oder je Abschnittspaar, CP-SAT, im Mittel 16,8 Abschnittspaare je Netz) liegt der Anteil höchstens 0,9 Prozentpunkte vom Anteil ohne Zugfolge. „Alle“, k = 4, W unbegrenzt: 55,0 % ohne Zugfolge, 35,0 % bei fester, 55,0 % bei freier Reihenfolge. Die freie Reihenfolge war in 15 von 15 Zellen mit Zugfolge mindestens so gut wie die feste, in 15 besser (erwartet, denn eine feste Wahl ist eine der freien). Entscheidend ist in diesen Messungen die Reihenfolge (fest gegen frei: 9 bis 26 Punkte je nach Anschlussliste), nicht die Minutenzahl.
Hilft der Takt?T = 60, CP-SAT, ein Faden. Gemessen in 36 Zellen mit je 240 Netzen, also bei 8640 Vergleichen: 2324 einmalig möglich, 0 davon periodisch unmöglich (0 Zeitüberschreitungen); das bestätigt Schritt 8. Umgekehrt rettet der Takt viele Pläne: „alle“, k = 4, W = 10 min einmalig 20,4 % gegen 100,0 % periodisch (191 von 240 Plänen gerettet). Er rettet nicht alles: Mit allen verlangten Anschlüssen (k = alle, Richtung „alle“) ist periodisch bei unbegrenzter Höchstwartezeit 100,0 %, bei 30 min nur 11,2 % möglich (einmalig 0 %).
Wie viel der Nachfrage hält ein einmaliger Plan?Richtung „alle“, die k wichtigsten Anschlüsse, 6 Linien, vier Blöcke zu je 40 Netzen (bei k = alle und endlicher Höchstwartezeit je 10 Netze), Zeitlimit je Netz 10 s. Verglichen werden der größte gefundene Anteil (CP-SAT mit optionalen Bögen) und ein Greedy-Verfahren (Zeuge suchen, billigsten Anschluss im Kreis streichen, wiederholen). Bei k = 16: W unbegrenzt 81,8 % ± 1,1 gegen 80,2 % ± 1,4; W = 30 min 63,5 % ± 1,1 gegen 51,7 % ± 1,1; W = 10 min 58,4 % ± 1,6 gegen 44,8 % ± 1,5. Bei k = alle und W = 30 min: 51,0 % ± 0,9 gegen 30,7 % ± 0,7. Der Abstand exakt minus Greedy beträgt bei k = 16 und W unbegrenzt / 30 / 15 / 10 min (alle bewiesen) 1,6 / 11,8 / 13,6 / 13,6 Prozentpunkte. Bei k = alle und endlicher Höchstwartezeit ändert sich die Zahl der bewiesenen Netze von Lauf zu Lauf (hier 33 bis 35 von 40); dort ist der CP-SAT-Anteil eine untere Schranke, ebenso überall, wo das Zeitlimit nicht reichte (20 von 1560 Netzen in der gespeicherten Messung, ein Neulauf lieferte 16).
Ist die Rechnung korrekt?Kern gegen Handrechnung (Mini-Systeme, darunter der Zeitkreis mit +26). Bellman-Ford gegen die Aufzählung aller Belegungen von 300 Zufallssystemen (Machbarkeit, früheste und späteste Lage, Gesamtende); auf echten Netzen gegen networkx und CP-SAT, die Lagen gegen ein lineares Programm (HiGHS). Jeder Zeuge ist ein geschlossener Kantenzug positiver Länge, aus den Bögen unabhängig nachgerechnet. Die Zeitkreis-Zählung und die gefundene Menge stimmen mit der Aufzählung aller Teilmengen überein (300 Zufallssysteme, beide Bogenreihenfolgen). Großer Lauf, nicht Teil der Testsuite: 3000 Zufallssysteme erzeugt, 2979 verglichen (der Rest passt nicht in die Wertebox 0 bis 8), davon 1310 möglich, 0 Abweichungen; 40 Netze × 15 Einstellungen = 600 Vergleiche (247 möglich, 353 unmöglich, alle Zeugen geprüft), 0 Abweichungen.

Das typische Muster des Zeitkreises ist ein Hin- und ein Rück-Anschluss derselben beiden Linien: Kommt eine Linie auf dem Rückweg am Umsteigeort an und fährt die andere dort auf dem Hinweg ab, und umgekehrt, schließen die beiden Anschlüsse über die Fahrten beider Linien einen Kreis aus lauter Mindestkanten (das Beispiel oben). Auch Kreise aus mehr Anschlüssen kommen vor: Gezählt an dem Kreis, den der Löschfilter in seiner unmöglichen Menge findet (inklusionsminimal, nicht eindeutig; 6 Linien, „alle“, Höchstwartezeit unbegrenzt, 240 Netze je Zeile), haben bei k = 4 102 von 108 Zeitkreisen zwei Anschlüsse und 6 vier, bei k = 8 haben 142 von 150 zwei, 1 drei und 7 vier. Ob ein Plan einen Zeitkreis hat, hängt nicht von der Reihenfolge der Bögen ab; die vom Löschfilter gefundene unmögliche Menge dagegen schon.

Grenzen: was die Messung zeigt und was nicht

Was sie belegt:

  • Die Größenordnungen der Anteile für den Netzgenerator der Demo (synthetisch, 20 Haltestellen, 6 Halte je Linie) bei den genannten Einstellungen.
  • Die Rechnung selbst (Machbarkeit, Lagen, Zeugen), geprüft gegen Aufzählung, networkx, CP-SAT und ein lineares Programm.
  • Die Sätze: Machbarkeit über Kreise positiver Länge, „gerichtet“ ohne Höchstwartezeit am Anschluss möglich, einmalig möglich heißt periodisch möglich.

Was sie nicht belegt:

  • Echte Betriebe: Die Anschlussliste „die k mit der größten Nachfrage“ und die Richtung „gerichtet“ sind Planungsannahmen, kein Befund über echte Netze. Alle Anteile hängen an diesem Generator (ein Umlauf je Linie, ganzzahlige Minuten, keine Verspätungen, kein Fahrzeugumlauf über mehrere Linien).
  • Zugfolge: Sie verwendet eine feste Reihenfolge nach Liniennummer; mit freier Reihenfolge sind die Ergebnisse anders. Die Wahl der Reihenfolge ist ein eigenes Problem (Job-Shop).
  • Negative Befunde: Es gibt keinen scharfen Übergang in k, und die Lage des Anteils 0,5 ist bei wachsender Linienzahl nicht von der Streuung der Blöcke zu trennen. Fahrzeitreserve, Haltezeit und Mindest-Umsteigezeit ändern bei „alle“ ohne Höchstwartezeit nichts, die Minutenzahl der Zugfolge wenig.
  • Der Takt: Er rettet nicht jeden Plan. Die Messung prüft nur, ob ein periodischer Plan existiert, und wählt keinen.
  • Rechenzeit: Die CP-SAT-Rechnungen haben ein Zeitlimit von 10 s und melden „nicht bewiesen“, wenn es nicht reicht; die Rechenzeit hängt vom Rechner ab und steht nirgends als feste Zahl.

Erweiterungen und Verweise

Was die Demo auslässt oder anderen Demos überlässt:

Quellen

Die README der Demo nennt keine Literatur und vermerkt ausdrücklich, dass die Arbeiten zu Distanzgraphen und Temporal Constraint Networks nicht im Volltext gelesen wurden; sie werden deshalb auch hier nicht zitiert. Die Sätze dieser Seite sind Lehrbuchstoff (Differenzbedingungen, längste Wege), nicht an der Quelle geprüft.