Ganzzahlige lineare Programme

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

Die Verbindung von Linearer Programmierung und Graphentheorie

Optimierung auf Netzwerken

Bestimmung einer ersten

Matrizen, Determinanten, lineare Gleichungssysteme

Flüsse in Netzwerken

3. Schnittebenenverfahren

Lineare Gleichungssysteme

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

Optimalitätskriterien

Wiederholung zu Flüssen

Lineare Programmierung

Diskrete Optimierungsverfahren zur Lösung von Sudokus

Kombinatorische Geometrien

Technische Universitat Darmstadt

Seminararbeit für das SE Reine Mathematik- Graphentheorie

NP-schwierige kombinatorische Optimierungsprobleme

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Kombinatorische Optimierung (Wintersemester 2016/17)

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

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2 Invertierbare Matrizen

4. Vektorräume und Gleichungssysteme

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

Spezialgebiet Mathematik(Christian Behon ) 1. Matrizen. Kapitel 1 Definitionen und Herleitung von Matrizen. Kapitel 2 Matrizenoperation

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

Lineare Algebra I Klausur. Klausur - Musterlösung

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

5 Zwei spieltheoretische Aspekte

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

2. Stetige lineare Funktionale

Vorbereitungskurs Mathematik zum Sommersemester 2011 Tag 7

2 Euklidische Vektorräume

Lineare Programmierung Teil I

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

Inhaltsübersicht für heute:

Diskrete Optimierung (Einführung zur Vorlesung)

3 Polytope. 3.1 Polyeder

Mathematik II Frühjahrssemester 2013

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

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

18 Höhere Ableitungen und Taylorformel

Zahlen und metrische Räume

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

1 Zahlentheorie. 1.1 Kongruenzen

Algorithmen II Vorlesung am

Konvexe Mengen und konvexe Funktionen

Vektorräume und Rang einer Matrix

Algorithmen und Datenstrukturen Kapitel 10

2. Repräsentationen von Graphen in Computern

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

6. Flüsse und Zuordnungen

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

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Tropische Kurven zählen. Enumerative Geometrie. Alg. Geometrie. Beispiel Strategie. Geometrie. Kurven Multiplizität Correspondence Theorem Ergebnisse

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Daniel Borchmann. Sommerakademie Görlitz September 2007

Optimierungsalgorithmen

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

4 Greedy-Algorithmen (gierige Algorithmen)

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

OPERATIONS-RESEARCH (OR)

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

Optimierung I. Dr. Ulf Lorenz F2.413

Gemischt-ganzzahlige und Kombinatorische Optimierung

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

Lineare Programmierung

Effiziente Algorithmen I

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

Optimierung. Zusammenfassung

Lineare Gleichungssysteme

Kapitel 17. Determinanten

Kapitel VI. Euklidische Geometrie

Aufgabensammlung aus Mathematik 2 UMIT, SS 2010, Version vom 7. Mai 2010

35 Stetige lineare Abbildungen

3.3 Klassifikation quadratischer Formen auf R n

x y f : R 2 R 3, Es gilt: Bild f = y : wobei x,y R Kern f = 0 (wird auf der nächsten Folie besprochen)

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

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen

00. Einiges zum Vektorraum R n

Lineare Gleichungssysteme

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

Lineare (Un-)Gleichungen und lineare Optimierung

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

Lineare Gleichungssysteme (Teschl/Teschl 11.1)

Brückenkurs Elementarmathematik

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

Kapitel 15. Lösung linearer Gleichungssysteme

Lineare Gleichungssysteme

Beispiellösungen zur Klausur Lineare Algebra bei Prof. Habegger

Lineare Algebra II 5. Übungsblatt

Lineare Gleichungssysteme

Der Golay-Code und das Leech-Gitter

Randomisierte Algorithmen

Das Briefträgerproblem

Analysis I - Stetige Funktionen

Kapitel III. Stetige Funktionen. 14 Stetigkeit und Rechenregeln für stetige Funktionen. 15 Hauptsätze über stetige Funktionen

Kap 5: Rang, Koordinatentransformationen

KAPITEL 3. Kooperative Spiele

6.2 Perfekte Sicherheit

Transkript:

KAPITEL 5 Ganzzahlige lineare Programme Wir betrachten nun Optimierungsprobleme vom Typ (42) min c T x s.d. Ax = b, x 0, x ganzzahlig, wobei die Matrix A R m n und die Vektoren c R n, b R m gegeben seien. Wir setzen P = {x R n Ax = b, x 0}. Das mathematische Optimierungsproblem (42) ist kein lineares Programm im strengen Sinn, da der Zulässigkeitsbereich F = {x P x N n } eine diskrete Menge und im allgemeinen kein Polyeder ist. Ist F endlich und setzen wir P I = conv F, so ist (42) äquivalent zu dem Problem min c T x s.d. x P I. Wäre eine Matrix A und ein Vektor b mit P I = P (A, b ) bekannt, so könnte man das Ausgangsproblem (42) z.b. dadurch lösen, indem man mit der Simplexmethode löst. min c T x s.d. A x b VEREINBARUNG. In diesem Kapitel nehmen wir durchweg an, dass sämtliche Problemparameter A, c, b rational sind. OBdA dürfen (und werden) wir bei der Problemanalyse deshalb sogar Ganzzahligkeit annehmen: A Z m n, c Z n, b Z m. 1. Schnittebenen Es seien A Z m n und b Z m gegeben und P = P (A, b) = {x R n Ax b} das entsprechende rationale Polyeder. Wir interessieren uns für die Menge P I = conv {x P x Z n }. PROPOSITION 5.1. Ist P eine rationales Polyeder, dann ist auch P I ist ein rationales Polyeder. 59

60 5. GANZZAHLIGE LINEARE PROGRAMME Beweis. Im Fall P I = ist nichts zu beweisen. Sei also P I. Nach dem Dekompositionssatz von Weyl-Minkowski existieren endliche Mengen V, W Q n so, dass P = conv V + cone W. Nach geeigneter Skalierung dürfen wir die Vektoren w W obda dabei als ganzzahlig annehmen. Ein beliebiges x P kann in der Form x = V s + W t mit s, t 0, 1 T s = 1 dargestellt werden. Bezeichen wir mit t der ganzzahlig nach unten gerundeten Komponenten von t und setzen t = t t 0, dann erhalten wir x = (V s + W t) + W t = x + W t mit dem ganzzahligen t und x in dem Polytop(!) Wegen W t Z n finden wir und deshalb P = {V s + W t s 0, 1 T s = 1, 0 t 1}. x Z n x Z n P Z n = P Z n + {W z z 0 ganzzahlig}. Da P ein Polytop (und somit beschränkt) ist, ist P Z n eine endliche Menge. Wegen (43) P I = conv (P Z n ) + cone W erkennen wir P I somit als Polyeder. Im Prinzip könnte man aus der Darstellung (43) (z.b. mit Fourier-Motzkin) eine lineare Beschreibung von P I durch Ungleichungen ableiten. Für das Optimierungsproblem (42) ist dies jedoch nicht interessant, da ein solches Vorgehen bedeutet, dass man ohnehin zuerst sämtliche ganzzahligen Vektoren in P (darunter auch die Optimallösung von (43) ) auflisten müsste. 1.1. Das Verfahren von Gomory. Um eine lineare Beschreibung von P I zu erzielen, gehen wir von gültigen Ungleichungen für das Polyeder P = P (A, b) aus. Gemäss dem Lemma von Farkas betrachten wir deshalb ein beliebiges rationales y 0 und c T = y T A. Dann ist c T x z mit z = y T b eine gültige Ungleichung für P. Wir dürfen y als ganzzahlig annnehmen. Der springende Punkt ist dann die Beobachtung c T = y T A ist ganzzahlig und c T x z mit z = y T b Z eine gültige Ungleichung für P I, da sie von allen ganzzahligen Vektoren in P erfüllt wird.

1. SCHNITTEBENEN 61 Tatsächlich genügt es, sich dabei auf y mit Komponenten y i [0, 1] zu beschränken. Denn bei allgemeinem y Q n + und z Z n + mit 0 y = y z 1 ist die Ungleichung (z T A)x z T b Z ja ohnehin schon von Ax b impliziert. Für ganzzahliges x P (A, b) gilt darum (y ) T Ax (y ) T b y T Ax y T b. Damit erhalten wir das Gomory-Polyeder P = {x P (y T A)x y T b, y [0, 1] m, y T A Z n }. BEMERKUNG. P ist tatsächlich ein Polyeder, denn es gibt nur endlich viele verschiedene Gomory-Schnitte. Das sieht man so: Die Menge {y T A 0 y 1} ist eine beschränkte Menge von Zeilenvektoren in R n und enthält deshalb nur endlich viele ganzzahlige Vektoren. Iterieren wir diese Konstruktion, so ergibt sich die Gomory-Folge P P P... P I. Man bemerke, dass keine der Gomory-Ungleichungen einen ganzzahligen Punkt aus P abschneidet. Ausserdem 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 5.1 (Gomory). Die Gomory-Folge eines rationalen Polyeders P hat endliche Länge und endet mit P I. Der Beweis ist nicht schwer aber etwas aufwendig. Deshalb sei hier darauf verzichtet. Wir beweisen nur: LEMMA 5.1. Sei P ein rationales Polytop mit P = P. Dann gilt P = P I. Beweis. Sei P P I. Dann besitzt P eine Ecke v mit (mindestens) einer Komponente v j / Z. Ausserdem existiert ein c Z n derart, dass die Funktion f(x) = c T x über P genau von v maximiert wird. Seien v (1),..., v (k) die übrigen Ecken von P und max l=1,...,k (ct v c T v (l) ) = ε > 0 max 1 +... + x n x P = M <. Sei K N so gewählt, dass Kε > 2M erfüllt ist. Dann maximiert v auch die Funktion f(x) = c T x über P, mit c T = [Kc 1,..., Kc j + 1,..., Kc n ] = Kc T + e T j.

62 5. GANZZAHLIGE LINEARE PROGRAMME Denn für jede andere Ecke v (l von P gilt K(c T v (l) ) + v (l) j < K(c T v ε) + M < Kc T v M < Kc T v + v j. Wegen c T v Kc T v = v j / Z ist entweder c T v oder c T v keine ganze Zahl. Also ist c T x c T v oder c T x c T v eine Ungleichung, die zwar für P I gültig ist aber nicht für P. D.h. P P. Der Satz von Gomory führt zu einem endlichen Algorithmus zur Lösung von des ganzzahligen Optimierungsproblems Man löst die LP-Relaxierung max c T x s.d. Ax b, x Z n. max c T x s.d. Ax b. Ist die gefundene Optimallösung x ganzzahlig, dann ist nichts weiter zu tun. Andernfalls berechnet man das Gomory-Polyeder P und löst max x P ct x usw. bis das ganzzahlige Optimum gefunden ist. In der Praxis ist diese Vorgehensweise typischerweise jedoch hoffnungslos ineffizient. 1.2. Schnittebenenverfahren. Die Idee hinter Schnittebenenverfahren zur Lösung ganzzahliger linearer Programme ist wie die des Gomory-Verfahrens: Man löst die LP-Relaxierung des Problems. Ist die gefundene Optimallösung x, so fügt man dem LP eine Ungleichung a T x b hinzu, die für alle x P Z n gilt und von x verletzt wird. Die entsprechende Hyperebene H(a, b) = {x R n a T x = b} heisst Schnittebene (bzgl. P und P I ). Unter der Ausnutzung der speziellen kombinatorischen Struktur, die das Optimierungsproblem haben mag, lassen sich in der Praxis oft gezielt Schnittebenen bestimmen, die zu effizienteren Algorithmen führen als das Allzweck-Gomoryverfahren. Ein Schnittebenen-Verfahren geht nach folgendem Prinzip zur Lösung des Problems vor: max c T x s.d. Ax b, x Z n (SE0) Löse das relaxierte LP-Problem max c T x s.d. Ax b. Ist die gefundene Optimallösung x ganzzahlig, STOP.

1. SCHNITTEBENEN 63 (SE1) Bestimme im Fall x / Z n eine Schnittebenenungleichung a T x b für P I, die von x verletzt wird (d.h. a T x > b) und füge diese den Restriktionen hinzu. Löse nun max c T x s.d. Ax b, a T x b. Ist die gefundene Optimallösung x ganzzahlig, STOP. (SE2) Bestimme im Fall x / Z n eine Schnittebenenungleichung a T x b für P I, die von x verletzt wird (d.h. a T x > b) und füge diese den bisherigen Restriktionen hinzu usw. 1.2.1. Quadratische boolesche Optimierung. Als Beispiel betrachten wir zu gegebenen Paramentern q ij R das Problem n n max q ij x i x j, x i {0, 1}. i=1 j=1 Sei V = {1,..., n} und E die Menge aller Paarmengen {i, j}. Zu e = {i, j} setzen wir d i = q ii und c e = q ij + q ji. Wegen x 2 i = x i und y e = x i x j {0, 1} erhalten wir eine Formulierung als ganzzahliges LP: max i V d i x i + e E c e y e (44) s.d. y e x i 0 e E, i e x i + x j y e 1 e = {i, j} x i, y e 1 x i, y e 0 x i, y e ganzzahlig. BEMERKUNG. Man kann sich dieses Problem vorstellen als die Aufgabe, im vollständigen Graphen K n mit Knotenmenge V und Kantenmenge E einen vollständigen Untergraphen maximalen Gesamtgewichts zu wählen. Dabei sind die Knoten i V mit d i und die Kanten e E mit c e gewichtet. Als Schnittebenen für das von den ganzzahligen Lösungen von (44) erzeugte Polytop P I kommen alle Ungleichungen in frage, die von den ganzzahligen Lösungsvektoren erfüllt werden. Beispiele sind etwa die Dreiecksungleichungen x i + x j + x k y e y f y g 1 für jeweils drei Knoten i, j, k V und die dazugehörigen Kanten e, f, g E des entsprechenden Dreiecks {i, j, k}. Dieses Beispiel kann verallgemeinert werden. Dazu setzen für S V mit S 2 x(s) = x i und y(s) = y e, i S e E(S)

64 5. GANZZAHLIGE LINEARE PROGRAMME wobei E(S) die Menge aller Paarmengen e = {i, j} S ist. Zu α N definieren wir die entsprechende Cliquenungleichung als αx(s) y(s) α(α + 1)/2. LEMMA 5.2. Jede zulässige (0, 1)-Lösung (x, y) von (44) erfüllt jede Cliquenungleichung. Beweis. Sei C = {i S x i = 1} und s = C S. Dann gilt x(s) = s und y(s) = s(s 1)/2. Also finden wir α(α + 1)/2 αx(s) y(s) = [α(α + 1) 2αs + s(s 1)]/2 = (α s)(α s + 1)/2. Da α und s ganze Zahlen sind, ist der letzte Ausdruck immer nichtnegativ. Es gibt allein schon 2 n n 1 Cliquenungleichungen. Diese genügen noch nicht, um P I vollständig zu beschreiben. Bei nicht zu grossen booleschen Problemen (n 40) kommt man damit aber in der Praxis schon recht weit. 2. Unimodularität Wir gehen das Ganzzahligkeitsproblem nun von einer anderen Seite an und suchen nach Bedingungen für die Matrix A Z m n, die garantieren, dass jede Ecke des Polyeders P = {x R n Ax = b, x 0} ganzzahlige Ecken hat, sofern b ganzzahlig ist. OBdA nehmen wir wieder m = rg A an. Wir nennen A unimodular, wenn jede (m m)-basisteilmatrix A B von A die Eigenschaft det A B = 1 besitzt. Sei A B eine Basismatrix mit zugeordneter Basislösung x. Nach der Cramerschen Regel ergeben sich die Komponenten als x j = det A B(j, b) det A B (j B), wobei A B (j, b) aus A B hervorgeht, indem die Spalte j durch den Vektor b ersetzt wird. Im Fall b Z m ist det A B (j, b) eine ganze Zahl. Folglich finden wir A unimodular = x j Z für alle b Z m. PROPOSITION 5.2. Sei A Z m n eine unimodulare Matrix vom Rang m = rg A und b Z m. Dann gilt für jedes c R n : Entweder hat das lineare Programm min c T x s.d. Ax = b, x 0 keine Optimallösung oder es existiert eine optimale Lösung x mit ganzzahligen Komponenten x j.

Beweis. Simplexalgorithmus. 2. UNIMODULARITÄT 65 Für viele Anwendungen ist es geschickt, den Begriff der Unimodularität zu verschärfen. Wir nennen eine Matrix A total unimodular, wenn für jede quadratische Teilmatrix A von A unimodular ist, d.h. det A { 1, 0, +1}. Insbesondere gilt a ij { 1, 0 + 1} für alle Koeffizienten der total unimodularen Matrix A = [a ij ]. EX. 5.1. Die Matrix A = [ ] 1 1 ist unimodular aber nicht total unimodular. 1 2 Bevor wir Beispiele von total unimodularen Matrizen diskutieren, geben wir einige wichtige Matrixkonstruktionen an. LEMMA 5.3. Sei A Z m n total unimodular und e Z m ein Einheitsvektor. Dann gilt: (a) Wenn man Spalte von A mit 0 oder 1 multipliziert, erhält man wieder eine total unimodular Matrix. (b) A T total unimodular. (c) A = [A, e] total unimodular. Beweis. (a) 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. Um (c) einezusehen, betrachten wir 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 5.3. 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. Beweis. P ist die Lösungsmenge des total unimodularen Ungleichungssystems A I x b u I l

66 5. GANZZAHLIGE LINEARE PROGRAMME Intervallmatrizen. Sei M = {1,..., m}. Unter einem Intervall versteht man eine Teilmenge F M derart, dass Elemente i, j M existieren mit der Eigenschaft F = {k M i k j}. Eine (0, 1)-Matrix A heisst Intervallmatrix, wenn die Zeilen von A in einer solchen Reihenfolge angeordnet werden können, dass jede Spalte der (0, 1)-Inzidenzvektor eines Intervalls der Zeilenindices ist. Es ist klar, dass jede quadratische Untermatrix einer Intervallmatrix selber eine Intervallmatrix ist. Es gilt LEMMA 5.4. Jede Intervallmatrix A ist total unimodular. Beweis. OBdA sei A = [a ij ] quadratisch und { 1 für j = 1,..., k a 1j = 0 für j = k + 1,..., n. Ausserdem entspreche die erste Spalte von A dem kleinsten Intervall, das 1 enthält. Im Fall k = 1 ist die erste Zeile ein Einheitsvektor. Entwicklung der Determinante nach der ersten Zeile liefert dann die Behauptung per Induktion wie bei Netzwerkmatrizen. Im Fall k 2 subtrahiert man die erste Spalte von den Spalten 2,..., k. Die resultierende Matrix ist wieder eine Intervallmatrix und die Determinante hat sich nicht geändert. Auf die neue Matrix trifft aber der vorige Fall zu. BEMERKUNG. (0, 1)-Inzidenzmatrizen von allgemeinen Familien F von Teilmengen einer endlichen Grundmenge M sind typischerweise nicht total unimodular!