html5-img
1 / 84

Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen

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. Notation.

beck
Download Presentation

Methoden des Algorithmenentwurfs Kapitel 1.5:Lineare Optimierung und Approximationsalgorithmen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Methoden des AlgorithmenentwurfsKapitel 1.5:Lineare Optimierung und Approximationsalgorithmen Christian Scheideler SS 2009 Kapitel 1

  2. Übersicht • Notation • Arithmetisierung von Problemen • Approximation durch Relaxion • Die Ganzzahligkeitslücke • Dualität Kapitel 1

  3. Notation Zur Erinnerung:Ein kombinatorisches Optimierungs-problem P ist charakterisiert durch vier Komponenten: • D: Menge der Eingaben • S(I) für ein ID: Menge der zur Eingabe I zulässigen Lösungen • Die Bewertungsfunktion f:S(I) IN • ziel{min, max} Kapitel 1

  4. Notation Lineares Optimierungsproblem: • D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN • S(I): Menge aller xIRn mit Ax b • Bewertungsfunktion: f(x) = cTx • ziel{min, max} Kapitel 1

  5. Notation Lineares Optimierungsproblem: • D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN • S(I): Menge aller xIRn mit Ax b • Bewertungsfunktion: f(x) = cTx • ziel{min, max} Deckt auch Ungleichungen der Form aTx b und aTx= bab. Kapitel 1

  6. Notation Lineares Optimierungsproblem: • D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN • S(I): Menge aller xIRn mit Ax b • Bewertungsfunktion: f(x) = cTx • ziel{min, max} aTx b äquivalent zu -aTx -baTx= bäquivalent zu aTx b und -aTx -b Kapitel 1

  7. Notation Lineares Optimierungsproblem: • D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN • S(I): Menge aller xIRnmit Ax b • Bewertungsfunktion: f(x) = cTx • ziel{min, max} Ohne Beschränkung der Allgemeinheit (o.B.d.A.) auf IR+neinschränkbar. Kapitel 1

  8. Notation Lineares Optimierungsproblem: • D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN • S(I): Menge aller xIRnmit Ax b • Bewertungsfunktion: f(x) = cTx • ziel{min, max} Ersetze jedes xi durch xi+-xi-mitxi+,xi-IR+n. Kapitel 1

  9. Notation Lineares Optimierungsproblem: • D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN • S(I): Menge aller xIR+nmit Ax b • Bewertungsfunktion: f(x) = cTx • ziel{min, max} O.B.d.A. reicht ziel=max. Kapitel 1

  10. Notation Lineares Optimierungsproblem: • D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN • S(I): Menge aller xIR+nmit Ax b • Bewertungsfunktion: f(x) = cTx • ziel{min, max} ziel=min: ersetze c durch -c Kapitel 1

  11. Notation Lineares Optimierungsproblem (kanonische Form): • D: Menge von Instanzen I=(A,b,c) mit AIRmn, bIRm und cIRn für n,mIN • S(I): Menge aller xIR+nmit Ax b • Bewertungsfunktion: f(x) = cTx • ziel=max Kapitel 1

  12. Notation Lineares Optimierungsproblem (kanonische Form, vereinfachend formuliert): • Maximiere cTx unter der Bedingung, dassAx b und xIR+n Kapitel 1

  13. Notation Beispiel:min 3x1+5x2unter der Bedingung, dass(1) 2x1+ x2 3(2) 2x1+2x2 5(3) x1+4x2 4(4) x10(5) x2 0Jeder Vektor x=(x1,x2), der (1)-(5) erfüllt, heißt zulässige Lösung. Kapitel 1

  14. Notation Beispiel anschaulich: (5) (1) (2) Raum zulässiger Lösungen 2 (3) 1 (4) OPT 1 2 Zielfunktion Kapitel 1

  15. 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 xixjin der Zielfunktion oder den Restriktionen) heißen auch quadratische Programme. Kapitel 1

  16. Übersicht • Notation • Arithmetisierung von Problemen • Approximation durch Relaxion • Die Ganzzahligkeitslücke • Dualität Kapitel 1

  17. Arithmetisierung von VC Knotenüberdeckungsproblem (VC):Gegeben ein Graph G=(V,E), finde eine Teil-menge UV 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+xw1 • Minimiere Größe von U minimiere Svxv Kapitel 1

  18. Arithmetisierung von VC Ergebnis:minimiere Svxv unter der Bedingung, dass • xv+xw1 für jede Kante {v,w} E • 0xv1 für alle v (oder in kanonischer Form -xv0 und xv1) und xvganzzahlig Kapitel 1

  19. Arithmetisierung von Rucksack Rucksack-Problem: • GegebensindnObjekte und ein Rucksack • Objekti hat Wert pi>0 und wiegtvoli>0 • Der Rucksack kann max. GesamtgewichtBtragen. Ziel:fülle Rucksack mitObjektenmit max. Gesamtwert Arithmetisierung: • xi{0,1}: ist 1 genau dann, wenn Objekt i genommen • Erfülle maximales Gesamtgewicht BSivolixi B • Maximiere Wert der Objekte im Rucksack maximiere Sipixi Kapitel 1

  20. Arithmetisierung von Rucksack Ergebnis:maximiere Sipixi unter der Bedingung, dass • Sivolixi B • 0xi1 für alle i und xiganzzahlig Kapitel 1

  21. 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 vV und c{1,…, D(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 vV: Scxv,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 vV: Sccxv,c f • Minimiere Anzahl benutzter Farben minimiere f Kapitel 1

  22. Arithmetisierung der Knotenfärbung Ergebnis:minimiere f unter der Bedingung, dass • Scxv,c= 1 für alle vV • xv,c+xw,c 1 für alle {v,w}E und c{1,…,D(G)+1} • Sccxv,c f für alle vV • f0 • 0xv,c1 für alle vVund c{1,…, D(G)+1} und xv,cganzzahlig Kapitel 1

  23. 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 f1, f2 Boolesche Formeln, dann auch f1 (Negation), f1f2 (logisches „und“) und f1f2 (logisches „oder“) • Beispiel für Boolesche Formel:f(x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3) Kapitel 1

  24. Arithmetisierung von Max-SAT Auswertungsregeln: • f1=true genau dann, wenn f1=false • f1f2=truegenau dann, wenn f1=trueund f2=true • f1f2=true genau dann, wenn f1=trueoder f2=true • f ist in konjunktiver Normalform (KNF):Form f=C1C2…Cmmit KlauselnCi=v1…vk, wobei jedes vi eine Boolesche Variable oder ihre Negation repräsentiert • Beispiel:f(x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3) Kapitel 1

  25. Arithmetisierung von Max-SAT Max-SAT Problem: Für eine gegebene Formel f 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. Kapitel 1

  26. Arithmetisierung von Max-SAT Arithmetisierung von Max-SAT: • xi{false, true} yi{0,1} • xi 1-yi • Ci=(x1x2x3)Di=y1+(1-y2)+y3 • Ci{false, true} zi{0,1} • Maximiere Anzahl erfüllter Klauseln maximiere Si zimit ziDifür alle i Kapitel 1

  27. Arithmetisierung von Max-SAT Beispiel: f(x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3) Lineares ganzzahliges Programm P(f) zu f:maxSi ziunter der Bedingung, dass • z1  (1-y1) • z2 y1+(1-y2)+y3 • z3 y1+(1-y3) • z4 y2+y3 • für alle i: 0zi1 und 0yi1 und zi,yiganzzahlig Kapitel 1

  28. Arithmetisierung von Max-SAT Äquivalenz der Arithmetisierung:Zeige, dass OPT(f) = OPT(P(f)) Beweisstrategie: • Tansformiere (optimale) Lösung für f in eine zulässige Lösung für P(f) mit demselben Wert (dazu können Ersetzungsregeln von Folie 26 verwendet werden) • Transformiere (optimale) Lösung für P(f) in eine zulässige Lösung für f mit demselben Wert Kapitel 1

  29. Arithmetisierung von Max-SAT Verhältnis ILP zu LP: ILP P(f) zu f:maxSi ziunter der Bedingung, dass • z1  (1-y1) • z2 y1+(1-y2)+y3 • z3 y1+(1-y3) • z4 y2+y3 • für alle i: 0zi1 und 0yi1 und zi,yiganzzahlig Streichen wir „ganzzahlig“, so erhalten wir ein LP P´(f) zu f. Kapitel 1

  30. Arithmetisierung von Max-SAT Verhältnis ILP zu LP: ILP P(f) zu f:maxSi ziunter der Bedingung, dass • z1  (1-y1) • z2 y1+(1-y2)+y3 • z3 y1+(1-y3) • z4 y2+y3 • für alle i: 0zi1 und 0yi1 und zi,yiganzzahlig Da Raum zulässiger Lösungen größer wird, gilt OPT(P´(f))  OPT(P(f)). Daswird später noch nützlich sein. Kapitel 1

  31. Übersicht • Notation • Arithmetisierung von Problemen • Approximation durch Relaxion • Die Ganzzahligkeitslücke • Dualität Kapitel 1

  32. Approximation durch Relaxion Alle 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 Xrelbekommt.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/r)OPT(Xrel) für ein (möglichst kleines) r. Dann gilt wegen der Superoptimalität auch, dass A(I)  (1/r)OPT(I). Kapitel 1

  33. Approximation durch Relaxion Max-SAT Problem: betrachte Eingabef(x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3) ILP X(f) zu f:maxSi ziunter der Bedingung, dass • z1  (1-y1) • z2 y1+(1-y2)+y3 • z3 y1+(1-y3) • z4 y2+y3 • für alle i: 0zi1 und 0yi1 und zi,yiganzzahlig Kapitel 1

  34. Approximation durch Relaxion Max-SAT Problem: betrachte Eingabef(x1,x2,x3)= x1(x1x2x3)(x1x3)(x2x3) LP Xrel(f) zu f:maxSi z´iunter 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: 0z´i1 und 0y´i1 Kapitel 1

  35. Approximation durch Relaxion Naive Rundungsstrategie:fori:=1 to5 doify´i ½thenyi:=1elseyi:=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) Kapitel 1

  36. Approximation durch Relaxion Knotenüberdeckungsproblem (VC):Gegeben ein Graph G=(V,E), finde eine Teil-menge UV minimaler Größe, so dass für jede Kante mindestens ein Knoten in U ist. ILP X(G) zu VC:minimiere Svxv unter der Bedingung, dass • xv+xw1 für jede Kante {v,w} E • 0xv1 für alle i und xiganzzahlig Kapitel 1

  37. Approximation durch Relaxion Knotenüberdeckungsproblem (VC):Gegeben ein Graph G=(V,E), finde eine Teil-menge UV minimaler Größe, so dass für jede Kante mindestens ein Knoten in U ist. LP Xrel(G) zu VC:minimiere Svx´v unter der Bedingung, dass • x´v+x´w1 für jede Kante {v,w} E • 0x´v1 für alle v Kapitel 1

  38. Approximation durch Relaxion Rundungsstrategie:forallvV doifx´v½thenxv:=1elsexv:=0wähle maximale zulässige zi-Werte für die yi-Werte • Diese Rundungsstrategie ergibt eine zulässige Lösung, da x´v+x´w1 für jede Kante {v,w} E und damit entweder x´v½ oder x´w½ sein muss, so dass entweder xv1 oder xw1ist. • Weiterhin gilt Svxv 2 Svx´v, so dass mit der Superoptimalität des LPs folgt, dass A(G)  2OPT(G), also die relative Güte höchstens 2 ist. Kapitel 1

  39. Approximation durch Relaxion Allgemeines Job Scheduling Problem: • MengeM von mMaschinen, MengeJ von n Jobs • Job j muss in einemStück auf einerderautorisiertenMaschinen in MjMablaufen • Job j hat Bearbeitungszeittj • JedeMaschinekannhöchstenseinen Job gleichzeitigbearbeiten Erinnerung: • Last von Maschinei: Li = jJ(i)tj • MakespanL = maxi Li Aufgabe:findeJobzuweisung, die Makespanminimiert Kapitel 12

  40. Approximation durch Relaxion SeixI,jZeit, die Maschineimit Job jzubringt. ILP X: min L s. d. ixi,j = tjfürallejJ jxi,j LfüralleiM xi,j{0,tj}fürallejJund iMj xi,j = 0fürallejJund iMj LP Xrel: min L s. d. ixi,j = tjfürallejJ jxi,j LfüralleiM xi,j0fürallejJund iMj xi,j = 0fürallejJund iMj 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 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 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 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 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. 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 Livon Maschine i aus zwei Komponenten: • Blättern:jJ(i), j Blatt tj = jJ(i), j Blatt xi,j jJ(i) xi,j L  L* • Vätern:tparent(i) L* • Also ist die Gesamtlast Li2L* für alle i. Kapitel 12

  47. Übersicht • Notation • Arithmetisierung von Problemen • Approximation durch Relaxion • Die Ganzzahligkeitslücke • Dualität Kapitel 1

  48. Die Ganzzahligkeitslücke Wir fragen uns, wieviel Genauigkeit man durch die Relaxierung verliert. 5.7 Definition: Sei P ein kombinatorisches Optimierungsproblem. Für die Instanz ID sei X ein äquivalentes ILP und sei Xrel das relaxierte Programm zu X. Dann istOPT(Xrel) OPT(X)die Ganzzahligkeitslücke der Relaxierung. g = sup ID Kapitel 1

  49. Die Ganzzahligkeitslücke Max-SAT: • Betrachte die Boolesche Formelf=(x1x2)(x1x2)(x1x2)(x1x2) • Es ist offensichtlich OPT(f)=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 g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 ApproximationsalgoA für Max-2SAT) auch bekannt ist, dass g4/3. Kapitel 1

  50. 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 g(n-1)/(n/2) = 2-1/n. • Das ist nahezu scharf, da wir über unsere Analyse des ApproximationsalgoA für VC wissen, dass g2. Kapitel 1

More Related