Kurs:Algorithmen und Datenstrukturen/Vorlesung/Simplex Verfahren Tableau: Unterschied zwischen den Versionen

Aus testwiki
Zur Navigation springen Zur Suche springen
imported>Mhombach
Keine Bearbeitungszusammenfassung
 
(kein Unterschied)

Aktuelle Version vom 29. Januar 2014, 12:28 Uhr

Vorlage:Navigationsleiste/Algorithmen und Datenstrukturen

Charakterisierung von Polyederecken

Auf dieser Seite werden die Tableaus des Simplex Verfahrens behandelt Warum schauen wir uns Basen und Basislösungen an? Wir waren doch an Ecken des Polyeders interessiert...

Sei das System Ax=b,x0 gegeben, Rang(A)=m<n. Dann sind äquivalent:

  1. x ist eine Ecke des zugehörigen Polyeders
  2. x ist eine zulässige Basislösung von Ax=b

Wir wissen, dass die optimale Lösung in einem Eckpunkt liegen muss, falls sie existiert. D.h. wir müssen nur über die Basen von A optimieren (diese bestimmen ja die zulässigen Basislösungen von Ax=b). Dies erfolgt mit sogenannten Tableaus.

Tableau

Das Simplex-Verfahren besteht aus einer Folge von Basen bzw. Tableus. Zuerst wird die zulässige Basis AB gefunden und daraus das Starttableau konstruiert. Anschließend wir eine neue zulässige Basis AB aus AB konstruiert, so dass die zulässige Basislösung von AB besser ist, als die von AB. Das Tableau wird nun aktualisiert. Wenn es keine bessere Basislösung mehr gibt, dann ist die letzte optimal. Ein Tableau entspricht dem Gleichungssystem (cTA)x=(cTxb) mit maxcTx,Ax=bundx0. TB ist ein Simplextableau zur Basis AB


TB=(cNTCBTAB1ANCBTAB1bAB1ANAB1b) mit A=(ABAN),x=(xBxN),cT=(cNTcBT)

Update eines Tableau

Für das Update eines Tableau wird eine neue zulässige Basis bestimmt, indem ein Basisvektor durch einen Nichtbasisvektor ausgetauscht wird. Die Menge der Nichtbasisvektoren, die getauscht werden können, ist über die positiven Koeffienten c der Zielfunktion definiert als: E={j|cxxj>0}. Wenn E= dann breche ab und gehe zu x zurück. Die Menge der Basisvektoren, die getauscht werden können, ist über ihre j-te Komponente bestimmt: Lj={i|xji>0}. Wenn Li= für alle iE dann ist das LP unbeschränkt, da die Zielfunktion cTx durch xi unbeschränkt wächst.

Optimierungsphase

Berechne für eine zulässige Basis, das zugehörige Tableau. Nun wird E bestimmt. Wenn E= dann wird abgebrochen und x zurückgegeben. Ansonsten wird jE durch eine geeignete Pivotregel gewählt. Als nächstes wird L bestimmt. Wenn L= dann wird zurückgegeben, dass LP unbeschränkt ist. Ansonsten wird iL durch eine geeignete Pivotregel gewählt. Führe nun einen Basiswechsel durch und starte wieder oben.

Heuristik für die Auswahl der Tauschvektoren

Als erstes werden die größten Koeffizienten in der Zielfunktion gewählt (Dantzig). Eine andere Möglichkeit ist das steepest-edge pricing, welches die Kombination aus Spalten- und Zeilenvektor wählt, die den größten Zuwachs für die Zielfunktion bringt. Oder der kleinste Index wird gewählt. Die letzte Möglichkeit ist eine zufällige Auswahl.


Discussion