Komplementäre Schlaffheit (CS) wird häufig gelehrt, wenn über Dualität gesprochen wird. Es stellt eine gute Beziehung zwischen der ursprünglichen und der doppelten Einschränkung / Variablen aus mathematischer Sicht her.
Die zwei Hauptgründe für die Anwendung von CS (wie in Kursen und Lehrbüchern für Hochschulabsolventen gelehrt):
- Um die Optimalität der LP zu überprüfen
- Um das Dual zu lösen
Ist CS angesichts der heutigen Rechenleistung und der Polynomalgorithmen zur Lösung von LPs aus pragmatischer Sicht immer noch relevant? Wir könnten immer nur die Duals lösen und beide oben genannten Punkte ansprechen. Ich stimme zu, dass es "effizienter" ist, das Dual mit Hilfe von CS zu lösen, aber ist es das? Oder gibt es bei CS mehr, als man denkt? Wo genau ist CS über die beiden oben genannten Punkte hinaus nützlich ? Ich habe häufig Texte gesehen, die auf das Konzept von CS anspielen, wenn ich über Approximationsalgorithmen spreche, aber ich verstehe seine Rolle dort nicht.
Antworten:
Komplementäre Schlaffheit ist der Schlüssel zum Entwerfen von Primal-Dual-Algorithmen. Die Grundidee ist:
Primal-Dual-Algorithmen sind aus vielen Gründen hilfreich. Philosophisch bieten sie mehr Einblick als ein generischer Algorithmus. Sie geben normalerweise stark polynomielle Zeitalgorithmen an, während wir immer noch keine stark polynomiellen LP-Löser haben. Sie sind oft praktischer als generische Algorithmen. Dies gilt insbesondere dann, wenn wir die LP nicht explizit aufschreiben können und unsere einzige andere Wahl der Ellipsoid-Algorithmus ist, was beim nicht-zweigliedrigen Matching und beim Primal-Dual-Algorithmus von Edmonds der Fall ist.
quelle