Nichtlineare Optimierung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Nichtlineares Programm mit zulässigem Bereich und Optimum

In der Mathematik ist die nichtlineare Optimierung (auch nicht lineares Programm, NLP, genannt) das Vorhaben, eine skalare Zielfunktion einer oder mehrerer reeller Variablen in einem eingeschränkten Bereich zu optimieren, wobei die Zielfunktion oder die Bereichsgrenzen nicht linear (nicht affin) sind. Es ist ein Teilgebiet der mathematischen Optimierung und ein Obergebiet der konvexen Optimierung. In Abgrenzung von den genannten Artikeln wird hier die Anwendung auf differenzierbare nichtlineare Zielfunktionen ohne Beschränkung auf Konvexität der Zielfunktion oder des Suchbereiches beschrieben. Für Begriffsklärung empfiehlt sich die Lektüre von Begriffe: Zielfunktion, Nebenbedingungen, zulässige Menge, lokale und globale Optimierung.

Anwendungsfelder[Bearbeiten]

Nicht lineare Programme finden sich in vielfältiger Weise in der Wissenschaft und im Ingenieurswesen.

In der Wirtschaftswissenschaft kann es darum gehen, die Kosten eines Prozesses zu minimieren, der Einschränkungen in der Verfügbarkeit der Mittel und Kapazitäten unterliegt. Die Kostenfunktion kann darin nicht linear sein. In der theoretischen Mechanik findet sich im Hamiltonschen Prinzip ein Extremalprinzip, dessen Lösung bei nichtlinearen Randbedingungen ein nichtlineares Programm darstellt.

Moderne Ingenieursanwendungen beinhalten oft und in komplizierter Weise Optimierungsaufgaben. So kann es darum gehen, das Gewicht eines Bauteils zu minimieren, das gleichzeitig bestimmten Anforderungen (z. B. Einschränkungen des Bauraumes, Obergrenzen für Verformungen bei gegebenen Lasten) genügen muss.

Bei der Anwendung eines mathematischen Modells kann es darum gehen, die Parameter des Modells an gemessene Werte anzupassen. Nichtlineare Einflüsse der Parameter und Einschränkungen an die Parameter (z.B. dass nur positive Werte zugelassen sind) führen hier auf ein nichtlineares Programm.

In diesen Fragestellungen ist oftmals nicht a priori bekannt, ob das gestellte Problem konvex ist oder nicht. Manchmal beobachtet man eine Abhängigkeit der gefundenen optimalen Lösung vom Startpunkt der Suche. Dann hat man lokale Optima gefunden und das Problem ist mit Sicherheit nicht konvex.

Problemdefinition[Bearbeiten]

Es gibt viele mögliche Formulierungen eines nicht linearen Programms. An dieser Stelle soll eine möglichst allgemeine Form gewählt werden. Der Eingabeparameter \vec{x} sei aus dem \R^n, das heißt das Problem hängt von n Einflussparametern ab, die im Vektor \vec{x} eingelagert sind. Die Zielfunktion f:D\rightarrow\R sei einmal stetig differenzierbar. Weiterhin seien die Nebenbedingungen (NB) in Ungleichheitsform g_i :D\rightarrow\R mit 1 \leq i \leq m und in Gleichheitsform h_k :D\rightarrow\R mit 1 \leq k \leq l gegeben und einmal stetig differenzierbar. Dann lautet das Problem P mathematisch:

\begin{array}{llll}
P:& f(\vec{x}) &  & \rightarrow \mathrm{extremum} \\
f:& \vec{x}\in S\subset & D\subseteq \R^n & \rightarrow \R \\
S:& \{ \vec{x} \in D\; |& g_i(\vec{x}) \le 0 & \forall\; 1 \le i \le m, \\
  &             & h_k(\vec{x}) = 0 & \forall\; 1 \le k \le l \} \\
\end{array}
.

Der zulässige Bereich S wird von den Nebenbedingungen (NB) einschränkt: Für alle Werte der Parameter aus dem zulässigen Bereich (\vec{x} \in S) sollen die NB erfüllt sein. Zulässig ist das Problem P, wenn der zulässige Bereich S nicht leer ist.

Zumeist beschränkt sich die theoretische Behandlung der nicht linearen Optimierung auf Minimierungsprobleme. In der Tat kann das Maximierungsproblem einer Funktion f in ein Minimierungsproblem von -f oder 1/f, falls f > 0 gesichert ist, umformuliert werden.

Vorgehen[Bearbeiten]

Das Problem wird mit unten beschriebenen Verfahren auf die Optimierung einer Hilfsfunktion ohne NB zurückgeführt. Um sich die Gradienten basierten Methoden zu Nutze machen zu können, teilt man das abzusuchende Gebiet gegebenenfalls in solche auf, in denen die Zielfunktion differenzierbar ist. Wenn möglich sollten die Teilgebiete konvex sein und die Zielfunktion in ihnen auch. Dann kann man die globalen Extrema in den Teilgebieten mit den in Mathematische Optimierung und Konvexe Optimierung aufgeführten Verfahren berechnen und das optimale auswählen.

Die Konstruktion der Hilfsfunktion soll anhand eines einfachen Beispiels erläutert werden: Zwei Kugeln in einer Mulde versuchen den tiefstmöglichen Punkt einzunehmen, dürfen sich dabei aber nicht durchdringen. Die Zielfunktion ist also die Lageenergie der Kugeln und nimmt im Gleichgewicht ein Minimum an. Die Nebenbedingung g(x,y) \le 0 würde hier die Durchdringung der Kugeln x und y bezeichnen, wobei mit negativer Durchdringung ein positiver Abstand gemeint wird.

  1. Lagrange-Multiplikatoren: Die NB werden mit reellen Faktoren, den Lagrange-Multiplikatoren, multipliziert und in die Zielfunktion eingebaut, so dass bei positiven Lagrange-Multiplikatoren die Verletzung der NB bestraft wird. Die so erhaltene Hilfsfunktion heißt Lagrange Funktion. Die Lagrange-Multiplikatoren werden als Unbekannte in das Problem eingeführt und müssen ebenfalls bestimmt werden. Bei den Kugeln sind die Lagrange-Multiplikatoren gerade die Kontaktkräfte, die die Kugeln bei Berührung aufeinander ausüben, so dass sie sich nicht durchdringen.
  2. Barrierefunktionen: Die NB werden mit Barrierefunktionen dargestellt, die bei Annäherung an die Grenze des Definitionsbereiches positive Werte und auf der Grenze ins Unendliche wachsen. Die Barrierefunktionen werden mit Barriereparametern r multipliziert und in die Zielfunktion eingebaut, so dass die Annäherung an die NB bestraft wird und so die Verletzung der NB verhindert wird. Im Kugelbild bekämen die Kugeln einen mehr oder weniger dicken Mantel, der immer steifer wird, je stärker er bei Berührung zusammengedrückt wird. Eine Verletzung der NB wird so verhindert zu dem Preis, dass bereits die Annäherung an die Bereichsgrenze bestraft wird. Die Methode wird bei Innere-Punkte-Verfahren angewendet.
  3. Straffunktionen: Die Straffunktionen werden wie die Barrierefunktionen eingesetzt. Die NB werden mit Straffunktionen dargestellt, die im Definitionsbereich verschwinden und bei Verletzung der NB positiv sind. Die Straffunktionen werden mit Strafparametern r multipliziert und in die Zielfunktion eingebaut so dass die Verletzung der NB bestraft wird, daher der Name. Hier werden aktive NB evtl. verletzt und die Zulässigkeit der Lösung muss geprüft werden. Im Kugel-Bild entspricht die Straffunktion der „echten“ Durchdringung (die bei positivem Abstand der Kugeln verschwindet) und der Strafparameter einer Federsteifigkeit. Die Feder versucht eindringende Punkte wieder an die Oberfläche zu ziehen. Je steifer die Feder ausfällt, desto geringer wird die Eindringung sein.
  4. Erweiterte Lagrange Methode (engl. augmented lagrange method): Dies ist eine Kombination der Lagrange-Multiplikatoren und der Strafmethode. Der Lagrange-Multiplikator wird iterativ anhand der Verletzung der NB bestimmt.
  5. Trivial (und deshalb in den Quellen oftmals nicht behandelt) aber doch zu erwähnen und im praktischen Gebrauch ist, dass aktive NB dazu genutzt werden können, Variable zu eliminieren. Die Variablen werden auf Werte festgelegt, derart dass eine Verletzung der NB nunmehr unmöglich ist. Im Kugel-Bild würde man Berührungspunkte der Kugeln aneinanderkoppeln (ihre Koordinaten gleichsetzen), so dass eine Durchdringung (dort) nicht mehr stattfinden kann.

Die Vor- und Nachteile der beschriebenen Methoden sind in der Tabelle zusammengefasst:

Methode Vorteile Nachteile
Lagrange Multiplikatoren
  • Erfüllt die NB exakt
  • Das Vorzeichen des Multiplikators zeigt an, ob die NB aktiv ist oder nicht.
  • Führt zusätzliche Unbekannte ein.
  • Schleust verschwindende Diagonalglieder in das Gleichungssystem ein (problematisch bei Cholesky-Zerlegung).
Barrierefunktionen
  • Die NB werden eingehalten.
  • Für r \rightarrow 0 geht die gefundene Lösung in die mit Lagrange Multiplikatoren gefundene über.
  • Die Höhenlinien der Hilfsfunktion stimmen nicht mit denen der Zielfunktion überein. Im Extremfall gibt es für einige Werte von r gar kein Optimum.
  • Bei Annäherung an die Grenze des zulässigen Bereiches und mit r\rightarrow 0 ist die Hesse-Matrix schlecht konditioniert.
Strafverfahren Für r \rightarrow \infty geht die gefundene Lösung in die mit Lagrange Multiplikatoren gefundene über.
  • Die Nebenbedingung wird nur näherungsweise erfüllt.
  • Mit r\rightarrow \infty ist die Hesse-Matrix schlecht konditioniert.
  • Die Prüfung der Aktivität der NB kann nur durch Auswertung der Funktionen g_i und h_k erfolgen.
Erweiterte Lagrange Methode
  • Mit zunehmender Anzahl an Iterationen geht die gefundene Lösung in die mit Lagrange-Multiplikatoren gefundene über.
  • Erfüllt die NB beliebig genau.
  • Das Vorzeichen des Multiplikators zeigt an, ob die Nebenbedingung aktiv ist oder nicht.
Benötigt mehrere konvergierte Lösungen des globalen Problems.
Eliminierung der Freiheitsgrade
  • Reduziert die Anzahl an Unbekannten.
  • Hält Gleichheitsnebenbedingungen exakt ein.
Ist nur anwendbar, wenn die Aktivität der NB bekannt ist.

Theorie der Optimierung[Bearbeiten]

Isolierte Punkte[Bearbeiten]

In einem nicht linearen Programm können NB den zulässigen Bereich in einigen Punkten \vec{x} derart einschränken, dass zwar \vec{x} aber kein Punkt in seiner Umgebung U_{\varepsilon}(\vec{x}) im zulässigen Bereich liegt. Mathematisch formuliert heißt das, dass es eine Umgebung U_{\varepsilon}(\vec{x}) gibt, so dass

U_{\varepsilon}(\vec{x}) \cap S = \lbrace \vec{x} \rbrace

gilt. Isolierte Punkte müssen alle einzeln, jeder für sich, auf Optimalität geprüft werden.

Regularitäts-Bedingungen, Tangenten- und Linearisierender Kegel[Bearbeiten]

Beispiel eines Nicht Linearen Programms

Für die Formulierung von Optimalitätsbedingungen müssen die NB gewisse Anforderungen erfüllen, engl. constraint qualifications (CQ). Im Wesentlichen geht es darum, optimale Punkte aus der Betrachtung auszuschließen, die isoliert sind oder in denen es redundante NB gibt. Es existieren mehrere unterschiedlich scharfe Formulierungen, welche die Erfüllung dieser CQ sicherstellen. Punkte, in denen die Anforderungen erfüllt sind, heißen regulär. Irreguläre Punkte, in denen keine dieser Anforderungen greift, müssen ausgeschlossen oder gesondert betrachtet werden.

Zentral für die Formulierung der Anforderungen an die NB und der Optimalitätsbedingungen ist der Begriff Tangentenkegel T(S, \vec{x}) und Linearisierender Kegel. Um sich diese anschaulich klarzumachen, stellt man sich an einen Punkt \vec{x_0}\ne\vec{x} im zulässigen Gebiet und läuft unter Beachtung der NB (die NB kann man sich als undurchdringliche Wände vorstellen) zum Zielpunkt \vec{x}. Der Tangentenkegel ist dann die Menge aller möglichen Richtungen aus denen man im Zielpunkt \vec{x} ankommen kann. Beim linearisierenden Kegel werden zunächst die NB linearisiert, d. h. durch ihre Tangenten im Zielpunkt \vec{x} ersetzt. Der linearisierende Kegel ist dann die Menge aller möglichen Richtungen, aus denen man unter Beachtung der linearisierten NB im Zielpunkt \vec{x} ankommen kann. Der Tangentenkegel und Linearisierende Kegel unterscheiden sich dort, wo zwei Wände am Standort parallel verlaufen und der Zielpunkt \vec{x} sozusagen in einem Gang (der Breite 0) liegt. Im linearisierenden Kegel kann man dann aus beiden Richtungen des Gangs ankommen, er linearisierte ja die Wände. Wenn die zunächst parallelen Wände in einer Richtung unmittelbar ihre Parallelität verlieren und den Gang zumachen, so dass kein noch so kleiner Schritt in diese Richtung möglich ist, kann man im Tangentenkegel nur aus der offenen Richtung in \vec{x} ankommen. Das ist der Unterschied, siehe den ersten pathologischen Fall unten. In der Grafik stimmen Tangentenkegel und Linearisierender Kegel im optimalen Punkt überein und sind rot angedeutet.

Die Anforderungen an die NB stellen sicher, dass im optimalen Punkt der Tangentenkegel und der linearisierende Kegel übereinstimmen und der optimale Punkt nicht isoliert ist. Beispiele für Formulierungen sind:

  • Konvexität: Die Zielfunktion und die NB sind konvex und der optimale Punkt ist nicht isoliert.
  • Slater: \bar{x} ist nicht isoliert und es gibt ein \tilde{x}\in U_\varepsilon(\bar{x}) \subset S, so dass g_j (\tilde{x})<0 für alle nicht linearen NB g_j \le 0.
  • Lineare Unabhängigkeit - Linear independence constraint qualification (LICQ): Die Gradienten der aktiven Ungleichungsbedingungen und die Gradienten der Gleichungsbedingungen sind linear unabhängig im Punkt \bar{x}.
  • Mangasarian-Fromovitz - Mangasarian-Fromovitz constraint qualification (MFCQ): Die Gradienten der aktiven Ungleichungsbedingungen und die Gradienten der Gleichungsbedingungen sind positiv-linear unabhängig im Punkt \bar{x}.
  • Konstanter Rang - Constant rank constraint qualification (CRCQ): Für jede Untermenge der Gradienten der Ungleichungsbedingungen, welche aktiv sind, und der Gradienten der Gleichungsbedingungen ist der Rang in der Nähe von \bar{x} konstant.
  • Konstante positive-lineare Abhängigkeit - Constant positive-linear dependence constraint qualification (CPLD): Für jede Untermenge der Gradienten, der Ungleichungsbedingungen, welche aktiv sind, und der Gradienten der Gleichungsbedingungen, und falls eine positive-lineare Abhängigkeit im Punkt \bar{x} vorliegt, dann gibt es eine positiv-lineare Abhängigkeit in der Nähe von \bar{x}.

Man kann zeigen, dass die folgenden beiden Folgerungsstränge gelten

\mbox{LICQ} \Rightarrow \mbox{MFCQ} \Rightarrow \mbox{CPLD} und \mbox{LICQ} \Rightarrow \mbox{CRCQ} \Rightarrow \mbox{CPLD},

obwohl MFCQ nicht äquivalent zu CRCQ ist. In der Praxis werden schwächere Constraint Qualifications bevorzugt, da diese stärkere Optimalitäts-Bedingungen liefern.

Pathologische Fälle[Bearbeiten]

Die CQ sind dazu da, Zustände wie im Ursprung in folgenden Beispielen von der Betrachtung auszuschließen:

  1. Minimiere f(x,y):=x unter den NB g_1(x,y)=-y\le 0 und g_2(x,y)=y-x^3\le 0 .
  2. Minimiere f(x):=x\in\mathbb{R} unter der NB g(x)=x^2\le 0 .
  3. Minimiere f(x):=\left\{\begin{array}{lll}-\sqrt{x}& \mathrm{falls}& x\ge 0\\
\infty& \mathrm{sonst}& \end{array}\right. unter der NB g(x)=x \le 0 .

Optimalitätsbedingungen[Bearbeiten]

Die Karush-Kuhn-Tucker-Bedingungen (auch bekannt als die KKT-Bedingungen) sind notwendig für die Optimalität einer Lösung in der nichtlinearen Optimierung. Sie wurden zum ersten Mal 1939 in der Master-Arbeit (unveröffentlicht) von William Karush aufgeführt. Bekannter wurden diese jedoch erst 1951 nach einem Konferenz-Paper von Harold W. Kuhn und Albert W. Tucker. Sie sind die Verallgemeinerung der notwendigen Bedingung \nabla f(\vec{x}) = \vec{0} von Optimierungsproblemen ohne Nebenbedingungen.

Notwendige Bedingung und Satz von Karush-Kuhn-Tucker[Bearbeiten]

In Worten bedeutet der Satz von Karush-Kuhn-Tucker ungefähr, dass wenn \bar{x} ein zulässiger, regulärer und optimaler Punkt ist, sich der Gradient der Zielfunktion -\nabla f(\bar{x}) als positive Linearkombination der Gradienten der aktiven NB darstellen lässt, siehe auch das Bild oben.

Sei f:D\rightarrow\R die Zielfunktion und die Funktionen g_i :D\rightarrow\R mit 1 \leq i \leq m und die Funktionen h_k :D\rightarrow\R mit 1 \leq k \leq l sind Nebenbedingungs-Funktionen. Alle vorkommenden Funktionen f, g_i, h_k seien einmal stetig differenzierbar. Es sei \bar{x}\in S ein regulärer Punkt, das heißt die Regularitätsanforderung (CQ) oben ist erfüllt. Falls \bar{x} ein lokales Optimum ist, dann existieren Konstanten \mu_i und \nu_k so dass

\nabla f(\bar{x}) \pm \sum_{i=1}^m \mu_i \nabla g_i(\bar{x}) + \sum_{k=1}^l \nu_k \nabla h_k(\bar{x}) = 0      ("+" bei Minimierung, "-" bei Maximierung),
g_i (\bar{x})\le 0\,,\; \mu_i \ge 0\,,\;\mu_i g_i (\bar{x}) = 0 für alle 1 \leq i \leq m,
 h_k(\bar{x}) = 0 für alle 1 \le k \leq l.

Jeder Punkt, in dem diese Bedingungen erfüllt sind, heißt Karush-Kuhn-Tucker-Punkt ( kurz: KKT-Punkt).

Ist \bar{x} ein Punkt des zulässigen Gebietes in dem keine NB aktiv sind, insbesondere keine Gleichheitsnebenbedingungen h_k(x)=0 vorliegen, dann sind wegen g_i(\bar{x})<0 alle \mu_i = 0 und die obigen Bedingungen reduzieren sich auf die bekannte notwendige Bedingung unrestringierter Probleme \nabla f(\bar{x}) = \vec{0}.

Hinreichende Bedingungen[Bearbeiten]

Ist \bar{x} ein KKT-Punkt und die Richtung des steilsten Auf- bzw. Abstiegs schließt mit den Flanken des Tangentenkegels einen Winkel kleiner als 90° ein, dann ist \bar{x} ein minimaler bzw. maximaler Punkt. Mathematisch: Gilt

 \nabla f(\bar{x})\cdot \vec{d} > 0 \;(\mathrm{oder} < 0 ) für alle \vec{d} \in T(S,\bar{x}) \setminus \lbrace \vec{0} \rbrace ,

dann ist \bar{x} ein lokales Minimum (bzw. Maximum). Dies ist ein hinreichendes Optimalitätskriterium erster Ordnung. Ein hinreichendes Optimalitätskriterium zweiter Ordnung für einen KKT-Punkt \bar{x} besagt, dass wenn \bar{x} ein stationärer Punkt und die Hesse-Matrix der Zielfunktion ist positiv (negativ) definit für alle Vektoren aus dem Tangentenkegel, dann ist \bar{x} ein lokales Minimum (bzw. Maximum). Mathematisch:

 \nabla f(\bar{x}) = \vec{0} und \vec{d}\cdot \nabla^2 f(\bar{x})\vec{d} > 0\;(\mathrm{oder} < 0 ) für alle \vec{d} \in T(S,\bar{x}) \setminus \lbrace \vec{0} \rbrace .

Darin ist T(S, \vec{x}) der Tangentenkegel, siehe #Regularitäts-Bedingungen, Tangenten- und Linearisierender Kegel.

Sätze zu den Näherungsverfahren[Bearbeiten]

  1. Im Grenzwert der gegen null gehenden Barriereparameter geht die mit Barrierefunktionen gefundene Lösung in die mit den Lagrange Multiplikatoren gefundene Lösung über.
  2. Im Grenzwert der gegen unendlich gehenden Strafparameter geht die mit Straffunktionen gefundene Lösung in die mit den Lagrange Multiplikatoren gefundene Lösung über.
  3. Im Grenzwert unendlich vieler Iterationen strebt die mit der erweiterten Lagrange Methode gefundene Lösung auch gegen die mit den Lagrange Multiplikatoren gefundene Lösung.

Beispiel[Bearbeiten]

Fläche f(a,b) = a b

Anhand eines einfachen Beispiels sollen die oben genannten fünf Methoden der Lösung eines Problems erläutert werden. In dem Problem soll das Produkt zweier positiver reeller Zahlen maximiert werden, deren Summe höchsten vierzehn beträgt. Mathematisch formuliert heißt das: Gesucht wird

f\left(a,b\right)=a\cdot b\rightarrow \mathrm{max}

mit der NB

g\left(a,b\right)=a + b - 14\le 0 .

Es ist anschaulich klar, dass im Optimum die NB aktiv ist, sonst könnte leicht eine bessere Lösung gefunden werden. Der einzige stationäre Punkt mit \nabla f = \vec{0} dieser in a und b linearen Funktion liegt in (0,0) weswegen die Suche manchmal in diese Richtung geht. Dann muss man die NB gewissermaßen „in den Weg legen“, damit der Algorithmus sie „bemerkt“.

Eliminierung der Freiheitsgrade[Bearbeiten]

Aus der als aktiv erkannten NB ermittelt man

a + b - 14=0\rightarrow b=14-a

und die Hilfsfunktion hängt nur noch von a ab, so dass die Lösung mittels Kurvendiskussion berechnet werden kann:

\begin{array}{l}
\Pi(a):=f(a,14-a)=a\cdot(14-a)=14 a - a^2 \rightarrow \mathrm{max}\\
\rightarrow \Pi'(a)= 14 - 2 a =0 \rightarrow a=7 \rightarrow b=14-7=7\\
\rightarrow \Pi''(a=7)=-2 < 0 
\end{array} .

Man sieht:

  1. Die Hilfsfunktion hat nur noch eine Variable.
  2. Die Lösung ist korrekt, denn es handelt sich um ein Maximum.
  3. Das Verfahren findet vor allem dann Anwendung, wenn bekannt ist, dass die NB aktiv ist, z.B. im Kontakt fest verklebter Bauteile.

Lagrange Multiplikator[Bearbeiten]

Hier wird die \lambda fache NB von der Zielfunktion subtrahiert, worin der Faktor \lambda der Lagrange Multiplikator ist und wie eine zusätzliche Unbekannte behandelt wird. Die Subtraktion wird gewählt damit eine Verletzung der NB bei \lambda > 0 bestraft wird. Die Hilfs- oder Lagrange Funktion lautet hier also:

\Pi(a,b,\lambda)=a\cdot b - \lambda (a + b - 14)\rightarrow \mathrm{max} .

Im Minimum verschwinden alle Ableitungen nach allen Variablen:

\begin{array}{l}
\frac{\partial\Pi}{\partial a}=b-\lambda =0\rightarrow \lambda = b\\
\frac{\partial \Pi}{ \partial b}=a-\lambda =0\rightarrow a=\lambda =b\\
\frac{\partial\Pi}{\partial\lambda}=14 - a - b=14 - 2 a =0\rightarrow a=b=\lambda =7
\end{array} .

und die Lösung a=b=7 ist gefunden. Wegen g(a=7, b=7)=0 und \lambda =7\ge 0 ist die Karush-Kuhn-Tucker-Bedingung erfüllt. Das obige Gleichungssystem kann als Matrizengleichung geschrieben werden:

\left(\begin{array}{ccc}
1& 0& -1\\
0& 1& -1\\
-1& -1& 0
\end{array}\right)
\left(\begin{array}{c}
b\\
a\\
\lambda
\end{array}\right)
=
\left(\begin{array}{c}
0\\
0\\
-14
\end{array}\right)

Die Methode der Lagrangeschen Multiplikatoren:

  • erfüllt die NB exakt,
  • führt zusätzliche Unbekannte (\lambda) ein,
  • schleust verschwindende Diagonalelemente in das Gleichungssystem ein, die bei Anwendung der Cholesky-Zerlegung problematisch sind.
  • kann anhand des Vorzeichens von \lambda beurteilen, ob die Nebenbedingung aktiv ist oder nicht (positiv bei Aktivität).

Barrierefunktion[Bearbeiten]

Mit Barrierefunktionen können Neben-Bedingungen mit Sicherheit erfüllt werden zu dem Preis, dass im Optimum die NB nicht ausgereizt wird. Bei der Suche nach einer Lösung wird zur Ziel-Funktion f das r -fache einer Barrierefunktion hinzu addiert, z. B.:

\Pi \left(a,b\right)=a{\cdot}b + 2r\ln (14-a-b)\rightarrow \mathrm{max} .

Darin ist \ln (14-a-b ) eine logarithmische Barrierefunktion und 2r der Barriereparameter. Im Extremum verschwinden wieder alle Ableitungen:

\begin{array}{c}
\frac{{\partial}\Pi}{\partial a}=b-\frac{2r}{14-a-b}=0\\ 
\frac{{\partial}\Pi}{\partial b}=a-\frac{2r}{14-a-b}=0\end{array} ,

und daher a=b sowie a ( 14 - 2 a ) - 2r = -2 (a^2-7 a+r )=0 , was die Lösung

a=b=\frac{7}{2}\pm\sqrt{\frac{49}{4}-r} \le 7

besitzt, die für r\rightarrow 0 die Lösungen (a,b)\in \{(0,0),(7,7)\} besitzt. Bei der iterativen Suche mit dem Newton-Raphson Verfahren bekommt man die Vorschrift

{\nabla}\Pi +\nabla^2\Pi \Delta \vec{x}
=
\left(\begin{array}{c}
b-\frac{2r}{14-a-b}\\ 
a-\frac{2r}{14-a-b}
\end{array}\right)
+
\left(\begin{array}{cc}
-\frac{2r}{(14-a-b)^2} & 1-\frac{2r}{(14-a-b)^2}\\ 
1-\frac{2r}{(14-a-b)^2} & -\frac{2r}{(14-a-b)^2}
\end{array}\right)
\left(\begin{array}{c}
\Delta a\\ 
\Delta b
\end{array}\right)
=
\left(\begin{array}{c}
0\\ 
0
\end{array}\right)

für die Berechnung des Inkrements \Delta a und \Delta b . Die Determinante der Hesse-Matrix {{\nabla}}^2\Pi lautet:

\frac{4 r^2}{(14-a-b)^4}-\left( 1 - \frac{2r}{(14-a-b)^2}\right)^2
=
\frac{4r}{(14-a-b )^2}-1 .

Man sieht:

  • Die Nebenbedingung wird eingehalten.
  • Im Grenzwert r\rightarrow 0 erhält man die exakte Lösung.
  • Für r>49/4 existiert kein optimaler Punkt. Allgemein stimmen die Höhenlinien der Hilfsfunktion nicht mit denen der Zielfunktion überein.
  • Bei Annäherung an die Lösung und mit r\rightarrow 0 ist die Hesse-Matrix schlecht konditioniert.
  • Bei einer Gradienten basierten Suche muss sichergestellt werden, dass das Inkrement in den Unbekannten nicht so groß ist, dass man aus Versehen auf der falschen Seite der Barriere landet, wo die Barrierefunktion in diesem Beispiel nicht definiert ist.

Strafverfahren[Bearbeiten]

Mit Straf-Verfahren können Neben-Bedingungen näherungsweise erfüllt werden. Bei der Suche nach einer Lösung wird von der Ziel-Funktion f das r -fache einer Straffunktion abgezogen (soll ja die Verletzung bestrafen):

\Pi(a,b)=a\cdot b - \frac{r}{n}\cdot\mathrm{max}(0, a+b-14)^n\rightarrow \mathrm{max} .

Darin ist r der Straf-Parameter und \mathrm{max}(0, a+b-14)^n die Straffunktion. Mit n=1 nennt man die Straffunktion exakt, sie ist aber nicht differenzierbar. Hier soll n=2 benutzt werden. Im Extremum verschwinden wieder alle Ableitungen:

\begin{array}{l}
\frac{\partial \Pi}{\partial a}=b - r \cdot \mathrm{max}(0, a+b-14)=b - r (a+b-14)=0
\rightarrow a+ (1-\frac{1}{r} ) b = 14\\
\frac{\partial\Pi}{\partial b} = a - r \cdot \mathrm{max}(0, a+b-14) = 0
\rightarrow (1-\frac{1}{r} )a+b=14
\end{array} .

Mit a+b-14 \le 0 bekommt man a=b=0 weswegen man hier im „verbotenen“ Gebiet a+b-14 > 0 starten muss. Dann hat man das Gleichungssystem

\left(\begin{array}{cc}
1-\frac{1}{r} & 1\\
1& 1-\frac{1}{r}
\end{array}\right)
\left(\begin{array}{c}
a\\
b
\end{array}\right)
=
\left(\begin{array}{c}
14\\
14
\end{array}\right) ,

mit der Lösung

a=b=\frac{14r}{2r-1}=7 + \frac{7}{2 r - 1} > 7 ,

die für r\rightarrow \infty in die Lösung a=b=7 übergeht.

Man sieht:

  • Die Nebenbedingung wird nur näherungsweise erfüllt aber mit wachsendem Strafparameter immer besser, allerdings nur weil hier exakt gerechnet werden kann. Bei numerischer Lösung des Gleichungssystems würden Rundungsfehler mit wachsendem Strafparameter zu Fehlern führen.
  • Der Grund hierfür liegt darin, dass auch hier mit zunehmendem Strafparameter der Wert der Determinante des Gleichungssystems \left(1-\frac{1}{r}\right)^2 - 1 = \frac{1}{{r}^2}-\frac{2}{r} gegen null geht. Das Problem ist zunehmend schlecht gestellt.
  • Es muss ein Kompromiss hinsichtlich der Konditionierung des Gleichungssystems und der Genauigkeit der Erfüllung der NB gefunden werden.
  • Durch Einsetzen von a und b in die NB kann geprüft werden, wie stark sie verletzt wird.
  • Es werden keine zusätzlichen Variablen oder verschwindende Diagonalelemente eingeschläust, es existiert eine Lösung für alle Strafparameter r \ne 1/2 und das Verfahren gilt als numerisch robust.

Erweiterte oder verallgemeinerte-Lagrange-Methode[Bearbeiten]

Die erweiterte oder verallgemeinerte Lagrange-Methode (engl. augmented-lagrange-method) benutzt die Straffunktion, um die Lagrange-Multiplikatoren näherungsweise zu berechnen. Bei der Suche nach einer Lösung wird nun von der Zielfunktion f das {\lambda}_i -fache der NB und das r -fache einer Straffunktion abgezogen (Strafidee):

\Pi(a,b)= a\cdot b - \frac{1}{2r}\left(\mathrm{max}(0,\lambda_i+r (a+b-14) )^2-{\lambda}_i^2\right)\rightarrow \mathrm{max} .

Im Extremum verschwinden alle Ableitungen:

\begin{array}{l}
\frac{\partial\Pi(a,b )}{\partial a}= b - \mathrm{max}(0,\lambda_i+r (a+b-14))=0\\
\frac{\partial\Pi(a,b )}{\partial b}= a - \mathrm{max}(0,\lambda_i+r (a+b-14))=0
\end{array} .

Mit \lambda_i+r(a+b-14) \le 0 bekommt man a=b=0. Andernfalls bekommt man aus

\begin{array}{l}
b - \lambda_i - r (a+b-14)=0 \rightarrow a + \left(1-\frac{1}{r} \right) b = 14 - \frac{\lambda_i}{r}\\
a - \lambda_i - r (a+b-14)=0 \rightarrow \left(1-\frac{1}{r} \right) a + b = 14 - \frac{\lambda_i}{r}
\end{array}

das Gleichungssystem

\left(\begin{array}{cc}
1-\frac{1}{r}& 1\\
1& 1-\frac{1}{r}
\end{array}\right)
\left(\begin{array}{c}
a\\
b
\end{array}\right)
=
\left(\begin{array}{c}
14-\frac{\lambda_i}{r}\\
14-\frac{\lambda_i}{r}
\end{array}\right) ,

das die Lösung

{a}_{i+1}={b}_{i+1}=\frac{14r-{\lambda}_i}{2r-1}=7+\frac{7-\lambda_i}{2r-1}

hat.

Die numerische Suche des Extremums mit der erweiterten Lagrange-Methode

  1. startet normalerweise mit i=0 und den Anfangswerten {a}_{0}={b}_{0}={\lambda}_{0}=0 ,
  2. berechnet a_{i+1} und {b}_{i+1} (im nicht-linearen Fall Iteration bis zur Konvergenz),
  3. setzt {\lambda}_{i+1}=\mathrm{max}(0,\lambda_i+r\cdot g(a_{i+1},b_{i+1} ) )=\mathrm{max}(0,\lambda_i+r\cdot (a_{i+1}+b_{i+1}-14 ) ) und
  4. bricht ab, wenn ein geeignetes Konvergenzkriterium erfüllt ist oder inkrementiert i und kehrt in Schritt 2 zurück.

Hier muss allerdings ein Startwert mit a+b-14 > 0 vorgegeben werden, damit der Punkt (a,b)=(7,7) gefunden werden kann. Mit r=100\,,\;a_0=100 und b_0=0 ergibt sich bis zu einem Fehler |a_i+b_i-14|< 10^{-12} folgender Iterationsverlauf:

i a_i a_i-a_{i-1} \lambda_i a_i b_i - a_{i-1} b_{i-1} a_i + b_i - 14
1 7.03015075377 -92.9698492462 7.03015075377 49.4230196207 0.0603015075377
2 6.99984848867 -0.0303022650943 6.99984848867 -0.425140756318 -0.000303022650945
3 7.00000076136 0.000152272688918 7.00000076136 0.00213179468975 1.52272689036e-06
4 6.99999999617 -7.65189392737e-07 6.99999999617 -1.07126520774e-05 -7.65189511753e-09
5 7.00000000002 3.84517395702e-09 7.00000000002 5.38324300692e-08 3.84527965025e-11
6 7.0 -1.9323209699e-11 7.0 -2.70524935786e-10 -1.93622895495e-13

Die erweiterte Lagrange-Methode

  • erfüllt die NB beliebig genau,
  • führt weder neue Unbekannte ein noch beeinträchtigt sie die Konditionierung des Gleichungssystems,
  • benötigt dazu mehrere konvergierte Lösungen des globalen Problems (im zweiten Schritt) und
  • kann die Aktivität der Neben-Bedingung an {\lambda}_i messen.

Literatur[Bearbeiten]

  • Avriel, Mordecai: Nonlinear Programming: Analysis and Methods. Dover Publishing, 2003, ISBN 0-486-43227-0.
  • R. Andreani, J. M. Martínez, M. L. Schuverdt: On the relation between constant positive linear dependence condition and quasinormality constraint qualification. Journal of optimization theory and applications, vol. 125, no2, 2005, pp. 473–485.
  • Florian Jarre, Josef Stoer: Optimierung. Springer, Berlin 2003, ISBN 3-540-43575-1.
  • R. Reinhardt, A. Hoffmann, T. Gerlach: Nichtlineare Optimierung. Springer 2013. ISBN 978-3-8274-2948-3.

Weblinks[Bearbeiten]