Lineare Optimierungsaufgaben - eine Einführung Aufgabenstellung, Beispiele, graphisches Lösen und Trafo auf Normalform Vortragsskript von Lorenz Fischer Operations Research bedeutet die Suche nach einer bestmöglichen (optimalen) Entscheidung unter Berücksichtigung von Nebenbedingungen. Optimierungsproblem Lineare Optimierung ist ein Teilbereich der kontinuierlichen Optimierung. Modellierungsbeispiel (mit Gleichungen und Ungleichungen) Nebenbedingungen: Kalzium 8% Proteine 10%; 20% Faserstoffe 25% Das Futter soll nur aus den obigen vier Bestandteilen zusammengestellt werden. dabei sind: z die Zielfunktion (anfallende Kosten), die minimiert werden soll, c T = (14.0,11.5,11.0,18.0) der Kostenvektor,
x = (x 1, x 2, x 3, x 4 ) T die zu findende Lösung [hier Werte zwischen 0 und 1 entsprechend 0% und 100% (Anteil der jeweiligen Futtermitteleinheiten)], b = (1,8,10,20,25) T die Mindest- oder Maximalanteile von Kalzium, Proteinen und Faserstoffen sowieso die 100% -Forderung (beachte unterschiedliche Einheiten) 1 1 1 1 3 9 6 12 und à = 7 5 15 27 die Matrix, welche angibt, zu wie viel Prozent die 7 5 15 27 38 22 17 2 Futtermittel aus Kalzium, Proteinen, Faserstoffen und Nährstoffkonzentraten bestehen (auch hier fällt die erste Zeile aufgrund der 100 % -Forderung aus dem Raster). Somit erhalten wir insgesamt: formale Aufgabenstellung lineare Optimierungsaufgabe (LOA) in Gleichungsnormalform z = c T x + c 0 min bei Ax = b, x 0 x, c R n, b R m, A R m n, m < n Dies ist die Normalform, mit welcher wir im Seminar arbeiten werden. Sie ist die Ausgangsform für die Simplexmethode. c 0 als konstante Kosten können bei der Optimierung vernachlässigt werden, da hieran ja nichts minimiert werden kann.
Unser obiges Beispiel weicht momentan noch von der Normalform ab. Das werden wir gleich weiterverfolgen. lineare Optimierungsaufgabe (LOA) in Ungleichungsnormalform z = c T x + c 0 min bei Ax b, x 0 Diese Normalform wird für die Dualitätstheorie benötigt und ist nicht weiterer Gegenstand des Seminars. Transformation auf Gleichungs-Normalform (mit Schlupfvariablen) Lineare Optimierungsaufgabe (nicht in Normalform) Gegeben sind eine Matrix A mit m Zeilen und n Spalten, ein Vektor c R n und b R m und ein Index 0 r n. Zu berechnen ist x R n als Lösung von: n z = c j x j max oder min j=1 n a i j x j [ / = / ] b i, i = 1,..., m j=1 x j 0, j J {1,2,..., n} (vgl. obiges Beispiel) Zur Transformation auf die Gl.-NF. gibt es folgende Standardmöglichkeiten: 1. f (x) max f (x) min 2. Wenn in der linearen Optimierungsaufgabe Ungleichungsnebenbedingungen enthalten sind, so können sie durch Einführung von Schlupfvariablen u i in Gleichungsnebenbedingungen transformiert werden: Eine Ungleichung a i j x j b i wird dadurch in a i j x j + u i = b i mit der Forderung u i 0 Eine Ungleichung a i j x j b i wird dadurch in a i j x j u i = b i mit der Forderung u i 0
transformiert. Aus dem Futtermittelbeispiel wird nun: z = 14x 1 + 11.5x 2 + 11x 3 + 18x 4 min x 1 + x 2 + x 3 + x 4 = 1 3x 1 + 9x 2 + 6x 3 + 12x 4 u 1 = 8 7x 1 + 5x 2 + 15x 3 + 27x 4 u 2 = 10 7x 1 + 5x 2 + 15x 3 + 27x 4 + u 3 = 20 38x 1 + 22x 2 + 17x 3 + 2x 4 u 4 = 25 x 1, x 2, x 3, x 4, u 1, u 2, u 3, u 4 0 Dies entspicht der Gleichungsnormalform. Es gilt folglich: c := ( c T,0,0..) T, x := ( x T, u) T Die Schlupfvariablen u i sind echte Variablen des Problems - mit echten Informationen: Wert u i = Defekt von Ungleichheit zu Gleichheit. 3. Wenn eine Variable x j keiner Nichtnegativitätsbedingung unterworfen ist, so ist sie in der gesamten Aufgabe durch eine oder zwei neue Variablen zu ersetzen. Die einfachste Regel ist: x j := x j x j, x j, x j 0 Aus unserem obigen Beispiel würde nun also folgendes werden: x 1 x 1 + x 2 x 2 + x 3 x 3 + x 4 x 4 = 1 3x 1 3x 1 + 9x 2 9x 2 + 6x 3 6x 3 + 12x 4 12x 4 8 etc. Da unsere prozentualen Anteile jedoch logischerweise nichtnegativ sind, kann dieser Schritt hier übergangen werden. Wir fügen unserer Aufgabenstellung lediglich Nichtnegativitätsbedingungen für x hinzu. Die drei Hauptausgangsmöglichkeiten der OA 1. Es gibt mindestens eine Lösung. 2. Der zulässige Bereich ist leer. G = In diesem Fall gibt es keine Lösung.
3. Die OA ist unlösbar, da die Zielfunktion gegen unendlich konvergiert. f = Im nächsten Kapitel kommen wir auf diese drei Fälle zurück. Graphisches Lösen in 2D Betrachten wir folgende Lineare Optimierungsaufgabe: z = x + 3y max x + 2y 110 x + 4y 160 x + y 100 x, y 0 Stellen wir diese Ungleichungen graphisch dar, erhalten wir folgende Grafik: Wir sehen, dass wir durch die Ungleichungen einen fünfeckigen Bereich erhalten. Dies sind alles potentielle Lösungen der LOA. In dieser Grafik ist die Zielfunktion x + 3y = a für a = 200 abgebildet. Man erkennt, dass diese Zielfunktion keine gemeinsamen Punkte mit dem gültigen Bereich hat. Hier entsteht also keine Lösung der LOA. Verschieben wir den Regler für a nun, bis die Zielfunktionsgerade in den gültigen Bereich kommt:
Für a = 135 geht die Zielfunktionsgerade durch den Punkt D. Da dies gleichzeitig der höchstmögliche Wert für a ist, ist sind x, y von D das gesuchte Optimum. Kommen wir zurück zu den drei Fällen: 1. Es gibt mindestens eine Lösung. Dies ist für das obige Beispiel der Fall. Mehrere Lösungen wären z.b. möglich, wenn die Zielfunktionsgerade durch eine Sehne des Lösungsbereichs verläuft, wie es z.b. in folgender Grafik mit p = 1.5, q = 3 und a = 165 der Fall ist:
2. Der zulässige Bereich ist leer. In diesem Fall gibt es keine Lösung. Dies wäre z.b. für folgendes einfaches Beispiel offensichtlich der Fall: z = x + y max x + 3y 10 x + 3y 15 3. Die Aufgabe ist unlösbar, da die Zielfunktion über dem zulässigen Bereich unbeschränkt fällt. z = Wäre das obige Beispiel eine Minimierungsaufgabe ohne Nichtnegativitätsbedingungen, läge dieser Fall vor. Sensitivitätsanalyse Kosten bzw. Gewinn (welche in c verankert sind) können sich schnell verändern. Im Folgenden soll ebenfalls graphisch diskutiert werden, was geringfügige Änderungen des Vektors c für Einflüsse auf die Lösung der LOA haben können. Zunächst das gestörte Problem: P(δc) = (c + δc) T x min bei Ax = b, x 0 auch möglich: b b + δb und A A + δa - wird hier nicht betrachtet.
In folgender Grafik steigt der Gewinn für das Produkt x von 1 auf 1.3 ( Geldeinheiten pro Verkauf ) an. Die Steigung der Zielfunktionsgerade ändert sich und der Gewinn a muss neu eingestellt werden. Der Punkt D bleibt weiterhin Lösung der LOA, jedoch mit einem anderen Wert für z. Der Gewinn hat sich bei gleichbleibenden Produktionsbedingungen x,y auf 153 erhöht. Steigt der Gewinn für das Produkt x weiterhin an, z.b. auf 2, so ist D nicht mehr Optimum der LOA. Während der Punkt D nun einen Ertrag von 195 einfährt, könnten die Produktionsbedingungen des Punktes C einen Ertrag von 210 erzielen.
Für einen bestimmten Wert von x zwischen 1 und 2 verläuft die Zielfunktionsgerade parallel zur Sehne CD. Somit gibt es für diesen Fall mehrere Lösungen für die LOA.