„Mathematische Optimierung“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Weitere Quelle für Anwendungen der math. Opt. hinzugefügt
"Einfaches Beispiel" in Sektion "Optimierungsprobleme" verschoben und mit Bild illustriert; Erklärung der Grundbegriffe; lokale vs. globale Optimierung deutlich kürzer und sachlicher erklärt; Viele Einzelnachweise/Quellen hinzugefügt; Bei Klassifikation wird auf Artikel zu Optimierungsproblemen verwiesen
Zeile 1: Zeile 1:
Die '''Mathematische Optimierung''' ist ein Teilgebiet der [[Angewandte Mathematik|angewandten Mathematik]], welches sich mit dem Lösen von [[Optimierungsproblem|Optimierungsproblemen]] beschäftigt. Sie hat zahlreiche Anwendungen, beispielsweise in den Bereichen [[Automatisierungstechnik]], [[Automobilindustrie]], [[Energiewirtschaft]], [[Ernährungswissenschaft]], [[Finanzen]], [[Gesundheitssystem|Gesundheitswesen]], [[Luft- und Raumfahrttechnik]], [[Marketing]], [[Produktionsplanung und -steuerung|Produktionsplanung]], [[Maschinelles Lernen|Machine Learning]], [[Robotik]] und [[Supply-Chain-Management]].<ref>{{Literatur |Autor=H. P. Williams |Titel=Model Building in Linear and Integer Programming |Sammelwerk= |Auflage=5 |Verlag=Wiley |Ort=New Jersey |Datum=2013 |ISBN=978-1-118-44333-0 |Seiten= |Online= |Abruf=}}</ref><ref>{{Internetquelle |autor=Gurobi |url=https://www.gurobi.com/industry/ |titel=Industries that use Mathematical Optimization |sprache=en-US |abruf=2023-12-08}}</ref><ref>{{Literatur |Autor=Leena Suhl, Taïb Mellouli |Titel=Optimierungssysteme: Modelle, Verfahren, Software, Anwendungen |Auflage=3., korrigierte und aktualisierte |Verlag=Springer Gabler |Ort=Berlin / Heidelberg |Datum=2013 |Reihe= |ISBN=978-3-642-38936-8 |Abruf=}}</ref> Generell ist sie in allen Disziplinen von Interesse, in denen mit unbekannten Variablen gearbeitet wird, die optimal bestimmt werden sollen wie beispielsweise in der [[Chemie]], der [[Informatik]], der [[Physik]] oder den [[Wirtschaftswissenschaft|Wirtschaftswissenschaften]]. Häufig ist eine analytische Lösung von Optimierungsproblemen nicht möglich und es müssen [[Numerische Mathematik|numerische Verfahren]] eingesetzt werden.
Die '''Mathematische Optimierung''' ist ein Teilgebiet der [[Angewandte Mathematik|angewandten Mathematik]], welches sich mit dem Lösen von [[Optimierungsproblem|Optimierungsproblemen]] beschäftigt. Sie hat zahlreiche Anwendungen, beispielsweise in den Bereichen [[Automatisierungstechnik]], [[Automobilindustrie]], [[Energiewirtschaft]], [[Ernährungswissenschaft]], [[Finanzen]], [[Gesundheitssystem|Gesundheitswesen]], [[Luft- und Raumfahrttechnik]], [[Marketing]], [[Produktionsplanung und -steuerung|Produktionsplanung]], [[Maschinelles Lernen|Machine Learning]], [[Robotik]] und [[Supply-Chain-Management]].<ref name=":0">{{Literatur |Autor=H. P. Williams |Titel=Model Building in Linear and Integer Programming |Sammelwerk= |Auflage=5 |Verlag=Wiley |Ort=New Jersey |Datum=2013 |ISBN=978-1-118-44333-0 |Seiten= |Online= |Abruf=}}</ref><ref>{{Internetquelle |autor=Gurobi |url=https://www.gurobi.com/industry/ |titel=Industries that use Mathematical Optimization |sprache=en-US |abruf=2023-12-08}}</ref><ref>{{Literatur |Autor=Leena Suhl, Taïb Mellouli |Titel=Optimierungssysteme: Modelle, Verfahren, Software, Anwendungen |Auflage=3., korrigierte und aktualisierte |Verlag=Springer Gabler |Ort=Berlin / Heidelberg |Datum=2013 |Reihe= |ISBN=978-3-642-38936-8 |Abruf=}}</ref> Generell ist sie in allen Disziplinen von Interesse, in denen mit unbekannten Variablen gearbeitet wird, die optimal bestimmt werden sollen wie beispielsweise in der [[Chemie]], der [[Informatik]], der [[Physik]] oder den [[Wirtschaftswissenschaft|Wirtschaftswissenschaften]]. Häufig ist eine analytische Lösung von Optimierungsproblemen nicht möglich und es müssen [[Numerische Mathematik|numerische Verfahren]] eingesetzt werden.
[[Datei:Optimum.svg|rechts|300px|Beispiel einer lokalen Optimierungsaufgabe]]


== Optimierungsprobleme ==
== Beispiel eines einfachen Optimierungsproblems ==
{{Hauptartikel|Optimierungsproblem}}
Das einfachste Optimierungsproblem ist das Auffinden eines [[Extremwert|Minimums]] oder [[Extremwert|Maximums]] einer [[Differenzierbarkeit|differenzierbaren]] eindimensionalen [[Funktion (Mathematik)|Funktion]] <math>f(x)</math>, was in der Regel durch Auffinden der [[Nullstelle]]n der ersten [[Differentialrechnung|Ableitung]] gelingt.
[[Datei:Optimalpunkt_Optimalwert.jpg|mini|350x350px|Minimierung der Funktion <math>f(x) = (x-1)^2+2</math>]]
Das wohl bekannteste Optimierungsproblem ist das Auffinden eines [[Extremwert|Minimums]] oder [[Extremwert|Maximums]] einer [[Differenzierbarkeit|differenzierbaren]] eindimensionalen [[Funktion (Mathematik)|Funktion]] <math>f(x)</math>, was in der Regel durch Berechnung der [[Nullstelle]]n der ersten [[Differentialrechnung|Ableitung]] <math>f'(x)</math> gelingt. Ein einfaches Beispiel ist in nebenstehendem Bild aufgezeigt.

Jedes Optimierungsproblem besteht aus einer zu optimierenden ''Zielfunktion'' und ''Entscheidungsvariablen'', welchen manchmal ''Nebenbedingungen'' (auch ''Restriktionen'' genannt) auferlegt werden, die die ''zulässige Menge'' definieren.

Mathematisch formuliert lässt sich das Optimierungsproblem <math>P</math> schreiben als

: <math display="block">P:\qquad\min_x f(x)\quad\text{s. t.}\quad x\in M,</math>

wobei die ''Zielfunktion'' <math>f:V\to\mathbb R </math> jedem Vektor von ''Entscheidungsvariablen'' <math>x\in V</math> aus einem beliebigen [[Vektorraum]] <math>V</math> (z.B. <math>\mathbb{R}^n</math>) eine reelle Zahl <math>f(x)</math> zuordnet, die es zu minimieren gilt. Bei der Suche nach dem ''Optimalpunkt'' <math>x^\star</math>, welcher <math>f(x)</math> minimiert, kommen nur Punkte der ''zulässigen Menge'' <math>M\subseteq V</math> infrage. Ist ein Optimalpunkt <math>x^\star</math> gefunden, so erhält man den zugehörigen ''Optimalwert'' <math>f(x^\star)</math> durch Einsetzen des Optimalpunkts in die Zielfunktion, welcher im Gegensatz zum Optimalpunkt immer eindeutig bestimmt ist. Die zulässige Menge <math>M</math> lässt sich in der Regel in der Form

<math display="block">M = \{x\in V|\ g_i(x)\le 0,\ h_j(x)=0,\ i\in I,\ j\in J\}</math>

darstellen, d.h. sie ist durch Gleichungen und Ungleichungen funktional beschrieben. Eine solche Darstellung ist in der Regel nicht eindeutig. Generell gibt es für die meisten Anwendungen verschiedene Möglichkeiten, diese als Optimierungsproblem zu formulieren, die sich teilweise jeweils auch nicht klar dominieren. Sobald der Schwerpunkt auf einer möglichst vorteilhaften mathematischen Beschreibung des zu optimierenden Sachverhalts liegt, befindet man sich im Bereich der mathematischen Modellierung und spricht entsprechend auch von [[Optimierungsmodell|Optimierungsmodellen]].<ref name=":0" /><ref name=":1">{{Literatur |Autor=Nathan Sudermann-Merx |Titel=Einführung in Optimierungsmodelle |Verlag=Springer Berlin Heidelberg |Ort=Berlin / Heidelberg |Datum=2023 |ISBN=978-3-662-67380-5 |DOI=10.1007/978-3-662-67381-2}}</ref><ref>{{Literatur |Autor=Josef Kallrath |Titel=Gemischt-ganzzahlige Optimierung: Modellierung in der Praxis |Datum=2002 |DOI=10.1007/978-3-322-80219-4 |Online= |Abruf=}}</ref>


== Beispiele für Optimierungsprobleme ==
== Beispiele für Optimierungsprobleme ==
[[Datei:optimierung2.gif|rechts|Beispiel einer globalen Optimierungsaufgabe]]
; [[Wirtschaftsmathematik]]: Die Zielfunktion stellt hier meist den Gewinn oder den Umsatz einer Firma dar; Parameter sind Rohstoffe, Personal-, Maschineneinsatz, Preise usw. Die Zielfunktion soll maximiert werden. Im Grunde genommen handelt es sich um eine vereinfachte [[Formalisierung]] eines grundlegenden Managementproblems. Seine systematische Fundierung erhält es in der [[Operations Research]].
; [[Wirtschaftsmathematik]]: Die Zielfunktion stellt hier meist den Gewinn oder den Umsatz einer Firma dar; Parameter sind Rohstoffe, Personal-, Maschineneinsatz, Preise usw. Die Zielfunktion soll maximiert werden. Im Grunde genommen handelt es sich um eine vereinfachte [[Formalisierung]] eines grundlegenden Managementproblems. Seine systematische Fundierung erhält es in der [[Operations Research]].
; [[Statistik]], [[Data-Mining]]: [[Statistisches Modell|Statistische Modelle]] enthalten offene Parameter, die geschätzt werden. Ein Parametersatz ist optimal, wenn die zugehörige Modellinstanz die Datenbeziehungen optimal darstellt, d.&nbsp;h. die Abweichungen der modellierten Daten (im Sinne einer passenden [[Gütefunktion]]) von den [[Empirie|empirischen]] Daten so gering wie möglich, also optimal sind. Die Zielfunktion kann hier unterschiedlich gewählt werden, zum Beispiel als [[Fehlerquadratsumme]] oder als [[Likelihood-Funktion]].
; [[Statistik]], [[Data-Mining]]: [[Statistisches Modell|Statistische Modelle]] enthalten offene Parameter, die geschätzt werden. Ein Parametersatz ist optimal, wenn die zugehörige Modellinstanz die Datenbeziehungen optimal darstellt, d.&nbsp;h. die Abweichungen der modellierten Daten (im Sinne einer passenden [[Gütefunktion]]) von den [[Empirie|empirischen]] Daten so gering wie möglich, also optimal sind. Die Zielfunktion kann hier unterschiedlich gewählt werden, zum Beispiel als [[Fehlerquadratsumme]] oder als [[Likelihood-Funktion]].
Zeile 13: Zeile 25:
; [[Physik]]: Auswertung von Messkurven, indem Parameterwerte einer Theoriefunktion so variiert werden („Optimierung im Parameterraum“, s. a. [[Ausgleichsrechnung]] („Fitten“)), dass die Theoriefunktion bestmöglich mit der Messkurve übereinstimmt. Physikalische Systeme streben stets ein [[Energie]]-Minimum an; viele Problemstellungen bestehen gerade darin, dieses Energie-Minimum zu finden.
; [[Physik]]: Auswertung von Messkurven, indem Parameterwerte einer Theoriefunktion so variiert werden („Optimierung im Parameterraum“, s. a. [[Ausgleichsrechnung]] („Fitten“)), dass die Theoriefunktion bestmöglich mit der Messkurve übereinstimmt. Physikalische Systeme streben stets ein [[Energie]]-Minimum an; viele Problemstellungen bestehen gerade darin, dieses Energie-Minimum zu finden.


== Lösungskonzepte, lokale und globale Optimierung ==
== Abgrenzung ==
[[Datei:Extrema example de.svg|mini|300x300px|Lokale und globale Minima und Maxima der Funktion <math>f(x)=\cos(3\pi x)/x</math> im Bereich <math>0.1\le x\le 1.1</math>]]

Neben Unterscheidung in Optimalpunkt- und wert wird in Literatur und Praxis oft einfach nur von der ''Lösung,'' dem ''Optimum'' oder dem ''Minimum/Maximum'' eines Optimierungsproblems gesprochen. Da für den Optimalpunkt <math>x^\star\in M</math> einer Minimierungsaufgabe gilt
Verwandt mit der Optimierung ist das Gebiet der [[Approximation]] in der [[Numerik]]. Man kann umgekehrt sagen: Ein Approximationsproblem ist das Problem, den Abstand (die [[Metrischer Raum|Metrik]]) zweier Funktionen zu minimieren.

== Begriffe: Zielfunktion, Nebenbedingungen, zulässige Menge, lokale und globale Optimierung ==

Es sei im Folgenden eine Minimierungsaufgabe angenommen. Das, was optimiert werden soll, zum Beispiel ein Abstand, nennt man ''Zielfunktion''. Das, was variiert wird, sind die ''Parameter'' oder ''Variablen'' der Zielfunktion. Bei einer zweidimensionalen Optimierungsaufgabe (also zwei unabhängige Parameter) kann man sich die Zielfunktion räumlich vorstellen, indem die Parameter die Längen- und Tiefenachse aufspannen. Die Höhe ist dann der Zielfunktionswert. In der reinen [[Anschauung]] entsteht so (zumindest bei [[Stetige Funktion|stetigen Funktionen]]) ein „Gebirge“ mit Bergen und Tälern.

Falls es sich bei der Optimierungsaufgabe tatsächlich um ein [[Ausgleichungsrechnung|Approximationsproblem]] handelt, dann spricht man bei dem „Gebirge“ mitunter auch von der ''Fittopologie''. In diesem Fall wird als Zielfunktion in den allermeisten Fällen die ''Fehlerquadratsumme'' eingesetzt, siehe Details im Artikel [[Methode der kleinsten Quadrate]].

Da die Zielfunktion ein „Gebirge“ darstellt, ist das Optimierungsproblem damit gleichzusetzen, in diesem Gebirge das tiefste Tal (Minimierung) oder den höchsten Gipfel (Maximum) zu finden. Der Aufwand zur Lösung der Aufgabe hängt entscheidend von der Form des „Gebirges“ ab. Extrembeispiel für eine Minimierungsaufgabe wäre eine absolut flache Ebene, aus der an zufälligen Punkten einzelne nadelförmige Spitzen herausragen. In diesem Fall hilft keinerlei [[Suchverfahren|Suchalgorithmus]], man kann nur zufällig suchen ([[Monte-Carlo-Methode]]) oder systematisch die gesamte Fläche abrastern. Einer der einfachsten Fälle einer zweidimensionalen Optimierungsaufgabe liegt vor, wenn das Gebirge die Form einer um die Höhenachse symmetrischen Parabel hat, deren Scheitelpunkt zu finden ist.

Besteht die Optimierungsaufgabe darin, von einem gegebenen Punkt im Gebirge aus das nächste relative (lokale) Minimum oder Maximum in der Nachbarschaft zu finden, dann spricht man von ''lokaler Optimierung''. Besteht die Aufgabe darin, das absolute Minimum oder Maximum im gesamten Gebirge zu finden, dann spricht man von ''globaler Optimierung''. Die beiden Aufgaben haben einen stark unterschiedlichen Schwierigkeitsgrad: Für die lokale Optimierung gibt es zahlreiche Methoden, die alle mehr oder weniger schnell in allen nicht allzu schwierigen Fällen mit großer Sicherheit zum Ziel führen. Bei der globalen Optimierung hängt die Lösbarkeit der Aufgabe im Rahmen eines gegebenen oder realisierbaren Rechenbudgets sehr stark von der Zielfunktionstopologie ab.

Häufig ist man nur an solchen Werten für die Parameter interessiert, die zusätzliche ''[[Nebenbedingung]]en'' (NB) erfüllen. (Gelten diese Nebenbedingungen nur am Rande des Definitionsbereichs der Funktion, heißen sie auch ''Randbedingungen.'') Sie können in Form von Gleichungen oder Ungleichungen gegeben sein, oder explizit eine Menge beschreiben (zum Beispiel nur ganzzahlige Lösungen). Die Menge aller Parameterwerte, die alle NB erfüllen, bezeichnet man als ''zulässige Menge''. Bei dem Gebirge würden die NB das Gebiet, in dem gesucht wird, eingrenzen. Das betrachtete Optimierungsproblem nennt man zulässig, wenn die zulässige Menge, also das abzusuchende Gebiet, nicht leer ist. Man unterscheidet ''aktive'' und ''passive'' Nebenbedingungen: Eine NB der Form <math>g(x) \le 0</math> ist aktiv, wenn das Optimum auf dem Rand des zulässigen Bereiches liegt und daher Gleichheit <math>g(x) = 0</math> vorliegt. Wäre die NB passiv, würde sie im Optimum keine Einschränkung darstellen, das Optimum liegt also im Gebiet und nicht auf dem Rand. Eine NB der Form <math>h(x) = 0</math> ist immer aktiv.


<math display="block">f(x^\star)\ \le\ f(x)\qquad \forall x\in M,</math>
== Klassifikation ==


er also alle anderen zulässigen Punkte global dominiert, wird er auch als ''globaler Optimalpunkt'' (auch ''globales Optimum'' oder ''globales Minimum'') bezeichnet. Entsprechend spricht man bei einer Maximierung von einem ''globalen Maximum''. Falls ein Punkt <math>x^\star\in M</math> die anderen zulässigen Punkte nur in einer [[Umgebung (Mathematik)|Umgebung]] <math>U(x^\star)</math> dominiert, wenn also gilt
=== Skalare Optimierungsprobleme ===
Ein skalares Optimierungsproblem lässt sich mathematisch als
: „Minimiere/maximiere <math>f(x)</math> unter der ''Nebenbedingung'' <math>x\in X</math>“
darstellen; hierbei ist <math>f\colon V\to\R</math> eine [[reellwertige Funktion]] und <math>X\subseteq V</math>. Häufig ist die ''zulässige Menge'' <math>X</math> indirekt durch eine Funktion gegeben, gewöhnlich standardisiert in der Form
:<math> X = \{x\in V: g(x)\le 0\}</math> mit einer vektorwertigen Funktion <math>g\colon V\to\R^m</math> (der Vergleich bedeutet: keine Komponente von <math>g(x)</math> darf positiv sein).
Je nach Form von <math>V, X, f, g</math> lassen sich skalare Optimierungsprobleme wie folgt klassifizieren:
* [[Variationsrechnung|Variationsproblem]]: <math>V</math> ist unendlichdimensional, speziell ein [[Funktionenraum]].
* [[Optimale Steuerung|Optimales Steuerungsproblem]]: Klassisches Variationsproblem mit Differentialgleichungsnebenbedingung
* [[Lineare Optimierung|Lineares Programm]] (LP): <math>V=\R^n, g = Ax - b</math> wobei <math>A\in\R^{m\times n}</math> ist affin, <math>f = c^T x</math> ist linear.
* [[Quadratische Optimierung|Quadratisches Programm]] (QP): wie oben, nur ist <math>f</math> eine [[quadratische Funktion]].
* [[Quadratisches Programm mit quadratischen Nebenbedingungen]] (QCQP)
* [[Nichtlineare Optimierung|Nichtlineares Programm]]: <math>f,g</math> sind beliebige Funktionen (meist [[Differenzierbarkeit#Stetige Differenzierbarkeit und höhere Ableitungen|stetig differenzierbar]] angenommen; in der engeren Umgebung eines Optimums kann oft eine quadratische Näherung verwendet werden, was zu einigen der praktischen Verfahren führt.)
* [[Ganzzahlige lineare Optimierung|Ganzzahliges Programm]] (auch ''diskretes Programm''): Zusätzlich sind die zulässigen <math>x</math> auf ganzzahlige oder allgemeiner diskrete Werte beschränkt.
* [[Stochastische Optimierung|Stochastisches Programm]]: Einige Parameter in der Beschreibung von <math>f, g</math> sind unbekannt (aber ihre Zufallsverteilung ist bekannt).
* [[Konvexe Optimierung|Konvexes Programm]]: <math>X</math> ist konvex und <math>f</math> ist konvex (konkav), falls minimiert (maximiert) wird. Konvexe Programme enthalten als Spezialfall
** [[Konisches Programm|Konische Programme]]: Es werden [[verallgemeinerte Ungleichung]]en verwendet, ansonsten sind alle Funktionen affin. Konische Programme haben wiederum drei Teilgebiete:
*** [[Semidefinite Programmierung|Semidefinite Programme]] verwenden den Kegel der positiv semidefiniten Matrizen, haben also als Variable eine Matrix.
*** Die [[SOCP]]s (''Second Order Cone Program'') verwenden den second-order cone, der auch [[Lorentz-Kegel]] genannt wird.
*** Auch lineare Optimierungsprobleme lassen sich als konische Programme formulieren.
** Unter gewissen Voraussetzungen fallen auch Quadratische Programme und Quadratische Programme mit quadratischen Nebenbedingungen unter die konvexe Optimierung.
** [[Geometrisches Programm|Geometrische Programme]] sind an sich nicht konvex, lassen sich aber in ein konvexes Problem überführen.


<math display="block">f(x^\star)\ \le\ f(x)\qquad \forall x\in M\cap U(x^\star),</math>
Jedes dieser Teilgebiete der Optimierung hat speziell auf die Struktur des Problems abgestimmte Lösungsverfahren.


so ist <math>x^\star</math> ein ''lokaler Optimalpunkt'' (auch ''lokales Optimum'' oder ''lokales Minimum)'' bzw. im Maximierungsfall ein ''lokales Maximum''.
Hinweis zur Terminologie: „Programm“ ist als Synonym zu „Optimierungsproblem“ zu verstehen (und nicht als „[[Computerprogramm]]“). Die Verwendung des Begriffes „Programm“ ist historisch begründet: Die ersten Anwendungen der Optimierung waren militärische Probleme, bei denen ein Aktionsplan (engl.: ''program of actions'') zu finden war.<ref>{{Webarchiv | url=http://www2.informs.org/History/dantzig/in_interview_irv5.htm | wayback=20091111031222 | text=''Father of linear programming''}} In: ''informs.org''</ref>
Ist man interessiert an der Berechnung lokaler Optima, so spricht man von ''lokaler Optimierung'' und analog bei für globale Minima oder Maxima von ''globaler Optimierung''. Für [[Konvexe Optimierung|konvexe Optimierungsprobleme]] sind alle lokale Optimalpunkte immer auch global optimal.<ref>{{Literatur |Autor=Stephen Boyd, Lieven Vandenberghe |Titel=Convex Optimization |Verlag=Cambridge University Press |Datum=2004-03-08 |ISBN=978-0-521-83378-3 |Online=https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf |Abruf=2023-12-08}}</ref> Für nichtkonvexe Probleme werden in der lokalen Optimierung Lösungsmethoden der [[Nichtlineare Optimierung|nichtlinearen Optimierung]] zur effizienten Berechnung lokaler Optima eingesetzt.<ref>{{Literatur |Autor=Carl Geiger, Christian Kanzow |Titel=Theorie und Numerik restringierter Optimierungsaufgaben |Datum=2002 |DOI=10.1007/978-3-642-56004-0 |Online= |Abruf=}}</ref> Die deterministische globale Optimierung nichtkonvexer Optimierungsprobleme erfolgt mit [[Branch-and-Bound]] bzw. [[Branch-and-Cut]] Methoden, deren Effizienz stark von der Struktur des Optimierungsproblems abhängt und die beispielsweise erfolgreich zur Lösung (nichtlinearer) gemischt-ganzzahlige Optimierungsprobleme eingesetzt werden.<ref>{{Literatur |Autor=Oliver Stein |Titel=Grundzüge der Globalen Optimierung |Datum=2021 |DOI=10.1007/978-3-662-62534-7 |Online= |Abruf=}}</ref><ref name=":1" />


== Klassifikation von Optimierungsproblemen ==
=== Vektoroptimierungsprobleme ===
Für eine Klassifikation von Optimierungsproblemen hinsichtlich ihrer mathematischen Struktur siehe [[Optimierungsproblem#Klassifikation von Optimierungsproblemen|Optimierungsproblem (Klassifikation von Optimierungsproblemen]]).
Ein Optimierungsproblem aus der [[Vektoroptimierung]] (auch [[Pareto-Optimierung]] genannt) ist dagegen ein Problem, bei dem die Werte mehrerer Zielfunktionen gleichzeitig zu optimieren sind. Dies lässt sich formalisieren, indem eine [[Vektorwertige Funktion|vektorwertige]] Zielfunktion <math>f\colon V\to\R^n</math> optimiert wird. Lösungen, die alle Komponenten der Zielfunktion gleichzeitig zu einem Optimum führen, sind in der Regel nicht vorhanden; vielmehr ergibt sich im Allgemeinen eine größere [[Lösungsmenge]], aus der zum Beispiel durch eine Skalarisierung (Gewichtung der Einzelkomponenten der Zielfunktion) ein einzelner Optimalpunkt selektiert werden kann.


== Lineare und ganzzahlige Optimierung ==
== Lineare und ganzzahlige Optimierung ==
Zeile 183: Zeile 164:
* F. Jarre, J. Stoer: ''Optimierung''. Springer, 2004, ISBN 3-540-43575-1. {{Google Buch|BuchID=DyHc3WU0QOcC}}
* F. Jarre, J. Stoer: ''Optimierung''. Springer, 2004, ISBN 3-540-43575-1. {{Google Buch|BuchID=DyHc3WU0QOcC}}
* J. Nocedal, S. J. Wright: ''Numerical Optimization''. Springer, Berlin 1999, ISBN 0-387-98793-2.
* J. Nocedal, S. J. Wright: ''Numerical Optimization''. Springer, Berlin 1999, ISBN 0-387-98793-2.
* C. Geiger, C. Kanzow: ''Theorie und Numerik restringierter Optimierungsaufgaben''. Springer, 2002, ISBN 3-540-42790-2. {{Google Buch|BuchID=spmzFyso_b8C}}
* C. Grossmann, J. Terno: ''Numerik der Optimierung''. Teubner Studienbücher, 1997, ISBN 3-519-12090-9. {{Google Buch |BuchID=tBU8KIoB7KoC}}
* C. Grossmann, J. Terno: ''Numerik der Optimierung''. Teubner Studienbücher, 1997, ISBN 3-519-12090-9. {{Google Buch|BuchID=tBU8KIoB7KoC}}


== Weblinks ==
== Weblinks ==

Version vom 9. Dezember 2023, 00:57 Uhr

Die Mathematische Optimierung ist ein Teilgebiet der angewandten Mathematik, welches sich mit dem Lösen von Optimierungsproblemen beschäftigt. Sie hat zahlreiche Anwendungen, beispielsweise in den Bereichen Automatisierungstechnik, Automobilindustrie, Energiewirtschaft, Ernährungswissenschaft, Finanzen, Gesundheitswesen, Luft- und Raumfahrttechnik, Marketing, Produktionsplanung, Machine Learning, Robotik und Supply-Chain-Management.[1][2][3] Generell ist sie in allen Disziplinen von Interesse, in denen mit unbekannten Variablen gearbeitet wird, die optimal bestimmt werden sollen wie beispielsweise in der Chemie, der Informatik, der Physik oder den Wirtschaftswissenschaften. Häufig ist eine analytische Lösung von Optimierungsproblemen nicht möglich und es müssen numerische Verfahren eingesetzt werden.

Optimierungsprobleme

Minimierung der Funktion

Das wohl bekannteste Optimierungsproblem ist das Auffinden eines Minimums oder Maximums einer differenzierbaren eindimensionalen Funktion , was in der Regel durch Berechnung der Nullstellen der ersten Ableitung gelingt. Ein einfaches Beispiel ist in nebenstehendem Bild aufgezeigt.

Jedes Optimierungsproblem besteht aus einer zu optimierenden Zielfunktion und Entscheidungsvariablen, welchen manchmal Nebenbedingungen (auch Restriktionen genannt) auferlegt werden, die die zulässige Menge definieren.

Mathematisch formuliert lässt sich das Optimierungsproblem schreiben als

wobei die Zielfunktion jedem Vektor von Entscheidungsvariablen aus einem beliebigen Vektorraum (z.B. ) eine reelle Zahl zuordnet, die es zu minimieren gilt. Bei der Suche nach dem Optimalpunkt , welcher minimiert, kommen nur Punkte der zulässigen Menge infrage. Ist ein Optimalpunkt gefunden, so erhält man den zugehörigen Optimalwert durch Einsetzen des Optimalpunkts in die Zielfunktion, welcher im Gegensatz zum Optimalpunkt immer eindeutig bestimmt ist. Die zulässige Menge lässt sich in der Regel in der Form

darstellen, d.h. sie ist durch Gleichungen und Ungleichungen funktional beschrieben. Eine solche Darstellung ist in der Regel nicht eindeutig. Generell gibt es für die meisten Anwendungen verschiedene Möglichkeiten, diese als Optimierungsproblem zu formulieren, die sich teilweise jeweils auch nicht klar dominieren. Sobald der Schwerpunkt auf einer möglichst vorteilhaften mathematischen Beschreibung des zu optimierenden Sachverhalts liegt, befindet man sich im Bereich der mathematischen Modellierung und spricht entsprechend auch von Optimierungsmodellen.[1][4][5]

Beispiele für Optimierungsprobleme

Wirtschaftsmathematik
Die Zielfunktion stellt hier meist den Gewinn oder den Umsatz einer Firma dar; Parameter sind Rohstoffe, Personal-, Maschineneinsatz, Preise usw. Die Zielfunktion soll maximiert werden. Im Grunde genommen handelt es sich um eine vereinfachte Formalisierung eines grundlegenden Managementproblems. Seine systematische Fundierung erhält es in der Operations Research.
Statistik, Data-Mining
Statistische Modelle enthalten offene Parameter, die geschätzt werden. Ein Parametersatz ist optimal, wenn die zugehörige Modellinstanz die Datenbeziehungen optimal darstellt, d. h. die Abweichungen der modellierten Daten (im Sinne einer passenden Gütefunktion) von den empirischen Daten so gering wie möglich, also optimal sind. Die Zielfunktion kann hier unterschiedlich gewählt werden, zum Beispiel als Fehlerquadratsumme oder als Likelihood-Funktion.
Klimaforschung
Klimamodelle stellen vereinfachte numerische Systeme der eigentlichen hydrodynamischen Prozesse in der Atmosphäre dar. Innerhalb der Gitterzellen müssen die Wechselwirkungen durch Gleichungen approximiert werden. Die Gleichungen können dabei entweder aus grundlegenden hydrodynamischen Gesetzen abgeleitet werden oder es werden empirische Gleichungen verwendet, also im Grunde statistische Modelle, deren Parameter so optimiert werden müssen, dass die Klimamodelle die tatsächlichen Prozesse möglichst gut darstellen.
Spieltheorie
Erreicht eine Spielerpopulation in einem Superspiel ein Populationsoptimum? Oder wenigstens ein Pareto-Optimum? Ist dieses Gleichgewicht stabil?
Physik
Auswertung von Messkurven, indem Parameterwerte einer Theoriefunktion so variiert werden („Optimierung im Parameterraum“, s. a. Ausgleichsrechnung („Fitten“)), dass die Theoriefunktion bestmöglich mit der Messkurve übereinstimmt. Physikalische Systeme streben stets ein Energie-Minimum an; viele Problemstellungen bestehen gerade darin, dieses Energie-Minimum zu finden.

Lösungskonzepte, lokale und globale Optimierung

Lokale und globale Minima und Maxima der Funktion im Bereich

Neben Unterscheidung in Optimalpunkt- und wert wird in Literatur und Praxis oft einfach nur von der Lösung, dem Optimum oder dem Minimum/Maximum eines Optimierungsproblems gesprochen. Da für den Optimalpunkt einer Minimierungsaufgabe gilt

er also alle anderen zulässigen Punkte global dominiert, wird er auch als globaler Optimalpunkt (auch globales Optimum oder globales Minimum) bezeichnet. Entsprechend spricht man bei einer Maximierung von einem globalen Maximum. Falls ein Punkt die anderen zulässigen Punkte nur in einer Umgebung dominiert, wenn also gilt

so ist ein lokaler Optimalpunkt (auch lokales Optimum oder lokales Minimum) bzw. im Maximierungsfall ein lokales Maximum. Ist man interessiert an der Berechnung lokaler Optima, so spricht man von lokaler Optimierung und analog bei für globale Minima oder Maxima von globaler Optimierung. Für konvexe Optimierungsprobleme sind alle lokale Optimalpunkte immer auch global optimal.[6] Für nichtkonvexe Probleme werden in der lokalen Optimierung Lösungsmethoden der nichtlinearen Optimierung zur effizienten Berechnung lokaler Optima eingesetzt.[7] Die deterministische globale Optimierung nichtkonvexer Optimierungsprobleme erfolgt mit Branch-and-Bound bzw. Branch-and-Cut Methoden, deren Effizienz stark von der Struktur des Optimierungsproblems abhängt und die beispielsweise erfolgreich zur Lösung (nichtlinearer) gemischt-ganzzahlige Optimierungsprobleme eingesetzt werden.[8][4]

Klassifikation von Optimierungsproblemen

Für eine Klassifikation von Optimierungsproblemen hinsichtlich ihrer mathematischen Struktur siehe Optimierungsproblem (Klassifikation von Optimierungsproblemen).

Lineare und ganzzahlige Optimierung

Ein wichtiger Spezialfall ist die lineare Optimierung. Hierbei ist die Zielfunktion linear, und die Nebenbedingungen sind durch ein System linearer Gleichungen und Ungleichungen darstellbar. Jedes lokale Optimum ist automatisch auch globales Optimum, da der zulässige Bereich konvex ist. Es gibt Pivotverfahren, um das globale Optimum im Prinzip exakt zu berechnen, wovon die bekanntesten die Simplex-Verfahren sind (nicht zu verwechseln mit dem Downhill-Simplex-Verfahren weiter unten). Seit den 1990er Jahren gibt es allerdings auch effiziente Innere-Punkte-Verfahren, die bei bestimmten Arten von Optimierungsproblemen konkurrenzfähig zum Simplex-Verfahren sein können.

Eine Beschränkung auf ganzzahlige Variablen macht das Problem deutlich schwerer, erweitert aber gleichzeitig die Anwendungsmöglichkeiten. Diese sogenannte ganzzahlige lineare Optimierung wird beispielsweise in der Produktionsplanung, im Scheduling, in der Tourenplanung oder in der Planung von Telekommunikations- oder Verkehrsnetzen eingesetzt.

Nichtlineare Optimierung

Methoden der lokalen nichtlinearen Optimierung mit Nebenbedingungen

Schwieriger als die lineare Optimierung ist der Fall der nichtlinearen Optimierung, bei der die Zielfunktion, die Nebenbedingungen (NB) oder beide nichtlinear vorliegen. Die Lösung wird erreicht, indem das Problem auf die Optimierung einer Hilfsfunktion ohne NB zurückgeführt wird. Auf dieses neue Problem können dann die Methoden der nichtlinearen Optimierung ohne NB unten angewendet werden. Das Vorgehen soll anhand eines Kontaktproblems 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. Für die Konstruktion der Hilfsfunktion liegen fünf Methoden vor:

  1. Lagrange-Multiplikatoren: Die NB werden mit reellen Faktoren, den Lagrange-Multiplikatoren, multipliziert und zur Zielfunktion hinzuaddiert. Die Faktoren werden als Unbekannte in das Problem eingeführt und müssen (unter Einhaltung der Karush-Kuhn-Tucker-Bedingungen) 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. Straffunktionen: Die NB werden mit Straffunktionen dargestellt, die im Definitionsbereich verschwinden und bei Verletzung der NB negativ sind. Die Straffunktionen werden mit Strafparametern multipliziert und zur Zielfunktion addiert (bei Maximierung, ansonsten Subtraktion), so dass die Verletzung der NB also 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 also bei positivem Abstand verschwindet, und der Strafparameter entspricht 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.
  3. Barrierefunktionen: Die Barrierefunktionen werden wie die Straffunktionen eingesetzt. Allerdings haben sie bereits bei Annäherung an die Grenze des Definitionsbereiches negative Werte und wachsen auf der Grenze ins Unendliche. 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 den Rand bestraft wird.
  4. Erweiterte Lagrange-Methode (engl. augmented lagrange method): Dies ist eine Kombination der vorhergehenden Methoden. Der Lagrange-Multiplikator wird iterativ anhand der Verletzung der NB bestimmt.
  5. Trivial, aber doch zu erwähnen ist, dass aktive NB dazu genutzt werden können, Parameter der Zielfunktion zu eliminieren. Die Parameter 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.

Methoden der lokalen nichtlinearen Optimierung ohne Nebenbedingungen

Bei der lokalen Optimierung hängt die Wahl der Methode von der genauen Problemstellung ab: Handelt es sich um eine beliebig exakt bestimmte Zielfunktion? (Das ist bei stochastischen Zielfunktionen oft nicht der Fall.) Ist die Zielfunktion in der Umgebung streng monoton, nur monoton oder könnte es „unterwegs“ sogar kleine relative Extrema geben? Wie hoch sind die Kosten, einen Gradienten zu bestimmen?

Beispiele für Methoden:

Ableitungsfreie Methoden

Diese Methoden kosten viele Iterationen, sind aber (teilweise) relativ robust gegenüber Problemen in der Zielfunktion, zum Beispiel kleine relative Extrema und sie verlangen nicht die Berechnung eines Gradienten. Letzteres kann sehr kostspielig sein, wenn lediglich ein relativ ungenaues Ergebnis angestrebt wird.

Verfahren, für die die 1. Ableitung benötigt wird

Diese Methoden sind schneller als die ableitungsfreien Methoden, sofern ein Gradient schnell berechnet werden kann, und sie sind ähnlich robust wie die ableitungsfreien Methoden.

Verfahren, für die die 2. Ableitung benötigt wird

Gemeinhin ist das Newton-Verfahren als Verfahren zur Bestimmung einer Nullstelle bekannt und benötigt die erste Ableitung. Dementsprechend lässt es sich auch auf die Ableitung einer Zielfunktion anwenden, da die Optimierungsaufgabe auf die Bestimmung der Nullstellen der 1. Ableitung hinausläuft. Das Newton-Verfahren ist sehr schnell, aber sehr wenig robust. Wenn man sich der „Gutartigkeit“ seines Optimierungsproblems nicht sicher ist, muss man zusätzlich Globalisierungsstrategien wie Schrittweitensuche oder Trust-Region-Verfahren verwenden.

Für die in der Praxis häufig auftretenden Probleme, in denen die zu minimierende Zielfunktion die spezielle Gestalt des Normquadrates einer vektorwertigen Funktion hat (Methode der kleinsten Quadrate, „least squares“), steht das Gauß-Newton-Verfahren zur Verfügung, das sich im Prinzip zu Nutze macht, dass für Funktionen dieser Form unter bestimmten Zusatzannahmen die teure 2. Ableitung (Hesse-Matrix) sehr gut ohne ihre explizite Berechnung als Funktion der Jacobi-Matrix angenähert werden kann. So wird in Zielnähe eine dem Newton-Verfahren ähnliche super-lineare Konvergenzgeschwindigkeit erreicht. Da dieses Verfahren die Stabilitätsprobleme des Newton-Verfahrens geerbt hat, sind auch hier sog. Globalisierungs- und Stabilisierungsstrategien erforderlich, um die Konvergenz zumindest zum nächsten lokalen Minimum garantieren zu können. Eine populäre Variante ist hier der Levenberg-Marquardt-Algorithmus.

Methoden der globalen nichtlinearen Optimierung

Im Gegensatz zur lokalen Optimierung ist die globale Optimierung ein quasi ungelöstes Problem der Mathematik: Es gibt praktisch keinerlei Methoden, bei deren Anwendung man in den meisten Fällen als Ergebnis einen Punkt erhält, der mit Sicherheit oder auch nur großer Wahrscheinlichkeit das absolute Extremum darstellt.

Allen Methoden zur globalen Optimierung gemein ist, dass sie wiederholt nach einem bestimmten System lokale Minima/Maxima aufsuchen.

Am häufigsten werden hier Evolutionäre Algorithmen angewandt. Diese liefern besonders dann ein gutes Ergebnis, wenn die Anordnung der relativen Minima und Maxima eine gewisse Gesetzmäßigkeit aufweisen, deren Kenntnis vererbt werden kann. Eine ganz gute Methode kann auch sein, die Ausgangspunkte für die Suche nach lokalen Minima/Maxima zufällig zu wählen, um dann mittels statistischer Methoden die Suchergebnisse nach Regelmäßigkeiten zu untersuchen.

Oft wird allerdings in der Praxis das eigentliche Suchkriterium nicht genügend reflektiert. So ist es oft viel wichtiger, nicht das globale Optimum zu finden, sondern ein Parametergebiet, innerhalb dessen sich möglichst viele relative Minima befinden. Hier eignen sich dann Methoden der Clusteranalyse oder neuronale Netze.

Weitere Methoden der nichtlinearen globalen Optimierung:

Die Performance von Optimierungsalgorithmen wird oft anhand von Testproblemen mit komplexer Struktur der Minima oder Maxima analysiert, bei denen die exakte Lösung bekannt ist. Ein Beispiel für eine solche Testfunktion ist die Rastrigin-Funktion.

Theoretische Aussagen

Bei der Optimierung einer (differenzierbaren) Funktion ohne Nebenbedingungen ist bekannt, dass Minima/Maxima nur an Stellen mit sein können. Diese Bedingung wird bei der Konstruktion vieler Lösungsverfahren ausgenutzt. In dem Fall der Optimierung mit Nebenbedingungen gibt es analoge theoretische Aussagen: Dualität und Lagrange-Multiplikatoren.

Konvexe Probleme

Bei konvexen Problemen ist das abzusuchende Gebiet und die Zielfunktion konvex. Bei einem konvexen Gebiet liegen alle Punkte auf der Verbindungslinie zweier beliebiger Punkte im Gebiet ebenfalls vollständig im Gebiet. Mathematisch:

Beispiele für konvexe Gebiete sind Kreise, Ellipsen, Dreiecke und Quadrate.

Die Zielfunktion ist konvex, wenn alle Werte der Zielfunktion von Punkten auf der Geraden, die zwei Punkte im Gebiet verbinden, unter dieser Geraden liegen. Mathematisch:

.

Die zu Beginn dieses Artikels gezeigte parabelförmige Optimierungsaufgabe hat eine konvexe Zielfunktion.

Bei konvexen Problemen ist jedes lokale Minimum auch globales Minimum. Sind die Punkte optimal, dann sind alle Punkte „zwischen“ diesen Punkten optimal. Mathematisch:

.

Dualität

Das einem Optimierungsproblem zugeordnete (Lagrange-)duale Problem ist

wobei die zugehörige Lagrange-Funktion ist. Die heißen hierbei Lagrange-Multiplikatoren, oder auch duale Variablen oder Schattenpreise. Anschaulich erlaubt man eine Verletzung der Nebenbedingungen, bestraft sie aber in der Zielfunktion durch Zusatzkosten pro verletzter Einheit. Eine Lösung , für die es sich nicht lohnt, die Nebenbedingungen zu verletzen, löst das duale Problem. Für konvexe (insbesondere lineare) Probleme ist der Wert des dualen Problems gleich dem Wert des Ursprungsproblems. Für lineare und konvexe quadratische Probleme lässt sich die innere Minimierung geschlossen lösen und das duale Problem ist wieder ein lineares oder konvexes quadratisches Problem.

Lagrange-Multiplikatoren

Der Lagrange-Multiplikatorsatz besagt, dass Lösungen des eingeschränkten Optimierungsproblems nur an Stellen zu finden sind, an denen es Lagrange-Multiplikatoren gibt, die die Bedingung

erfüllen. Diese Bedingung ist die direkte Verallgemeinerung der obigen Ableitungsbedingung. Wie diese gibt der Lagrange-Multiplikatorensatz eine notwendige Bedingung für ein Minimum bzw. Maximum. Eine hinreichende Bedingung kann durch Betrachtung der zweiten Ableitungen gewonnen werden.

Der Lagrange-Multiplikatorensatz gilt nur für den Fall, dass die Nebenbedingungen durch Gleichungen gegeben sind. Die Verallgemeinerung auf Ungleichungen gibt der Satz von Karush-Kuhn-Tucker.

Straffunktionen

Im Grenzwert der gegen unendlich gehenden Strafparameter geht die mit Straffunktionen gefundene Lösung in die mit den Lagrange-Multiplikatoren gefundene Lösung über.

Erweiterte Lagrange-Methode

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.

Einzelnachweise

  1. a b H. P. Williams: Model Building in Linear and Integer Programming. 5. Auflage. Wiley, New Jersey 2013, ISBN 978-1-118-44333-0.
  2. Gurobi: Industries that use Mathematical Optimization. Abgerufen am 8. Dezember 2023 (amerikanisches Englisch).
  3. Leena Suhl, Taïb Mellouli: Optimierungssysteme: Modelle, Verfahren, Software, Anwendungen. 3., korrigierte und aktualisierte Auflage. Springer Gabler, Berlin / Heidelberg 2013, ISBN 978-3-642-38936-8.
  4. a b Nathan Sudermann-Merx: Einführung in Optimierungsmodelle. Springer Berlin Heidelberg, Berlin / Heidelberg 2023, ISBN 978-3-662-67380-5, doi:10.1007/978-3-662-67381-2.
  5. Josef Kallrath: Gemischt-ganzzahlige Optimierung: Modellierung in der Praxis. 2002, doi:10.1007/978-3-322-80219-4.
  6. Stephen Boyd, Lieven Vandenberghe: Convex Optimization. Cambridge University Press, 2004, ISBN 978-0-521-83378-3 (stanford.edu [PDF; abgerufen am 8. Dezember 2023]).
  7. Carl Geiger, Christian Kanzow: Theorie und Numerik restringierter Optimierungsaufgaben. 2002, doi:10.1007/978-3-642-56004-0.
  8. Oliver Stein: Grundzüge der Globalen Optimierung. 2021, doi:10.1007/978-3-662-62534-7.

Literatur

  • Walter Alt: Nichtlineare Optimierung – Eine Einführung in Theorie, Verfahren und Anwendungen. Vieweg, 2002, ISBN 3-528-03193-X.
  • Yonathan Bard: Nonlinear Parameter Estimation. Academic Press, New York 1974, ISBN 0-12-078250-2.
  • Hans Benker: Mathematische Optimierung mit Computeralgebrasystemen. Springer-Verlag, Berlin/ Heidelberg/ New York 2003.
  • S. Boyd, L. Vandenberghe: Convex Optimization. Cambridge University Press, 2004. (online)
  • W. Domschke, A. Drexl: Einführung in Operations Research. 7. Auflage. Springer, Berlin 2007, ISBN 978-3-540-70948-0.
  • R. Fletcher: Practical Methods of Optimization. Wiley, 1987, ISBN 0-471-91547-5.
  • U. Hoffmann, H. Hofmann: Einführung in die Optimierung: mit Anwendungsbeispielen aus dem Chemie-Ingenieur-Wesen. Verlag Chemie, Weinheim 1971, ISBN 3-527-25340-8.
  • R. Horst, P. M. Pardalos (Hrsg.): Handbook of Global Optimization. Kluwer, Dordrecht 1995, ISBN 0-7923-3120-6.
  • F. Jarre, J. Stoer: Optimierung. Springer, 2004, ISBN 3-540-43575-1. eingeschränkte Vorschau in der Google-Buchsuche
  • J. Nocedal, S. J. Wright: Numerical Optimization. Springer, Berlin 1999, ISBN 0-387-98793-2.
  • C. Grossmann, J. Terno: Numerik der Optimierung. Teubner Studienbücher, 1997, ISBN 3-519-12090-9. eingeschränkte Vorschau in der Google-Buchsuche
Commons: Optimization – Sammlung von Bildern, Videos und Audiodateien