Zug mit Halten · Verständlich erklärt

Zug mit Halten verständlich erklärt

In einem Zug mit mehreren Halten belegt eine Buchung Plätze auf mehreren Teilstrecken zugleich. Was passiert, wenn man Anfragen einfach in der Reihenfolge ihres Eingangs annimmt, und was ändert ein Schattenpreis je Teilstrecke? Diese Seite erklärt erst für Einsteiger ohne Formeln, dann für Fachleute mit Modell, Formeln und Messwerten.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

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

Das Bild: ein Zug mit mehreren Halten

Ein Zug fährt von Halt A über B, C und D nach E. Zwischen zwei Halten liegt eine Teilstrecke, es sind also vier. Auf jeder Teilstrecke gibt es acht Plätze. Wer von A nach C fährt, belegt einen Platz auf den ersten beiden Teilstrecken; wer von A nach E fährt, belegt einen Platz auf allen vier. Das Beispiel stammt aus der Demo, einem Programm zum Ausprobieren im Browser. Die Anfragen und Preise sind ausgedacht, es sind keine echten Buchungen.

Jede Anfrage muss sofort angenommen oder abgelehnt werden. Gefragt ist: Welche Anfragen soll der Zug annehmen, damit der Ertrag, also die Einnahmen, so groß wie möglich wird? Ein Hotel mit Aufenthalten über mehrere Nächte ist dasselbe Problem: Eine Nacht entspricht einer Teilstrecke, ein Zimmer einem Platz.

Das Problem: Eine lange Fahrt verbaut mehrere kurze

Vergibt der Zug einen Platz für die Fahrt von A nach E, ist dieser Platz auf allen vier Teilstrecken weg. Hätte der Zug stattdessen vier kurze Fahrten bedient, wäre je Teilstrecke ein anderer Gast gefahren. Lange Fahrten sind oft je Teilstrecke billiger, etwa mit einem Sparpreis, und sie werden früh gebucht. Dann kommen sie zuerst, und die teureren kurzen Fahrten finden später keinen Platz mehr.

Die einfachste Regel ist die Annahme nach Eingang: Jede Anfrage wird angenommen, solange noch ein Platz frei ist. In der Demo ist die Lage so eingestellt: Nachfrage, die die Plätze weit übersteigt, lange Fahrten billiger je Teilstrecke und früh gebucht. Dann erreicht die Annahme nach Eingang gut 86 von 100 des Ertrags, den eine bestmögliche Regel (sie wird gleich erklärt) erreicht. Sie nimmt 54 von 100 der Anfragen nach der kürzesten Fahrt an, die beste Regel 85 von 100; bei den langen Fahrten ist es umgekehrt: 49 von 100 gegen 1 von 100.

Die beste Regel und ihr Preis

Die Demo rechnet die beste Regel exakt aus: Sie geht alle möglichen Belegungen durch und rechnet rückwärts, was ein freier Platz in der Zukunft wert ist. Sie nimmt eine Anfrage nur an, wenn ihr Preis mindestens den Wert der verbrauchten Plätze deckt. Das geht nur bei kleinen Zügen, denn die Zahl der Belegungen wächst sehr schnell mit den Teilstrecken und Plätzen. Sie dient als Maßstab: Der Ertrag jeder anderen Regel wird als Anteil ihres Ertrags angegeben.

Praktisch nutzbar ist eine Näherung, der Bid-Price, auf Deutsch ein Mindestpreis je Teilstrecke. Aus der erwarteten Nachfrage rechnet man für jede Teilstrecke einen Schattenpreis aus: was ihr Platz mindestens wert ist, weil sonst eine bessere Anfrage leer ausginge. Eine Fahrt wird angenommen, wenn ihr Preis die Schattenpreise aller ihrer Teilstrecken zusammen deckt. Man kann die Schattenpreise einmal zu Beginn rechnen oder in jedem Zeitabschnitt der Buchungszeit mit den freien Plätzen und der noch erwarteten Nachfrage neu.

Was die Regeln bewirken

In der oben beschriebenen Lage erreicht der einmal gerechnete Bid-Price knapp 98 von 100, die Neuberechnung gut 99 von 100. Der Verlust, den die langen Fahrten den kurzen zufügen, ist damit fast ausgeglichen. Die Demo hat dazu viele Einstellungen für Plätze, Nachfrage, Preisgefälle und Buchungszeit: Die Annahme nach Eingang erreicht darin zwischen 74 und knapp 100 von 100, der einmal gerechnete Bid-Price zwischen knapp 96 und knapp 100.

Der Schattenpreis hilft aber nicht immer. Kostet jede Teilstrecke gleich viel, egal wie lang die Fahrt ist, nimmt der einmal gerechnete Bid-Price in allen solchen Einstellungen der Demo dieselben Anfragen an wie die Annahme nach Eingang. Dort hilft erst eine Regel, die auch auf den aktuellen Stand der Belegung schaut. Und bei mittlerer Nachfrage und wenigen Plätzen ist der einmal gerechnete Bid-Price in der Demo sogar schlechter als die Annahme nach Eingang: Er lehnt dann zu viele Anfragen ab, die noch gepasst hätten.

Wie genau muss die Prognose sein?

Der Bid-Price und die beste Regel brauchen eine Vorhersage, wie viele Anfragen für welche Fahrt kommen. Die Demo prüft, was passiert, wenn diese Vorhersage für die langen Fahrten falsch ist: um bis zu 50 von 100 zu hoch oder zu niedrig. Die beste Regel, mit der falschen Vorhersage gerechnet, verliert dabei in der Demo weniger als 1 von 100 ihres Ertrags. Das gilt nur für diese Art von Fehler in vier ausgedachten Fällen mit unterschiedlich viel Nachfrage und verschiedenen Preisen; andere Fehler hat die Demo nicht gemessen.

Häufige Missverständnisse

  • „Wer zuerst kommt, mahlt zuerst, das ist fair und deshalb gut.“ Für den Ertrag nicht: In der Demo verliert die Annahme nach Eingang bei viel Nachfrage und billigen langen Fahrten bis zu 26 von 100 des besten Ertrags.
  • „Ein Schattenpreis löst das immer.“ Nein: Bei gleichem Preis je Teilstrecke ändert er in der Demo nichts, und bei mittlerer Nachfrage kann er schaden.
  • „Die Prognose muss genau stimmen.“ In den vier Lagen der Demo kostet ein Fehler von 50 von 100 bei den langen Fahrten weniger als 1 von 100 des Ertrags; ob das für echte Züge gilt, ist nicht gemessen.

Was Sie mitnehmen

  • Fragen Sie, ob lange Fahrten je Teilstrecke billiger sind und früh gebucht werden. Dann lohnt es sich, nicht jede Anfrage anzunehmen.
  • Prüfen Sie eine Mindestpreis-Regel an Ihrer Nachfrage, bevor Sie sich auf sie verlassen: Bei gleichem Preis je Teilstrecke und bei mittlerer Nachfrage kann sie wirkungslos oder schädlich sein.
  • Im Betrieb erkennen Sie das Problem daran, dass lange Fahrten ausgebucht sind, während auf einzelnen Teilstrecken später teure Anfragen abgelehnt werden müssen.

Wie ernst ist das Modell zu nehmen?

Alles ist ausgedacht: Nachfrage, Preise und Buchungszeit. Die Demo kennt keine Stornierungen, keine Preisklassen und keine Sitzplatzwahl, und sie rechnet nur eine Linie ohne Verzweigungen. Die Zahlen gelten für dieses Modell, nicht für echte Züge oder Hotels.

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. Er fasst das Modell der Demo zusammen, eines Programms zum Ausprobieren im Browser (Knopf unten). Nachfrage und Preise sind gesetzte Zufallsmodelle; die Zahlen gelten für die genannten Einstellungen, feste Zufalls-Seeds und diese Annahmen.

  • Netz: eine Linie mit \(L\) Teilstrecken (Zug 2 bis 6, Hotel: Nächte), auf jeder \(K\) Plätze (2 bis 16, je nach \(L\) begrenzt, damit die exakte Rechnung live bleibt). Ein Produkt \(p = (i, j)\) mit \(0 \le i < j \le L\) belegt je einen Platz auf den Teilstrecken \(i+1\) bis \(j\) (\(a_{\ell p} = 1\) für diese Teilstrecken \(\ell\), sonst 0) und kostet \(f_p = 10 \cdot s_p^{\alpha}\) mit \(s_p = j - i\); \(\alpha = 1\) heißt gleicher Preis je Teilstrecke, kleinere \(\alpha\) heißen: lange Fahrten sind je Teilstrecke billiger.
  • Nachfrage: In jeder von \(T\) Perioden kommt höchstens eine Anfrage, Produkt \(p\) mit fester Wahrscheinlichkeit \(\lambda_{pt}\); \(T = \lceil \sum_p D_p / 0{,}5 \rceil\) mit der erwarteten Gesamtnachfrage \(D_p\) je Produkt, und die Summe der Ankunftswahrscheinlichkeiten je Periode ist höchstens 0,98. Die Nachfrage je Produkt der Länge \(s\) ist proportional zu \(e^{-\gamma (s-1)}\) (\(\gamma = 0{,}5\) im Zug, \(0{,}8\) im Hotel). Die Last \(\rho\) ist die mittlere erwartete Nachfrage je Teilstrecke (Mittel über die Teilstrecken) geteilt durch \(K\); die Buchungszeit legt fest, ob alle Längen gleichmäßig über die Perioden gebucht werden (0) oder lange Fahrten früh und kurze spät (1; Zwischenwert 0,5). Der zeitliche Verlauf eines Produkts ist \(1 + e\,\sigma_p\,(1 - 2\tau)\) mit \(\tau = (t - \tfrac12)/T\), \(\sigma_p = (s_p - \bar s)/(s_{\max} - \bar s)\) (\(\bar s\): Mittel der Längen aller Produkte) und der Buchungszeit \(e\), nach unten bei 0,05 gekappt und je Produkt auf Mittel 1 normiert.
  • Regeln: Annahme nach Eingang (jede Anfrage, die passt); Bid-Price einmal gerechnet (annehmen, wenn der Preis mindestens die Summe der Schattenpreise der belegten Teilstrecken deckt; Schattenpreise = Duale der Kapazitätsbedingungen des Optimierungsproblems unten, einmal zu Beginn; bei entartetem Problem sind die Duale nicht eindeutig, die Demo nimmt die, die der Löser HiGHS liefert, und die Aussagen über Bid-Price gelten für diese Wahl); Bid-Price je Periode neu (dasselbe mit den freien Plätzen und der Restnachfrage); exakte Rechnung (Rückwärtsrechnung über alle \((K+1)^L\) Belegungen). „Passt nicht“ heißt immer „abgelehnt“.
  • Kennzahl: Ertrag in % der exakten Rechnung = mittlerer Ertrag der Regel geteilt durch den mittleren Ertrag der exakten Rechnung auf denselben Anfragefolgen mal 100 (gepaarte Vergleiche); der Standardfehler gehört zur gepaarten Differenz. Zusätzlich steht der exakte Erwartungswert von Annahme nach Eingang, einmal gerechnetem Bid-Price und exakter Rechnung mit Prognose ohne Simulation zur Verfügung; für die Neuberechnung gibt es nur die Simulation.
  • Fester Schutz: eine lange Fahrt wird nur angenommen, wenn danach auf jeder ihrer Teilstrecken noch \(k\) Plätze frei bleiben; alles andere nach Eingang. Prognose-Szenarien (4 Teilstrecken, 8 Plätze): A Last 2, α 0,3, früh; B Last 1,2, α 0,6, gleichmäßig; C Last 3, α 0,6, früh; D Last 1,2, α 1, gleichmäßig; die fünf Verzerrungsstufen sind −50, −25, 0, +25 und +50 %. Das Hotel-Raster hat 9 Zellen (5 Nächte, 8 Zimmer, Last 1,2 / 2 / 3, α 1 / 0,6 / 0,3, lange Aufenthalte früh). Prognose: Die Regeln rechnen mit einer Nachfrage, in der die Nachfrage nach langen Fahrten (mehr als die halbe Linie) mit \(1 + \varepsilon\) multipliziert ist (−50 bis +50 %); gespielt werden die wahren Folgen. Die Referenz kennt die wahre Nachfrage.
  • Berechnung: Alle Zufallsfolgen kommen aus einem eigenen SplitMix64 mit festem Zufalls-Seed. Live: 200 Anfragefolgen; Messreihen: 1.000 Folgen je Zelle im Raster und im Hotel, 500 Folgen je Zeile in der Prognose- und der Netzgrößen-Messreihe (mit Neuberechnung), im Schutz-Versuch k auf 500 Trainingsfolgen gewählt und auf 1.000 frischen Folgen gemessen. Jede Zelle hat einen eigenen Zufalls-Seed.

Die Formeln

Zustand \(x_t \in \{0, \dots, K\}^L\) (freie Plätze je Teilstrecke), Entscheidung \(u_t \in \{0, 1\}\) in Periode \(t\) bei Anfrage \(p_t\); \(u_t = 1\) ist nur zulässig, wenn \(x_t \ge a_{p_t}\), und der Zustand folgt \(x_{t+1} = x_t - u_t\, a_{p_t}\), \(x_1 = (K, \dots, K)\). Gesucht ist die Regel mit dem größten erwarteten Ertrag \(\mathbb{E}\bigl[\sum_t f_{p_t} u_t\bigr]\). Die Wertfunktion \(V_{T+1} \equiv 0\) erfüllt für \(t = T, \dots, 1\) und jeden Zustand \(x\):

\[V_t(x) = V_{t+1}(x) + \sum_p \lambda_{pt}\, \max\bigl\{0,\; f_p + V_{t+1}(x - a_p) - V_{t+1}(x)\bigr\}\;\;\text{(Summand nur für } x \ge a_p\text{)}\]

Die Regel nimmt \(p\) in \(x\) an, wenn \(x \ge a_p\) und \(f_p + V_{t+1}(x - a_p) \ge V_{t+1}(x)\) gilt; \(V_1(K, \dots, K)\) ist der größte erwartete Ertrag. Für den Bid-Price ist \(D_p = \sum_t \lambda_{pt}\) die erwartete Gesamtnachfrage, und das Optimierungsproblem lautet:

\[\max \sum_p f_p\, y_p \quad\text{unter}\quad \sum_p a_{\ell p}\, y_p \le K \;(\ell = 1, \dots, L),\;\; 0 \le y_p \le D_p\]

Die Dualvariablen \(\pi_\ell \ge 0\) der Kapazitätsbedingungen sind die Schattenpreise; die Regel nimmt \(p\) an, wenn es passt und \(f_p \ge \sum_\ell a_{\ell p}\, \pi_\ell\) gilt. Bei der Neuberechnung in Periode \(t\) steht \(x_{t\ell}\) statt \(K\) und \(\sum_{\tau \ge t} \lambda_{p\tau}\) statt \(D_p\) (die laufende Periode zählt mit).

Durchgerechnet: eine kurze Fahrt, die eine sichere lange Fahrt verbaut

Rechnung dieser Seite, in der Demo als Test geführt. Zwei Teilstrecken mit je einem Platz, Preise frei gewählt (nicht nach der Preisformel): 10 (nur Teilstrecke 1), 15 (beide Teilstrecken) und 10 (nur Teilstrecke 2). In Periode 1 kommt die Fahrt über Teilstrecke 1 mit Wahrscheinlichkeit 0,5; in Periode 2 kommt die lange Fahrt mit Sicherheit.

  • Annahme nach Eingang: Kommt die kurze Fahrt (Wahrscheinlichkeit 0,5), wird sie angenommen (10), und die lange passt nicht mehr: Ertrag 10. Kommt sie nicht, wird die lange angenommen (15). Erwarteter Ertrag \(0{,}5 \cdot 10 + 0{,}5 \cdot 15 = 12{,}5\).
  • Exakte Rechnung: Der Wert des freien Platzes vor Periode 2 ist 15, die kurze Fahrt bringt \(10 + 0 < 15\) und wird abgelehnt. Erwarteter Ertrag 15.

Befunde: Raster, Bid-Price und Annahme nach Eingang

Alle Zahlen stammen aus vorgerechneten Messreihen. „Raster“ heißt: Zug mit 4 Teilstrecken, 72 Zellen aus 4, 8 und 16 Plätzen je Teilstrecke, Last 0,8 / 1,2 / 2 / 3, \(\alpha\) 1 / 0,6 / 0,3, Buchungszeit gleichmäßig und früh, je 1.000 Folgen. Alle Prozentzahlen sind Ertrag in % der exakten Rechnung mit wahrer Nachfrage; Nachfrage und Preise sind gesetzt.

FrageBefund
Was kostet die Annahme nach Eingang?Im Raster erreicht sie 74,2 bis 99,9 %; bei Last 0,8 mindestens 98,7 %; in den 24 Zellen mit Last ab 2 und α höchstens 0,6 zwischen 74,2 und 96,7 %. Der Standardfehler der Lücke ist in jeder Zelle höchstens 0,34 Prozentpunkte.
Voreinstellung (4 Teilstrecken, 8 Plätze, Last 2, α 0,3, früh, Zufalls-Seed 35)Exakter Erwartungswert: Annahme nach Eingang 86,3 %, Bid-Price einmal gerechnet 97,9 % (der exakte Ertrag der exakten Rechnung ist 257,7). Simulation mit 200 Folgen: 86,6 / 97,9 / 99,1 % (Annahme nach Eingang / Bid-Price einmal / je Periode neu; Standardfehler 0,5 / 0,2 / 0,2 Prozentpunkte). Von den angefragten Fahrten der Länge 1 nimmt die Annahme nach Eingang (Simulation mit 200 Folgen; lange Fahrten sind hier die mit 3 und 4 Teilstrecken) 54 % an, von den langen 49 %; die exakte Rechnung 85 % und 1 %.
Hilft der einmal gerechnete Bid-Price bei gleichem Preis je Teilstrecke (α = 1)?Nein: In allen 24 Zellen mit α = 1 nimmt er in jeder der 1.000 Folgen genau dieselben Anfragen an wie die Annahme nach Eingang; deren Lücke zur exakten Rechnung bleibt (95,7 bis 99,9 %). Dasselbe gilt in 12 weiteren Zellen (Last 0,8, α 0,6 und 0,3): zusammen in 36 von 72 Zellen gleiche Entscheidungen. Die Neuberechnung je Periode ist im Raster nicht gemessen; im Prognose-Szenario D (α = 1, Last 1,2, 8 Plätze, je Verzerrungsstufe 500 Folgen) erreicht sie 98,1 bis 99,0 % gegen 96,6 bis 96,8 % für die Annahme nach Eingang.
Wann ist der einmal gerechnete Bid-Price schlechter als die Annahme nach Eingang?In 7 von 72 Zellen (Unterschied mehr als zwei Standardfehler der gepaarten Differenz unter null; bei 72 Zellen sind rund 3 Treffer allein durch Zufall zu erwarten, der exakte Erwartungswert unten ist frei von Simulationsrauschen), alle bei Last 1,2 und α höchstens 0,6: bei 4 Plätzen je Teilstrecke −1,0 bis −2,0, bei 8 Plätzen −0,6 bis −0,8 Prozentpunkte; keine Zelle mit 16 Plätzen. In 28 Zellen ist er um mehr als zwei Standardfehler besser (bis +25,0 Prozentpunkte). Nach dem exakten Erwartungswert beider Regeln (ohne Simulation) ist er in 8 Zellen schlechter, die achte (8 Plätze, Last 1,2, α 0,3, früh) mit −0,2 Prozentpunkten; auch diese 8 liegen alle bei Last 1,2, nie bei 16 Plätzen.
Wie weit kommt der einmal gerechnete Bid-Price?Im Raster 95,6 bis 99,9 %; in den 24 Zellen mit Last ab 2 und α höchstens 0,6 zwischen 95,6 und 99,2 %.

Befunde: Neuberechnung, Prognose, Netzgröße, Schutz, Hotel

FrageBefund
Schließt die Neuberechnung die Lücke?In der Prognose-Messreihe (Netz mit 4 Teilstrecken und 8 Plätzen, 4 Szenarien × 5 Verzerrungen, je 500 Folgen) erreicht der Bid-Price je Periode neu 98,1 bis 99,9 % (einmal gerechnet: 96,2 bis 98,6 %); in der Netzgrößen-Messreihe 98,7 bis 99,6 %.
Wie genau muss die Prognose sein?Die exakte Rechnung mit verzerrter Prognose (Nachfrage nach langen Fahrten um −50 bis +50 % falsch) verliert nach dem exakten Erwartungswert in allen 20 Zeilen höchstens 0,42 % (des Ertrags der exakten Rechnung); in den Szenarien A und C (Überlast, lange Fahrten billig) weniger als 0,05 %. Gemessen nur für diese Verzerrung in diesen vier Szenarien.
Wächst die Lücke mit der Größe des Netzes?In dieser Messreihe (2 bis 6 Teilstrecken, 6 Plätze, Last 2, α 0,3, früh, je 500 Folgen; nur diese eine Kapazität) bei der Annahme nach Eingang nicht: 85,6 bis 88,0 % bei jeder Größe. Der einmal gerechnete Bid-Price steigt nicht gleichmäßig (99,9 / 94,0 / 97,7 / 98,1 / 96,2 %), liegt aber ab 3 Teilstrecken mit 94,0 bis 98,1 % unter dem Wert bei 2 Teilstrecken (99,9 %).
Reicht ein fester Schutz für lange Fahrten?Nein: Mit dem auf Trainingsfolgen aus k = 0 bis 8 gewählten k (k = 8 heißt: keine lange Fahrt annehmen) erreicht er in Szenario A 96,3 % (k = 8; Annahme nach Eingang 86,2 %), in C 94,0 % (k = 8; 86,1 %), der einmal gerechnete Bid-Price 98,2 und 97,2 %. In B und D ist k = 0 am besten: kein Schutz hilft.
Hotel?Mit 5 Nächten, 8 Zimmern, früh gebuchten langen Aufenthalten: bei α = 1 entscheidet der Bid-Price in allen drei Zellen wie die Annahme nach Eingang; bei Last 3 und α 0,3 erreicht die Annahme nach Eingang 77,5 %, der Bid-Price 99,7 %.
Stimmt die Simulation?In 3 von 72 Rasterzellen weicht der simulierte Ertrag der exakten Rechnung um mehr als zwei Standardfehler vom exakten Erwartungswert ab; dort sind es höchstens 0,07 %, weil der Standardfehler fast null ist. Die größte Abweichung über alle Zellen ist 0,81 % und liegt innerhalb von zwei Standardfehlern. Alle Zellen nutzen verschiedene Zufalls-Seeds.

Was die Messung zeigt und was nicht

Belegt:

  • Die exakte Rechnung ist gegen eine Baumrekursion in Brüchen und gegen die Aufzählung aller zustandsabhängigen Regeln an drei Mini-Instanzen (zwei Teilstrecken, ein Platz, drei Perioden) geprüft, der exakte Erwartungswert der Regeln gegen eine zweite Rekursion, die Simulation gegen diesen exakten Wert, die Schattenpreise über die starke Dualität (zweites Optimierungsproblem) und die Annahme nach Eingang gegen eine zweite Umsetzung. Die zweiten Umsetzungen stammen vom selben Autor: sie bestätigen die Umsetzung, nicht das Modell.
  • Die Tests der Demo rechnen jede Zahl der Befundtabelle (außer den Zahlen der Vormessung und der Rechenzeit) aus den Messreihen nach. Ein unabhängiger Prüfer fand keinen Rechenfehler, aber mehrere zu starke Formulierungen; sie sind behoben, darunter die Suche beim festen Schutz, die vorher bei k = 7 endete.

Belegt nicht:

  • Nachfrage, Preise und Buchungszeit sind gesetzte Zufallsmodelle, nicht an Buchungsdaten kalibriert. Die Prozentzahlen sind Ergebnisse dieses Modells, keine Prognose für Bahnen oder Hotels.
  • Ein Preis je Produkt, keine Preisklassen, keine Stornierungen und No-Shows, keine Überbuchung, kein Umbuchen, keine Sitzplatzzuweisung (nur die Kapazität je Teilstrecke wird geprüft). Eine Linie ohne Verzweigungen.
  • Aussagen über den Bid-Price gelten für die einfachste Umsetzung (Schattenpreise aus dem Optimierungsproblem), nicht für jede Variante. Prognosefehler sind nur für die Nachfrage nach langen Fahrten, um höchstens 50 %, in vier Szenarien gemessen; Fehler bei den Preisen, den kurzen Fahrten oder im zeitlichen Verlauf nicht. Die Neuberechnung hat keinen exakten Erwartungswert, ihre Zahlen sind Simulationen.
  • Die exakte Rechnung rechnet nur bei kleinen Netzen (live höchstens 120.000 Zustände); die Rechenzeit (rund 0,3 Sekunden bei 117.649 Zuständen, rund 7 Sekunden und 455 MB bei 531.441) ist keine Messung der Tests und hängt vom Rechner ab.

Quellen

  • Talluri, K.; van Ryzin, G. (1998): An Analysis of Bid-Price Controls for Network Revenue Management, Management Science 44(11), 1577–1593 (nur Zusammenfassung gesehen: Bid-Price-Steuerung ist im Allgemeinen nicht optimal und bei großen Kapazitäten und Absatzmengen asymptotisch optimal).
  • Quelltext, Messreihen und Tests der Demo: github.com/sebastian-hanisch/teilstrecken-buchung-demo.

Die Literaturangabe beruht auf der Zusammenfassung; diese Seite stützt keine Aussage auf einen vollständig gelesenen Text. Das Optimierungsproblem und die Rückwärtsrechnung sind Standardverfahren der Ertragssteuerung.