Überblick: Worum geht es?
Manche Planungsprobleme sind zu groß, um sie in einem Stück zu lösen. Die Benders-Dekomposition zerlegt sie in ein Hauptproblem und viele Teilprobleme, die sich über einfache Geraden verständigen. Sind die Teilprobleme ganzzahlig, versagen die klassischen Geraden – dann helfen Lagrange-Cuts.
Ein Cloud-Anbieter muss heute entscheiden, an welchen Standorten er Rechenzentren betreibt. Wie viel Rechenleistung seine Kunden im nächsten Jahr verlangen, weiß er erst später. Ein Energieversorger plant Kraftwerke, bevor er Wetter und Strompreise der kommenden Jahre kennt. Ein Logistiker eröffnet Lager, bevor die Bestellungen eingehen. In allen drei Fällen fällt eine Entscheidung vor dem Zufall, und danach wird auf den Zufall reagiert. Fachleute sprechen von zweistufiger stochastischer Optimierung.
Solche Probleme werden schnell riesig. Jede denkbare Zukunft – jedes Szenario – bringt ein eigenes Planungsproblem mit, und alle hängen an derselben ersten Entscheidung. Die Benders-Dekomposition, benannt nach dem niederländischen Mathematiker Jacques F. Benders, nutzt genau diese Struktur: Ein Masterproblem schlägt eine erste Entscheidung vor, die Teilprobleme bewerten sie, und aus jeder Bewertung entsteht eine Gerade, die dem Masterproblem eine Lehre mitgibt. Diese Geraden heißen Cuts.
Dieses Dossier erklärt das übliche Vorgehen von Grund auf: was die Wertfunktion ist, wann ein Cut gültig und wann er straff ist, warum zwei Schranken einen Beweis liefern, wie man Cuts aus der Dualität linearer Programme gewinnt – und warum man bei ganzzahligen oder nichtkonvexen Teilproblemen zu Lagrange-Cuts greift. Am Ende steht ein vollständig durchgerechnetes Beispiel und eine Lesehilfe für Fachartikel. Vorausgesetzt wird nur Schulmathematik: Geraden, Gleichungen und der Erwartungswert.
Drei Ideen tragen das ganze Verfahren
Zerlegen
Ist die erste Entscheidung einmal festgelegt, zerfällt das große Problem in viele kleine, voneinander unabhängige Teilprobleme – eines je Szenario.
Von unten abschätzen
Die unbekannten Folgekosten der ersten Entscheidung werden durch Geraden ersetzt, die nie darüber liegen. Mit jeder Runde kommt eine Gerade hinzu, das Bild wird genauer.
Beweisen
Eine untere und eine obere Schranke schließen das wahre Optimum ein. Treffen sie sich, ist die Lösung bewiesen optimal – nicht nur gut.
Der rote Faden
Die Kapitel bauen aufeinander auf. Jeder Schritt der folgenden Abfolge wird in einem eigenen Kapitel erklärt.
- 1Schranken und Lückewie man Optimalität beweist
- 2Zweistufiges Problemheute entscheiden, morgen reagieren
- 3WertfunktionFolgekosten jeder Entscheidung
- 4CutsGeraden unter der Wertfunktion
- 5Benders-Verfahrenvorschlagen, bewerten, dazulernen
- 6LP-Dualitätklassische Cuts, versagen bei Ganzzahligkeit
- 7Lagrange-Cutsgültig für jede Steigung
- 8Multiplikatorsucheder teure Teil
- 9Kernpunktewelcher Cut am meisten hilft
- Die Kosten einer ersten Entscheidung setzen sich aus ihren direkten Kosten und den erwarteten Folgekosten zusammen; die Folgekosten beschreibt die Wertfunktion.
- Die Wertfunktion ist nicht als Formel bekannt, man kann sie nur Punkt für Punkt ausrechnen – jedes Mal mit einem eigenen Optimierungsproblem.
- Das Benders-Verfahren ersetzt sie deshalb durch Geraden, die nie über ihr liegen, und lernt mit jedem Vorschlag eine neue Gerade dazu.
- Das Masterproblem mit diesen Geraden liefert eine untere Schranke, die Bewertung des Vorschlags eine obere Schranke; die Differenz ist die beweisbare Lücke.
- Bei ganzzahligen Teilproblemen liefert die Lagrange-Relaxation solche Geraden – gültig für jede Steigung, aber die beste Steigung zu finden kostet viele Rechnungen.
Wie man dieses Dossier liest
Wer schnell zum Kern will, liest Kapitel 4 (Wertfunktion), Kapitel 5 (Benders-Verfahren), Kapitel 7 (Lagrange-Cuts) und das Beispiel in Kapitel 9. Wer gründlich vorgehen möchte, beginnt mit dem Handwerkszeug in Kapitel 2. Kapitel 12 ist ein Nachschlageteil: Es übersetzt die Symbole und typischen Wendungen aus Fachartikeln und nennt jeweils das Kapitel, in dem sie erklärt werden.
Formeln sind unvermeidlich, aber jede wird in Worten erklärt und am Beispiel mit Zahlen gefüllt. Wer eine Formel überspringt, verliert den Faden nicht.
Das Beispiel, das uns begleitet
Durch das ganze Dossier zieht sich ein kleines Planungsproblem: Ein Cloud-Anbieter kann an drei Standorten – Nord, Mitte und Süd – Server aufstellen. Danach zeigt sich, ob das kommende Jahr ruhig verläuft oder Spitzenlast bringt, und vier Kundenregionen müssen auf die Standorte verteilt werden. Was nicht ins eigene Netz passt, wird teuer bei einer fremden Cloud eingekauft. Das Problem ist so klein, dass man jede Zahl von Hand nachrechnen kann, und doch groß genug, um alle Effekte zu zeigen: Die klassischen Cuts bleiben darin stecken, die Lagrange-Cuts beweisen die beste Lösung in sechs Runden, und ein gut gewählter Cut schafft es in zwei.
- Zweistufige Probleme: erst entscheiden, dann den Zufall abwarten, dann reagieren.
- Benders-Dekomposition: Masterproblem schlägt vor, Teilprobleme bewerten, Cuts tragen das Gelernte zurück.
- Zwei Schranken schließen das Optimum ein; ihre Differenz ist ein Beweis für die Güte der Lösung.
- Lagrange-Cuts sind das Mittel der Wahl, wenn Teilprobleme ganzzahlig oder nichtkonvex sind.
Das Handwerkszeug der Optimierung
Bevor es um Zerlegung geht, braucht es ein paar Grundbegriffe: was ein Optimierungsproblem ist, warum ganze Zahlen alles schwerer machen und wie man beweist, dass eine Lösung die beste ist.
2.1 Was ein Optimierungsproblem ist
Ein Optimierungsproblem besteht aus drei Teilen. Die Entscheidungsvariablen sind das, was man festlegen darf – etwa, welche Standorte geöffnet werden. Die Zielfunktion bewertet jede Entscheidung, meist als Kosten, die möglichst klein sein sollen. Die Nebenbedingungen grenzen ein, was erlaubt ist – etwa, dass ein Standort nicht mehr Last tragen kann, als seine Kapazität hergibt. Eine Entscheidung, die alle Nebenbedingungen erfüllt, heißt zulässig; die zulässige Entscheidung mit den geringsten Kosten heißt optimal.
Mathematisch schreibt man das kurz als „min f(x) unter der Bedingung x ∈ X“: Gesucht ist das kleinste f(x) unter allen x aus der zulässigen Menge X. Der kleinste erreichbare Wert heißt Optimalwert.
2.2 Lineare und ganzzahlige Programme
Sind Zielfunktion und Nebenbedingungen linear – also nur Summen von Variablen mal Zahlen –, spricht man von einem linearen Programm (LP). Lineare Programme sind gutmütig: Selbst mit Millionen Variablen löst ein Computer sie in Sekunden bis Minuten. Das Wort „Programm“ ist dabei alt und meint „Plan“, nicht Software.
Viele Entscheidungen sind aber nicht beliebig teilbar. Ein Standort ist offen oder geschlossen, ein Kunde wird von einem Rechenzentrum bedient oder nicht. Solche Ja-Nein-Entscheidungen werden mit binären Variablen dargestellt, die nur 0 oder 1 sein dürfen. Ein lineares Programm mit ganzzahligen Variablen heißt gemischt-ganzzahliges Programm (englisch mixed-integer program, MIP).
| Merkmal | Lineares Programm (LP) | Gemischt-ganzzahliges Programm (MIP) |
|---|---|---|
| Variablen | beliebige reelle Zahlen in Grenzen | teils nur ganze Zahlen, oft nur 0 oder 1 |
| Rechenaufwand | wächst gutmütig mit der Größe | kann mit der Zahl der Variablen explodieren |
| Form der Lösungsmenge | konvex: ein zusammenhängendes Vieleck | einzelne Gitterpunkte, nicht konvex |
| Dualität | exakt: Schattenpreise beschreiben das Problem vollständig | nur näherungsweise, es bleibt eine Dualitätslücke |
Der Grund für den Rechenaufwand ist schlichtes Abzählen. Mit drei Standorten gibt es 2 · 2 · 2 = 8 mögliche Kombinationen, mit zehn schon 1024, mit fünfzig mehr als eine Billiarde. Gute Verfahren müssen nicht alle durchprobieren, doch im ungünstigen Fall wächst der Aufwand exponentiell.
2.3 Relaxation: absichtlich zu großzügig sein
Eine Relaxation ist eine gelockerte Fassung eines Problems: Man streicht eine Nebenbedingung oder schwächt sie ab. Das bekannteste Beispiel ist die LP-Relaxation: Statt „0 oder 1“ erlaubt man jeden Wert zwischen 0 und 1. Ein Kunde darf dann zur Hälfte von Nord und zur Hälfte von Süd bedient werden.
Das Entscheidende: Wer mehr erlaubt, kann nur gleich gut oder besser abschneiden. Bei einem Kostenminimum ist der Optimalwert der Relaxation deshalb nie größer als der des Originals. Jede Relaxation liefert so eine untere Schranke – eine Zahl, unter die die wahren Kosten nicht fallen können.
2.4 Schranken, Lücke und Zertifikat
Zwei Zahlen rahmen jedes Minimierungsproblem ein:
Obere Schranke
Die Kosten irgendeiner zulässigen Lösung. Das Optimum kann nicht teurer sein als eine Lösung, die man schon in der Hand hat.
Untere Schranke
Ein Wert, unter den die Kosten beweisbar nicht fallen können – etwa der Optimalwert einer Relaxation.
Lücke
Die Differenz zwischen beiden. Sie wird oft relativ angegeben, in Prozent der oberen Schranke oder einer anderen Bezugsgröße.
Ist die Lücke null, ist die Lösung bewiesen optimal. Ist sie zwei Prozent, weiß man: Die gefundene Lösung ist höchstens zwei Prozent teurer als die beste. Das Paar aus beiden Schranken heißt deshalb ein Zertifikat – ein Nachweis, den jeder prüfen kann, ohne dem Rechenweg vertrauen zu müssen.
Eine Heuristik kann eine hervorragende Lösung liefern, sagt aber nicht, wie weit sie vom Optimum entfernt ist. Erst die untere Schranke macht aus „wir haben etwas Gutes gefunden“ ein „besser als 2 Prozent geht es nicht“. Für Investitionen in Milliardenhöhe ist dieser Unterschied entscheidend. Deshalb achten Verfahren wie Benders streng darauf, dass jede untere Schranke wirklich gültig ist – ein einziger zu hoher Cut würde den Beweis zerstören.
2.5 Wie ein Solver ganzzahlige Probleme löst
Programme, die Optimierungsprobleme lösen, heißen Solver; bekannte Namen sind Gurobi, CPLEX, Xpress, SCIP und HiGHS. Für ganzzahlige Probleme nutzen sie im Kern Branch-and-Bound: Sie lösen die LP-Relaxation, teilen das Problem an einer gebrochenen Variablen in zwei Fälle („Standort Nord zu“ und „Standort Nord offen“) und verwerfen ganze Zweige, sobald deren untere Schranke schlechter ist als die beste bekannte Lösung. Dazu kommen Schnittebenen, Heuristiken und viele Kniffe.
Für dieses Dossier ist eine Eigenschaft wichtig: Ein Solver führt laufend beide Schranken mit. Bricht man ihn nach einem Zeitlimit ab, liefert er die beste gefundene Lösung und eine gültige untere Schranke – auch wenn die Lücke noch nicht geschlossen ist. Ein einzelner Aufruf eines Solvers heißt in Fachartikeln oft einfach „ein Solve“.
2.6 Dualität und Schattenpreise
Zu jedem linearen Programm gehört ein zweites, das duale Programm. Seine Variablen sind Preise für die Nebenbedingungen. Ein solcher Schattenpreis sagt, um wie viel sich der Optimalwert ändert, wenn man die rechte Seite einer Nebenbedingung um eine Einheit verschiebt – etwa: Wie viel Kosten spart eine zusätzliche Einheit Kapazität?
Zwei Sätze machen die Dualität so nützlich. Die schwache Dualität: Jede zulässige Lösung des dualen Programms liefert eine untere Schranke für das ursprüngliche Problem. Die starke Dualität: Im Optimum sind beide Werte gleich. Bei linearen Programmen beschreibt das duale Programm das ursprüngliche also vollständig. Bei ganzzahligen Programmen gilt nur die schwache Fassung; zwischen beiden Werten bleibt im Allgemeinen eine Dualitätslücke. Genau an dieser Stelle setzen später die Lagrange-Cuts an.
2.7 Eine kleine Lesehilfe für Formeln
| Schreibweise | Bedeutung |
|---|---|
| x = (x1, …, xn) | ein Vektor: eine Liste von n Zahlen, etwa eine Zahl je Standort |
| {0, 1}n | alle Listen aus n Nullen und Einsen – die Ecken eines n-dimensionalen Würfels |
| [0, 1]n | alle Listen aus n Zahlen zwischen 0 und 1 – der ganze Würfel samt Innerem |
| μ⊤x | Skalarprodukt: μ1x1 + μ2x2 + … + μnxn; das hochgestellte ⊤ heißt „transponiert“ |
| minx ∈ X f(x) | der kleinste Wert von f unter allen x aus der Menge X |
| Σs ps Qs | Summe über alle Szenarien s: Wahrscheinlichkeit mal Kosten, also der Erwartungswert |
| X ⊆ {0, 1}n | X ist eine Teilmenge der binären Vektoren: nur bestimmte Kombinationen sind erlaubt |
| x, xk, x* | ein fester Punkt, der Vorschlag in Runde k, die optimale Lösung |
- LP sind leicht, MIP mit binären Variablen können exponentiell schwer werden.
- Relaxation = Regeln lockern → liefert eine untere Schranke.
- Obere Schranke = Kosten einer zulässigen Lösung; Lücke = Differenz; Lücke null = bewiesen optimal.
- Dualität: Schattenpreise; bei LP exakt, bei MIP bleibt eine Lücke.
- Ein Solver liefert auch nach einem Zeitlimit eine gültige untere Schranke.
Entscheiden vor und nach dem Zufall
Zweistufige stochastische Programme beschreiben eine Grundsituation des Planens: Man muss sich festlegen, bevor man die Zukunft kennt, und darf später nur noch nachsteuern. Ihre Struktur ist der Schlüssel zur Zerlegung.
3.1 Heute entscheiden, morgen reagieren
In der ersten Stufe fällt eine Entscheidung x, die sich später nicht mehr ändern lässt: Standorte, Kraftwerke, Verträge. Dann tritt der Zufall ein – die Nachfrage, das Wetter, der Preis. In der zweiten Stufe wird mit Entscheidungen y darauf reagiert: Kunden werden zugeordnet, Kraftwerke hochgefahren, Fehlmengen zugekauft. Diese Reaktion heißt im Fachjargon auch Rekurs (englisch recourse).
Die erste Entscheidung soll so gewählt werden, dass ihre eigenen Kosten und die erwarteten Kosten der Reaktion zusammen möglichst klein sind. Sie muss also gegen alle möglichen Zukünfte zugleich bestehen – das macht sie anders als eine Planung für den Durchschnittsfall.
3.2 Szenarien und Wahrscheinlichkeiten
Der Zufall wird durch endlich viele Szenarien s = 1, …, S dargestellt, jedes mit einer Wahrscheinlichkeit ps. Die Wahrscheinlichkeiten addieren sich zu eins. In der Praxis stammen die Szenarien aus historischen Daten oder werden aus einer Verteilung gezogen; mehr Szenarien bilden die Unsicherheit genauer ab, machen das Problem aber größer.
Die erwarteten Folgekosten sind dann ein gewichteter Durchschnitt: Folgekosten in Szenario 1 mal p1 plus Folgekosten in Szenario 2 mal p2 und so weiter – der Erwartungswert.
3.3 Die Formel und was sie sagt
In Fachartikeln steht das zweistufige Problem meist in dieser Form:
| Teil der Formel | Bedeutung | Im Beispiel |
|---|---|---|
| x ∈ X ⊆ {0, 1}n | erste Entscheidung, binär: n Ja-Nein-Fragen | welche der drei Standorte öffnen |
| c⊤x | direkte Kosten der ersten Entscheidung | Kosten der geöffneten Standorte |
| ps | Wahrscheinlichkeit von Szenario s | je 0,5 für „ruhig“ und „Spitze“ |
| y | Entscheidungen der zweiten Stufe | welche Region von welchem Standort bedient wird |
| fs(y) | Kosten der Reaktion im Szenario s | Übertragungskosten plus fremde Cloud |
| (x, y) ∈ Gs | was in der zweiten Stufe erlaubt ist – darf ganzzahlige und nichtkonvexe Bedingungen enthalten | nur offene Standorte, Kapazitäten, Regionen unteilbar |
| Qs(x) | die besten Folgekosten bei gegebenem x: die Wertfunktion | Kapitel 4 |
Gelesen: Wähle die erste Entscheidung so, dass ihre direkten Kosten plus die über alle Szenarien gemittelten besten Folgekosten möglichst klein werden. Die Folgekosten Qs(x) sind selbst wieder das Ergebnis einer Optimierung – ein Problem im Problem.
3.4 Das Beispiel: Server für eine Cloud
Ein Cloud-Anbieter kann an drei Standorten Server aufstellen. Die Entscheidung x = (xN, xM, xS) gibt an, ob Nord, Mitte und Süd geöffnet werden (1) oder nicht (0). Vier Kundenregionen R1 bis R4 brauchen im kommenden Jahr Rechenleistung, gemessen in Einheiten. Alle Beträge sind in Tausend Euro angegeben.
| Standort | Kosten bei Öffnung | Kapazität | Kosten je Einheit für R1 | R2 | R3 | R4 |
|---|---|---|---|---|---|---|
| Nord (N) | 18 | 4 Einheiten | 1 | 2 | 3 | 4 |
| Mitte (M) | 24 | 3 Einheiten | 2 | 1 | 1 | 3 |
| Süd (S) | 9 | 6 Einheiten | 4 | 3 | 2 | 1 |
| fremde Cloud | – | unbegrenzt | 10 | 10 | 10 | 10 |
| Szenario | Wahrscheinlichkeit | Bedarf R1 | R2 | R3 | R4 | Summe |
|---|---|---|---|---|---|---|
| ruhig | 0,5 | 2 | 2 | 2 | 3 | 9 |
| Spitze | 0,5 | 4 | 4 | 4 | 4 | 16 |
Die Regeln der zweiten Stufe: Jede Region wird als Ganzes genau einem geöffneten Standort zugeordnet oder ganz an die fremde Cloud abgegeben. Ein Standort darf nicht mehr Einheiten übernehmen, als seine Kapazität erlaubt. Die Kosten sind Bedarf mal Kosten je Einheit. Weil die fremde Cloud immer einspringen kann, gibt es zu jeder ersten Entscheidung eine zulässige Reaktion; man spricht von vollständigem Rekurs.
Die Regel „als Ganzes“ macht die zweite Stufe ganzzahlig, und sie hat Folgen. In der Spitze braucht jede Region 4 Einheiten. Mitte hat nur 3 Einheiten Kapazität und kann deshalb in der Spitze keine einzige Region übernehmen. Süd hat 6 Einheiten, kann aber nur eine Region zu 4 Einheiten aufnehmen; die übrigen 2 Einheiten bleiben ungenutzt. Diese Effekte sieht die LP-Relaxation nicht, die Regionen beliebig teilen darf.
Erst wird über die Standorte entschieden, dann zeigt sich das Szenario, dann werden die Regionen zugeordnet. Die erste Entscheidung muss für beide Szenarien zugleich taugen. Datenbasis: Rechenbeispiel dieses Dossiers.
Im Beispiel ist die beste Wahl, Nord und Süd zu öffnen. Das kostet 27 für die Standorte und im Erwartungswert 50,5 für die zweite Stufe, zusammen 77,5. Diese Antwort ist hier nur deshalb bekannt, weil man bei acht Kombinationen alle durchrechnen kann. Das Benders-Verfahren soll sie finden und beweisen, ohne alle Kombinationen zu prüfen.
3.5 Die extensive Form: alles auf einmal
Man kann das zweistufige Problem auch als ein einziges großes MIP aufschreiben. Dazu bekommt jedes Szenario eine eigene Kopie der Variablen der zweiten Stufe, und alle Kopien hängen an derselben ersten Entscheidung. Diese Fassung heißt extensive Form oder deterministisches Äquivalent.
Im Beispiel hat sie 3 Variablen der ersten Stufe und je Szenario 16 binäre Zuordnungsvariablen (vier Regionen mal vier Möglichkeiten), zusammen 35 – für jeden Solver eine Kleinigkeit. Mit 1000 Szenarien wären es schon über 16 000, mit mehreren Stufen oder nichtlinearen Zusammenhängen wird es schnell unlösbar. Die Zahl der Variablen wächst zwar nur linear mit den Szenarien, die Schwierigkeit eines MIP aber oft viel schneller.
Jede Zeile steht für die Nebenbedingungen eines Szenarios. Nur die Spalte der ersten Stufe reicht durch alle Zeilen. Wer sie festhält, erhält unabhängige Blöcke – die Teilprobleme der Benders-Dekomposition. Datenbasis: Darstellung dieses Dossiers.
Für kleine und mittlere Probleme ist die extensive Form mit einem modernen Solver oft der schnellste Weg, und sie ist der Maßstab, an dem sich jedes Zerlegungsverfahren messen lassen muss. Zerlegung lohnt sich dort, wo die extensive Form zu groß wird: bei vielen Szenarien, bei mehrstufigen Problemen mit Entscheidungen über viele Perioden und bei nichtkonvexen Teilproblemen.
3.6 Die Struktur, die man ausnutzen kann
Schaut man auf die Nebenbedingungen der extensiven Form, sieht man ein typisches Muster: Jedes Szenario bildet einen eigenen Block, und nur die Variablen der ersten Stufe tauchen in allen Blöcken auf. Man nennt sie die verbindenden oder komplizierenden Variablen. Hält man sie fest, zerfällt das große Problem in S kleine, voneinander unabhängige Probleme, die man einzeln und sogar gleichzeitig auf mehreren Rechnern lösen kann. Diese Beobachtung ist der Ausgangspunkt der Benders-Dekomposition.
- Erste Stufe x: vor dem Zufall, endgültig; zweite Stufe y: Reaktion je Szenario.
- Ziel: direkte Kosten plus erwartete beste Folgekosten minimieren.
- Extensive Form: alles in einem MIP – Maßstab, aber bei vielen Szenarien zu groß.
- Blockstruktur: Ist x fest, zerfällt das Problem in unabhängige Teilprobleme.
- Beispiel: Optimum ist „Nord und Süd öffnen“ mit Kosten 77,5.
Die Wertfunktion und ihre Unterschätzer
Alles dreht sich um eine Funktion, die niemand als Formel kennt: die Folgekosten jeder ersten Entscheidung. Benders nähert sie von unten durch Geraden an. Ob das gelingt, hängt an einer Eigenschaft namens Konvexität.
4.1 Was die Wertfunktion misst
Die Wertfunktion Qs(x) ordnet jeder ersten Entscheidung x die bestmöglichen Kosten der zweiten Stufe im Szenario s zu. Man kann sie nicht hinschreiben, sondern nur Punkt für Punkt ausrechnen: Für jedes x löst man das Problem der zweiten Stufe. Im Beispiel ergibt das folgende Tabelle.
| Offen | x = (N, M, S) | Qruhig(x) | beste Zuordnung (ruhig) | QSpitze(x) | beste Zuordnung (Spitze) |
|---|---|---|---|---|---|
| keiner | (0, 0, 0) | 90 | alles fremd | 160 | alles fremd |
| Süd | (0, 0, 1) | 47 | R3, R4 → S | 124 | R4 → S |
| Mitte | (0, 1, 0) | 69 | R4 → M | 160 | alles fremd |
| Mitte, Süd | (0, 1, 1) | 27 | R1, R2, R3 → S; R4 → M | 124 | R4 → S |
| Nord | (1, 0, 0) | 56 | R1, R2 → N | 124 | R1 → N |
| Nord, Süd | (1, 0, 1) | 13 | R1, R2 → N; R3, R4 → S | 88 | R1 → N; R4 → S |
| Nord, Mitte | (1, 1, 0) | 35 | R1, R2 → N; R4 → M | 124 | R1 → N |
| alle | (1, 1, 1) | 11 | R1, R2 → N; R3 → M; R4 → S | 88 | R1 → N; R4 → S |
Ein Beispiel zum Nachrechnen: Sind Nord und Süd offen, übernimmt Nord im ruhigen Szenario die Regionen R1 und R2 (2 · 1 + 2 · 2 = 6) und Süd die Regionen R3 und R4 (2 · 2 + 3 · 1 = 7). Das ergibt Qruhig(1, 0, 1) = 13. In der Spitze passt in Nord nur R1 (4 Einheiten, Kosten 4), in Süd nur R4 (Kosten 4); R2 und R3 gehen mit je 4 · 10 = 40 an die fremde Cloud: zusammen 88. Nicht genannte Regionen gehen in der Tabelle immer an die fremde Cloud.
4.2 Warum man die Wertfunktion nicht einfach tabelliert
Bei drei Standorten sind es acht Zeilen, also acht Rechnungen je Szenario. Bei zehn Standorten wären es 1024, bei fünfzig mehr als eine Billiarde – und jede Zeile ist ein eigenes MIP. Die Wertfunktion vollständig zu kennen, ist also hoffnungslos. Man braucht eine Näherung, die mit wenigen Rechnungen auskommt und trotzdem verlässlich ist. „Verlässlich“ heißt hier: Sie darf die Folgekosten nie überschätzen, sonst wäre die untere Schranke falsch.
4.3 Cuts: Geraden unter der Wertfunktion
Die einfachste verlässliche Näherung ist eine Gerade – bei mehreren Variablen genauer eine Ebene –, die nirgends über der Wertfunktion liegt. Mit einer neuen Variable θs für die geschätzten Folgekosten schreibt man sie als
Die Zahlen a = (a1, …, an) sind die Steigungen, b ist der Achsenabschnitt. Eine solche Ungleichung heißt Cut (englisch für Schnitt), weil sie im Masterproblem einen Teil der bisher erlaubten Werte von θs abschneidet. Zwei Eigenschaften sind entscheidend:
Gültig
Der Cut liegt nirgends über der Wertfunktion: a⊤x + b ≤ Qs(x) für alle erlaubten x. Nur gültige Cuts erhalten die untere Schranke.
Straff an einem Punkt
Der Cut berührt die Wertfunktion an einer Stelle x: a⊤x + b = Qs(x). Dort ist die Schätzung exakt.
Ein Beispiel mit Zahlen aus der Tabelle: Der Cut θruhig ≥ 27 − 16 xN ergibt bei geschlossenem Nord den Wert 27 und bei offenem Nord den Wert 11. Ein Blick in die Tabelle zeigt: Alle Zeilen mit xN = 0 haben mindestens 27, alle mit xN = 1 mindestens 11. Der Cut ist also gültig. Er ist straff bei (0, 1, 1), wo die Folgekosten genau 27 betragen, und zusätzlich bei (1, 1, 1) mit genau 11. Woher solche Cuts kommen, zeigen die Kapitel 6 bis 8.
Mehrere Cuts zusammen ergeben eine Treppe aus Ebenen: Für jedes x zählt der höchste Cut. Je mehr gute Cuts man sammelt, desto näher kommt diese Treppe der wahren Wertfunktion – jedenfalls dort, wo es darauf ankommt.
4.4 Konvex oder nicht konvex
Eine Funktion heißt konvex, wenn die Verbindungsstrecke zwischen zwei Punkten ihres Graphen nie unter dem Graphen verläuft – anschaulich: eine Schüssel ohne Dellen. Ist die zweite Stufe ein lineares Programm, ist die Wertfunktion konvex. Dann gilt etwas Bequemes: Jede Tangente liegt komplett unter der Funktion, ist also ein gültiger Cut, und aus genügend vielen Tangenten lässt sich die Funktion beliebig genau zusammensetzen.
Ist die zweite Stufe ganzzahlig, wird die Wertfunktion im Allgemeinen nichtkonvex: Sie springt, hat Stufen und Dellen. Eine Tangente an einer Stelle kann an anderer Stelle durch die Funktion hindurchschneiden – ein solcher Cut wäre ungültig. Das Schaubild zeigt einen Schnitt durch das Beispiel: Süd ist offen, Mitte geschlossen, und Nord wird schrittweise von 0 auf 1 „geöffnet“.
Schnitt durch das Beispiel: Süd ist offen, Mitte zu, Nord wird von 0 bis 1 „geöffnet“. An den binären Punkten 0 und 1 treffen sich wahre Wertfunktion und konvexe Hülle; die LP-Relaxation bleibt bei 0 um 7 darunter, und der LP-Cut berührt nur sie. Datenbasis: eigene Berechnung.
Drei Kurven sind zu sehen. Die wahre Wertfunktion ist eine Treppe: Solange Nord nicht ganz offen ist, darf keine Region dorthin, die Kosten bleiben bei 47; erst bei xN = 1 fallen sie auf 13. Die LP-Relaxation darf Regionen teilen und auch einen „halb offenen“ Standort halb nutzen; sie liegt deshalb überall darunter, schon bei xN = 0 mit 40 statt 47. Dazwischen liegt die konvexe Hülle: die höchste konvexe Funktion, die noch unter der Treppe bleibt – hier einfach die Strecke von 47 nach 13.
4.5 Die konvexe Hülle und die Ecken des Würfels
Jeder gültige Cut ist eine Ebene unter der Wertfunktion. Eine Ebene ist konvex, also kann kein gültiger Cut je über die konvexe Hülle hinausragen. Die konvexe Hülle ist damit das Beste, was Cuts überhaupt erreichen können. Bei einer nichtkonvexen Funktion klafft dazwischen an manchen Stellen eine Lücke, die kein Cut schließen kann – im Schaubild etwa bei xN = 0,5: Die Treppe steht bei 47, die Hülle bei 30.
Für binäre erste Stufen gibt es aber eine glückliche Fügung. Die binären Punkte sind die Ecken des Würfels [0, 1]n. Eine Ecke lässt sich nicht als Mischung anderer Punkte des Würfels schreiben. Deshalb stimmen konvexe Hülle und Wertfunktion an jeder Ecke überein: Im Schaubild treffen sich alle Kurven außer der LP-Relaxation bei 0 und bei 1. Weil das Masterproblem nur binäre Punkte vorschlagen darf, reicht das. An jedem binären Punkt gibt es einen gültigen Cut, der dort straff ist.
Wäre die erste Entscheidung kontinuierlich, könnte das Masterproblem auch einen Punkt wie xN = 0,5 vorschlagen, an dem die Hülle unter der Wertfunktion liegt. Dann gäbe es dort keinen straffen Cut, und das Verfahren könnte die Lücke nicht schließen. Mit binärer erster Stufe tritt dieses Problem nicht auf. Deshalb verlangen viele Verfahren mit Lagrange-Cuts binäre Verbindungsvariablen – oder sie stellen allgemeine Variablen durch mehrere binäre Stellen dar, so wie man eine Zahl im Zweiersystem schreibt.
- Wertfunktion Qs(x): beste Folgekosten je erster Entscheidung, nur punktweise berechenbar.
- Cut θs ≥ a⊤x + b: gültig, wenn nirgends darüber; straff an x, wenn er dort berührt.
- Konvex (LP in der zweiten Stufe): jede Tangente ist ein gültiger Cut.
- Nichtkonvex (ganzzahlige zweite Stufe): Cuts erreichen höchstens die konvexe Hülle.
- An binären Punkten fallen Hülle und Wertfunktion zusammen → dort sind straffe Cuts möglich.
Das Benders-Verfahren
Das Benders-Verfahren ist ein Gespräch zwischen zwei Ebenen: Das Masterproblem schlägt vor, die Teilprobleme antworten, und jede Antwort wird als Cut festgehalten. Zwei Schranken zeigen in jeder Runde, wie weit man noch vom Ziel entfernt ist.
5.1 Die Idee: Unbekanntes durch Variablen ersetzen
Jacques F. Benders, Mathematiker im Laboratorium von Shell in Amsterdam, entwickelte das Verfahren in seiner Doktorarbeit von 1960 und veröffentlichte es 1962 in der Zeitschrift Numerische Mathematik. Seine Idee: Man ersetzt die unbekannte Wertfunktion Qs(x) im Ziel durch eine Variable θs und beschränkt diese von unten durch Cuts. Das entstehende Problem heißt Masterproblem:
Am Anfang kennt das Masterproblem noch keinen Cut. Man gibt ihm eine einfache untere Grenze mit, im Beispiel θs ≥ 0, denn Kosten sind nie negativ. Das Masterproblem glaubt dann zunächst, Folgekosten gäbe es nicht – und schlägt entsprechend naiv vor. Aus jeder Bewertung lernt es dazu.
5.2 Der Kreislauf
In jeder Runde schlägt der Master eine erste Entscheidung vor. Die Teilprobleme bewerten sie, daraus folgt eine obere Schranke, und jedes liefert einen Cut zurück. Mit den Cuts wird der Master genauer, seine untere Schranke steigt. Datenbasis: Darstellung dieses Dossiers.
Eine Runde, in Fachartikeln Iteration genannt, läuft so ab:
- Master lösen. Das Masterproblem liefert einen Vorschlag xk und seinen Optimalwert. Dieser Wert ist eine untere Schranke für das Gesamtproblem.
- Vorschlag bewerten. Für jedes Szenario wird das Teilproblem bei x = xk gelöst; das ergibt Qs(xk). Die echten Kosten des Vorschlags, c⊤xk + Σ ps Qs(xk), sind eine obere Schranke. Man merkt sich die beste bisher.
- Prüfen. Ist die Lücke zwischen bester oberer und aktueller unterer Schranke klein genug, endet das Verfahren. Der beste Vorschlag ist dann bewiesen gut genug.
- Lernen. Für jedes Szenario wird ein Cut erzeugt, der möglichst bei xk straff ist, und dem Masterproblem hinzugefügt.
- Wiederholen. Zurück zu Schritt 1.
5.3 Warum die Schranken stimmen
Die untere Schranke: Solange jeder Cut gültig ist, unterschätzt jedes θs die wahren Folgekosten oder trifft sie genau. Das Masterproblem ist damit eine Relaxation des echten Problems und kann dessen Optimalwert nicht übersteigen. Woher die Cuts stammen, ist dabei gleichgültig – es kommt allein auf ihre Gültigkeit an.
Die obere Schranke: Jeder Vorschlag xk ist eine echte, umsetzbare Entscheidung. Seine tatsächlichen Kosten kann das Optimum nicht übertreffen.
Mit jedem Cut wird das Masterproblem strenger, die untere Schranke steigt oder bleibt gleich. Die beste obere Schranke fällt oder bleibt gleich. Die Lücke wird also nie größer.
5.4 Warum das Verfahren endet
Bei binärer erster Stufe gibt es nur endlich viele mögliche Vorschläge. Angenommen, an jedem Vorschlag xk wird für jedes Szenario ein Cut erzeugt, der dort straff ist. Schlägt das Masterproblem denselben Punkt später ein zweites Mal vor, dann kennt es dessen Folgekosten bereits exakt. Sein Optimalwert ist dann gleich den echten Kosten dieses Punktes – und die sind mindestens so groß wie die beste obere Schranke. Untere und obere Schranke stimmen überein, das Verfahren endet.
Jeder Punkt wird also höchstens einmal „neu“ vorgeschlagen, und nach höchstens so vielen Runden, wie es Punkte gibt, plus einer weiteren ist Schluss. Das ist eine Garantie für den schlimmsten Fall; in der Praxis braucht ein gutes Verfahren nur einen winzigen Bruchteil davon. Die Voraussetzung ist aber wesentlich: Ohne straffe Cuts gibt es diese Garantie nicht. Kapitel 6 zeigt am Beispiel, was dann passiert.
In Fachartikeln heißt es oft, ein Cut „schneide den aktuellen Punkt ab“. Gemeint ist: Mit dem neuen Cut ist die Schätzung des Masterproblems am Punkt xk gestiegen, die alte, zu optimistische Kombination aus xk und θ ist nicht mehr erlaubt. Ein Cut, der das nicht leistet, bringt an dieser Stelle nichts Neues – das Masterproblem könnte denselben Vorschlag mit derselben Schätzung wiederholen.
5.5 Varianten und Namen
| Begriff | Bedeutung |
|---|---|
| Optimalitätscut | der hier beschriebene Cut, der die Folgekosten von unten schätzt |
| Zulässigkeitscut | verbietet ein x, für das die zweite Stufe gar keine zulässige Reaktion hat; bei vollständigem Rekurs wie im Beispiel unnötig |
| Single-Cut | eine Variable θ für den gesamten Erwartungswert, ein gemittelter Cut je Runde |
| Multi-Cut | eine Variable θs je Szenario, ein Cut je Szenario und Runde (Birge und Louveaux, 1988); so wird es in diesem Dossier gemacht |
| L-shaped-Verfahren | Benders für zweistufige stochastische LP, nach Van Slyke und Wets (1969); der Name kommt von der L-Form der Nebenbedingungsmatrix |
| Verallgemeinerte Benders-Zerlegung | Übertragung auf nichtlineare konvexe Probleme (Geoffrion, 1972) |
| Verschachtelte Benders-Zerlegung | mehrstufige Fassung: jede Stufe ist Master für die nächste und Teilproblem für die vorige |
- 1962: Benders ersetzt die unbekannten Folgekosten durch Variablen θs, die durch Cuts beschränkt werden.
- Master → Vorschlag und untere Schranke; Teilprobleme → Bewertung und obere Schranke.
- Gültige Cuts → korrekte Schranken, egal woher die Cuts stammen.
- Straffe Cuts an jedem Vorschlag → Ende nach endlich vielen Runden.
Cuts aus der LP-Dualität und ihre Grenze
Ist die zweite Stufe ein lineares Programm, liefert die Dualität die Cuts gleichsam gratis mit. Bei ganzzahliger zweiter Stufe funktioniert das nicht mehr: Die Cuts bleiben gültig, aber sie berühren nicht – und das Verfahren bleibt stecken.
6.1 Der Normalfall: lineare zweite Stufe
Ist das Teilproblem ein LP, löst man es bei x und liest die Schattenpreise π der Nebenbedingungen ab, die x enthalten. Sie geben an, wie stark sich die Folgekosten ändern, wenn man x ein wenig verschiebt. Daraus entsteht der klassische Benders-Cut
Er ist eine Tangente an die Wertfunktion im Punkt x. Weil die Wertfunktion eines LP konvex ist, liegt diese Tangente überall darunter: Der Cut ist gültig und bei x straff. Ein einziger Solve des Teilproblems liefert beides, Funktionswert und Steigung. Das ist der Grund, warum Benders für lineare zweite Stufen so gut funktioniert.
Im Beispiel bedeutet ein Schattenpreis von −66 für Nord: In der Welt der LP-Relaxation würde ein „ein wenig mehr geöffnetes“ Nord die Folgekosten mit einer Rate von 66 senken. Negative Steigungen sind hier normal, denn ein zusätzlicher Standort senkt die Folgekosten.
6.2 Ganzzahlige zweite Stufe: Es fehlt der Dual
Ist das Teilproblem ein MIP, gibt es keine Schattenpreise, die die Wertfunktion exakt beschreiben. Der naheliegende Ausweg: Man löst statt des MIP seine LP-Relaxation und nimmt deren Schattenpreise. Der Cut ist dann eine Tangente an die Wertfunktion der Relaxation. Weil diese überall unter der wahren Wertfunktion liegt, ist der Cut gültig. Er ist aber im Allgemeinen nicht straff: Er berührt die tiefer liegende LP-Kurve, nicht die wahre Treppe.
Im Beispiel wird das an zwei Stellen deutlich:
| Punkt und Szenario | wahre Folgekosten | LP-Relaxation | Was die LP-Relaxation darf |
|---|---|---|---|
| Nord, Süd offen; Spitze | 88 | 72 | R3 aufteilen: 2 Einheiten nach Süd, um dessen freie Kapazität zu füllen |
| Mitte, Süd offen; ruhig | 27 | 15 | Regionen auf Mitte und Süd stückeln, sodass jede Kapazität voll ausgenutzt wird |
Am ersten Fall lässt es sich nachrechnen. In der Spitze nimmt Nord R1 auf (Kosten 4) und Süd R4 (Kosten 4). Süd hätte noch 2 Einheiten frei, aber R3 braucht 4 und ist unteilbar – also gehen R2 und R3 für je 40 an die fremde Cloud: 88. Darf man R3 teilen, gehen 2 Einheiten für 2 · 2 = 4 nach Süd und nur 2 Einheiten für 20 an die fremde Cloud; zusammen mit R2 sind es 4 + 4 + 4 + 20 + 40 = 72. Die LP-Relaxation unterschätzt die Folgekosten um 16.
6.3 Was dann passiert: Das Verfahren bleibt stecken
Mit Cuts aus der LP-Relaxation steigt die untere Schranke im Beispiel nur bis 69,5. Danach schlägt das Masterproblem immer wieder denselben Punkt vor – Nord und Süd –, und der neue Cut ist derselbe wie beim letzten Mal. Er lehrt das Masterproblem nichts Neues, weil er die echten Folgekosten an diesem Punkt (13 und 88) nicht erreicht, sondern nur die der Relaxation (13 und 72).
| Runde | Vorschlag (N, M, S) | untere Schranke | beste obere Schranke | Lücke |
|---|---|---|---|---|
| 1 | (0, 0, 0) | 0 | 125 | 125 |
| 2 | (1, 0, 1) | 27 | 77,5 | 50,5 |
| 3 | (0, 1, 1) | 37,5 | 77,5 | 40 |
| 4 | (1, 1, 0) | 46,5 | 77,5 | 31 |
| 5 | (1, 1, 1) | 55,5 | 77,5 | 22 |
| 6 | (0, 0, 1) | 60 | 77,5 | 17,5 |
| 7, 8, … | (1, 0, 1) | 69,5 | 77,5 | 8 – für immer |
Die beste Lösung ist schon in Runde 2 gefunden – aber das Verfahren kann nicht beweisen, dass sie die beste ist. Es bleibt eine Lücke von 8, rund zehn Prozent. Der Satz aus Kapitel 5.4 greift nicht, weil seine Voraussetzung fehlt: Die Cuts sind am Vorschlag nicht straff.
Cuts aus der LP-Relaxation sind nie falsch, aber oft zu schwach. Sie beschreiben ein Problem, in dem Kunden teilbar und Standorte halb offen sein dürfen. Je stärker die Ganzzahligkeit das Ergebnis prägt, desto größer ist die Lücke, die mit ihnen offen bleibt.
6.4 Frühere Auswege
Bevor Lagrange-Cuts verbreitet waren, gab es andere Antworten auf dieses Problem. Das ganzzahlige L-shaped-Verfahren von Laporte und Louveaux (1993) nutzt aus, dass die erste Stufe binär ist, und baut Cuts, die am Vorschlag straff sind – sie geben aber anderswo oft nur grobe Auskunft und lassen sich nur mit einer bekannten unteren Grenze der Folgekosten bilden. Andere Ansätze verschärfen die LP-Relaxation der Teilprobleme mit Schnittebenen, bis sie der Ganzzahligkeit näher kommt. Die duale Zerlegung von Carøe und Schultz (1999) gibt jedem Szenario eine eigene Kopie der ersten Entscheidung und relaxiert die Bedingung, dass alle Kopien übereinstimmen. Die Lagrange-Cuts des nächsten Kapitels sind damit eng verwandt: Chen und Luedtke zeigten 2022, dass alle Lagrange-Cuts zusammen genau die Schranke dieser dualen Zerlegung erreichen.
- LP in der zweiten Stufe: Schattenpreise → Tangente → gültig und straff, mit einem Solve.
- MIP in der zweiten Stufe: kein exakter Dual; Cuts aus der LP-Relaxation sind gültig, aber nicht straff.
- Beispiel: Mit LP-Cuts bleibt die Lücke bei 69,5 zu 77,5 stehen.
- 1993: ganzzahliges L-shaped-Verfahren; 1999: duale Zerlegung mit Kopien der ersten Stufe.
Lagrange-Relaxation und Lagrange-Cuts
Ein kleiner Trick macht ganzzahlige Teilprobleme zugänglich: Man gibt dem Teilproblem eine eigene Kopie der ersten Entscheidung und verlangt nicht mehr, dass sie mit dem Original übereinstimmt – sondern stellt Abweichungen in Rechnung. Heraus kommen Cuts, die für jeden Preis gültig sind.
7.1 Die Idee der Lagrange-Relaxation
Joseph-Louis Lagrange führte 1788 in seiner Mécanique analytique Multiplikatoren ein, um Nebenbedingungen in der Mechanik zu behandeln. In der ganzzahligen Optimierung wurde daraus ab etwa 1970 ein Standardwerkzeug: Michael Held und Richard Karp nutzten es 1970/71 für das Problem des Handlungsreisenden, Arthur Geoffrion prägte 1974 den Namen Lagrange-Relaxation.
Das Prinzip: Eine störende Nebenbedingung wird gestrichen und stattdessen mit einem Preis, dem Lagrange-Multiplikator, in die Zielfunktion übernommen. Wer sie verletzt, zahlt; wer sie übererfüllt, wird belohnt. Für jeden beliebigen Preis ist das Ergebnis eine untere Schranke für das ursprüngliche Problem. Die Kunst besteht darin, den Preis so zu wählen, dass diese Schranke möglichst hoch ausfällt.
7.2 Der Trick mit der Kopie
Für die Benders-Dekomposition wendet man das auf das Teilproblem an. Zunächst bekommt es eine eigene Kopie z der ersten Entscheidung. Die Kopie darf zwischen 0 und 1 liegen und muss mit x übereinstimmen:
An der Wertfunktion ändert das nichts – die Kopie ist ja gleich dem Original. Aber die Verbindung zwischen Master und Teilproblem steckt jetzt in einer einzigen, übersichtlichen Gleichung: z = x. Alle schwierigen Bedingungen, Ganzzahligkeit und Nichtkonvexität, bleiben im Teilproblem. Nun relaxiert man nur diese eine Gleichung, mit einem Multiplikator μ = (μ1, …, μn):
In Worten: Das Teilproblem darf seine Kopie z jetzt frei wählen, unabhängig davon, was der Master entschieden hat. Dafür wird ihm für jeden Standort der Betrag μj zj von den Kosten abgezogen. Der Wert vs(μ) ist das Ergebnis dieses gelockerten Problems. Ihn zu berechnen kostet einen Solve – ein MIP von der Größe des ursprünglichen Teilproblems.
7.3 Der Lagrange-Cut und warum er immer gilt
Der Lagrange-Cut zum Multiplikator μ lautet
Er ist eine Ebene mit Steigung μ und Achsenabschnitt vs(μ). Seine Gültigkeit lässt sich in drei Schritten zeigen. Man nehme irgendeine zulässige Lösung (y, z) des echten Teilproblems bei x; für sie gilt z = x. Dann ist
Die Gleichheit gilt, weil μ⊤z und μ⊤x sich wegheben. Die Ungleichung gilt, weil (y, z) auch im gelockerten Problem erlaubt ist und dessen Minimum vs(μ) nicht unterschreiten kann. Das gilt für jede zulässige Lösung, also auch für die beste: Qs(x) ≥ μ⊤x + vs(μ).
Der Beweis braucht keine Konvexität und keine Linearität. Er gilt für jedes Teilproblem, wie verwickelt es auch sei, und für jeden Multiplikator μ. Ein schlecht gewählter Multiplikator liefert einen schwachen Cut, aber nie einen falschen. Das unterscheidet Lagrange-Cuts von Tangenten, die nur bei konvexen Funktionen gültig sind.
7.4 Eine anschauliche Deutung: Miete für Standorte
Im Beispiel sind die sinnvollen Multiplikatoren negativ. Man kann −μj als Miete rj lesen, die das Teilproblem für die Nutzung von Standort j zahlen muss. Das gelockerte Teilproblem lautet dann: „Nutze, welche Standorte du willst – ganz gleich, ob der Master sie geöffnet hat –, zahle aber für jeden genutzten Standort seine Miete.“ vs(μ) sind die besten Gesamtkosten aus Zuordnung und Miete.
Der Cut θs ≥ vs(μ) − Σ rj xj sagt dann: „Für jeden Standort, den der Master wirklich öffnet, bekommst du die Miete zurück.“ Ist die Miete zu niedrig, nutzt das Teilproblem auch Standorte, die der Master geschlossen hat, und der Cut unterschätzt die Folgekosten. Ist sie hoch genug, verzichtet es darauf, und der Cut trifft.
7.5 Ein Lagrange-Cut von Hand
Betrachten wir den Vorschlag „Mitte und Süd offen, Nord zu“, also x = (0, 1, 1), im ruhigen Szenario. Die wahren Folgekosten sind 27. Wir verlangen Miete r nur für Nord; Mitte und Süd sind mietfrei (μM = μS = 0). Dann kommen für das gelockerte Teilproblem zwei Pläne in Frage:
| Plan | Zuordnung | Kosten der Zuordnung | Miete | zusammen |
|---|---|---|---|---|
| Nord mitnutzen | R1, R2 → N; R3 → M; R4 → S | 11 | r | 11 + r |
| ohne Nord | R1, R2, R3 → S; R4 → M | 27 | 0 | 27 |
Das Teilproblem nimmt den billigeren Plan, also ist v(r) = min(11 + r, 27), und der Cut lautet θruhig ≥ v(r) − r · xN. Bei x ist xN = 0, der Cut hat dort also den Wert v(r).
Gültig, aber nicht straff
v = min(19, 27) = 19. Cut: θ ≥ 19 − 8 xN. Bei (0, 1, 1) ergibt er 19 statt 27. Das Teilproblem nutzt Nord, obwohl der Master es geschlossen hat.
Gültig und straff
v = min(27, 27) = 27. Cut: θ ≥ 27 − 16 xN. Bei (0, 1, 1) genau 27 – und bei (1, 1, 1) genau 11. Das ist der Cut aus Kapitel 4.3.
Straff, aber steil
v = 27. Cut: θ ≥ 27 − 40 xN. Bei (0, 1, 1) wieder 27, aber bei offenem Nord nur −13 – dort völlig nutzlos.
Dieses kleine Beispiel enthält schon die drei Lehren der nächsten Kapitel: Jede Miete liefert einen gültigen Cut. Erst ab einer bestimmten Miete ist er straff. Und unter den straffen Cuts gibt es bessere und schlechtere.
7.6 Straff an binären Punkten
Den besten Multiplikator für einen Punkt x findet man, indem man die Höhe des Cuts an diesem Punkt maximiert:
Dieses Problem heißt Lagrange-Dual. Sein Optimalwert ist genau der Wert der konvexen Hülle der Wertfunktion an der Stelle x – höher kann nach Kapitel 4.5 kein Cut kommen, und mit dem besten Multiplikator wird diese Höhe erreicht. An binären Punkten ist die konvexe Hülle gleich der Wertfunktion. Daraus folgt der zentrale Satz, den Zou, Ahmed und Sun 2019 für ihr Verfahren SDDiP bewiesen haben: An einem binären Punkt berührt der Lagrange-Cut mit dem besten Multiplikator die Wertfunktion. Damit ist die Voraussetzung aus Kapitel 5.4 erfüllt, und das Benders-Verfahren endet nach endlich vielen Runden – auch mit ganzzahligen und nichtkonvexen Teilproblemen.
7.7 Der verstärkte Benders-Cut
Den besten Multiplikator zu finden ist aufwendig (Kapitel 8). Eine billige Abkürzung liegt nahe: Man nimmt als Multiplikator einfach die Schattenpreise der LP-Relaxation – den klassischen Benders-Cut – und berechnet nur den Achsenabschnitt vs(μ) neu, mit einem einzigen ganzzahligen Solve. Das Ergebnis heißt verstärkter Benders-Cut (englisch strengthened Benders cut). Er ist gültig, weil jeder Lagrange-Cut gültig ist, und immer mindestens so gut wie der LP-Cut mit derselben Steigung.
Oft ist er sogar straff. Im Beispiel liefert die LP-Relaxation am Punkt „Nord, Süd offen“ in der Spitze die Steigung −132 für Mitte und den Achsenabschnitt 72. Der neu berechnete Achsenabschnitt ist 88 – und der verstärkte Cut θ ≥ 88 − 132 xM ist bei (1, 0, 1) straff. Am Punkt „Mitte, Süd offen“ im ruhigen Szenario dagegen ist die LP-Steigung für Nord −8: Das ist genau der Fall „Miete 8“ von oben, und der verstärkte Cut bleibt bei 19 statt 27 stehen. Dann muss man suchen.
7.8 Ungenau gerechnet ist trotzdem gültig
Der Achsenabschnitt vs(μ) ist das Minimum eines MIP. Bricht man den Solver nach einem Zeitlimit ab, kennt man dieses Minimum vielleicht nicht genau, wohl aber eine gültige untere Schranke dafür (Kapitel 2.5). Setzt man diese Schranke statt vs(μ) ein, rutscht der Cut ein Stück nach unten – er bleibt gültig, ist aber nicht mehr straff. Hätte der Solver im Beispiel bei Miete 16 nur die Schranke 24 statt 27 erreicht, lautete der Cut θ ≥ 24 − 16 xN: korrekt, aber um 3 zu niedrig. Solche ungenauen Cuts sind für lineare Teilprobleme seit der Arbeit von Zakeri, Philpott und Ryan (2000) gut untersucht; bei ganzzahligen Teilproblemen sind sie die Regel, sobald Rechenzeit knapp ist. Die Endlichkeitsgarantie aus Kapitel 5.4 gilt für sie aber nicht ohne Weiteres, weil sie die Straffheit voraussetzt.
- Kopie z der ersten Entscheidung im Teilproblem; nur z = x wird mit μ relaxiert.
- Lagrange-Cut θs ≥ μ⊤x + vs(μ): gültig für jedes μ, ohne Konvexität; Achsenabschnitt kostet einen Solve.
- Bester Multiplikator → Cut erreicht die konvexe Hülle → an binären Punkten straff (Zou, Ahmed, Sun 2019).
- Verstärkter Benders-Cut: LP-Steigung, ganzzahliger Achsenabschnitt – billig, gültig, oft, aber nicht immer straff.
- Untere Schranke statt exaktem Wert → Cut bleibt gültig, wird schwächer.
Die Suche nach der besten Steigung
Der beste Multiplikator ist der Gipfel einer Funktion, die man nur Punkt für Punkt abtasten kann – und jeder Punkt kostet einen Solve. Wie man diesen Gipfel findet und warum das die eigentliche Rechenlast ist, zeigt dieses Kapitel.
8.1 Das Lagrange-Dual als Berglandschaft
Für einen festen Punkt x betrachtet man die Funktion
Sie gibt an, wie hoch der Cut mit Steigung μ am Punkt x liegt. Weil vs(μ) ein Minimum über viele Pläne ist und jeder Plan linear von μ abhängt, ist L das Minimum vieler Ebenen: eine konkave, stückweise lineare Funktion – ein Dach aus ebenen Flächen mit Kanten, aber ohne Dellen. Konkav heißt: Es gibt keinen falschen Gipfel, jedes lokale Maximum ist auch das globale. Die Schwierigkeit liegt woanders: Man sieht das Dach nicht, man kann nur an einzelnen Stellen messen, und jede Messung ist ein MIP.
Im Beispiel aus Kapitel 7.5 ist das Dach eindimensional und lässt sich vollständig zeichnen: L(r) = min(11 + r, 27). Es steigt mit der Miete an und wird ab r = 16 flach. Mit dem Regler lässt sich die Miete verschieben.
Punkt x = (0, 1, 1), Szenario „ruhig“, wahre Folgekosten 27. Mitte und Süd sind mietfrei.
| x | Qruhig | Cut |
|---|
Die Höhe des Cuts am Punkt (0, 1, 1) wächst mit der Miete, bis das Teilproblem auf Nord verzichtet; ab Miete 16 ist der Cut straff. Die Tabelle prüft den Cut an allen acht Punkten: Er ist bei jeder Miete gültig. Datenbasis: eigene Berechnung.
8.2 Die Richtung bergauf kommt gratis mit
Löst man das gelockerte Teilproblem bei einem Multiplikator μ, erhält man neben dem Wert auch die gewählte Kopie z*(μ). Der Vektor
zeigt bergauf: Er ist ein Supergradient der konkaven Funktion L. Die Deutung ist einfach. Nutzt das Teilproblem einen Standort, den der Master geschlossen hat (z*j = 1, xj = 0), ist gj = −1: Man sollte μj senken, also die Miete erhöhen. Verzichtet es auf einen Standort, den der Master geöffnet hat (z*j = 0, xj = 1), ist gj = +1: Die Miete ist zu hoch. Stimmen Kopie und Vorschlag überein, ist g = 0 – und man steht auf dem Gipfel.
8.3 Durchgerechnet: drei Schritte zum Gipfel
Suche am Punkt (0, 1, 1), Szenario ruhig
3 Solves- Schritt 1Start bei der LP-Steigung μN = −8 (Miete 8). Das Teilproblem wählt „Nord mitnutzen“, z* = (1, 1, 1). Höhe des Cuts: L = 19. Supergradient: g = (0, 1, 1) − (1, 1, 1) = (−1, 0, 0) → Miete erhöhen.
- Schritt 2Schrittweite 4: μN = −12 (Miete 12). Das Teilproblem nutzt Nord immer noch, L = 23, g = (−1, 0, 0) → weiter.
- Schritt 3μN = −16 (Miete 16). Beide Pläne kosten 27; mit „ohne Nord“ ist z* = (0, 1, 1) und g = 0. Höhe L = 27 = Qruhig(0, 1, 1): Der Cut ist straff, die Suche endet.
Ergebnis: θruhig ≥ 27 − 16 xN. Drei Solves für einen Cut – im Beispiel wenig, in der Praxis oft Dutzende.
8.4 Drei Suchverfahren
| Verfahren | Wie es sucht | Stärken und Schwächen |
|---|---|---|
| Subgradientenverfahren (Held, Wolfe, Crowder 1974) | Schritt in Richtung des Supergradienten, Schrittweite nach festem Plan kleiner werdend | sehr einfach; aber langsam, zickzackt und hat kein klares Abbruchkriterium |
| Schnittebenenverfahren (Kelley 1960) | sammelt jede Messung als Ebene, die das Dach von oben begrenzt, und springt zum höchsten Punkt dieses Modells | nutzt alle bisherigen Messungen; springt aber oft weit und unruhig hin und her |
| Bündelverfahren (Lemaréchal, Wolfe 1975) | wie Kelley, aber mit einem Strafterm, der in der Nähe des bisher besten Punktes hält | stabil, mit gutem Abbruchkriterium; Standard in der Praxis |
Alle drei teilen eine Eigenschaft: Jeder Schritt verlangt einen Solve des gelockerten Teilproblems. Man kann die Suche jederzeit abbrechen. Weil jeder Multiplikator einen gültigen Cut ergibt, verwendet man dann einfach den besten bisher gefundenen – gültig, nur vielleicht nicht straff. In der Praxis begrenzt man deshalb die Zahl der Schritte und die Rechenzeit je Solve.
8.5 Was die Suche teuer macht
Eine überschlägige Rechnung zeigt, wo die Rechenzeit bleibt. Bei 100 Szenarien, 20 Suchschritten je Cut und 50 Benders-Runden sind es 100 · 20 · 50 = 100 000 Solves von MIP-Teilproblemen. Der Master selbst fällt daneben kaum ins Gewicht. Chen und Luedtke betonen in ihrer Arbeit von 2022 entsprechend, dass das Erzeugen von Lagrange-Cuts rechnerisch anspruchsvoll ist, und schlagen vor, die Suche zu normieren und die Steigungen auf einen kleinen Raum einzuschränken, der von früheren Benders-Cuts aufgespannt wird. So kommen sie mit weit weniger Schritten zu guten Cuts.
Wer die Suche verkürzt, spart viel Rechenzeit, riskiert aber schwächere Cuts und damit mehr Benders-Runden – und jede zusätzliche Runde kostet wieder Solves in allen Szenarien. Wer gründlich sucht, bekommt starke Cuts, zahlt aber mit vielen Solves je Cut. Wo das Gleichgewicht liegt, hängt vom Problem ab und ist eine der zentralen Fragen der Forschung zu diesem Thema.
8.6 Viele Gipfel auf gleicher Höhe
Das Dach im Beispiel ist ab Miete 16 flach: Jede Miete von 16 an aufwärts ist optimal, alle liefern bei (0, 1, 1) die Höhe 27. Für den Punkt selbst sind sie gleich gut. Für die übrigen Punkte nicht: Bei offenem Nord ergibt Miete 16 den Wert 11, Miete 40 den Wert −13. Das ist typisch. An binären Punkten ist die Menge der besten Multiplikatoren oft groß, manchmal sogar unbegrenzt, und welche man erwischt, hängt vom Suchverfahren und seinem Startpunkt ab. Ein Bündelverfahren, das beim LP-Multiplikator startet, bleibt in dessen Nähe; im Beispiel ist das die flache, nützliche Lösung mit Miete 16. Gezielt steuern lässt sich die Auswahl mit den Ideen aus Kapitel 10.
- Lagrange-Dual L(μ): konkav, stückweise linear; Maximum = Wert der konvexen Hülle am Punkt.
- Supergradient x − z*(μ) fällt bei jedem Solve ab und zeigt bergauf.
- Suchverfahren: Subgradient (1974), Kelley (1960), Bündel (1975) – jeder Schritt ein Solve.
- Kosten: Szenarien × Suchschritte × Runden – die Suche ist der Engpass.
- Mehrdeutigkeit: Viele Multiplikatoren sind am Punkt gleich gut, aber anderswo verschieden nützlich.
Das Beispiel Schritt für Schritt
Jetzt läuft das ganze Verfahren am Beispiel des Cloud-Anbieters durch – Runde für Runde, mit allen Zahlen. Wir tun dabei so, als kennten wir die Tabelle der Wertfunktion nicht: Das Verfahren erfährt nur die Folgekosten der Punkte, die es selbst vorschlägt.
9.1 Die Spielregeln
Masterproblem
min 18 xN + 24 xM + 9 xS + 0,5 θruhig + 0,5 θSpitze, anfangs nur mit θ ≥ 0. Bei acht Punkten kann man es durch Ausprobieren lösen; ein echter Solver behandelt es als MIP.
Teilprobleme
Je Szenario die Zuordnung der Regionen bei gegebenem Vorschlag. Ihr Wert ist die Folgekosten-Zahl aus der Tabelle in Kapitel 4.1.
Cuts
Ein Lagrange-Cut je Szenario und Runde, straff am Vorschlag. Die Suche startet beim LP-Multiplikator und bleibt so nah wie möglich daran.
Abbruch
Sobald die untere Schranke die beste obere Schranke erreicht. Dann ist die beste gefundene Lösung bewiesen optimal.
9.2 Runde für Runde
Runde 1: Der naive Vorschlag
Lücke 125- MasterOhne Cuts glaubt der Master, Folgekosten gäbe es nicht. Am billigsten ist es dann, nichts zu öffnen: x1 = (0, 0, 0), Wert 0. Untere Schranke: 0.
- TeilproblemeAlles geht an die fremde Cloud: Qruhig = 90, QSpitze = 160. Echte Kosten 0 + 0,5 · 90 + 0,5 · 160 = 125. Obere Schranke: 125.
- CutsDie LP-Multiplikatoren sind hier schon die besten: θruhig ≥ 90 − 66 xN − 73 xM − 69 xS und θSpitze ≥ 160 − 120 xN − 132 xM − 120 xS.
Gelernt: Wer nichts öffnet, zahlt 90 und 160. Die Cuts sind aber sehr steil: Schon bei einem offenen Standort sagen sie wenig, bei zwei offenen gar nichts mehr (sie werden negativ, und θ ≥ 0 greift).
Runde 2: Die beste Lösung – noch unbewiesen
Lücke 50,5- MasterDie Cuts aus Runde 1 machen einzelne Standorte unattraktiv, Paare aber nicht. Am billigsten erscheint Nord und Süd: x2 = (1, 0, 1), Kosten 27, beide θ gleich 0. Untere Schranke: 27.
- TeilproblemeQruhig = 13, QSpitze = 88. Echte Kosten 27 + 50,5 = 77,5. Obere Schranke: 77,5 – das ist bereits das Optimum, aber das weiß noch niemand.
- Cutsθruhig ≥ 13 − 4 xM. In der Spitze liefert die LP-Relaxation die Steigung −132 für Mitte, aber nur den Achsenabschnitt 72; ganzzahlig gerechnet ist er 88: θSpitze ≥ 88 − 132 xM. Beide Cuts sind straff, der zweite ist ein verstärkter Benders-Cut.
Gelernt: Solange Mitte geschlossen bleibt, kosten die Folgekosten mindestens 13 und 88 – egal, was sonst geöffnet ist. Der Spitzen-Cut ist bemerkenswert: Die LP-Welt hält Mitte für sehr wertvoll (Steigung −132), obwohl Mitte in der Spitze gar keine Region aufnehmen kann. Der Cut ist trotzdem gültig, denn bei offenem Mitte sagt er nur −44, also nichts.
Runde 3: Hier muss gesucht werden
Lücke 40- MasterDer Master kennt (1, 0, 1) jetzt genau (77,5) und sucht etwas Billigeres. Mitte und Süd erscheint günstig: x3 = (0, 1, 1), Kosten 33, θruhig = 13 − 4 = 9, θSpitze = 0. Wert 33 + 4,5 = 37,5. Untere Schranke: 37,5.
- TeilproblemeQruhig = 27, QSpitze = 124. Echte Kosten 33 + 75,5 = 108,5 – teurer als 77,5. Obere Schranke bleibt 77,5.
- CutsRuhig: Die LP-Steigung −8 für Nord ergibt mit ganzzahligem Achsenabschnitt nur 19 statt 27. Die Suche aus Kapitel 8.3 erhöht die Miete auf 16: θruhig ≥ 27 − 16 xN. Spitze: θSpitze ≥ 124 − 120 xN, schon mit dem LP-Multiplikator straff.
Gelernt: Ohne Nord kosten die Folgekosten mindestens 27 und 124. Diese Runde ist die einzige im Beispiel, in der der verstärkte Benders-Cut nicht genügt und wirklich gesucht werden muss.
Runde 4: Nord und Mitte
Lücke 28- Masterx4 = (1, 1, 0), Kosten 42, θruhig = 27 − 16 = 11, θSpitze = 124 − 120 = 4. Wert 42 + 7,5 = 49,5. Untere Schranke: 49,5.
- TeilproblemeQruhig = 35, QSpitze = 124. Echte Kosten 42 + 79,5 = 121,5.
- Cutsθruhig ≥ 35 − 55 xS und θSpitze ≥ 124 − 124 xS.
Gelernt: Ohne Süd kosten die Folgekosten mindestens 35 und 124.
Runde 5: Alles öffnen
Lücke 19- Masterx5 = (1, 1, 1), Kosten 51, θruhig = 11, θSpitze = 4. Wert 51 + 7,5 = 58,5. Untere Schranke: 58,5.
- TeilproblemeQruhig = 11, QSpitze = 88. Echte Kosten 51 + 49,5 = 100,5.
- CutsFlache Cuts, Steigung null: θruhig ≥ 11 und θSpitze ≥ 88.
Gelernt: Selbst mit allen Standorten kostet die Spitze mindestens 88. Diese Zahl ist der Schlüssel: Sie gilt jetzt für jede Entscheidung.
Runde 6: Der Beweis
Lücke 0- MasterMit allen zehn Cuts ist der niedrigste Wert 77,5 bei (1, 0, 1). Untere Schranke: 77,5 = obere Schranke.
- ErgebnisNord und Süd öffnen, erwartete Gesamtkosten 77,5 – bewiesen optimal.
Gelernt: Für jede andere Wahl kennt der Master nun eine untere Schranke von mindestens 77,5 – etwa 84,5 für „nur Süd“ (wahr: 94,5) oder 97,5 für „nur Nord“ (wahr: 108). Die genauen Kosten dieser Alternativen musste das Verfahren nie ausrechnen. Für den Beweis genügt es zu wissen, dass sie nicht billiger sein können.
9.3 Zum Durchklicken
Das folgende Schaubild zeigt für jede Runde, was der Master über alle acht Entscheidungen weiß. Die Umrisse sind die wahren Gesamtkosten, die gefüllten Säulen die Schätzung des Masters – sie liegt nie darüber. Der Vorschlag der Runde ist hervorgehoben. Über die Schaltflächen lässt sich auch verfolgen, wie dasselbe Verfahren mit LP-Cuts stecken bleibt und wie es mit Cuts nach der Kernpunkt-Regel aus Kapitel 10 schon in Runde 2 endet.
Für jede der acht Entscheidungen zeigt die gefüllte Säule die Schätzung des Masters in dieser Runde, der Umriss die wahren Gesamtkosten. Der Master wählt die niedrigste gefüllte Säule. Die gestrichelten Linien sind untere und beste obere Schranke. Datenbasis: eigene Berechnung.
9.4 Die Schranken im Überblick
| Runde | Vorschlag (N, M, S) | Kosten des Vorschlags | untere Schranke | beste obere Schranke | Lücke | Solves für die Suche |
|---|---|---|---|---|---|---|
| 1 | (0, 0, 0) | 125 | 0 | 125 | 125 | – |
| 2 | (1, 0, 1) | 77,5 | 27 | 77,5 | 50,5 | – |
| 3 | (0, 1, 1) | 108,5 | 37,5 | 77,5 | 40 | 2 zusätzlich |
| 4 | (1, 1, 0) | 121,5 | 49,5 | 77,5 | 28 | – |
| 5 | (1, 1, 1) | 100,5 | 58,5 | 77,5 | 19 | – |
| 6 | (1, 0, 1) | 77,5 | 77,5 | 77,5 | 0 | Ende |
In jeder Runde mit Cuts kostet jedes Szenario mindestens einen ganzzahligen Solve für die Bewertung und einen für den Achsenabschnitt; „zusätzlich“ zählt nur die Suchschritte darüber hinaus. Das Schaubild vergleicht den Verlauf der unteren Schranke für drei Arten von Cuts.
Alle drei Verfahren finden die beste Lösung in Runde 2 (obere Schranke 77,5). Beweisen können sie es nur mit straffen Cuts: Lagrange-Cuts nach sechs Runden, Kernpunkt-Cuts nach zwei; LP-Cuts nie. Datenbasis: eigene Berechnung.
- Finden ist leicht, Beweisen ist schwer. Die beste Lösung stand nach Runde 2 fest; vier weitere Runden dienten nur dem Beweis.
- LP-Cuts reichen nicht. Sie bleiben bei einer Lücke von 8 stehen, weil sie die Ganzzahligkeit der Regionen nicht kennen.
- Lagrange-Cuts schließen die Lücke. Meist genügt schon der verstärkte Benders-Cut; nur einmal musste gesucht werden.
- Die Wahl unter gleich guten Cuts zählt. Steile Cuts wie in Runde 1 helfen nur am eigenen Punkt; gut gewählte Cuts helfen überall (Kapitel 10).
- Runde 2: Die optimale Lösung (Nord und Süd, 77,5) wird gefunden.
- Runde 3: Einziger Fall, in dem der Multiplikator gesucht werden muss (Miete 8 → 16).
- Runde 6: Untere gleich obere Schranke → bewiesen optimal.
- Vergleich: LP-Cuts bleiben bei 69,5 stecken; Kernpunkt-Cuts beweisen das Optimum schon in Runde 2.
Welcher Cut hilft am meisten?
Am selben Punkt können viele Cuts gleich straff sein, aber anderswo sehr verschieden viel verraten. Seit 1981 gibt es eine einfache Regel, um unter ihnen zu wählen: Man schaut nicht nur auf den aktuellen Punkt, sondern auf einen Punkt in der Mitte.
10.1 Starke und schwache Cuts
Ein Cut dominiert einen anderen, wenn er überall mindestens so hoch liegt und irgendwo höher. Ein Cut, der von keinem gültigen Cut dominiert wird, heißt Pareto-optimal. Thomas Magnanti und Richard Wong beobachteten 1981, dass die dualen Lösungen der Teilprobleme oft nicht eindeutig sind und dass die Wahl unter ihnen die Zahl der Benders-Runden stark beeinflusst. Bei Lagrange-Cuts tritt dieselbe Mehrdeutigkeit auf, wie Kapitel 8.6 gezeigt hat.
10.2 Die Kernpunkt-Regel von Magnanti und Wong
Ein Kernpunkt ist ein Punkt im Inneren der konvexen Hülle aller erlaubten ersten Entscheidungen – bei drei binären Variablen ohne weitere Einschränkung etwa die Würfelmitte (½, ½, ½). Die Regel lautet: Unter allen Cuts, die am aktuellen Vorschlag straff sind, wähle den, der am Kernpunkt am höchsten liegt. Magnanti und Wong zeigten, dass so gewählte Cuts Pareto-optimal sind. Der Preis ist ein zusätzliches Hilfsproblem je Cut.
Anschaulich: Ein Cut, der in der Mitte hoch liegt, ist eine flache, breit tragende Ebene statt einer steilen Rampe. Er ist am aktuellen Punkt genauso straff, sagt aber auch über die Nachbarschaft etwas Brauchbares.
10.3 Am Beispiel: zwei Runden statt sechs
In Runde 1 liegt der Vorschlag bei (0, 0, 0). Die Suche nahe am LP-Multiplikator lieferte die steilen Mieten (66, 73, 69). Wählt man stattdessen unter allen straffen Cuts den, der bei (½, ½, ½) am höchsten liegt, ergeben sich die Mieten (34, 21, 43) im ruhigen Szenario und (36, 0, 36) in der Spitze. Die Tabelle vergleicht beide Cuts an allen acht Punkten mit der wahren Wertfunktion.
| x = (N, M, S) | Qruhig | steiler Cut | Kernpunkt-Cut | QSpitze | steiler Cut | Kernpunkt-Cut |
|---|---|---|---|---|---|---|
| (0, 0, 0) | 90 | 90 | 90 | 160 | 160 | 160 |
| (0, 0, 1) | 47 | 21 | 47 | 124 | 40 | 124 |
| (0, 1, 0) | 69 | 17 | 69 | 160 | 28 | 160 |
| (0, 1, 1) | 27 | −52 | 26 | 124 | −92 | 124 |
| (1, 0, 0) | 56 | 24 | 56 | 124 | 40 | 124 |
| (1, 0, 1) | 13 | −45 | 13 | 88 | −80 | 88 |
| (1, 1, 0) | 35 | −49 | 35 | 124 | −92 | 124 |
| (1, 1, 1) | 11 | −118 | −8 | 88 | −212 | 88 |
Der Unterschied ist verblüffend. Der steile Cut ist nur bei (0, 0, 0) straff. Der Kernpunkt-Cut ist im ruhigen Szenario an sechs von acht Punkten straff und in der Spitze sogar an allen acht. Insbesondere kennt der Master nach nur einer Runde die Folgekosten des Optimums (1, 0, 1) exakt: 13 und 88. In Runde 2 schlägt er (1, 0, 1) vor, untere und obere Schranke treffen sich bei 77,5, und das Verfahren endet.
In der Sprache der Mieten hat die Kernpunkt-Regel etwas sehr Natürliches gewählt: Jede Miete ist genau so hoch wie die Ersparnis, die der Standort allein bringt. Nord allein senkt die ruhigen Folgekosten von 90 auf 56, also um 34; Mitte um 21; Süd um 43. In der Spitze sparen Nord und Süd je 36, Mitte nichts.
Im Beispiel ist die Wertfunktion fast „trennbar“: Die Ersparnisse der Standorte addieren sich weitgehend. Darum trägt ein einziger flacher Cut so weit. Bei stark verflochtenen Problemen ist der Gewinn kleiner, und das Hilfsproblem kostet zusätzliche Rechenzeit. In vielen Studien überwiegt der Nutzen dennoch deutlich.
10.4 Kernpunkte in der Praxis
Einen Punkt im Inneren der konvexen Hülle zu kennen, ist bei komplizierten erlaubten Mengen X selbst nicht leicht. Nikolaos Papadakos schlug 2008 zwei praktische Verbesserungen vor: eine unabhängige Fassung des Verfahrens von Magnanti und Wong, die nicht mehr an die Lösung des Teilproblems am aktuellen Vorschlag gebunden ist, und den Nachweis, dass für mehrere Anwendungen statt eines echten Kernpunkts auch andere Punkte genügen. Verbreitet ist seither, den Bezugspunkt im Lauf des Verfahrens aus den bisherigen Vorschlägen des Masters fortzuschreiben – etwa als Mischung aus altem Bezugspunkt und neuem Vorschlag oder als laufenden Mittelwert aller Vorschläge.
10.5 Übertragen auf Lagrange-Cuts
Bei Lagrange-Cuts lässt sich der Gedanke direkt übertragen. Statt die Höhe des Cuts am Vorschlag xk zu maximieren, maximiert man sie an einem anderen Punkt x̂, der auch gebrochen sein darf:
Der so gewonnene Cut berührt die konvexe Hülle der Wertfunktion an der Stelle x̂ und trägt deshalb in deren Umgebung weit. Er muss aber am aktuellen Vorschlag nicht straff sein. Weil die Endlichkeitsgarantie aus Kapitel 5.4 straffe Cuts an den Vorschlägen verlangt, ergänzt man in solchen Verfahren bei Bedarf einen zweiten, am Vorschlag straffen Cut. In Fachartikeln wird der Punkt x̂, an dem das Lagrange-Dual maximiert wird, unterschiedlich benannt – als Kernpunkt, Referenzpunkt oder, in manchen Arbeiten, als Anker.
10.6 Weitere Beschleuniger
Multi-Cut
Ein Cut je Szenario statt eines gemittelten Cuts: mehr Information je Runde, dafür ein größerer Master (Birge und Louveaux 1988).
Stabilisierung
Vorschläge des Masters nicht wild springen lassen, sondern zwischen einem stabilen Punkt und dem neuen Vorschlag vermitteln, etwa mit der „In-out“-Methode von Ben-Ameur und Neto (2007).
Parallelrechnen
Die Teilprobleme der Szenarien sind unabhängig und lassen sich gleichzeitig auf vielen Prozessoren lösen.
Cut-Verwaltung
Lange nicht mehr bindende Cuts entfernen, damit der Master klein bleibt; bei Bedarf wieder aufnehmen.
Warmstart
Ergebnisse früherer Solves – Lösungen, Multiplikatoren, Schranken – als Startpunkt für die nächsten nutzen.
Branch-and-Benders-Cut
Den Master nicht in jeder Runde neu lösen, sondern Cuts während eines einzigen Branch-and-Bound-Laufs als nachgereichte Bedingungen einfügen.
- Pareto-optimaler Cut: von keinem gültigen Cut dominiert.
- 1981, Magnanti und Wong: unter den straffen Cuts den wählen, der am Kernpunkt am höchsten liegt.
- 2008, Papadakos: Kernpunkte praktikabel bestimmen und fortschreiben, etwa aus bisherigen Vorschlägen.
- Beispiel: Kernpunkt-Cuts beweisen das Optimum in 2 statt 6 Runden.
- Lagrange-Cuts: Dual an einem anderen Punkt maximieren; bei Bedarf zusätzlich ein straffer Cut am Vorschlag.
Größere Probleme und offene Fragen
Das kleine Beispiel löst jeder Solver in Sekundenbruchteilen auch ohne Zerlegung. Ihren Wert zeigen Benders-Verfahren mit Lagrange-Cuts erst bei Problemen, an denen die extensive Form scheitert: bei vielen Szenarien, vielen Stufen und nichtkonvexen Zusammenhängen.
11.1 Mehrstufige Probleme
Viele Planungen laufen über mehrere Perioden: Ein Wasserkraftbetreiber entscheidet jede Woche neu, wie viel Wasser er abläuft, und erfährt danach den Zufluss der nächsten Woche. Jede Stufe ist dann Teilproblem der vorigen und Master der nächsten. Die Zahl der Pfade durch den Szenariobaum wächst exponentiell mit der Zahl der Stufen; schon zehn Stufen mit je zehn Möglichkeiten ergeben zehn Milliarden Pfade.
Verschachtelte Zerlegung
John Birge überträgt Benders auf mehrstufige stochastische LP: Cuts wandern von hinten nach vorn durch den Szenariobaum.
SDDP
Mario Pereira und Leontina Pinto entwickeln für die brasilianische Wasserkraftplanung die stochastische duale dynamische Programmierung: Statt des ganzen Baums werden Stichproben von Pfaden durchlaufen, und Cuts werden zwischen gleichartigen Knoten geteilt.
SDDiP
Jikai Zou, Shabbir Ahmed und Andy Sun erweitern SDDP auf ganzzahlige Probleme mit binären Zustandsvariablen und Lagrange-Cuts. Das Erzeugen der Lagrange-Cuts ist in diesem Verfahren der Hauptaufwand.
11.2 Nichtkonvexe Probleme
Noch schwieriger wird es, wenn die Teilprobleme nichtlinear und nichtkonvex sind, etwa durch physikalische Zusammenhänge in Strom- und Gasnetzen. Christian Füllner und Steffen Rebennack stellten 2022 die nichtkonvexe verschachtelte Benders-Zerlegung vor. Sie ersetzt nichtlineare Terme durch stückweise lineare Näherungen, die schrittweise verfeinert werden, stellt die Zustandsvariablen binär dar und erzeugt Lagrange-Cuts; eine Regularisierung stabilisiert das Verfahren. Es erreicht in endlich vielen Schritten eine Lösung, die bis auf eine vorgegebene Toleranz optimal ist. Auch hier ist das Erzeugen der Lagrange-Cuts der Engpass.
11.3 Wie Verfahren verglichen werden
Für die Forschung gibt es öffentliche Testsammlungen, etwa die SIPLIB mit Problemen der stochastischen ganzzahligen Optimierung. Darin sind die SSLP-Probleme nach Ntaimo und Sen (2005) enthalten: Server werden an möglichen Standorten aufgestellt (erste Stufe, binär), danach werden Kunden zugeordnet (zweite Stufe, gemischt-binär). Die Namen folgen dem Muster SSLP_m.n.s mit m Standorten, n Kunden und s Szenarien. Das Beispiel dieses Dossiers ist eine Miniatur solcher Probleme.
Typische Kennzahlen in Fachartikeln sind:
| Kennzahl | Was sie misst |
|---|---|
| Lücke über die Zeit | wie schnell sich die Schranken annähern; oft auf logarithmischer Achse, weil sie über Größenordnungen fällt |
| Relative Lücke | Differenz der Schranken geteilt durch eine Bezugsgröße, etwa die obere Schranke oder die Größe der Kosten im Optimum; Werte über 100 Prozent sind dann möglich |
| Zahl der Runden und Solves | Iterationen des Benders-Verfahrens und Aufrufe des Solvers für Teilprobleme |
| Anteil gelöster Instanzen | bei wie vielen Testproblemen die Lücke innerhalb der Zeitgrenze geschlossen wurde |
| Median über Instanzen | der mittlere Wert, robust gegen einzelne Ausreißer |
| Vergleich mit der extensiven Form | die Rechenzeit eines kommerziellen Solvers für das ungeteilte Problem – der Maßstab, den eine Zerlegung schlagen muss |
11.4 Offene Fragen der Forschung
Kosten der Cuts
Wie kommt man mit wenigen Solves zu Lagrange-Cuts, die fast so gut sind wie die mit dem besten Multiplikator?
Wahl der Multiplikatoren
Welche der vielen gleich guten Steigungen hilft dem Master am meisten – und wie normiert man die Suche?
Ungenaue Solves
Wie viel Ungenauigkeit in den Teilproblemen verträgt das Verfahren, ohne die Endlichkeit zu verlieren?
Wiederverwendung
Szenarien und Runden ähneln sich oft. Wie nutzt man frühere Rechnungen, etwa durch Warmstarts oder gemeinsame Strukturen?
Ein jüngerer Forschungszweig verbindet Zerlegungsverfahren mit maschinellem Lernen, etwa um Dualwerte, gute Startpunkte oder ganze Cuts vorherzusagen und so Rechenzeit zu sparen. Wie gut solche Ansätze funktionieren und welche Garantien dabei erhalten bleiben, ist Gegenstand laufender Forschung.
- Zerlegung lohnt sich bei vielen Szenarien, vielen Stufen und nichtkonvexen Teilproblemen.
- 1985 / 1991 / 2019: verschachtelte Zerlegung, SDDP, SDDiP mit Lagrange-Cuts.
- 2022: nichtkonvexe verschachtelte Benders-Zerlegung (Füllner, Rebennack).
- SSLP: Standard-Testprobleme der Standortplanung, benannt nach Standorten, Kunden, Szenarien.
- Hauptfrage: gute Lagrange-Cuts mit wenig Rechenaufwand.
Lesehilfe für Fachartikel
Fachartikel zu Benders-Verfahren und Lagrange-Cuts verwenden eine dichte, weitgehend einheitliche Schreibweise. Die beiden Tabellen übersetzen Symbole und typische Wendungen und verweisen auf das Kapitel, das sie erklärt.
12.1 Symbole
| Symbol | Bedeutung | Kapitel |
|---|---|---|
| x, X ⊆ {0, 1}n | erste Entscheidung und Menge der erlaubten ersten Entscheidungen, binär | 3.3 |
| c | Kosten der ersten Entscheidung, je Komponente | 3.3 |
| s, ps | Szenario und seine Wahrscheinlichkeit | 3.2 |
| y, fs(y), Gs | Entscheidungen, Kosten und erlaubte Menge der zweiten Stufe im Szenario s | 3.3 |
| Qs(x) | Wertfunktion: beste Folgekosten bei erster Entscheidung x | 4.1 |
| θs | Schätzvariable des Masters für Qs | 5.1 |
| θs ≥ a⊤x + b | Cut mit Steigung a und Achsenabschnitt b | 4.3 |
| z | Kopie der ersten Entscheidung im Teilproblem | 7.2 |
| μ | Lagrange-Multiplikator der Gleichung z = x; zugleich die Steigung des Lagrange-Cuts | 7.2 |
| vs(μ) | Wert des gelockerten Teilproblems; Achsenabschnitt des Lagrange-Cuts | 7.2 |
| z*(μ) | Kopie in der Lösung des gelockerten Teilproblems | 8.2 |
| x − z*(μ) | Supergradient: Richtung, in der das Lagrange-Dual steigt | 8.2 |
| xk | Vorschlag des Masters in Runde k | 5.2 |
| x* | optimale erste Entscheidung | 3.4 |
| x, x̂ | ein fester Punkt, an dem ein Cut berühren oder möglichst hoch liegen soll | 7.6, 10.5 |
| LB, UB | untere und obere Schranke (englisch lower und upper bound) | 2.4, 5.3 |
12.2 Typische Wendungen
| Wendung | Gemeint ist | Kapitel |
|---|---|---|
| „Der Cut ist gültig“ | Er liegt nirgends über der Wertfunktion; die untere Schranke bleibt korrekt. | 4.3 |
| „Der Cut ist straff an x“ | Er berührt die Wertfunktion dort; die Schätzung ist an dieser Stelle exakt. | 4.3 |
| „Die Lücke ist ein Zertifikat“ | Die Differenz der Schranken beweist, wie weit die beste Lösung höchstens vom Optimum entfernt ist. | 2.4 |
| „Extensive Form“ | das ganze zweistufige Problem als ein einziges MIP; Maßstab für Rechenzeiten | 3.5 |
| „Ein Solve“ | ein Aufruf des Solvers für ein Teilproblem | 2.5 |
| „Bester Multiplikator“ | ein μ, das das Lagrange-Dual am betrachteten Punkt maximiert | 7.6 |
| „Verstärkter Benders-Cut“ | Steigung aus der LP-Relaxation, Achsenabschnitt ganzzahlig berechnet | 7.7 |
| „Ungenauer Cut“ | Cut mit einem Achsenabschnitt, der nur eine untere Schranke ist, etwa nach einem Zeitlimit; gültig, aber nicht straff | 7.8 |
| „Bündelverfahren schöpft seine Solves aus“ | Die Suche nach dem Multiplikator endet an der vorgegebenen Höchstzahl von Schritten statt am Abbruchkriterium. | 8.4 |
| „Der Cut schneidet xk ab“ | Mit dem Cut steigt die Schätzung des Masters am Punkt xk; der alte, zu optimistische Wert ist ausgeschlossen. | 5.4 |
| „Kernpunkt-Regel“ | unter gleich straffen Cuts den wählen, der an einem inneren Punkt am höchsten liegt (Magnanti–Wong, Papadakos) | 10.2, 10.4 |
| „Gebrochener Punkt“ | ein Punkt mit Komponenten zwischen 0 und 1, etwa die Würfelmitte; kein umsetzbarer Vorschlag, aber als Bezugspunkt für Cuts nützlich | 10.5 |
| „Konvergiert“ | Das Verfahren schließt die Lücke (bis auf eine Toleranz) innerhalb der Grenzen an Zeit oder Runden. | 5.4 |
| „Instanz“ | ein konkretes Testproblem mit festen Daten | 11.3 |
| „Median über Instanzen“ | mittlerer Wert über alle Testprobleme, unempfindlich gegen Ausreißer | 11.3 |
Zeitleiste 1788–2022
Von Lagranges Multiplikatoren bis zu den Lagrange-Cuts der Gegenwart: die wichtigsten Schritte der Methoden, die in diesem Dossier vorkommen.
Glossar
- Branch-and-Bound
- Grundverfahren für ganzzahlige Programme: Das Problem wird schrittweise in Fälle aufgeteilt, Fälle mit zu schlechter unterer Schranke werden verworfen.
- Bündelverfahren
- Verfahren zur Maximierung nichtglatter konkaver Funktionen wie des Lagrange-Duals; sammelt Messungen als Ebenen und bleibt durch einen Strafterm nahe am bisher besten Punkt.
- Cut
- Lineare Ungleichung θs ≥ a⊤x + b, die die Folgekosten im Masterproblem von unten abschätzt.
- Dualität
- Zu jedem Optimierungsproblem gehört ein duales Problem über Preise der Nebenbedingungen; es liefert untere Schranken, bei linearen Programmen sogar den exakten Wert.
- Erste Stufe
- Die Entscheidungen, die vor dem Eintreten des Zufalls endgültig getroffen werden.
- Erwartungswert
- Mit den Wahrscheinlichkeiten gewichteter Durchschnitt über alle Szenarien.
- Extensive Form
- Das gesamte stochastische Problem als ein einziges großes Optimierungsproblem, mit einer Kopie der zweiten Stufe je Szenario; auch deterministisches Äquivalent.
- Gemischt-ganzzahliges Programm
- Optimierungsproblem mit linearen Bedingungen, in dem ein Teil der Variablen ganzzahlig sein muss (MIP).
- Kernpunkt
- Punkt im Inneren der konvexen Hülle der erlaubten ersten Entscheidungen; dient bei Magnanti und Wong zur Auswahl Pareto-optimaler Cuts.
- Konvex
- Eine Funktion ist konvex, wenn jede Verbindungsstrecke zweier Punkte ihres Graphen nicht unter dem Graphen liegt; anschaulich eine Schüssel ohne Dellen.
- Konvexe Hülle
- Bei einer Funktion: die höchste konvexe Funktion, die nirgends über ihr liegt. Kein Cut kann sie übersteigen.
- Lagrange-Cut
- Cut θs ≥ μ⊤x + vs(μ) aus der Lagrange-Relaxation der Kopiergleichung z = x; gültig für jedes μ.
- Lagrange-Dual
- Die Aufgabe, den Multiplikator so zu wählen, dass die Schranke der Lagrange-Relaxation an einem Punkt möglichst hoch liegt; eine konkave, stückweise lineare Maximierung.
- Lagrange-Multiplikator
- Preis, mit dem eine gestrichene Nebenbedingung in die Zielfunktion übernommen wird; bei Lagrange-Cuts zugleich deren Steigung.
- Lagrange-Relaxation
- Eine störende Nebenbedingung wird gestrichen und mit einem Preis in die Zielfunktion übernommen; das Ergebnis ist für jeden Preis eine untere Schranke.
- Lineares Programm
- Optimierungsproblem mit linearer Zielfunktion und linearen Bedingungen und reellen Variablen (LP); auch in großer Dimension effizient lösbar.
- Lücke
- Differenz zwischen bester oberer und unterer Schranke, absolut oder relativ angegeben.
- Masterproblem
- Problem der ersten Stufe im Benders-Verfahren, in dem die Folgekosten durch Variablen θs und Cuts ersetzt sind.
- Multi-Cut
- Benders-Variante mit einer Schätzvariablen und einem Cut je Szenario statt eines gemittelten Cuts.
- Pareto-optimaler Cut
- Gültiger Cut, den kein anderer gültiger Cut überall erreicht und irgendwo übertrifft.
- Relaxation
- Gelockerte Fassung eines Problems mit weniger strengen Bedingungen; ihr Optimalwert ist eine untere Schranke.
- Schattenpreis
- Duale Variable einer Nebenbedingung: Änderung des Optimalwerts, wenn ihre rechte Seite um eine Einheit wächst.
- SDDP
- Stochastische duale dynamische Programmierung (1991): Benders-artiges Verfahren für mehrstufige Probleme, das Stichproben von Pfaden durchläuft; SDDiP ist die ganzzahlige Erweiterung mit Lagrange-Cuts.
- Solver
- Software, die Optimierungsprobleme löst, etwa Gurobi, CPLEX, SCIP oder HiGHS. Ein einzelner Aufruf heißt in Fachartikeln oft „Solve“.
- Stochastische Optimierung
- Optimierung unter Unsicherheit, bei der der Zufall durch Wahrscheinlichkeiten oder Szenarien beschrieben wird; zweistufig, wenn auf eine erste Entscheidung genau eine Reaktion folgt.
- Straff
- Ein Cut ist straff an einem Punkt, wenn er dort den Wert der Wertfunktion genau erreicht.
- Supergradient
- Richtung, in der eine konkave, nicht überall glatte Funktion ansteigt; beim Lagrange-Dual der Vektor x − z*(μ).
- Szenario
- Eine mögliche Ausprägung der unsicheren Daten, mit einer Wahrscheinlichkeit versehen.
- Ungenauer Cut
- Cut, dessen Achsenabschnitt nur eine untere Schranke des exakten Werts ist, etwa nach einem Zeitlimit; gültig, aber schwächer.
- Verstärkter Benders-Cut
- Lagrange-Cut mit der Steigung des klassischen LP-Cuts und einem ganzzahlig berechneten Achsenabschnitt; kostet einen zusätzlichen Solve.
- Wertfunktion
- Funktion Qs(x), die jeder ersten Entscheidung die besten Kosten der zweiten Stufe im Szenario s zuordnet.
- Zertifikat
- Nachweis der Lösungsgüte durch eine obere und eine untere Schranke; bei Lücke null ein Beweis der Optimalität.
- Zweite Stufe
- Die Reaktion auf den eingetretenen Zufall, im Fachjargon Rekurs; ihre besten Kosten beschreibt die Wertfunktion.
Quellen & Weiterlesen
Die Darstellung folgt den Standardwerken und Originalarbeiten des Gebiets. Das Rechenbeispiel wurde für dieses Dossier entworfen und vollständig nachgerechnet; seine Zahlen stammen nicht aus einer Veröffentlichung.
Originalarbeiten und Übersichten online
- Wikipedia: Benders decomposition
- Wikipedia: Jacques F. Benders
- Benders: Partitioning procedures for solving mixed-variables programming problems (Nachdruck in Computational Management Science, 2005)
- Van Slyke, Wets: L-Shaped Linear Programs with Applications to Optimal Control and Stochastic Programming (SIAM, 1969)
- Rahmaniani, Crainic, Gendreau, Rei: The Benders Decomposition Algorithm – A Literature Review (CIRRELT-Arbeitspapier)
- Zuse-Institut Berlin, CO@Work 2020: Benders decomposition – Fundamentals (Vortragsfolien)
- Magnanti, Wong: Accelerating Benders Decomposition (Operations Research, 1981)
- Papadakos: Practical enhancements to the Magnanti–Wong method (Operations Research Letters, 2008)
- Laporte, Louveaux: The integer L-shaped method for stochastic integer programs with complete recourse (1993)
- Carøe, Schultz: Dual Decomposition in Stochastic Integer Programming (ZIB-Report)
- Fisher: The Lagrangian Relaxation Method for Solving Integer Programming Problems
- Encyclopedia of Mathematics: Lagrangean relaxation
- Claude Lemaréchal: Ausgewählte Veröffentlichungen (Bündelverfahren)
- Zou, Ahmed, Sun: Stochastic Dual Dynamic Integer Programming (Optimization Online)
- Chen, Luedtke: On Generating Lagrangian Cuts for Two-Stage Stochastic Integer Programs (arXiv)
- Füllner, Rebennack: Non-convex nested Benders decomposition (KIT-Bibliothek)
- Ntaimo, Sen: The million-variable „march“ for stochastic combinatorial optimization (edoc HU Berlin)
- SIPLIB: The SSLP Test Problems
Bücher zum Vertiefen
- John R. Birge, François Louveaux: Introduction to Stochastic Programming. 2. Auflage, Springer 2011.
- Alexander Shapiro, Darinka Dentcheva, Andrzej Ruszczyński: Lectures on Stochastic Programming. Modeling and Theory. SIAM, 2. Auflage 2014.
- Laurence A. Wolsey: Integer Programming. 2. Auflage, Wiley 2020.
- Michele Conforti, Gérard Cornuéjols, Giacomo Zambelli: Integer Programming. Springer 2014.
- Dimitris Bertsimas, John N. Tsitsiklis: Introduction to Linear Optimization. Athena Scientific 1997.
- Wolfgang Domschke, Andreas Drexl, Robert Klein, Armin Scholl: Einführung in Operations Research. Springer Gabler, deutschsprachiges Lehrbuch in vielen Auflagen.