
Die nichtlineare Optimierung (engl.: nonlinear programming, kurz: NLP) beschäftigt sich mit der Lösung nichtlinearer Optimierungsprobleme, also mit Optimierungsproblemen, deren Zielfunktion nichtlinear ist und/oder deren Nebenbedingungen durch nichtlineare Funktionen beschrieben werden. Sie ist ein Teilgebiet der mathematischen Optimierung und enthält als Spezialfall die konvexe Optimierung. In Abgrenzung zur konvexen Optimierung wird hier lediglich die stetige Differenzierbarkeit aller Funktionen, nicht jedoch ihre Konvexität, vorausgesetzt. Alle grundlegenden Begriffe wie Zielfunktion, Entscheidungsvariablen, Nebenbedingungen, zulässige Menge, lokale und globale Optimierung werden in den Artikeln zur mathematischen Optimierung und zu allgemeinen Optimierungsproblemen erklärt.
Nichtlineare Optimierungsprobleme finden sich in vielfältiger Weise in der Wissenschaft und im Ingenieurwesen.
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 nichtlinear sein. In der theoretischen Mechanik findet sich im Hamiltonschen Prinzip ein Extremalprinzip, dessen Lösung bei nichtlinearen Randbedingungen ein nichtlineares Programm darstellt.
Moderne Ingenieuranwendungen 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.
Es gibt viele mögliche Formulierungen eines nicht linearen Programms. An dieser Stelle soll eine möglichst allgemeine Form gewählt werden. Der Eingabeparameter sei aus dem , das heißt, das Problem hängt von Einflussparametern ab, die im Vektor eingelagert sind. Die Zielfunktion sei einmal stetig differenzierbar. Weiterhin seien die Nebenbedingungen (NB) in Ungleichheitsform mit und in Gleichheitsform mit gegeben und einmal stetig differenzierbar. Dann lautet das Problem mathematisch:
Der zulässige Bereich wird von den Nebenbedingungen (NB) eingeschränkt: Für alle Werte der Parameter aus dem zulässigen Bereich () sollen die NB erfüllt sein. Zulässig ist das Problem , wenn der zulässige Bereich nicht leer ist.
Zumeist beschränkt sich die theoretische Behandlung der nicht linearen Optimierung auf Minimierungsprobleme. In der Tat kann das Maximierungsproblem einer Funktion in ein Minimierungsproblem von oder , falls gesichert ist, umformuliert werden.
Das Problem wird mit den unten beschriebenen Verfahren auf die Optimierung einer Hilfsfunktion ohne NB zurückgeführt. Um sich die gradientenbasierten 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 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 würde hier die Durchdringung der Kugeln und bezeichnen, wobei mit negativer Durchdringung ein positiver Abstand gemeint wird.
Die Vor- und Nachteile der beschriebenen Methoden sind in der Tabelle zusammengefasst:
| Methode | Vorteile | Nachteile |
|---|---|---|
| Lagrange-Multiplikatoren |
|
|
| Barrierefunktionen |
|
|
| Strafverfahren | Für geht die gefundene Lösung in die mit Lagrange-Multiplikatoren gefundene über. |
|
| Erweiterte Lagrange-Methode |
|
Benötigt mehrere konvergierte Lösungen des globalen Problems. |
| Eliminierung der Freiheitsgrade |
|
Ist nur anwendbar, wenn die Aktivität der NB bekannt ist. |
In einem nicht linearen Programm können NB den zulässigen Bereich in einigen Punkten derart einschränken, dass zwar aber kein Punkt in seiner Umgebung im zulässigen Bereich liegt. Mathematisch formuliert heißt das, dass es eine Umgebung gibt, so dass
gilt. Isolierte Punkte müssen alle einzeln, jeder für sich, auf Optimalität geprüft werden.

Für die Formulierung von Optimalitätsbedingungen müssen die NB gewisse Anforderungen erfüllen, engl. constraint qualifications (CQ). Unter anderem 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 und Linearisierender Kegel. Um sich diese anschaulich klarzumachen, stellt man sich an einen Punkt im zulässigen Gebiet und läuft unter Beachtung der NB (die NB kann man sich als undurchdringliche Wände vorstellen) zum Zielpunkt . Der Tangentenkegel ist dann die Menge aller möglichen Richtungen, aus denen man im Zielpunkt ankommen kann. Beim linearisierenden Kegel werden zunächst die NB linearisiert, d. h. durch ihre Tangenten im Zielpunkt ersetzt. Der linearisierende Kegel ist dann die Menge aller möglichen Richtungen, aus denen man unter Beachtung der linearisierten NB im Zielpunkt ankommen kann. Der Tangentenkegel und Linearisierende Kegel unterscheiden sich dort, wo zwei Wände am Standort parallel verlaufen und der Zielpunkt 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 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. Die Übereinstimmung von linearisierenden Kegel und Tangentialkegel wird manchmal auch als eigene Regularitätsbedingung aufgeführt und Abadie Constraint Qualification genannt. Beispiele für Regularitätsbedingungen sind:
Man kann zeigen, dass die folgenden beiden Folgerungsstränge gelten
obwohl MFCQ nicht äquivalent zu CRCQ ist. In der Praxis werden schwächere Constraint Qualifications bevorzugt, da diese stärkere Optimalitäts-Bedingungen liefern.
Die CQ sind dazu da, Zustände wie im Ursprung in folgenden Beispielen von der Betrachtung auszuschließen:
Die Karush-Kuhn-Tucker-Bedingungen sind ein notwendiges Optimalitätskriterium erster Ordnung und eine Verallgemeinerung der notwendigen Bedingung von Optimierungsproblemen ohne Nebenbedingungen sowie der Lagrange-Multiplikatoren für Optimierungsprobleme unter Gleichungsnebenbedingungen. In Worten bedeutet der Satz von Karush-Kuhn-Tucker ungefähr, dass wenn ein zulässiger, regulärer und optimaler Punkt ist, sich der Gradient der Zielfunktion als positive Linearkombination der Gradienten der aktiven NB darstellen lässt, siehe auch das Bild oben.
Sei die Zielfunktion und die Funktionen mit und die Funktionen mit sind Nebenbedingungs-Funktionen. Alle vorkommenden Funktionen seien einmal stetig differenzierbar. Es sei ein regulärer Punkt, das heißt, eine der Regularitätsanforderung (CQ) von oben ist erfüllt. Falls ein lokales Optimum ist, dann existieren Konstanten und so dass
Jeder Punkt, in dem diese Bedingungen erfüllt sind, heißt Karush-Kuhn-Tucker-Punkt (kurz: KKT-Punkt).
Ist ein Punkt des zulässigen Gebietes in dem keine NB aktiv sind, insbesondere keine Gleichheitsnebenbedingungen vorliegen, dann sind wegen alle und die obigen Bedingungen reduzieren sich auf die bekannte notwendige Bedingung unrestringierter Probleme .
Die Fritz-John-Bedingungen (oder kurz FJ-Bedingungen) sind genau wie die KKT-Bedingungen ein Optimalitätskriterium erster Ordnung. Im Gegensatz zu den KKT-Bedingungen kommen sie ohne Regularitätsbedingungen aus, liefern aber eine schwächere Aussage. Unter Umständen stimmen sie mit den KKT-Bedingungen überein.
Ist ein zulässiger Punkt, der lokal Optimal ist, dann existieren so dass
und ungleich dem Nullvektor ist.
Jeder Punkt, in dem diese Bedingungen erfüllt sind, heißt Fritz-John-Punkt oder kurz FJ-Punkt. Die FJ-Bedingungen unterscheiden sich nur durch Einführung des Skalars vor dem Gradient der Zielfunktion.
Ist 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 ein minimaler bzw. maximaler Punkt. Mathematisch: Gilt
dann ist ein lokales Minimum (bzw. Maximum). Dies ist ein hinreichendes Optimalitätskriterium erster Ordnung. Ein hinreichendes Optimalitätskriterium zweiter Ordnung für einen KKT-Punkt besagt, dass wenn ein stationärer Punkt und die Hesse-Matrix der Zielfunktion ist positiv (negativ) definit für alle Vektoren aus dem Tangentenkegel, dann ist ein lokales Minimum (bzw. Maximum). Mathematisch:
Darin ist der Tangentenkegel, siehe #Regularitäts-Bedingungen, Tangenten- und Linearisierender Kegel.

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öchstens 16 beträgt. Mathematisch formuliert heißt das: Gesucht wird
mit der NB
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 dieser in und linearen Funktion liegt in weswegen die Suche manchmal in diese Richtung geht. Dann muss man die NB gewissermaßen „in den Weg legen“, damit der Algorithmus sie „bemerkt“.
Aus der als aktiv erkannten NB ermittelt man
und die Hilfsfunktion hängt nur noch von ab, so dass die Lösung mittels Kurvendiskussion berechnet werden kann:
Man sieht:
Hier wird die -fache NB von der Zielfunktion subtrahiert, worin der Faktor der Lagrange-Multiplikator ist und wie eine zusätzliche Unbekannte behandelt wird. Die Subtraktion wird gewählt, damit eine Verletzung der NB bei bestraft wird. Die Hilfs- oder Lagrange-Funktion lautet hier also:
Im Minimum verschwinden alle Ableitungen nach allen Variablen:
und die Lösung ist gefunden. Wegen und ist die Karush-Kuhn-Tucker-Bedingung erfüllt. Das obige Gleichungssystem kann als Matrizengleichung geschrieben werden:
Die Methode der lagrangeschen Multiplikatoren
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 das -fache einer Barrierefunktion hinzu addiert, z. B.:
Darin ist eine logarithmische Barrierefunktion und der Barriereparameter. Im Extremum verschwinden wieder alle Ableitungen:
und daher sowie , was die Lösung
besitzt, die für die Lösungen annimmt. Bei der iterativen Suche mit dem Newton-Raphson Verfahren bekommt man die Vorschrift
für die Berechnung des Inkrements und . Die Determinante der Hesse-Matrix lautet:
Man sieht:
Mit Straf-Verfahren können Nebenbedingungen nur näherungsweise erfüllt werden. Bei der Suche nach einer Lösung wird von der Ziel-Funktion das -fache einer Straffunktion abgezogen:
Darin ist der Straf-Parameter und die Straffunktion. Mit nennt man die Straffunktion exakt, sie ist aber nicht differenzierbar. Hier soll benutzt werden. Im Extremum verschwinden wieder alle Ableitungen:
Mit bekommt man , weswegen man hier im unzulässigen Gebiet starten muss. Dann folgt aus
das Gleichungssystem
mit der Lösung
die für in die Lösung übergeht.
Man sieht:
Die erweiterte oder verallgemeinerte Lagrange-Methode (englisch augmented Lagrange method) benutzt die Straffunktion, um die Lagrange-Multiplikatoren näherungsweise zu berechnen. Bei der Suche nach einer Lösung wird von der Zielfunktion das -fache der NB und das -fache einer Straffunktion abgezogen (Strafidee):
Im Extremum verschwinden alle Ableitungen:
Mit bekommt man . Andernfalls entsteht aus
das Gleichungssystem
das die Lösung
hat.
Die numerische Suche des Extremums mit der erweiterten Lagrange-Methode
Hier muss allerdings ein Startwert mit vorgegeben werden, damit der Punkt gefunden werden kann. Mit und ergibt sich bis zu einem Fehler folgender Iterationsverlauf:
| 1 | 8.04020100503 | −91.959798995 | 8.04020100502 | 64.6448322012 | 0.0804020100502 |
| 2 | 7.9997979849 | −0.0404030201258 | 7.9997979849 | −0.648064402007 | −0.000404030201256 |
| 3 | 8.00000101515 | 0.000203030251889 | 8.00000101515 | 0.00324844322116 | 2.03030252166e-06 |
| 4 | 7.9999999949 | −1.02025252513e-06 | 7.9999999949 | −1.63240414395e-05 | −1.02025285997e-08 |
| 5 | 8.00000000003 | 5.12689890542e-09 | 8.00000000003 | 8.20303824867e-08 | 5.12692110988e-11 |
| 6 | 8.0 | −2.57633914202e-11 | 8.0 | −4.12214262724e-10 | −2.57571741713e-13 |
Mit einem größeren Straf-Parameter wäre die Konvergenz schneller, das Beispiel aber weniger illustrativ.
Die erweiterte Lagrange-Methode