Prof. Dr. Anand Srivastav Dr. Volkmar Sauerland Übungen zur Vorlesung Algorithm Engineering im Sommer 2015 Serie 10 Abgabe: bis Montag, 6. Juli, per Mail an [email protected] Aufgabe 10.1 (6 Punkte) Ein kleiner Betrieb hatte sich auf die Fertigung von zwei speziellen Computertypen spezialisiert, Computer mit einer CPU (Ein-Prozessor-System) und Computer mit zwei CPU’s (ZweiProzessor-System). Von den Ein-Prozessor-Systemen konnten maximal 120 pro Woche hergestellt werden, von den Zwei-Prozessor-Systemen höchstens 70. In einer Woche konnten insgesamt höchstens 140 Computer hergestellt werden, wobei maximal 180 CPU’s (pro Woche) zur Verfügung standen. a) In welcher Weise musste produziert werden, damit der Gesamtgewinn maximal ist, wenn ein Ein-Prozessor-System einen Gewinn von 150 Euro und ein Zwei-Prozessor-System einen Gewinn von 450 Euro einbringt? Stellen Sie ein lineares Programm max cT x Ax ď b xě0 auf, das die eben genannte Optimierungsfrage modelliert (ggf. mit ganzzahligen Nebenbedingungen xi P Z) und lösen Sie es graphisch. b) Aus Absatzgründen änderte sich von einem Monat auf den anderen der Preis für ZweiProzessor-Systeme. Damit sank der Gewinn für Zwei-Prozessor-Systeme von 450 auf 150 Euro. Wie änderte sich hierdurch der maximal mögliche Gesamtgewinn des Betriebes? c) Man kann mehrere Ungleichungen aus Ax ď b jeweils skalieren und dann addieren, um neue Ungleichungen und damit ggf. auch obere Schranken für den maximal möglichen Gewinn herzuleiten. Finden Sie (z.B. durch Probieren) für Teil a) eine obere Schranke für den Optimalwert, die möglichst dicht an das in a) gefundene Optimum herankommt. Seite 1 von 2 Aufgabe 10.2 (6 Punkte) Eine Knotenüberdeckung in einem Graphen G “ pV, Eq ist eine Knotenmenge V 1 Ď V , die jede Kante des Graphen „sieht“, d.h. für jedes e P E gehört mindestens ein Knoten in e zu V 1 . Das Problem VertexCover hat als Eingabe einen Graphen und fragt nach einer Knotenüberdeckung minimaler Kardinalität. a) Formulieren Sie VertexCover als ganzzahliges lineares Programm. b) Es sei (P) das lineare Programm, welches aus a) durch Streichen der Ganzzahligkeitsbedingungen entsteht. Zeigen Sie: Wenn x˚ eine Optimallösung von (P) ist, so liefert kaufmännisches Runden von x˚ eine 2-Approximation; genauer: Der Vektor xR , der kompo nentenweise durch 1 x˚ ě 1{2 i xR “ i 0 x˚ ă 1{2 i definiert wird, hat einen höchstens doppelt so großen Zielfunktionswert wie x˚ . Aufgabe 10.3 (4 Punkte) Ein Paar H “ pV, Eq heißt Hypergraph, falls V eine Menge und E Ď PpV q eine Menge von Teilmengen von V ist. Die Elemente von E heißen Hyperkanten. Eine Überdeckung (Cover) eines Hypergraphen H “ pV, Eq ist eine Teilmenge C Ď E mit ⋃CPC C “ V . Das Problem SetCover hat als Eingabe einen Hypergraphen H “ pV, Eq sowie Gewichte c : E Ñ Rě0 für P die Hyperkanten und fragt nach einem Cover C, sodass cpCq “ CPC cpCq minimal ist. Bilden Sie das lineare Programm pP q zu SetCover. Seite 2 von 2