finale Version des Vorlesungsskripts - ZIB

finale Version des Vorlesungsskripts - ZIB finale Version des Vorlesungsskripts - ZIB

23.06.2013 Aufrufe

9.3 Das Simplexverfahren (c) Ist x nichtdegeneriert, so gilt xpr > 0, und somit ist die letzte Ungleichung in der obigen Abschätzung strikt. Daraus ergibt sich (c). ✷ Der obige Beweis macht den geometrischen Inhalt des Satzes (9.16) nicht deutlich. Dem Leser wird dringend empfohlen, sich zu überlegen, welche geometrische Bedeutung der Parameter λ0 in (b) hat. 9.3 Das Simplexverfahren Die Grundidee des Simplexverfahrens haben wir schon erläutert, sie kann kurz wie folgt beschrieben werden: • Finde eine zulässige Basis AB. • Konstruiere aus AB eine zulässige Basis AB ′, so dass die zulässige Basislösung von AB ′ besser als die von AB ist. • Gibt es keine bessere Basislösung, so ist die letzte optimal. Die vorhergehenden Sätze geben uns nun die Möglichkeit, die oben informell beschriebene Idee, analytisch darzustellen und algorithmisch zu realisieren. Die Grundversion des Simplexverfahrens lautet dann wie folgt: (9.17) Grundversion des Simplexverfahrens. Eingabe: A ′ ∈ K (m,n) , b ′ ∈ K m , c ∈ K n . Ausgabe: Eine optimale Lösung x des linearen Programms max c T x A ′ x = b ′ x ≥ 0 (9.18) falls eine solche existiert. Andernfalls stellt das Verfahren fest, dass (9.18) unbeschränkt ist oder keine zulässige Lösung besitzt. Phase I: Test auf Zulässigkeit, Bestimmung einer zulässigen Basislösung Bestimme ein Subsystem Ax = b, x ≥ 0 von A ′ x = b ′ , x ≥ 0, so dass P = (A, b) = P = (A ′ , b ′ ) gilt und die Zusatzvoraussetzungen rang(A) = Zeilenzahl von A < Spaltenzahl von A erfüllt sind (falls möglich). Sei rang(A) = m < n. Bestimme weiterhin eine zulässige Basis, d. h. finde B = (p1, . . . , pm) ∈ {1, . . . , n} m , so dass AB eine zulässige Basis 171

9 Die Grundversion des Simplex-Algorithmus von A ist, und sei N = (q1, . . . , qn−m) wie üblich definiert. Berechne A −1 B A = A −1 B AN, b = A −1 B b, c T = c T N − c T BA −1 B AN, c0 = c T Bb. Wie die gesamte Phase I durchgeführt wird und wie zu verfahren ist, wenn die gewünschten Resultate nicht erzielt werden können, wird in (9.38) angegeben. Im weiteren gehen wir davon aus, dass Phase I erfolgreich war. Phase II: Optimierung 172 (II.1) Optimalitätsprüfung Gilt ci ≤ 0 für i = 1, . . . , n − m, so ist die gegenwärtige Basislösung optimal (siehe (9.15)(b)). Gib den Vektor x mit xB = b, xN = 0 aus. Der Optimalwert von (9.1) ist c T x = c T B b = c0. STOP! (II.2) Bestimmung der Austausch- oder Pivotspalte Wähle einen Index s ∈ {1, . . . , n − m}, so dass cs > 0 gilt. (Zur konkreten Realisierung dieser Auswahl, falls mehrere reduzierte Kostenkoeffizienten positiv sind, gibt es sehr viele verschiedene Varianten, die wir in Abschnitt 9.4 besprechen werden.) (II.3) Prüfung auf Beschränktheit des Optimums Gilt A·s ≤ 0, so ist das lineare Programm unbeschränkt (siehe (9.16)(a)), STOP! (II.4) Bestimmung der Austausch- oder Pivotzeile Berechne bi λ0 := min ais | ais > 0, i = 1, . . . , m Wähle einen Index r ∈ {1, . . . , m}, so dass gilt br ars = λ0. (Hierzu gibt es verschiedene Möglichkeiten, die wir in Abschnitt 9.4 erläutern werden.) (II.5) Pivotoperation, Basisaustausch

9 Die Grundversion <strong>des</strong> Simplex-Algorithmus<br />

von A ist, und sei N = (q1, . . . , qn−m) wie üblich definiert. Berechne<br />

A −1<br />

B<br />

A = A −1<br />

B AN,<br />

b = A −1<br />

B b,<br />

c T = c T N − c T BA −1<br />

B AN,<br />

c0 = c T Bb.<br />

Wie die gesamte Phase I durchgeführt wird und wie zu verfahren ist, wenn die<br />

gewünschten Resultate nicht erzielt werden können, wird in (9.38) angegeben. Im<br />

weiteren gehen wir davon aus, dass Phase I erfolgreich war.<br />

Phase II: Optimierung<br />

172<br />

(II.1) Optimalitätsprüfung<br />

Gilt ci ≤ 0 für i = 1, . . . , n − m, so ist die gegenwärtige Basislösung optimal<br />

(siehe (9.15)(b)). Gib den Vektor x mit xB = b, xN = 0 aus. Der Optimalwert<br />

von (9.1) ist c T x = c T B b = c0. STOP!<br />

(II.2) Bestimmung der Austausch- oder Pivotspalte<br />

Wähle einen Index s ∈ {1, . . . , n − m}, so dass cs > 0 gilt. (Zur konkreten<br />

Realisierung dieser Auswahl, falls mehrere reduzierte Kostenkoeffizienten positiv<br />

sind, gibt es sehr viele verschiedene Varianten, die wir in Abschnitt 9.4<br />

besprechen werden.)<br />

(II.3) Prüfung auf Beschränktheit <strong>des</strong> Optimums<br />

Gilt A·s ≤ 0, so ist das lineare Programm unbeschränkt (siehe (9.16)(a)),<br />

STOP!<br />

(II.4) Bestimmung der Austausch- oder Pivotzeile<br />

Berechne<br />

<br />

bi<br />

λ0 := min<br />

ais<br />

<br />

| ais > 0, i = 1, . . . , m<br />

Wähle einen Index r ∈ {1, . . . , m}, so dass gilt<br />

br<br />

ars<br />

= λ0.<br />

(Hierzu gibt es verschiedene Möglichkeiten, die wir in Abschnitt 9.4 erläutern<br />

werden.)<br />

(II.5) Pivotoperation, Basisaustausch

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!