finale Version des Vorlesungsskripts - ZIB

finale Version des Vorlesungsskripts - ZIB finale Version des Vorlesungsskripts - ZIB

23.06.2013 Aufrufe

12.2 Ganzzahlige Polyeder: Zwei Beispiele Minimiert man über P ↑ (s,t)−path (D) eine Zielfunktion mit negativer Komponente, so ist der Optimalwert −∞. Die Dominante kann also nur bei nicht-negativen Zielfunktionen (D) liefern dann aber offensichtlich kürzeste Wege. eingesetzt werden. LPs über P ↑ (s,t)−path (12.19) Satz. Das System von Ungleichungen x(a) ≥ 0 für alle a ∈ A (i) x(C) ≥ 1 für alle (s, t)-Schnitte C ⊆ A (ii) ist eine vollständige Beschreibung des Polyeders P ↑ (s,t)−path (D). △ Beweis. Offensichtlich erfüllt jeder Inzidenzvektor χ P eines (s, t)-Weges P ⊆ A die Ungleichungen (i) und (ii), und wenn man einen Vektor y ∈ R A + zu χ P addiert, so gilt das natürlich auch für die Summe χP + y. Also ist P ↑ (s,t)−path (D) in der Lösungsmenge Q von (i) und (ii) enthalten. Angenommen, Q ist echt größer als P ↑ (s,t)−path (D). Dann existiert eine Zielfunktion c: A → Z, so dass das Minimum über Q kleiner ist als über P ↑ (s,t)−path (D). Hat c eine negative Komponente, dann ist das Minimum in beiden Fällen −∞. Daher können wir annehmen: c ∈ ZA +. Das Minimum von cT x über P ↑ (s,t)−path (D) ist dann nach Konstruktion die Länge d eines kürzesten (s, t)-Weges in D. Nach dem Min-Max-Satz (5.29) gibt es dann d (s, t)-Schnitte C1, ..., Cd, so dass jeder Bogen a ∈ A in höchstens c(a) Schnitten Ci liegt. Daraus folgt für jedes beliebige Element x ∈ Q: c T x ≥ d i=1 χ Ci i T x = d x(Ci) ≥ d. Folglich ist das Minimum über Q mindestens gleich d, was unserer Annahme widerspricht. ✷ Aus Satz (12.19) folgt nun, dass kürzeste (s, t)-Wege bei nicht-negativen Bogenlängen c(a) durch Lösen des linearen Programms min c T x i=1 x(a) ≥ 0 für alle a ∈ A x(C) ≥ 1 für alle (s, t)-Schnitte C ⊆ A bestimmt werden können. Sind solche LPs tatsächlich (praktisch irgendwie) lösbar? Auf den ersten Blick natürlich nicht, denn die Anzahl der (s, t)-Schnitte in D ist 2 |V |−2 ; man kann die Ungleichungen daher gar nicht explizit angeben. Wir werden später sehen, dass derartige LPs dennoch (zumindest theoretisch) in polynomialer Zeit gelöst werden können. Dazu benötigen wir aber erheblich mehr Theorie. Den oben gemachten „Trick“ können wir übrigens auch auf (s, t)-Schnitte anwenden. Einen minimalen (s, t)-Schnitt zu finden, ist gleichfalls N P-schwer, wenn beliebige 223

12 Ganzzahligkeit von Polyedern: Eine Einführung in Totale Unimodularität Zielfunktionen erlaubt sind. Polynomiale Algorithmen existierern, wenn alle Bogenlängen c(a) nicht-negativ sind, und statt der konvexen Hülle aller (s, t)-Schnitte P (s,t)−cut(D) betrachtet man die Dominante P ↑ (s,t)−cut (D) = conv{χC ∈ R A | C ⊆ A ist (s, t)-Schnitt} + R A +. Analog kann man dann beweisen: (12.20) Satz. Das System von Ungleichungen x(a) ≥ 0 für alle a ∈ A (i) x(P ) ≥ 1 für alle (s, t)-Wege P in D (ii) ist eine vollständige Beschreibung des Polyeders P ↑ (s,t)−cut (D). △ Und genauso analog kann man dann bei nicht-negativer Zielfunktion einen (s, t)-Schnitt minimaler Kapazität durch Lösung des linearen Programms min c T x x(a) ≥ 0 für alle a ∈ A x(P ) ≥ 1 für alle (s, t)-Wege P in D bestimmen. Und auch dieses LP ist in polynomialer Zeit (mit Techniken, die wir noch nicht kennen) lösbar. Eine alternative Möglichkeit, kürzeste Wege polyedrisch darzustellen, nutzt die Formulierung als Minimalkosten-Flussproblem, wobei hier jedoch totale Unimodularität ins Spiel kommt. Betrachten wir das System x(δ + (i)) − x(δ − (i)) = 0 ∀i ∈ V \ {s, t} x(δ + (s)) = 10 ≤ xa ≤ 1 ∀a ∈ A, so ist die Matrix des Gleichungssystems total unimodular, also ist jede Ecke der Lösungsmenge ganzzahlig. Man überlegt sich leicht, dass diese Ecken zwei Typen von Bogenmengen induzieren: 1. (s, t)-Wege, 2. (s, t)-Wege vereinigt mit gerichteten Kreisen in D. Daraus folgt, dass Minimierung einer nichtnegativen Zielfunktion über diesem System (z. B. mit dem Simplex-Algorithmus oder einem Min-Cost-Flow-Algorithmus) zu einem Inzidenzvektor einer optimalen Ecklösung führt, aus dem ein kürzester (s, t)-Weg abgelesen werden kann. Das Polyeder P = {x ∈ R A | x(δ + (i)) − x(δ − (i)) = 0, i ∈ V \ {s, t}; x(δ + (s)) = 1; 0 ≤ xa ≤ 1, a ∈ A} ist daher ebenfalls als Baustein bei komplexen Anwendungsmodellen nützlich, die kürzeste Wege als Teilmodelle enthalten. 224

12 Ganzzahligkeit von Polyedern: Eine Einführung in Totale Unimodularität<br />

Zielfunktionen erlaubt sind. Polynomiale Algorithmen existierern, wenn alle Bogenlängen<br />

c(a) nicht-negativ sind, und statt der konvexen Hülle aller (s, t)-Schnitte P (s,t)−cut(D)<br />

betrachtet man die Dominante<br />

P ↑<br />

(s,t)−cut (D) = conv{χC ∈ R A | C ⊆ A ist (s, t)-Schnitt} + R A +.<br />

Analog kann man dann beweisen:<br />

(12.20) Satz. Das System von Ungleichungen<br />

x(a) ≥ 0 für alle a ∈ A (i)<br />

x(P ) ≥ 1 für alle (s, t)-Wege P in D (ii)<br />

ist eine vollständige Beschreibung <strong>des</strong> Polyeders P ↑<br />

(s,t)−cut (D). △<br />

Und genauso analog kann man dann bei nicht-negativer Zielfunktion einen (s, t)-Schnitt<br />

minimaler Kapazität durch Lösung <strong>des</strong> linearen Programms<br />

min c T x<br />

x(a) ≥ 0 für alle a ∈ A<br />

x(P ) ≥ 1 für alle (s, t)-Wege P in D<br />

bestimmen. Und auch dieses LP ist in polynomialer Zeit (mit Techniken, die wir noch<br />

nicht kennen) lösbar.<br />

Eine alternative Möglichkeit, kürzeste Wege polyedrisch darzustellen, nutzt die Formulierung<br />

als Minimalkosten-Flussproblem, wobei hier jedoch totale Unimodularität ins<br />

Spiel kommt. Betrachten wir das System<br />

x(δ + (i)) − x(δ − (i)) = 0 ∀i ∈ V \ {s, t}<br />

x(δ + (s)) = 10 ≤ xa ≤ 1 ∀a ∈ A,<br />

so ist die Matrix <strong>des</strong> Gleichungssystems total unimodular, also ist jede Ecke der Lösungsmenge<br />

ganzzahlig. Man überlegt sich leicht, dass diese Ecken zwei Typen von Bogenmengen<br />

induzieren:<br />

1. (s, t)-Wege,<br />

2. (s, t)-Wege vereinigt mit gerichteten Kreisen in D.<br />

Daraus folgt, dass Minimierung einer nichtnegativen Zielfunktion über diesem System<br />

(z. B. mit dem Simplex-Algorithmus oder einem Min-Cost-Flow-Algorithmus) zu einem<br />

Inzidenzvektor einer optimalen Ecklösung führt, aus dem ein kürzester (s, t)-Weg abgelesen<br />

werden kann. Das Polyeder<br />

P = {x ∈ R A | x(δ + (i)) − x(δ − (i)) = 0, i ∈ V \ {s, t}; x(δ + (s)) = 1; 0 ≤ xa ≤ 1, a ∈ A}<br />

ist daher ebenfalls als Baustein bei komplexen Anwendungsmodellen nützlich, die kürzeste<br />

Wege als Teilmodelle enthalten.<br />

224

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!