Technische Universität Berlin ADM I – Graphen und Netzwerkalgorithmen Sommersemester 2008 Institut für Mathematik Prof. Rolf H. Möhring Felix König Anika Frischwasser Jannik Matuschke Nils Vormum 8. Übungsblatt Abgabe: Freitag, 13.6.2008, vor der Übung Aufgabe 29 5 Punkte Sei (G, u, c, b) eine zulässige Instanz des Min-Cost-Flow-Problems, wobei G ein zusammenhängender Digraph ist. Zeigt, dass es eine Optimallösung f gibt, so dass es im zugrundeliegenden ungerichteten Graphen von G einen Baum T gibt mit f (e) ∈ {0, u(e)} ∀e ∈ E(G) \ E(T ). Aufgabe 30 5 Punkte Seien x und y zwei b-Flüsse in (G, u, b). Zeigt, dass x − y eine Zirkulation, d.h. ein b Fluss zu b ≡ 0, in Gy ist. Negative Flusswerte werden dabei natürlicherweise als positiver Fluss auf der Gegenkante interpretiert. Aufgabe 31 5 Punkte Betrachtet die folgede Instanz des Min-Cost-Flow-Problems. Die Zahlen an den Knoten bezeichnen b, die and den Kanten c. Beachte, dass c(e) ≥ 0 ∀e ∈ E. Für die Kapazitäten gelte u ≡ ∞. a) Zeigt, dass f ((1, 4)) = 11, f ((3, 5)) = 11, f ((1, 6)) = 9, f ((3, 7)) = 14, f ((2, 5)) = 2, f (e) = 0 sonst f ((2, 6)) = 8, eine Optimallösung ist. b) Gebt ein Beispiel für das so genannte More-for-less-Paradoxon an, indem ihr die Bedarfe so verändert, dass die entstehende Instanz des MCFP einen Fluss mit in Summe größerem Flusswert erlaubt, der geringere Kosten verursacht. Aufgabe 32 5 Punkte Ein Restaurant am Wiener Ernst-Happel-Stadion hat schon immer schlechte Erfahrungen mit Fußballfans gemacht - mit jeder Minute, die sie auf die Bedienung warten müssen, fügen sie dem Restaurant (oder wenigstens seinem Ruf) Schaden zu, sei es durch das Einritzen von Fan-Songs ins Möbiliar oder durch lautes Gegröhle von Fußballliedern, welches die Anwohner in der Nähe gar nicht gerne hören... Gehen wir von folgenden Gegebenheiten aus: Das Restaurant hat k Kellner und f Tische, die bedient werden müssen. Ein Kellner braucht exakt σ Minuten, um einen Tisch zu bedienen. Jeder Kellner geht sequentiell, also Tisch für Tisch, vor und schließt die Bedienung eines Tisches ab, bevor er den nächsten bedient. Zum gegenwärtigen Zeitpunkt wurde noch keiner der f Tische‘ bedient und es trifft auch kein neuer Gast ein, bis nicht alle Tische bedient worden sind. Außerdem ist die Anzahl der Tische durch die der Kellner teilbar, also fk ∈ N. Über die Jahre hat der Geschäftsführer, ein irregeleiteter Diplom-Mathematiker, ein durchaus beeindruckendes Geschick entwickelt, durch einen kurzen Blick auf eine Gruppe von Gästen an einem Tisch f den durch die Gäste in Abhängigkeit von ihrer Wartezeit t zu erwartenden Schaden als eine schwach monoton steigende Funktion cf (t) auszudrücken. Diese Fähigkeit würde er gerne nutzen, um mit Hilfe von Min-Cost-Flow-Berechnungen den Schaden für das Restaurant während der Fußball-Europameisterschaft zu minimieren. Wie könnte er das anstellen? Programmieraufgabe 6 (Abnahme während einer der RBs am 16.06.2008): Implementiert den Min-Mean-Cycle-Canceling-Algorithmus aus der Vorlesung. Verwendet dabei eure Implementation des Min-Mean-Cycle-Algorithmus aus Programmieraufgabe 3. Als Kosten dienen bis auf Weiteres die Gewichte (getWeight/setWeight) der Kanten.