Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg 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 | und ai ≥ 0 (insbesondere ist ai > α möglich). Pn i=1 ai xi ≤ α} ∩ {0, 1}n für gegebenes α a) Welche Dimension hat P ? b) Untersuchen Sie, in welchen Fällen die Ungleichungen xi ≥ 0 bzw. xi ≤ 1 eine Facette von P definieren. Aufgabe R Zu jedem ungerichten Graphen G = (V, E) ist das Stabile Mengen Polytop definiert als STAB(G) = conv{χS | S ⊆ V ist stabile Menge in G}. Die folgenden Ungleichungen sind offensichtlich gültig für STAB(G): a) xu ≤ 1, xu ≥ 0, b) xu + xv ≤ 1, für (u, v) ∈ E, c) x(K) ≤ b |K| 2 c, für K ungerader Kreis in G, d) x(C) ≤ 1, für C Clique in G. Als IP-Formulierung genügen die Ungleichungen aus a) und b). Zeigen Sie, wie die Kreisungleichungen c) und die Cliqueungleichungen d) durch elementare Abschlussoperationen aus a) und b) erhalten werden können. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 9. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 12.01. & 19.01.2015 Eine Matrix A heißt total unimodular, wenn die Determinante jeder quadratischen Untermatrix von A einen Wert aus {−1, 0, 1} hat. Aufgabe N Sei A = (aij ) eine ganzzahlige (m, n)-Matrix. Ist A total unimodular, so gibt es für jedes R ⊆ {1, . . . , m} eine disjunkte Aufteilung R = R1 ∪˙ R2 mit X X aij − aij ∈ {−1, 0, 1} i∈R1 i∈R2 für alle j = 1, . . . , n. (Tipp: Betrachten Sie die Blockmatrix, die sich aus AT , −AT und der Einheitsmatrix I zusammensetzt.) Aufgabe O Die Knoten-Kanten-Inzidenzmatrix eines ungerichteten Graphen G = (V, E) ist genau dann total unimodular, wenn G bipartit ist. (Sie dürfen sowohl den Satz aus Aufgabe N als auch dessen umgekehrte Implikationsrichtung verwenden, da diese ebenfalls wahr ist.) Aufgabe P Verwenden Sie den Satz aus Aufgabe O, um zu zeigen: In einem bipartiten Graphen G = (V, E) ist die Kardinalität eines maximalen Matchings gleich der Kardinalität einer minimalen Knoten-Überdeckung. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 8. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 15.12.2014 Aufgabe M a) Skizzieren Sie, wie das asymmetrische Traveling-Salesman-Problem (ATSP) durch dynamische Programmierung gelöst werden kann. b) Eignet sich dieses Vorgehen auch zur Lösung des Target-Visitation-Problems (TVP) aus Aufgabe 16? Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 7. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 8.12.2014 Aufgabe L Gegeben sei das folgende ganzzahlige lineare Programm. max 2x1 + 5x2 4x1 + x2 ≤ 28 x1 + 4x2 ≤ 27 x1 − x2 ≤ 1 x1 , x2 ∈ Z+ . (1) (2) (3) a) Stellen Sie die folgenden drei Lagrange-Relaxierungen auf: 1. Bezüglich der Nebenbedingung (1), 2. bezüglich der Nebenbedingungen (1) und (2), 3. bezüglich der Nebenbedingungen (2) und (3). b) In welchen dieser drei Fälle ist der Wert der Lagrange-Relaxierung besser als der Wert der LPRelaxierung? Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 6. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 1.12.2014 Aufgabe K Betrachten Sie die LP-Relaxierung max cT x aT x ≤ b 0 ≤ xi ≤ 1 des 0/1-Knapsack-Problems. Wie erhält man die Optimallösung dieser Relaxierung in O(n log n)? Beweisen Sie die Korrektheit Ihres Algorithmus. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 5. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 24.11.2014 Aufgabe I Das folgende lineare Gleichungssystem hat keine Lösung: x−y =7 2x + 3y = 5 3x + y = −1. Es soll daher ein Vektor (x, y) bestimmt werden, der den Fehlerterm d1 + d2 + d3 minimiert mit d1 = |x − y − 7|, d2 = |2x + 3y − 5|, d3 = |3x + y + 1|. Formulieren Sie dieses Problem als lineares Programm. Aufgabe J Betrachten Sie das System 4x − 2y ≤ 2 (1) −5x + 5/2y ≤ −5/2 (2) −x ≤ −1 (3) −y ≤ −1 (4) −2x − 3/2y ≤ −7/2 x + 4y ≤ 14 (5) (6) 7x − 3y ≤ 5 (7) x ≤ 3. (8) a) Stellen Sie den Lösungsraum graphisch dar. b) Welche der acht Ungleichungen sind redundant? Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 4. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 17.11.2014 Aufgabe G Beim Linear-Ordering-Problem sind n Objekte in eine Reihenfolge zu bringen. Dabei wird ein Bonus cij für alle verschiedenen i, j ∈ {1 . . . , n} gutgeschrieben, wenn sich Objekt i weiter vorne in der Anordnung als Objekt j befindet. Gesucht ist eine Reihenfolge, welche den Gesamtbonus maximiert. Geben Sie eine möglichst gute Gütegarantie für die folgende Heuristik an. Bestimme zufällig eine Anordnung L der n Objekte. Sie L die Anordnung, welche durch Invertierung der Anordnungsreihenfolge in L entsteht. Gib die bessere der beiden Anordnungen L und L zurück (oder L, falls sie gleich gut sind). Aufgabe H Das Knotenfärbungsproblem besteht darin, in einem Graphen G = (V, E) eine Färbung f : V → N der Knoten V = {v1 , . . . , vn } mit möglichst wenigen Farben zu bestimmen, sodass zwei benachbarte Knoten stets unterschiedliche Farben zugewiesen bekommen. Betrachten Sie die folgende Greedy-Heuristik: 1. Für i = 1, . . . , n: 1.1 Setze f (vi ) := min{k ∈ N | k 6= f (vj ) für alle j < i mit vi vj ∈ E}. Beweisen Sie: a) Es gibt für jedes n ∈ N+ einen bipartiten Graphen mit 2n Knoten, für den die Greedy-Heuristik n Farben benötigt. Gibt es eine Gütegarantie für die Greedy-Heuristik? b) Es gibt immer eine Reihenfolge der Knoten, für welche der Greedy-Algorithmus die optimale Lösung findet. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 3. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 10.11.2014 Aufgabe E Das in der Vorlesung vorgestellte Knapsack-Problem beschränkt sich auf den Fall, dass sowohl die Gewichte ai als auch die Zielfunktionskoeffizienten ci nur nichtnegative ganze Zahlen annehmen können. Wie kann man den Fall behandeln, dass auch negative ganze Zahlen zugelassen werden? a) 0/1-Knapsack-Problem: Erlaubt sind i mit ci < 0, wenn ai ≥ 0. b) Allgemeines Knapsack-Problem: Erlaubt sind i mit ci < 0, wenn ai ≥ 0. c) 0/1-Knapsack-Problem: Erlaubt sind i mit ai < 0, wenn ci ≥ 0. d) Allgemeines Knapsack-Problem: Erlaubt sind i mit ai < 0, wenn ci ≥ 0. Aufgabe F Betrachten Sie den folgenden Algorithmus doubleTree zur Berechnung einer Näherungslösung für das Traveling-Salesman-Problem. Eine eulersche Tour ist ein geschlossener Pfad im Graphen, der jede Kante genau einmal durchläuft. doubleTree(G) (1) Berechne einen minimalen aufspannenden Baum B von G. (2) Verdopple alle Kanten von B, um einen eulerschen Graphen GB zu erhalten. (3) Berechne eine eulersche Tour T im Graphen GB . Die Knotenabfolge von T sei vi0 , vi1 , vi2 , . . . . (4) Rufe obtainHamiltonTour(T ) auf, um eine hamiltonsche Tour H zu erhalten. obtainHamiltonTour(T ) (1) Setze Q = {vi0 }, H = ∅, v = vi0 und l = 1. (2) Solange |Q| < n (2.1) Falls vil ∈ / Q dann setze Q = Q ∪ {vil }, H = H ∪ {vvil } und v = vil . (2.2) Setze l = l + 1. (3) Setze H = H ∪ {vvi0 } (4) H ist eine hamiltonsche Tour. Zeigen Sie, dass diese Heuristik bei Problemen mit Dreiecksungleichung 1-approximativ ist. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 2. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 3.11.2014 Aufgabe C Betrachten Sie das Problem, auf einer Maschine n verschiedene Jobs mit Ausführungszeiten pi und WartezeitKosten wi > 0 möglichst günstig zu bearbeiten. Die Kosten wi entstehen für jeden Zeitpunkt, zu welchem P der Auftrag i noch nicht begonnen wurde. Wenn ti die Startzeit von Job i bezeichnet, ist demzufolge w i ti zu minimieren. Zeigen Sie, dass die Greedy-Algorithmen a) und b) keine Gütegarantien besitzen, Greedy-Algorithmus c) jedoch stets die Optimallösung findet. a) Starte die Jobs nichtaufsteigend nach wi . b) Starte die Jobs nichtabsteigend nach pi . c) Starte die Jobs nichtabsteigend nach pi wi . Aufgabe D Betrachten Sie das Parallel-Shop-Problem: n Jobs T1 , . . . , Tn mit Bearbeitungszeiten t1 , . . . , tn sind auf m Maschinen M1 , . . . , Mm zu verteilen, sodass die späteste Fertigstellungszeit minimiert wird. Betrachten Sie den folgenden Algorithmus: Für ein vorgegebenes natürliches k werde das Problem für die k längsten Jobs exakt gelöst, dann die verbleibenden Jobs mit dem List-Algorithmus platziert (nächsten Job stets auf erste frei werdende Maschine platzieren). Der Algorithmus besitzt eine Worst-Case-Schranke von 1+ m−1 . k a) Zeigen Sie, dass die Laufzeit des Algorithmus polynomiell in der Eingabelänge (in n und m) ist. b) Wie muss k in Abhängigkeit von m und > 0 gesetzt werden, damit der Algorithmus ein polynomiales Approximationsschema (PAS) für jede feste Anzahl von Maschinen ist. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 1. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 27.10.2014 Aufgabe A Die beiden folgenden Probleme sind NP-vollständig: a) SUBSET-SUM: Gegeben natürliche Zahlen a1 , a2 , . . . , an und eine Zahl b. Gibt es eine Teilmenge von {a1 , . . . , an } mit Summe gleich b? b) 3-DIMENSIONAL-MATCHING: Gegeben drei paarweise disjunkte n-elementige Mengen X, Y, Z und eine Menge T ⊆ X × Y × Z von geordneten Tripeln. Gibt es eine Menge von n Tripeln, so dass jedes Element von X ∪ Y ∪ Z in genau einem dieser Tripel vorkommt? Weisen Sie durch geeignete polynomiale Transformationen nach, dass auch die folgenden Probleme NPvollständig sind: 0 zu a) PARTITION: Gegeben P eine Menge P n ganzer Zahlen A = {a1 , . . . , an }. Gibt es eine Teilmenge A ⊆ A mit der Eigenschaft a∈A0 a = a∈A\A0 a ? zu b) SET-COVER: Gegeben eine n-elementige Menge U , ein System S1 , S2 , . . . , Sm von Teilmengen von U und eine Zahl k. Gibt es eine Auswahl von höchstens k Teilmengen Si , so dass ihre Vereinigung gleich U ist? Aufgabe B Die Heuristik Next-Fit verwaltet im Unterschied zu First-Fit aus Kapitel 10.3 immer nur eine aktive Kiste. Falls das aktuelle Objekt nicht hinein passt, wird diese Kiste dauerhaft geschlossen und eine neue geöffnet. Leiten Sie eine asymptotische Gütegarantie von Next-Fit her und beweisen Sie mithilfe eines Beispiels, dass diese nicht verbessert werden kann.