190 likes | 285 Vues
Simplexmethode als Anwendung des Kostenkalküls. Matrixform Sensitivitätsanalyse. hierzu z.B. Kistner ²1993, S. 85ff oder Luenberger ²1992, sec. 3.8 oder sonst ein Buch zur linearen Optimierung. Lineares Optimierungsproblem.
E N D
Simplexmethode als Anwendung des Kostenkalküls Matrixform Sensitivitätsanalyse hierzu z.B. Kistner ²1993, S. 85ff oder Luenberger ²1992, sec. 3.8 oder sonst ein Buch zur linearen Optimierung.
Lineares Optimierungsproblem • Gesucht ist eine Konvexkombination endlich vieler Aktivitäten, die eine lineare Zielfunktion über einem durch ein System linearer Ungleichungen definierten Bereich zulässiger Entscheidungs-konsequenzen maximiert. • Entscheidungsvariable: Vektor x; jede seiner n Komponenten gibt für das Niveau an, mit dem eine bestimmte Aktivität in die Kombination eingehen soll. • Daten: • Zielfunktionskoeffizientenvektorp; jede seiner n Komponenten steht für den Zielfunktionsbeitrag je Aktivitätsniveaueinheit einer bestimmten Aktivität; die Zielfunktion ist mithin p'x. • Beschränkungsvektorb; jede seiner m Komponenten gibt die Zulässigkeitsgrenze für ein bestimmtes Merkmal der Entscheidungskonsequenzen an; für jede relevante Beschränkung enthält b eine Komponente. • KoeffizientenmatrixA; jede Spalte der m×n-Matrix A gehört zu einer bestimmten Aktivität und gibt in demselben Vektorraum wie b deren Wirkung je Niveaueinheit auf die verschiedenen Dimensionen der Entscheidungskonsequenzen wieder.
Optimale Lösung • Unter einer optimalen Lösung versteht man einen Vektor x*, der in dem Zulässigkeitsbereich X = {x|Ax = b; x>0} liegt und für den der Zielfunktionswert über X maximal wird. • Die Matrix A enthalte die Einheitsmatrix als Teilmatrix (Schlupfaktivitäten). • Eine Teilmatrix B aus m linear unabhängigen Spalten von A wird als Basismatrix bezeichnet. • eine mögliche Basismatrix ist die Matrix der Schlupfaktivitäten • Zu jeder Basismatrix ist ein Simplextableau definiert. • das Simplextableau zu der Basismatrix der Schlupfaktivitäten ist das Ausgangstableau. Es lässt sich wie folgt als Matrix schreiben:
Simplextableaus (Ausgangstableau) • Multipliziert man an eine Matrix M von rechts eine Einheitsmatrix E, deren Spalten irgendwie vertauscht sind, so ergibt sich als ME die Matrix M mit Spalten die genau so vertauscht sind wie die Einheitsvektoren in E gegenüber I. • Durch Multiplikation einer solchen (n+1)×(n+1)- “Spaltentauschermatrix” E von rechts an das Ausgangstableau, kann man dieses also in folgende Form bringen:
Beispiel: Ausgangstableau x1 x2 x3 x4 x5 x6 b –p
Simplextableau zur Basis B • Multipliziert man an das so umsortierte Ausgangstableau die Matrix , so erhält man: das ist das Simplextableau zur Basis B.
Ausgewählte Basismatrix und zugehörige Zielfunktionskoeffizienten
Interpretation Basislösung zu B; falls> 0: primal zulässig Zielfunktionswert falls > 0': dual zulässig Ist das Tableau primal und dual zulässig, so ist es optimal: xB* = B-1b
Tableau zur Basis B* B*–1AB*–1b u'A – p' u'b u' = p'B*–1
Simplexkriterium • uB:= pB B-1den Zeilenvektor der Dualvariablen zu den strukturellen Restriktionen • Für jede beliebige Aktivität jlässt sich dann der Netto-Nutzenbeitrag je Aktivitätsniveaueinheit darstellen als: pj-pB B-1a.j = pj-uB a.j • Gibt es zu einer Basismatrix B* nur solche j, für die dieser Ausdruck negativ ist, so ist von dieser Basis aus nur eine Verschlechterung des Zielfunktionswerts möglich, B* muss also optimal sein
Findet man aber ein j mit pj-pBB-1a.j> 0, dann ist die Basislösung zu B nicht optimal • definiere yj := B-1a.j und bestimmei* := min{i|yi0/yij für yij > 0}. • ersetze die Aktivität i* in B durch j. • Die so modifizierte Basislösung hat einen höheren Zielfunktionswert als die zu B. • Die Opportunitätskosten der optimalen Basislösung B* sind dann gegeben durch cB*B*-1 a.0 • Sie steigen von Schritt zu Schritt und nähern sich immer mehr den tatsächlichen Opportunitätskosten an, • die Auslese unter den Alternativen durch den Kostenkalkül mit den angenäherten Opportunitätskosten wird von Schritt zu Schritt schärfer.
das bedeutet nicht... • dass eine einmal „verworfene“ Aktivität in einer besseren Alternative nicht wieder auftreten könnte • dass die Opportunitätskostensätze ui irgendwelche Monotonie-Eigenschaften zwischen den Verbesserungsschritten hätten: • die neu eingeführte Aktivität kann bestimmte Restriktionen mehr oder weniger nutzen als die ausgeschiedene, so dass die betreffende Dualvariable steigen oder fallen kann • lediglich die Gesamt-Opprtunitätskosten pB*B*-1 a.0 steigen.
Sensitivitätsanalysen • Situation • nach Bekanntwerden der unsicheren Daten sind Anpassungsentscheidungen möglich • Problemstellung • Geltungsbereich der optimalen Lösung für die a priori erwartete Datenkonstellation • wie reagiert der optimale Zielfunktionswert und wie reagieren die optimalen Anpassungsmaßnahmen auf die geänderten Daten? • Methodische Grundlage: Lineares Optimierungsmodell • Variationen der • Restriktionskonstanten • Zielfunktionskoeffizienten • Prozessvektoren
Störungen der Restriktionskonstanten b +lb • Änderungen von b haben keinen Einfluss auf die Dualzulässigkeit. • solange die primale Zulässigkeit erhalten bleibt, bleibt dieselbe Basis optimal. Optimale Basislösung: • Optimaler Zielfunktionswert: pB'B-1(b +lb) = pB'x*(0) + l (u(B)'b) • der Zielfunktionswert variiert linear mit l, solange die Basis B optimal bleibt. x*(l) = B-1(b +lb) = u(B)' (optimale Dualvariablen zur Basismatrix B)
Beispiel • Ausgangstableau • Optimaltableau x1 x2 x3 x4 x5 x6 bl Grenzen fürl: strengste Bedingungen von: l > -3 l < 8 l < 4 –p B*–1lb u'lb
Reaktion des optimalen Zielfunktionswerts • Der optimale Zielfunktionswert ist als Funktion des Parameters l konkav: d.h. bei einem Basiswechsel vermindert sich die Ableitung des optimalen Zielfunktionswerts oder bleibt gleich. • wenn B-1(b +l1b)> 0 und B-1(b +l2b)> 0 dann ist auch B-1(b +lb)> 0 für l1 > l > l2, Konvexkombinationen der beiden Lösungen für l1 und l2 sind also zulässig. Der Zielfunktionswert dieser Konvexkombination ist aber die Konvexkombination der beiden Zielfunktionswerte. Z l l2l l1
Störungen des Zielkoeffizientenvektors • gestörter Zielkoeffizientenvektor: p + l· p • solange die Basislösung zur Basismatrix B dual zulässig bleibt, bleibt die optimale Lösung x* unverändert. • der optimale Zielfunktionswert ändert sich linear mit dem Störungsparameter, die Änderung beträgt l· px* • die Änderung der Zielkoeffizienten entspricht einer Änderung der Beschränkungskonstanten im Dual • daher lässt sich die Konkavitätsaussage bei Basiswechsel (von der vorigen Folie) übertragen
Beispiel x1 x2 x3 x4 x5 x6 b • Ausgangstableau • Optimaltableau –p l Grenzen fürl: strengste Bedingungen von: l < 7/4 l > -2 l < 3 = 2·3l/5 – 5·l/5 = u'(l)b
Störungen der Koeffizientenmatrix • zwei Fälle: • Störung einer Nichtbasisspalte j. • Hier ist nur zu untersuchen, ab welchen Grenzen die Störung die Dualzulässigkeit zum Verschwinden bringt, so dass es vorteilhaft wird, die Aktivität j in die Basis aufzunehmen. • Störung eines Basisvektors. • Aktivitätsvektor kann sich so verändern, dass er durch einen Nichtbasisvektor ersetzt werden muß, weil dessen Zielbeitrag günstiger wird • Änderung zur Unzulässigkeit der Lösung führen