10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und...

84
18.06.22 Kapitel 1 1 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithme n Christian Scheideler SS 2009

Transcript of 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und...

Page 1: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 1 1

Methoden des Algorithmenentwurfs

Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen

Christian Scheideler

SS 2009

Page 2: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Übersicht

• Notation

• Arithmetisierung von Problemen

• Approximation durch Relaxion

• Die Ganzzahligkeitslücke

• Dualität

11.04.23 Kapitel 1 2

Page 3: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Zur Erinnerung:Ein kombinatorisches Optimierungs-problem ist charakterisiert durch vier Komponenten:– D: Menge der Eingaben– S(I) für ein ID: Menge der zur Eingabe I

zulässigen Lösungen– Die Bewertungsfunktion f:S(I) IN– ziel{min, max}

11.04.23 Kapitel 1 3

Page 4: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Lineares Optimierungsproblem:

• D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN

• S(I): Menge aller xIRn mit Ax b

• Bewertungsfunktion: f(x) = cTx• ziel{min, max}

11.04.23 Kapitel 1 4

Page 5: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Lineares Optimierungsproblem:

• D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN

• S(I): Menge aller xIRn mit Ax b

• Bewertungsfunktion: f(x) = cTx• ziel{min, max}

11.04.23 Kapitel 1 5

Deckt auch Ungleichungen der Form aTx und aTx = ab.

Page 6: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Lineares Optimierungsproblem:

• D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN

• S(I): Menge aller xIRn mit Ax b

• Bewertungsfunktion: f(x) = cTx• ziel{min, max}

11.04.23 Kapitel 1 6

aTx äquivalent zu -aTx - aTx = äquivalent zu aTx und -aTx -

Page 7: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Lineares Optimierungsproblem:

• D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN

• S(I): Menge aller xIRn mit Ax b

• Bewertungsfunktion: f(x) = cTx• ziel{min, max}

11.04.23 Kapitel 1 7

Ohne Beschränkung der Allgemeinheit (o.B.d.A.) auf IR+

n einschränkbar.

Page 8: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Lineares Optimierungsproblem:

• D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN

• S(I): Menge aller xIRn mit Ax b

• Bewertungsfunktion: f(x) = cTx• ziel{min, max}

11.04.23 Kapitel 1 8

Ersetze jedes xi durch xi+-xi

- mitxi

+,xi-IR+

n.

Page 9: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Lineares Optimierungsproblem:

• D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN

• S(I): Menge aller xIR+n mit Ax b

• Bewertungsfunktion: f(x) = cTx• ziel{min, max}

11.04.23 Kapitel 1 9

O.B.d.A. reicht ziel=max.

Page 10: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Lineares Optimierungsproblem:

• D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN

• S(I): Menge aller xIR+n mit Ax b

• Bewertungsfunktion: f(x) = cTx• ziel{min, max}

11.04.23 Kapitel 1 10

ziel=min: ersetze c durch -c

Page 11: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Lineares Optimierungsproblem (kanonische

Form):

• D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN

• S(I): Menge aller xIR+n mit Ax b

• Bewertungsfunktion: f(x) = cTx• ziel=max

11.04.23 Kapitel 1 11

Page 12: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Lineares Optimierungsproblem (kanonische

Form, vereinfachend formuliert):

• Maximiere cTx unter der Bedingung, dassAx b und xIR+

n

11.04.23 Kapitel 1 12

Page 13: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Beispiel:min 3x1+5x2 unter der Bedingung, dass(1) 2x1+ x2 3(2) 2x1+2x2 5(3) x1+4x2 4(4) x1 0(5) x2 0

Jeder Vektor x=(x1,x2), der (1)-(5) erfüllt, heißt zulässige Lösung.

11.04.23 Kapitel 1 13

Page 14: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Beispiel anschaulich:

11.04.23 Kapitel 1 14

1

1

2

2

(1)

(2)

(3)

(4)

(5)

Raum zulässiger Lösungen

OPT

Zielfunktion

Page 15: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Notation

Bemerkung:• Ein lineares Optimierungsproblem wird auch lineares

Programm (LP) genannt.• Seit 1979 (Khachiyan) ist bekannt, dass das Optimum

für ein lineares Programm (A,b,c) in Zeit poly. in der Speichergröße für (A,b,c) berechnet werden kann.

• Lineare Programme mit der Einschränkung auf ganzzahlige x heißen auch lineare ganzzahlige Programme (ILP: integer linear program).

• Optimierungsprobleme mit quadratischen Termen (d.h. Termen der Form xixj in der Zielfunktion oder den Restriktionen) heißen auch quadratische Programme.

11.04.23 Kapitel 1 15

Page 16: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Übersicht

• Notation

• Arithmetisierung von Problemen

• Approximation durch Relaxion

• Die Ganzzahligkeitslücke

• Dualität

11.04.23 Kapitel 1 16

Page 17: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von VC

Knotenüberdeckungsproblem (VC):Gegeben ein Graph G=(V,E), finde eine Teil-menge UV minimaler Größe, so dass für jede Kante mindestens ein Knoten in U ist.

Arithmetisierung:• xv{0,1}: ist 1 genau dann, wenn Knoten v in U ist• Jede Kante {v,w} hat Knoten in U

für jede Kante {v,w}E: xv+xw1• Minimiere Größe von U

minimiere v xv 11.04.23 Kapitel 1 17

Page 18: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von VC

Ergebnis:minimiere v xv unter der Bedingung, dass

• xv+xw1 für jede Kante {v,w} E

• 0xv1 für alle v (oder in kanonischer Form -xv0 und xv1) und xv ganzzahlig

11.04.23 Kapitel 1 18

Page 19: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Rucksack

Rucksack-Problem:• Gegeben sind n Objekte und ein Rucksack• Objekt i hat Wert pi>0 und wiegt voli>0• Der Rucksack kann max. Gesamtgewicht B tragen.Ziel: fülle Rucksack mit Objekten mit max. Gesamtwert

Arithmetisierung:• xi{0,1}: ist 1 genau dann, wenn Objekt i genommen• Erfülle maximales Gesamtgewicht B

i volixi B• Maximiere Wert der Objekte im Rucksack

maximiere i pixi

11.04.23 Kapitel 1 19

Page 20: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Rucksack

Ergebnis:maximiere i pixi unter der Bedingung, dass

• i volixi B

• 0xi1 für alle i und xi ganzzahlig

11.04.23 Kapitel 1 20

Page 21: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung der Knotenfärbung

Knotenfärbung:Gegeben ein Graph G=(V,E), finde eine Knotenfärbung mit minimaler Anzahl Farben

Arithmetisierung:• xv,c{0,1} für vV und c{1,…,(G)+1}: xv,c=1 genau dann, wenn

Knoten v gefärbt mit Farbe c (warum reicht der Wertebereich für c?)

• Genau eine Farbe pro Konten für alle vV: c xv,c= 1

• Keine zwei adjazenten Knoten gleicher Farbe für alle {v,w}E und alle c: xv,c+xw,c 1

• f: Anzahl benutzter Farben für alle vV: c cxv,c f

• Minimiere Anzahl benutzter Farben minimiere f

11.04.23 Kapitel 1 21

Page 22: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung der Knotenfärbung

Ergebnis:minimiere f unter der Bedingung, dass

• c xv,c= 1 für alle vV• xv,c+xw,c 1 für alle {v,w}E und c{1,…,(G)

+1}• c cxv,c f für alle vV• f0• 0xv,c1 für alle vV und c{1,…,(G)+1}

und xv,c ganzzahlig11.04.23 Kapitel 1 22

Page 23: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Max-SAT

Beispiel 1: Max-SAT.• Boolesche Variable: x{false, true}• Boolesche Formel: rekursiv definiert über

– Jede Boolesche Variable ist eine Boolesche Formel

– Sind , Boolesche Formeln, dann auch (Negation), (logisches „und“) und (logisches „oder“)

• Beispiel für Boolesche Formel: (x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3)

11.04.23 Kapitel 1 23

Page 24: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Max-SAT

Auswertungsregeln: =true genau dann, wenn =false• =true genau dann, wenn =true und =true• =true genau dann, wenn =true oder =true

• ist in konjunktiver Normalform (KNF):Form =C1C2…Cm mit Klauseln Ci=v1…vk, wobei jedes vi eine Boolesche Variable oder ihre Negation repräsentiert

• Beispiel:(x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3)

11.04.23 Kapitel 1 24

Page 25: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Max-SAT

Max-SAT Problem: Für eine gegebene Formel in KNF, finde eine Belegung für ihre Booleschen Variablen, die die Anzahl der erfüllten Klauseln (d.h. Ci=true) maximiert.

Bemerkung:

• Das Max-SAT Problem ist NP-hart.

• Max-SAT lässt sich einfach als lineares ganzzahliges Programm ausdrücken.

11.04.23 Kapitel 1 25

Page 26: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Max-SAT

Arithmetisierung von Max-SAT:

• xi{false, true} yi{0,1}

xi 1-yi

• Ci=(x1x2x3) Di=y1+(1-y2)+y3

• Ci{false, true} zi{0,1}

• Maximiere Anzahl erfüllter Klauseln maximiere i zi mit ziDi für alle i

11.04.23 Kapitel 1 26

Page 27: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Max-SAT

Beispiel:(x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3)

Lineares ganzzahliges Programm P() zu :max i zi unter der Bedingung, dass

• z1 (1-y1)• z2 y1+(1-y2)+y3

• z3 y1+(1-y3)• z4 y2+y3

• für alle i: 0zi1 und 0yi1 und zi,yi ganzzahlig11.04.23 Kapitel 1 27

Page 28: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Max-SAT

Äquivalenz der Arithmetisierung:Zeige, dass OPT() = OPT(P())

Beweisstrategie:• Tansformiere (optimale) Lösung für in eine

zulässige Lösung für P() mit demselben Wert (dazu können Ersetzungsregeln von Folie 26 verwendet werden)

• Transformiere (optimale) Lösung für P() in eine zulässige Lösung für mit demselben Wert

11.04.23 Kapitel 1 28

Page 29: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Max-SAT

Verhältnis ILP zu LP:

ILP P() zu :max i zi unter der Bedingung, dass

• z1 (1-y1)• z2 y1+(1-y2)+y3

• z3 y1+(1-y3)• z4 y2+y3

• für alle i: 0zi1 und 0yi1 und zi,yi ganzzahlig

11.04.23 Kapitel 1 29

Streichen wir „ganzzahlig“, so erhalten wir ein LP P´() zu .

Page 30: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Arithmetisierung von Max-SAT

Verhältnis ILP zu LP:

ILP P() zu :max i zi unter der Bedingung, dass

• z1 (1-y1)• z2 y1+(1-y2)+y3

• z3 y1+(1-y3)• z4 y2+y3

• für alle i: 0zi1 und 0yi1 und zi,yi ganzzahlig

11.04.23 Kapitel 1 30

Da Raum zulässiger Lösungen größer wird, gilt OPT(P´()) OPT(P()). Daswird später noch nützlich sein.

Page 31: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Übersicht

• Notation

• Arithmetisierung von Problemen

• Approximation durch Relaxion

• Die Ganzzahligkeitslücke

• Dualität

11.04.23 Kapitel 1 31

Page 32: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Approximation durch RelaxionAlle vorigen Probleme sind NP-hart. Mit Hilfe der Arithmetisierung

lassen sich aber oft effiziente Approximationsalgorithmen finden.

Approximationsalgo A für Maximierungsproblem:• Formuliere Instanz I als ILP X.

(Stelle dabei sicher, dass OPT(I)=OPT(X) .)• Lass die Ganzzahligkeitsbedingung fallen (Relaxierung), so dass

man ein in Polynomialzeit lösbares LP Xrel bekommt.Es gilt OPT(X) OPT(Xrel) (Superoptimalität)

• Löse Xrel und runde geschickt die reelle Lösung zu einer zulässigen ganzzahligen Lösung von I.

Zu zeigen: A(I) (1/)OPT(Xrel) für ein (möglichst kleines) . Dann gilt wegen der Superoptimalität auch, dass A(I) (1/)OPT(I).

11.04.23 Kapitel 1 32

Page 33: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Approximation durch Relaxion

Max-SAT Problem: betrachte Eingabe(x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3)

ILP X() zu :max i zi unter der Bedingung, dass

• z1 (1-y1)• z2 y1+(1-y2)+y3

• z3 y1+(1-y3)• z4 y2+y3

• für alle i: 0zi1 und 0yi1 und zi,yi ganzzahlig11.04.23 Kapitel 1 33

Page 34: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Approximation durch Relaxion

Max-SAT Problem: betrachte Eingabe(x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3)

LP Xrel() zu :max i z´i unter der Bedingung, dass

• z´1 (1-y´1)• z´2 y´1+(1-y´2)+y´3

• z´3 y´1+(1-y´3)• z´4 y´2+y´3

• für alle i: 0z´i1 und 0y´i111.04.23 Kapitel 1 34

Page 35: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Approximation durch Relaxion

Naive Rundungsstrategie:for i:=1 to 5 do if y´i ½ then yi:=1 else yi:=0wähle maximale zulässige zi-Werte für die yi-Werte

• Diese Rundungsstrategie ergibt eine zulässige Lösung, kann aber beliebig schlecht sein. (Betrachte Klauseln mit jeweils drei Variablen, die alle unnegiert sind. Dafür wird eine optimale Anzahl erfüllter Klauseln mit y´i=1/3 für alle i erreicht.)

• Bessere Strategie: randomisiertes Runden (setze yi=1 mit Wahrscheinlichkeit y´i), was eine erwartet kon-stante Güte erreicht (aber hier nicht behandelt wird)

11.04.23 Kapitel 1 35

Page 36: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Approximation durch Relaxion

Knotenüberdeckungsproblem (VC):Gegeben ein Graph G=(V,E), finde eine Teil-menge UV minimaler Größe, so dass für jede Kante mindestens ein Knoten in U ist.

ILP X(G) zu VC:minimiere v xv unter der Bedingung, dass

• xv+xw1 für jede Kante {v,w} E

• 0xv1 für alle i und xi ganzzahlig11.04.23 Kapitel 1 36

Page 37: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Approximation durch Relaxion

Knotenüberdeckungsproblem (VC):Gegeben ein Graph G=(V,E), finde eine Teil-menge UV minimaler Größe, so dass für jede Kante mindestens ein Knoten in U ist.

LP Xrel(G) zu VC:minimiere v x´v unter der Bedingung, dass

• x´v+x´w1 für jede Kante {v,w} E

• 0x´v1 für alle v11.04.23 Kapitel 1 37

Page 38: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Approximation durch Relaxion

Rundungsstrategie:forall vV do if x´v ½ then xv:=1 else xv:=0wähle maximale zulässige zi-Werte für die yi-Werte

• Diese Rundungsstrategie ergibt eine zulässige Lösung, da x´v+x´w1 für jede Kante {v,w} E und damit entweder x´v ½ oder x´w½ sein muss, so dass entweder xv 1 oder xw 1 ist.

• Weiterhin gilt v xv 2 v x´v , so dass mit der Superoptimalität des LPs folgt, dass A(G) 2OPT(G), also die relative Güte höchstens 2 ist.

11.04.23 Kapitel 1 38

Page 39: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 12 39

Approximation durch Relaxion

Allgemeines Job Scheduling Problem: • Menge M von m Maschinen, Menge J von n Jobs• Job j muss in einem Stück auf einer der autorisierten

Maschinen in MjM ablaufen• Job j hat Bearbeitungszeit tj

• Jede Maschine kann höchstens einen Job gleichzeitig bearbeiten

Erinnerung:• Last von Maschine i: Li = jJ(i) tj

• Makespan L = maxi Li

Aufgabe: finde Jobzuweisung, die Makespan minimiert

Page 40: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 12 40

Approximation durch Relaxion

Sei xI,j Zeit, die Maschine i mit Job j zubringt.

ILP X: min L s. d. i xi,j = tj für alle jJ j xi,j L für alle iM xi,j{0,tj} für alle jJ und iMj

xi,j = 0 für alle jJ und iMj

LP Xrel: min L s. d. i xi,j = tj für alle jJ j xi,j L für alle iM xi,j 0 für alle jJ und iMj

xi,j = 0 für alle jJ und iMj

Page 41: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 12 41

Approximation durch Relaxion

5.1 Lemma: Sei L der optimale Wert des LPs. Dann gilt für den optimalen Makespan L*, dass L*L.

Beweis: LP hat weniger Einschränkungen als ILP

5.2 Lemma: Der optimale Makespan erfüllt L*maxj tj.

Beweis: siehe Einführung

Page 42: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 12 42

Approximation durch Relaxion

Interpretiere LP-Lösung x als bipartiten Graph G(x):• Jobs und Maschinen sind Knoten in G(x)• Job j und Maschine i besitzen eine Kante {i,j} wenn xi,j>0

Maschine

Job

Page 43: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 12 43

Approximation durch Relaxion

5.3 Lemma: Sei x eine beliebige Lösung des LPs. Dann ist x transformierbar in ein x’ gleicher Güte, so dass G(x’) azyklisch ist.

Beweis: Übung

Page 44: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 12 44

Approximation durch Relaxion

Annahme: G(x) ist azyklisch.Zeichne G(x) von einer beliebigen Maschine r aus.

• Falls Job j ein Blatt ist, weise j seinem Vater zu.• Sonse weise Job j einem seiner Kinder zu.

Maschine

Job

Page 45: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 12 45

Approximation durch Relaxion

5.4 Lemma: Falls Job j ein Blatt ist und Maschine i der Vater von j, dann xi,j=tj.

Beweis: Da j ein Blatt ist, ist xi,j=0 für alle anderen Maschinen

5.5 Lemma: Höchstens ein innerer Knoten j wird einer Maschine zugewiesen.

Beweis: Rundungsregel; G(x) ist azyklisch.

Page 46: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 12 46

Approximation durch Relaxion

5.6 Satz: Die ILP-Rundung ergibt eine 2-Approximation.Beweis:• Sei J(i) die Menge der Jobs, die Maschine i zugewiesen

werden und L die optimale Lösung des LPs.• Nach den Lemmas besteht die Last Li von Maschine i

aus zwei Komponenten:– Blättern:

jJ(i), j Blatt tj = jJ(i), j Blatt xi,j jJ(i) xi,j L L*– Vätern:

tparent(i) L*

• Also ist die Gesamtlast Li2L* für alle i.

Page 47: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Übersicht

• Notation

• Arithmetisierung von Problemen

• Approximation durch Relaxion

• Die Ganzzahligkeitslücke

• Dualität

11.04.23 Kapitel 1 47

Page 48: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Die Ganzzahligkeitslücke

Wir fragen uns, wieviel Genauigkeit man durch die Relaxierung verliert.

5.7 Definition: Sei ein kombinatorisches Optimierungsproblem. Für die Instanz ID sei X ein äquivalentes ILP und sei Xrel das relaxierte Programm zu X. Dann ist OPT(Xrel) OPT(X)die Ganzzahligkeitslücke der Relaxierung.

11.04.23 Kapitel 1 48

= sup ID

Page 49: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Die Ganzzahligkeitslücke

Max-SAT:• Betrachte die Boolesche Formel

=(x1x2)(x1x2)(x1x2)(x1x2)• Es ist offensichtlich OPT()=3.• Eine optimale Lösung des relaxierten Programms

Xrel ist dagegen OPT(Xrel)=4 (wähle y´i=1/2 für alle i).

• Also ist 4/3 für Max-SAT.• Für Max-2SAT (alle Klauseln enthalten exakt 2

Variablen) ist 4/3 scharf, da es (über die Analyse eines Approximationsalgo A für Max-2SAT) auch bekannt ist, dass 4/3.

11.04.23 Kapitel 1 49

Page 50: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Die Ganzzahligkeitslücke

Knotenüberdeckungsproblem (VC):• Sei G der vollständige Graph auf n Knoten.• Es gilt OPT(G) = n-1, da jedes Knotenpaar

abgedeckt sein muss.• Eine optimale Lösung des relaxierten Programms

Xrel ergibt aber OPT(Xrel)=n/2 (wähle x´v=1/2 für alle v).

• Also ist (n-1)/(n/2) = 2-1/n.• Das ist nahezu scharf, da wir über unsere Analyse

des Approximationsalgo A für VC wissen, dass 2.

11.04.23 Kapitel 1 50

Page 51: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Die Ganzzahligkeitslücke

Set Cover Problem:Gegeben eine Sammlung S={S1,…,Sm} von Teilmengen von V (d.h. i Si = V), finde eine minimale Sammlung ScovS, so dass SScov S = V ist.

• Das Set Cover Problem ist NP-hart.• Das ILP zu Set Cover ist eine

Verallgemeinerung des ILPs zu VC.

11.04.23 Kapitel 1 51

Page 52: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Die Ganzzahligkeitslücke

ILP X zu Set Cover:minimiere i xi unter der Bedingung, dass

• i:vSi xi 1 für alle vV

• 0xi1 für alle i{1,…,m} und xi ganzzahlig

LP Xrel:minimiere i x´i unter der Bedingung, dass

• i:vSi x´i 1 für alle vV

• 0x´i1 für alle i{1,…,m}11.04.23 Kapitel 1 52

Page 53: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Die Ganzzahligkeitslücke

5.8 Satz: Für die Ganzzahligkeitslücke gilt ½ log n.

Beweis:• Da nicht konstant ist, müssen wir eine

undendliche Familie von Instanzen konstruieren.• Sei kIN und V={ u | u{0,1}k, u0k}• Also ist n=|V|=2k-1• Für jedes b{0,1}k, b0k, sei

Sb = { u | i=1..k(uibi)=1 } : exklusiv oder

11.04.23 Kapitel 1 53

Page 54: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Die Ganzzahligkeitslücke

• Sei GF[2] der Galois-Körper über {0,1} mit den Operationen als Multiplikation und als Addition.

• Über GF[2] können wir auch Sb={ u | ub=1 } schreiben.

• Unsere Instanz: S={ Sb | b{0,1}k, b0k }. Also ist m=n=2k-1.

• |Sb|=2k-1 = (n+1)/2 und jedes Element kommt genau in (n+1)/2 Gruppen vor (Warum?).

• Deswegen ist x´i=2/(n+1) für alle i{1,…,n} eine zulässige Lösung von Xrel.

• Sie liefert den Wert 2n/(n+1), also OPT(Xrel) 2n/(n+1)

11.04.23 Kapitel 1 54

Page 55: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Die Ganzzahligkeitslücke

• Sei l<k und betrachte beliebige Auswahl X={Sb(1),…,Sb(l)} von l Gruppen.

• Sei M die (lk)-Matrix, die aus den Zeilen b(1),…,b(l) besteht.

• Das Gleichungssystem Mu=0 hat über GF[2] mindestens eine von der 0-Folge verschiedene Lösung u.

• Also ist uV(X) und X keine Überdeckung.• Damit enthält jede Überdeckung mindestens k

Mengen, also OPT(S) = OPT(X) k = log(n+1).• Für die Ganzzahligkeitslücke gilt also:

OPT(X)/OPT(Xrel) ½ log n.11.04.23 Kapitel 1 55

Page 56: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Übersicht

• Notation

• Arithmetisierung von Problemen

• Approximation durch Relaxion

• Die Ganzzahligkeitslücke

• Dualität

11.04.23 Kapitel 1 56

Page 57: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

• Bei unserem bisherigen Ansatz für ILPs musste zuerst mit recht großer Laufzeit das relaxierte LP gelöst werden.

• Wir untersuchen nun, wie man zu einer guten Approximation mittels des LP kommt, ohne es explizit lösen zu müssen.

• Dazu benötigen wir vertiefende Begriffe rund um die Dualität.

11.04.23 Kapitel 1 57

Page 58: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

Betrachte das folgende LP:minimiere f(x)=x1+3x2+x3

gemäß 2x1 + x2 3 -x1 + x3 4 x1, x2, x3 0

Optimale Lösung:x1=3/2, x2=0, x3=11/2mit Zielfunktionswert f(x)=7

11.04.23 Kapitel 1 58

Page 59: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

Allgemein und kompakt schreibt man:minimiere f(x)=cTxgemäß Ax b

x 0• Vektor x, der erfüllt: zulässige Lösung• Für jedes y mit yi0 für alle i und jede

zulässige Lösung x gilt yTAx yTb• rowi[A]: ite Zeile der Matrix A• rowi[A]x bi: ite Nebenbedingung des LPs

11.04.23 Kapitel 1 59

Page 60: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

• Werden nun yj-Werte gewählt, so dass yTA cT ist, dann gilt für alle zulässigen Lösungen x:

f(x) = cTx yTAx yTb• D.h. yTb ist eine untere Schranke für den

Wert der optimalen Lösung.• In unserem Beispiel ergibt die Forderung

yTA cT die drei Bedingungen2y1 – y2 1 y1 3 y2 1

11.04.23 Kapitel 1 60

Page 61: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

• Wir können z.B. y1=0 und y2=1 wählen und erhalten dann, dass jede zulässige Lösung x mindestens den Wert 4 hat.

• Mit y1=1 und y2=1 bekommen wir sogar eine exakte untere Schranke von 7.

• Um also eine möglichst große untere Schranke zu erhalten, müssen wir das folgende Maximierungs-problem lösen:

maximiere g(y) = 3y1+4y2

gemäß 2y1 - y2 1 y1 3 y2 1 y1, y2 0

11.04.23 Kapitel 1 61

Page 62: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

• Dieses lineare Programm heißt Dual des ursprünglichen LPs, das Primal genannt wird.

• Allgemein erhalten wir also:Primal Dual

minimiere f(x)=cTx maximiere g(x)=bTygemäß Ax b gemäß ATy c

x 0 y 0

11.04.23 Kapitel 1 62

Page 63: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

Hier bietet es sich an, an der Tafel zu einigen in diesem Kapitel vorgestellten LPs das duale Problem zu formulieren…

11.04.23 Kapitel 1 63

Page 64: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

• Wir wissen bereits, dass für alle zulässigen Lösungen x des Primals und y des Duals gilt: g(y) f(x).

• Diese Beziehung wird auch schwache Dualität genannt.

• Der folgende Satz besagt, dass die optimalen Werte immer übereinstimmen.

5.9 Satz: (Dualitätssatz) Seien xopt und yopt optimale Lösungen des Primals bzw. Duals. Dann ist f(xopt) = g(yopt).

11.04.23 Kapitel 1 64

Page 65: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

• Um das Dual algorithmisch ausnutzen zu können, brauchen wir einige weitere Erkenntnisse.

• Sei pj=rowj[A]x – bj das, was zu viel ist, damit die jte Bedingung des Primals scharf wird.

• pj wird primaler Schlupf genannt• Ähnlich ist si=ci-rowi[AT]y das, was fehlt, um

die ite Nebenbedingung des Duals scharf zu machen.

• si wird dualer Schlupf genannt11.04.23 Kapitel 1 65

Page 66: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

Betrachten wir nochmal unser Beispiel:• Erste Nebenbedingung: x1+x2-3 0.• Also gilt wegen y10 auch y1(x1+x2-3) 0• Allgemein: yj pj = yj (rowj[A]x – bj) 0• Ebenso: sixi= (ci-rowi[AT]y) xi 0• Interessanterweise gilt der folgende Satz:

5.10 Satz: (Satz vom komplementären Schlupf) Seien x und y zulässige Lösungen des Primals und Duals. Dann sind x und y genau dann optimale Lösungen, wenn yj(rowj[A]x – bj) = 0 und (ci-rowi[AT]y) xi = 0 für alle i und j. Alternativ: yj > 0 rowj[A]x = bj (a) xi > 0 rowi[AT]y = ci (b)

11.04.23 Kapitel 1 66

Page 67: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

Wir wollen jetzt zeigen, wie die Dualität für den Algorithmenentwurf und die –analyse verwendet werden kann.

5.11 Satz: Sei ein Minimierungsproblem, I eine Instanz und X, Xrel und Yrel das ILP, relaxierte Primal und relaxierte Dual zu . Seien x und y beliebige zulässige Lösungen von X und Yrel. Dann gilt: g(y) OPT(Yrel) = OPT(Xrel) OPT(X) = OPT(I) f(x)

11.04.23 Kapitel 1 67

Page 68: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

• Die Beziehung in Satz 5.11 eignet sich auch hervorragend für Branch&Bound-Algorithmen, um abzuschätzen, in welchem Teil des Lösungsbaums Lösungen noch weiterverfolgt werden sollten.

• Im folgenden beschreiben wir zunächst abstrakt, wie man die Dualität einsetzt.

11.04.23 Kapitel 1 68

Page 69: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

Einsatz im Algorithmenentwurf: Dual Fitting• Es wird eine zulässige duale Lösung y für Yrel

bestimmt, die einige Nebenbedingungen des Duals scharf macht. Dabei wird nicht gefordert, dass y eine optimale Lösung ist.

• Aus y heraus wird mittels Satz 5.10 eine Lösung x für X konstruiert.

• Ist x ungültig, dann muss es für ein oder mehrere yj noch Potential zur Erhöhung geben.

• Das Ganze wird sooft wiederholt, bis x gültig ist. • Die Wahl von y bestimmt Lösungsqualität

erheblich.11.04.23 Kapitel 1 69

Page 70: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Dualität

Einsatz in Algorithmenanalyse:• Angenommen, der gegebene Algorithmus berech-

net eine zulässige Lösung des gegebenen ILPs.• Um die Lösungsqualität zu bestimmen, wird der

Algorithmus so erweitert, dass er gleichzeitig zur Berechnung der Ausgabe x eine zulässige Lösung y von Yrel konstruiert, die mit x in Beziehung steht.

• Damit hoffen wir zeigen zu können, dass f(x) g(y) ist.

• Ist das immer der Fall, dann ist der Algorithmus wegen Satz 5.11 -kompetitiv.

11.04.23 Kapitel 1 70

Page 71: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

• S={S1,…,Sm}: Instanz zu Set Cover• xi: Indikatorvariable zu Si

Primal X Dual Yrel

minimiere i=1..m xi maximiere j=1..n yj

gemäß i:ujSi xi 1 ujV gemäß j:ujSi

yj 1 SiS xi{0,1} i{1,…,m} 0yj1 j{1,…,n}

Zunächst wollen wir den Dual Fitting Ansatz demonstrieren.

11.04.23 Kapitel 1 71

Page 72: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

Entwurf: Dual Fitting

Algorithmus DualPurSCbestimme optimale Lösung y zu Yrel

for i:=1 to m do if (ite Bedingung des Duals scharf) then xi:=1 // also xi=j:ujSi

yj

else xi:=0gib (x1,…,xm) aus

11.04.23 Kapitel 1 72

Page 73: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

5.12 Satz: Die Ausgabe von DualPurSC ergibt eine Über-deckung der relativen Güte S (S: maximales Vorkommen eines Knotens in den Mengen in S ).

Beweis:• Angenommen, es gibt ein Element uj, das nicht überdeckt ist.• Dann wäre für jedes SiS mit ujSi die Variable xj=0 (sonst

wäre uj überdeckt).• Das kann aber wegen der if-Anfrage nur passieren, wenn für

alle SiS mit ujSi gilt, dass j:ujSi yj <1.

• Dann könnte die Variable aber noch vergrößert werden, ohne dass die Lösung unzulässig wird, was im Widerspruch dazu steht, dass die Lösung y zu Yrel optimal ist.

• Die Ausgabe ist also korrekt.

11.04.23 Kapitel 1 73

Page 74: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

Beweis (Fortsetzung):• Für jedes i mit xi=1 gilt j:ujSi

yj = 1.• Also gilt:

DualPurSC(S) = i=1..m xi = i: xi=1 1= i: xi=1 j:ujSi

yj S j=1..n yj (*)= SOPT(Yrel) SOPT(S) (**)

• Bei (*) wird benutzt, dass jedes yj in höchstens S Nebenbedingungen vorkommen kann.

• (**) gilt wegen Satz 5.1111.04.23 Kapitel 1 74

Page 75: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

Hier ist es angebracht, ein kleines Beispiel an der Tafel vorzuführen (siehe auch Seite 141 im Wanka-Buch).

11.04.23 Kapitel 1 75

Page 76: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

• Die Laufzeit in DualPurSC ist recht hoch, da wir ein LP lösen müssen.

• Können wir auch einen Algorithmus angeben, der ohne LP-Löser auskommt?

• Wir nutzen dabei die Erkenntnis, dass g(y)OPT(S) für alle zulässigen y ist.

• Eine optimale Lösung von Yrel braucht y dabei nicht zu sein.

• Das führt zu folgendem Algorithmus.11.04.23 Kapitel 1 76

Page 77: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und DualitätAlgorithmus PrimalDualSC_I

for j:=1 to n do yj:=0for i:=1 to m do xi:=0; dualer_schlupf[i]:=1while (es gibt ein nicht überdecktes uj) do bestimme SiS mit ujSi mit minimalem dualer_schlupf[i] xi:=1 // damit Fall 5.10(b) erfüllt yj:=dualer_schlupf[i] // nun ist die ite Bed. scharf: xi=j:ujSi

yj for alle i´ mit ujSi´ do dualer_schlupf[i´]:=dualer_schlupf[i´]-yj

gib (x1,…,xm) aus

• Algo startet mit zulässiger Lösung y=0, sucht wiederholt nach nicht überdecktem uj und macht dann diejenige von den betroffenen Ne-benbedindungen mit min. Schlupf scharf, so dass y noch zulässig.

• Beachte, dass die yj immer nur 0 oder 1 sind.11.04.23 Kapitel 1 77

Page 78: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

5.13 Satz: Die Ausgabe von PrimalDualSC_I ergibt eine Überdeckung der relativen Güte S. Die Laufzeit ist O(nm).

Beweis:• Laufzeit: Die while-Schleife kann bis zu n-mal

wiederholt werden, die Bestimmung einer Gruppe mit minimalem Schlupf innerhalb der Schleife dauert O(m) Schritte.

• Der Algo stellt sicher, dass y immer eine zulässige Lösung bleibt.

• Die Güte-Rechnung ist wie im Beweis zu Satz 5.12.

11.04.23 Kapitel 1 78

Page 79: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität• PrimalDualSC_I kommt ohne LP-Löser aus und ist daher viel

effizienter als DualPurSC.• Bei der Behandlung noch nicht überdeckter Elemente uj gibt

es große Freiheiten, die PrimalDualSC_I nicht optimal ausnutzt.

• Besser wäre es, wenn nach einer Gruppe Si gesucht wird, die möglichst viele unüberdeckte Elemente uj abdeckt.

• Den vorhandenen dualen Schlupf kann man dann gleichmäßig auf alle in der iten Nebenbedingung vorkommenden yj verteilen, die noch keinen Wert zugewiesen bekommen hatten.

• In der Tat erweist sich dieses Verfahren als erfolgreich.• Im folgenden sei H(n) = i=1..n 1/i. Es ist H(n) ln n +1.• Wir definieren GS = maxi |Si|

11.04.23 Kapitel 1 79

Page 80: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

Algorithmus PrimalDualSC_IIfor i:=1 to m do xi:=0C:= // enthält schon überdeckte Elementewhile CV do bestimme i mit maximalem |Si\C| xi:=1 for alle ujSi\C do preis[uj]:=1/|Si\C| // damit xi=1 und ujSi\C preis[uj]=1 yj:=preis[uj]/H(GS) // d.h. H(GS)yj = preis[uj] C:=CSi

gib (x1,…,xm) aus11.04.23 Kapitel 1 80

Page 81: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

• Die innere for-Schleife ist nicht für die Berechnung der Ausgabe notwendig, aber sehr nützlich für die Bestimmung der relativen Güte.

5.14 Satz: Die Ausgabe von PrimalDualSC_II beschreibt eine Überdeckung der relativen Güte H(GS). Die Laufzeit ist O(nm).

Beweis:• Laufzeit: klar

11.04.23 Kapitel 1 81

Page 82: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

Beweis (Fortsetzung):• Um Satz 5.11 anwenden zu können, zeigen wir zunächst, dass

die yj eine zulässige Lösung des Duals bilden. Das ist nämlich hier nicht mehr offensichtlich.

• Betrachte die ite Nebenbedingung und die zugehörige Gruppe Si={uj1

,…,ujk}, wobei die Elemente aus Si in der Reihenfolge uj1

,…,ujk

durch den Algorithmus überdeckt werden.• Beachte, dass k GS ist.• Wir schauen nun auf die Runde, in der ujl

überdeckt wird.• Wäre Si die Gruppe, die in der Runde gewählt wird, wären

neben ujl noch k-l andere Elemente unüberdeckt.

• Die tatsächlich gewählte, vielleicht noch mehr freie Elemente enthaltende Gruppe trifft also mindestens k-l+1 noch unüberdeckte Elemente, unter ihnen ujl

.11.04.23 Kapitel 1 82

Page 83: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

Set Cover und Dualität

Beweis (Fortsetzung):• Also ist preis[ujl

] 1/(k-l+1) und damit yjl

1/H(GS) 1/(k-l+1)• Nun habe wir für die ite Nebenbedingung des Duals

l=1..k yjl 1/H(GS) l=1..k 1/(k-l+1)

= H(k)/H(GS) 1die damit erfüllt ist.

• Für die Ausgabeüberdeckung gilt weiterhin:PrimalDualSC_II(S) = i=1..m xi

= l=1..n preis(uj) (*)= H(GS) l=1..n yj

H(GS) OPT(S) (**)• Dabei wird in (*) genutzt, dass i:xi=1 Si = V ist.• In (**) wird Satz 5.11 angewandt.11.04.23 Kapitel 1 83

Page 84: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 1 84

Fragen?