Ellipsoidmethode

Die Ellipsoidmethode i​st ein polynomialer Algorithmus z​ur Linearen Optimierung. Sie w​urde ursprünglich i​n den Jahren 1976 u​nd 1977 v​on David Yudin u​nd Arkadi Nemirovski u​nd unabhängig d​avon von Naum Schor z​ur Lösung konvexer Optimierungsprobleme entwickelt. Im Jahre 1979 w​urde sie v​om russischen Mathematiker Leonid Khachiyan z​um ersten polynomialen Algorithmus z​ur Lösung linearer Programme erweitert. Damit bewies e​r erstmals d​ie polynomiale Lösbarkeit linearer Optimierungsprobleme. Für praktische Zwecke i​st die Ellipsoidmethode allerdings n​icht geeignet, d​a sie d​em Simplex-Verfahren numerisch i​n der Praxis w​eit unterlegen ist.

Die Ellipsoidmethode ist ein Algorithmus zur Entscheidung, ob ein volldimensionales Polyeder der Form , wobei eine reelle -Matrix und dimensionskompatible Vektoren sind, leer ist oder nicht. Falls das Polyeder einen Punkt enthält, dann gibt die Methode auch einen solchen aus. Man kann zeigen, dass dieses Problem äquivalent zum Finden der Optimallösung eines linearen Programms ist.

Zwei Iterationen der Ellipsoidmethode

Der Algorithmus funktioniert folgendermaßen:

  1. Es wird ein Ellipsoid (im Bild rot) bestimmt, welches – falls (im Bild blau) nicht leer ist – einen Punkt des Polyeders enthält. Man kann dabei eine hinreichend große Kugel wählen, die alle möglichen Ecken von enthalten muss. Deren maximale Koordinaten und damit der notwendige Radius der Kugel lässt sich durch Lösung von linearen Gleichungssystemen mit Einträgen aus und bestimmen.
  2. Bestimmung einer maximalen Iterationsanzahl für folgende Schritte:
  3. Es wird getestet, ob das Zentrum (im Bild der rote Punkt) des Ellipsoids im Polyeder liegt (also )
  4. Falls ja, wird ausgegeben und der Algorithmus ist beendet.
  5. Falls nein, sucht man eine Ungleichung (Schnittebene), die vom Polyeder trennt. Dies kann zum Beispiel eine Zeile der Matrix sein, die erfüllt.
  6. In dem Halbraum liegt, falls das Polyeder nicht leer ist, ein Punkt von . Nun sucht man ein Ellipsoid (im Bild grün), das möglichst klein ist, aber den Schnitt dieses Halbraums mit dem ursprünglichen Ellipsoid enthält.
  7. Ist die maximale Iterationszahl erreicht, ohne dass ein Ellipsoidzentrum im Polyeder lag, ist dieses leer. Andernfalls macht man wieder bei 3. weiter.

Die maximale Iterationsanzahl berechnet sich polynomial aus der Länge der Binärcodierung der Matrix A und des Vektors b. Dieses Abbruchkriterium beruht darauf, dass das untersuchte Polyeder eine Mindestgröße haben muss, die von der Kodierungslänge von und abhängt. Wird diese Mindestgröße vom aktuellen Ellipsoid unterschritten, muss das Polyeder leer sein.

Literatur

  • Korte, Bernhard; Vygen, Jens: Kombinatorische Optimierung, Springer Berlin Heidelberg, 2008. ISBN 978-3-540-76918-7, S. 79–107
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.