Effiziente Algorithmen II - IWR Heidelberg

Werbung
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
11. Übungsblatt, WiSe 2014/15
Abgabetermin: 22.1.2015
Aufgabe 23 (4 Punkte)
Sei A eine n×m Matrix und b ein m-Vektor. Beweisen Sie direkt mit Hilfe von Fourier-Motzkin-Elimination:
Gilt für alle nicht-negativen m-Vektoren y mit y T A = 0 auch y T b ≥ 0, so existiert ein n-Vektor x mit Ax ≤ b.
Aufgabe 24 (6 Punkte)
Für alle natürlichen k sei das folgende Ungleichungssystem Ax ≤ b gegeben
−kx + y
kx + y
−y
≤ 0
≤ k
≤ 0,
dessen ganzzahlige Lösungen die Vektoren (0, 0)T und (1, 0)T sind. Zeigen Sie:
a) Die Ungleichungen
y
−x
x
≤ b k2 c
≤ 0
≤ 1
gehören zu e1 (A, b), nicht aber (für k ≥ 2) die Ungleichung y ≤ 0.
b) Die Ungleichung y ≤ 0 gehört zu cl(A, b). Konstruieren Sie eine geeignete Folge von Teilmengen der
elementaren Abschlüsse e1 (A, b), . . . , el (A, b), so dass {y ≤ 0} ∈ el (A, b).
Aufgabe 25 (12 Bonuspunkte, bis 26.01.)
- siehe Rückseite -
Aufgabe 25 (12 Bonuspunkte, bis 26.01.)
Gegeben sei ein Digraph D = (V, A). Das zugehörige Azyklische-Subdigraphen-Polytop PAC (D) ist definiert
als
PAC (D) = conv({χB | B ⊆ A ist azyklisch}).
a) Zeigen Sie: Die Kreisungleichung
Kreis C ⊆ A der Länge k ≥ 2.
P
a∈C
xa ≤ k − 1 definiert eine Facette von PAC (D) für jeden
b) Schreiben Sie ein Programm in C/C++, das alle Ecken der Polytope PAC (Dn ) generiert, wobei Dn
den vollständigen Digraphen mit n Knoten bezeichnet.
c) Verwenden Sie anschließend das Programm PANDA1) , um die kompletten äußeren Beschreibungen
von PAC (Dn ) für 3 ≤ n ≤ 5 zu bestimmen. Welche Facettenklassen besitzen diese Polytope? Ist die
Berechnung für n = 6 noch möglich?
Hinweise zu PANDA:
a) Verwenden Sie in den Input-Dateien für PANDA die MAPS-Funktion, um den Rechenaufwand zu
reduzieren und die Ausgabe zu vereinfachen. Beispiel für 3 Knoten und Kantenvariablen xij :
NAMES
x12 x13 x21 x23 x31 x32
MAPS
x23 x21 x32 x31 x12 x13
x21 x23 x12 x13 x32 x31
b) Verwenden Sie lexikographisch abwärts sortierten Input (PANDA-Parameter -s lex desc). Dies beschleunigt die Berechnung erheblich.
Hinweise zur Abgabe von Aufgabe 25:
Teil a) geben Sie bitte in der Übungsstunde oder Vorlesung ab. Senden Sie für Teil b) und c) ein Abgabearchiv
per E-Mail an Stefan Wiesberg ([email protected]). Dieses enthält Ihren gut kommentierten Code
aus Teil b), eine kurze Bedienungsanleitung (Kompilierung, Verwendung), die in Teil c) berechneten äußeren
Beschreibungen, sowie die Beantwortung der Fragen aus Teil c).
1) http://www.iwr.uni-heidelberg.de/groups/comopt/software/PANDA/
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
10. Übungsblatt, WiSe 2014/15
Abgabetermin: 15.1.2015
Aufgabe 21 (6 Punkte)
Betrachten Sie für alle n = 2k + 1 mit k ∈ N+ das ganzzahlige Programm
min xn+1
2x1 + 2x2 + . . . + 2xn + xn+1 = n
xi ∈ {0, 1}.
Zeigen Sie, dass jeder Branch-and-Bound Algorithmus, der LP-Relaxierungen verwendet, exponentiell viele
Unterprobleme in n generiert.
Aufgabe 22 (6 Punkte)
Lösen Sie die folgende Instanz des 0/1-Knapsack-Problems mithilfe des Algorithmus von Dakin:
max
16x1 + 19x2 + 23x3 + 28x4
2x1 + 3x2 + 4x3 + 5x4 ≤ 7
0 ≤ xi ≤ 1
xi ∈ Z.
Beachten Sie Übungsblatt 9, das am 18.12. ausgegeben wurde!
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
9. Übungsblatt, WiSe 2014/15
Abgabetermin: 8.1.2015
Aufgabe 19 (6 Punkte)
Gegeben ist das folgende ganzzahlige lineare Programm:
max
2x1
x1
−x1
6x1
+
+
+
+
x2
x2
x2
2x2
xi
xi
≤ 5,
≤ 0,
≤ 21,
≥ 0,
∈ Z.
a) Lösen Sie das ganzzahlige Programm sowie die zugehörige LP-Relaxierung graphisch.
b) Geben Sie alle ableitbaren Gomory-Schnitte (h = 1) an, indem Sie die Nebenbedingungen zunächst
auf die Form Ax = b, x ≥ 0 bringen, dann eine Basis-Nichtbasis-Aufteilung im optimalen Punkt der
LP-Relaxierung bestimmen.
c) Stellen Sie die Gomory-Schnitte graphisch dar.
Aufgabe 20 (6 Punkte)
Eine Matrix A heißt total unimodular, wenn die Determinante jeder quadratischen Untermatrix von A einen
Wert aus {−1, 0, 1} hat. Seien b und c ganzzahlige Vektoren und A eine total unimodulare Matrix.
a) Das Polyeder {x | Ax = b, x ≥ 0} hat nur ganzzahlige Ecken. (Tipp: Wenden Sie die cramersche Regel
auf AB an.)
b) Das Polyeder {x | Ax ≤ b, 0 ≤ x ≤ c} hat nur ganzzahlige Ecken. (Tipp: Zurückführung auf a).)
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
8. Übungsblatt, WiSe 2014/15
Abgabetermin: 18.12.2014
Aufgabe 17 (6 Punkte)
Bei der Berechnung des Produkts A1 A2 · · · An mehrerer Matrizen beeinflusst die Reihenfolge der Abarbeitung
den Aufwand. Ai sei dabei eine Matrix mit li Zeilen und li+1 Spalten. Beispiel: l1 = 4, l2 = 6, l3 = 10, l4 = 4.
(A1 A2 )A3 erfordert 4 · 6 · 10 + 4 · 10 · 4 = 400 Multiplikationen, A1 (A2 A3 ) dagegen nur 6 · 10 · 4 + 4 · 6 · 4 = 336.
a) Zeigen Sie, dass die Anzahl der möglichen Klammerungen überpolynomial in n wächst.
b) Formulieren Sie einen Algorithmus, der eine Reihenfolge der Matrizen mit minimaler Anzahl von
Multiplikationen bestimmt und der dynamische Programmierung verwendet.
Aufgabe 18 (4 Punkte)
Bestimmen Sie eine optimale Angleichung der Wörter EQUAL und QUART. Die Strafkosten sind
• 2 für eine Lücke,
• 1 für die Zuordnung unterschiedlicher Vokale oder unterschiedlicher Konsonanten,
• 3 für die Zuordnung von Vokalen zu Konsonanten.
Geben Sie den Graphen GXY explizit an.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
7. Übungsblatt, WiSe 2014/15
Abgabetermin: 11.12.2014
Aufgabe 15 (4 Punkte)
Beim Job-Zuordnungsproblem sind n Jobs von m Maschinen zu bearbeiten. Jedem Job i ist eine Bearbeitungszeit ti ∈ R+ zugeordnet sowie die Teilmenge der Maschinen, auf welchen er bearbeitet werden kann.
Jeder Job darf beliebig in Teiljobs unterteilt werden, welche beliebig auf die geeigneten Maschinen verteilt
werden können. Dabei können insbesondere auch mehrere Maschinen gleichzeitig an Teiljobs desselben Jobs
arbeiten. Zu finden ist ein Produktionsplan, welcher die späteste Fertigstellungszeit minimiert.
a) Formulieren Sie das Job-Zuordnungsproblem als lineares Programm.
b) Formulieren Sie eine Lagrange-Funktion f (λ) für das Programm. Relaxieren Sie dabei diejenigen Ungleichungen, welche fordern, dass jeder Job komplett bearbeitet werden muss. Die Definition der
Lagrange-Funktion eines linearen Programms ergibt sich aus Definition 12.5 durch Vernachlässigung
der Bedingung x ganzzahlig“.
”
Aufgabe 16 (4 Punkte)
Das Target-Visitation-Problem (TVP) ist eine Kombination aus Linear-Ordering-Problem und asymmetrischem Traveling-Salesman-Problem. Es ist wie folgt definiert:
Gegeben sei der vollständige Digraph Kn = (Vn , An ) auf n Knoten mit Kantengewichten dij > 0 (Distanzen)
und pij ≥ 0 (Präferenzen) für alle 1 ≤ i, j ≤ n, i 6= j. Eine TVP-Tour ist ein gerichteter Hamiltonscher
Kreis, der an Knoten 1 beginnt. Der Wert einer solchen Tour T ergibt sich als LOP(T ) − ATSP(T ), wobei
• LOP(T ) die Summe aller Präferenzen pij für Knotenpaare i, j ∈ {1, . . . , n} ist, so dass i früher als j
besucht wird (dabei wird angenommen, dass Knoten 1 als erster und nicht als letzter besucht wird),
• ATSP(T ) die Summe der Distanzen dij für Tourkanten ist.
Gesucht ist eine TVP-Tour mit maximalem Wert.
a) Formulieren Sie das Target-Visitation-Problem als ganzzahliges lineares Programm. Verwenden Sie
darin beide der folgenden Typen von Binärvariablen:
1,
0,
falls (i, j) in der TVP-Tour enthalten ist,
sonst.
1,
0,
falls i früher als j besucht wird,
sonst.
xij =
wij =
b) Nehmen Sie an, Ihnen stünden separate exakte Löser für das Linear-Ordering-Problem (maximiere
LOP über allen TVP-Touren) und das asymmetrische Traveling-Salesman-Problem (minimiere ATSP
über allen TVP-Touren) zur Verfügung. Entwerfen Sie ein Subgradienten-Verfahren, das die Löser
verwendet und eine Schranke für das TVP mittels Lagrange-Relaxierung berechnet.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
6. Übungsblatt, WiSe 2014/15
Abgabetermin: 4.12.2014
Aufgabe 13 (6 Punkte)
Das Graphische Traveling Salesman Problem (GTSP) besteht darin, in einem Graphen G = (V, E) mit
Kantengewichten ce ∈ Q+ , e ∈ E, einen geschlossenen Pfad
u0 , e0 , u1 , . . . , uk−1 , ek−1 , uk ,
wobei ej = uj uj+1 ∈ E und uk = u0 , zu finden, der alle Knoten besucht“, d.h. V = {u0 , . . . , uk−1 }, und
”
Pk−1
dessen Gewicht j=0 cej unter diesen Bedingungen minimal ist. (Kanten- und Knotenwiederholungen sind
erlaubt.)
a) Eine Relaxierung für das GTSP ist durch folgendes LP gegeben:
min
cT x
P
xij
≥
2
für alle U ⊂ V, ∅ =
6 U 6= V
≥
0
für alle ij ∈ E.
uv∈E:
u∈U,v ∈U
/
xij
Geben Sie ein Beispiel für einen Graphen, Kantengewichte c und eine ganzzahlige Optimallösung
x ∈ Zm dieses LPs an, so dass x keinen geschlossenen Pfad darstellt.
b) Transformieren Sie das GTSP auf das TSP.
Aufgabe 14 (6 Punkte)
Betrachten Sie das Knoten-Überdeckungsproblem aus Kapitel 11.4.
a) Formulieren Sie das Problem als ganzzahliges lineares Programm.
b) Wie schlecht kann das Verhältnis zwischen dem Optimum des ganzzahligen Programms und dem
Optimum seiner LP-Relaxierung höchstens sein?
c) Geben Sie ein Beispiel an, in welchem dieses Verhältnis beinahe angenommen wird.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
5. Übungsblatt, WiSe 2014/15
Abgabetermin: 27.11.2014
Aufgabe 11 (6 Punkte)
Formulieren Sie die folgenden Probleme als gemischt-ganzzahlige lineare Programme:
a) Gegeben ist ein Graph G = (V, E) mit Kantengewichten ce für alle e ∈ E. Zu bestimmen ist ein Baum
in G, der alle Knoten enthält und das kleinstmögliche Gesamtgewicht hat.
b) Gegeben seien n Jobs mit Ausführungszeiten p1 , . . . , pn , die auf einer Maschine in einer beliebigen
Reihenfolge ausgeführt werden sollen. Damit die Maschine den j-ten Job ausführen kann, muss sie im
Zustand Sj sein. Es sei tij = cij + pj die Zeit, die benötigt wird, um den Job j direkt nach Job i
ausführen zu können. Dabei ist cij die benötigte Zeit, um die Maschine von Zustand Si in Zustand Sj
zu bringen. Gesucht ist nun die Reihenfolge der Jobs mit Anfangs- und Endzustand S0 und geringstem
Zeitaufwand.
c) Gegeben sei ein Graph G = (V, E) mit Kantengewichten cuv für alle uv ∈ E. Den Knoten v ∈ V
sollen
P paarweise verschiedene Zahlen π(v) aus {1, . . . , |V |} zugeordnet werden, so dass die Zielfunktion uv∈E cuv |π(u) − π(v)| für gegebene Koeffizienten cuv minimiert wird.
Aufgabe 12 (4 Punkte)
Geben Sie das duale lineare Programm zu folgendem allgemeinen linearen Programm an.
max
s.t.
cT1 x + cT2 x2 + cT3 x3
A11 x1 + A12 x2 + A13 x3
A21 x1 + A22 x2 + A23 x3
A31 x1 + A32 x2 + A33 x3
x1
x2
≤
≥
=
≤
≥
a1
a2
a3
0
0
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
4. Übungsblatt, WiSe 2014/15
Abgabetermin: 20.11.2014
Aufgabe 9 (6 Punkte)
Beim Max-k-Cut-Problem ist ein Graph G = (V, E) mit KantengewichtenP
cuv ≥ 0 gegeben. Es soll nun
jedem Knoten v ∈ V eine Zahl P (v) ∈ {1, . . . , k} zugewiesen werden, sodass uv∈E,P (u)6=P (v) cuv maximiert
wird. Beweisen Sie eine möglichst gute Gütegarantie für die folgende Heuristik.
1. Sei Z = ∅ die Menge der bereits zugewiesenen Knoten.
2. Für jeden Knoten v ∈ V :
2.1 Weise v diejenige Zahl i P
∈ {1, . . . , k} zu, welche den aktuellen Zielfunktionswert am meisten
erhöht, d.h. i maximiert uv∈E,u∈A,i6=P (u) cuv . Gibt es mehrere solche Partitionen, wähle eine
davon zufällig aus. Setze Z = Z ∪ {v}.
3. Gib die Werte P (v) für alle v ∈ V zurück.
Aufgabe 10 (6 Punkte)
Gegeben sei ein n × n-Gittergraph G = (V, E) wie abgebildet. Die Knoten haben paarweise verschiedene
Gewichte wv ∈ N für alle v ∈ V . Gesucht ist eine stabile Menge S ⊂ V maximalen Gewichts. Betrachten Sie
den folgenden Greedy-Algorithmus:
1. Setze S = ∅.
2. Wiederhole, bis V leer ist:
2.1 Sei v der Knoten maximalen Gewichts in V . Füge v der Menge S hinzu. Lösche v und alle seine
Nachbarn aus V .
Beweisen Sie:
a) Sei S die Lösung des Greedy-Algorithmus und sei T eine beliebige stabile Menge in G. Für jedes v ∈ T
gilt entweder v ∈ S oder es gibt ein u ∈ S mit wv < wu und uv ∈ E.
b) Der Greedy-Algorithmus besitzt eine Worst-Case-Schranke von 14 .
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
3. Übungsblatt, WiSe 2014/15
Abgabetermin: 13.11.2014
Aufgabe 6 (4 Punkte)
Aus der Vorlesung kennen Sie die Heuristiken First-Fit und First-Fit-Decreasing für das Bin-PackingProblem. Entwerfen Sie die Heuristik Best-Fit, die für jeden Gegenstand eine Kiste wählt, welche die geringste
Restkapazität besitzt.
Weisen Sie nach, dass keine dieser drei Heuristiken den anderen grundsätzlich überlegen ist. Geben Sie hierfür
zu jedem Paar {Hi , Hj } von Heuristiken zwei Bin-Packing-Instanzen an, sodass Hi für die erste und Hj für
die zweite Instanz eine bessere Lösung findet.
Aufgabe 7 (4 Punkte)
Im Folgenden wird eine Heuristik zur näherungsweisen Lösung des Knoten-Überdeckungs-Problems ohne
Gewichte aus Kapitel 11.4 vorgestellt. Bestimmen Sie die Laufzeit und beweisen Sie, dass das Verfahren
1-approximativ ist.
Nimm beide Endknoten einer beliebigen Kante aus G in die Knotenmenge auf. Entferne anschließend
beide Knoten und alle zu den beiden Knoten inzidenten Kanten aus G. Wiederhole dieses Vorgehen
solange, bis G keine Kanten mehr enthält.
Aufgabe 8 (4 Punkte)
Das Approximationsschema von Sahni ist ein voll-polynomiales Approximationsschema (FPAS) für das
binäre Knapsack-Problem. Es basiert auf den folgenden Überlegungen:
• P
Ein binärer Vektor x = (x1 , . . . , xr ) heißt (zulässiges) Anfangsstück des 0/1-Knapsack Problems, falls
r
i=1 ai xi ≤ b erfüllt ist.
• Ein
Pn Anfangsstück
Pn y dominiert ein Anfangsstück z :⇐⇒ ∃yr+1 , . . . , yn : (y1 , . . . , yn ) ist zulässig und
c
y
≥
i
i
i=1
i=1 ci zi gilt für alle zulässigen Fortsetzungen (z1 , . . . , zn ) des Anfangsstückes z.
Pr
Pr
• Es seien y und zP
zulässige Anfangsstücke
mit
i=1 ci yi =
i=1 ci zi . Dann dominiert y das AnP
r
r
fangsstück z falls i=1 ai yi ≤ i=1 ai zi .
Das Verfahren besteht aus n + 1 Phasen.
In Phase i, i = 0, . . . , n − 1 wird jeweils eine Liste S(i) von zulässigen Anfangsstücken der Länge i bearbeitet
Pi
und daraus S(i+1) berechnet. Man definiert pi := max{ j=1 cj xj |x ∈ S(i)} und teilt [0, pi ] in Intervalle der
Größe pi ε/n auf. Der Zielfunktionswert zulässiger Anfangsstücke aus S(i), die im gleichen Intervall liegen,
wird als gleich betrachtet. Dann kann zu jedem Teilintervall ein Anfangsstück angegeben werden, das die
anderen dominiert. Die so bestimmten Anfangsstücke werden verlängert (um 0 und/oder 1) und in die Liste
S(i + 1) übernommen. In Phase n wird das beste Anfangsstück in S(n) als Lösung ermittelt.
a) Geben Sie eine exakte algorithmische Formulierung dieses Schemas an.
b) Zeigen Sie, dass die Laufzeit polynomial in der Inputlänge und in 1/ε ist.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
2. Übungsblatt, WiSe 2014/15
Abgabetermin: 6.11.2014
Aufgabe 4 (6 Punkte)
Betrachten Sie das Min-Openshop-Problem: Gegeben sind m Maschinen und n Jobs. Jeder Job Ji besteht
aus ni Teiljobs, welche in beliebiger Reihenfolge bearbeitet werden können. Jedoch dürfen keine zwei Teiljobs
eines Jobs gleichzeitig bearbeitet werden. Für jeden Teiljob existiert genau eine Maschine, auf welcher er in
bekannter Dauer bearbeitet werden kann. Zu minimieren ist die späteste Fertigstellungszeit.
Zeigen Sie, dass der folgende Greedy-Algorithmus die Gütegarantie 2 besitzt: Sobald eine Maschine unbeschäftigt ist und ein ausführbarer Teiljob existiert, starte ihn auf dieser Maschine.
Aufgabe 5 (6 Punkte)
Gegeben sei ein Parallel-Shop-Problem (m, n, t1 , . . . , tn ) mit Präzedenzendigraph D, wie in Kapitel 11.2 definiert. Jedem Job Ti wird nun aber wie folgt ein Gewicht wi zugeordnet: Für die Jobs Ti ohne Nachfolger in D
setze wi := ti , für die anderen Ti setze rekursiv wi := ti + max{wj | Tj ist direkter Nachfolger von Ti in D}.
Eine Greedy-Heuristik arbeite nach dem Prinzip: Ist eine Maschine nicht belegt, so weise ihr den Job unter
den verfügbaren Jobs mit dem größten Gewicht zu.
Geben Sie möglichst gute obere und, für den Spezialfall m = 2, untere Abschätzungen für die bestmögliche
Gütegarantie der Heuristik an.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
1. Übungsblatt, WiSe 2014/15
Abgabetermin: 30.10.2014
Aufgabe 1 (6 Punkte)
Jedes der folgenden Probleme ist NP-vollständig:
HAMILTON-PATH: Gegeben ein gerichteter Graph D = (V, A). Gibt es zwei Knoten s und t, so dass
es in D einen Hamilton’schen Weg von s nach t gibt?
VERTEX-COVER: Gegeben ein Graph G = (V, E) und eine positive Ganzzahl k. Gibt es ein V 0 ⊆ V
mit |V 0 | ≤ k, sodass jede Kante e ∈ E mit einem Knoten aus V 0 inzidiert?
SUBSET-SUM: Gegeben natürliche Zahlen w1 , w2 , . . . , wn und eine Zahl W . Gibt es eine Teilmenge
von {w1 , . . . , wn } mit Summe gleich W ?
Weisen Sie durch geeignete polynomiale Transformationen nach, dass auch die folgenden Probleme NPvollständig sind:
a) FEEDBACK-VERTEX-SET: Gegeben ein gerichteter Graph D = (V, A) und eine positive Ganzzahl k.
Gibt es ein V 0 ⊆ V mit |V 0 | ≤ k, so dass jeder gerichtete Kreis in D einen Knoten aus V 0 enthält?
b) HAMILTON-CYCLE: Gegeben ein gerichteter Graph D = (V, A). Enthält D einen Hamilton’schen
Kreis?
c) RELEASETIME-DEADLINE-SCHEDULING: Gegeben n Jobs mit Bearbeitungszeiten ti , spätesten
Fertigstellungszeiten di und Verfügbarkeitszeitpunkten ri , i = 1, . . . , n. Können die Jobs so auf einer
Maschine bearbeitet werden, dass alle Zeitvorgaben erfüllt werden? (Die Bearbeitung eines Jobs darf
nicht unterbrochen werden.)
Aufgabe 2 (4 Punkte)
Das Azyklische-Subdigraphen-Problem (ASP) ist auf Digraphen D = (V, A) mit nichtnegativen ganzzahligen
Kantengewichten wa für alle a ∈ A definiert. Gesucht ist eine Teilmenge der Kanten mit maximalem Gesamtgewicht, die keine gerichteten Kreise enthält. Zeigen Sie, dass der folgende Greedy-Algorithmus keine
Worst-Case-Schranke besitzt, d.h. beliebig schlechte Ergebnisse liefern kann.
1. Setze S = ∅.
2. Sortiere die Kanten a ∈ A nichtaufsteigend nach ihren Gewichten wa .
3. Für alle Kanten a ∈ A: Falls S ∪ {a} keinen gerichteten Kreis enthält, setze S = S ∪ {a}.
4. Gib S aus.
- Bitte wenden -
Aufgabe 3 (4 Punkte)
Gegeben sei ein Graph G = (V, E) mit Kantengewichten ci,j > 0 für jede Kante ij ∈ E und eine Teilmenge F ⊂ E. Das Rural Postman Problem ist die Suche nach dem kürzesten geschlossenen Kantenzug, der jede
Kante e ∈ F enthält. Im Kantenzug dürfen Kanten mehrfach vorkommen.
Führen Sie die Lösung des Rural Postman Problems auf die Lösung des Symmetrischen Traveling-SalesmanProblems (STSP) zurück, d. h. konstruieren Sie eine geeignete polynomiale Transformation vom Rural
Postman Problem auf das STSP.
Herunterladen