7. Januar 2013 53 4.3.3 Simplexiteration Eine Simplexiteration entspricht dem Übergang von einer Ecke des zulässigen Bereiches in eine benachbarte Ecke Dabei wird genau eine Nichtbasisvariable (die zugehörige Ungleichung is als Gleichung erfüllt) zu einer Basisvariablen (die zugehörige Ungleichung ist i.a. nicht als Gleichung erfüllt) und umgekehrt. Der Übergang von einer Ecke zu einer benachbarten Ecke erfolgt in 6 Schritten. 1. Wahl der Pivotspalte Pivot: Dreh- und Angelpunkt Wähle die Spalte mit (kleinstem) negativem Wert in der letzten Zeile. Der Spaltenindex sei s, d.h. a m+1,s = min{a m+1,j j =1,...,n}, a m+1,s < 0 Falls mehrere Spalten als Pivotspalten in Frage kommen, spricht man von dualer Entartung. Man wählt beliebig einen der Kandidaten aus. Hintergrund: Wenn ich mich von der Startecke in Richtung der entsprechenden wachsenden Nichtbasisvariable bewege, wächst die Zielfunktion am stärksten (verglichen mit den anderen n-1 Möglichkeiten). Die etsprechnede Nichtbasisvariable soll jetzt Basisvariable werden. Eine Basisvariable muß dafür zur Nichtbasisvariable werden s. Waschpulver, s =1 2. Wahl der Pivotzeile Wähle diejenige Zeile, die den kleinsten nichtnegativen Quotienten aus dem Wert der letzten Spalte und dem technischen Koeffizienten der Pivotspalte aufweist. Der entsprechende Zeilenindex sei z, d.h. a z,n+1 = min{ a i,n+1 a is i =1,...,m} a z,n+1 0 Hintergrund: Man versucht so weit wie möglich in der ausgewählten Richtung zu gehen, aber dabei nicht den zulässigen Bereich zu verlassen. Beispiel Waschpulver
54 7. Januar 2013 Mögliche Entartungen werden später behandelt. s. Waschpulver: z =3 3. Umrechnung des Pivotelements, s. AB 7, Folie a zs := 1 4. Umrechnung der restlichen Pivotspalte a is := a is, i =1,...,m+1 i z 5. Umrechnung der restlichen Pivotzeile a zj := a zj, j =1,...,n+1 j s 6. Umrechnung des restlichen Tableaus a ij := a ij a is a zj i =1,...,m+1 i z, j =1,...,n+1 j s. oder Umrechnung mit Hilfe der Kellerzeile (s. ATV) Bemerkung: Tritt in der letzten Spalte ein negativer Wert auf, so liegt ein Fehler bei der Wahl des Pivotelementes (zul. Bereich verlassen) oder in der Rechnung vor. 4.3.4 Lösung des LOP (a) Abbruchkriterium, Optimalitätskriterium Die Elemente a m+1,...,a m+1,n der letzten Zeile heißen Optimalitätsindikatoren Der Algorithmus endet, wenn alle Optimalitätsindikatoren positiv sind. Die eindeutige Optimallösung wurde gefunden.
7. Januar 2013 55 (b) Beispiel Waschpulver: (c) Basislösungen Eine Basislösung ist eine zulässige Lösung des kanonischen Gleichungssystems (s. 3.1.(a)) mit höchstens m Nicht-Null-Einträgen (alle NBV = 0). Jede Basislösung entspricht einer Ecke des zulässigen Bereiches. Eine Basislösung heißt nicht degeneriert wenn sie genau m Nicht-Null-Einträge enthält, sonst heißt sie degeneriert. (d) Schattenpreise: Den Schattenpreis einer NBV liest man in der letzten Zeile der zugehörigen Spalte ab. Der Schattenpreis einer Basisvariablen ist 0. (Interpretation später) (e) Angabe der Lösung (am Beispiel):
56 7. Januar 2013 4.4 Sensitivitätsanalyse Bemerkung: Der optimale Zielfunktionswert Z max und die optimale Lösung x eines LOP hängen wesentlich ab von den Koeffizienten c j der Zielfunktion und von den rechten Seiten b i der Restriktionen Aus dem optimalen Tableau der Simplex-Methode kann abgelesen werden, wie stark eine Veränderung jedes einzelnen Koeffizienten b i oder c j den optimalen Zielfunktionswert beeinflusst, und innerhalb welcher Intervalle für die Veränderung dieser Koeffizienten (einzeln!) diese Aussagen gelten. Bezeichnungen: x B :enthält die Werte der Basisvariablen (Spalte n +1) Δ N :enthält die Schattenpreise der Nichtbasisvariablen (Zeile m +1) 4.4.1 Gültigkeitsbereich und Bedeutung des Schattenpreises Abhängigkeit des optimalen Zielfunktionswertes und der optimalen Lösung von der Änderung der rechten Seite b i der i-ten Restriktionen: b i := b i + t Aus dem Endtableau wird durch die Bestimmung der Grenzen für t der Gültigkeitsbereich,b (o) ] des Schattenpreises der Restriktion berechnet. [b (u) i i Für LOP in Standard-Maximum-Form gilt Falls die zugehörige Schlupfvariable y i Basisvariable ist (Restriktion ist inaktiv), gilt t [ y i, ): Z max und x B ändern sich nicht. Falls die zugehörige Schlupfvariable y i Nichtbasisvariable ist (Restriktion ist aktiv), gilt t mit x B = x B + t (a 1i,...,a mi ) T 0 ((a 1i,...,a mi,a m+1,i ) T ist die zu y i gehörige Spalte des Simplextableaus )
7. Januar 2013 57 Z max := Z max + t a m+1,i, x B = x B + t (a 1i,...,a mi ) T 4.4.2 Stabilitätsbereiche Abhängigkeit des optimalen Zielfunktionswertes von der Änderung eines Koeffizienten c j der Zielfunktion: c j := c j + t Aus dem Endtableau wird durch die Bestimmung der Grenzen für t der Stabilitätsbereich des Zielfunktionskoeffizienten berechnet. Für LOP in Standard-Maximum-Form gilt Falls x j Nichtbasisvariable ist, gilt t (,a m+1,j ]=(, Δ j ]: Z max und x B ändern sich nicht. Δ j ist der Schattenpreis von x j. Falls x j Basisvariable ist, gilt t mit Δ N = Δ N + t (a j1,...,a jn ) T 0 ((a j1,...,a jn ) ist die zu x j gehörende Zeile des Simplextableaus) Bemerkung: x B ändert sich nicht, Z max := Z max + t x j. Für LOP, die nicht in Standard-Maximum-Form gegeben sind, gelten analoge Formeln, wobei speziell die Vorzeichen für die Änderungen neu zu überlegen sind. Bei einer Verschärfung der Restriktionen kann sich der optimale Zielfunktionswert nur verschlechtern, bei einer Abschwächung von Restriktionen kann er sich nur verbessern.
58 7. Januar 2013 4.5 Sonderfälle des Simplexalgorithmus (a) Duale Entartung Problem: Bei der Wahl der Pivotspalte kommen mehrere Spalten in Frage. Lösung: Wähle eine beliebige davon aus. Wirkung: Die Wahl hat zwar möglicherweise Einfluß auf die Anzahl der Iterationsschritte, aber nicht auf die Lösung. (b) Primale Entartung 1. Art Problem: Bei der Wahl der Pivotzeile kommen mehrere Zeilen mit dem gleichen Wert in Frage. Es schneiden sich mehrere Restriktionen in einer Ecke. Die zugehörige Basislösung ist entartet. Durch entsprechende Austauschschritte ergeben sich eventuell mehrere Vektoren für die Schattenpreise: Δ (1),..., Δ (k) der optimalen Basislösung (s. Sensitivitätsanalyse): Beispiel: Z =2x 1 +3x 2 max! 4x 1 +5x 2 20 x 2 4 x 1,x 2 0 Δ i = min{ Δ (j) i,j=1,...,k} rechnerisch + graphisch: x =(0, 4 0, 0) T, Δ (1) =(0, 0 1 2, 1 2 )T, Δ (2) =( 2 5, 0 3 5, 0)T Es kann passieren, daß man bei ungünstiger Wahl der Zeile nach mehreren Schritten zum gleichen Tableau zurückkommt - und das kann sich endlos wiederholen. Das Problem nennt man Kreiseln. Lösung: Es gibt kein einfaches Rezept dagegen. Üblicherweise (insbesondere in der rechentechnischen Umsetzung) wählt man die Zeile zufällig. Damit steigt die Wahrscheinlichkeit, daß man nicht endlos kreiselt. (c) Primale Entartung 2. Art Problem: Es kommt keine Pivotzeile in Frage: Alle entsprechenden Elemente sind negativ oder null. Beispiel: Z =3x 1 +2x 2 max! x 2 4
7. Januar 2013 59 x 1,x 2 0 rechnerisch+graphisch: Das Problem hat keine endliche Lösung: Z max (d) Mehrere Lösungen, Lösungsmenge Problem: Alle Optimalitätsindikatoren sind nichtnegativ, aber es gibt Indikatoren gleich Null: a m+1,j 0 j =1,...,n und s : a m+1,s =0 Vorgehensweise: Das Simplexverfahren wird solange mit einer Pivotspalte mit a m+1,s = 0 wiederholt, solange sich neue Basislösungen ergeben. Seien x (1),..., x (k) die so ermittelten optimalen Lösungen. Lösungsmenge: Die Menge aller Optimallösungen ist dann die Menge der konvexen Linearkombinationen der x (l) : { } k k L = x R n x = λ l x (l), λ l =1,λ l 0 für l =1,...,k l=1 Beispiel: Z =3x 1 +2x 2 max! x 2 4 3x 1 +2x 2 12 x 1,x 2 0 rechnerisch+graphisch (nur Lösung, keine Schattenpreise): x (1) =(4, 0 4, 0) T, x (2) =( 4, 4 0, 0)T 3 L = { x R 2 x = λ 1 x (1) + λ 2 x (2),λ 1,λ 2 0,λ 1 + λ 2 =1} oder L = { x R 2 x = x (1) + λ( x (2) x (1) ), 0 λ 1} oder L = { x R 2 x =(1 λ) x (1) + λ x (2), 0 λ 1} l=1 Spezialfall: a m+1,s = 0 und a is 0 i =1,...,m d.h. es kommt keine Pivotzeile in Frage (s. Serie 12, 1 (e)). Der zulässige Bereich ist unbeschränkt und Z verläuft parallel zu einer der Restriktionsgleichungen. Sei a m+1,s = 0 und a is 0 i =1,...,m Sei x 1 die zum Tableau gehörige Basislösung. Berechne 2. Lösung x mit Hilfe des Tableaus für beliebiges λ, z.b. λ =1: -) Setze die zur Pivotspalte gehörige NBV = λ -) Die restlichen NBV sind = 0 -) Für i =1,...,m ist die Basisvariable der i-ten Zeile = a i,m+1 λ a is L = { x R n x = x (1) + λ( x ( ) x (1) ), 0 λ}
60 7. Januar 2013 4.6 Die 2-Phasen-Methode Problem: Das LOP liegt häufig nicht in Standard Form vor. Um trotzdem den Simplexalgorithmus anwenden zu können ist eine Transformation des Problems in ein Ersatzproblem in Standard Form nötig. 4.6.1 Transformation in Standard Form Beispiel: Serie 13, 3 (g) (a) Transformation der Zielfunktion: (s. AB 8, Folie) Falls ein Minimierungsproblem Z = c T x min vorliegt, so erhält man daraus das äquivalente Maximierungsproblem Z =( c) T x max, indem alle Zielfunktionskoeffizienten mit ( 1) multipliziert werden. (b) Transformation der Restriktionen: Zuerst wird jede Restriktion, deren rechte Seite negativ ist, mit ( 1) multipliziert z.b.: 3x 1 4x 2 5 3x 1 +4x 2 5; Danach werden in den so entstandenen Restriktionen Schlupfvariable y i 0 und/oder Hilfsschlupfvariable h i 0 eingeführt, um ein Gleichungssystem in kanonischer Form zu erhalten. Problem: Bei Restriktionen mit = oder ist die übliche Startlösung x 1 = = x n =0möglicherweise nicht zulässig. Es muß zunächst eine erste zulässige Lösung berechnet und dafür passende Basisvariable gefunden werden. s. AB(8) (Folie) 1. a T i x b i = a T i x + y i = b i (BV : y i ) 2. a T i x = b i = a T i x + h i = b i (BV : h i ) 3. a T i x b i = a T i x y i + h i = b i (BV : h i ) mit a T i =(a i1,...,a in ) (c) Transformation der Variablen: (s. AB 8, Folie) In Abhängigkeit von den vorgegebenen Vorzeichenbeschränkungen werden die Variablen x j gegebenenfalls durch neue, nichtnegative Variable x j,x j substituiert: 1. x j 0 = keine Substitution 2. x j 0 = (x j = x j) = x j 0 3. x j bel. = (x j = x j x j ) = x j,x j 0
7. Januar 2013 61 4.6.2 Die zwei Phasen (a) Phase 1: Bestimmung einer zulässigen Basislösung durch Eliminierung der Hilfsschlupfvariablen: Phase-1-Zielfunktion Z1: Bemerkung: Das originale LOP ist lösbar h i =0 i Zielstellung: h i min. Daraus ergibt sich als Hilfszielfunktion: i Z1 = i h i max Optimalitätsindikatoren für Z1: Stelle sämtliche Restriktionen, die eine Hilfsschlupfvariable h i enthalten nach h i um und setze diese in Z1 ein. Wir erhalten Z1 inabhängigkeit von den Nichtbasisvariablen. Die entsprechenden Koeffizienten dienen als Optimalitätsindikatoren. Z1 im Tableau: Im Tableau wird eine zusätzliche (letzte) Z1-Zeile mitgeführt. über diese Zeile wird in Phase 1 die Wahl der Pivotspalte gesteuert. Bemerkung: Die Z1-Zeile berechnet sich einfach als die negative Summe aller Zeilen, die Hilfsschlupfvariable enthalten. Iteration in Phase 1: Die Iteration erfolgt wie gewohnt mit dem einzigen Unterschied, daß die Wahl der Pivotspalte auschließlich über die Z1-Zeile gesteuert wird. Spalten die zu einer Hilsschlupfvariable der Nichtbasis gehören werden gestrichen. Ende von Phase 1: Phase 1 endet erfolgreich, wenn keine Hilfsschlupfvariablen mehr in der Basis ist, d.h. h i =0 i. Die Z1 Zeile enthält dann nur noch Nullen und kann gestrichen werden. Eine zulässige Startlösung für das Originalproblem wurde gefunden. (b) Phase 2: Bestimmung einer optimalen Basislösung Ausgehend vom Endtableau von Phase 1 wird die übliche Simplexiteration durchgeführt. (c) Mögliche Probleme in Phase 1:
62 7. Januar 2013 Wird in Phase 1 eine optimale Lösung des Ersatzproblems (Phase-1-Zielfunktion) erreicht, bei der noch mindetsens eine Hilfsschlupfvariable positiv ist, so ist das LOP nicht lösbar - der zulässige Bereich ist leer Wird in Phase 1 eine entartete optimale Lösung des Ersatzproblems gefunden, bei der noch Hilfsschlupfvariablen in der Basis sind, aber Z1 = 0 gilt, so sind noch weitere Austauschschritte auszuführen. Wahl des Pivotelementes: wähle aus einer zu einer Hilfsschlupfvariablen gehörenden Zeile ein Element 0.