Routenplanung

Die Fahrpläne der einzelnen Züge bestehen jeweils aus einer Sequenz von Bahnhöfen, die es in der gegebenen Reihenfolge anzufahren gilt. Für die Umsetzung muß die Bahnhofssequenz jedoch erst in eine entsprechende Blocksequenz umgewandelt werden. Das Aufspüren einer passenden Route können Algorithmen zur Wegfindung in Graphen übernehmen, die für jedes mögliche Paar von Start- und Zielbahnhof einen Pfad durch den Graphen ermitteln. Aus diesen Bausteinen lassen sich dann Blocksequenzen des Fahrplanes zusammensetzen. Für die Suche werden die Parallelgleise der Bahnhöfe zusammengefaßt, die Steuerung muß später dynamisch entscheiden, welches Gleis sie bei der Einfahrt in einen Bahnhof belegen will.


Die verschiedenen Kreise der Bahnanlage

Dabei näherem Hinsehen stellt sich heraus, daß es genau 16 Pfade durch den Graphen gibt, die Bahnhöfe miteinander verbinden. Jeder Pfad ist dabei eindeutig festgelegt.

  • Durchquerung IC, OC, KHP vorwärts, KHP rückwärts
  • Wechsel von IC in OC und anders herum (über Wendeschleifen)
  • Wechsel von KHP (vorwärts) in OC und anders herum
  • Wechsel von KHP (rückwärts) in IC und anders herum
  • Wechsel von KHP (vorwärts) in IC und anders herum (über Wendeschleifen)
  • Wechsel von KHP (rückwärts) in OC und anders herum (über Wendeschleifen)
  • Wenden im KHP von vorwärts nach rückwärts (über OI-Wendeschleife)
  • Wenden im KHP von rückwärts nach vorwärts (über IO-Wendeschleife)

Eine Fahrt vom Outer Circle in den Inner Circle gehört zu den kürzeren Strecken. Sie verläuft wie folgt, dabei sind die Bahnhofsgleise durch Sternchen angedeutet und alle Interblocks weggelassen.

OC_ST_* -> OC_LN_0 -> OI_LN_0 -> OI_LN_1 -> OI_LN_2 -> IC_LN_5 -> IC_ST_*

Die vollständige Liste aller Pfade ist in einer Tabelle enthalten. Mit diesen Voraussetzungen sollte es einfach sein, einen einzelnen Zug auf beliebigen Strecken durch die Anlage fahren zu lassen. Schwieriger wird es erst, wenn weitere Züge ins Spiel kommen.