Bahnterminal · Verständlich erklärt

Der Bahn-Ladeplan verständlich erklärt

Ein Güterzug soll möglichst voll fahren, doch jeder Wagen darf nur zu einem einzigen Ziel gehören. Wer die Container einfach der Reihe nach einlädt, lässt Plätze leer. Die Seite zeigt, wie viele, was eine klügere Regel rettet und welchen Rest auch der beste Plan nicht füllt.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

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

Ein Zug, ein Ziel je Wagen

Am Containerterminal steht ein Güterzug zur Beladung bereit. Er hat 16 Wagen, jeder mit drei Plätzen nebeneinander, zusammen also 48 Plätze. Ein Container ist eine genormte große Stahlkiste für Fracht. Ein kurzer Container belegt einen Platz, ein langer belegt zwei Plätze nebeneinander. Jeder Wagen darf nur bis zu einer Gewichtsgrenze beladen werden.

Im Beispiel warten mehr Container, als in den Zug passen. Der Plan muss also auswählen. Was nicht mitfährt, wartet auf den nächsten Zug. Gesucht ist ein Plan, der möglichst viele Plätze füllt.

Dazu kommt eine Regel. Jeder Container hat ein Ziel, ein anderes Terminal. Unterwegs werden ganze Wagen abgekoppelt. Darum fährt jeder Wagen zu genau einem Ziel. Das ist wie bei Reisebussen zu verschiedenen Ausflugszielen: Ein halb leerer Bus nach A nimmt keine Fahrgäste nach B mit. Wir nennen das die Ein-Ziel-Regel (Fachwort: Zielreinheit).

Die Alltagsregel: der Reihe nach

Die einfachste Regel lädt die Container so ein, wie sie ankommen. Jeder Container kommt in den ersten Wagen mit demselben Ziel, in dem noch Platz und Gewicht frei sind. Gibt es keinen, bekommt er einen neuen Wagen. Sind alle Wagen vergeben, bleibt der Container stehen. Die Regel setzt jeden Container sofort fest und ändert ihre Entscheidung später nicht mehr.

So bleiben Plätze leer, aus zwei Gründen. Erstens braucht jedes Ziel eigene Wagen. Hat ein Ziel nur wenige Container, bleibt sein letzter Wagen halb leer, und kein anderes Ziel darf die Plätze füllen. Zweitens passen in einen Wagen mit drei Plätzen keine zwei langen Container, denn das wären vier Plätze. Ein langer Container braucht einen kurzen Partner mit demselben Ziel, sonst bleibt ein Platz frei.

Die kluge Regel: erst sortieren

Die kluge Regel geht anders vor. Sie sortiert die Container zuerst nach Ziel. Dann packt sie für jedes Ziel eigene Wagen so voll wie möglich, die langen Container zuerst, bei gleicher Länge die schwereren. Erst danach wählt sie aus: Es fahren die vollsten Wagen mit. Das hilft, weil mehr Container warten, als Plätze da sind. Die schlecht gefüllten Wagen bleiben stehen, die gut gefüllten fahren los.

Wie viel das bringt, zeigt ein Rechenversuch. Dafür dient ein vereinfachtes Rechenbild (Fachwort: Modell) mit erfundenen Containern. Der Computer erzeugt 20 zufällige Tage. Ein Tag ist eine Liste wartender Container mit Länge, Gewicht und Ziel. Der Zug hat 16 Wagen, jeder darf 60 Tonnen tragen. Ein Fünftel mehr Container warten, als Plätze da sind, und die Hälfte von ihnen ist lang. Die Aussagen in diesem Teil beschreiben dieses Rechenbild, nicht die Wirklichkeit.

Im Mittel über die 20 Tage füllen die beiden Regeln von den 48 Plätzen:

  • Bei vier Zielen: Alltagsregel gut 45, kluge Regel gut 47.
  • Bei acht Zielen: Alltagsregel knapp 43, kluge Regel gut 45.
  • Bei zehn Zielen: Alltagsregel gut 42, kluge Regel gut 45.

Je mehr Ziele, desto mehr Plätze lässt die Alltagsregel leer. Mehr Ziele bedeuten mehr halb leere Wagen. Die Alltagsregel nimmt sie mit, die kluge Regel lässt die leersten stehen.

Wie nah ist die kluge Regel am Bestmöglichen?

Zum Vergleich rechnet ein Computer für jeden Tag einen Plan aus, der möglichst viele Plätze füllt. Er prüft die Möglichkeiten so geschickt, dass er am Ende beweisen kann, dass es nichts Besseres gibt (Fachwort: exakter Löser). Das gelingt nicht immer, denn seine Rechenzeit ist begrenzt. Dann kennt er nur den besten Plan, den er gefunden hat.

In vier von fünf durchgerechneten Fällen lud die kluge Regel an allen 20 Tagen so viel wie dieser Plan. Die vier Fälle waren: weniger Container als Plätze bei vier Zielen und ein Fünftel mehr Container als Plätze bei vier, acht oder zehn Zielen. Der fünfte Fall, mit enger Gewichtsgrenze, folgt im nächsten Abschnitt.

Bei vielen Zielen heißt das allerdings nur: Der Computer fand nichts Besseres. Bei zehn Zielen konnte er den Beweis nur an etwa einem Viertel der Tage führen.

Wenn das Gewicht zählt

Die kluge Regel hat eine Schwäche. Sie packt nach Größe und beachtet das Gewicht nur nebenbei. Ist die Gewichtsgrenze eng, geht es nicht mehr nur um Platz. Dann kommt es darauf an, welche schweren und leichten Container zusammen in einen Wagen passen. Im Rechenversuch mit nur 40 Tonnen je Wagen und wenig langen Containern lud der Computer an vier von zehn Tagen mehr als die kluge Regel. Im Mittel waren es gut einen halben Platz mehr je Tag.

Ein Bild dazu: Beim Kofferpacken fürs Flugzeug reicht es nicht, nach Größe zu sortieren, sobald die Waage zählt.

Was die Ein-Ziel-Regel kostet

Wie viele Plätze gehen allein dadurch verloren, dass jeder Wagen nur zu einem Ziel fährt? Zum Vergleich dient ein gedachter Zug, in dem Wagen gemischt sein dürfen. Der Unterschied zwischen dem besten Plan mit Ein-Ziel-Regel und dem besten Plan ohne sie ist der Preis der Ein-Ziel-Regel.

Bei einem oder zwei Zielen ist der Preis im Rechenversuch null. Ab drei Zielen steigt er. Bei acht Zielen beträgt er höchstens gut zwei Plätze, bei zehn höchstens gut zweieinhalb. „Höchstens“ heißt: Bei vielen Zielen kann der Computer oft nicht beweisen, dass sein Plan der beste ist. Der wahre Preis kann dann kleiner sein. Eine Deutung dazu: Jedes Ziel hat einen letzten, angebrochenen Wagen. Bei vielen Zielen sind es viele solche Wagen, und gemischte Wagen könnten sie füllen.

Häufige Missverständnisse

  • „Bei so vielen wartenden Containern wird der Zug voll.“ Wegen der Ein-Ziel-Regel nicht. Bei zehn Zielen blieben auch beim besten Plan, den der Computer fand, im Mittel mehr als zwei von 48 Plätzen leer.
  • „Mit einer klügeren Regel fährt mehr Fracht mit.“ Nicht, wenn weniger Container warten, als Plätze da sind. Bei vier Zielen luden dann alle Regeln im Mittel gleich viel, weil fast alles Platz findet.

Woran Sie das im Alltag erkennen

  • Sie packen Umzugskartons, und jeder Karton darf nur für einen Raum der neuen Wohnung sein. Bei vielen Räumen bleiben viele Kartons halb leer, weil nichts gemischt werden darf.
  • Sie räumen ein Regal ein, in der Reihenfolge, wie die Sachen aus der Tüte kommen. Das lässt mehr Lücken, als wenn Sie erst sortieren und dann die Fächer füllen.

Wie ernst ist das Rechenbild zu nehmen?

Zug, Container und Tage sind erfunden. Es gibt keinen Zeitplan, alle Container sind schon da, und das Gewicht im Wagen zählt nur als Summe. Die Zahlen zeigen Größenordnungen, keine Messungen an echten Zügen.

Was Sie mitnehmen

  • Fragen Sie bei jeder Packaufgabe zuerst, was nicht gemischt werden darf. Jede solche Trennung kostet Platz.
  • Vergleichen Sie eine Regel mit der Grenze des Möglichen. Erst dann wissen Sie, ob sich mehr Aufwand lohnt.
  • Fällt eine bewährte Regel plötzlich zurück, suchen Sie die Grenze, die neu bindet. Hier war es das Gewicht.

Zu dieser Seite gehört ein Programm zum Ausprobieren im Browser, die Demo. Sie erreichen es über den ersten Knopf unten. Zum Verstehen brauchen Sie es nicht. In der Demo heißt die kluge Regel Wagenblöcke und die Alltagsregel Reihenfolge. Der zweite Knopf führt zum zweiten Teil für Fachleute.

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 beschreibt ein Rechenmodell der Beladung eines Containerzuges auf erfundenen Zufallsinstanzen: eine Abfahrt, alle Container sind vor der Beladung da, entschieden wird über Plätze, Gewicht je Wagen und Zielterminal. Gemessen wird, wie viele Plätze die Verfahren belegen.

  • Zug: \(W\) Wagen mit je drei Plätzen (ein 60-Fuß-Wagen fasst 3 TEU; 1 TEU ist ein Platz zu 20 Fuß). Voreinstellung der Demo: 16 Wagen, also 48 Plätze.
  • Container: 20 Fuß (Platzbedarf \(s_i = 1\)) oder 40 Fuß (\(s_i = 2\), zwei benachbarte Plätze). Das Gewicht \(g_i\) ist ganzzahlig und gleichverteilt: 6 bis 24 t bei 20 Fuß, 8 bis 30 t bei 40 Fuß. Das Ziel \(d(i) \in \{1, \dots, D\}\) ist gleichverteilt und unabhängig von den übrigen Merkmalen.
  • Bedingungen: Jeder Container fährt höchstens einmal mit. Die Plätze eines Wagens überlappen nicht. Wagenlast: Die Summe der Gewichte je Wagen beträgt höchstens \(PL\) (40 bis 70 t). Zielreinheit: Jeder Wagen fährt zu einem einzigen Ziel, denn die Wagengruppen werden am Ziel abgekoppelt. Was nicht mitfährt, wartet auf den nächsten Zug.
  • Angebot: Die Containerliste wird erzeugt, bis die angebotenen TEU mindestens den eingestellten Prozentsatz der Kapazität (3W TEU) erreichen, ganzzahlig: die kleinste Liste, die den Prozentsatz erreicht. Ist mehr angeboten, als der Zug fasst, wählt der Plan aus. Voreinstellung: 120 %, mit 50 % 40-Fuß-Containern und 60 t Wagenlast.
  • Ziel: möglichst viele TEU laden.
  • Reihenfolge (Alltagsregel): Die Container werden in Ankunftsreihenfolge eingeladen, jeder in den ersten Wagen desselben Ziels, in dem Platz und Gewicht noch frei sind, sonst in einen neuen Wagen. Passt er nirgends hin, bleibt er stehen. Sie ist die Referenz aller Vergleiche.
  • Größe zuerst: Erst die 40-Fuß-Container, dann die 20-Fuß-Container, innerhalb jeder Länge die schwereren zuerst. Jeder Container kommt in den Wagen seines Ziels mit dem wenigsten Restplatz (gezählt in Plätzen; Wagen mit Ziel vor leeren). Das Gewicht wird nur auf Zulässigkeit geprüft. Die Regel ähnelt dem Best-Fit-Decreasing der Packprobleme, achtet aber nicht darauf, wie viele Wagen jedes Ziel braucht.
  • Wagenblöcke: Je Ziel werden die Container in der Reihenfolge von „Größe zuerst“ in eigene Wagen gepackt, so viele wie nötig, jeder in den vollsten Wagen des Ziels, in den er passt. Danach fahren die vollsten Wagen mit (bei Gleichstand die schwereren), bis der Zug voll ist. Es werden nur ganze Wagen gewählt. Die Regel ist eine Konstruktion des Demo-Autors.
  • Exakt: ein ganzzahliges Modell im Löser CP-SAT (Google OR-Tools), Formeln unten. Zeitlimit 4 s in der Hauptansicht, 30 s auf Knopfdruck, 2 s je Instanz in Stichprobe und Kurve. Das Ergebnis ist ein bewiesenes Optimum oder ein Intervall aus bester Lösung und oberer Schranke, nie ein unbewiesener Wert als Optimum. Wagenblöcke dient als Startlösung und als Rückfall: Lädt die Regel schon alles Angebotene oder alle Plätze, ist das Optimum ohne Löser bewiesen. Exakt lädt deshalb nie weniger als Wagenblöcke.
  • Schranke ohne Zielreinheit: kein Verfahren, sondern derselbe Zug mit gemischten Wagen, als obere Schranke des Lösers im Modell ohne die Zielbedingungen. Sie ist stets eine gültige obere Schranke und gleich dem Optimum dieses gelockerten Modells, wenn der Löser es beweist. Der Abstand zum Optimum mit Zielreinheit heißt Preis der Zielreinheit. Ist Exakt nicht bewiesen, ist der Preis nur eine Obergrenze.
  • Messgrößen: Die Stichprobe umfasst 20 Zufallstage (fest nummeriert von 0 bis 19), die Kurve bei 16 Wagen die 7 Zielzahlen 1, 2, 3, 4, 6, 8 und 10 mit je 8 Tagen. Verglichen wird gepaart auf denselben Tagen: Differenz = Verfahren minus Reihenfolge. Ein Unterschied gilt als klar, wenn er mehr als zwei Standardfehler der gepaarten Differenz beträgt.

Die Formeln

Es seien \(W\) die Zahl der Wagen, \(D\) die der Ziele und \(PL\) die Wagenlast. Container \(i\) hat die Länge \(\ell_i \in \{20, 40\}\), den Platzbedarf \(s_i \in \{1, 2\}\), das Gewicht \(g_i\) und das Ziel \(d(i)\). Die Variable \(x_{i,w,p} \in \{0,1\}\) ist 1, wenn Container \(i\) in Wagen \(w\) liegt und die Plätze \(p, \dots, p + s_i - 1\) belegt. Die Variable \(y_{w,d} \in \{0,1\}\) ist 1, wenn Wagen \(w\) zu Ziel \(d\) fährt. Die ersten drei Bedingungen lauten: Jeder Container liegt höchstens einmal, jeder Platz \(q\) eines Wagens wird höchstens einmal belegt (die Summe läuft über die Container und ihre Startplätze \(p\) mit \(p \le q \le p + s_i - 1\)), und das Gewicht je Wagen beträgt höchstens \(PL\). Die Bedingungen gelten für alle Container \(i\), Wagen \(w\) und Plätze \(q\); die Startplätze \(p\) laufen von 1 bis \(4 - s_i\), also 1 bis 3 bei 20 Fuß und 1 bis 2 bei 40 Fuß:

\[\sum_{w,p} x_{i,w,p} \le 1, \qquad \sum_{i}\;\sum_{p \le q \le p + s_i - 1} x_{i,w,p} \le 1 \;\; (\text{Platz } q), \qquad \sum_i g_i \sum_p x_{i,w,p} \le PL,\]

Die Zielreinheit sagt, dass ein Wagen zu höchstens einem Ziel fährt und nur Container dieses Ziels trägt:

\[\sum_d y_{w,d} \le 1, \qquad x_{i,w,p} \le y_{w,d(i)} .\]

Zielfunktion ist die Zahl der geladenen TEU:

\[\max \sum_{i,w,p} s_i \, x_{i,w,p} .\]

Trivial gilt \(\sum_{i,w,p} s_i x_{i,w,p} \le \min\bigl(\sum_i s_i,\ 3W\bigr)\): nicht mehr als angeboten und nicht mehr als Plätze. Wird diese Schranke erreicht, ist das Optimum ohne Löser bewiesen. Die Schranke ohne Zielreinheit lässt \(y\) und die letzte Bedingung weg. Für den Vergleich über Tage \(\ell = 1, \dots, S\) ist \(\Delta_\ell = z_A^{(\ell)} - z_B^{(\ell)}\) der Gewinn des Verfahrens \(A\) gegen die Referenz \(B\) in TEU, gerechnet nur auf Tagen, an denen beide Pläne zulässig sind. Ein Unterschied gilt als klar, wenn \(|\bar\Delta| > 2\,\mathrm{SE}(\Delta)\) mit dem Standardfehler \(\mathrm{SE}\) der gepaarten Differenz.

Wagenmuster, Mindestzahl der Wagen und angebrochene Wagen

Dieser Abschnitt ist eine Rechnung dieser Seite, keine Messung der Demo. Er lässt die Wagenlast außer Acht (sie bindet nur bei niedrigen Werten, siehe Befunde).

  • Schritt 1, Wagenmuster: Eine Menge von Containern passt in einen Wagen mit drei Plätzen genau dann, wenn ihre Platzsumme höchstens 3 beträgt. Möglich sind ein kurzer, zwei kurze, drei kurze, ein langer oder ein langer mit einem kurzen Container. Die Nachbarschaftsbedingung bindet dabei nie: Der lange Container belegt die Plätze 1 und 2 und der kurze den Platz 3, oder umgekehrt. Ein Plan ist damit eine Auswahl überschneidungsfreier Wagenmuster, höchstens \(W\) Stück, mit Gewichtsgrenze und einem Ziel je Muster. Die Demo prüft den Löser auf kleinen Zufallsinstanzen auch gegen eine solche Aufzählung von Wagenmustern (60 Instanzen).
  • Schritt 2, höchstens ein langer Container je Wagen: Zwei lange Container brauchen vier Plätze, ein Wagen hat drei.
  • Schritt 3, Mindestzahl der Wagen: Das Ziel \(d\) habe \(a_d\) lange und \(b_d\) kurze Container. Zum Laden aller braucht es mindestens \(c_d = a_d + \lceil \max(0,\, b_d - a_d) / 3 \rceil\) Wagen. Untere Schranke: Jeder Wagen trägt höchstens einen langen Container, also \(c_d \ge a_d\), und die Platzsumme \(2a_d + b_d\) verteilt sich auf Wagen zu 3 Plätzen, also \(c_d \ge (2a_d + b_d)/3\). Erreichbar: Jeder lange Container bekommt einen eigenen Wagen, ein kurzer fährt mit, die übrigen kurzen füllen je drei Plätze. Die Formel stimmt mit einer Aufzählung aller Wagenmuster für kleine \(a_d\) und \(b_d\) überein (Nachrechnung dieser Seite).
  • Schritt 4, angebrochene Wagen: In der Packung, die Schritt 3 erreicht, sind für \(b_d \ge a_d\) alle Wagen des Ziels voll bis auf höchstens einen, in dem ein oder zwei Plätze fehlen. Für \(b_d < a_d\) fehlt in jedem der \(a_d - b_d\) Wagen mit einem langen Container ohne Partner ein Platz.
  • Schritt 5, ein ausgedachtes Beispiel: Der Zug hat \(W = 3\) Wagen, die Gewichtsgrenze bindet nicht. Ziel A hat 2 lange und 1 kurzen Container, Ziel B 4 kurze. Mit Zielreinheit braucht A zwei Wagen und B \(\lceil 4/3 \rceil = 2\) Wagen, zusammen vier. Die drei vollsten Wagen laden 3 + 3 + 2 = 8 TEU. Mit gemischten Wagen genügen drei Wagen für alle 9 TEU: ein langer mit dem kurzen von A, ein langer mit einem kurzen von B und ein Wagen mit drei kurzen von B. Der Preis der Zielreinheit beträgt hier 1 TEU.
  • Schritt 6, Deutung, nicht gemessen: Mit \(D\) Zielen entstehen mindestens bis zu \(D\) angebrochene Wagen, bei Zielen mit mehr langen als kurzen Containern auch mehr (Schritt 4). Gemischte Wagen würden sie füllen. Der Zug wählt zwar die vollsten Wagen. Gibt es aber weniger als \(W\) volle Wagen, was bei vielen Zielen mit wenigen Containern je Ziel eintritt, bleiben angebrochene Wagen im Zug. Das passt zum Befund, dass der Preis mit der Zahl der Ziele wächst.

Befunde

Alle Zahlen gelten für 16 Wagen (48 Plätze), Angebot 120 %, 50 % 40-Fuß und 60 t Wagenlast, soweit nichts anderes steht. Sie sind Mittel über 20 Zufallstage (fest nummeriert von 0 bis 19) mit 2 s Zeitlimit je Löserlauf, also Größenordnungen aus einer Simulation und keine Messung an echten Zügen.

Zahl der ZieleReihenfolgeGröße zuerstWagenblöcke und Exakt
445,245,747,4
842,743,045,4
1042,343,245,4

Geladene Plätze von 48 im Mittel. Bei 4 Zielen ist Exakt an 2 von 20 Tagen nicht bewiesen (Abstimmungsbericht der Demo), bei 8 und 10 Zielen an den meisten Tagen. Wo Exakt nicht bewiesen ist, ist sein Wert eine untere Schranke. Der Abstand zwischen Reihenfolge und Wagenblöcken beträgt nach den Mittelwerten gut zwei Plätze bei 4, knapp drei bei 8 und gut drei bei 10 Zielen (Rechnung dieser Seite). Die Tabelle zeigt Mittelwerte ohne Standardfehler: Kleine Unterschiede einzelner Zeilen sind damit nicht belegt.

Die Demo selbst weist den Standardfehler je Vergleich aus. Die folgende Tabelle fasst die Messreihe der Demo zusammen, mit der Basis je Zeile. Die fünf gerechneten Fälle sind: Angebot 80 % mit 4 Zielen; Angebot 120 % mit 4, 8 und 10 Zielen; Angebot 120 % mit 4 Zielen, nur 30 % 40-Fuß-Containern und 40 t Wagenlast.

FrageBefundBasis
Trifft Wagenblöcke das Optimum?Wagenblöcke ist an allen 20 Tagen gleich Exakt in vier der fünf Fälle: Angebot 80 % bei 4 Zielen sowie Angebot 120 % bei 4, 8 und 10 Zielen. Nicht im fünften Fall (enges Gewicht).20 Tage, 2 s je Lauf; im fünften Fall 10 s
Was kostet die Zielreinheit? (Schranke ohne Reinheit minus Optimum, Mittel)0,1 bei 4 Zielen und Angebot 80 %; 0,45 bei 4 Zielen; 2,4 bei 8 Zielen; 2,65 bei 10 Zielen (Angebot 120 %). Der Preis ist die Differenz zweier Schranken des Lösers und eine Obergrenze, soweit Exakt nicht bewiesen ist: bei 4 Zielen an 2 von 20 Tagen, bei 8 und 10 Zielen an den meisten Tagen.20 Tage, 2 s je Lauf
Wann schlägt Exakt die Wagenblöcke?In den gemessenen Einstellungen nur, wenn das Gewicht bindet: bei 30 % 40-Fuß-Containern und 40 t je Wagen an 40 % der Tage, im Mittel um 0,6 TEU. Bei 45 t und 50 % 40-Fuß an keinem von 20 Tagen.20 Tage, 4 Ziele, Zeitlimit 10 s je Lauf
Wie weit reicht der Löser?Bewiesen bei 6 Zielen an 88 %, bei 8 an 38 %, bei 10 an 25 % der Tage; dort steht ein Intervall.16 Wagen, 2 s je Lauf, Kurve über 8 Tage je Zielzahl (1, 2, 3, 4, 6, 8, 10)

Die folgenden Ergebnisse sind Nachrechnungen dieser Seite mit dem Quelltext der Demo, keine Zahlen der Demo-Dokumentation. Sie zeigen auch, wie stark Beweisanteile vom Rechner und vom Zeitlimit abhängen.

FrageErgebnisBasis
Preis der Zielreinheit bei wenigen ZielenBei 1 und 2 Zielen im Mittel null, bei 3 Zielen größer als null. Am Tag mit der Nummer 0 und 3 Zielen beträgt der Unterschied 2 Plätze, beide Werte bewiesen.8 Tage je Zielzahl, 2 s; Tag 0 mit 30 s; bei 1 bis 3 Zielen alle Läufe bewiesen
Wie viele Tage sind bewiesen?Bis 3 Zielen alle Tage, bei 4 Zielen 7 von 8, bei 10 Zielen etwa ein Achtel statt eines Viertels.Kurve, 8 Tage je Zielzahl, 2 s
Schlägt Exakt Wagenblöcke bei engem Gewicht?Bei 30 % 40-Fuß und 40 t an 6 von 20 Tagen (mit 10 s an 8 von 20). Bei 30 % 40-Fuß und 45 t an 1 von 20 Tagen, bei 50 % 40-Fuß und 45 t an keinem.20 Tage, 4 Ziele, 2 s, sonst wie angegeben
Was ändert sich bei knappem Angebot?Bei Angebot 80 % und 4 Zielen laden alle vier Verfahren im Mittel gleich viel: Fast alles findet Platz, und der Preis der Zielreinheit ist gering (0,1 TEU).20 Tage, 4 Ziele

Was die Messung zeigt und wo ihre Grenzen liegen

Das zeigt die Messung:

  • Die Rangfolge der Regeln als Mittel über 20 zufällige Tage, gepaart auf denselben Containerlisten: Reihenfolge lädt am wenigsten, Wagenblöcke und Exakt am meisten, Größe zuerst liegt dazwischen.
  • Der Löser ist geprüft: Auf 120 Kleinstinstanzen stimmt er mit einer Aufzählung (Brute Force) überein, die Schranke ohne Zielreinheit auf 60. Keine Regel schlägt das Optimum auf 50 Kleinstinstanzen, und jede Regel liefert auf 60 Zufallsinstanzen einen zulässigen Plan innerhalb der Schranke.

Das zeigt sie nicht:

  • Gleichheit mit Exakt: Wagenblöcke ist Startlösung und Rückfall des Lösers, Exakt lädt also nie weniger. Wo der Löser nichts beweist, heißt „gleich“ nur, dass er in der Zeit nichts Besseres fand. Bei 8 und 10 Zielen kann Wagenblöcke daher unter dem wahren Optimum liegen, ohne dass es auffällt, höchstens um den Preis der Zielreinheit (Obergrenze, nicht gemessen). Dass der Löser dort in 2 s nichts beweist, liegt vermutlich an der Formulierung mit 16 gleichen Wagen (viele gleichwertige Lösungen) und weniger an der Aufgabe selbst; ein Muster- oder Spaltenmodell könnte dort beweisen. Das ist eine Vermutung dieser Seite, nicht gebaut und nicht gemessen.
  • Rechnerabhängigkeit: Der Anteil bewiesener Tage und der Befund „Exakt schlägt Wagenblöcke“ hängen vom Zeitlimit und von der Rechengeschwindigkeit ab. Die Nachrechnung in der zweiten Befundtabelle zeigt es: Schon bei gleichem Fall schwankt die Zahl der Tage, an denen Exakt mehr lädt, mit dem Zeitlimit.
  • Kleine Stichprobe: 20 Tage (8 Tage je Zielzahl in der Kurve) belegen Mittelwerte, aber keine feinen Unterschiede einzelner Einstellungen.
  • Modellannahmen: ein Zug, eine Abfahrt, keine Zeitachse: Alle Container sind da, bevor der Zug beladen wird, eine Online-Beladung ist nicht modelliert. Keine Achslast und Lastverteilung im Wagen, nur die Summe je Wagen; keine Reefer, kein Gefahrgut, nur 60-Fuß-Wagen mit drei Plätzen. Gewichte und Ziele sind gleichverteilt und unabhängig. Die Zielreinheit ist eine Modellannahme; in der Praxis gibt es auch gemischte Wagen und Umsetzen unterwegs, und die Schranke ohne Zielreinheit zeigt genau, was die Annahme kostet.
  • Konstruktion des Autors: Wagenblöcke ist eine eigene Konstruktion; ihr gemessener Abstand zum besten gefundenen Plan ist klein, aber nur auf diesen Zufallsinstanzen; zum wahren Optimum ist er bei vielen Zielen unbekannt. Die Schwäche bei engem Gewicht ist ein Befund, die Erklärung dazu (Sortieren nach Größe beachtet das Gewicht nur nebenbei) eine Deutung dieser Seite.

Erweiterungen und Verweise

Bewusst nicht umgesetzt sind eine Zeitachse (Ankunft der Container, mehrere Züge, Online-Beladung), Achslast und Lastverteilung im Wagen, Reefer (Kühlcontainer), Gefahrgut, Wagentypen mit anderen Platzzahlen, gemischte Wagen mit Umsetzen unterwegs, Kranzeiten und eine Kalibrierung an echten Zügen. Nahe Fragen behandeln Nachbarstücke der Hafen-Reihe:

  • Stauplanung eines Schiffs-Bays: Die stauplanung-demo stellt Zielhäfen und Stabilität eines Schiffsabschnitts (Bay) gegeneinander.
  • Stapelblock im Terminal: Die stapelplanung-demo lagert Container im Stapelblock (Lagerfläche mit übereinander stehenden Containern) ein, deren Abholzeit nur ungefähr bekannt ist.
  • Beladung mit Gleichgewichtsbedingung: Die Seite zum Beladeplan für Luftfracht stellt dieselbe Auswahlfrage mit einem Schwerpunktfenster statt der Zielreinheit.

Quellen

  • Quelltext, Messreihe und Tests der Demo: github.com/sebastian-hanisch/bahnladeplan-demo.
  • Löser: CP-SAT aus Google OR-Tools.
  • Bin-Packing-Heuristiken wie First-Fit-Decreasing und Best-Fit-Decreasing (Standardwissen der Packprobleme).
  • Bruns, F., Knust, S. (2012): Optimized load planning of trains in intermodal transportation. OR Spectrum 34, 511–533 (verwandte Planungsaufgabe der Zugbeladung).

Die Dokumentation der Demo nennt keine Literatur. Die Angaben zu Bruns und Knust sind bibliografisch geprüft, die inhaltliche Nähe zur Zielreinheit nicht. Best-Fit- und First-Fit-Decreasing sind aus dem Gedächtnis ergänzt. Rechnungen und Nachrechnungen dieser Seite sind keine Messungen der Demo.