Unimodulare lineare Programme

Größe: px
Ab Seite anzeigen:

Download "Unimodulare lineare Programme"

Transkript

1 KAPITEL 5 Unimodulare lineare Programme Wir betrachten hier eine Klasse von linearen Programmen mit der schönen Eigenschaft, dass Basislösungen automatisch ganzzahlige Komponenten haben. 1. Unimodulare und total unimodulare Matrizen 1.1. Unimodulare Matrizen. Wir nennen eine (ganzahlige) Matrix B Z k k unimodular, wenn gilt detb = 1 d.h. det B = +1 oder detb = 1. Die Grundbeobachtung ist diese: LEMMA 5.1. Sei B unimodular undb Z k beliebig. Dann hat der Vektor b = B 1 b ausschliesslich ganzzahlige Komponenten b j. Beweis. b ist die eindeutige Lösung der linearen Gleichung Bx = b. Nach der Cramerschen Regel erhalten wir für diej-te Komponente: b j = det ˆB j det B = det ˆB j. ˆB j ist die Matrix, die man aus B erhält, wenn man diej-te Spalte durch b ersetzt. Wegen ˆB j Z k k ist die Determinante ganzzahlig Total unimodulare Matrizen. Eine Matrix A = [a ij ] R m n heisst total unimodular, wenn für jede quadratische Untermatrix B von A gilt: det B { 1,0,+1}. Da die Matrixkoeffizientena ij (1 1)-Untermatrizen darstellen, muss also insbesondere gelten: a ij (= det a ij ) { 1,0+1}. Diese Bedingung ist allerdings für totale Unimodularität i.a. nicht hinreichend. 89

2 90 5. UNIMODULARE LINEARE PROGRAMME BEISPIEL 5.1. Man betrachte die Matrizen [ ] [ A 1 =, A = 1 1 ], A 3 = [ ] A 1 ist unimodular aber nicht total unimodular.a 2 ist nicht unimodular.a 3 ist total unimodular. Aus der Definition folgt sofort: Jede Untermatrix einer total unimodularen Matrix ist total unimodular. A ist total unimodular A T ist total unimodular. A ist total unimodular A ist total unimodular. Wichtige Beispiele total unimodularer Matrizen kann man so konstruieren: SATZ 5.1. SeiA = [a ij ] { 1,0+1} m n eine Matrix mit der Eigenschaft: (i) Jede SpalteA j enthält höchstens zwei Koeffizientena ij 0. (ii) Für jede Spaltensumme gilt m 1 a ij +1. Dann istatotal unimodular. i=1 Beweis. Sei B eine quadratische Untermatrix von A. Enthält B keinen Einheitsvektor (oder sein Negatives) als Spalte, so sind die Spaltensummen 0. D.h. B hat nicht vollen Rang und somit det B = 0. Sei also obda ein Einheitsvektor e ein Spalte von B. Entwickeln wir detb nach dieser Spalte, so ergibt sich det B = ±1 det B, wobeib die entsprechende Teilmatrix vonb ist.b ist kleiner alsb. Also schliessen wir per Induktion : det B { 1,0,+1} und folglich det B { 1,0,+1}. Auf die gleiche Weise macht man sich leicht klar: Erweitert man eine total unimodulare Matrix A mit einem Einheitsvektoreoder e als neue Spalte, so ist die resultierende Matrix[A,±e] auch total unimodular. Erweitert man eine total unimodulare Matrix mit einem Einheitsvektore T oder e T als neuer Zeile, so erhält man wieder eine total unimodulare Matrix.

3 1. UNIMODULARE UND TOTAL UNIMODULARE MATRIZEN Inzidenzmatrizen. Ein Graph G besteht aus einer (hier: endlichen) MengeV von Knoten und einer (hier: endlichen) MengeE von Kanten und einer Inzidenzrelation so, dass für allee E gilt: Γ V E (G) 1 Γ(e) 2, wobeiγ(e) := {v V (v,e) Γ}. Im Fall Γ(e) = 1 ist e eine sog. Schlinge von G. Im Fall Γ(e) = {v,w} sindv und w die sog. Endpunkte der Kantee. BEMERKUNG. Für v V definiert man Γ(v) := {e E (v,e) Γ} als die Menge der mit dem Knoten v inzidenten Kanten. Abhängig von G kann Γ(v) beliebig gross werden. Im Fall Γ(v) = heisst der Knoten v isoliert. Wir können G orientieren, indem wir bei einer Kante e mit Γ(e) = {v,w} einen der der Endpunkte als positiv und den anderen als negativ auszeichen. Das heisst, wir ordnen der Kantee(willkürlich) Inzidenzkoeffizienten a v,e,a w,e { 1,0,+1} zu derart, dass (60) a v,e +a w,e = 0 für allee E. BEMERKUNG. im Falla w,e +1 und a v,e = 1 kann man sich (wenn man will)e als Pfeil vorstellen, der von v nach w gerichtet ist: v e w. Für die resultierende Inzidenzmatrix A = [a v,e ] R V E gilt dann offensichtlich (nach Satz 5.1: Die Inzidenzmatrix A des (orientierten) Graphen G ist total unimodular. Natürlich kann man auch eine (oder mehrere) der Kanten e umorientieren: (a v,e,a w,e ) (a v,e,a w,e ) = (a w,e,a v,e ). Die resultierende Inzidenzmatrix A entsteht A dadurch, dass die Spalten der umorientierten Kanten mit( 1) multipliziert werden. Wichtig ist dabei die Beobachtung: Bei einer Umorientierung änder sich die lineare Abhängigkeitsstruktur der Inzidenzmatrix nicht! Folglich können wir unproblematisch den Rang des Graphen G als den Rank (irgendeiner) seiner InzidenzmatrizenAdefinieren: (61) rg(g) := rg(a).

4 92 5. UNIMODULARE LINEARE PROGRAMME 1.4. Wege und Wälder. Ein Weg (oder Pfad) im GraphenG = (V,E) ist eine Folge von Knoten und Kanten P = v 0 e 1 v 1 e 2 v 2...v k 1 e k v k mit Γ(e i ) = {v i 1,v i } für alle i = 1,...,k. Im Fall v k = v 0 ist der Weg P geschlossen Eine Kantenteilmenge T E, die keinen geschlossenen Weg enthält ist ein sog. Wald. Ein Wald, der alle nichtisolierten Knoten von G berührt, heisst aufspannend. SATZ 5.2. Eine TeilmengeT E ist ein Wald vong, genau dann, wenn die T entsprechenden Spalten der InzidenzmatrixAlinear unabhängig sind. Beweis. Man macht sich leicht klar, dass die Spaltensumme der Kanten eines geschlossenen Wegs den Nullvektor ergibt (Beweis?). Folglich kann eine linear unabhängige Spaltenmenge keine Teilmenge umfassen, die zu einem geschlossenen Weg gehört. Sei umgekehrt T eine Menge von Spalten derart, dass entsprechende Spaltenteilmatrix A T der Inzidenzmatrix linear abhängig ist. Wir wählen T so klein wie möglich (unter der linearen Abhängigkeitsbedingung) und bezeichnen mit V(T) die Menge der Endknoten von T. Wir wollen zeigen, dass G T = (V(T),T) einen geschlossenen Weg enthält. Sei e 1 T und {v 0,v 1 } = G(e 1 ). v 1 muss Endpunkt einer Kante e 2 T sein, da sonst die Kante e 1 von T \{e 1 } in der Inzidenzmatrix linear unabhängig wäre! (Das würde der Minimalität von T widersprechen.) So durchschreitet man der Reihe nach einen Weg v 0 e 1 v 1 e 2 v 3... Da es nur endlich viele Knoten gibt, erreicht man nach endlichen vielen Schritten einen Knoten, den man schon vorher besucht hatte. Damit ist der behauptete geschlossene Weg nachgewiesen. KOROLLAR 5.1. Ein Wald T des Graphen G ist genau dann aufspannend, wenn gilt T = rg(g). Beweis. Gäbe es einen nichtisolierten Knoten v, der mit keiner Kante in T inzidiert, dann auch eine Kante e E mit v Γ(e), die von T linear unabhängig ist. Also ist T {e} in der Inzidenzmatrix A linear unabhängig und folglich T +1 rg(g). Sei umgekehrt T aufspannend. Es gäbe aber eine von T linear unabhängige Kante e. Wir wollen daraus einen Widerspruch ableiten.

5 2. TOTAL UNIMODULARE LINEARE PROGRAMME 93 Dazu teilen wir V in die maximalen Blöcke V 1,...,V k von Knoten auf, die paarweise durch Wege verbunden sind. e kann also nicht zwischen zwei verschiedenen Blöcken verlaufen. Andererseits kann aber e auch nicht zwei Knoten innerhalb eines Blockes verbinden (da sonst T {e} einen geschlossenen Weg enthielte). Also kann es eine solche Kante e nicht geben. Wir betrachten das LP 2. Total unimodulare lineare Programme (62) min x 0 ct x s.d. Ax = b und nehmen an, dass die MatrixA R m n total unimodular ist. Ist b ganzzahlig, dass folgern wir (wieder aus der Cramerschen Regel), dass jede Basislösung des linearen Programms ganzzahlige Komponenten hat. Das dazu duale LP ist (63) maxb T y s.d. A T y c. Da auch A T total unimodular ist, folgern wir auf die gleiche Weise, dass jede Basislösung des LP (63) ganzzahlige Komponenten hat sofern der Parametervektorcganzzahlig ist. Denn das Problem ist äquivalent zu maxb T y s.d. A T y A T w+is = c und y,w 0,s 0. Die Koeffizientenmatrix[A T, A T,I] des letzteren LP ist nämlich total unimodular. Das Ganzzahligkeitsmodell kann noch weiter verallgemeinert werden, indem wir zustzlich Untergrenzen l und Obergrenzen u für die Variablen gestatten. Wir betrachten dann z.b. ein LP der Art maxc T x s.d. Ax b und l x u. Die Basislösungen auch dieses LP sind ganzzahlig, sofern b,l und u ganzzahlige Parametervektoren sind. Denn wir können die Restriktionen mit einer einer total unimodularen Koeffizientenmatrix so ausdrücken: A I x I b u. l

6 94 5. UNIMODULARE LINEARE PROGRAMME 2.1. Zuordnungsprobleme. Seien S und T zwei disjunkte (endliche) Mengen. Jedem s S steht eine Quantität b s zur Verfügung. Jedes t T soll eine vorgeschriebene Quantität d t erhalten. Wir nehmen an, dass der Transport vonx st 0 Einheiten vonsnachtdie Kostenc st x st verursacht. Wir modellieren die Suche nach einem kostenminimalen Transportmodus mit dem Graphen G = (S T,E = S T), dessen Kanten (s,t), wir als von s nach t orientiert interpretieren. Dann ergibt sich das lineare Programm min x st 0 c st x st s.d. (s,t) x st b s t T s S x st d t t T. mit einer total unimodularen Koeffizientenmatrix. Also finden wir: s S Sind die b s und d t ganze Zahlen, dann ist jede Basislösung des Transportproblems ganzzahlig. Ein Spezialfall ergibt sich aus dem sog. (bipartiten) Matchingproblem: Wir suchen eine Menge M von paarweise disjunkten Kanten (s,t) S T derart, dass der Wert w(m) = w(s, t) (s,t) M möglichst gross ist. Dabei ist w : S T R eine vorgegebene Bewertungsfunktion der Kanten. Dazu betrachten wir das lineare Programm w st x st s.d. x st 1 s S max x st 0 (s,t) t T x st 1 t T. s S Eine optimale Basislösung x ist ganzzahlig und hat deshalb alle Komponenten x st {0,1}. Man macht sich leicht klar, dass eine Basislösung einem Matching entspricht (und umgekehrt!) Kürzeste Wege. Sei G = (V, E) ein gerichteter (d.h. orientierter) Graph mit InzidenzmatrixA. Der Weg P = v 0 e 1 v 1 e 2 v 3...v k 1 e k v k heisst gerichtet, wenn jede der Kanten e i P vom Endknoten v i 1 zum Endknoten v i orientiert ist. Ausserdem sei mit d : E R + eine Distanzfunktion gegeben, welche die Länge einer Kante angibt. Wir definieren

7 die Länge von P 2. TOTAL UNIMODULARE LINEARE PROGRAMME 95 d(p) := d(e 1 )+d(e 2 )+...+d(e k ). Seien s, t V vorgegeben. Wir suchen einen gerichteten Weg kürzester Länge von s nach t. Dazu betrachten wir das lineare Programm (64) min d e x e s.d Ax = b, x 0 e E wobeib R V der Vektor ist mit den Komponenten 1 fürv = s b v = 1 fürv = t 0 sonst. Jeder gerichtete Weg P = se 1 v 1 e 2 v 3...v k 1 e k t ergibt eine zulässige Lösungx (P) des linearen Programms mit den Komponenten { 1 füre P x (P) e = 0 sonst. LEMMA 5.2. Sei x 0 eine Basislösung des linearen Programms (64), dann enthält die Menge einen gerichteten Weg vonsnacht. tr(x) = {e E x e > 0} Beweis. Den behaupteten Weg kann man leicht konstruieren. Wegen a se x e = b s = 1 e gibt es eine Kante e 1 tr(x) mit Γ(e 1 ) = {s,v 1 }. Im Fall v 1 = t, ist der Weg gefunden. Ansonsten gibt es wegen x e1 + e e 1 a v1 ex e = e a v1 ex e = b v1 = 0 eine Kante e 2 tr(x) mit Γ(e 2 ) = {v 1,v 2 }. Im Fall v 2 = t ist der Weg gefunden. Ansonsten folgt man einer Kante e 3 tr(x) mitγ(e 3 ) = {v 2,v 3 } usw. Nach endlich vielen Schritten muss man t erreicht haben, da tr(x) keine geschlossenen Wege enthält. BEMERKUNG. Man kann sich leicht davon überzeugen, dass bei einer zulässigen Basislösung x der Träger tr(x) schon den Weg s nach t darstellt.

8 96 5. UNIMODULARE LINEARE PROGRAMME Dijkstras Algorithmus. In der Praxis wird man einen kürzesten Weg nicht mit allgemeiner LP-Software als Lösung von (64) berechnen, sondern ein auf das Problem speziell zugeschnittenes Verfahren benutzen. Es gibt viele solcher Verfahren. Eines der effizientesten ist der folgende Algorithmus von Dijkstra. OBdA gehen wir davon aus, dass es von einem Knoten v zu einem Knoten w höchstens eine Kanteegibt, die wir somit als das Knotenpaar(v,w) eindeutig darstellen können. Wenn von v nach w keine Kante existiert, setzen wir d vw =. Dijkstras Algorithmus berechnet die kürzesten Wege von s zu allen übrigen Knoten. Man stoppt natürlich, sobald manterreicht hat. (D0) Setzey s 0,S {s} und y v d sv für allev V \S. (D1) Solanget / S gilt, wähle einv V \S mit minimalemy v, setze S S {v} und datiere auf: y w min{y w,y v +d vw } für allew V \S. Man sieht leicht per Induktion (über S ): LEMMA 5.3. In jedem Stadium des Algorithmus von Dijkstra gilt: Die Wertey v der Knoten v S geben genau die minimale Entfernung von s nach v an. Aus der Dijkstra-Lösung y lässt sich leicht ein kürzester Weg von s nach t durch Zurückrechnen gewinnen: Man beginnt bei t und sucht einv 1 S \{t} mit y t = y v1 +d v1,t. Nun sucht man einv 2 S \{t,v 1 } mit usw., bis man bei s angelangt ist. y v1 = y v2 +d v2,v 1

9 3. ZIRKULATIONEN UND DAS MAX-FLOW-MIN-CUT-THEOREM Zirkulationen und das MAX-Flow-MIN-Cut-Theorem Der einfacheren Notation halber nehmen wir hier an, dass die Kanten des gerichteten Graphen G = (V, E) genau den Knotenpaaren entsprechen. D.h. E = V V. Ein Fluss auf G ist ein Vektor x R E. Der (Netto-)Durchfluss von x im Knotenv ist δ v (x) = w V x vw u V x uv = e Ea v,e x e, wobei A = [a v,e ] die Inzidenzmatrix von G ist. Der Vektor aller Knotendurchflüsse ist somit in Matrixnotation δ(x) = Ax. Sind alle Nettodurchflüsse0, so istxeine sog. Zirkulation aufg. D.h. x ist Zirkulation x ker A. Sei nun f = (t, s) E eine festgewählte Kante und x eine Zirkulation auf G = (V,E). Stellen wir uns vor, dass die Kantef ingblockiert wird. Dann stellen die übrigen Kantenflusswertex e (e f) einen Fluss auf G f = (V,E \{f}) dar, wo in s ein Nettoabfluss und bei t ein Nettozufluss in Höhe von x f stattfindet. Mit anderen Worten: Die Einschränkung vonxaufg f beschreibt den Transport eines Gutes der Quantitätx f von der Quelleszur Senketentlang den Kanten von G f, wobei bei keinem Knoten v V \ {s,t} etwas verloren geht oder hinzugewonnen wird. Unter der Annahme, dass jede Kante e E\{f} einer Kapazitätsschranke c e 0 unterliegt, sucht man im Ford-Fulkerson-Problem nach einer nichtnegativen Zirkulationx, die den Transportwertx f maximiert: (65) max x f s.d. δ v (x) = 0 für allev V 0 x e c e für allee E \{f} Das zugehörige duale lineare Programm ist:

10 98 5. UNIMODULARE LINEARE PROGRAMME (66) min c e z e e E s.d. y w y v + z e 0 für allee = (v,w) f y s y t + z f 1 z e Augmentierende Wege und Schnitte. Sei x 0 eine zulässige Lösung von (65). Wie könnte man diese verbessern? Dazu betrachten wir einen (nicht notwendig gerichteten) Weg P = v 0 e 1 v 1 e 2...v k 1 e k v k von v 0 = s nach v k = t. Im Fall e i = (v i 1,v i ) ist e i eine sog. Vorwärtskante und im Fall e i = (v i,v i 1 ) eine Rückwärtskante von P. P + und P seien die Menge aller Vorwärts- bzw. Rückwärtskanten von P. Wir setzen ε := min{ε +,ε }, wobei ε + := min{x vw c vw (v,w) P + } ε := min{x ur (u,r) P }, und nennen P einen x augmentierenden Weg, wenn ε > 0 erfüllt ist. Ist P augmentierend, dann können wir leicht eine bessere Zirkulation konstruieren: Wir erhören x e umεauf der Kantee P + und erniedrigenx e um ε auf jeder Kantee P. (Die übrigen Kanten bleiben unberührt.) Man sieht leicht: Es resultiert eine zulässige Zirkulationx mit Wert x f = x f +ε. Suche nach augementierenden Wegen. Um einen x augmentierenden Weg (sofern er existiert) gezielt zu suchen, betrachten wir den Hilfgraphen G(x) auf den KnotenmengeV mit der Kantenmenge E(x) = {(v,w) V V x vw < c vw oderx wv > 0}. Man macht sich leicht klar: Die gerichteten Wege von s nach t in G(x) entsprechen genau den x augmentierenden Wegen. Ob t in G(x) von s erreichbar ist (d.h. ob ein augmentierender Weg existiert), kann man folglich mit dem Algorithmus von Dijkstra feststellen z.b. mit der Distanzfunktion d vw = 1 für alle Kanten (vw) E(x).

11 3. ZIRKULATIONEN UND DAS MAX-FLOW-MIN-CUT-THEOREM 99 Schnitte. Sei allgemein S V eine Knotenmenge mit s S. Dann bestimmts einen sog.s-schnitt der Kapazität [S] = {(v,w) E v S,w / S} c[s] = e [S]c e. LEMMA 5.4 (Schnittlemma). Sei x eine zulässige Zirkulation auf G und S V mits S und t / S. Dann gilt Dann gilt x f c[s] Beweis. Wir setzen y v = 1 für alle v S und y v = 0 für v / S. Ausserdem wählen wirz e = 1 für e [S] und z e = 0 sonst. Dann erhalten wir eine zulässige Lösung des dualen Problems (66) mit Zielfunktionswert c e z e = c[s]. e E Die schwache Dualität der linearen Programmierung impliziert damit die behauptete Ungleichung. Sei wie vorherx 0 eine zulässige Zirkulation unds die Menge aller von s in G(x) erreichbaren Knoten. Im Fall t / S ergibt sich nach Definition von G(x) und der Knotenmenge S für eine Kante e = (v, w) E \{f}: { ce wennv S undw V \S x e = 0 wenn v V \S undw S. Also schliessen wir, dass x optimal ist. Denn x f = e [S]x e = c[s] (Beweis?). SATZ 5.3 (Ford-Fulkerson). Eine zulässige Zirkulation x ist optimal für (65) genau denn, wenn es im Hilfsgraphen G(x) keinen augmentierenden Weg von s nachtgibt. Das lineare Programm (65) hat auf jeden Fall x = 0 als zulässige Lösung. Also erhalten wir unter den obigen Voraussetzungen eine kombinatorische (graphentheoretische) Form der LP-Dualität:

12 UNIMODULARE LINEARE PROGRAMME KOROLLAR 5.2 (MAX-Flow-MIN-Cut). max{x f x zulässig für (65)} = min{c[s] s S V \{t}} Der Algorithmus von Ford-Fulkerson. Die vorangegangene Analyse des Ford-Fulkerson-Problems (65) legt folgenden Algorithmus nahe: (FF0) Beginne mit x = 0 als Startlösung und suche (über den HilfsgraphenG(x)) einen augmentierenden WegP vonsnach t. (FF1) STOP, wenn P nicht existiert: x ist optimal. (FF2) Wenn P existiert, modifiziere x entlang P zu dem verbesserten zulässigen Flussx mitx f = x f+ε und iteriere nun mitx anstelle vonx. SATZ 5.4. Wenn man die augmentierenden Wege im FF-Algorithm mit dem Dijkstra-Algorithmus berechnet, benötigt man insgesamt weniger als V 3 Augementierungsschritte. Beweis. Wir betrachten eine momentane Zirkulation x und nehmen an, dass der kürzeste augmentierende Weg in G(x) k Kanten hat. Sei F(x) die Vereinigung aller Kanten in kürzesten augmentierenden Wegen. P sei ein konkreter kürzester augmentierender Weg. Nach der Augmentierung entlang P erhält man eine Zirkulation x so, dass F(x ) mindestens eine der Kanten aus F(x) nicht mehr enthält. Neue Kanten können natürlich bei E(x ) auftreten. Diese neuen Kanten sind aber entweder parallel oder antiparallel zu Kanten in P. Man kann sich nun überlegen, dass mit diesen Kanten keine neuen augmentierenden Wege mit k Kanten möglich werden (s. Lemma 5.5). Also fallen die Kardinalitäten F(x) jeweils um mindestens eins bis E(x) keinen augmentierenden Weg der Länge k mehr gestattet. Da ein kürzester augementierender Weg V Kanten durchläuft, gibt es insgesamt weniger als Iterationen. V E = V 3 LEMMA 5.5. Sei G = (V,E) ein gerichteter Graph und P ein gerichteter Weg vonsnachtmit einer minimalen Anzahlk von Kanten. Wenn man nun zu E Kanten hinzufügt, die zu Kanten von P antiparallel sind, entsteht kein neuer gerichteter Weg vonsnachtmit k Kanten. Beweis. Sei A die Inzidenzmatrix von G. Wir betrachten das LP, das Weglänge minimiert, min x 0 1T x s.d. Ax = b,

13 4. KOMBINATORISCHE OPTIMIERUNG 101 mit der Optimallösung x (P) sowie das zugehörige duale LP maxy T b (= y t y s ) s.d. y T A 1 T. Ist nun (v,w) eine Kante von P, dann hat (wegen x (P) vw = 1 > 0 eine duale Optimallösung y nach den Bedingungen des komplementären Schlupfes die Eigenschaft y w y v = 1. Wird nun die Kante (w,v) hinzugefügt, so ergibt sich bei dieser Kante (67) yv y w = y v 1 y v = 1 < 1. Das heisst: y ist auch im erweiteren dualen Problem eine zulässige Lösung und auch (wegen yt y s = k) weitherhin optimal. Argumentieren wir nun mit dem komplementären Schlupf in die umgekehrte Richtung, so finden wir, dass (w, v) in keiner primalen Optimallösung nichttrivial vertreten sein kann. 4. Kombinatorische Optimierung Die Techniken der vorangehenden Abschnitte können oft ausgebaut werden, um diskrete Optimierungsprobleme zu lösen und deren kombinatorische Struktur zu analysieren. Wir geben hier nur zwei kleine Beispiele Minimale aufspannende Wälder. Sei G = (V, E) ein (ungerichteter) Graph und c : E R eine Kantengewichtsfunktion. Für jede TeilmengeK E setzen wir c(k) := e Kc e. Wir suchen einen aufspannenden Wald T E mit möglichst kleinem Gesamtgewicht c(t). OBdA dürfen wir dabei annehmen, dass G zusammenhängend ist, d.h. dass je zwei Knoten in G über einen Weg verbunden sind. (Sonst lösen wir das Problem separat auf jeder der Zusammenhangskomponenten.) Im Algorithmus benutzen wir die Notation δ(u) := {e E U Γ(e) (V \U) Γ(e)}. PRIMS ALGORITHMUS: (P0) Wähle ein s V und setzes := {s},t :=. (P1) Istδ(S) =, stopp. (P2) Wähle ein e δ(u) mit minimalem Gewicht c e und datiere auf: T [T {e}] und U [U Γ(e)]. (P3) Gehe zu (P1).

14 UNIMODULARE LINEARE PROGRAMME SATZ 5.5. Der Algorithmus von Prim produziert einen minimalen aufspannenden WaldT. Beweis. Es ist klar, dass die Konstruktion von T an keiner Stelle einen geschlossenen Weg gestattet. Der Algorithmus gibt also am Ende einen aufspanndenden Wald aus. Wir zeigen nun induktiv, dass in jeder Iteration die konstruierte Menge T in einem optimalen aufspannenden Wald enthalten ist. (Folglich muss T am Ende selber optimal sein.) SeiT also optimal mitt T unde δ(s) die vom Algorithmus gewählte neue Kante. Wenn e T gilt, hat man natürlich T {e} T. Sei alsoe / T. Dann enthältt {e} einen geschlossenen WegP mite P. Der Weg P = P \{e} verbindet einen Knoten v S mit einem Knoten w V \S. Also muss P eine Kante f δ(s) enthalten. Da e δ(s) gewichtsminimal gewählt war, haben wirc f c e. Folglich ist T = (T \f) e auch ein gewichtsminimaler aufspannender Wald und es gilt: T (T e). BEMERKUNG. Man beachte die formale Ähnlichkeit der Algorithmen von Prim und Dijkstra! 4.2. Der Satz von König-Egervary. Wir betrachten das Matchingproblem bzgl. der disjunkten Mengen S und T bzgl. der Gewichtsfunktion w(s,t) {,+1}. w(s,t) = kann man so interpretieren, dass(s,t) für ein Matching nicht zur Verfügung steht. Wir wollen also ein Matching mit möglichst vielen zulässigen Kanten der Menge E = {(s,t) S T w(s,t) = 1}. BEMERKUNG. G = (S T,E) ist ein sog. bipartiter Graph. Die Aufgabe, ein maximales Matching zu berechnen, erweist sich als ein Spezialfall des FF-Problems. Dazu betrachten wir den Graphen G = (V, E), mit zwei neuen Knoten s 0, t 0, d.h. V = (S T {s 0,t 0 },E, und Kantenmenge E = E {(s 0,s) s S} {(t,t 0 ) t T} {(t 0,s 0 }

15 4. KOMBINATORISCHE OPTIMIERUNG 103 Beschränken wir nun die Kapazität der Kanten vom Typ (s 0,s) und (t,t 0 ) auf 1 (und + sonst), so berechnet der FF-Algorithmus einen Vektor x {0,1} E mit maximalem Flusswert x (t0,s 0 ) = e Ex e. Folglich istm = {e E x e = 1} ein maximales Matching in G. Unter einer (Kanten-)Überdeckung von G = (S T, E) versteht man eine Menge von Knoten(!)C S T mit der Eigenschaft (v,w) E = v C oderw C. C muss mindestens die Mächtigkeit eines beliebigen Matchings M haben, denn jede Kante aus M muss ja durch C abgedeckt sein: C M. Sei andererseits M ein maximales Matching, das nach dem FF-Algorithmus konstruiert wurde undc die Menge aller Knoten die vons 0 noch erreichbar sind. Wegen c[c] = M <, kann es kein e E geben, das vons C nach T \C verläuft. Also ist C = (S \C) (T C) eine Überdeckung und hat Mächtigkeit C = S \C + T C = c[c] = M. SATZ 5.6 (König/Egervary). Sei G = (S T, E) bipartit. Dann gilt max{ M M Matching} = min{ C C Überdeckung.} BEMERKUNG. Das Matching- und Überdeckungsproblem kann sinnvoll auch im Fall T = S (d.h. E S S) formuliert werden. Während das Matchingproblem (mit etwas mehr Aufwand) noch effizient lösbar bleibt, ist in dieser Allgemeinheit kein effizienter Algorithmus für das analoge Überdeckungsproblem bekannt. Insbesondere gilt der Satz von König/Egervary in diesem Rahmen nicht mehr. BEMERKUNG. Der Satz von König/Egervary ist die Grundlage vieler Minimax-Sätze in der Kombinatorik.

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

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung. Operations Research Rainer Schrader Flüsse in Netzwerken Zentrum für Angewandte Informatik Köln 2. Juli 2007 1 / 53 2 / 53 Flüsse in Netzwerken Unimodularität Gliederung Netzwerke und Flüsse bipartite

Mehr

Optimierung auf Netzwerken

Optimierung auf Netzwerken KAPITEL 4 Optimierung auf Netzwerken Wir untersuchen hier spezielle lineare Programme, die eine zusätzliche kombinatorische (graphentheoretische) Struktur tragen. Nutzt man diese kombinatorische Struktur

Mehr

Ganzzahlige lineare Programme

Ganzzahlige lineare Programme 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.

Mehr

Ecken des Zuordnungsproblems

Ecken des Zuordnungsproblems Total unimodulare Matrizen Ecken des Zuordnungsproblems Definition.6 Ein Zuordnungsproblem mit den Vorzeichenbedingungen 0 apple x ij apple für i, j =,...,n statt x ij 2{0, } heißt relaxiertes Zuordnungproblem.

Mehr

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

Operations Research. Ganzzahlige lineare Programme. ganzzahlige lineare Programme. Ganzzahlige lineare Programme. Rainer Schrader. 25. 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

Mehr

Optimierung. Vorlesung 08

Optimierung. Vorlesung 08 Optimierung Vorlesung 08 Heute Dualität Ganzzahligkeit Optimierung der Vorlesung durch Evaluierung 2 Das duale LP Das primale LP Maximiere c T x unter Ax b, x R d 0. wird zu dem dualen LP Minimiere b T

Mehr

Vorlesung Lineare Optimierung (Sommersemester 2007)

Vorlesung Lineare Optimierung (Sommersemester 2007) 1 Vorlesung Lineare Optimierung (Sommersemester 007) Kapitel 9: Ganzzahlige Polyeder und Kombinatorische Dualität Volker Kaibel Otto-von-Guericke Universität Magdeburg Montag, 9. Juli 007 Gliederung Ganzzahlige

Mehr

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

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme 10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e

Mehr

Schnittebenenverfahren und Heuristiken

Schnittebenenverfahren und Heuristiken KAPITEL 6 Schnittebenenverfahren und Heuristiken Wir betrachten nun Optimierungsprobleme vom Typ (68) minc 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

Mehr

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

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph Graphentheorie Rainer Schrader Zentrum ür Angewandte Inormatik Köln 31. Oktober 2007 1 / 30 2 / 30 Gliederung maximale Flüsse Schnitte Edmonds-Karp-Variante sei G = (V, A) ein gerichteter Graph sei c eine

Mehr

Effiziente Algorithmen I 11. Übungsblatt, Wintersemester 2015/16 Abgabetermin:

Effiziente Algorithmen I 11. Übungsblatt, Wintersemester 2015/16 Abgabetermin: 11 11. Übungsblatt, Wintersemester 2015/16 Abgabetermin: 19.01.2016 Aufgabe 29 Bestimmen Sie mit der Stepping-Stone-ethode einen Transportplan mit minimalen Kosten für das klassische Transportproblem mit

Mehr

Trennender Schnitt. Wie groß kann der Fluss in dem folgenden Flussnetzwerk höchstens sein?

Trennender Schnitt. Wie groß kann der Fluss in dem folgenden Flussnetzwerk höchstens sein? 6. Flüsse und Zuordnungen max-flow min-cut Trennender Schnitt Wie groß kann der Fluss in dem folgenden Flussnetzwerk höchstens sein? a e s c d t b f Der Fluss kann nicht größer als die Kapazität der der

Mehr

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 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,... Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings

Mehr

Das Matching Polytop

Das Matching Polytop Das Matching Polytop Manuel Schneider Institut für Mathematik, TU Berlin Seminar: Algorithmische Diskrete Mathematik 27. Mai 2008 Überblick 1 Beschreibungen durch Ungleichungen Das Perfekte Matching Polytop

Mehr

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 11. Dezember 2007 1 / 47 2 / 47 wir wenden uns jetzt einem weiteren Optimierungsproblem zu Gliederung Matchings in bipartiten Graphen

Mehr

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

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

D-MAVT Lineare Algebra I HS 2017 Prof. Dr. N. Hungerbühler. Lösungen Serie 10 D-MAVT Lineare Algebra I HS 2017 Prof. Dr. N. Hungerbühler Lösungen Serie 10 1. Für a 1 : 1 1 0, a 2 : 1 1, a 3 : 1 1 1, b : 2 2 2 1 und A : (a 1, a 2, a 3 ) gelten welche der folgenden Aussagen? (a) det(a)

Mehr

Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll.

Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll. Kapitel 2 Zusammenhang 2.1 Zusammenhängende Graphen Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll. (1) Setze E = E, F =. (2) Wähle e E und setze F = F {e},

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Graphenalgorithmen Maximaler Fluss Einleitung Flussnetzwerke Ford-Fulkerson Fulkerson Methode Maximales bipartites Matching

Mehr

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

Mehr

Flüsse und Zuordnungen. Kapitel 6. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

Flüsse und Zuordnungen. Kapitel 6. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296 Kapitel 6 Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/19 227 / 296 Inhalt Inhalt 6 Flussnetzwerke Berechnung maximaler Flüsse Max-Flow-Min-Cut Matchings Peter Becker (H-BRS) Graphentheorie

Mehr

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN F. VALLENTIN, A. GUNDERT 1. Definitionen Notation 1.1. Ähnlich wie im vorangegangenen Kapitel zunächst etwas Notation. Wir beschäftigen uns jetzt mit ungerichteten

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I 9. Präsenzaufgabenblatt, WiSe 2013/14 Übungstunden am 13.01. & 15.01.2014 Aufgabe Q Gegeben sei ein Fluss-Netzwerk mit Digraph D = (V, A), Knotenkapazitäten c(u, v) 0, Quelle s und Senke t. Kann sich der

Mehr

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 )

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 ) Prof. Dr. U. Faigle J. Voss SS 2011 12. Übung zur Einführung in die Mathematik des Operations Research Dieses Übungsblatt wird nicht mehr gewertet. Aufgabe 1: Sei G = (V, E) ein gerichteter Graph und x

Mehr

Einführung in die Mathematik des Operations Research

Einführung in die Mathematik des Operations Research Universität zu Köln Mathematisches Institut Prof. Dr. F. Vallentin Einführung in die Mathematik des Operations Research Sommersemester 3 en zur Klausur (7. Oktober 3) Aufgabe ( + 3 + 5 = Punkte). Es sei

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 25. Oktober 2007 1 / 20 2 / 20 Wir werden Optimierungsprobleme vom folgenden Typ betrachten: gegeben eine Menge X und eine Funktion

Mehr

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

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung Dr. Nico Düvelmeyer Freitag, 24. Juni 2011 1: 1 [1,1] Inhaltsübersicht für heute 1 Dualität Motivation Duales LP Dualitätssätze

Mehr

Die duale Simplexmethode

Die duale Simplexmethode Kapitel 0 Die duale Simplexmethode Bei der dualen Simplexmethode ist eine Startlösung oftmals leichter angebbar als bei der Simplexmethode für das ursprüngliche lineare Programm, da man keine Nichtnegativitätsanforderungen

Mehr

6. Flüsse und Zuordnungen

6. Flüsse und Zuordnungen 6. Flüsse und Zuordnungen Flußnetzwerke 6. Flüsse und Zuordnungen In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über diese Kante pro Zeiteinheit transportiert

Mehr

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

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2 1 Graphen Definition: Ein Graph G = (V,E) setzt sich aus einer Knotenmenge V und einer (Multi)Menge E V V, die als Kantenmenge bezeichnet wird, zusammen. Falls E symmetrisch ist, d.h.( u,v V)[(u,v) E (v,u)

Mehr

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

Univ.-Prof. Dr. Goulnara ARZHANTSEVA Diskrete Mathematik Univ.-Prof. Dr. Goulnara ARZHANTSEVA SS 2018 c Univ.-Prof. Dr. Goulnara Arzhantseva Kapitel 08: Menger, König und Hall / Planare Graphen 1 / 30 Der Satz von Menger: s t trennende Kantenmenge

Mehr

Klausur zum Modul Einführung in die Diskrete Mathematik

Klausur zum Modul Einführung in die Diskrete Mathematik Klausur zum Modul Einführung in die Diskrete Mathematik 11.2.2014 Aufgabe 1 [10 Punkte] Sei G ein ungerichteter Graph, k N und x, y, z V (G). Zeigen Sie: Gibt es k paarweise kantendisjunkte x-y-wege und

Mehr

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

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler 1 Matroide 1.1 Definitionen und Beispiele 1. Definition (Unabhängigkeitssystem): Ein Mengensystem

Mehr

Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.

Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode. Effiziente Algorithmen Flußprobleme 81 Laufzeit Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{ V 1, V 2 }.

Mehr

Freie Bäume und Wälder

Freie Bäume und Wälder (Martin Dietzfelbinger, Stand 4.6.2011) Freie Bäume und Wälder In dieser Notiz geht es um eine besondere Sorte von (ungerichteten) Graphen, nämlich Bäume. Im Gegensatz zu gerichteten Bäumen nennt man diese

Mehr

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1 Lösungen zu den Übungsaufgaben im Kapitel 4 des Lehrbuches Operations Research Deterministische Modelle und Methoden von Stephan Dempe und Heiner Schreier Aufgabe 1: Berechnen Sie für den in Abbildung

Mehr

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5) Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen

Mehr

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Svenja Hüning, Michael Kerber, Hannah Schreiber WS 2016/2017 Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Hinweise: Dieses Blatt präsentiert Beispiellösungen zu

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 13: Flüsse und Zuordnungen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 9. Juni 2017 DURCHSATZ D(e) ist die maximale Flussmenge,

Mehr

3.6 Branch-and-Bound-Verfahren

3.6 Branch-and-Bound-Verfahren 36 Branch-and-Bound-Verfahren Die Branch-and-Bound -Methode beruht darauf, auf eine intelligente Weise alle zulässigen Lösungen eines kombinatorischen Optimierungsproblems aufzulisten und mit Hilfe von

Mehr

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

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Beweis: 1. 2. Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Widerspruchsannahme: Es gibt zwei verschiedene Pfade zwischen u und v. Dann gibt es einen

Mehr

7. Der Entwurf von Algorithmen (Fortsetzung)

7. Der Entwurf von Algorithmen (Fortsetzung) Prof. Dr. Norbert Blum M.Sc. Adrian Schmitz Informatik V BA-INF 041 - Algorithmen und Berechnungskomplexität II SS 2015 Mögliche Klausuraufgaben Stand 1. Juli 2015 Bitte beachten Sie, dass die tatsächlichen

Mehr

Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei

Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei { log x = min n N n: log (log ( log(x) )) } {{ } n

Mehr

KAPITEL 4 FLÜSSE IN NETZWERKEN

KAPITEL 4 FLÜSSE IN NETZWERKEN KAPITEL 4 FLÜSSE IN NETZWERKEN F. VALLENTIN, A. GUNDERT 1. Das Max-Flow-Min-Cut Theorem Es sei D = (V, A) ein gerichteter Graph, s, t V zwei Knoten. Wir nennen s Quelle und t Senke. Definition 1.1. Eine

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 14. Mai

Mehr

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 13. November 2007 1 / 84 2 / 84 Gliederung stest und Schnittkanten älder und Bäume minimal aufspannende Bäume Der Satz von Menger 2-zusammenhängende

Mehr

KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN

KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN 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

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2018/2019 1 / 40 Überblick Überblick Grundlegendes zu Markov-Ketten

Mehr

4.7 Der Algorithmus von Dinic für maximalen Fluss

4.7 Der Algorithmus von Dinic für maximalen Fluss 4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen

Mehr

1. Transport- und Zuordnungsprobleme Optimierungsalgorithmus für Transportprobleme. Duales Problem. a i u i + i=1. j=1

1. Transport- und Zuordnungsprobleme Optimierungsalgorithmus für Transportprobleme. Duales Problem. a i u i + i=1. j=1 1. Transport- und Zuordnungsprobleme Optimierungsalgorithmus für Transportprobleme Duales Problem Lemma 1.4. Das zum Transportproblem duale Problem lautet: max unter den Nebenbedingungen m a i u i + i=1

Mehr

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching Kap. 1.4: Minimum Weight Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 4. VO 6. November 2006 Überblick kurze Wiederholung: 1.2 Blüten-Schrumpf-Algorithmus für Perfektes Matching

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.

Mehr

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

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Name:... Vorname:... Matr.-Nr.:... Studiengang:...

Name:... Vorname:... Matr.-Nr.:... Studiengang:... Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Netzwerkalgorithmen 16.07.2013 Name:.....................................

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Unimodularität. Kapitel 1. Peter Becker (H-BRS) Operations Research II Wintersemester 2015/16 11 / 206

Unimodularität. Kapitel 1. Peter Becker (H-BRS) Operations Research II Wintersemester 2015/16 11 / 206 Kapitel 1 Unimodularität Peter Becker (H-BRS) Operations Research II Wintersemester 2015/16 11 / 206 Inhalt 1 Unimodularität Total unimodulare Matrizen Inzidenzmatrix Optimierungsprobleme auf Graphen Peter

Mehr

Durchschnitt von Matroiden

Durchschnitt von Matroiden Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt

Mehr

Graphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke

Graphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke Graphen Graphentheorie Graphentheorie Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke 2 Was ist ein Graph? Ein Graph ist in der Graphentheorie eine abstrakte Struktur,

Mehr

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens Praktikum Algorithmen-Entwurf (Teil 5)..5 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen Endpunkt

Mehr

Vorlesung Kombinatorische Optimierung (Wintersemester 2016/17)

Vorlesung Kombinatorische Optimierung (Wintersemester 2016/17) Vorlesung Kombinatorische Optimierung (Wintersemester 06/7) Kapitel : Flüsse und Zirkulationen Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 4. Oktober 06) Definition. Ein Netzwerk

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

Mehr

1 Der Simplex Algorithmus I

1 Der Simplex Algorithmus I 1 Nicoletta Andri 1 Der Simplex Algorithmus I 1.1 Einführungsbeispiel In einer Papiermühle wird aus Altpapier und anderen Vorstoffen feines und grobes Papier hergestellt. Der Erlös pro Tonne feines Papier

Mehr

Die lineare Programmierung. Die Standardform 1 / 56

Die lineare Programmierung. Die Standardform 1 / 56 Die lineare Programmierung Die Standardform 1 / 56 Die Standardform der linearen Programmierung - Für n reellwertige, nichtnegative Variablen x 1 0,..., x n 0 erfülle die m linearen Gleichungen n a ij

Mehr

Dualitätssätze der linearen Optimierung

Dualitätssätze der linearen Optimierung Kapitel 9 Dualitätssätze der linearen Optimierung Sei z = c T x min! Ax = b 9.1 x 0 mit c, x R n, b R m, A R m n ein lineares Programm. Definition 9.1 Duales lineares Programm. Das lineare Programm z =

Mehr

1.Aufgabe: Minimal aufspannender Baum

1.Aufgabe: Minimal aufspannender Baum 1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9

Mehr

4. Dualität Dualität 4.1 Dualität von LPs und der Dualitätssatz. Die duale Form eines LP in allgemeiner Form. Herleitung der dualen Form

4. Dualität Dualität 4.1 Dualität von LPs und der Dualitätssatz. Die duale Form eines LP in allgemeiner Form. Herleitung der dualen Form 2... 22 4.2 Die Bedingungen vom komplementären Schlupf... 23 4.3 Das Kürzeste-Wege-Problem und zugehörige duale Problem... 24 4.4 Das Farkas Lemma... 25 4.5 Duale Information im Tableau... 26 4.6 Der duale

Mehr

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend Organisatorisches VL-18: Matching (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim Hartmann,

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 21 1 Approximationsalgorithmen auf

Mehr

Dieser Graph hat 3 Zusammenhangskomponenten

Dieser Graph hat 3 Zusammenhangskomponenten Vl 2, Informatik B, 19. 04. 02 1.1.3 Definitionen und wichtige Graphen Sei im folgenden G =(V;E) ein schlichter ungerichteter Graph. Definition: Der Grad eines Knoten v in einem ungerichteten Graphen ist

Mehr

Inhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen

Inhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen Effiziente Algorithmen Einführung 1 Inhalt 1. Flußprobleme 2. Matching. Lineares Programmieren 4. Ganzzahliges Programmieren 5. NP-Vollständigkeit 6. Approximationsalgorithmen 7. Backtracking und Branch-and-Bound

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

2 Die Dimension eines Vektorraums

2 Die Dimension eines Vektorraums 2 Die Dimension eines Vektorraums Sei V ein K Vektorraum und v 1,..., v r V. Definition: v V heißt Linearkombination der Vektoren v 1,..., v r falls es Elemente λ 1,..., λ r K gibt, so dass v = λ 1 v 1

Mehr

6 Flüsse und Matchings

6 Flüsse und Matchings 6. Flüsse in Netzwerken Flußnetzwerke 6 Flüsse und Matchings In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über diese Kante pro Zeiteinheit transportiert werden

Mehr

Effiziente Algorithmen II

Effiziente Algorithmen II 10. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 19.01.2015 Aufgabe Q Betrachten Sie das Knapsackpolytop P = conv(v ) mit V = {x n i=1 a ix i α} {0, 1} n für gegebenes α und a i 0 (insbesondere ist

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph

Mehr

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert: KAPITEL 3 Graphen Man kann als Ursprung der Graphentheorie ein Problem sehen, welches Euler 1736 von Studenten aus Königsberg gestellt bekam. Der Fluss Pregel wird von 7 Brücken überquert, und die Frage

Mehr

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/0 Institut für Informatik Aufgabenblatt Prof. Dr. J. Csirik. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am. und.

Mehr

Diskrete Mathematik Graphentheorie (Übersicht)

Diskrete Mathematik Graphentheorie (Übersicht) Diskrete Mathematik Graphentheorie (Übersicht) Dr. C. Löh 2. Februar 2010 0 Graphentheorie Grundlagen Definition (Graph, gerichteter Graph). Ein Graph ist ein Paar G = (V, E), wobei V eine Menge ist (die

Mehr

EDM, Algorithmen und Graphenspeicherung

EDM, Algorithmen und Graphenspeicherung EDM, Algorithmen und Graphenspeicherung 1 Graphenspeicherung Gespeichert werden soll ein Graph G = (V, E) bzw. Digraph D = (V, A). Man beachte: E ( ) V 2 bzw. E V 2 1.1 Adjazenzmatrix Graph G: A = (a vw

Mehr

Flüsse in Netzwerken

Flüsse in Netzwerken Skript zum Seminar Flüsse in Netzwerken WS 2008/09 David Meier Inhaltsverzeichnis 1 Einführende Definitionen und Beispiele 3 2 Schnitte in Flussnetzwerken 12 2.1 Maximaler s t Fluss..........................

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 7 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 2. Mai 2018 [Letzte Aktualisierung: 2/05/2018,

Mehr

KAPITEL 3. Konvexe Funktionen

KAPITEL 3. Konvexe Funktionen KAPITEL 3 Konvexe Funktionen Sei F R n ein Definitionsbereich und f : F R eine Funktion. Unter dem Epigraphen von f versteht man die Menge epif = {(x, z) R n+1 x F, z R, z f(x)}. Man nennt f konvex, wenn

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

6. Flüsse und Zuordnungen

6. Flüsse und Zuordnungen 6. Flüsse und Zuordnungen In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über solch eine Kante pro Zeiteinheit transportiert werden können. Wir können uns einen

Mehr

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )

Mehr

Operations Research. Die Simplexmethode. LP-Dualität. Die Simplexmethode. Rainer Schrader. 18. Juni Zur Erinnerung: Gliederung

Operations Research. Die Simplexmethode. LP-Dualität. Die Simplexmethode. Rainer Schrader. 18. Juni Zur Erinnerung: Gliederung Operations Research Rainer Schrader Die Simplexmethode Zentrum für Angewandte Informatik Köln 18 Juni 00 1 / 1 / 1 Gliederung LP-Dualität ein lineares Produktionsmodell der Simplexalgorithmus Phase I Endlichkeit

Mehr

Ausarbeitung über den Satz von Menger und den Satz von König

Ausarbeitung über den Satz von Menger und den Satz von König Ausarbeitung über den Satz von Menger und den Satz von König Myriam Ezzedine, 0326943 Anton Ksernofontov, 0327064 Jürgen Platzer, 0025360 Nataliya Sokolovska, 0326991 1. Beweis des Satzes von Menger Bevor

Mehr

Zugeordneter bipartiter Graph

Zugeordneter bipartiter Graph Zugeordneter bipartiter Graph Für ein Transportproblem sei A = {A 1,...,A m } die Menge der Fabriken und B = {B 1,...,B n } sei die Menge der Warenhäuser. Wir ordnen nun einem Transportproblem einen bipartiten

Mehr

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

Mehr

Effiziente Algorithmen Lineares Programmieren 216. Schwache Dualität

Effiziente Algorithmen Lineares Programmieren 216. Schwache Dualität Effiziente Algorithmen Lineares Programmieren 216 Schwache Dualität Sei wieder z = max{ c T x Ax b, x 0 } (P ) und w = min{ b T u A T u c, u 0 }. (D) x ist primal zulässig, wenn x { x Ax b, x 0 }. u ist

Mehr

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt.

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt. Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner 5. Musterlösung Problem : Vitale Kanten * In einem Netzwerk (D = (V, E); s, t; c) mit Maximalfluß f heißen Kanten e

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Steiner Bäume. Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS VO 15. Januar 2007

Steiner Bäume. Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS VO 15. Januar 2007 Steiner Bäume Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS11 12 VO 15. Januar 2007 Überblick Einführung Definition und Motivation Komplexität Approximationsalgorithmen Distanznetzwerk

Mehr