Ich bin mit linearen Programmen vertraut, da sie Probleme mit linearen Zielfunktionen und linearen Einschränkungen lösen können. Aber was kann semidefinite Programmierung lösen, was lineare Programmierung nicht kann? Ich weiß bereits, dass semidefinite Programme eine Verallgemeinerung linearer Programme sind.
Wie erkennt man ein Problem, das mit semidefiniter Programmierung gelöst werden kann? Was ist ein typisches Problem, für das semidefinite Programmierung verwendet wird und das nicht über lineare Programmierung gelöst werden kann?
Vielen Dank für jede Antwort.
Antworten:
Ein typisches Problem ist MaxCut: Geben Sie einen Schnitt in einem Diagramm aus, der (ungefähr) die Anzahl der geschnittenen Kanten maximiert. Goemans und Williamson zeigten, dass ein SDP den Wert von MaxCut auf einen Faktor von mindestens 0,878 annähert. Kürzlich haben Chan, Lee, Raghavendra und Steurer gezeigt, dass für eine natürliche lineare Codierung des MaxCut-Problems alle LPs mit Polynomgröße eine Annäherung von nicht besser als 0,5 erreichen.
Es ist schwer zu sagen, welche Probleme normalerweise von einem SDP profitieren. Ein systematischer Ansatz zur Konstruktion von SDP-Relaxationen sind Hierarchien, von denen die Lasserre-Hierarchie die mächtigste ist: Eine schöne Einführung finden Sie in Rothvoß's Umfrage . Inzwischen gibt es zu viele Beispiele für Erfolge von SDPs bei der Optimierung, um sie aufzulisten. Außerdem hat Raghavendra gezeigt, dass ein bestimmtes SDP die beste Annäherung an alle MaxCSP-Probleme bietet, wenn die Vermutung von Unique Games wahr ist.
Überprüfen Sie die Bücher von Gaertner und Matousek , Kapitel 6 und 13 von Willimson und Shmoys 'Buch , Lovasz' Umfrage .
quelle
Bei vielen kombinatorischen Optimierungsproblemen (zum Beispiel Max-Cut) ergibt die semidefinite Programmierung viel stärkere Relaxationen als die LP-Relaxation von IP-Formulierungen. Dies ermöglicht den Entwurf von Approximationsalgorithmen und von exakten Algorithmen, die aufgrund der besseren Qualität der Grenzen effizienter sind als ihre linearen Gegenstücke. Beispiele finden Sie in Christoph Helmbergs Habilitationsarbeit , dieser Umfrage und dieser Kursseite .
Eine weitere neue Folge spektakulärer Ergebnisse, die semidefinite Programmierung verwenden, ist die Anwendung von Razborovs Flaggenalgebren , um Ergebnisse zu Problemen vom Typ Turan zu beweisen (siehe diese Umfrage und das flagmatische Projekt ).
quelle