Bestandsmanagement · Verständlich erklärt

Bestand auffüllen und Touren verständlich erklärt

Ein Händler füllt die Öltanks seiner Kunden mit einem Tankwagen auf. Fährt er nur zu Kunden, deren Tank fast leer ist, oder nimmt er Nachbarn gleich mit? Diese Seite erklärt, wann sich das Mitnehmen lohnt und wann es teurer wird.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

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

Ein Händler und seine Tanks

Stellen Sie sich einen Heizöl-Händler vor. Er hat ein Lager und viele Kunden im Umland. Jeder Kunde hat daheim einen Öltank, der sich jeden Tag ein Stück leert. Mit einem Tankwagen fährt der Händler eine Runde vom Lager aus und füllt Tanks nach. Eine solche Runde heißt Tour.

Jeden Morgen steht dieselbe Frage an: Wer kommt heute auf die Tour? Läuft bei einem Kunden der Tank leer, fehlt ihm Öl. Diese Lücke heißt Fehlmenge. Sie soll möglichst nie vorkommen. Jede Fahrt kostet aber Zeit und Sprit.

Die einfachste Regel lautet: Der Händler wartet, bis sich ein Kunde meldet. Gemeldet wird, sobald der Rest im Tank nur noch für etwa einen Tag reicht. Dazu kommt ein kleiner Sicherheitsabstand für Tage mit höherem Verbrauch. Wer sich gemeldet hat, kommt auf die Tour, sonst niemand. Man nennt sie reaktiv, weil der Händler nur reagiert.

Die Idee: Nachbarn gleich mitnehmen

Heute fährt der Wagen zu einem Kunden, der sich gemeldet hat. Ein anderer Kunde wohnt nur wenig abseits der Strecke. Sein Tank reicht noch ein paar Tage. Der Händler kann ihn auf dieser Fahrt gleich mitfüllen. Das nennen wir bündeln.

Das Bild dazu kennen Sie vom Einkaufen. Wer ohnehin zum Supermarkt fährt, nimmt die Besorgung für die Nachbarin mit, solange der Kofferraum Platz hat. Das spart die zweite Fahrt.

Zwei Dinge begrenzen das Mitnehmen. Der Umweg muss klein bleiben, und der Wagen muss noch genug Öl für den Mitgenommenen fassen.

Das Programm zum Ausprobieren

Zu dieser Seite gehört ein Programm zum Ausprobieren im Browser, die Demo. Der erste Knopf unten öffnet es. Der zweite Knopf führt zum zweiten Teil für Fachleute. Zum Verstehen brauchen Sie die Demo nicht.

Das Programm rechnet nicht mit einem echten Händler, sondern mit einem vereinfachten Rechenbild (Fachwort: Modell). Darin gibt es ein Lager, Kunden rundherum und Tankwagen. Der Verbrauch jedes Kunden ist erfunden und schwankt von Tag zu Tag. Die Aussagen in diesem Teil beschreiben dieses Rechenbild, nicht die Wirklichkeit.

Für einen fairen Vergleich lässt das Programm jede Regel 120 Tage lang fahren, mit denselben Kunden und demselben Verbrauch. Das wiederholt es für 200 erfundene Liefergebiete, also 200 verschiedene Verteilungen von Kunden und Verbrauch, und bildet den Mittelwert.

Was die Messung zeigt

Nehmen wir das Liefergebiet, mit dem die Demo startet. Ein Wagen fasst dort etwa drei Lieferungen. Im Mittel über die 200 Gebiete spart Bündeln 17 % der Kosten. In keinem der 200 Gebiete war Bündeln teurer als die reaktive Regel.

Warum es spart: Mit Bündeln fahren die Wagen im Mittel seltener, und jede Tour versorgt mehr Kunden. Die Zahl der Besuche steigt dabei sogar. Aber ein Besuch auf einer ohnehin fahrenden Tour kostet nur einen kleinen Umweg. Eine eigene Tour kostet die ganze Hin- und Rückfahrt. Gespart wird also durch weniger, vollere Touren.

Am stärksten hängt der Gewinn von der Größe des Wagens ab. Fasst der Wagen gerade eine Lieferung, ist nichts zu bündeln, und der Gewinn liegt unter 1 %. Fasst er etwa drei, sind es 17 %. Fasst er etwa zehn, sind es 33 %. Je mehr Lieferungen hineinpassen, desto mehr Nachbarn passen mit.

Wo Bündeln schiefgeht

Zu großzügig mitzunehmen kippt den Gewinn ins Negative. Angenommen, der Händler nimmt auch Kunden mit, die weit abseits liegen und deren Tank noch lange reicht. Dann kann der Umweg so viel kosten wie eine eigene Fahrt, und gespart wird nichts. Zudem passt in einen noch vollen Tank wenig Öl. Der Kunde ist deshalb früher wieder dran, und das kostet zusätzliche Besuche. Dieser zweite Grund ist eine Deutung, gemessen ist nur das Ergebnis.

Teurer wurde Bündeln in der Messung fast nur, wenn der Umweg bis zu einer ganzen Hin- und Rückfahrt kosten durfte. Durfte er höchstens 25 % einer eigenen Fahrt kosten, war Bündeln, gemittelt über 200 Gebiete, in keiner der Messungen teurer.

Eine andere Idee: früher liefern

Statt zu bündeln, könnte der Händler früher liefern. Er füllt dann schon nach, wenn der Tank noch für ein paar Tage reicht. Das ist sicherer, weil jeder Tank länger Reserve hat. Es kostet aber mehr: Der Händler fährt öfter, auch zu abgelegenen Kunden, und spart keine Tour. Schon ein Tag früher kostete in der Messung 7 % mehr als die reaktive Regel. Zwei Tage früher ließen keine einzige Fehlmenge zu. Sicherheit wird hier mit Fahrkosten erkauft.

Wie nah am besten Plan?

Für ein kleines Liefergebiet mit sieben Kunden und sechs Tagen kann ein Rechenprogramm den billigsten möglichen Plan ausrechnen. Die reaktive Regel liegt dort etwa 30 % darüber. Bündeln liegt nur noch etwa 12 % darüber. Ganz erreicht die einfache Mitnahmeregel den besten Plan also nicht.

Häufige Missverständnisse

  • „Bündeln spart, weil es Tanks vor dem Leerlaufen schützt.“ Kaum. Verbraucht jeder Kunde jeden Tag gleich viel, ändert sich der Gewinn um weniger als 1 Prozentpunkt. Er kommt vor allem aus volleren Wagen. Die Fehlmenge sank beim Bündeln im Mittel, stieg aber in mehr als einem von fünf Gebieten. Warum, hat die Messung nicht geklärt.
  • „Früher liefern ist dasselbe wie bündeln, nur sicherer.“ Beides beliefert manche Kunden früher. Der Unterschied ist, wen. Bündeln nimmt nur Kunden mit, die am Weg liegen. Früher liefern fährt zu allen früher, auch zu abgelegenen, und darum kostet es mehr.

Woran Sie das im Alltag erkennen

Anzeichen, die für jeden Haushalt gelten:

  • Sie fahren oft mit leerem Kofferraum los. Dann ist Platz da, und die Fahrt ist ohnehin bezahlt.
  • Sie fahren für eine Kleinigkeit eigens los, obwohl morgen ohnehin ein ähnlicher Weg ansteht. Prüfen Sie dann, ob Warten oder Mitnehmen die Extrafahrt spart.
  • Sie besorgen bei jeder Gelegenheit alles Mögliche, auch weit abseits. Dann kostet der Umweg so viel wie eine eigene Fahrt, und der Vorteil fällt weg.

Wie ernst ist das Rechenbild zu nehmen?

Das Rechenbild ist stark vereinfacht: ein Lager, Entfernungen als gerade Linien, ein Wagentyp, keine festen Lieferzeiten beim Kunden. Tankgrößen, Verbrauch und Wagengröße sind erfunden und nicht an echten Tanks geprüft. Den besten Plan gibt es nur für das kleine Gebiet. Ob der Abstand auch in großen Gebieten gilt, wissen wir nicht.

Was Sie mitnehmen:

  • Fragen Sie vor einer Extrafahrt: Fährt ohnehin jemand in diese Richtung, und ist noch Platz?
  • Legen Sie vorher fest, wie groß der Umweg höchstens sein darf. Wer nur Kleinigkeiten mitnimmt, fährt besser als wer alles mitnimmt.
  • Ein früher Nachschub hat einen Preis, nämlich zusätzliche Fahrten. Wägen Sie ihn gegen die Vorsicht ab.

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. Gegenstand ist das Inventory Routing Problem (IRP): Tourenplanung mit Bestand beim Kunden über mehrere Tage. Ein Depot beliefert Kunden mit Tanks, jeder Kunde verbraucht täglich, und an jedem Morgen ist zu entscheiden, welche Kunden auf die Touren kommen, wie viel sie erhalten und in welcher Reihenfolge. Die Frage lautet, wie viel es spart, Kunden mit kleiner Restreichweite auf ohnehin fahrenden Touren mitzunehmen (bündeln), statt erst zu liefern, wenn sie melden (reaktiv), und wovon das abhängt.

  • Instanz: 20 Kunden gleichverteilt in einem Quadrat 100 × 100, Depot in der Mitte, euklidische Entfernung, Kosten gleich Strecke. Mittlerer Tagesverbrauch \(\mu_i\) zwischen 6 und 14 Einheiten, Tankgröße \(C_i = \mu_i \cdot D_i\) mit der Tankdauer \(D_i\) von 8 bis 14 Tagen, Anfangsbestand 25 bis 100 % des Tanks. Der Tagesverbrauch \(d_i(t)\) ist Gamma-verteilt (nichtnegativ, rechtsschief) mit Mittel \(\mu_i\) und Variationskoeffizient \(\sigma\) (Voreinstellung 0,3; \(\sigma = 0\) ist deterministisch). Für alle Regeln gilt derselbe Verbrauchsstrom.
  • Flotte und Lieferung: Wagenkapazität \(Q = 300\), höchstens \(F = 6\) Touren je Tag. Geliefert wird am selben Morgen, der Tank wird bis zur Obergrenze gefüllt: \(x_i = \min(C_i - I_i, Q)\). Jeder Kunde kommt höchstens einmal je Tag dran. Reichen die Touren nicht, wird der am wenigsten dringende Kunde zurückgestellt.
  • Zielgröße: \(J\) ist die Fahrstrecke plus Strafe mal Fehlmenge minus Bewertung des Restbestands über \(T = 120\) Tage (Formel unten). Die Fehlmenge geht verloren, die Strafe ist \(p = 5\) je Einheit. Im Ausgangsfall besteht \(J\) fast nur aus Fahrstrecke (die bewertete Fehlmenge ist klein dagegen, siehe Zeile 3). Die Bewertung \(\tau\) verhindert, dass volles Auffüllen am Ende bevorzugt wird: \(\tau\) ist die Gesamtfahrstrecke der reaktiven Regel geteilt durch die insgesamt gelieferte Menge, über die 200 Instanzen der Konfiguration; in der Kleininstanz ist \(\tau = 0{,}6\).
  • R, reaktiv: Kunde \(i\) ist fällig, wenn sein Bestand unter \(\mu_i(1 + \kappa\sigma)\) fällt, also nicht mehr für einen Tag plus \(\kappa\sigma\) Tage reicht; \(\kappa = 1\) ist ein Sicherheitsfaktor, die Meldegrenze enthält \(\kappa\sigma\) Tage Reserve für schwankenden Verbrauch. Nur Fällige kommen auf die Tour. Die Touren entstehen mit dem Savings-Verfahren (Touren werden schrittweise zusammengelegt, wo das am meisten Strecke spart) und werden mit 2-opt verbessert (Austausch zweier Kanten einer Tour, solange sie dadurch kürzer wird).
  • P(H; γ), bündeln: wie R, dazu werden Kunden mit Restreichweite bis \(1 + \kappa\sigma + H\) Tage auf den vorhandenen Touren mitgenommen, wenn die billigste Einfügung höchstens \(\gamma\) mal die Hin- und Rückfahrt Depot–Kunde kostet und die Kapazität reicht. Gibt es keine fällige Tour, wird nichts mitgenommen. \(H = 0\) ist R. Gitter: \(H \in \{1, 2, 3, 4, 6, 8, 12\}\) Tage, \(\gamma \in \{0{,}1;\ 0{,}25;\ 0{,}5;\ 1{,}0\}\), Voreinstellung P(3; 0,5).
  • E(L), früher liefern: die Meldegrenze wird um \(L \in \{1, 2, 3\}\) Tage angehoben, ohne Bezug zu den Touren. Das ist die Gegenprobe: früher liefern gegen bündeln.
  • Exakter Maßstab: Kleininstanz mit 7 Kunden und 6 Tagen, deterministisch, eine Tour je Tag, Tanks für 3 bis 6 Tage, Wagen 150 bzw. 250, ganzzahlig; gelöst mit CP-SAT (Kreis mit optionalen Kunden je Tag, Mengen, Bestand nicht negativ), 30 Instanzen je Wagen, alle bewiesen optimal.
  • Messreihe: 27 Konfigurationen × 32 Regeln × 200 Instanzen × 120 Tage, gepaart auf denselben Instanzen und Verbrauchsströmen. Die 32 Regeln sind R, die 28 Gitterregeln P(H; γ) und die 3 Regeln E(L). Ausgehend vom Ausgangsfall (20 Kunden, Wagen 300, 6 Touren je Tag, \(\sigma = 0{,}3\), Strafe 5) variiert jede Konfiguration (im Folgenden Zelle) im Wesentlichen einen Parameter auf diesen Stufen: Kunden 10 / 20 / 40, Wagen 100 / 150 / 200 / 300 / 450 / 600 / 1000, Touren je Tag 1 / 2 / 6, \(\sigma\) = 0 / 0,15 / 0,3 / 0,6 / 1,0, Strafe 1 / 5 / 25 / 100. Dazu kommen 40 Kunden mit Wagen 600, 1 Tour mit Wagen 300, 2 Touren mit Wagen 150 und acht Zellen außerhalb dieser Stufen: geklumpte Kunden, Depot weit außen und in der Ecke, Meldegrenze \(\kappa = 0\) und 2, kurze und lange Tanks sowie Wagen 250 mit einer Tour je Tag. Die Kennzahl Auslastung ist die mittlere Liefermenge je Tour im Verhältnis zur Wagenkapazität. Die beste Gitterzelle wird kreuzvalidiert gewählt: Auswahl auf den Instanzen mit gerader Nummer, Bewertung auf denen mit ungerader, und umgekehrt.

Die Formeln

Dynamik. \(I_i(t)\) ist der Bestand von Kunde \(i\) am Tagesanfang mit \(0 \le I_i \le C_i\), \(d_i(t)\) der Verbrauch am Tag \(t\), \(x_i(t) \ge 0\) die Liefermenge. Die Mengen einer Tour summieren sich auf höchstens \(Q\), und es gilt \(x_i \le C_i - I_i\). Das Zeichen \(d\) steht für den Verbrauch, wenn es einen Tag trägt, und für die Entfernung, wenn es zwei Orte trägt. Die Fehlmenge \(s_i(t)\) ist der Verbrauch, den Bestand und Lieferung nicht decken:

\[I_i(t+1) = \max\bigl(0,\; I_i(t) + x_i(t) - d_i(t)\bigr),\qquad s_i(t) = \max\bigl(0,\; d_i(t) - I_i(t) - x_i(t)\bigr).\]

Ziel. Mit der Fahrstrecke \(c(\text{Touren}_t)\) der Touren des Tages \(t\), der Strafe \(p\) je Einheit Fehlmenge und der Bewertung \(\tau\) des Restbestands:

\[\min\; \sum_t c(\text{Touren}_t) + p \sum_{t,i} s_i(t) - \tau \Bigl(\sum_i I_i(T) - \sum_i I_i(0)\Bigr).\]

Mitnahmeregel. P(H; γ) nimmt einen nicht fälligen Kunden \(i\) zusätzlich mit, wenn bei ausreichender Kapazität gilt (links die Restreichweite in Tagen, rechts die Mehrstrecke \(\Delta_i\) der billigsten Einfügung gegen den Anteil \(\gamma\) der Hin- und Rückfahrt Depot–Kunde):

\[\frac{I_i}{\mu_i} \le 1 + \kappa\sigma + H,\qquad \Delta_i \le \gamma \cdot 2\, d(0, i)\]

Gewinn. Der Gewinn einer Regel \(\pi\) gegenüber R ist \(g = 100 \cdot (\bar J_R - \bar J_\pi)/\bar J_R\) in Prozent der mittleren reaktiven Kosten, mit dem Mittel \(\bar J\) über die 200 Instanzen (positiv heißt: \(\pi\) ist billiger). Angegeben ist das Mittel der gepaarten Differenz mit seinem Standardfehler \(\mathrm{SE}\), der Standardabweichung der gepaarten Differenzen geteilt durch \(\sqrt{N}\) (ebenfalls auf \(\bar J_R\) bezogen, \(N = 200\)). Ein Vorzeichen gilt als belastbar, wenn \(|\bar g| > 2\,\mathrm{SE}\). Median und Quartile beziehen sich auf die Einzelgewinne je Instanz, bezogen auf die reaktiven Kosten dieser Instanz.

Exakter Maßstab. Binäre Bogenvariablen \(x^t_{ij}\) (ein Kreis durch das Depot je Tag mit optionalen Kunden), ganzzahlige Liefermengen \(q^t_i\) (dieselbe Größe wie \(x_i(t)\) oben) und Bestände \(I^t_i \ge 0\); \(d_{ij}\) ist die Entfernung zwischen den Orten \(i\) und \(j\), \(\mu_i\) der feste Tagesverbrauch:

\[\min\; \sum_{t,i,j} d_{ij}\, x^t_{ij} - \tau \sum_i I^T_i,\qquad I^t_i = I^{t-1}_i + q^t_i - \mu_i,\quad I^{t-1}_i + q^t_i \le C_i,\quad \sum_i q^t_i \le Q.\]

Das Optimum erlaubt keine Fehlmenge, die Regeln werden mit der Strafe bewertet.

Rechnungen dieser Seite

Die folgenden Rechnungen stammen von dieser Seite und sind keine Messungen der Demo. Sie benutzen nur Zahlen aus der Messreihe und erklären, warum die gemessenen Werte so aussehen.

Warum der Gewinn an \(Q/\bar q\) hängt (\(\bar q\) ist die mittlere Liefermenge je Besuch bei reaktivem Nachliefern, im Ausgangsfall etwa 100 Einheiten; \(Q/\bar q\) ist die Zahl der Lieferungen, die in einen Wagen passen).

  • Schritt 1: Eine Tour kann höchstens etwa \(Q/\bar q\) Besuche aufnehmen.
  • Schritt 2: Bündeln fügt einen Kunden nur ein, wenn die Kapazität reicht. Bei \(Q/\bar q = 1{,}1\) (Wagen 100) bleibt nach einem fälligen Besuch im Mittel nur ein Zehntel einer Lieferung frei. P(H; γ) kann dann kaum etwas einfügen und verhält sich fast wie R, gemessen sind +0,4 ± 0,1 %.
  • Schritt 3: Mit wachsendem \(Q/\bar q\) passen mehr Mitnehmer in jede Tour, und mehr vermiedene Hin- und Rückfahrten werden möglich. Die gemessene Reihe steigt über alle sieben Stufen, wird aber flacher: Der Zuwachs je zusätzlicher Lieferung im Wagen nimmt ab (Rechnung aus den Werten der Tabelle unten: Zuwachs zwischen benachbarten Stufen geteilt durch den Abstand der Q/q̄-Werte).

Wo die Ersparnis herkommt (Bilanz der Touren im Ausgangsfall).

  • Schritt 1: Besuche je Tour (Besuche geteilt durch Touren aus der Tabelle unten): bei R weniger als zwei, bei P(3; 0,5) mehr als zweieinhalb.
  • Schritt 2: Fahrstrecke je Tour (Strecke geteilt durch Touren): bei P(3; 0,5) um gut ein Zehntel größer als bei R. Jeder Mitnehmer verlängert die Tour also um einen Umweg.
  • Schritt 3: Die Touren werden um 25 % weniger. Das Produkt der beiden Änderungen (drei Viertel der Touren, gut ein Zehntel mehr Strecke je Tour) senkt die Gesamtstrecke um etwa ein Sechstel. Das passt zu den gemessenen −16,8 %.
  • Schritt 4 (Kontrolle): Auslastung mal Wagenkapazität mal Zahl der Touren ergibt für beide Regeln fast dieselbe gelieferte Gesamtmenge, nahe dem erwarteten Gesamtverbrauch (Spannenmitte der Verbrauchsrate, Kundenzahl, Tage). Bündeln liefert also dieselbe Menge in weniger Touren.
  • Folgerung: Eine vermiedene Tour spart die ganze Hin- und Rückfahrt, ein Mitnehmer kostet nur seinen Umweg. Der Gewinn von 17,0 % und die Streckeneinsparung von 16,8 % liegen deshalb nahe beieinander. Beide haben verschiedene Nenner: Bezogen auf die reaktiven Gesamtkosten macht die Strecke 16,5 Prozentpunkte aus. Den kleinen Rest teilen sich die bewertete Restbestandsänderung (etwa 0,3 Punkte) und die niedrigere Fehlmenge (etwa 0,2 Punkte); grobe Rechnung dieser Seite aus den Mittelwerten der Messreihe.

Warum P bei \(\gamma = 1\) kippt (Deutung, nicht gemessen).

  • Schritt 1: Ein Mitgenommener hat mehr Restbestand als ein fälliger Kunde. Seine Liefermenge \(x_i = C_i - I_i\) ist kleiner.
  • Schritt 2: Über \(T\) Tage braucht Kunde \(i\) etwa \(T\mu_i/\bar x_i\) Besuche, mit der mittleren Liefermenge \(\bar x_i\). Kleinere Mengen heißen mehr Besuche. Gemessen steigen die Besuche schon bei P(3; 0,5) um 9 %.
  • Schritt 3: Bei \(\gamma = 1\) darf der Umweg \(\Delta_i\) bis zu \(2d(0, i)\) betragen, also so viel wie eine eigene Tour. Dann entfällt die Ersparnis, und die zusätzlichen Besuche bleiben. Bei \(\gamma \le 0{,}25\) ist der Umweg höchstens ein Viertel davon. Dazu passt die Messung: 44 der 46 negativen Kombinationen haben \(\gamma = 1\), keine hat \(\gamma \le 0{,}25\).

Warum E(L) die Besuche erhöht, aber keine Tour spart (grobe Näherung).

  • Schritt 1: Mit der Tankdauer \(D_i = C_i/\mu_i\) in Tagen liefert ein Besuch bei Bestand \(I_i \approx \mu_i(1+\kappa\sigma)\) die Menge \(x_i \approx \mu_i\,(D_i - 1 - \kappa\sigma)\).
  • Schritt 2: Damit ist die Besuchszahl je Kunde etwa \(T/(D_i - 1 - \kappa\sigma)\), unabhängig von \(\mu_i\). Bei E(L) steht \(L\) mit im Abzug: \(T/(D_i - 1 - \kappa\sigma - L)\).
  • Schritt 3: Mit der Spannenmitte der Tankdauer (angenommen gleichverteilt, nur die Spanne 8 bis 14 Tage ist bekannt), \(\kappa\sigma = 0{,}3\) und \(L = 2\) ergibt die Näherung für R eine Besuchszahl nahe dem gemessenen Wert und für E(2) gut ein Viertel mehr. Gemessen sind 238,1 für R und 303,6 für E(2), ebenfalls gut ein Viertel mehr.
  • Folgerung: Die zusätzlichen Besuche von E(L) kommen aus kleineren Liefermengen und nicht aus einer Bündelung. Dazu passt, dass die Tourenzahl nicht sinkt, sondern leicht steigt (137,0 gegen 132,8).

Befunde

Die Zahlen stammen aus der Messreihe mit 200 Instanzen je Zelle. Der Gewinn ist das Mittel der gepaarten Differenz in Prozent der mittleren reaktiven Kosten, „±“ ist der Standardfehler. Wo nichts anderes steht, gilt der Ausgangsfall (20 Kunden, Wagen 300, 6 Touren je Tag, \(\sigma = 0{,}3\), Strafe 5) mit der Regel P(3; 0,5) und \(Q/\bar q\) als Verhältnis von Wagenkapazität zu mittlerer Liefermenge.

FrageBefund
1 · Wie groß ist der Gewinn?+17,0 ± 0,3 % (Median 16,9 %, Quartile [15,1; 18,7], Minimum 10,5, Maximum 24,8; in 0 % der 200 Instanzen ein Verlust). Die kreuzvalidiert gewählte beste Gitterzelle (H = 8, γ = 0,25) bringt +20,5 %. Je 120 Tage: Touren 132,8 → 99,7 (−25 %), Besuche 238,1 → 260,5 (+9 %, davon 101,7 Mitnahmen), Auslastung 0,59 → 0,79, Fahrstrecke 14.694 → 12.220 (−16,8 %).
2 · Wirkt die Wagenkapazität?Q = 100 / 150 / 200 / 300 / 450 / 600 / 1000 (Q/q̄ = 1,1 / 1,5 / 2,0 / 3,0 / 4,5 / 6,0 / 10,1): +0,4 / +6,3 / +10,7 / +17,0 / +25,4 / +29,9 / +33,2 %; beste Zelle kreuzvalidiert +1,3 / +9,0 / +13,7 / +20,5 / +29,6 / +34,6 / +40,2 %. Rangkorrelation zwischen Gewinn und Q/q̄ über 23 der 27 Konfigurationen (ohne σ = 1,0 und die drei Zellen mit knapper Flotte, die Massenfehlmengen haben): 0,70 (Geometrie und Dichte wirken zusätzlich).
3 · Wirkt die Unsicherheit?σ = 0 / 0,15 / 0,3 / 0,6 / 1,0: +16,5 / +17,0 / +17,0 / +17,1 / +17,3 %. Strafe 1 / 5 / 25 / 100: +16,9 / +17,0 / +17,5 / +19,0 %. Ohne jede Zufallsschwankung bleibt der Gewinn fast ganz erhalten. Er ist vor allem ein Auslastungs-, kaum ein Sicherheitseffekt, weil im Ausgangsfall die mit der Strafe bewertete Fehlmenge gegen die Fahrstrecke klein ist; bei der höchsten Strafe steigt der Gewinn.
4 · Wo kippt die Mitnahme?Im Ausgangsfall sind 26 von 28 Gitterkombinationen billiger als R, 5 liegen höchstens 3 Prozentpunkte unter der besten. Über alle 27 Zellen sind 46 von 756 Kombinationen im Mittel teurer als R, davon 44 mit γ = 1,0 und keine mit γ ≤ 0,25. Am schlechtesten: Wagen 150 mit zwei Touren je Tag, H = 12, γ = 1: −30,0 ± 0,7 %; Wagen 150 mit 6 Touren, H = 12, γ = 1: −26,3 %. Vorschau allein, ohne γ-Schwelle, ist keine Lösung.
5 · Ist früher liefern eine Alternative?E(L) mit L = 1 / 2 / 3 Tage: −7,0 / −16,3 / −27,1 % (teurer als R). In 75 von 81 Paaren aus Regel und Zelle ist E teurer, positiv nur bei knapper Flotte oder sehr hoher Strafe. E(2) im Ausgangsfall: Besuche 303,6 gegen 238,1, Touren 137,0 gegen 132,8, Fahrstrecke 17.341 gegen 14.694, dafür Fehlmenge 0,0 gegen 14,4 Einheiten.
6 · Und bei knapper Flotte?Eine Tour je Tag (Wagen 300): +19,2 ± 0,3 %, Fehlmenge 386 → 130 Einheiten; Wagen 250: +30,4 ± 1,1 %, Fehlmenge 1973 → 639; zwei Touren mit Wagen 150: +7,9 ± 0,3 % (511 → 353). Im Ausgangsfall sinkt die Fehlmenge im Mittel von 14,4 auf 8,5 Einheiten, ist aber in 22,5 % der Instanzen beim Bündeln höher.
7 · Wie weit vom Optimum? (Kleininstanz, 30 Instanzen je Wagen)Reaktiv liegt 28,7 ± 2,1 % (Wagen 150) bzw. 32,3 ± 2,2 % (Wagen 250) über dem Optimum, P(3; 0,5) 12,7 ± 1,8 % bzw. 11,5 ± 1,4 %. Die Regel schließt im Mittel der Einzelinstanzen 48 % bzw. 61 % der reaktiven Lücke (aus den Mittelwerten der Lücken allein ergäbe sich ein etwas größerer Anteil, Rechnung dieser Seite). Touren in 6 Tagen (Optimum / reaktiv / P(3; 0,5)): 3,03 / 4,67 / 3,70 bzw. 2,53 / 4,67 / 3,37; die reaktive Tourenzahl ist bei beiden Wagen gleich, die Ursache ist nicht untersucht.
8 · Hängt die Wahl der Voreinstellung an der Stichprobe?P(3; 0,5) wurde nach einer Erkundung auf den Instanzen 0 bis 59 gewählt. Auf 100 frischen Instanzen (Nummern 200 bis 299, weder bei der Wahl noch in der Messreihe benutzt): +16,7 ± 0,3 % (Median 16,5 %, Quartile [14,8; 18,1], Minimum 9,3, Maximum 24,9, in 0 % ein Verlust) gegen +17,0 ± 0,3 %; die Differenz der Mittel ist −0,3 % (−0,8 Standardfehler der Differenz). Auch Wagen 100 (+0,4 ± 0,1 %), Wagen 600 (+29,5 ± 0,5 %) und die knappe Flotte (+19,4 ± 0,5 %) stimmen überein.

Was die Messung zeigt und was nicht

Was sie belegt:

  • Vorzeichen und Größenordnung des Gewinns im Modell: gepaarter Vergleich, und der Ausgangswert hält auf Instanzen, die bei der Wahl der Voreinstellung nicht benutzt wurden.
  • Die Reihenfolge der Hebel: Wagenkapazität im Verhältnis zur Liefermenge wirkt, die Verbrauchsschwankung kaum.
  • Die Kipp-Zone: Bei \(\gamma \le 0{,}25\) wurde Bündeln in keiner der 27 Zellen im Mittel teurer als R, bei \(\gamma = 1\) fast nur dort.

Was sie nicht belegt, und Grenzen:

  • Echte Betriebe: Das Modell ist stark stilisiert: ein Depot, euklidische Entfernung, ein Fahrzeugtyp, keine Zeitfenster oder Fahrerregeln, Lieferung am selben Tag, verlorene Fehlmenge ohne Rückstau, jeder Besuch füllt den Tank voll, bekannte Raten und beobachteter Bestand, Verbrauch unabhängig zwischen Kunden und Tagen. Gebiet, Raten, Tankgrößen, Wagengröße und Strafe sind erfunden, nicht kalibriert; die Prozentwerte gelten für dieses Modell. \(Q/\bar q \approx 3\) im Ausgangsfall ist für Tankwagen praxisnah, aber nicht belegt.
  • Die Regel ist einfach und selbst gewählt. Die beste Gitterzelle liegt meist bei langer Vorschau und enger Schwelle (H = 8 bis 12, γ = 0,1 bis 0,25), in 9 von 27 Zellen am Rand des Gitters (H = 12 oder γ = 0,1); ein größeres Gitter könnte mehr bringen. Die Kreuzvalidierung trennt Auswahl und Bewertung der besten Zelle, bleibt aber an dieser Instanzfamilie orientiert. Als Größenordnung für Bündelungsvorteile des Inventory Routing gegenüber getrennter Planung werden 10 bis 30 % genannt, ohne Einzelquelle und hier ungeprüft. Der Gewinn dieser Seite ist eine Messung an einem eigenen, einfachen Modell, weder Übernahme noch Neuentdeckung.
  • Tourgüte: Savings und 2-opt sind nur bis 6 Kunden gegen das exakte CVRP geprüft (mittlere Lücke 0,12 %, Median 0, Maximum 6,13 %, in 93 % der Instanzen exakt optimal). Bei 20 bis 40 Kunden ist die Güte nicht gemessen. Die Vergleiche zwischen den Regeln sind davon weniger betroffen als absolute Kosten.
  • Das Optimum: Es existiert nur für die Kleininstanz. Für die stochastische Basis mit 20 Kunden und 120 Tagen ist keines gerechnet, die Lücke von 12 bis 13 % muss dort nicht gleich sein. Der Vergleich ist außerdem ungleich: Das Optimum erlaubt keine Fehlmenge, die Regeln werden mit Strafe bewertet.
  • Genauigkeit: Einzelne Instanzen streuen (Ausgangsfall: Quartile 15,1 bis 18,7 %). Die Regler der Demo erlauben 1260 Kombinationen, nur 19 davon sind gemessene Zellen; für die übrigen zeigt die Demo die nächstliegende gemessene Zelle. Die Befunde dieser Seite beziehen sich nur auf die 27 gemessenen Zellen.
  • Keine Garantie auf weniger Fehlmenge: Bündeln senkt sie im Mittel, aber in 22,5 % der Instanzen des Ausgangsfalls ist sie höher. Die Ursache ist nicht untersucht.
  • Modellwahlen: Die Bewertung \(\tau\) des Restbestands ist eine Modellwahl; bei knappen Flotten und in der Kleininstanz (6 Tage) wirkt sie stärker als im Ausgangsfall. Bei knapper Flotte wird nach Dringlichkeit zurückgestellt, nicht optimiert.
  • Maßstab und Mehrfachvergleiche: Außer R gibt es keinen Gegenmaßstab (feste Touren oder Mengenwahl je Besuch fehlen); der Gewinn ist relativ zu R zu lesen. Die 2-SE-Schwelle korrigiert keine Mehrfachvergleiche (756 Kombinationen).

Erweiterungen und Verweise

Weitere Auslassungen: Mengenwahl je Besuch (hier füllt jeder Besuch den Tank voll), mehrere Depots und Fahrzeugtypen, Korrelation und Wochenmuster im Verbrauch, Rückstau statt verlorener Fehlmenge, Lieferzeit größer als null, Kalibrierung an echten Tankdaten, ein größeres Regelgitter oder eine gelernte Mitnahmeregel. Verwandtes zeigen andere Demos dieser Website:

Quellen

  • Überblicke zum Inventory Routing: Coelho, Cordeau, Laporte (2014): Thirty years of inventory routing. Transportation Science 48(1), 1–19. Bertazzi, Speranza (2012): Inventory routing problems: an introduction. EURO Journal on Transportation and Logistics 1, 307–326.
  • Tourenbausteine: Clarke, Wright (1964): Scheduling of vehicles from a central depot to a number of delivery points. Operations Research 12(4), 568–581 (Savings-Verfahren). Croes (1958): A method for solving traveling-salesman problems. Operations Research 6(6), 791–812 (2-opt).
  • Exakter Maßstab: CP-SAT aus Google OR-Tools.
  • Quelltext, Messreihen und Tests der Demo: github.com/sebastian-hanisch/inventory-routing-demo.

Die Literaturangaben stammen aus dem Gedächtnis und wurden für diese Seite nicht nachgeschlagen. Die Größenordnung von 10 bis 30 % Bündelungsvorteil ist ohne Einzelquelle übernommen und nicht geprüft. Das Beispiel mit dem Heizöl-Händler im ersten Teil ist erdacht, und die Rechnungen im zweiten Teil sind Rechnungen dieser Seite und keine Messungen.