KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN



Ähnliche Dokumente
Einführung in die Mathematik des Operations Research

Optimierung. Vorlesung 08

Vorlesung Lineare Optimierung (Sommersemester 2007)

Operations Research. Ganzzahlige lineare Programme. ganzzahlige lineare Programme. Ganzzahlige lineare Programme. Rainer Schrader. 25.

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

Ganzzahlige lineare Programme

Ecken des Zuordnungsproblems

Einführung in die Mathematik des Operations Research. Prof. Dr. Frank Vallentin

KAPITEL 4 FLÜSSE IN NETZWERKEN

Das Matching Polytop

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1)

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.

Flüsse in Netzwerken

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Lineare Algebra II 5. Übungsblatt

Gemischt-ganzzahlige und Kombinatorische Optimierung

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

Schnittebenenverfahren und Heuristiken

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Schnittebenenverfahren für das symmetrische

D-MAVT Lineare Algebra I HS 2017 Prof. Dr. N. Hungerbühler. Lösungen Serie 10

Technische Universitat Darmstadt

Die lineare Programmierung. Die Standardform 1 / 56

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung

2. Optimierungsprobleme 6

Optimierung. Vorlesung 02

Diskrete Optimierung (Einführung zur Vorlesung)

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 3: Das Matching-Polytop

Die Determinante. Lineare Algebra I. Kapitel Mai 2013

Triangulierungen von Punktmengen und Polyedern

Das Multi Traveling Salesman Problem

Mathematik I. Vorlesung 14. Rang von Matrizen

Flüsse in Netzwerken. Seminar über Algorithmen SoSe Mike Rohland & Julia Schenk

KLAUSUR ZUR LINEAREN ALGEBRA I MUSTERLÖSUNG

A = A A

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

KAPITEL 10 DIE INNERE-PUNKTE-METHODE

3.11 Volumen und Determinanten

Kapitel III. Lineare Abbildungen

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Optimierung. Zusammenfassung

Rang einer Matrix. 1-E1 Ma 1 Lubov Vassilevskaya

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Proseminar Lineare Algebra WS 08/09 Prof. Dr. O. Bogopolski 1. Vortrag: Lineare Gleichungen. am 11. März von Maximilian Wahner

Teil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.

Darstellung von Gruppen

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

3.4 Maximale Flüsse und der Algorithmus von Ford Fulkerson

Randomisierte Algorithmen

Die Lineare Algebra-Methode. Mahir Kilic

Vortrag 20: Kurze Vektoren in Gittern

Wir wenden das Simplexverfahren auf das lineare Programm max{c T x : Ax apple b} an, wobei x 0 =(1, 0, 0) T die Startecke ist und C A.

Multivariate Analysis

2.5 Smith-Normalform für Matrizen über Euklidischen Ringen

Heinrich Heine-Universität Düsseldorf Sommersemester Lineare Algebra 1. Vierzehnte & Fünfzehnte Woche,

5.2 Rechnen mit Matrizen

Lösung Serie 11: Lineare Gleichungssysteme, Gauss-Elimination & LR-Zerlegung

mit. Wir definieren (Skalarprodukt = Winkel).

Lineare Algebra 2. Lösung zu Aufgabe 7.2:

Wir gewichten die Kanten von G wie folgt: Kante e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 d(e i )

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

Ziel Geklärt werden soll die Frage nach der Anzahl an Spannbäumen, die ein gegebener Graph G hat.

Cramersche Regel. Satz Es sei A R n n eine quadratische Matrix mit det(a) 0. Für ein LGS Ax = b sei. A j := (a 1,...,a j 1,b,a j+1,...

, c d. f + e + d. ae + bg a f + bh. ce + dg c f + dh

8. Konvexe Polytope. Tobias Boelter. Mittwoch, 5. März TopMath Frühlingsschule

3 Klassifikation wichtiger Optimierungsprobleme

1.Aufgabe: Minimal aufspannender Baum

LINEARE ALGEBRA II. FÜR PHYSIKER

3.1 Sukzessive Minima und reduzierte Basen: Resultate

Mathematik für Anwender I

Matrizen - I. Sei K ein Körper. Ein rechteckiges Schema A = wobei a ij K heißt Matrix bzw. eine m n Matrix (mit Elementen aus K).

Optimierung für Nichtmathematiker

6. Einführung 43. gilt. Dann soll also A B x B = b eindeutig lösbar sein, also A B vollen Rang haben, d. h. invertierbar (regulär) sein.

6. Normale Abbildungen

3.6 Branch-and-Bound-Verfahren

Analysis II. Vorlesung 48. Die Hesse-Form

Ganzzahlige Optimierung

Übungen zur Vorlesung Lineare Algebra

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Teil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.

Diskrete Optimierungsverfahren zur Lösung von Sudokus

4.5 Überbestimmte Gleichungssysteme, Gauß sche Ausgleichrechnung

Algorithmen II Vorlesung am

Randomisierte Algorithmen

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 3: Das Matching-Polytop

6 Hauptachsentransformation

Spline-Interpolation

Der Rang einer Matrix A. Beispiel

Lineare Abbildungen. Es seien V und W Vektorräume über einem Körper K. Eine Abbildung f : V W heißt linear oder Homomorphismus, falls. d.h.

6.2 Rechnen mit Matrizen

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler

Vektorräume und Rang einer Matrix

a 21 a 22 a 21 a 22 = a 11a 22 a 21 a 12. Nun zur Denition und Berechnung von n n-determinanten: ( ) a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 A =

Einführung in die Mathematik des Operations Research

Transkript:

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