Approximationsalgorithmen - Cheatsheet.pdf

Approximationsalgorithmen - Cheatsheet
Approximationsalgorithmen - Cheatsheet Modelle und Definitionen linearer Programme Definition: Lineare Programme sind mathematische Modelle zur Lösung von Optimierungsproblemen, bei denen eine lineare Funktion maximiert oder minimiert wird, unter Nebenbedingungen, die durch lineare Gleichungen und Ungleichungen dargestellt werden. Details: Allgemeine Form: Maximiere/Minimiere: \(c^T x\) Unter Nebe...

© StudySmarter 2024, all rights reserved.

Approximationsalgorithmen - Cheatsheet

Modelle und Definitionen linearer Programme

Definition:

Lineare Programme sind mathematische Modelle zur Lösung von Optimierungsproblemen, bei denen eine lineare Funktion maximiert oder minimiert wird, unter Nebenbedingungen, die durch lineare Gleichungen und Ungleichungen dargestellt werden.

Details:

  • Allgemeine Form: Maximiere/Minimiere: \(c^T x\)
  • Unter Nebenbedingungen: \(Ax \le b\), \(x \ge 0\)
  • \(x\) ist der Vektor der Entscheidungsvariablen
  • \(c\) ist der Vektor der Zielfunktion
  • \(A\) ist die Matrix der Nebenbedingungen
  • \(b\) ist der Vektor der rechten Reiseite der Nebenbedingungen

Simplex-Algorithmus und seine Anwendungen

Definition:

Algorithmus zur Lösung linearer Optimierungsprobleme.

Details:

  • Formuliert durch George Dantzig 1947.
  • Arbeitet durch schrittweise Bewegung entlang der Kanten des zulässigen Bereichs zu einer optimalen Ecke.
  • Zur Maximierung oder Minimierung einer linearen Zielfunktion unter linearen Nebenbedingungen.
  • Komplexität: Im Durchschnitt effizient, aber Worst-Case exponentiell.
  • Beliebte Anwendungen: Logistik, Produktionsplanung, Netzwerkflussprobleme.

Branch-and-Bound-Algorithmus

Definition:

Algorithmus zur Lösung von Optimierungsproblemen durch systematisches Durchsuchen des Lösungsraums und Abschneiden von nicht vielversprechenden Teillösungen.

Details:

  • Hauptmechanismen: Zerlegen (Branching), Schranken setzen (Bounding), Pruning.
  • Exploration eines Suchbaums, wobei jeder Knoten eine Teillösung darstellt.
  • Obere und untere Schranken zur Abschätzung der Güte einer Lösung.
  • Wenn eine Schranke einer Teillösung schlechter ist als die beste gefundene Lösung, wird dieser Suchpfad verworfen (Pruning).
  • Geeignet für Probleme wie das Rucksackproblem, das Traveling Salesman Problem und gemischt-ganzzahlige lineare Programme (MILP).
  • Anwendung in exakten Algorithmen und nicht in approximativen Algorithmen.

Cutting-Plane-Methoden

Definition:

Optimierungsverfahren zum Lösen von ganzzahligen linearen Programmen (ILP), indem sukzessive Schnittebenen hinzugefügt werden, um die zulässige Lösungsmenge einzugrenzen.

Details:

  • Ziel: Approximierung der optimalen Lösung durch iteratives Hinzufügen von Schnittebenen.
  • Schnittpunkte/Aufschneidungen durch Ungleichungen, die keine ganzzahligen Punkte innerhalb des zulässigen Bereichs enthalten.
  • Verwendet Cplex, Gurobi oder spezialisierte Tools.
  • In Kombination mit Branch-and-Bound: Branch-and-Cut.
  • Effizienz stark abhängig von der Wahl der Schnittebenen.
  • Beispiele für Schnitte: Gomory-Schnitte, Chvátal-Gomory-Schnitte.

Leistungsanalyse von Approximationsalgorithmen

Definition:

Bewertung der Effizienz und Genauigkeit von Approximationsalgorithmen. Vergleicht die Lösung des Algorithmus mit der optimalen Lösung.

Details:

  • Approximation Ratio: Verhältnis der Kosten der erzeugten Lösung zur optimalen Lösung, z.B. \(\frac{C(A)}{C_{opt}}\).
  • Konstante Approximationsalgorithmen: Falls das Approximation Ratio eine konstante obere Schranke hat, z.B. 2-Approximation.
  • Polynomialzeit: Algorithmen, die in polynomieller Zeit laufen.
  • PTAS (Polynomial Time Approximation Scheme): Ein Algorithmus, der für jedes \(\epsilon > 0\) eine \(1 + \epsilon\)-Approximation in polynomieller Zeit liefert.
  • APX (Approximation): Klasse von Optimierungsproblemen, für die konstante Approximationsalgorithmen existieren.

Greedy-Strategie: Prinzip und Anwendungsfälle

Definition:

Eine Greedy-Strategie trifft in jedem Schritt die lokal optimale Wahl in der Hoffnung, eine globale Lösung zu finden.

Details:

  • Prinzip: Immer den aktuell besten Schritt wählen.
  • Nicht immer optimal, aber oft effizient.
  • Anwendungsfälle:
    • Kürzeste Wege (Dijkstra)
    • Minimaler Spannbaum (Prim, Kruskal)
    • Aktivitätsauswahl
    • Kodierung (Huffman)
  • Güte der Lösungen hängt stark von der Problemstruktur ab.

Monte Carlo und Las Vegas Algorithmen

Definition:

Monte Carlo Algorithmen: Zufallsbasierte Algorithmen, liefern Lösungen mit einer gewissen Wahrscheinlichkeit der Korrektheit. Las Vegas Algorithmen: Zufallsbasierte Algorithmen, liefern garantiert korrekte Lösung, aber Laufzeit ist zufallsabhängig.

Details:

  • Monte Carlo: Lösung in polynomialer Zeit, aber nur mit Wahrscheinlichkeit korrekt
  • Las Vegas: Zeitaufwändig kann zufällig variieren, aber Lösung ist korrekt
  • Monte Carlo Beispiel: \textit{Primes-Test} von Zahlen
  • Las Vegas Beispiel: \textit{Quicksort mit zufälligem Pivot}
  • Monte Carlo hat keine garantierten Laufzeiten, jedoch oft effizienter in der Praxis
  • Las Vegas bietet Berechnungen an, die irgendwann enden, aber Dauer nicht vorhersagbar ist

Handel zwischen Genauigkeit und Rechenzeit

Definition:

Abwägung zwischen der Genauigkeit eines Approximationsalgorithmus und der benötigten Rechenzeit.

Details:

  • Genauigkeit bemisst sich durch den Approximationsfaktor \ \( \rho \ \), Ratio zwischen Approximationswert und optimalem Wert.
  • Rechenzeit ist oft polynomiell abhängig von der Problemgröße \( n \).
  • Trade-off notwendig: Erhöhte Genauigkeit führt häufig zu längerer Rechenzeit.
  • Bekannte Approximationen: PTAS (polynomial-time approximation scheme) und FPTAS (fully polynomial-time approximation scheme).
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden