Inhaltsverzeichnis 4 Grundlagen der Linearen Optimierung 1 4.1 Grundbegriffe............................. 1 4.1.1 Lineare Optimierung..................... 1 4.1.2 Das Grundmodell eines linearen Optimierungsproblems (LOP) 2 4.1.3 Modellierung......................... 4 4.2 Graphische Lösung einfacher Probleme............... 5 4.3 Der Simplexalgorithmus....................... 6 4.3.1 Grundlagen.......................... 6 4.3.2 Das Simplextableau...................... 7 4.3.3 Simplexiteration....................... 9 4.3.4 Lösung des LOP....................... 10 4.4 Sensitivitätsanalyse.......................... 13 4.4.1 Gültigkeitsbereich und Bedeutung des Schattenpreises... 13 4.4.2 Stabilitätsbereiche...................... 14 4.5 Sonderfälle des Simplexalgorithmus................. 15 4.6 Die 2-Phasen-Methode........................ 17 4.6.1 Transformation in Standard Form.............. 17 4.6.2 Die zwei Phasen........................ 18 0
Kapitel 4 Grundlagen der Linearen Optimierung 4.1 Grundbegriffe 4.1.1 Lineare Optimierung (1) Lineare Optimierung - grundlegendes Teilgebiet des OR OR - Operations Research Ziel des OR: Analyse betrieblicher und wirtschaftlicher Prozesse Anwendung mathematischer Methoden zur Entscheidungsvorbereitung historische Bemerkungen: Beginn des OR - etwa Ende des 2. Weltkrieges vorher schon militärische Anwendungen (Optimierung von Radareinsatz, Fliegerabwehr, U-Boot Bekämpfung, Bombereinsatz,.. ) wichtige Rahmenbedingung: Entwicklung der Rechentechnik charakteristische Vorgehensweise: Realität (reales Problem) Modell (formales Problem) Modellösung (OR) Reallösung (Entscheidung) (2) Lineare Optimierung 1
2 Kapitel 4: Grundlagen der linearen Optimierung Andere Bezeichnungen: Lineare Planungsrechnung, Lineare Programmierung Abkürzung: LP Ziel: Optimierung einer linearen Funktion, die von mehreren Variablen abhängt (3) Zielfunktion Gegeben: reelle Zahlen c 0, c 1,..., c n Gesucht: x 1, x 2,..., x n, so daß Z(x 1,..., x n ) := c 0 + c 1 x 1 + c 2 x 2 + + c n x n optimal, d.h. je nach Problemstellung maximal oder minimal wird. Bezeichnungen: x 1,..., x n : Strukturvariablen, Entscheidungsvariablen, Aktionsvariablen Z(x 1,..., x n ): Zielfunktion Bemerkung: c 0 hat keinen Enfluß auf Maximal- bzw. Minimalstellen von Z. Daher betrachten wir im Folgenden nur Zielfunktionen der Form (4) Restriktionen Z(x 1,..., x n ) = c 1 x 1 + c 2 x 2 + + c n x n Einschränkungen für die Strukturvariablen lineare Gleichungen oder Ungleichungen Anzahl der Restriktionen kann sehr groß werden 4.1.2 Das Grundmodell eines linearen Optimierungsproblems (LOP) (1) Das Standardmodell: Z(x 1,..., x n ) = c 1 x 1 + + c n x n max! a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2...... a m1 x 1 + a m2 x 2 + + a mn x n b m x 1, x 2,..., x n 0 b 1, b 2,..., b m 0
Kapitel 4: Grundlagen der linearen Optimierung 3 Bemerkung: Im Grundmodell gilt stets die Maximierungsforderung Bezeichnungen: n - Anzahl der Strukturvariablen m - Anzahl der Restriktionen c 1,..., c n - Zielfunktionskoeffizienten, Dualwerte b 1,..., b m 0 - Restriktionswerte, Primalwerte a ij - technische Koeffizienten x 1,..., x n 0 - Nichtnegativitätsbedingungen Kurzschreibweise: Z(x 1,..., x n ) = n j=1 c j x j max! n a ij x j b i für i = 1..., m j=1 x 1,..., x n 0, b 1,..., b m 0 Matrixschreibweise: Z = c T x max A x b x 1,..., x n 0 mit A R (m,n), c, x R n, b R m, b 1,..., b m 0 (2) Beispiel Adventsgebäck Ein Betrieb stellt Lebkuchen und Spekulatius her. Ziel: Maximierung des Gewinns Lebkuchen erwirtschaften pro Tonne 4 Geldeinheiten (1GE = 100 Euro) Spekulatius erwirtschaften pro Tonne 3 Geldeinheiten Restriktionen: Das Adventsgebäck wird auf drei Maschinen: A, B, C produziert Lebkuchen benötigen je Tonne eine Stunde auf Maschine B und 3 Stunden auf Maschine C Spekulatius benötigen je Tonne eine Stunde auf Maschine A, eine Stunde auf Maschine B und zwei Stunden auf Maschine C
4 Kapitel 4: Grundlagen der linearen Optimierung Maschine A steht täglich 6 Stunden zur Verfügung Maschine B steht täglich 7 Stunden zur Verfügung Maschine C steht täglich 18 Stunden zur Verfügung 4.1.3 Modellierung (1) Was ist zu tun? (a) Festlegen der Entscheidungsvariablen und der zugehörigen Maßeinheiten (b) Fetlegung des Optimierungszieles (min, max) und der Zielfunktion (c) Festlegen und Aufstellen der Restriktionen (d) Angabe von Schranken für die Variablen (2) Beispiel Adventsgebäck :
Kapitel 4: Grundlagen der linearen Optimierung 5 4.2 Graphische Lösung einfacher Probleme (1) Bemerkungen, zulässiger Bereich Die graphische Lösung eines LP-Problems ist im Allgemeinen nur für zwei Strukturvariablen möglich. Die Lösungsmenge einer Gleichung mit zwei Variablen entspricht einer Gerade in der Ebene. Die Lösungsmenge einer Ungleichung mit zwei Variablen entspricht einer Halbebene. (2) Graphische Darstellung Beispiel: Adventsgebäck/Waschpulver Zielfunktion: Z = 4x 1 + 3x 2 max! Restriktionen: Maschine A: x 2 6 Maschine B: x 1 + x 2 7 Maschine C: 3x 1 + 2x 2 18 Nichtnegativitätsbedingungen: x 1, x 2 0 (3) Lösung Für einen festen Wert c entspricht Z = c ebenfalls einer Geraden in der Ebene, wobei Z die Zielfunktion des LP-Problems ist. Wir suchen also den größten Wert c, so daß die Gerade Z = c mindestens einen Punkt des zulässigen Bereiches enthält. Dazu zeichnen wir eine entsprechende Gerade für beliebiges c ein, z.b. Z = 0 und verschieben diese Gerade parallel so weit wie möglich in Richtung wachsendes c. Beispiel: Adventsgebäck/Waschpulver
6 Kapitel 4: Grundlagen der linearen Optimierung 4.3 Der Simplexalgorithmus 4.3.1 Grundlagen (1) Der zulässige Bereich Der zulässige Bereich ist eine Teilmenge des R n, wobei n die Anzahl der Strukturvariablen ist. Der zulässige Bereich wird gebildet durch m + n Ungleichungen: die Restriktionen n a ij x j b i, i = 1,..., m und j=1 die Nichtnegativitätsbedingungen x j 0, j = 1,..., n Der zulässige Bereich ist (sofern er nicht entartet ist) eine abgeschlossene Menge, d.h. die Randpunkte der Menge gehören zur Menge dazu. Der zulässige Bereich ist (sofern er nicht entartet ist) eine konvexe Menge, d.h. mit je zwei Punkten, die zu der Menge gehören, gehören auch alle Punkte auf der Verbindungsstrecke dieser beiden Punkte dazu. Für die Eckpunkte des zulässigen (nicht entarteten) Bereiches gilt: genau n der oben genannten m + n Ungleichungen sind als Gleichungen erfüllt. Beispiel: Adventsgebäck/Waschpulver (2) Die Zielfunktion Die Zielfunktion ist eine lineare Funktion, die abhängig ist von den n Strukturvariablen x 1,..., x n. (3) Satz: Eine lineare Funktion über einer konvexen, abgeschlossenen Menge nimmt ihr Maximum und ihr Minimum auf dem Rand dieser Menge an. Das heißt insbesondere, daß wir für die Bestimmung des Maximum bzw. Minimum nur die Eckpunkte der zulässigen Menge untersuchen müssen. (4) Problem: Wie untersucht man systematisch die Eckpunkte eines zulässigen nicht entarteten Bereiches?
Kapitel 4: Grundlagen der linearen Optimierung 7 4.3.2 Das Simplextableau (1) Die Schlupfvariablen Das Grundproblem Z(x 1,..., x n ) = n c j x j max! j=1 n a ij x j b i, i = 1,..., m j=1 x 1,..., x n 0 wird in ein äquivalentes Gleichungssytem überführt: n c j x j + Z = 0 j=1 n a ij x j + y i = b i, j=1 x 1,..., x n, y 1,..., y m 0 = 1,..., m Die Variablen y i werdenschlupfvariablen, Leerlaufvariablen (slack variables) genannt. Bemerkung: Die Restriktionen bilden jetzt ein lineares Gleichungssystem in kanonischer Form. Eine Lösung des LGS ist (2) Das Starttableau Tab. 0 x 1 x 2... x n y 1 a 11 a 12... a 1n b 1 : : : : : y m a m1 a 1m2... a mn b m Z c 1 c 2... c n 0 x 1 = = x n = 0, y i = b i i = 1,..., m. Das Starttableau beschreibt die Situation im Startpunkt x 1 = x 2 = x n = 0. In der ersten Zeile stehen die (Namen der) Variablen, die den Wert 0 haben. Die Variablen der ersten Zeile heißen Nichtbasisvariable - NBV.
8 Kapitel 4: Grundlagen der linearen Optimierung Die erste Spalte enthält aktuell die Bezeichnungen der Schlupfvariablen. Die Variablen der ersten Spalte heißen Basisvariable - BV. Im Innern des Tableaus stehen die technischen Koeffizienten. In der letzten Zeile stehen neben dem Z die Koeffizienten der umgestellten Zielfunktion, sowie in der letzten Spalte der aktuelle Wert der Zielfunktion. In der letzten Spalte steht der Wert der entsprechenden Basisvariablen, hier aktuell die Restriktionswerte b i. technische Bezeichnungen: Die Werte der letzten Zeile (aktuell: c 1,..., c n, 0) werden auch mit a m+1,j, j = 1,..., n + 1 bezeichnet. Die Werte der letzten Spalte (aktuell: b 1,..., b m, 0) werden auch mit a i,n+1, i = 1,..., m + 1 bezeichnet. Beispiel: Adventsgebäck/Waschpulver
Kapitel 4: Grundlagen der linearen Optimierung 9 4.3.3 Simplexiteration (1) Grundlagen: Eine Simplexiteration entspricht dem Übergang von einer Ecke des zulässigen Bereiches in eine benachbarte Ecke. Im Normalfall wächst bei jedem Iterationsschritt der Zielfunktionswert (Sonderfälle, s. 4.5.). 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. (2) Der Übergang: Der Übergang von einer Ecke zu einer benachbarten Ecke erfolgt in 6 Schritten. (a) 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,j < 0} 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 entsprechende Nichtbasisvariable soll jetzt Basisvariable werden. Eine Basisvariable muß dafür zur Nichtbasisvariable werden Falls mehrere Spalten als Pivotspalten in Frage kommen, spricht man von dualer Entartung. Man wählt beliebig einen der Kandidaten aus. Falls keine Spalte in Frage kommt, entspricht das Tableau einer optimalen Lösung. s. Adventsgebäck/Waschpulver, s = 1 (b) 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.
10 Kapitel 4: Grundlagen der linearen Optimierung Der entsprechende Zeilenindex sei z, d.h. a z,n+1 a zs = min{ a i,n+1 a is i = 1,..., m a is > 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. Mögliche Entartungen werden später behandelt. s. Adventsgebäck/Waschpulver: z = 3 (c) Umrechnung des Pivotelements a zs := 1 a zs (d) Umrechnung der restlichen Pivotspalte a is := a is a zs, i = 1,..., m + 1 i z (e) Umrechnung der restlichen Pivotzeile a zj := a zj a zs, j = 1,..., n + 1 j s (f) Umrechnung des restlichen Tableaus a ij := a ij a is a zj a zs i = 1,..., m + 1 i z, j = 1,..., n + 1 j s. oder Umrechnung mit Hilfe der Kellerzeile 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 (1) Abbruchkriterium, Optimalitätskriterium Die Elemente a m+1,..., a m+1,n der letzten Zeile heißen Optimalitätsindikatoren
Kapitel 4: Grundlagen der linearen Optimierung 11 Der Algorithmus endet, wenn alle Optimalitätsindikatoren größer oder gleich Null sind. Sind alle Optimalitätsindikatoren positiv, dann wurde die eindeutige Optimallösung gefunden. Falls es Optimalitätsindikatoren gibt, die Null sind, ist die Lösung nicht eindeutig, s. 4.5. (2) Beispiel Adventsgebäck/Waschpulver: Zielfunktion: Z = 4x 1 + 3x 2 max! Restriktionen: Maschine A: x 2 6 Maschine B: x 1 + x 2 7 Maschine C: 3x 1 + 2x 2 18 Nichtnegativitätsbedingungen: x 1, x 2 0 Lösung: graphisch x 2 10 x 2 = 9 3 x 2 1 5 x 2 = 6........ Z = 12... x 2 = 7 x 1 5 10 x 1 Lösung mit Simplex T1 y 3 x 2 y 1 0 1 6 y 2-1/3 1/3 1 x 1 1/3 2/3 6 Z 4/3-1/3 24 T2 y 3 y 2 y 1 1-3 3 x 2-1 3 3 x 1 1-2 4 Z 1 1 25
12 Kapitel 4: Grundlagen der linearen Optimierung Tableau 1: aktueller Zielfunktionswert: 24 aktuelle Werte: y 3 = x 2 = 0 (NBV), y 1 = 6, y 2 = 1, x 1 = 6 (BV) Restriktion 3 ist als Gleichung erfüllt (y 3 = 0) Tableau 2: Optimalitätsbedingung erfüllt, optimaler Zielfunktionswert: Z max = 25 aktuelle Werte: y 3 = y 2 = 0 (NBV), y 1 = 3, x 2 = 3, x 1 = 4 (BV) Restriktionen 2 und 3 sind als Gleichung erfüllt (3) Basislösungen Eine Basislösung ist eine zulässige Lösung des kanonischen Gleichungssystems (s. 4.3.2) mit höchstens m Nicht-Null-Einträgen (alle N BV = 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. (4) Schattenpreise: Den Schattenpreis einer NBV liest man in der letzten Zeile der zugehörigen Spalte ab. Der Schattenpreis einer BV ist 0. (Interpretation später) Variable: x 1 x 2 y 1 y 2 y 3 Schattenpreis: 0 0 0 1 1 (5) Angabe der Lösung (am Beispiel): Z max = 25 optimale Basislösung: x = (x 1, x 2 y 1, y 2, y 3 ) T = (4, 3 3, 0, 0) T zugehöriger Vektor der Schattenpreise: = (0, 0 0, 1, 1) T
Kapitel 4: Grundlagen der linearen Optimierung 13 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 (u) i, b (o) i ] des Schattenpreises der Restriktion berechnet. 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 )
14 Kapitel 4: Grundlagen der linearen Optimierung 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.
Kapitel 4: Grundlagen der linearen Optimierung 15 4.5 Sonderfälle des Simplexalgorithmus (1) 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. (2) 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} 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. (3) 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 x 1, x 2 0
16 Kapitel 4: Grundlagen der linearen Optimierung Das Problem hat keine endliche Lösung: Z max (4) 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 l=1 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} 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 λ}
Kapitel 4: Grundlagen der linearen Optimierung 17 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) (1) Transformation der Zielfunktion: 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. (2) 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 = 0 möglicherweise nicht zulässig. Es muß zunächst eine erste zulässige Lösung berechnet und dafür passende Basisvariable gefunden werden. 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 i T = (a i1,..., a in ) (3) Transformation der Variablen: 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
18 Kapitel 4: Grundlagen der linearen Optimierung 4.6.2 Die zwei Phasen (1) Phase 1: Bestimmung einer zulässigen Basislösung durch Eliminierung der Hilfsschlupfvariablen: (a) Phase-1-Zielfunktion Z1: Bemerkung: Das originale LOP ist lösbar h i = 0 i Zielstellung: i h i min. Daraus ergibt sich als Hilfszielfunktion: Z1 = i h i max (b) 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 in Abhängigkeit von den Nichtbasisvariablen. Die entsprechenden Koeffizienten dienen als Optimalitätsindikatoren. (c) 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 Hilfsschlupfvariablen enthalten. (d) 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. (e) 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. (2) Phase 2: Bestimmung einer optimalen Basislösung: Ausgehend vom Endtableau von Phase 1 wird die übliche Simplexiteration durchgeführt. (3) Mögliche Probleme in Phase 1:
Kapitel 4: Grundlagen der linearen Optimierung 19 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.