<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Innere-Punkte-Verfahren</id>
	<title>Innere-Punkte-Verfahren - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Innere-Punkte-Verfahren"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Innere-Punkte-Verfahren&amp;action=history"/>
	<updated>2026-06-08T10:40:10Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Innere-Punkte-Verfahren&amp;diff=501634&amp;oldid=prev</id>
		<title>imported&gt;Thomas Dresler: Format</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Innere-Punkte-Verfahren&amp;diff=501634&amp;oldid=prev"/>
		<updated>2025-07-02T10:52:34Z</updated>

		<summary type="html">&lt;p&gt;Format&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Interior-point-method-three-dimensions.png|thumb|Innere-Punkte-Verfahren nähern sich einer Optimallösung durch das Innere des Polyeders.]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Innere-Punkte-Verfahren&amp;#039;&amp;#039;&amp;#039; sind in der [[Optimierung (Mathematik)|Optimierung]] eine Klasse von Algorithmen zur Lösung von Optimierungsaufgaben.&lt;br /&gt;
Ihr Hauptanwendungsgebiet sind [[Lineare Optimierung|lineare]] oder [[Quadratische Optimierung|quadratische Programme]]. Sie werden aber auch zur Lösung (allgemeiner) [[Optimierung (Mathematik)#Nichtlineare Optimierung|nichtlinearer Programme]], semidefinierter Programme oder Komplementaritätsproblemen eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Im Vergleich zu den traditionelleren [[Active-Set-Methoden]] (z.&amp;amp;nbsp;B. [[Simplex-Verfahren]]) zeichnen sich Innere-Punkte-Verfahren durch bessere theoretische Eigenschaften ([[Polynomialzeit|polynomiale Komplexität]]) und schnellere [[Grenzwert (Folge)|Konvergenz]] für sehr große [[Dünnbesetzte Matrix|dünnbesetzte]] Probleme aus. Ein Nachteil ist, dass sie vergleichbar ungeeignet zum Lösen einer Serie von Optimierungsaufgaben sind (was für viele Algorithmen der [[Ganzzahlige lineare Optimierung|ganzzahligen Optimierung]], wie z.&amp;amp;nbsp;B. [[Branch and Bound]] oder [[Schnittebenenverfahren]], wichtig ist).&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
Im einfachsten Fall werden Innere-Punkte-Verfahren benutzt, um das [[Lineare Optimierung|lineare Problem]]&lt;br /&gt;
:&amp;lt;math&amp;gt;\min_x c^T x, \mathrm{~wobei~} Ax = b, x\ge 0&amp;lt;/math&amp;gt;&lt;br /&gt;
zu lösen. Dabei ist A eine &amp;lt;math&amp;gt;m \times n&amp;lt;/math&amp;gt;-Matrix, und c, b sind jeweils n- bzw. m-dimensionale Vektoren. Die &amp;#039;&amp;#039;zulässige Menge&amp;#039;&amp;#039; &amp;lt;math&amp;gt;X = \{x:Ax=b,\, x\ge 0\}&amp;lt;/math&amp;gt; hat die Form eines [[Polyeder]]s. Aus der Theorie der linearen Optimierung ist bekannt, dass eine optimale Lösung des Optimierungsproblems in einer der Ecken des Polyeders angenommen wird. Im Gegensatz zum [[Simplex-Verfahren]], das sich entlang der Kanten von Ecke zu Ecke bewegt, versuchen Innere-Punkte-Verfahren einen Pfad zum Optimum durch das „Innere“ des Polyeders zu finden.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Logarithmische-Barriere-Verfahren wurden erstmals von [[Ragnar Anton Kittil Frisch |Ragnar Frisch]] (1956) beschrieben.&amp;lt;ref&amp;gt;Ragnar Frisch: [http://www.jstor.org/stable/20075373 &amp;#039;&amp;#039;La résolution des problèmes de programme linéaire par la méthode du potentiel logarithmique&amp;#039;&amp;#039;]. In: &amp;#039;&amp;#039;Cahiers du Séminaire d’Économétrie&amp;#039;&amp;#039; 4, 1956, S. 7–23.&amp;lt;/ref&amp;gt; Als wichtige frühe Referenz zum Thema Barriere-Verfahren gilt Fiacco und McCormick (1968). Sie galten damals jedoch als ineffizient und (durch das Logarithmieren sehr kleiner Zahlen) als numerisch instabil. Als Geburtsstunde der Inneren-Punkte-Verfahren gilt gemeinhin die Arbeit von [[Narendra Karmarkar]] von [[1984]], in der er zum ersten Mal einen [[Polynomialzeit|polynomialen]] potentiell praktisch einsetzbaren Algorithmus für lineare Probleme beschreibt. Dieser Algorithmus wies schon viele Gemeinsamkeiten zu den modernen Verfahren auf, auch wenn die bedeutenden Durchbrüche, die Innere-Punkte-Verfahren zu einer echten Konkurrenz für das [[Simplex-Verfahren]] machten, erst in den 1990er Jahren geschahen (z.&amp;amp;nbsp;B. Mehrotra (1992)).&lt;br /&gt;
&lt;br /&gt;
== Herleitung ==&lt;br /&gt;
Vom heutigen Standpunkt aus gibt es verschiedene Wege, um Innere-Punkte-Verfahren zu motivieren. Eine Möglichkeit ist über &amp;#039;&amp;#039;Logarithmische Barrieren&amp;#039;&amp;#039;: Hierbei werden die Positivitätsbedingungen &amp;lt;math&amp;gt;x\ge 0&amp;lt;/math&amp;gt; durch logarithmische Strafterme &amp;lt;math&amp;gt;-\mu \ln x_i&amp;lt;/math&amp;gt; in der Zielfunktion ersetzt (hierbei ist &amp;lt;math&amp;gt;\mu&amp;gt;0&amp;lt;/math&amp;gt; ein Parameter). Anstatt des Ursprungsproblems löst man also&lt;br /&gt;
:&amp;lt;math&amp;gt; \min_x c^Tx -\mu\sum_i^n \ln x_i\mathrm{~wobei~} Ax=b&amp;lt;/math&amp;gt;&lt;br /&gt;
Für kleine Werte von &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; wird &amp;lt;math&amp;gt;-\ln x&amp;lt;/math&amp;gt; sehr groß, man versucht also durch Bestrafung kleiner x-Werte die Lösung des Optimierungsproblems im Inneren der Menge der positiven Koordinaten zu halten. Diese Bestrafung wird umso kleiner, je kleiner der Parameter &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; ist. Im Grenzwert &amp;lt;math&amp;gt;\mu\to 0&amp;lt;/math&amp;gt; erwartet man, dass die Lösung des Barriereproblems gegen die Lösung des Ursprungsproblems konvergiert. Das Barriereproblem ist ein (streng) konvexes Problem, seine (einzige, globale) Lösung findet man durch Anwendung des [[Lagrange-Multiplikator|lagrangeschen Multiplikatorensatz]] als Lösung des (nichtlinearen) Gleichungssystems&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{matrix}&lt;br /&gt;
Ax &amp;amp;=&amp;amp; b\\&lt;br /&gt;
A^T y + s &amp;amp;=&amp;amp; c\\&lt;br /&gt;
x_is_i &amp;amp;=&amp;amp; \mu\\&lt;br /&gt;
x, s   &amp;amp;\ge&amp;amp; 0&lt;br /&gt;
\end{matrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Hierbei entspricht die erste Zeile der Zulässigkeit bezüglich des Primalen Problems, die zweite Zeile der Zulässigkeit bezüglich des Dualen Problems nach der Einführung von [[Schlupfvariable]]n und die dritte Zeile dem [[Komplementärer Schlupf|komplementären Schlupf]].&lt;br /&gt;
Für jeden Wert &amp;lt;math&amp;gt;\mu\ge0&amp;lt;/math&amp;gt; ist dieses Gleichungssystem eindeutig lösbar. Die Menge aller Lösungen für verschiedene &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; beschreibt einen Pfad (den &amp;#039;&amp;#039;zentralen Pfad&amp;#039;&amp;#039;), der das &amp;#039;&amp;#039;Analytische Zentrum&amp;#039;&amp;#039; des zulässigen Polyeders (für &amp;lt;math&amp;gt;\mu = \infty&amp;lt;/math&amp;gt;) mit der Lösung des Ursprungsproblems (für &amp;lt;math&amp;gt;\mu=0&amp;lt;/math&amp;gt;) verbindet.&lt;br /&gt;
Algorithmisch kann das Gleichungssystem per [[Newton-Verfahren]] gelöst werden. In Innere-Punkte-Verfahren wird nach jeder Iteration des Newton-Verfahrens der Parameter &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; reduziert. Durch geeignete Heuristiken wird sichergestellt, dass die Konvergenz von &amp;lt;math&amp;gt;\mu\to 0 &amp;lt;/math&amp;gt; und die des Newton-Verfahrens synchron ablaufen.&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
* Innere-Punkte-Verfahren sind global konvergent.&lt;br /&gt;
* Die &amp;#039;&amp;#039;Kurzschritt&amp;#039;&amp;#039;variante des Innere-Punkte-Verfahrens braucht im ungünstigsten Fall &amp;lt;math&amp;gt;\mathcal{O}\left(\frac{1}{\varepsilon}\sqrt{n}\right)&amp;lt;/math&amp;gt; Iterationen, um die Lösung eines linearen Problems mit Genauigkeit &amp;lt;math&amp;gt;\varepsilon&amp;lt;/math&amp;gt; zu finden. Dies ist zurzeit die beste bekannte theoretische Schranke. Das &amp;#039;&amp;#039;Kurzschrittverfahren&amp;#039;&amp;#039; ist in der Praxis anderen Varianten jedoch unterlegen.&lt;br /&gt;
* In der Praxis beobachtet man &amp;lt;math&amp;gt;\mathcal{O}(\log n)&amp;lt;/math&amp;gt; Iterationen.&lt;br /&gt;
&lt;br /&gt;
== Algorithmus ==&lt;br /&gt;
# Wähle primale und duale Startvektoren &amp;lt;math&amp;gt;x, y, s &amp;gt; 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
# Setze &amp;lt;math&amp;gt;\mu_{alt} = x^Ts/n&amp;lt;/math&amp;gt;&lt;br /&gt;
# Reduziere &amp;lt;math&amp;gt;\mu: 0&amp;lt;\mu_{\operatorname{neu}}&amp;lt;\mu_{\operatorname{alt}}&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Berechne die Newton-Richtung durch Lösen des linearen Gleichungssystems:&amp;lt;math&amp;gt;\begin{bmatrix}0 &amp;amp; A^T &amp;amp; I\\ A &amp;amp; 0 &amp;amp; 0 \\ S &amp;amp; 0 &amp;amp; X\end{bmatrix}\begin{bmatrix} \Delta x\\\Delta y \\ \Delta s\end{bmatrix} =&lt;br /&gt;
\begin{bmatrix}c - A^T y - s\\b - Ax \\\mu_{\operatorname{neu}} e - XSe\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;(dabei sind &amp;lt;math&amp;gt;X, S&amp;lt;/math&amp;gt; [[Diagonalmatrix|Diagonalmatrizen]], auf deren [[Hauptdiagonale|Diagonale]] die Elemente der Vektoren x, s stehen, sowie &amp;lt;math&amp;gt; e = (1,\ldots,1)^T&amp;lt;/math&amp;gt;). &lt;br /&gt;
# Wähle eine Schrittweite &amp;lt;math&amp;gt;\alpha&amp;gt;0&amp;lt;/math&amp;gt;, so dass &amp;lt;math&amp;gt;x +\alpha \Delta x &amp;gt;0, s + \alpha \Delta s &amp;gt;0&amp;lt;/math&amp;gt; komponentenweise gilt. Einige Varianten des Innere-Punkte-Verfahrens stellen weitere Bedingungen an &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Setze &amp;lt;math&amp;gt; x \leftarrow x+\alpha \Delta x, y\leftarrow y+\alpha \Delta y, s\leftarrow s+\alpha \Delta s&amp;lt;/math&amp;gt;&lt;br /&gt;
# Zurück zu Schritt 2&lt;br /&gt;
&lt;br /&gt;
== Varianten des Verfahrens und Umgebungen ==&lt;br /&gt;
Es gibt mehrere Varianten von Innere-Punkte-Verfahren, die sich im Wesentlichen in der Wahl von &amp;lt;math&amp;gt;\mu_{\operatorname{neu}}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; unterscheiden. Die wichtigsten sind &amp;#039;&amp;#039;&amp;#039;Kurzschrittverfahren&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Langschrittverfahren&amp;#039;&amp;#039;&amp;#039; und  &amp;#039;&amp;#039;&amp;#039;Predictor-Corrector-Verfahren&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;(Vorhersage und Korrektur)&amp;#039;&amp;#039;. Um sie zu beschreiben, werden die folgenden &amp;#039;&amp;#039;&amp;#039;Umgebungen&amp;#039;&amp;#039;&amp;#039; des zentralen Pfades benötigt:&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathcal{N}_2(\theta) = \{(x, y, s)\in \mathcal{F}^0:\|XSe-\mu e\|_2\le\theta\mu\}&amp;lt;/math&amp;gt;&lt;br /&gt;
und&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathcal{N}_{-\infty}(\gamma) = \{(x, y, s)\in \mathcal{F}^0:x_is_i\ge\gamma\mu, i=1,\ldots,n\}&amp;lt;/math&amp;gt; &lt;br /&gt;
dabei ist &amp;lt;math&amp;gt;\mathcal{F}^0 = \{(x, y, s): Ax=b, A^Ty+s=c, x&amp;gt;0, s&amp;gt;0\}&amp;lt;/math&amp;gt; das Innere der zulässigen Menge. Der zentrale Pfad ist durch die Bedingung &amp;lt;math&amp;gt;x_is_i=\mu&amp;lt;/math&amp;gt; definiert. In der &amp;lt;math&amp;gt;\mathcal{N}_2&amp;lt;/math&amp;gt;-Umgebung wird die [[Euklidische Norm]] der Abweichung des Vektors &amp;lt;math&amp;gt;(x_1s_1,\ldots,x_ns_n)&amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt;(\mu,\ldots,\mu)&amp;lt;/math&amp;gt; beschränkt, bei der &amp;lt;math&amp;gt;\mathcal{N}_{-\infty}&amp;lt;/math&amp;gt;-Umgebung wird lediglich verlangt, dass die Produkte &amp;lt;math&amp;gt;x_is_i&amp;lt;/math&amp;gt; nicht zu klein werden. &lt;br /&gt;
&lt;br /&gt;
Die Varianten des Innere-Punkte-Verfahrens sind im Einzelnen:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kurzschrittverfahren&amp;#039;&amp;#039;&amp;#039;: Für. geeignete Parameter &amp;lt;math&amp;gt;\theta, \beta&amp;lt;/math&amp;gt; wird &amp;lt;math&amp;gt;\mu_{\operatorname{neu}} = (1-\beta/\sqrt{n})\mu_{\operatorname{alt}}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\alpha=1&amp;lt;/math&amp;gt; gesetzt. Wenn der Startpunkt in &amp;lt;math&amp;gt;\mathcal{N}_2(\theta)&amp;lt;/math&amp;gt; ist, so gilt dies auch für alle weiteren Iterationspunkte.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Langschrittverfahren&amp;#039;&amp;#039;&amp;#039;: &amp;lt;math&amp;gt;\gamma\in(0,1), 0&amp;lt;\sigma_{\min}&amp;lt;\sigma_{\max}&amp;lt;1&amp;lt;/math&amp;gt; werden gewählt. Es wird &amp;lt;math&amp;gt;\mu_{\operatorname{neu}} = \sigma_k\mu_{\operatorname{alt}}&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;\sigma_k\in(\sigma_{\min},\sigma_{\max})&amp;lt;/math&amp;gt; gesetzt und &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; so gewählt, dass zusätzlich &amp;lt;math&amp;gt;(x, y, s)\in \mathcal{N}_{-\infty}(\gamma)&amp;lt;/math&amp;gt; gilt.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Predictor-Corrector-Verfahren&amp;#039;&amp;#039;&amp;#039;: Es wird zuerst &amp;lt;math&amp;gt;\mu_{\operatorname{neu}}=0&amp;lt;/math&amp;gt; gewählt, und das maximale &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; für diesen Fall bestimmt (Predictor). Dieses &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; liefert einen Schätzwert für das optimale &amp;lt;math&amp;gt;\mu_{\operatorname{neu}}&amp;lt;/math&amp;gt;, das nun im zweiten Schritt gewählt wird. Im zweiten Schritt wird außerdem versucht, den Linearisierungsfehler der dritten Gleichung (&amp;lt;math&amp;gt;XSe=\mu e&amp;lt;/math&amp;gt;) durch das Newton-Verfahren zu korrigieren. Im &amp;#039;&amp;#039;Predictor-Corrector-Verfahren&amp;#039;&amp;#039; wird das obige Newton-Gleichungssystem für zwei verschiedene rechte Seiten gelöst. Es ist möglich, dies sehr effizient zu implementieren ([[Cholesky-Zerlegung]]). &lt;br /&gt;
&lt;br /&gt;
Das &amp;#039;&amp;#039;Predictor-Corrector-Verfahren&amp;#039;&amp;#039; ist den anderen Varianten in der Praxis überlegen, ist jedoch schwerer zu analysieren und besitzt schlechtere theoretische Eigenschaften.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* A.V. Fiacco, G.P. McCormick, Nonlinear Programming: Sequential Unconstrained Minimization Techniques, John Willey &amp;amp; Sons, 1968.&lt;br /&gt;
* N. Karmarkar, A new polynomial-time algorithm for linear programming. Combinatorica 4 (1984), no. 4, 373--395.&lt;br /&gt;
* S. Mehrotra, On the implementation of a primal-dual interior point method. [[SIAM]] J. Optim. 2 (1992), no. 4, 575--601. &lt;br /&gt;
* S.J. Wright, Primal-dual interior-point methods. SIAM, Philadelphia, PA, 1997. ISBN 0-89871-382-X&lt;br /&gt;
*[[Yinyu Ye]]: Interior-Point Algorithms: Theory and Analysis, Wiley 1997&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Lineare Optimierung]]&lt;br /&gt;
[[Kategorie:Nichtlineare Optimierung]]&lt;br /&gt;
[[Kategorie:Optimierungsalgorithmus]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Thomas Dresler</name></author>
	</entry>
</feed>