Optimierung unter Unsicherheit · Verständlich erklärt

Robust planen verständlich erklärt

Sie müssen heute Vorräte festlegen, obwohl niemand weiß, wie viel morgen gebraucht wird. Eine Möglichkeit: für den schlimmsten Fall planen, den man noch für möglich hält. Diese Seite zeigt, was dieser Schutz kostet und wann er greift.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

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

Sechs Filialen, ein Abend

Stellen Sie sich einen kleinen Bäckereiverbund mit 6 Filialen vor. Am Vorabend legt die Chefin fest, wie viele Brötchen jede Filiale bekommt. Dieser Vorrat wird gebacken und bezahlt, ob er verkauft wird oder nicht.

Wie viele Kunden morgen kommen, weiß am Abend niemand. Bleibt Ware übrig, ist sie verloren. Fehlt Ware, gibt es drei Auswege:

  • Aushelfen: Eine Nachbarfiliale mit Überschuss gibt Ware ab. Das kostet die Fahrt.
  • Zukaufen: Ware kommt am Morgen von einem Großhändler. Das kostet je Stück mehr als Selbstbacken.
  • Wegschicken: Die Kundin geht leer aus. Das ist der teuerste Ausweg.

Der naheliegende Plan gibt jeder Filiale genau so viel Vorrat, wie sie im Durchschnitt braucht (Fachwort: Mittelwertplan). An einem durchschnittlichen Tag ist das der billigste Plan. An einem Tag mit viel Andrang landen die Filialen bei den teuren Auswegen.

Planen für den schlimmsten Tag

Die Chefin kennt keine Wahrscheinlichkeiten, nur grobe Grenzen. Sie legt fest: Jede Filiale braucht höchstens 40 % mehr oder weniger als üblich. Das ist ihre Annahme, keine Messung.

Alle 6 Filialen zugleich am Limit wäre sehr pessimistisch. Darum gibt sie ein Budget für Ausreißer vor, so als hätte sie Chips. Ein Ausreißer ist eine Filiale, die stark vom Üblichen abweicht. Ein Chip erlaubt einer Filiale, ihr volles Limit auszureizen.

Wer nur halb so weit abweicht, verbraucht nur einen halben Chip. Beispiel mit 2 Chips: Zwei Filialen dürfen je 40 % abweichen. Oder vier Filialen dürfen je 20 % abweichen, denn 20 % ist halb so viel wie 40 %. Das Budget läuft von keinem Chip bis zu 6 Chips. Ohne Chips ist nur der Durchschnittstag erlaubt. Mit 6 Chips dürfen alle 6 Filialen zugleich ihr volles Limit ausreizen. Jede Chipzahl heißt Stufe: Stufe 2 bedeutet 2 Chips.

Ein Tag ist hier eine Kombination: Für jede Filiale steht fest, ob sie mehr, weniger oder das Übliche braucht. Alle Kombinationen, die zu Limit und Budget passen, bilden ihre Menge möglicher Tage. Beispiel mit 2 Chips: Die erste Filiale braucht 40 % mehr, die zweite 40 % weniger, die anderen das Übliche. Die Chefin plant für den teuersten Tag dieser Menge (Fachwort: robuste Planung).

Das Ergebnis ist ein Puffer: Sie backt mehr, als der Durchschnitt verlangt. Der Grund: Ein Brötchen zu viel kostet nur das Backen. Ein Brötchen zu wenig kostet an einem Andrangtag mehr, zum Beispiel den Zukauf. Wer für den Andrangtag plant, kauft den Puffer deshalb lieber vorher. Je größer das Budget, desto größer der Puffer. Bei Stufe 6 liegt der Vorrat insgesamt 40 % über dem Durchschnitt. Das passt zum Tag, an dem alle Filialen zugleich 40 % mehr brauchen.

Das Programm zum Ausprobieren

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

Die Demo rechnet mit einem vereinfachten Rechenbild (Fachwort: Modell) aus erfundenen Filialen und festen Preisen. Sie vergleicht den Mittelwertplan mit dem robusten Plan und prüft beide an 600 zufälligen Tagen. An diesen Tagen halten sich die Filialen nicht an das Limit. Braucht eine Filiale an einem solchen Tag mehr als 40 % mehr, liegt der Tag außerhalb der Menge der Chefin.

Gemessen werden zwei Dinge: die durchschnittlichen Kosten aller zufälligen Tage und die durchschnittlichen Kosten der teuersten 5 % von ihnen (Fachwort: CVaR). In der Demo heißt das Budget Γ. Die Aussagen auf dieser Seite beschreiben dieses Rechenbild, nicht eine echte Bäckerei.

Was die Absicherung kostet und bringt

Im Beispiel der Demo gilt ein Limit von 40 % und Stufe 2. Gegenüber dem Mittelwertplan kostet der robuste Plan im Durchschnitt aller Tage rund 6 % mehr. Die teuersten Tage werden dafür rund 9 % billiger. Diese Entlastung nennen wir den Schutz.

Eine höhere Stufe gibt mehr Schutz und kostet mehr. Bei Stufe 6, dem vollen Budget, steigen die durchschnittlichen Kosten um gut 20 %. Die teuersten Tage werden um gut 20 % billiger.

Die ersten Stufen bringen im Verhältnis am meisten. Schon Stufe 3 bringt mehr als die Hälfte des größten Schutzes und kostet weniger als die Hälfte der größten Mehrkosten. Die beiden letzten Stufen schützen vor Tagen, an denen fast alle oder alle Filialen zugleich ausreißen. Diesen Vorrat bezahlt die Chefin an jedem anderen Tag mit. Welche Stufe richtig ist, muss die Chefin entscheiden. Die Rechnung zeigt nur diese Abwägung.

Wofür der Schutz gilt

Der robuste Plan verspricht etwas Bestimmtes: Für den teuersten Tag der Menge ist er billiger als der Mittelwertplan. Diese Zusage gilt nur für Tage in der Menge.

Die 600 zufälligen Tage halten sich nicht an die Grenzen der Chefin. Bei Stufe 2 liegen nur 6 % dieser Tage in ihrer Menge, selbst bei Stufe 6 nur 30 %. Für alle anderen Tage gibt es keine Zusage. Der Plan hilft ihnen nur, weil er Puffer hat.

Eine Deutung: An einem gewöhnlichen Tag weichen mehrere Filialen zugleich ein Stück ab. Das verbraucht das Budget schnell, und manche Filiale überschreitet ihr Limit.

Häufige Missverständnisse

  • „Robust planen braucht keine Annahmen.“ Doch. Limit und Budget setzt die Chefin selbst. Setzt sie beides falsch, verschenkt sie Geld oder Schutz.
  • „Absichern hilft immer.“ Nicht ohne Spielraum. Angenommen, der Ofen schafft insgesamt nur etwas weniger, als der Durchschnitt verlangt. Dann kann die Chefin keinen Puffer backen. Sie kann den Vorrat nur zwischen den Filialen verschieben. In der Messung änderte das die Kosten kaum, weder im Durchschnitt noch bei den teuersten Tagen.

Woran Sie das im Alltag erkennen

Anzeichen, die für jede Planung gelten:

  • Sie müssen etwas festlegen, bevor Sie wissen, wie viel gebraucht wird, und Nachbessern kostet später mehr. Beispiel: das Essen für eine Feier.
  • Jemand sagt: „Wir planen für den Ernstfall.“ Fragen Sie nach den Annahmen dahinter und danach, was dieser Plan an gewöhnlichen Tagen kostet.
  • Eine Stufe der Sicherheit wird angepriesen, aber niemand sagt, was die nächste noch bringt.

Wie ernst ist das Rechenbild zu nehmen?

Die Filialen und Preise im Rechenbild sind erfunden. Die Prozentzahlen dieser Seite stammen aus einer einzigen Zusammenstellung davon. Die Demo kann andere erzeugen, gemessen ist nur diese. Mit anderen Preisen ändern sich die Prozentzahlen. Prüfen Sie, ob Ihr Fall ähnlich gebaut ist, bevor Sie die Richtung übertragen.

Was Sie mitnehmen:

  • Eine Absicherung ist nur so gut wie ihre Annahmen. Fragen Sie, wie viele wirkliche Fälle sie überhaupt trifft.
  • Prüfen Sie nicht nur, was die erste Stufe bringt, sondern auch, was die letzte noch bringt.
  • Absichern ist ein Kauf: Man zahlt an gewöhnlichen Tagen für den schlimmen. Überlegen Sie, wie viel Ihnen das wert ist.

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 das Verfahren der Demo, die Voraussetzungen der Messzahlen und ihre Grenzen.

  • Entscheidungsproblem: An 6 Standorten wird Kapazität \(x_j \ge 0\) zum Preis \(c\) je Einheit vorgehalten, bevor die Nachfrage \(D = (D_1, \dots, D_6)\) bekannt ist. Die Summe der \(x_j\) kann durch ein Budget begrenzt sein: „frei“ heißt, dass es nie bindet, „knapp“ heißt höchstens 95 % der mittleren Gesamtnachfrage.
  • Nach der Nachfrage: Die Stufe-2-Kosten \(Q(x, D)\) sind der Optimalwert eines kleinen Flussproblems. Standort \(j\) verteilt höchstens \(x_j\) Einheiten, davon \(y_{jk}\) an Standort \(k\) zum Transportpreis \(\tau_{jk}\) (Umlagerung, \(\tau_{jj} = 0\)). Den Rest deckt Zukauf \(u_k\) zum Preis \(s_k\) bis zu einer Obergrenze \(\bar u_k\); was dann fehlt, ist Fehlmenge \(w_k\) mit Strafpreis \(p\). Es gilt \(\sum_j y_{jk} + u_k + w_k = D_k\), und die Kosten sind \(\sum_{j,k} \tau_{jk} y_{jk} + \sum_k s_k u_k + p \sum_k w_k\). Zukauf kostet je Einheit mehr als Vorhaltung (etwa das Doppelte), die Fehlmenge am meisten (das Dreifache der Vorhaltung); der Zukauf ist auf etwa die Hälfte der mittleren Nachfrage begrenzt. Diese Verhältnisse sind in der Demo fest und werden in der Messung nicht variiert. Das Problem ist zweistufig: \(x\) wird vor der Nachfrage gewählt (here-and-now), die Flüsse \(y\), \(u\), \(w\) danach, angepasst an den eingetretenen Fall (wait-and-see). Robust im Sinne von \(U\) ist nur \(x\). Ohne Umlagerung gilt \(y_{jk} = 0\) für \(j \ne k\).
  • Unsicherheitsmenge: Mittel \(\mu_j\), größte relative Abweichung \(\delta\) je Standort (Voreinstellung 40 %) und Budget \(\Gamma\) auf der Summe der relativen Abweichungen (Voreinstellung 2, wählbar von 0 bis 6), formal \(U(\Gamma,\delta)\) unten. Teilweise Abweichungen verbrauchen das Budget anteilig. Für ganzzahliges \(\Gamma\) liegen die Ecken so, dass \(\Gamma\) Standorte am Rand \(\mu_j(1 \pm \delta)\) und die übrigen bei \(\mu_j\) stehen; darum nennt man \(\Gamma\) die Zahl der gleichzeitig abweichenden Standorte. \(\Gamma = 0\) ist der Mittelwertplan, \(\Gamma = 6\) die volle Box (alle Standorte zugleich am Rand, der klassische Worst Case).
  • Referenz zum Prüfen: 600 gleich wahrscheinliche lognormale Szenarien mit Erwartungswert \(\mu_j\) und einstellbarer Log-Streuung \(\sigma\) (Voreinstellung 35 %). Es gilt \(D_j = \mu_j \exp(\sigma g_j - \sigma^2/2)\) mit \(g_j = \sqrt{\rho}\,z_0 + \sqrt{1-\rho}\,z_j\) und unabhängigen Standardnormalvariablen \(z_0, z_1, \dots, z_6\). Der gemeinsame Faktor \(z_0\) macht die Standorte positiv korreliert; \(\rho = 0{,}4\) ist fest und wird in der Messung nicht verändert. Die Szenarien müssen nicht in \(U\) liegen.
  • Kennzahlen: die mittleren Kosten über die 600 Szenarien; der CVaR 95 % (Mittel der teuersten 5 % der Kosten); der schlimmste Fall in \(U\) (größte Gesamtkosten über die Ecken); die Bedeckung (Anteil der Referenzszenarien in \(U\)). Änderungen stehen in Prozent gegen den Mittelwertplan auf denselben 600 Szenarien.
  • Preis-Nutzen-Kurve und Knick: Der Preis ist die Änderung der mittleren Kosten, der Nutzen die Absenkung des CVaR, beide für \(\Gamma = 0, \dots, 6\) bei gleichem \(\delta\). Der Knick ist das kleinste \(\Gamma\), das mindestens die Hälfte des Nutzens der vollen Box holt.
  • Vergleichsplan: der Plan, der Vorhaltung plus CVaR 90 % der Stufe-2-Kosten einer Stichprobe von 100 Szenarien minimiert (der Erwartungswert der Stufe-2-Kosten geht mit Gewicht null ein, der CVaR mit Gewicht eins). Die Stichprobe wird mit Zurücklegen aus den Referenzszenarien gezogen.
  • Voreinstellung der Messung: Zufalls-Seed 7 (er legt mittlere Nachfragen, Preise und Entfernungen der einen Instanz fest), \(\delta = 40\) %, Streuung 35 %, Kapazitätsbudget frei, Umlagerung an.

Die Formeln

Die Menge der Nachfragen, gegen die geplant wird, mit Mittel \(\mu\), Abweichung \(\delta\) und Budget \(\Gamma\):

\[U(\Gamma,\delta)=\Big\{D:\; |D_j-\mu_j|\le \delta\mu_j\;\;\forall j,\;\; \sum_j \frac{|D_j-\mu_j|}{\delta\mu_j}\le \Gamma\Big\}\]

Das robuste Problem wählt die Kapazität so, dass Vorhaltung plus Kosten des schlimmsten Falls in \(U\) minimal sind:

\[\min_{x\ge 0}\;\; c\,\mathbf 1^\top x+\max_{D\in U(\Gamma,\delta)} Q(x,D)\]

Weil \(Q(x,\cdot)\) konvex ist, genügt das Maximum über die Ecken. Mit der Menge \(V\) der aufgezählten Ecken \(D_v\) und einer Hilfsvariablen \(t\) wird daraus ein lineares Programm:

\[\min_{x,t}\;\; c\,\mathbf 1^\top x+t\qquad\text{u. d. N.}\qquad t\ge Q(x,D_v)\;\;\forall v\in V\]

Jede Nebenbedingung enthält ein Stufe-2-Problem mit eigenen Flüssen \(y\), \(u\), \(w\). Das Programm wächst deshalb mit der Zahl der Ecken.

Herleitungen Schritt für Schritt

Die Herleitungen und Nachrechnungen dieses Abschnitts sind Rechnungen dieser Seite, keine Messungen der Demo. Wo die Demo dieselbe Aussage prüft, steht es dabei.

Warum das Maximum an einer Ecke liegt.

  • Schritt 1: \(Q(x,D)\) ist der Optimalwert eines linearen Programms, in dem \(D\) nur in der rechten Seite der Gleichungen steht. Solche Optimalwerte sind konvex in \(D\). Das Programm ist für jedes \(D \ge 0\) lösbar, weil die Fehlmenge unbegrenzt zulässig ist.
  • Schritt 2: Eine konvexe Funktion nimmt auf einem Polytop ihr Maximum an einer Ecke an. Das Maximum über \(U\) ist deshalb das größte \(Q(x, D_v)\) über die Ecken \(D_v\).
  • Schritt 3: Die Aufzählung der Demo nimmt alle Punkte mit höchstens \(\Gamma\) Standorten am Rand. Das sind mehr als die echten Ecken von \(U\), die genau \(\Gamma\) Randstandorte haben. Alle Punkte liegen in \(U\), also bleibt das Maximum gleich.
  • Schritt 4: Zur Anzahl: Wähle \(i \le \Gamma\) Standorte und für jeden eines von zwei Vorzeichen. Das ergibt \(\sum_{i=0}^{\Gamma} \binom{6}{i} 2^i\) Punkte: 1 für \(\Gamma = 0\), 13 für \(\Gamma = 1\), 73 für \(\Gamma = 2\) und \((1+2)^6 = 729\) für \(\Gamma = 6\). Die Demo prüft diese Anzahlen und dass alle Punkte in der Menge liegen.

Warum das lineare Programm dasselbe Problem löst.

  • Schritt 1: Für festes \(x\) ist das kleinste \(t\) mit \(t \ge Q(x,D_v)\) für alle \(v\) genau \(\max_v Q(x,D_v)\).
  • Schritt 2: Minimiert man \(c\,\mathbf 1^\top x + t\) gemeinsam über \(x\) und \(t\), erhält man den Optimalwert des robusten Problems. Gilt eine Obergrenze \(B\) für die Gesamtkapazität, kommt \(\sum_j x_j \le B\) als weitere Nebenbedingung hinzu.
  • Schritt 3: Die Demo bestätigt das mit einem unabhängig aufgestellten Programm (mit und ohne Umlagerung) und mit einer Gittersuche über ein grobes Raster von Plänen einer Instanz mit zwei Standorten und \(\Gamma = 1\), die das Programm nicht schlägt. Das beste Rasterelement liegt dabei höchstens wenige Einheiten über dem Optimum des Programms; die Prüfung gegen das unabhängige Programm läuft mit drei Standorten und \(\Gamma = 1\) und 2.

Die Randfälle. Bei \(\Gamma = 0\) enthält \(V\) nur das Mittel \(\mu\), der robuste Plan ist der Plan für die mittlere Nachfrage. Bei \(\Gamma = 6\) wirkt die Summenbedingung nicht mehr, denn bei sechs Standorten mit je höchstens 1 ist die Summe nie größer als 6. Dann ist \(U\) die Box der Nachfragen mit \(|D_j - \mu_j| \le \delta\mu_j\) für alle \(j\).

Durchgerechnet: der Knick aus den Werten der Befunde unten. Der volle Nutzen bei \(\Gamma = 6\) ist eine Absenkung des CVaR um 20,2 %. \(\Gamma = 2\) senkt ihn um 9,1 %, das sind 9,1 : 20,2, rund 45 % des vollen Nutzens und damit weniger als die Hälfte. \(\Gamma = 3\) senkt ihn um 12,8 %, das sind 12,8 : 20,2, also rund 63 %. Der Preis ist bei \(\Gamma = 3\) eine Erhöhung der mittleren Kosten um 9,3 %, das sind 9,3 : 20,7, rund 45 % der Mehrkosten der vollen Box. Der Knick liegt damit bei \(\Gamma = 3\).

Preis gegen Nutzen je Schritt von \(\Gamma - 1\) auf \(\Gamma\). Der Quotient aus Preis (Anstieg der mittleren Kosten in Prozent) und Nutzen (Absenkung des CVaR in Prozent) liegt nach den drei Punkten der Befunde bei \(\Gamma = 2\) und \(\Gamma = 3\) unter 1 und bei \(\Gamma = 6\) knapp darüber: Die Mehrkosten je gewonnenem Tail-Prozent steigen mit \(\Gamma\). Für die Zwischenstufen liegen keine Werte in den Befunden; mit dem Code der Demo nachgerechnet (Voreinstellung) gilt für die Zuwächse von Schritt zu Schritt: Die ersten beiden Schritte (auf \(\Gamma = 1\) und \(\Gamma = 2\)) bringen mehr Tail-Nutzen, als sie im Mittel kosten. Ab dem dritten Schritt (auf \(\Gamma = 3\)) kostet jeder mindestens so viel, wie er bringt, der dritte nur knapp. Die Aussage „der Preis wächst schneller als der Nutzen“ stimmt also für die Zuwächse ab dem dritten Schritt, nicht von Anfang an. Die Quotienten sind eine Rechnung dieser Seite aus den Befunden, die Zuwächse eine Nachrechnung.

Warum die Bedeckung klein ist. Nachrechnung mit dem Code der Demo in der Voreinstellung: Ein Standort weicht in den Referenzszenarien im Mittel um gut zwei Drittel von \(\delta\mu_j\) ab. Über sechs Standorte verbraucht ein Szenario im Mittel etwa das Doppelte des Budgets von \(\Gamma = 2\). Ferner liegt im Mittel mehr als ein Standort je Szenario außerhalb der Grenze \(\pm\delta\); das begrenzt die Bedeckung der vollen Box. Beides passt zu den Anteilen unten. Als Deutung, nicht gemessen: Die Streuung der Referenz liegt nahe an \(\delta\), darum sind die Grenzen eng.

Wohin der Puffer geht. Nachrechnung mit dem Code der Demo in der Voreinstellung: Bei \(\Gamma = 2\) wächst die Kapazität gegenüber dem Mittelwertplan vor allem an den beiden Standorten mit der größten mittleren Nachfrage; am größten Standort liegt sie bei etwa \(\mu_j(1+\delta)\). Als Deutung, nicht gemessen: Das Budget zählt relative Abweichungen, die absolute Abweichung \(\delta\mu_j\) ist an großen Standorten am größten, und der schlimmste Fall wählt diese zuerst.

Befunde

Voraussetzung aller Zahlen: Voreinstellung (Zufalls-Seed 7, \(\delta = 40\) %, Streuung 35 %, Kapazitätsbudget frei, Umlagerung an), eine einzige Instanz, geprüft auf 600 gleich wahrscheinlichen lognormalen Referenzszenarien. Prozentangaben gelten gegen den Mittelwertplan auf denselben Szenarien. Wo ein anderes Kapazitätsbudget oder keine Umlagerung gilt, steht es in der Frage.

FrageBefund
Was kostet die Absicherung, was bringt sie?Γ = 2: Mittel +5,6 %, CVaR 95 % −9,1 %. Γ = 3: +9,3 % / −12,8 %. Γ = 6 (volle Box): +20,7 % / −20,2 %.
Wo liegt der Knick?Γ = 3 holt 63 % des Tail-Nutzens der vollen Box für 45 % der Mehrkosten. Bei Γ = 5 und 6 wächst die Bedeckung der Referenzszenarien nur noch um rund einen Prozentpunkt (Nachrechnung dieser Seite); bei Γ = 4 noch um etwa acht.
Wie sieht der robuste Plan aus?Ein Kapazitätspuffer: Gesamtkapazität geteilt durch mittlere Gesamtnachfrage steigt von 1,00 (Γ = 0) auf 1,16 (Γ = 2) und 1,40 (Γ = 6, gleich 1 + δ).
Was kauft man in der Menge?Im schlimmsten Fall von U(2, 40 %) kosten der robuste Plan 671 und der Mittelwertplan 740 (Kosteneinheiten der Instanz), also 9,3 % weniger (dieselbe Zahl wie der Preis bei Γ = 3, aber eine andere Größe). Das ist die Zusage des Verfahrens; für die Referenzszenarien zählen Mittel und CVaR.
Für wie viele Referenzszenarien gilt die Zusage?Bei Γ = 2 liegen 6 % der Referenzszenarien in der Menge, bei der vollen Box 30 %. Außerhalb gibt es keine Zusage.
Wann schadet oder nützt es nichts? (Kapazitätsbudget knapp)Für jedes Γ von 0 bis 6 ändern sich Mittel und CVaR um höchstens 0,4 %. Der Plan verteilt nur um.
Was bewirkt der Wegfall der Umlagerung?Bei Γ = 2: Mittel +0,8 %, CVaR −2,2 %. Ab Γ = 4 springt der Plan auf den der vollen Box (Kapazität 1,40, +16,3 % / −13,9 %).
Robust gegen CVaR-Plan?Der CVaR-Plan der Stichprobe hat Kapazität 1,47, Mittel +26,3 % und CVaR −22,7 %. Der robuste Plan der vollen Box hat 1,40, +20,7 % und −20,2 %. Verwandte Puffer, nicht derselbe Plan.
Stimmt der Kern?Das robuste Programm stimmt mit einem unabhängig aufgestellten Programm überein, mit und ohne Umlagerung. 150 zufällige Punkte der Menge überschreiten das Maximum über die Ecken nie. Die Zugehörigkeit zur Menge stimmt mit einer Schleife ohne Vektorisierung überein.

Grenzen: was die Messung zeigt und was nicht

Was sie belegt:

  • Preis, Nutzen, Knick und Puffer einer Instanz mit einer Voreinstellung, einschließlich der Wirkung von knappem Kapazitätsbudget und von Umlagerung.
  • Die Zusage in der Menge: Der schlimmste Fall in \(U\) ist für den robusten Plan kleiner als für den Mittelwertplan, geprüft gegen ein unabhängiges Programm.

Was sie nicht belegt:

  • Die Menge ist gesetzt. \(\delta\) und \(\Gamma\) setzt der Planer, sie sind nicht aus Daten abgeleitet. Eine falsch gewählte Menge verschenkt Kosten oder Schutz.
  • Die Zusage gilt nur in der Menge. Die Referenzszenarien liegen überwiegend außerhalb. Für sie ist der robuste Plan nur durch seinen Puffer besser, nicht durch eine Zusage.
  • Nur ganzzahliges Γ. Die Menge \(U\) ist auch für gebrochenes \(\Gamma\) definiert. Die Demo rechnet aber nur ganzzahliges \(\Gamma\), weil nur dafür die Ecken wie oben aufgezählt sind. Die Wahrscheinlichkeitsschranke von Bertsimas und Sim für die Verletzung wird nicht ausgewertet; ellipsoide Mengen und verteilungsrobuste Varianten fehlen.
  • Nur ein Tail-Maß. Die Prüfung nutzt den CVaR 95 %, der Vergleichsplan minimiert den CVaR 90 %. Eine Aussage über „den“ Tail hängt am Maß; ob die Wahl von 90 % statt 95 % den Vergleich verschiebt, ist nicht geprüft.
  • Eine Instanz, feste Preise. Die Prozentzahlen hängen an Zukaufpreis, Strafe und Umlagerung und streuen über andere Instanzen in unbekannter Weise. Die Demo kann andere Instanzen erzeugen; die Befunde oben beruhen auf der einen mit Zufalls-Seed 7.
  • Der Vergleichsplan ist nicht außerhalb der Stichprobe geprüft. Der CVaR-Plan stammt aus einer Stichprobe der Referenzszenarien, auf denen er auch gemessen wird. Eine Nachrechnung dieser Seite mit frisch gezogenen Szenarien ließ die Reihenfolge der Pläne gleich; das ist eine Stichprobe von eins, keine Messreihe.
  • Ungeklärt: Warum der Plan ohne Umlagerung erst ab \(\Gamma = 4\) auf den der vollen Box springt, ist gemessen, aber nicht untersucht. Naheliegend, aber nicht geprüft: ein Basiswechsel des linearen Programms bei wachsender Menge.

Quellen

  • Bertsimas, D., Sim, M.: The Price of Robustness. Operations Research 52(1), 2004, S. 35–53 (Budget der Unsicherheit; die dort bewiesene Wahrscheinlichkeitsgarantie je Nebenbedingung bei unabhängigen, symmetrischen Koeffizienten wird hier nicht verwendet).
  • Überblick: Ben-Tal, A., El Ghaoui, L., Nemirovski, A.: Robust Optimization. Princeton University Press 2009.
  • Quelltext, Messungen und Tests der Demo: github.com/sebastian-hanisch/robust-opt-demo.

Bertsimas und Sim sind mit dieser Fundstelle in der Demo genannt und für diese Seite nicht im Original nachgeschlagen. Ben-Tal, El Ghaoui und Nemirovski stehen nicht in der Demo und sind aus dem Gedächtnis, nicht geprüft. Die Herleitungen und Nachrechnungen sind Rechnungen dieser Seite, keine Messungen.