finale Version des Vorlesungsskripts - ZIB
finale Version des Vorlesungsskripts - ZIB
finale Version des Vorlesungsskripts - ZIB
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
12 Ganzzahligkeit von Polyedern: Eine Einführung in Totale Unimodularität<br />
(12.18) Satz (Dekompositionssatz von Seymour für total unimodulare Matrizen).<br />
Eine Matrix A ist total unimodular genau dann, wenn sie aus Netzwerkmatrizen<br />
und den Matrizen in (12.14) durch die Operationen 1 bis 6 bzw. durch die Kombinationsoperationen<br />
(12.15)–(12.17) erzeugt werden kann. Die Kombinationsoperationen (12.15)–<br />
(12.17) werden dabei nur angewendet, wenn sowohl für A als auch für B die Summe aus<br />
Spalten- und Zeilenanzahl min<strong>des</strong>tens 4 ist. △<br />
Aufbauend auf Satz (12.18) kann ein Polynomialzeitalgorithmus für die Erkennung<br />
total unimodularer Matrizen entwickelt werden.<br />
12.2 Ganzzahlige Polyeder: Zwei Beispiele<br />
Wir haben gesehen, dass ein Polyeder P (A, b) nur ganzzahlige Ecken hat, wenn die Matrix<br />
A total unimodular und der Vektor b ganzzahlig sind. Total unimodulare Matrizen<br />
sind natürlich sehr speziell, man bräuchte viel häufiger Ganzzahligkeitseigenschaften bei<br />
praktischen Anwendungen.<br />
Offensichtlich hat je<strong>des</strong> Polyeder P , das man als konvexe Hülle ganzzahliger Punkte<br />
definiert, nur ganzzahlige Ecken. Aber wie findet man für P eine Matrix A und einen<br />
Vektor b, so dass P = P (A, b) gilt? Dies ist im Allgemeinen sehr schwierig. Gelegentlich<br />
helfen bei der Suche Strukturresultate wie Min-Max-Sätze, siehe z. B. Abschnitt 5.3.4.<br />
Wir erläutern dies an zwei Beispielen.<br />
Gegeben seien ein Digraph D = (V, A) und zwei voneinander verschiedene Knoten<br />
s, t ∈ V . Wir wissen, dass wir kürzeste (s, t)-Wege in polynomialer Zeit berechnen können.<br />
Eine natürliche Frage ist daher, ob man ein System von Ungleichungen bestimmen<br />
kann, welches das Polytop P (s,t)−path(D) = conv{χ P ∈ R A | P ist (s, t)-Weg in D} vollständig<br />
beschreibt. Im Prinzip kann man dies natürlich, aber niemand kennt für beliebige<br />
Digraphen D ein System Ax ≤ b mit P (s,t)−path(D) = P (A, b). Ein Grund (der hier noch<br />
nicht detailliert ausgeführt werden kann) dafür ist, dass das Kürzeste-Wege-Problem<br />
N P-schwerist. Alle polynomialen Kürzeste-Wege-Algorithmen verlangen zusätzliche Eigenschaften<br />
(z. B. von der Zielfunktion), eine Tatsache, die häufig –auch ein paar Zeilen<br />
weiter oben– „vergessen“ wird. Schnelle Algorithmen gibt es z. B., wenn alle Bogenlängen<br />
nicht-negativ sind. In einem solchen Fall braucht man „nur“ nach einer kürzesten gerichteten<br />
(s, t)-Kette oder einer kürzesten beliebigen Obermenge davon zu suchen. Eine<br />
solche enthält dann automatisch einen kürzesten (s, t)-Weg.<br />
Diese Überlegung führt dazu, dass man statt P (s,t)−path(D) ein größeres Polyeder betrachtet,<br />
welches, wenn man lineare Programme mit positiver Zielfunktion über diesem<br />
Polyeder löst, automatisch eine optimale Ecke liefert, die einem kürzesten Weg entspricht.<br />
(Bei einer nicht-negativen Zielfunktion müssen unter Umständen einige Bögen entfernt<br />
werden, um einen kürzesten Weg zu erhalten.)<br />
Wir definieren<br />
P ↑<br />
(s,t)−path (D) := P (s,t)−path(D) + R A +<br />
und nennen P ↑<br />
(s,t)−path (D) die Dominante von P (s,t)−path(D). Durch die Addition <strong>des</strong><br />
nicht-negativen Orthanten R n + zu P (s,t)−path(D) erhält man ein unbeschränktes Polyeder.<br />
222