Dualität (Optimierung) - Duality (optimization)

In der mathematischen Optimierungstheorie ist die Dualität oder das Dualitätsprinzip das Prinzip, dass Optimierungsprobleme aus einer von zwei Perspektiven betrachtet werden können, dem Primärproblem oder dem Dualproblem . Die Lösung des dualen Problems liefert eine untere Schranke für die Lösung des primären (Minimierungs-)Problems. Im Allgemeinen müssen die optimalen Werte des primären und des dualen Problems jedoch nicht gleich sein. Ihr Unterschied wird als Dualitätslücke bezeichnet . Bei konvexen Optimierungsproblemen ist die Dualitätslücke unter einer Einschränkungsqualifikationsbedingung null .

Doppelproblem

Normalerweise bezieht sich der Begriff "Dualproblem" auf das Lagrangesche Dualproblem, aber es werden auch andere Dualprobleme verwendet – zum Beispiel das Wolfe-Dualproblem und das Fenchel-Dualproblem . Das duale Lagrange-Problem wird erhalten, indem die Lagrange-Funktion eines Minimierungsproblems gebildet wird, indem nichtnegative Lagrange-Multiplikatoren verwendet werden , um die Randbedingungen zu der Zielfunktion hinzuzufügen, und dann nach den Werten der primären Variablen aufgelöst wird, die die ursprüngliche Zielfunktion minimieren. Diese Lösung liefert die primalen Variablen als Funktionen der Lagrange-Multiplikatoren, die duale Variablen genannt werden, so dass das neue Problem darin besteht, die Zielfunktion in Bezug auf die dualen Variablen unter den abgeleiteten Beschränkungen der dualen Variablen (einschließlich mindestens der Nichtnegativität Einschränkungen).

Im Allgemeinen können wir bei zwei dualen Paaren von getrennten lokal konvexen Räumen und und der Funktion das primäre Problem als eine Feststellung definieren , mit anderen Worten, falls existiert, ist das Minimum der Funktion und das Infimum (größte untere Schranke) der Funktion erreicht ist.

Wenn es Randbedingungen gibt, können diese in die Funktion eingebaut werden, indem angegeben wird, wo ist eine geeignete Funktion , die ein Minimum von 0 bei den Randbedingungen hat und für die man beweisen kann, dass . Die letztere Bedingung wird trivialerweise, aber nicht immer bequemerweise, für die charakteristische Funktion erfüllt (dh um die Randbedingungen zu erfüllen usw. ). Erweitern Sie dann auf eine Störungsfunktion, so dass .

Die Dualitätslücke ist die Differenz der rechten und linken Seite der Ungleichung

wobei ist die konvexe Konjugierte in beiden Variablen und bezeichnet das Supremum (kleinste obere Schranke).

Dualitätslücke

Die Dualitätslücke ist die Differenz zwischen den Werten aller Primärlösungen und aller dualen Lösungen. Wenn der optimale duale Wert und der optimale primäre Wert ist, dann ist die Dualitätslücke gleich . Dieser Wert ist immer größer oder gleich 0. Die Dualitätslücke ist genau dann null, wenn eine starke Dualität gilt. Andernfalls ist die Lücke streng positiv und es gilt eine schwache Dualität .

Bei der rechnerischen Optimierung wird oft über eine andere "Dualitätslücke" berichtet, die den Wertunterschied zwischen einer beliebigen dualen Lösung und dem Wert einer machbaren, aber suboptimalen Iteration für das Primärproblem darstellt. Diese alternative "Dualitätslücke" quantifiziert die Diskrepanz zwischen dem Wert einer aktuellen machbaren, aber suboptimalen Iteration für das Primärproblem und dem Wert des dualen Problems; der Wert des dualen Problems ist unter Regularitätsbedingungen gleich dem Wert der konvexen Relaxation des primalen Problems: Die konvexe Relaxation ist das Problem, das entsteht, wenn man eine nichtkonvexe zulässige Menge durch ihre geschlossene konvexe Hülle ersetzt und eine nicht-konvexe konvexe Funktion mit ihrem konvexen Verschluß , der die Funktion hat, die die epigraph daß die geschlossene konvexe Hülle der ursprünglichen ursprünglichen Zielfunktion ist.

Linearer Fall

Lineare Programmierprobleme sind Optimierungsprobleme , bei denen die Zielfunktion und die Nebenbedingungen alle linear sind . Im Primalproblem ist die Zielfunktion eine Linearkombination von n Variablen. Es gibt m Beschränkungen, von denen jede eine obere Schranke für eine Linearkombination der n Variablen setzt. Das Ziel besteht darin, den Wert der Zielfunktion unter den Bedingungen zu maximieren. Eine Lösung ist ein Vektor (eine Liste) von n Werten, der den Maximalwert für die Zielfunktion erreicht.

Im dualen Problem ist die Zielfunktion eine Linearkombination der m Werte, die die Grenzen in den m Randbedingungen des Primärproblems sind. Es gibt n duale Nebenbedingungen, von denen jede eine untere Schranke für eine Linearkombination von m dualen Variablen setzt.

Beziehung zwischen dem Primärproblem und dem dualen Problem

Im linearen Fall, im Primalproblem, gibt es von jedem suboptimalen Punkt, der alle Randbedingungen erfüllt, eine Richtung oder einen Unterraum von Richtungen zu bewegen, der die Zielfunktion erhöht. Eine Bewegung in eine solche Richtung soll den Spielraum zwischen der Kandidatenlösung und einer oder mehreren Beschränkungen beseitigen . Ein infeasible Wert der Kandidatenlösung ist eine , die eine oder mehrere der Beschränkungen übersteigt.

Beim dualen Problem multipliziert der duale Vektor die Beschränkungen, die die Positionen der Beschränkungen im Primal bestimmen. Das Variieren des dualen Vektors im dualen Problem ist äquivalent zur Revision der oberen Schranken im primären Problem. Die niedrigste obere Schranke wird gesucht. Das heißt, der duale Vektor wird minimiert, um Spiel zwischen den Kandidatenpositionen der Beschränkungen und dem tatsächlichen Optimum zu beseitigen. Ein nicht durchführbarer Wert des dualen Vektors ist einer, der zu niedrig ist. Es setzt die Kandidatenpositionen einer oder mehrerer der Beschränkungen in eine Position, die das tatsächliche Optimum ausschließt.

Diese Intuition wird durch die Gleichungen in der linearen Programmierung formalisiert : Dualität .

Nichtlinearer Fall

Bei der nichtlinearen Programmierung sind die Randbedingungen nicht unbedingt linear. Dennoch gelten viele der gleichen Prinzipien.

Um sicherzustellen, dass das globale Maximum eines nichtlinearen Problems leicht identifiziert werden kann, erfordert die Problemformulierung oft, dass die Funktionen konvex sind und kompakte Mengen niedrigerer Ebenen aufweisen.

Dies ist die Bedeutung der Karush-Kuhn-Tucker-Bedingungen . Sie liefern die notwendigen Bedingungen für die Identifizierung lokaler Optima von nichtlinearen Programmierproblemen. Es sind zusätzliche Bedingungen (Constraint-Qualifikationen) notwendig, damit die Richtung zu einer optimalen Lösung definiert werden kann. Eine optimale Lösung ist eine Lösung, die ein lokales Optimum, aber möglicherweise kein globales Optimum ist.

Das starke Lagrange-Prinzip: Lagrange-Dualität

Gegeben ein nichtlineares Programmierproblem in Standardform

mit dem Bereich mit nichtleerem Inneren ist die Lagrange-Funktion definiert als

Die Vektoren und werden als duale Variablen oder Lagrange-Multiplikatorvektoren bezeichnet, die dem Problem zugeordnet sind. Die Lagrange-Doppelfunktion ist definiert als

Die duale Funktion g ist konkav, auch wenn das Ausgangsproblem nicht konvex ist, weil sie ein punktweises Infimum affiner Funktionen ist. Die duale Funktion liefert untere Schranken für den optimalen Wert des Ausgangsproblems; für alles, was wir haben .

Wenn eine Einschränkungsqualifikation wie die Slater-Bedingung gilt und das ursprüngliche Problem konvex ist, dann haben wir eine starke Dualität , dh .

Konvexe Probleme

Für ein konvexes Minimierungsproblem mit Ungleichungsbeschränkungen gilt:

das Lagrangesche duale Problem ist

wobei die Zielfunktion die Lagrange-Dualfunktion ist. Sofern die Funktionen und stetig differenzierbar sind, tritt das Infimum dort auf, wo die Steigung gleich Null ist. Das Problem

heißt Wolfe-Dualproblem. Dieses Problem kann rechnerisch schwer zu lösen sein, da die Zielfunktion in den gemeinsamen Variablen nicht konkav ist . Außerdem ist die Gleichheitsbeschränkung im Allgemeinen nichtlinear, sodass das Wolfe-Dualproblem typischerweise ein nichtkonvexes Optimierungsproblem ist. In jedem Fall gilt die schwache Dualität .

Geschichte

Nach George Dantzig wurde der Dualitätssatz für die lineare Optimierung von John von Neumann unmittelbar nach der Vorstellung des linearen Programmierproblems durch Dantzig vermutet . Von Neumann merkte an, dass er Informationen aus seiner Spieltheorie benutzte und vermutete, dass ein Zwei-Personen-Nullsummenmatrixspiel der linearen Programmierung äquivalent sei. Rigorose Beweise wurden erstmals 1948 von Albert W. Tucker und seiner Gruppe veröffentlicht. (Dantzigs Vorwort zu Nering und Tucker, 1993)

Siehe auch

Anmerkungen

Verweise

Bücher

Artikel