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

Ähnliche Dokumente
KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN

Bestimmung einer ersten

3. Schnittebenenverfahren

9.2 Invertierbare Matrizen

Lineare Gleichungssysteme

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21

Spezialfall: Die Gleichung ax = b mit einer Unbekannten x kann mit Hilfe des Kehrwerts 1 a = a 1 gelöst werden:

3. Grundlagen der Linearen Programmierung

OPERATIONS-RESEARCH (OR)

Optimierung auf Netzwerken

Matrizen, Determinanten, lineare Gleichungssysteme

Flüsse in Netzwerken

Die Verbindung von Linearer Programmierung und Graphentheorie

DER LIFT & PROJECT- SCHNITTEBENENALGORITHMUS FÜR GEMISCHT-GANZZAHLIGE 0/1-OPTIMIERUNGSAUFGABEN

18 Höhere Ableitungen und Taylorformel

1 Zahlentheorie. 1.1 Kongruenzen

Lineares Programmieren Algorithmentechnik WS 09/10 Dorothea Wagner 7. Januar 2010

Technische Universitat Darmstadt

Optimalitätskriterien

Lineare Algebra I Klausur. Klausur - Musterlösung

Mathematik für Wirtschaftswissenschaftler im WS 2013/14 Lösungen zu den Übungsaufgaben (Vortragsübung) Blatt 7

Kapitel 5. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Diskrete Optimierungsverfahren zur Lösung von Sudokus

Lineares Optimieren. W. Kippels 12. April Inhaltsverzeichnis. 1 Einleitung 2. 2 Die Beispielaufgabe 2. 3 Einführung von Schlupfvariablen 2

Optimierung I. Dr. Ulf Lorenz F2.413

Lineare Programmierung Teil I

7 Die Determinante einer Matrix

3 Polytope. 3.1 Polyeder

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

OPTIMIERUNG I. Christian Clason. Fakultät für Mathematik Universität Duisburg-Essen

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

1 Lineare Algebra. 1.1 Matrizen und Vektoren. Slide 3. Matrizen. Eine Matrix ist ein rechteckiges Zahlenschema

Mathematische Optimierung

Mathematik II Frühjahrssemester 2013

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Vektorräume und Rang einer Matrix

4 Lineare Algebra (Teil 2): Quadratische Matrizen

Prüfung Lineare Algebra Sei V ein n-dimensionaler euklidischer Raum. Welche der folgenden Aussagen ist wahr?

Lineare Gleichungssysteme

1 Definition. 2 Besondere Typen. 2.1 Vektoren und transponieren A = 2.2 Quadratische Matrix. 2.3 Diagonalmatrix. 2.

Schranken für zulässige Lösungen

Lösungsvorschläge Blatt Z1

Kapitel 17. Determinanten

NP-schwierige kombinatorische Optimierungsprobleme

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Lineare Programmierung

Brückenkurs Elementarmathematik

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph

5 Zwei spieltheoretische Aspekte

Zahlen und metrische Räume

WS 2010/ Januar Mathematisches Institut der Universität München Prof. Dr. Rudolf Fritsch

Kapitel 15. Lösung linearer Gleichungssysteme

3 Vom Zählen zur Induktion

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

KLAUSUR zu Einführung in die Optimierung. Studiengang: Bachelor Master Diplom (bitte ankreuzen)

Einführung in die Vektor- und Matrizenrechnung. Matrizen

Lineare Optimierung. bei Prof. Walter Alt. Semester: SS 2006 und WS 2009

Vorbereitungskurs Mathematik zum Sommersemester 2011 Tag 7

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Vorlesung bzw. 23. Januar Determinanten 1. Cramersche Regel

Kombinatorische Geometrien

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Mathematik 1 für Wirtschaftsinformatik

Elemente der Analysis II

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

Seminararbeit für das SE Reine Mathematik- Graphentheorie

4 Vorlesung: Matrix und Determinante

Optimierungsalgorithmen

Optimierung I. Einführung in die Optimierung. Skript zur Vorlesung von Prof. Dr. Mirjam Dür Prof. Dr. Alexander Martin Prof. Dr.

Lösungen zum 3. Aufgabenblatt

Diskrete Optimierung (Einführung zur Vorlesung)

Kap 5: Rang, Koordinatentransformationen

Kapitel III. Lineare Abbildungen

Der Golay-Code und das Leech-Gitter

Prof. Dr. G. Wagner Ingenieurmathematik Begleittext Seite 1

Konvexe Mengen und konvexe Funktionen

Lineare Gleichungssysteme

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Wiederholung zu Flüssen

Teil II. Nichtlineare Optimierung

Lineare Gleichungssysteme (Teschl/Teschl 11.1)

Definitionen. Merkblatt lineare Algebra. affiner Teilraum Menge, die durch Addition eines Vektors v 0 zu allen Vektoren eines Vektorraumes V entsteht

35 Stetige lineare Abbildungen

Übungen zur Linearen Optimierung Sommersemester Übungsblatt 1

4. Vektorräume und Gleichungssysteme

Homogenität Assoziativgesetz A (B 1 + B 2 ) = A B 1 + A B 2 Distributivgesetz 1 (A 1 + A 2 ) B = A 1 B + A 2 B Distributivgesetz 2

Themen: Kubische Gleichungen, Ungleichungen, Induktion

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Eine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls

Kapitel 2: Matrizen. 2.1 Matrizen 2.2 Determinanten 2.3 Inverse 2.4 Lineare Gleichungssysteme 2.5 Eigenwerte 2.6 Diagonalisierung

Optimieren unter Nebenbedingungen

ARBEITSUNTERLAGEN ZUR VORLESUNG UND ÜBUNG AN DER UNIVERSITÄT DES SAARLANDES LINEARE OPTIMIERUNG

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

0, v 6 = , v 4 = span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

KLAUSUR ZUR LINEAREN ALGEBRA I 22. Februar 2008

Beispiellösungen zur Klausur Lineare Algebra bei Prof. Habegger

Lineare und Ganzzahlige Optimierung

4.4. Rang und Inversion einer Matrix

Beispiel Wenn p ein Polynom vom Grad größer gleich 1 ist, ist q : C Ĉ definiert durch q (z) =

Transkript:

Operations Research Rainer Schrader Ganzzahlige lineare Programme Zentrum für Angewandte Informatik Köln 25. Juni 2007 1 / 49 2 / 49 Ganzzahlige lineare Programme Gliederung ganzzahlige lineare Programme Schnittebenen das Verfahren von Gomory Rucksack-Probleme ganzzahlige lineare Programme wir betrachten nun Optimierungsprobleme vom Typ min c T x Ax = b x 0, x ganzzahlig wir nehmen in diesem Kapitel durchweg an, dass sämtliche Problemparameter A, c, b rational sind nach Skalierung können wir sogar Ganzzahligkeit voraussetzen: wir setzen wieder A Z m n, c Z n, b Z m. P = {x R n Ax = b, x 0} (1) 3 / 49 4 / 49

ganzzahlige lineare Programme ganzzahlige lineare Programme min c T x Ax = b x 0, x ganzzahlig das Optimierungsproblem (1) ist kein lineares Programm : der Zulässigkeitsbereich ist F = {x P x N n } und damit im allgemeinen nicht konvex und kein Polyeder ist F endlich, so sei P I = conv F dann ist (1) äquivalent zu dem Problem (1) P I min c T x x P I ist die konvexe Hülle von endlich vielen Punkten daher existiert eine Matrix A und ein Vektor b mit P I = P(A, b ) wären A und b bekannt, so könnte man das Ausgangsproblem (1) z.b. mit der Simplexmethode lösen: min c T x A x b min c T x x P I da die Ecken von P I Polyeder ganzzahlig sind, ist auch P(A, b ) ein rationales 5 / 49 6 / 49 ganzzahlige lineare Programme da die Ecken von P I ganzzahlig sind, ist auch P(A, b ) ein rationales Polyeder diese Aussage gilt aber auch, wenn F nicht endlich ist seien A Z m n und b Z m gegeben und P das entsprechende rationale Polyeder P = P(A, b) = {x R n Ax b} wir interessieren uns für die Menge P I = conv{x P x Z n }. Proposition 1 Ist P eine rationales Polyeder, dann ist auch P I ein rationales Polyeder. ganzzahlige lineare Programme im Fall P I = ist nichts zu beweisen sei also P I nach dem Satz von Weyl-Minkowski existieren endliche Mengen V, W Q n so, dass P = conv V + cone W. nach geeigneter Skalierung dürfen wir annehmen, dass die Vektoren w W ganzzahlig sind jedes x P hat dann eine Darstellung der Form x = V s + W t mit s, t 0, 1 T s = 1 7 / 49 8 / 49

ganzzahlige lineare Programme x = V s + W t mit s, t 0, 1 T s = 1 sei t der folgende Vektor: 8 < t i, falls t i Q N t i = 0, falls t i = 0 : t i 1, sonst deshalb Schnittebenen P = {V s + W t s 0, 1 T s = 1, 0 t 1} P Z n = P Z n + {W z z 0 ganzzahlig} sei weiter t = t t 0 P ist ein Polytop und somit beschränkt dann lässt sich x schreiben als x = (V s + W t) + W t = x + W t wobei t ganzzahlig und x in dem Polytop damit ist P Z n weiter ist eine endliche Menge P I = conv(p Z n ) + cone W (2) P = {V s + W t s 0, 1 T s = 1, 0 t 1} wegen W t Z n folgt x Z n x Z n somit ist P I ein Polyeder. 9 / 49 10 / 49 Schnittebenen Schnittebenen Bemerkung 1: P I = conv(p Z n ) + cone W (2) aus (2) ließe sich im Prinzip (z.b. mit Fourier-Motzkin) eine lineare Beschreibung von P I durch Ungleichungen ableiten für das Optimierungsproblem (1) ist dies jedoch nicht interessant ein solches Vorgehen würde voraussetzen, dass man sämtliche ganzzahligen Vektoren in P auflisten müsste darunter auch die Optimallösung von (1) Bemerkung 2: die Voraussetzung der Rationalität der Daten ist wichtig betrachte das Polyeder P = {(x 1, x 2 ) x 1 + 2x 2 1 2 } dann kann P I kein Polyeder sein, denn: die lineare Zielfunktion x 1 + 2x 2 ist nach oben durch 1 beschränkt 2 das Supremum sup {x 1 + 2x 2 (x 1, x 2 ) P I } wird jedoch nicht angenommen. 11 / 49 12 / 49

Ganzzahlige lineare Programme Gliederung ganzzahlige lineare Programme das Verfahren von Gomory Rucksack-Probleme Das Verfahren von Gomory wir wollen eine lineare Beschreibung von P I erhalten wir gehen dazu von gültigen Ungleichungen für P = P(A, b) aus nach dem Lemma von Farkas können wir dazu ein beliebiges rationales y 0 und c T = y T A betrachten dann ist c T x z mit z = y T b eine gültige Ungleichung für P sei speziell c T = y T A ganzzahlig dann wird die folgende Ungleichung von allen ganzzahligen Vektoren in P erfüllt: c T x z mit z = y T b Z d.h. sie ist eine gültige Ungleichung für P I 13 / 49 14 / 49 Das Verfahren von Gomory Es genügt dabei, sich auf y [0, 1] m zu beschränken: denn sei y Q n +, z = y N n + und y = y z dann ist 0 y 1 und es gilt: (1) (y ) T A Z n (y + z) T A Z n y T A Z n (2) Ax b impliziert bereits die Ungleichung (z T A)x z T b Z (3) für ganzzahliges x P(A, b) gilt daher y T Ax y T b = y T Ax + z T Ax y T b + z T b = (y T + z T )Ax (y T + z T )b = (y ) T Ax (y ) T b damit erhalten wir das Gomory-Polyeder Schnittebenen P = {x P (y T A)x y T b, y [0, 1) m, y T A Z n }. die Menge {y T A 0 y < 1} ist eine beschränkte Menge von Zeilenvektoren in R n sie enthält deshalb nur endlich viele ganzzahlige Vektoren daher ist P tatsächlich ein Polyeder d.h. die Gültigkeit von y T Ax y T b impliziert die Gültigkeit von (y ) T Ax (y ) T b 15 / 49 16 / 49

Das Verfahren von Gomory Das Verfahren von Gomory iterieren wir diese Konstruktion, so ergibt sich die P P P... P I. Gomory-Folge der Beweis ist nicht schwierig, aber etwas aufwendig deshalb sei hier darauf verzichtet, wir beweisen nur: man bemerke, dass keine der Gomory-Ungleichungen einen ganzzahligen Punkt aus P abschneidet außerdem gilt: sobald bei der Gomory-Folge kein neues Polyeder konstruiert wird, hat man genügend viele Ungleichungen erzeugt, die P I festlegen. ohne Beweis bemerken wir Satz 2 (Gomory) Die Gomory-Folge eines rationalen Polyeders P hat endliche Länge und endet mit P I. Lemma 3 Sei P ein rationales Polytop mit P = P. Dann gilt P = P I. angenommen P P I dann hat P eine Ecke v mit (mindestens) einer Komponente v j wir wissen: zu jeder Seitenfläche F existiert eine Ungleichung c T x t so, dass F = P {x c T x = t} damit existiert ein c Z n derart, dass die Funktion f (x) = c T x über P genau von v maximiert wird / Z 17 / 49 18 / 49 seien v (1),..., v (k ) Das Verfahren von Gomory die übrigen Ecken von P und min l=1,...,k (ct v c T v (l) ) = ε > 0 max x P x 1 +... + x n = M <. sei K N so gewählt, dass K ε > 2M gilt sei weiter c T = [Kc 1,..., Kc j + 1,..., Kc n ] = K c T + e T j. Das Verfahren von Gomory wegen c T v K c T v = v j / Z ist entweder c T v / Z oder c T v / Z also ist eine der folgenden Ungleichung für P I gültig, nicht aber für P: c T x c T v oder c T x c T v eine d.h. P P. dann maximiert v auch die Funktion c T x über P: denn für jede andere Ecke v (l) von P gilt K (c T v (l) ) + v (l) j K (c T v ε) + M < K c T v M < K c T v + v j 19 / 49 20 / 49

Das Verfahren von Gomory Der Satz von Gomory führt zu einem endlichen Algorithmus zur Lösung des ganzzahligen Optimierungsproblems Gomory-Verfahren (1) setze P = {x Ax b} max c T x s.d. Ax b, x Z n. Ganzzahlige lineare Programme Gliederung ganzzahlige lineare Programme das Verfahren von Gomory Rucksack-Probleme (2) löse das lineare Programm max c T x s.d. x P (3) ist die Optimallösung x ganzzahlig, stop (4) andernfalls berechne das Gomory-Polyeder P (5) setze P = P und gehe zu (2) In der Praxis ist diese Vorgehensweise typischerweise höchst ineffizient. 21 / 49 22 / 49 das Gomory-Verfahren versucht, das Polyeder P I zu beschreiben für die Optimierung kann es reichen, P I nur lokal zu beschreiben d.h. in der Nähe des Optimums dies versuchen die Vorgehensweise der (1) löse die LP-Relaxierung des Problems (2) sei x die gefundene Optimallösung (3) ist x ganzzahlig, stop (4) andernfalls sei a T x b eine Schnittebene, die x abschneidet (5) füge die Ungleichung zum LP hinzu und gehe zu (1) sei dazu x / P I eine Schnittebene ist eine Hyperebene, die x von P I trennt 23 / 49 24 / 49

die Kunst liegt darin, schnell Schnittebenen bestimmen zu können sowie möglichst tiefe Schnitte zu finden bei speziellen kombinatorischen Problemen lassen sich oft gezielt Schnittebenen bestimmen, die zu praktikablen Algorithmen führen es ist aber immer möglich, aus dem Simplextableau Schnitte abzuleiten sei B die für die LP-Relaxierung gefundene optimale Basis sei die zugehörige Basislösung x noch nicht ganzzahlig dann existiert ein ein Index i B so, dass x i die i-te Zeile des Simplextableaus lautet: x i + X j N a ij x j = b i / N x i + X a ij x j = b i j N da die Variablen nicht negativ sind, folgt: x i + X a ij x j b i j N für ganzzahlige x folgt daraus die Gültigkeit der Ungleichung: x i + X a ij x j b i j N per Konstruktion ist dies eine Schnittebene für die Optimallösung wir illustrieren jetzt an einem Beispielproblem 25 / 49 26 / 49 Ganzzahlige lineare Programme Gliederung ganzzahlige lineare Programme Schnittebenen das Verfahren von Gomory Rucksack-Probleme Beispiel: Wir betrachten das folgende ganzzahlige lineare Programm: Rucksack-Problem gegeben: c 1,..., c n, a 1,..., a n, b N bestimme eine Teilmenge I {1,..., n} so, dass a(i) = P i I a i b c(i) = P i I c i maximal Die ist offensichtlich ein spezielles ganzzahliges lineares Programm. 27 / 49 28 / 49

Die ist offensichtlich ein spezielles ganzzahliges lineares Programm: max c 1 x 1 + c 2 x 2 +... + c n x n s.d a 1 x 1 + a 2 x 2 +... + a n x n b x 1 1 x 2 1. x n 1 x 1, x 2,..., x n, N zulässige Ungleichungen für das Rucksack-Problem: sei J {1,..., n} so, dass a(j) > b a(j j) b für alle j J dann ist die folgende Überdeckungs-Ungleichung zulässig: x(j) = X x j J 1 j J die Variablen liegen in {0, 1} das Programm enthält nur eine Restriktion 29 / 49 30 / 49 Beispiel: Wir betrachten das folgende ganzzahlige lineare Programm: max 40x 1 + 15x 2 + 20x 3 + 10x 4 s.d 4x 1 + 2x 2 + 3x 3 + 1x 3 6 x 1 1 x 1 1 x 1 1 x 1 1 x 1, x 2, x 3, x 4, N Eine Optimallösung der LP-Relaxierung lautet: x 1 = 1, x 2 = 0.5, x 3 = 0, x 4 = 1 mit z = 57.5 Eine Optimallösung der LP-Relaxierung lautet: x 1 = 1, x 2 = 0.5, x 3 = 0, x 4 = 1 mit z = 57.5 Die Restriktion lautet: 4x 1 + 2x 2 + 3x 3 + 1x 3 6 offensichtlich passen x 1, x 2 und x 4 nicht gleichzeitig in den Rucksack d.h. x 1 + x 2 + x 4 2 ist eine Schnittebene wir fügen diese Ungleichung zum LP hinzu und lösen erneut die Optimallösung des erweiterten LP s lautet: x 1 = 1, x 2 = 1 mit z = 55 31 / 49 32 / 49

Ganzzahlige lineare Programme Gliederung ganzzahlige lineare Programme das Verfahren von Gomory Rucksack-Probleme wir gehen das Ganzzahligkeitsproblem nun von einer anderen Seite an sei A Z m n und P = {x R n Ax = b, x 0} obda nehmen wir wieder m = rg A an wir suchen nach Bedingungen an A, die folgendes garantieren: ist b ganzzahlig, so hat P nur ganzzahlige Ecken. 33 / 49 34 / 49 Lemma 4 Sei A eine ganzzahlige, reguläre (m m)-matrix. Dann ist A 1 b Z m alle b Z m genau dann, wenn det A = 1. für Lemma 4 Sei A eine ganzzahlige, reguläre (m m)-matrix. Dann ist A 1 b Z m alle b Z m genau dann wenn det A = 1. für sei det A = 1 und x = A 1 b sei umgekehrt A 1 b Z m für alle b Z m nach der Cramerschen Regel gilt für die Komponenten von x: dann ist insbesondere A 1 e i Z m für alle Einheitsvektoren e i x j = det A(j, b) det A (j B), somit ist A 1 eine ganzzahlige Matrix damit sind sowohl det A als auch det A 1 ganzzahlig hierbei geht A(j, b) aus A hervor, indem die j-te Spalte durch b ersetzt wird da det A det A 1 = 1, folgt det A = 1. für b Z m ist dann det A(j, b) eine ganze Zahl 35 / 49 36 / 49

Sei A eine ganzzahlige Matrix mit vollem Zeilenrang. A heißt unimodular, wenn für jede (m m)-basisteilmatrix A B von A gilt:. Satz 5 det A B = 1 Sei A eine ganzzahlige (m n)-matrix mit vollem Zeilenrang. Dann sind folgende Aussagen äquivalent: (i) A ist unimodular, (ii) für jedes b Z m hat das Polyeder {x Ax = b, x 0} nur ganzzahlige Ecken. (ii) habe umgekehrt für jedes b Z m das Polyeder {x Ax = b, x 0} nur ganzzahlige Ecken sei A B eine Basismatrix und w Z m nach Lemma 4 müssen wir zeigen: A 1 B w ist ganzzahlig sei y Z m so, dass y + A 1 B w 0 sei b = A B (y + A 1 B w) dann ist b ganzzahlig weiter ist x B = y + A 1 B w, x N = 0 N Basislösung von {x Ax = b, x 0} nach Voraussetzung ist dann x B ganzzahlig und somit ist auch A 1 B w = x B y ganzzahlig. (i) zu jeder Ecke x existiert eine Basismatrix A B mit x = A 1 B b nach Lemma 4 ist dann x ganzzahlig für jedes b Z m 37 / 49 38 / 49 um Ganzzahligkeitsresultate auch für andere Polyederdarstellungen herleiten zu können, modifizieren wir den Begriff der eine Matrix A heißt total unimodular, wenn für jede quadratische Teilmatrix A von A gilt: det A { 1, 0, +1}. ist A total unimodular, so gilt insbesondere a ij { 1, 0 + 1} für alle i, j Lemma 6 A ist total unimodular [A, I] ist unimodular. sei [A, I] unimodular und B eine quadratische Teilmatrix von A dann ist B singluär (d.h. det B = 0) oder regulär im zweiten Fall kann B mit Einheitspalten zu einer Basismatrix B [A, I] erweitert werden nach Voraussetzung ist dann det B = 1 von Beispiel Die Matrix A =» 1 1 1 2 ist unimodular, aber nicht total unimodular. Der Zusammenhang zwischen und totaler wird u.a. durch das folgende Lemma beschrieben: Entwicklung von det B nach den Einheitsspalten zeigt det B = 1 sei umgekehrt A total unimodular und B eine Basismatrix von [A, I] enthält B keine Spalten von I, so folgt det B = 1 per Voraussetzung im anderen Fall folgt die Aussage wieder aus der Entwicklung nach den Einheitsspalten. 39 / 49 40 / 49

Damit folgt unmittelbar: Satz 7 Sei A eine ganzzahlige (m n)-matrix. Dann sind folgende Aussagen äquivalent: (i) A ist total unimodular, (ii) für jedes b Z m hat das Polyeder {x Ax b, x 0} nur ganzzahlige Ecken. wir erweitern wieder um Schlupfvariablen y dann ist äquvalent: {x Ax b, x 0} hat nur ganzzahlige Ecken {(x, y) Ax + Iy = b, x, y 0} hat nur ganzzahlige Ecken damit folgt die Aussage aus Satz 5. bevor wir Beispiele von total unimodularen Matrizen diskutieren, geben wir einige wichtige Matrixkonstruktionen an. Lemma 8 Sei A Z m n total unimodular und e Z m ein Einheitsvektor. Dann gilt: (i) wenn man eine Spalte von A mit 0 oder 1 multipliziert, erhält man wieder eine total unimodular Matrix (ii) A T total unimodular (iii) A = [A, e] ist total unimodular. (i) folgt aus der Tatsache, dass sich die Skalarmultiplikation eine Spalte einer Matrix in der Skalarmultiplikation der Determinante auswirkt (b) ergibt sich aus dem Transpositionssatz det C = det C T 41 / 49 42 / 49 (iii) betrachte eine quadratische Untermatrix A von [A, e] obda dürfen wir annehmen, dass die Spalte e in A auftaucht wir entwickeln die Determinate nach dieser Spalte e und finden det A = ±1 det A, wobei A eine quadratische Untermatrix von A ist also gilt det A { 1, 0 + 1}. Proposition 9 Sei A Z m n total unimodular, b Z m und l, u Z n derart, dass P = {x R n Ax b, l x u} =. Dann ist P eine Polytop mit ganzzahligen Ecken. ist A total unimodular, so folgt nach Lemma 8: A T ist total unimodular (A T I I) ist total unimodular (A T I I) T ist total unimodular damit ist P Lösungsmenge des total unimodularen Systems 2 3 2 3 A b 4 I 5 x 4 u 5 I l 43 / 49 44 / 49

Intervallmatrizen sei A eine (0, 1)-Matrix A heißt Intervallmatrix, wenn gilt: es gibt eine Umordnung der Zeilen so, dass in jeder Spalte die Einsen konsekutiv auftauchen Beispiele: 0 B @ 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 C A 0 B @ 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 C A offensichtlich ist jede quadratische Untermatrix einer Intervallmatrix wieder eine Intervallmatrix Die rechte Matrix ist keine Intervallmatrix, denn: die Zeilen 1 und 3, 2 und 4, 1 und 4 sowie 2 und 3 müssen benachbart sein damit muss die Permutation 231 oder 132 enthalten dann sind aber 2 und 4 oder 1 und 4 nicht benachbart 45 / 49 46 / 49 Es gilt: Lemma 10 Jede Intervallmatrix A ist total unimodular. obda sei A = [a ij ] quadratisch und j 1 für j = 1,..., k a j1 = 0 für j = k + 1,..., n. außerdem entspreche die erste Spalte von A dem kleinsten Intervall, das 1 enthält. im Fall k = 1 ist die erste Spalte ein Einheitsvektor Entwicklung der Determinante nach der ersten Spalte liefert dann die Behauptung per Induktion im Fall k 2 subtrahiere die erste Zeile von den Zeilen 2,..., k die resultierende Matrix ist wieder eine Intervallmatrix die Determinante hat sich nicht geändert auf die neue Matrix trifft dann der erste Fall zu. (0, 1)-Inzidenzmatrizen von allgemeinen Familien F von Teilmengen einer endlichen Grundmenge M sind typischerweise nicht total unimodular! 47 / 49 48 / 49

Lemma 11 (Poincaré) Ist A eine { 1, 0, 1}-Matrix, bei der jede Spalte höchstens eine +1 und eine 1 enthält, so ist A total unimodular. sei B eine (k, k )-Untermatrix ist k = 1, so ist det(b) { 1, 0, 1} sei also k > 1 hat B eine Spalte mit höchstens einem Eintrag ungleich Null: entwickle die Determinante nach dieser Spalte per Induktion folgt det(b) { 1, 0, 1} andernfalls ist die Summe aller Spalten Null und somit det(b) = 0. 49 / 49