KPITEL 6 GNZZHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULRE MTRIZEN F. VLLENTIN,. GUNDERT. Ganzzahlige lineare Programme Viele Optimierungsprobleme des Operations Research lassen sich als ganzzahlige lineare Programme formulieren. Definition.. Ein ganzzahliges LP (in Standardform) ist von der Form: max c T x x Z n x b, ( x ganzzahlig ) wobei c R n, R m n und b R m. Ein ganzzahliges lineares Programm nennen wir auch ILP oder IP (= integer linear program ). Wir maximieren also eine lineare Funktion über den ganzzahligen Punkten in einem Polyeder. P I P = {x R n : x b} P P I = conv(p Z n ) Beispiel.2. Es sei G = (V, E) ein ungerichteter Graph. Mit R V den Vektorraum der Funktionen von V nach R, also R V = {f : V R : f Funktion} und analog R E = {f : E R : f Funktion} R V E = {f : V E R : f Funktion} bezeichnen wir Wir definieren die Inzidenzmatrix R V E durch {, falls v e, v,e = 0, sonst. Date: 29. Juni 204.
2 F. Vallentin,. Gundert Dann ν(g) = max{ M : M E Matching in G} = max{ e E x e : x e 0 e E, x e Z e E, = max{. T x : x 0, x., x Z E } x e v V } e:v e Wir werden sehen, dass für G bipartit T ν(g) = max{. x : x 0, x., x R E } gilt. Im allgemeinen, nicht-bipartiten Fall kann aber < gelten. Zum Beispiel für G =, x e = 2 e E. Dualitätsbeziehung: Es gilt max{c T x : x b, x Z n } max{c T x : x b, x R n } = min{y T b : y 0, y T = c T, y R m } min{y T b : y 0, y T = c T, y Z m }, falls (PLP) und (DLP) beide zulässige Lösungen besitzen. Im llgemeinen gilt <, wie das obige Beispiel zeigt. Kein Wunder: LP kann effizient gelöst werden (in polynomieller Zeit), ILP dagegen wahrscheinlich nicht (Äquivalent zum P NP-Problem, für dessen Lösung.000.000 Dollar ausgeschrieben sind). Frage: In welcher Situation gilt =? Definition.3. Ein Polytop P R n heißt ganzzahlig, falls jede Ecke z von P ganzzahlig ist, das heißt z Z n. Falls P ganzzahlig ist, dann gilt also max{c T x : x P, x Z n } = max{c T x : x P, x R n } Wir suchen also Bedingungen an und b, damit P = {x : x b} ganzzahlig ist. 2. Vollständig-unimodulare Matrizen Definition 2.. Eine Matrix R m n heißt vollständig-unimodular (VU), falls jeder ihrer Minoren (Determinanten quadratischer Teilmatrizen) gleich 0, oder + ist. Insbesondere gilt für die Einträge: ij {0,, +}.
Ganzzahlige Optimierung 3 Satz 2.2. Sei R m n VU, b Z m. Dann ist jede Ecke des Polyeders P = {x : x b} ganzzahlig. Sei z eine Ecke von P. Dann hat die Teilmatrix z vollen Rang n und enthält darum eine n n Teilmatrix mit Rang n. OBd sei in den ersten n Zeilen von enthalten. Setze b = (b,..., b n ) T Z n, dann gilt z = b. Nach der Cramerschen Regel ist z i = det i det. Da det = und i ganzzahlig ist, ist also z i Z. Bemerkung 2.3. Nicht jedes Polyeder hat eine Ecke. Definition 2.4. Ein Polyeder P R n heißt ganzzahlig, falls für alle c R n, für die max{c T x : x P } endlich ist, das Maximum an einem ganzzahligen Vektor angenommen wird. Satz 2.5. Sei R m n VU, b Z m. Dann ist P = {x : x b} ein ganzzahliges Polyeder. Sei c R n gegeben und x eine optimale Lösung von max{c T x : x b}. Wähle d, d Z n mit d x d. Dann ist Q = {x R n : x b, d x d } ein Polytop. Weiter ist Q = {x R n : I I x b und die Matrix I ist VU. Nach dem vorherigen Satz ist Q also ein ganzzahliges I Polytop und außerdem wird max{c T x : x Q} an einer Ecke x angenommen. Da x Q, ist c T x c T x, und weil x b, ist x optimale Lösung von max{c T x : x b}. Korollar 2.6. Sei R m n VU, b Z m, c Z n. Dann haben die beiden linearen Programme d d } max{c T x : x b} = min{y T b : y 0, y T = c T } ganzzahlige Lösungen, falls die Optima endlich sind. Folgt aus dem vorhergehenden Satz, weil die Matrix I T Z (2n+m) m VU ist. T Ziel: Charakterisierung von vollständig-unimodularen Matrizen mit Hilfe von Ganzzahligkeit von Polyedern. Satz 2.7. (Hoffman, Kruskal 956) Sei Z m n. Dann gilt ist VU für alle b Z m ist P = {x : x b, x 0} ganzzahlig.
4 F. Vallentin,. Gundert : Weil P {x : x 0}, wird max{ct x : x P } in einer Ecke von P angenommen, falls das Maximum [ endlich ist ( ufgabe 9.). Sei z eine Ecke von P. Definiere B =. Betrachte I] Bx = x I ( ) b. 0 Dann enthält B z eine reguläre ( Teilmatrix B Z n n. Sei b Z n der entsprechende Teilvektor von. Dann ist z = (B b 0) ) b ganzzahlig aufgrund der Cramerschen Regel und weil VU ist. : Sei eine reguläre k k-teilmatrix von. Zu zeigen: det =. OBd sei die obere linke Teilmatrix von. Betrachte B Z m m bestehend aus den ersten k und den letzten m k Spalten von [ I m ], also I [ I m ] = k 0 0 und B = 0 I m k Dann ist det B = det. I m k Ziel: Zeige B Z m m. Denn: Weil dann det B Z und det B det B =, muss det B = sein. Sei i {,..., m}. Wir zeigen, dass die i-te Spalte von B ganzzahlig ist: Wähle y Z m mit y + B e i 0 und setze z = y + B e i. Dann ist Bz = By + e i Z m. Setze b = Bz. Füge in z hinter den ersten k Komponenten n k + k Nullen ein und nenne diesen Vektor z. Dann gilt nach Konstruktion [ I]z = Bz = b. Da z 0, liegt der Vektor z, der aus den ersten n Komponenten von z besteht, in P = {x : x b, x 0}. Das heißt es gilt [ ( z I] b. 0) Die ersten k und die letzten n k dieser Ungleichungen sind mit Gleichheit erfüllt. Da die entsprechenden Zeilen von linear unabhängig sind, ist I also z eine Ecke von P. Nach Voraussetzung ist z Z n. uf den ersten n Komponenten stimmen z und z überein. Die letzten m Komponenten von z sind durch b z gegeben und also auch ganzzahlig. lso ist z Z m und somit auch B e i = z y Z m. 3. Vollständig-unimodulare Matrizen und bipartite Graphen Satz 3.. Sei G = (V, E) ein ungerichteter Graph. Dann gilt G ist bipartit Die Inzidenzmatrix R V E ist VU.
Ganzzahlige Optimierung 5 : Sei B eine t t Teilmatrix von. Zeige: det B {, 0, +} per Induktion nach t. t = : t > :.Fall: B enthält eine Nullspalte. Dann ist det B = 0. 2.Fall: B enthält eine Spalte, die genau eine enthält. Dann ist B (nach eventueller Permutation von Zeilen und Spalten) von der Form b T B = 0 B, b R t, B R (t ) (t ). Nach Induktionsvoraussetzung ist det B {, 0, +}. lso auch det B {, 0, +}. 3.Fall: Jede Spalte von B enthält genau zwei Einsen. Da G bipartit ist, kann man (nach eventueller Permutation der Zeilen) B als B B = B schreiben, wobei jede Spalte von B genau eine enthält und jede Spalte von B genau eine enthält. ufaddieren aller Zeilen von B ergibt den Vektor (,..., ). Genauso wie ufaddieren aller Zeilen von B. Das heißt die Zeilen von B sind linear abhängig, also det B = 0. : Sei VU. ngenommen G ist nicht bipartit. Dann enthält G einen Kreis ungerader Länge mit Knoten v,..., v k und Kanten e,..., e k. Die entsprechende Teilmatrix von (mit Zeilen v,..., v k und Spalten e,..., e k ) ist von der Form: v 2 v 3 e e 2 e 3... e k e k v 0 0... 0 v 2 0... 0 0 v 3 0... 0 0......... v k 0 0 0... 0 v k 0 0 0... v e e 2 e k e k v k v k Zum Beispiel durch Entwicklung nach der k-ten Spalte sieht man, dass die Determinante dieser Matrix gleich (+) +(+) = 2 ist (k ist ungerade!). lso kann nicht VU sein. Korollar 3.2. (Matching-Theorem von König; siehe Kapitel 3.3) Sei G = (V, E) ein bipartiter Graph. Dann ν(g) = max{ M : M E Matching in G} = min{ U : U V Knotenüberdeckung in G} = τ(g).
6 F. Vallentin,. Gundert ν(g) = max{ e E x e : x e 0 e E, x e Z, = max{ T x : x Z E, x 0, x } x e v V } e:v e = max{ T x : x R E, x 0, x } (nach Hoffman.Kruskal, weil VU ist) = min{ T y : y R V, y 0, y T } (LP Dualität) = min{ T y : y Z V, y 0, y T } (Hoffman-Kruskal) = min{ v V = τ(g). y v : y v Z, y v 0 v V, y u + y v {u, v} E} Ein Vektor y Z V, der das Minimum erzielt, hat nur 0/- Komponenten. Hierbei ist y v = v ist Knoten in einer minimalen Knotenüberdeckung. Korollar 3.3. Sei G = (V, E) ein bipartiter Graph. Dann conv{χ M : M E Matching in G} = {x R E : x 0, x }, wobei die Inzidenzmatrix von G ist. : : Q = {x RE : x 0, x } ist beschränkt, also ein Polytop und somit ist Q die konvexe Hülle seiner Ecken. Da VU ist, sind alle Ecken von Q ganzzahlig. Und jeder ganzzahlige Vektor in Q ist Inzidenzvektor eines Matchings in G. Korollar 3.4. (Theorem von Egaváry (93)) Sei G = (V, E) ein bipartiter Graph und w : E Z eine Gewichtsfunktion. Dann ist ν W (G) = max{w(m) : M E Matching in G} = min{ v V y v : y Z V, y 0, y u + y v w({u, v}) {u, v} E}. Weil die Inzidenzmatrix R V E von G VU ist, gilt max{w T x : x 0, x } = min{ T y : y 0 y T w}, wobei beide Probleme optimale ganzzahlige Lösungen haben. 4. Vollständig-unimodulare Matrizen und gerichtete Graphen Definition 4.. Die Inzidenzmatrix eines gerichteten Graphen D = (V, ) ist M R V mit a +, falls a δ (v) v M v,a = a, falls a δ + (v) v 0, sonst.
Ganzzahlige Optimierung 7 Jede Spalte von M enthält genau eine + und genau eine. Satz 4.2. M ist VU. Sei B R t t eine Teilmatrix von M. Zeige per Induktion nach t, dass det B {, 0, +}. t = : t > :.Fall: B hat eine Nullspalte det B = 0. 2.Fall: B hat eine Spalte, die genau einen Eintrag 0 enthält. Dann, nach eventueller Vertauschung von Zeilen und Spalten, ist ± b T B = 0 B, b R t, B R (t ) (t ). Nach Induktionsvoraussetzung ist det B {, 0, +}, also det B = (±) det B {, 0, +}. 3.Fall: Jede Spalte von B enthält zwei Einträge 0. ufaddieren sämtlicher Zeilen von B ergibt 0, das heißt det B = 0. Korollar 4.3. (Max-flow-min-cut Theorem) Sei D = (V, ) ein gerichteter Graph, s, t V und c: R 0 eine Kapazitätsfunktion. Dann max min: max value(f) = min c(δ + (U)) f ist s-t-fluss U V 0 f c s U, t / U. max min: Sei M R V die Inzidenzmatrix von D und sei M die Matrix, die man durch Streichen der zu s und t gehörenden Zeilen aus M bekommt. Dann gilt f R ist s-t-fluss M f = 0. Sei w T R die zu t gehörende Zeile von M. Dann ist lso value(f) = w T f. max value(f) = max{w T f : 0 f c, M f = 0} f ist s-t-fluss 0 f c () = min{y T c : y 0, z R V \{s,t}, y T + z T M w T } = min{y T c : (y T z T I I ) 0 M (0 w T )},
8 F. Vallentin,. Gundert I I wobei () nach LP Dualität gilt. Die Matrix 0 M ist VU und der Vektor (0 w T ) ist ganzzahlig, also wird das Maximum an ganzzahligen Vektoren y, z angenommen. Erweitern wir z zu z Z V durch zt = und zs = 0 und zv = zv v V \{s, t}, so gilt (y ) T + (z ) T M 0, denn [(y ) T + (z ) T M] a = ya + [(z ) T M ] a } {{ } w a + zs }{{} =0 w a + ( ) M t,a = 0. }{{} =w a Setze U = {v V : z v 0}. Dann ist s U, t / U. M s,a + z t Behauptung: a δ + (U) c(a) (y ) T c (= max value(f)). }{{} = M t,a Beweis: Es genügt zu zeigen, dass falls a δ + (U), dann ya z Z V, gilt für a = (u, v) δ + (U): z u 0, z v nach Definition von U. Wegen [(y ) T + (z ) T M] a 0 gilt y a + z v y a z u z u z v. 0, das heißt. Da Prof. Dr. F. Vallentin, Dr.. Gundert, Mathematisches Institut, Universität zu Köln, Weyertal 86 90, 5093 Köln, Deutschland E-mail address: frank.vallentin@uni-koeln.de, anna.gundert@uni-koeln.de