10. Die Berücksichtigung nicht vorzeichenbeschränkter Variablen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "10. Die Berücksichtigung nicht vorzeichenbeschränkter Variablen"

Transkript

1 10. Die Berücksichtigung nicht vorzeichenbeschränkter Variablen Bisher haben wir immer vorausgesetzt, dass alle Variablen eines LOP der Bedingung x i 0 liegen. Im Folgenden wollen wir auch sogenannte freie Variablen zulassen, die sowohl positive als auch negative Werte annehmen können. Eine Möglichkeit der Berücksichtigung einer freien Variable x i ist ihre Darstellbarkeit als Differenz zweier positiver Variablen x i = x i + - x i - mit x i + 0, x i - 0 Die beiden Komponenten sind dabei eindeutig bestimmt, wenn wir fordern, daß mindestens eine davon verschwindet, je nach dem ob x i positiv oder negativ ist. Schreiben wir das Standard-LOP mit Hilfe der Spaltenvoktoren a i der Matrix A in der Form c 1 x c i x i c n x 1 -> Max! a 1 x a i x i a n x n = b dann erhalten wir nach dem Einsetzen von x i = x i + - x i - : c 1 x c i x i + - c i x i c n x 1 -> Max! a 1 x a i x i + - a i x i a n x n = b Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 1

2 Alle auftretenden Variablen sind jetzt vorzeichenbeschränkt, die Aufgabenstellung kann, wie gewohnt, mit dem Simplexverfahren behandelt werden. Dabei kann niemals der Fall eintreten, daß die beiden Variablen x + i und x - i gleichzeitig in einer Basislösung auftreten, denn die zugehörigen Spaltenvektoren a i und - a i sind linear abhängig. Natürlich funktioniert diese Methode auch für mehrere freie Variablen bei entsprechender Erhöhung der Zahl der vorzeichenbeschränkten Variablen. Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 2

3 Eine andere Möglichkeit der Berücksichtigung freier Variablen besteht in einer geeigneten Modifikation des Simplexalgorithmus. Wir vergegenwärtigen uns dazu den Basistausch anhand der Schemata vor dem Basistausch nach dem Basistausch s 1... s k... s r s 1... z i... s r z 1 a a 1k... a 1r b 1 z 1 a a 1k /a ik... a 1r b 1 z 2 a a 2k... a 2r b 2 z 2 a a 2k /a ik... a 2r b z i a i1... a ik... a ir b i s k a i1 /a ik... 1/a ik... a ir /a ik b i /a ik z m a m1... a mk... a mr b m z m a m1... -a mk /a ik... a mr b m c 1... c k... c r f c c k /a ik... c r f mit dem neuen Zeilfunktionswert f = f - b i c k /a ik und dem Wert b' i = b i/a ik für die neue Basisvariable mit dem Index s k. Wir stellen fest: Ist die in die Basis aufzunehmende Variable mit dem Index s k frei, kann die Zielfunktion auch verbessert werden, wenn c k < 0 und a ik < 0 gewählt wird und wenn man sich bei der Auswahl der Pivotzeile i auf Indizes von Variablen mit Positivitätsbedingung beschränkt. Es gibt also bei freien Variablen zwei Möglichkeiten der Vergrößerung des Zielfunktionswertes, je nachdem, ob c k > 0 oder c k < 0 ist. Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 3

4 Im Einzelnen sehen die Regeln Berücksichtigung von freien Variablen wie folgt aus: 1. Auswahl der Pivotspalte: a) wähle einen Index k mit c k > 0 oder b) wähle einen Index k mit c k < 0 und x k frei Gilt c k < 0 für alle vorzeichenbeschränkte Variablen und c k = 0 für alle freien Variablen, dann ist die optimale Ecke erreicht. 2. Auswahl der Pivotzeile a) Fall c k > 0: Wähle den Zeilen mit a ik > 0 und z i vorzeichenbeschränkt diejenige mit dem kleinsten Quotienten x i /a ik als Pivotzeile. Gilt a ik 0 für alle vorzeichenbeschränkte z i, ist die Zielfunktion nicht beschränkt. b) Fall c k < 0: Wähle den Zeilen mit a ik < 0 und z i vorzeichenbeschränkt diejenige mit dem betragskleinsten Quotienten x i /a ik als Pivotzeile. Gilt a ik 0 für alle vorzeichenbeschränkte z i, ist die Zielfunktion nicht beschränkt. 3. Führe mit dem resultierenden Pivotelement a ik - das jetzt auch negativ sein kann - nach den unveränderten Regeln der Umrechnung den Basistausch durch. Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 4

5 Beispiel mit einer nicht vorzeichenbeschränkten Variablen: 10x 1 + 4x 2 + x 3 -> Max! x 1 + 2x 2 - x 3 5 x 1 - x 2 + 3x 3 2-2x 1 + x 3 4 x 1 0, x 2 0, x 3 frei 1. Methode Wir ersetzen x 3 durch x x - 3 mit x + 3 0, x und erhalten: 10x 1 + 4x 2 + x x - 3 -> Max! x 1 + 2x 2 - x x x 1 - x 2 + 3x + 3-3x x 1 + x x x 1 0,..., x Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 5

6 Die Lösung mit dem Standardsimplexalgorithmus ergibt: Unter der Berücksichtigung, daß x 3 - der negative Anteil der ursprünglich freien Variablen x 3 ist, haben wir also als Lösung der ursprünglichen Aufgabe: x 1 = 4.25, x 2 = 0 und x 3 = Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 6

7 2. Methode mit Hilfe des modifizierten Algorithmus (freie Variable ist x 3 ) Die Lösungswerte können im Endschema unmittelbar abgelesen werden. Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 7

8 11. Dualität Definition dualer Aufgaben: primale Aufgabe F(x) = c T x Max! duale Aufgabe F (w) = b T w Min! Ax b, x 0 A T w c, w 0 Beispiel primale Aufgabe duale Aufgabe 12x 1 + 8x 2 = Max! 80w w w 3 = Min! 4x 1 + 2x w 1 + 2w 2 + 5w x 1 + 3x w 1 + 3w 2 + w 3 8 5x 1 + x 2 75 x i 0 für i = 1,...,4 w k 0 für k =1,2,3 (Beachte: b 0 wird bei der Definition der Dualität nicht vorausgesetzt) Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 8

9 Umkehrung bzw. Symmetrie der Dualität: primale Aufgabe duale Aufgabe F(x) = c T x Min! F (w) = b T w Max! Ax b, x 0 A T w c, w 0 am Beispiel primale Aufgabe 80x x x 3 = Min! duale Aufgabe 12w 1 + 8w 2 = Max! 4x 1 + 2x 2 + 5x w 1 + 2w x 1 + 3x 2 + x 3 8 2w 1 + 3w w 1 + w 2 75 x k 0 für k =1,2,3 w i 0 für i = 1,...,4 Beweis mit Hilfe der Definition der Dualität. Bemerkung: Die duale Aufgabe kann ggf. (falls c 0 gilt) ein Standard-LOP sein! Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 9

10 Frage: Welche Beziehungen bestehen zwischen den Lösungen dualer Aufgaben? Lösung der dualen Aufgabe: Lösung der primalen Aufgabe nach der 2-Stufenmethode ergab: Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 10

11 Vergleich der Ergebnisse anhand der Endschemata: primale Aufgabe : duale Aufgabe : Min. 80x x x 3 : Max. 12w 1 + 8w 2 : Problemvariablen Schlupfvariablen x 1 B; x 1 =0; c(1) = w 3 B; w 3 = x 2 B; x 2 =2.154 w 4 B; w 4 =0; c(4)= x 3 B; x 3 =1.539 w 5 B; w 5 =0; c(5)= Schlupfvariablen Problemvariablen x 4 B; x 4 =0; c(4) = w 1 B; w 1 = x 5 B; x 5 =0; c(5) = w 2 B; w 2 = Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 11

12 12. Dualität bei gemischten Nebenbedingungen und freien Variablen Bei der Bildung dualer Aufgaben gingen wir bisher von primalen Aufgabe aus, bei denen nur Ungleichungen als Nebenbedingungen und vorzeichenbeschränkte Variablen auftraten. Sind Gleichungen und /oder freie Variablen in der primalen Aufgabe vorhanden, dann stellt sich die Frage, wie die duale Aufgabe aussieht. Wir wollen diese Frage an einem Beispiel betrachten 5x 1 + 2x 2 + x 3 = Min! - x 1 + 3x 2 - x 3 2 2x 1 - x 2 4 2x 1 + x 2 - x 3 = 3 x 1 0, x 2 0, x 3 0 Die Gleichung können wir offenbar durch zwei Ungleichungen ersetzen: 2x 1 + x 2 - x 3 3 und 2x 1 + x 2 - x 3 3 Wenn wir die zweite noch mit -1 multiplizieren, erhalten wir: 5x 1 + 2x 2 + x 3 = Min! - x 1 + 3x 2 - x 3 2 2x 1 - x 2 4 2x 1 + x 2 - x 3 3-2x 1 - x 2 + x 3-3 x 1 0, x 2 0, x 3 0 Jetzt können wir wie gewohnt die duale Aufgabe bilden und erhalten Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 12

13 2w 1 + 4w 2 + 3w 3-3w 4 = Max! - w 1 + 2w 2 + 2w 3-2w 4 5 3w 1 - w 2 + w 3 - w w1 - w3 + w 4 1 w 1 0,..., w 4 0 Wir stellen fest, dass die Differenz w 3 - w 4 eine freie Variable darstellt. Bezeichnen wir diese der Einfachheit halber wieder mit w 3, erhalten wir die duale Aufgabe 2w 1 + 4w 2 + 3w 3 = Max! - w 1 + 2w 2 + 2w 3 5 3w 1 - w 2 + w w1 - w3 1 w 1 0, w 2 0, w 3 frei Eine Gleichung im primalen Problem führt also zu einer freien Variablen im dualen Problem. Umgekehrt führt eine freie Variable im primalen Problem zu einer Gleichung als Nebenbedingung im dualen Problem. Dies kann man sich klar machen, indem man die duale Aufgabe als primale auffaßt und erneut eine Dualisierung vornimmt. Wir sind mit diesen Überlegungen nunmehr in der Lage, eine lineare Optimierungsaufgabe direkt zu dualisieren, auch wenn freie Variablen und Gleichungen als Nebenbedingungen vorkommen. Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 13

14 Bemerkung: Die Verwendung der dualen Aufgabe zur Lösung eines Optimierungsproblems ist immer dann sinnvoll, wenn die Bestimmung einer Startecke im primalen Problem mit einer Hilfsaufgabe vorgenommen werden muß, bei der dualen Aufgabe dies aber nicht notwendig ist. Unsere Betrachtungen haben gezeigt, daß letzteres dann der Fall ist, wenn in der primalen Aufgabe die zu minimierende Zielfunktion nur positive Koeffizienten besitzt. Insbesondere stellen Gleichungen in den Nebenbedingungen des primalen Problems keinen Hinderungsgrund für die Lösung mit Hilfe der dualen Aufgabe dar. Sie sind vielmehr häufig der Anlaß, diesen Weg zu gehen. Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 14

15 13. Weitere Sätze zur Dualität Wir wollen hier noch einige Aussagen über duale Optimierungsaufgaben aufführen, wobei wir uns dabei auf die folgende Form dualer Aufgaben beziehen: primale Aufgabe (Problem I) duale Aufgabe (Problem II) F I (x) = c T x Min! F II (w) = b T w Max! Ax b, x 0 A T w c, w 0 SATZ 1: Ist x ein zulässiger Punkt von Problem I und w ein zulässiger Punkt von Problem II, dann gilt für die Zielfunktionen die Ungleichung c T x b T w BEWEIS: Wir "multiplizieren" die Nebenbedingung von Problem I von links mit w und die Nebenbedingung von Problem II mit x und erhalten w T b w T Ax sowie x T A T w x T c Unter Beachtung der Regeln für die Vektor- und Matrizenrechnung, insbesondere der Gleichheit von w T Ax und x T A T w, ergibt sich die Behauptung. Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 15

16 SATZ 2: Ist die zu minimierende Zielfunktion c T x von Problem I (nach unten) unbeschränkt, dann besitzt Problem II keine zulässigen Punkte. Ist die zu maximierende Zielfunktion b T w von Problem II (nach oben) unbeschränkt, dann besitzt Problem I keine zulässigen Punkte. BEWEIS: Hätte das jeweilige andere Problem zulässige Punkte, dann ergäbe sich nach Satz 1 eine obere bzw. er Schranke für die Zielfunktion. Das ist ein Widerspruch zur vorausgesetzten Unbeschränktheit. SATZ 3: Besitzen sowohl das primale Problem als auch das duale Problem zulässige Punkte, dann besitzen auch beide Probleme eine optimale Lösung. BEWEIS: Wenn beide Probleme zulässige Punkte besitzen, dann ist nach Satz 1 die zu minimierende Zielfunktion c T x von Problem I durch b T w beschränkt und umgekehrt die zu maximierende Zielfunktion b T w von Problem II durch c T x. Daraus folgt dann die Existenz optimaler Lösungen. BEMERKUNG: Satz 3 kann auch zur Abschätzung der optimalen Zielfunktionswerte F I * des und (oder) F II * herangezogen werden, denn offensichtlich gilt, wenn wir einen zulässigen Punkt x von Problem I und einen zulässigen Punkt w von Problem II haben: b T w F II * F I * c T x Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 16

17 SATZ 4: Ist x* optimale Lösung von Problem I und w* optimale Lösung von Problem II, dann gilt: 1. F II (w*) = F I (x*) 2. w* T (Ax* - b) = 0 und 3. x* T (c - A T w*) = 0 Eigenschaft 1 dieses wichtigen Satzes besagt, daß im Optimum die Zielfunktionswerte gleich sind. Für die Eigenschaften 2 und 3 beachten wir, daß Ax*- b = y* 0 den optimalen Schlupfvariablenvektor von Problem I und c - A T w* = u* 0 den optimalen Schlupfvariablenvektor von Problem II darstellen. Die beiden Eigenschaften können also auch als w* T y* = 0 und x* T u* = 0 geschrieben werden. Unter Beachtung der Nichtnegativität aller Komponenten besagen die Gleichungen nicht nur, daß die Summe der Produkte aus Problem- und Schlupfvariablen verschwinden muß, sondern daß dies für jeden einzelnen Summanden gilt. Das bedeutet: Hat z.b. eine Problemvariable einen positiven Wert, dann hat die zugeordnete Schlupfvariable des dualen Problems den Wert Null, usw. Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 17

18 Wichtig für die Entwicklung anderer Verfahren zur linearen Optimierung ist auch die Umkehrung von Satz 4 SATZ 5: Ist x* ein zulässiger Punkt von Problem I und w* ein zulässiger Punkt von Problem II, und gilt w* T (Ax* - b) = 0 sowie x* T (c - A T w*) = 0, dann stellen x* und w* optimale Lösungen der dualen Aufgaben dar. Spezialfall von Satz 5 Beziehen wir uns auf die dualen Aufgaben primale Aufgabe (Problem I) duale Aufgabe (Problem II) F I (x) = c T x Min! F II (w) = b T w Max! Ax = b, x 0 A T w c, w frei! dann lautet Satz 5: SATZ 5 (Spezialfall): Ist x* ein zulässiger Punkt von Problem I und w* ein zulässiger Punkt von Problem II, und gilt x* T (c - A T w*) = 0, dann stellen x* und w* optimale Lösungen der dualen Aufgaben dar. Prof. Dr. E. Oswald, FHW, OR SS05, Teil3, Seite 18