Die Blockzuweisung verständlich erklärt
Ein Schiff wartet auf seine Container, und sie stehen in mehreren Lagerfeldern. Das nächste Feld ist nah, aber dort staut es sich. Alle Felder zu nutzen vermeidet den Stau, kostet aber lange Wege. Wie man beides ausbalanciert und warum ein guter Plan trotzdem bei Verspätung zerbricht, zeigt diese Seite.
Zuletzt aktualisiert:
Ein Wort unbekannt? Das Begriffsverzeichnis erklärt es in wenigen Sätzen.
Welches Zimmer für den Möbelwagen?
Stellen Sie sich einen Umzug vor. Die Kartons für den Möbelwagen stehen in mehreren Zimmern an einem langen Flur. Der Wagen parkt vor der Haustür am einen Ende. In jedem Zimmer sitzt ein Helfer, der die Kartons herausreicht. Ein Helfer schafft nur eine feste Zahl von Kartons pro Stunde. Der Wagen soll aber schneller beladen werden, als ein einzelner Helfer liefern kann. Am selben Tag werden mehrere Wagen nacheinander beladen.
Stehen alle Kartons im Zimmer an der Tür, ist der Weg zum Wagen kurz. Doch der eine Helfer kommt nicht nach, die Kartons stauen sich, und jeder wartet. Verteilt man sie auf alle Zimmer, arbeiten viele Helfer zugleich, und es gibt keinen Stau. Dafür müssen die Träger weit laufen. Kurzer Weg oder kurze Wartezeit: Beides zugleich scheint nicht zu gehen.
Genau diese Frage stellt sich im Hafen. Die Exportcontainer eines Schiffs stehen vor dem Beladen in Lagerfeldern, den Blöcken. Wie der Helfer im Zimmer hebt ein Kran die Container aus seinem Block heraus. Fahrzeuge bringen sie zum Schiff, das am Kai liegt, dem Ufer für Schiffe. Die Strecke dorthin heißt Fahrweg. Wie lange ein Container im Mittel auf den Kran seines Blocks wartet, beim Einlagern und beim Herausheben zusammen, heißt Wartezeit. Gesucht ist, welcher Container in welchen Block kommt.
Das vereinfachte Rechenbild
Wie schwer diese Wahl ist, zeigt ein vereinfachtes Rechenbild (Fachwort: Modell) eines Containerterminals. Es hat mehrere Blöcke in einer Reihe am Kai, drei Liegeplätze für Schiffe und eine Woche mit mehreren Schiffen. Jedes Schiff hat ein Beladefenster, die Stunden, in denen es beladen wird. Alles ist erfunden. Die Aussagen in diesem Teil beschreiben dieses Rechenbild, nicht die Wirklichkeit.
Im Rechenbild schafft jeder Block 40 Container pro Stunde. Ein Schiff will beim Beladen bis zu 90 pro Stunde. Es braucht also mehrere Blöcke zugleich. Dazu kommt eine Besonderheit: Die Container treffen schon anderthalb Tage vor dem Beladen im Lager ein. Auch das Einlagern braucht den Kran, er ist also beschäftigt, bevor das Schiff da ist.
Verglichen werden unter anderem diese Wege, die Container auf Blöcke zu verteilen:
- Bündeln: alle Container eines Schiffs in den nächsten Block. Das ergibt den kürzesten Weg.
- Verteilen: gleichmäßig auf alle Blöcke. Das ergibt die geringste Belastung der Kräne.
- Faustregel: Schiff für Schiff so viele nahe Blöcke, dass ihre Kräne zusammen mit dem Schiff mithalten. Das ergibt einen kurzen Weg, beachtet aber nur das einzelne Schiff.
- Rechenplan: Ein Computer rechnet alle Schiffe der Woche zugleich durch. Er wählt die Aufteilung mit der geringsten Wartezeit und darunter den kürzesten Weg.
- Abgesicherter Rechenplan: Er plant wie der Rechenplan, rechnet aber mit verspäteten Schiffen. Das kostet Weg und schützt vor Stau.
Was das Rechenbild zeigt
Bündeln hat den kürzesten Weg, aber der Stau ist riesig. Rechnerisch wartet ein Container im Mittel insgesamt über einen Tag, denn das Schiff will mehr pro Stunde, als ein Block liefert. Verteilen kommt mit unter einer Minute Wartezeit aus, hat aber den längsten Weg.
Die Überraschung liegt dazwischen. Der Rechenplan wartet ebenfalls weniger als eine Minute, und sein Weg ist nur 16 % länger als beim Bündeln. Das geht, weil ein Schiff nicht alle Blöcke braucht. Im Umzugsbild: Verlangt ein Wagen mehr, als ein Helfer reicht, genügen zwei oder drei Zimmer nahe der Tür. Die fernen Zimmer braucht er nicht.
Die Faustregel nutzt dieselben nahen Blöcke und hat fast denselben Weg. Trotzdem wartet ein Container im Mittel insgesamt 44 Minuten. Vermutlich liegt das daran, dass die Faustregel jedes Schiff für sich plant. Die Container der anderen Schiffe treffen schon anderthalb Tage vorher ein und belegen dieselben Kräne. Ohne diese frühe Anlieferung war das Rechnen in der Messung kaum nötig: Der nächste Block, dessen Kran noch Luft hat, ergab dann in jeder geprüften Woche einen ebenso guten Plan. Der Vorsprung des Rechnens hängt also an dieser Annahme des Rechenbilds.
Wenn ein Schiff zu spät kommt
Bisher kamen alle Schiffe pünktlich. In Wirklichkeit verschiebt sich ein Beladefenster. Im Rechenbild verschieben sich die Fenster zufällig um ein paar Stunden. Der Rechenplan zerbricht dann: Die Wartezeit springt im Mittel von unter einer Minute auf 46 Minuten.
Der Grund liegt vermutlich in seiner Stärke. Er füllt Blöcke dort bis ans Limit, wo sich die Beladezeiten zweier Schiffe überschneiden. Im Umzugsbild stehen dann zwei Wagen, die nacheinander dran wären, plötzlich zugleich vor demselben Zimmer. Ein voll ausgelasteter Helfer kann den zweiten Wagen nicht auch noch bedienen. Eine Pause von vorhin lässt sich nicht für später aufheben.
Der abgesicherte Rechenplan plant mögliche Verspätungen von Anfang an mit und lässt in den Überschneidungen Luft. Das kostet Weg. Wie viel Weg, bestimmt ein Umrechnungskurs, den man dem Computer vorgibt: Wie viele Meter Umweg ist ihm eine Minute weniger Wartezeit wert? Das ist kein Geld, sondern eine Einstellung. Je höher der Kurs, desto mehr Weg nimmt der Plan in Kauf. Gegenüber dem Rechenplan wird der Weg je nach Kurs 9 bis 17 % länger. Dafür sinkt die Wartezeit bei Verspätung von 46 auf 13 bis 10 Minuten. Keine der geprüften einfachen Regeln erreicht diese Kombination.
Häufige Missverständnisse
- „Wer alle Blöcke nutzt, ist auf der sicheren Seite.“ Beim Verteilen ist die Wartezeit bei Verspätung am kürzesten, aber der Weg der längste. Der abgesicherte Rechenplan kommt bei sehr hohem Kurs auf etwa 5 Minuten bei Verspätung und fährt dabei weniger weit als beim Verteilen.
- „Mehr Weg verkürzt die Wartezeit nur Stück für Stück.“ Im Rechenbild nicht. Ein Stau entsteht erst, wenn ein Block mehr bekommt, als er schafft. Darunter wartet niemand. Darum genügt ein kleiner Mehrweg, um den Stau fast ganz zu vermeiden.
Woran Sie das im Alltag erkennen
- Im Supermarkt ist die Kasse am Eingang überfüllt, während die entfernteren leer stehen. Der kürzeste Weg ist nicht immer der schnellste.
- Ein Terminplan ohne Pausen läuft nur, solange alle pünktlich sind. Kommt ein Termin zu spät, warten alle danach.
Wie ernst ist das Rechenbild zu nehmen?
Das Rechenbild lässt vieles weg: Die Kräne arbeiten gleichmäßig, alle Blöcke sind gleich. Auch die frühe Anlieferung ist eine Annahme, kein gemessener Wert. Die Zahlen sind Größenordnungen, keine Werte eines echten Terminals.
Was Sie mitnehmen
- Fragen Sie bei jedem Plan, was passiert, wenn ein Termin rutscht, nicht nur, wie er im besten Fall aussieht.
- Fragen Sie bei jeder Faustregel, was sie nicht sieht.
- Kurze Wege und kurze Wartezeit schließen sich nicht von selbst aus. Prüfen Sie, wie viel Weg die Wartezeit wirklich kostet.
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. 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.
Modell und Annahmen
Dieser Teil ist eigenständig lesbar. Er beschreibt ein Flüssigkeitsmodell der Blockzuweisung im Export eines Containerterminals in Stundenschritten und vergleicht sechs Verfahren auf denselben erfundenen Wochen. Die Frage lautet: Wie viel Fahrweg kostet es, die Exportcontainer so auf die Lagerblöcke zu verteilen, dass die Blockkräne auch bei verspäteten Schiffen nicht zum Nadelöhr werden? Vorausgesetzt ist die Kaiplatzplanung, also welches Schiff wann an welchem Liegeplatz liegt. Nicht modelliert sind die Stapelplanung im einzelnen Block und die Disposition der Fahrzeuge.
- Blöcke: \(B\) Blöcke im Abstand von 100 m am Kai (einstellbar 6 bis 10, Voreinstellung 8). Jeder Block liefert höchstens \(\mu\) Moves je Stunde, alle Blockkräne des Blocks zusammen (einstellbar 30 bis 60, Voreinstellung 40). Ein Move ist ein Kranhub, der einen Container ein- oder auslagert. Alle Blöcke sind gleich.
- Schiffe: \(S\) Schiffe (3 bis 8, Voreinstellung 6) mit je \(n_s\) Exportcontainern (700 bis 1300) an drei Liegeplätzen in gleichem Abstand am Kai. Jedes Schiff erhält zufällig eine von zwei Abrufraten \(\rho_s\): \(r\) oder zwei Drittel von \(r\) Moves je Stunde, \(r \in \{60, 90, 120\}\) (Voreinstellung 90, also 60 oder 90 Moves je Stunde). Sein Beladefenster \([e_s, e_s + L_s)\) hat ganzzahlige Länge \(L_s \approx n_s/\rho_s\) Stunden (aufgerundet, mindestens 3), und es ruft seine Container gleichmäßig über das Fenster ab.
- Wochengenerator: Die Ankunftszeiten der Schiffe fallen zufällig in die ersten 30 Stunden der Woche. Ein Schiff legt am Liegeplatz an, der als erster frei wird; sein Beladefenster beginnt nach der Anlieferzeit von 36 Stunden und frühestens, wenn der Liegeplatz frei ist. Bei drei Liegeplätzen überlappen die Fenster mehrerer Schiffe. Alle Zufallszahlen sind fest gesetzt, sodass jede Woche reproduzierbar ist.
- Fahrweg: \(d_{sb}\) = 200 m plus Abstand zwischen Block \(b\) und Liegeplatz von Schiff \(s\); einfach, ohne Stau.
- Anlieferung (Annahme, fest): Dieselben Container kommen gleichmäßig in den 36 Stunden vor dem Beladefenster im Lager an und belasten den Block ebenfalls mit einem Move je Container. Jeder Container belastet seinen Block also zweimal, bei der Anlieferung und beim Abruf.
- Rückstand und Lager: Was ein Block in einer Stunde nicht schafft, wartet als Rückstand (first in, first out). Eine Lagergrenze \(K\) je Block (in Containern) begrenzt den Bestand. Sie ist der größte gleichzeitige Gesamtbestand der Woche, geteilt durch die Zahl der Blöcke und durch die Lagerfüllung (50 bis 90 %, Voreinstellung 70 %). Je höher die Füllung, desto knapper ist \(K\).
- Verspätung: Das Beladefenster jedes Schiffs verschiebt sich um gerundet \(N(0, \sigma^2)\) Stunden, die Anlieferung bleibt (\(\sigma\) von 0 bis 6 h, Voreinstellung 3 h). Die Wartezeit „bei Verspätung“ ist das Mittel über 30 Testszenarien; geplant wird mit 10 anderen Szenarien (getrennte Zufallszahlen).
- Kennzahlen: mittlerer Fahrweg \(D\) je Container (m), mittlere Wartezeit \(W\) je Container am Block (min; Lesart siehe Formeln) und der größte Überstand über der Lagergrenze (Container). Die Spitzenauslastung eines Blocks ist seine größte Stundenlast im Fenster geteilt durch \(\mu\). Fahrweg und Wartezeit werden nicht zu einer Zahl vermischt; erst der Preis \(\lambda\) in Metern je Minute wählt einen Punkt auf der Kurve.
Die sechs Verfahren
Alle Verfahren teilen dieselbe Woche auf; Vergleichsmaßstab ist die Handregel Kranrate passend. Bündeln, Kranrate passend und Gierig arbeiten Schiff für Schiff in Portionen zu 10 Containern und prüfen den Lagerplatz; passt eine Portion in keinen Block mehr, wird die Lagergrenze verletzt.
- Bündeln: alle Container eines Schiffs in den nächsten Block, bei vollem Lager in den nächsten. Der Rand „kürzester Weg“.
- Verteilen: gleichmäßig auf alle Blöcke. Der Rand „kleinste Wartezeit“, aber der längste mittlere Weg der sechs Verfahren.
- Kranrate passend: \(k_s = \lceil (n_s / L_s) / \mu \rceil\) nächste Blöcke je Schiff, reihum; volle Blöcke werden übergangen. So wird von Hand geplant, wenn man die Kranrate kennt.
- Gierig: Schiff für Schiff nach Beginn des Fensters, je 10 Container in den nächsten Block, dessen Spitzenauslastung unter 80 % bleibt (sonst in den mit der kleinsten). Die schiffsweise Regel mit Reserve; die Grenze 80 % ist ein Parameter, die Befunde nennen auch 100 % („nächster Block mit Luft“) und 60 %.
- Gerechnet: lineares Programm (LP) über die ganze Woche, minimale Wartezeit für pünktliche Schiffe, bei Gleichstand der kürzeste Weg. Es sieht alle Schiffe zugleich.
- Gerechnet und abgesichert: Szenario-LP mit 10 Verspätungsszenarien; es minimiert Fahrweg plus \(\lambda\) mal mittlere Wartezeit über die Szenarien.
Der Löser ist OR-Tools GLOP (Simplex, ohne Zeitlimit): Das Optimum des LP ist bewiesen (im Rahmen der Gleitkomma-Genauigkeit des Lösers), und der Zielwert hängt nicht vom Rechner ab. Bei mehreren gleichwertigen Plänen kann die Aufteilung zwischen Löserversionen abweichen; Aussagen gelten deshalb für Zielwerte und Kennzahlen, nicht für einzelne Zuordnungen. Der LP-Plan wird nach dem Verfahren der größten Reste auf ganze Container gerundet; beim abgesicherten Plan (\(\lambda\) = 20, 30 Wochen) liegt sein Zielwert im Mittel 0,8 % und höchstens 3,04 % über dem LP-Wert, der als Schranke dient.
Die Formeln
Der Plan ist \(x_{sb} \ge 0\) mit \(\sum_b x_{sb} = n_s\), die Zahl der Container von Schiff \(s\) in Block \(b\) (nach der Rundung ganzzahlig). Das Beladefenster gibt den Abrufanteil \(a_{s,t} = 1/L_s\) für Stunden \(t\) im Fenster, die Anlieferung den Anteil \(c_{s,t} = 1/36\) in den 36 Stunden davor; der Lastanteil ist \(f_{s,t} = a_{s,t} + c_{s,t}\). Im Verspätungsszenario \(k\) sind die Fenster verschoben, der Lastanteil heißt \(f^k_{s,t}\). Der Rückstand \(q^k_{b,t}\) von Block \(b\) in Stunde \(t\), gezählt in Moves, folgt der Rekursion:
\[q^k_{b,t} = \max\bigl(0,\ q^k_{b,t-1} + \sum_s f^k_{s,t}\, x_{sb} - \mu\bigr)\]
Mit \(N = \sum_s n_s\) Containern ist die mittlere Wartezeit je Container am Block in Minuten, und der mittlere Fahrweg je Container:
\[W^k = \frac{60}{N} \sum_{b,t} q^k_{b,t}\]
\[D = \frac{1}{N} \sum_{s,b} d_{sb}\, x_{sb}\]
Die Lagergrenze verlangt \(\sum_s g_{s,t}\, x_{sb} \le K\) für alle \(b, t\), mit dem Bestandsanteil \(g_{s,t}\) (angeliefert minus abgerufen). Für das LP ersetzt man die Rekursion durch \(q^k_{b,t} \ge q^k_{b,t-1} + \sum_s f^k_{s,t}\, x_{sb} - \mu\) und \(q \ge 0\) und minimiert eine Zielfunktion, die \(q\) bestraft. Dann nimmt \(q\) im Optimum den Wert der Rekursion an, weil die Zielfunktion in \(q\) steigt und jedes größere \(q\) nur teurer wäre; der Zielwert des LP ist die Wartezeit der Simulation. „Gerechnet“ minimiert die Wartezeit im pünktlichen Szenario; der Weg geht mit dem kleinen Gewicht \(10^{-6}\) als zweites Ziel ein (näherungsweise lexikographisch: bei Gleichstand gewinnt der kürzeste Weg). Der Zielwert ist eindeutig, die Aufteilung nicht:
\[\min\ W + 10^{-6} D\]
„Gerechnet und abgesichert“ minimiert über zehn Planungsszenarien \(k\) den Fahrweg plus den mit \(\lambda\) bepreisten Mittelwert der Wartezeit:
\[\min\ D + \lambda \cdot \frac{1}{10} \sum_k W^k\]
Die Kante des Zielkonflikts ist \(\min\ D\) unter der Nebenbedingung \(W \le \varepsilon\) im pünktlichen Szenario, für verschiedene erlaubte Wartezeiten \(\varepsilon\). Verfahren \(A\) wird gegen eine Referenz \(B\) auf denselben Wochen \(w = 1, \dots, 20\) über die Differenz \(\Delta_w = X_A^{(w)} - X_B^{(w)}\) einer Kennzahl \(X\) verglichen (negativ ist besser); ein Unterschied gilt als klar, wenn \(|\bar\Delta| > 2\,\mathrm{SE}(\Delta)\) mit dem Standardfehler SE (eine Faustregel, die bei schiefen Kennzahlen und 20 Wochen nur näherungsweise gilt).
Rechnung dieser Seite, keine Messung: Da jeder Container zwei Moves verursacht und \(q\) in Moves gezählt wird, summiert \(W\) die Wartezeiten beider Moves eines Containers. Ein Wert wie 1907 min beim Bündeln ist deshalb als Maß der Überlastung zu lesen, nicht als Wartezeit eines einzelnen Hubs.
Herleitung: warum die Ränder scheitern und der Rechenplan zerbricht
Die folgenden Schritte sind Rechnungen dieser Seite und keine Messungen; die Befunde unten stützen sie, beweisen sie aber nicht für jede Woche.
- Schritt 1, Mindestzahl Blöcke: Ein Schiff mit Abrufrate \(r_s\) braucht mindestens \(\lceil r_s/\mu \rceil\) Blöcke, damit die Kräne mithalten. Bei \(\mu = 40\) sind das 2 Blöcke für 60 Moves je Stunde und 3 Blöcke für 90. Kranrate passend wählt genau diese Zahl nächster Blöcke.
- Schritt 2, Bündeln: Im nächsten Block allein wächst der Rückstand während des Fensters um \(r_s - \mu\) Moves je Stunde, das sind 20 bzw. 50 bei \(\mu = 40\), die Anlieferlast nicht gerechnet. Danach räumt der Block nur mit \(\mu\) ab; deshalb ist die mittlere Wartezeit der Woche sehr lang.
- Schritt 3, Verteilen: Bei gleichmäßiger Aufteilung trägt jeder Block den \(1/B\)-ten Teil der Last; der Rückstand entsteht erst, wenn die Gesamtlast in einer Stunde \(B\mu\) übersteigt. Der mittlere Fahrweg ist aber der Durchschnitt über alle Blöcke, auch die fernen.
- Schritt 4, warum es eine Kante gibt: Wegen \(\max(0, \cdot)\) entsteht Rückstand erst bei Überlast; \(W = 0\) heißt Last \(\le \mu\) in jedem Block und jeder Stunde. Das erreichen die Pläne in allen Wochen bis auf zwei der 20; in diesen zwei Wochen übersteigt die Gesamtlast in der Spitze die Gesamtrate aller Blöcke, dort bleibt Wartezeit unvermeidlich (Nachrechnung dieser Seite, siehe Grenzen). Wenige zusätzliche nahe Blöcke genügen, um die Bedingung zu erfüllen, daher fällt die Wartezeit bei kleinem Mehrweg steil.
- Schritt 5, warum der Rechenplan an der Grenze liegt: Unter allen Plänen mit der kleinstmöglichen Wartezeit wählt das zweite Ziel den kürzesten Weg. Der zulässige Bereich des LP ist spitz (alle Variablen sind nichtnegativ), also lässt sich ein Optimum an einer Ecke wählen, an der viele Nebenbedingungen „Last \(\le \mu\)“ mit Gleichheit gelten. Der Plan füllt die Blöcke also dort bis \(\mu\), wo sich Beladefenster überlappen. Das ist die Erklärung, die die Messung nahelegt; für jede einzelne Woche geprüft ist sie nicht.
- Schritt 6, warum Verspätung dann schadet: Verschiebt sich ein Fenster, steigt die Last in manchen Stunden über \(\mu\) und fällt in anderen darunter. Freie Kapazität früherer Stunden lässt sich nicht aufsparen, und der Rückstand wird nie negativ; Über- und Unterlast mitteln sich deshalb nicht weg. Wo der Plan schon bei Last \(\mu\) liegt, erzeugt jede Verschiebung, die Fenster übereinanderlegt, Rückstand, während Verschiebungen in die andere Richtung nichts gutmachen.
- Schritt 7, was die Absicherung ändert: Der Szenario-LP minimiert den mittleren Rückstand über die Verschiebungsszenarien und lässt deshalb dort Reserve, wo Verschiebungen Rückstand erzeugen würden. Der Preis \(\lambda\) legt fest, wie viele Meter Mehrweg eine Minute weniger Wartezeit wert ist.
Befunde
Einstellung der Befunde, soweit nicht anders genannt: 8 Blöcke, 6 Schiffe, Blockrate 40, Schiffe bis 90 Moves je Stunde, Lagerfüllung 70 %, \(\sigma\) = 3 h, Mittel über 20 zufällig erzeugte Wochen ohne Lagergrenze. Mit dem Programm der Demo nachgerechnet und automatisch geprüft sind in der ersten Tabelle die Ränder, die Kante, Kranrate passend, Gierig 80 %, der Rechenplan und der abgesicherte Plan für \(\lambda\) = 10, die Befunde zur Anlieferlast (30 Wochen) und zur Lagergrenze bei 90 % sowie die Prüfungen der Rechnung. Die übrigen Zahlen der Tabelle stammen aus der Vorab-Messreihe. Auch der Rechenplan wartet im Mittel 0,50 min; dazu tragen nur zwei der 20 Wochen bei (siehe Grenzen).
| Frage | Befund |
|---|---|
| Stimmt die Rechnung? | Der LP-Zielwert weicht von einer unabhängigen Nachrechnung der Rückstands-Rekursion um weniger als \(10^{-9}\) ab. Kleinstinstanzen (3 Schiffe, 3 Blöcke, 3 bis 5 Container): LP-Schranke \(\le\) ganzzahliges Optimum (vollständiges Durchprobieren); in der Vorab-Messreihe zusätzlich gleich dem Ergebnis eines gemischt-ganzzahligen Programms (SCIP), 36 Fälle, 0 Abweichungen. Grenzfälle (ein Block, unbegrenzte Rate, \(\sigma\) = 0) treffen. Rundung des abgesicherten Plans (\(\lambda\) = 20, 30 Wochen): im Mittel +0,8 %, höchstens +3,04 % im Zielwert (Vorab-Messreihe); die Prüfung der Demo lässt höchstens +4 % zu. |
| Wo liegen die Ränder? | Bündeln 228,2 m und 1907 min; Verteilen 457,3 m und 0,50 min (pünktlich). |
| Wo liegt die Kante? | Kürzester Weg unter erlaubter Wartezeit 400 / 100 / 20 / 5 / 1 min: 239,5 / 250,6 / 257,3 / 261,4 / 263,8 m; kleinstmögliche Wartezeit 0,50 min. Die kleinste Wartezeit kostet +36 m (+16 %) gegen Bündeln und spart 193 m (−42 %) gegen Verteilen. |
| Was bringt Rechnen? | Kranrate passend: 263,4 m und 43,9 min pünktlich; Rechenplan: 264,2 m und 0,50 min; Gierig 80 %: 347 m und 9,1 min. |
| Ist der Rechenplan robust? | Nein. Wartezeit bei Verspätung: Rechenplan 46,0 min; Kranrate passend 72,8; Gierig 100 / 80 / 60 %: 68,2 / 27,8 / 10,2; Verteilen 4,0. |
| Was kostet die Absicherung? | Szenario-LP mit \(\lambda\) = 1 / 2 / 5 / 10 / 20 / 50 / 100: 268 / 274 / 288 / 308 / 329 / 356 / 373 m bei 20,8 / 16,8 / 12,6 / 9,5 / 7,5 / 5,7 / 5,2 min Wartezeit bei Verspätung (Standardfehler 1,1 bis 2,2). Knie bei \(\lambda\) = 5 bis 10: +24 m (+9 %) gegenüber dem Rechenplan senken die Wartezeit bei Verspätung auf 12,6 statt 46,0 min, +44 m (+17 %) auf 9,5 min. |
| Was, wenn die Anlieferlast fehlt oder anders ist? | Ohne Anlieferlast trifft die Regel „nächster Block mit Luft“ (Gierig 100 %) den Rechenplan in Weg und Wartezeit in 30 von 30 Wochen; mit 36 h Anlieferung in 0 von 30 (Weg im Mittel +23 %, Wartezeit 35 gegen 0,3 min; hier sind es 30 statt 20 Wochen, daher 0,3 statt 0,50 min beim Rechenplan). Bei 12 h Vorlauf ist das Lager schon durch die Anlieferung überlastet (\(W \ge 106\) min bei jedem Plan); bei 24 und 48 h bleibt die Rangfolge. |
| Was, wenn das Lager voll ist? | Bei 90 % Füllung verletzen Bündeln, Kranrate passend und Gierig die Lagergrenze in 30 / 23 / 21 von 30 Wochen, Verteilen und die Rechenpläne nie. Bei 91 % Füllung ist der Rechenplan der einzige zulässige Plan mit kurzem Weg (Vorab-Messreihe: Kranrate passend 287,6 m mit 125,7 min Wartezeit, Verteilen 456,7 m). Eine höhere Füllung macht die Lagergrenze \(K\) knapper. |
Die folgenden Nebenbefunde stammen aus der Vorab-Messreihe, sind in der Demo nicht nachgerechnet und haben zum Teil eine andere Stichprobe. Der Preis \(\lambda\) ist bei einzelnen Zeilen in der Quelle nicht genannt; wo die Werte zur Kurve oben passen, ist das vermerkt.
| Frage | Befund |
|---|---|
| Reicht eine einfache Reserve? | Nein. LP mit auf 90 / 80 / 70 % gekürzter Blockrate geplant: 278 m und 24,1 min / 296 m und 21,4 min / 306 m und 43,3 min Wartezeit bei Verspätung, schlechter als der Szenario-LP bei gleichem Weg. Dass die Wartezeit bei 70 % wieder steigt, erklärt die Quelle nicht. |
| Liegt eine Regel auf der Kurve? | Nein. Gepaart gegen den Szenario-LP bei gleichem Weg ist die Wartezeit bei Verspätung bei Kranrate passend um 37,8 ± 8,0 min länger (Streuungsmaß in der Quelle nicht benannt), bei Gierig 100 / 80 / 60 % um 60,5 / 21,2 / 4,6 min; bei gleicher Wartezeit ist der LP-Weg 6 bis 84 m kürzer. Die Wege der Gierig-Varianten 100 und 60 % nennt die Quelle nicht. |
| Sind schiffsweise Regeln kurzsichtig? | Ja, aber nur mit Anlieferlast. Eine gierige Regel, die jeden Posten zu 20 Containern nach dem Zuwachs von Weg plus \(\lambda\) mal Wartezeit über dieselben Szenarien legt, liegt im Zielwert 27 % bis 130 % über dem LP (10 Wochen; \(\lambda\) nicht genannt). |
| Was, wenn \(\sigma\) falsch geschätzt ist? | Abgesicherter Plan für \(\sigma\) = 3 h, getestet bei \(\sigma\) = 1,5 / 3 / 5 h: 2,5 / 7,5 / 15,3 min Wartezeit bei Verspätung. Ein abgesicherter Plan für \(\sigma\) = 5 h bei \(\sigma\) = 3 h: 361 m und 5,9 min, also teurer, aber sicherer. Der Preis ist nicht genannt; 7,5 min bei \(\sigma\) = 3 h passt zu \(\lambda\) = 20 der Kurve (Schluss dieser Seite, nicht belegt). |
| Wie viele Planungsszenarien braucht der Szenario-LP? | Bei 3 / 5 / 10 / 20 Szenarien: Wartezeit bei Verspätung 13,5 / 9,7 / 7,5 / 6,7 min, Rechenzeit 0,16 / 0,30 / 0,61 / 1,53 s (auch hier passt 7,5 min zu \(\lambda\) = 20). |
| Wie lange rechnet es? | Gerechnet 0,02 s; abgesichert mit 10 Szenarien 0,3 bis 0,8 s; eine Woche mit allen sechs Verfahren und 30 Testszenarien 0,7 s. |
Grenzen und was die Messung zeigt
- Was sie belegt: die Rangfolge und Größenordnung der Verfahren in diesem Modell auf erfundenen Wochen. Alle Zahlen sind Größenordnungen aus einer Simulation, keine Messung an einem echten Terminal. Die Befunde gelten für die genannte Einstellung; eine Variation von Blockzahl, Blockrate und Schiffsrate nennt die Quelle nicht. Die Rechnung selbst ist gegen eine unabhängige Nachrechnung und gegen vollständiges Durchprobieren kleiner Instanzen geprüft.
- Anlieferlast: Die Aussage „schiffsweise Regeln liegen über dem Rechenplan“ gilt nur mit der Anlieferlast. Das Anlieferprofil (gleichmäßig in 36 h) und die Blockrate sind Annahmen, keine Echtdaten.
- Flüssigkeitsmodell: gleichmäßiger Abruf, unabhängig arbeitende Blöcke; ein Rückstand bremst den Schiffskran nicht zurück. Das ist eine Untergrenze der echten Kopplung zwischen Kran und Block.
- Suchaufwand und Umstapeln im Block sind nicht modelliert: Der Bündelungsvorteil ist hier allein der Fahrweg, im Modell rund 13 % des Wegs der Handregel (Bündeln 228 gegen 264 m bei Kranrate passend); das ist ein Modellwert, keine allgemeine Obergrenze. Umstapeln heißt: Container beiseite heben, um an einen darunter stehenden zu kommen.
- Fahrweg und Container: Der Fahrweg ist einfach und ohne Stau; der Fahrzeugbedarf ist nicht gerechnet. Alle Blöcke sind gleich, Container austauschbar (keine Typen, Gewichte, Kühl- oder Gefahrgutcontainer).
- Verspätung: nur als Verschiebung des Fensters, nicht als Dehnung; der Plan wird vor der Anlieferung fest gewählt, eine Neuplanung gibt es nicht.
- Abgesicherter Plan: eine Schätzung aus zehn Planungsszenarien. Überanpassung an sie ist als Abstand zwischen Planungs- und Testszenarien sichtbar, aber in der Quelle nicht beziffert; ist \(\sigma\) falsch geschätzt, sinkt der Nutzen (siehe Befunde).
- Kleinste Wartezeit: Auch der beste Plan wartet im Mittel 0,50 min, die Wartezeit null wird im Mittel nicht erreicht. Nachrechnung dieser Seite mit dem Programm der Demo: In nur zwei der 20 Wochen übersteigt die Gesamtlast aus Abruf und Anlieferung in der Spitze die Gesamtrate aller Blöcke; dort wartet auch das Verteilen. In allen anderen Wochen ist die kleinste Wartezeit null, und das Mittel stammt aus diesen zwei Wochen.
- Streuung: Die Kennzahlen sind je Woche schief verteilt; Mittelwerte über 20 Wochen verbergen einzelne Ausreißer-Wochen.
Erweiterungen und Verweise
Nicht umgesetzt sind: Suchaufwand und Umstapeln im Block (Kopplung an die Stapelplanung), die Rückkopplung des Rückstands auf die Schiffskräne (geschlossene Kette statt Flüssigkeit), einzelne Blockkräne mit Störungen, Doppelspiele (ein Kran lädt und entlädt im selben Arbeitsgang), Container-Typen, ein Anlieferprofil aus Daten, eine mehrstufige Neuplanung während der Woche, die ganzzahlige Aufteilung als eigenes Optimierungsproblem, der Fahrzeugbedarf aus dem Fahrweg und mehr als 10 Blöcke. Verwandte Demos:
- Kaiplatz: Die Kaiplatz-Zuteilung entscheidet, wann und wo jedes Schiff anlegt; diese Frage ist hier vorausgesetzt.
- Verspätung im Kaiplatzplan: Die Robuste Kaiplatzplanung vergleicht Pufferzeiten im Plan mit Neuplanung im Betrieb.
- Fahrzeuge: Die Fahrzeug-Disposition vergleicht einen starren Optimalplan mit reaktiven Regeln für die Mindestflotte zwischen Containerbrücke und Stapelblock.
- Stapeln im Block: Die Stapelplanung vergleicht Einlagerungsregeln im einzelnen Block nach der Zahl der Umstapelungen.
Quellen
- Birge, J. R., Louveaux, F. (Springer): Introduction to Stochastic Programming (Szenario-Modelle und ihr deterministisches Ersatzproblem).
- OR-Tools (Google) mit dem LP-Löser GLOP, wie in der Dokumentation der Demo genannt.
- Quelltext, Messreihe und Tests der Demo: github.com/sebastian-hanisch/blockzuweisung-demo.
OR-Tools und GLOP sind in der Dokumentation der Demo genannt. Birge und Louveaux, die genauen Angaben zum Buch und das Verfahren der größten Reste sind aus dem Gedächtnis, nicht im Original geprüft. Die Herleitung und die Wartezeit-Lesart sind Rechnungen dieser Seite und keine Messungen.