finale Version des Vorlesungsskripts - ZIB

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

23.06.2013 Aufrufe

9.4 Spalten- und Zeilenauswahlregeln anderen Basis einen wesentlich größeren Gesamtfortschritt bringt. Hierzu ist Regel (4) geschaffen. Bei ihr wird für jeden möglichen Basiswechsel der tatsächliche Zuwachs gj der Zielfunktion berechnet, und es wird der Basiswechsel vorgenommen, der den insgesamt größten Fortschritt bringt. Diese Verbesserung wird natürlich durch einen erheblichen rechnerischen Mehraufwand erkauft, bei dem es fraglich ist, ob er sich lohnt. Aufgrund von Erfahrungen in der Praxis kann gesagt werden, dass sich die trivialen Regeln (1), (2) und (3) für kleinere bis mittlere Problemgrößen bewährt haben, jedoch für große LPs, Modifizierungen von (9.27)(4), wie sie in den Literaturangaben beschrieben sind, benutzt werden. Die trivialen Regeln führen im allgemeinen zu insgesamt mehr Pivotoperationen. Die komplizierten Regeln versuchen die Anzahl der Pivotoperationen minimal zu gestalten. Hierbei ist ein wesentlich höherer Rechenaufwand erforderlich (viele Spalten von A sind zu generieren und für jede Spalte ist λ0 zu berechnen), der bei kleineren Problemen durchaus einem mehrfachen Basisaustausch entspricht und sich daher nicht auszahlt. Bei großen Problemen ist i. A. der Basiswechsel rechenaufwendiger als die komplizierte Auswahl der Pivotspalte. Hier zahlt sich dann die sorgfältige Auswahl der Pivotspalte bei der Gesamtrechenzeit aus. Bei der Auswahl von Pivotzeilen gibt es nicht so viele interessante Regeln, aber hier kann durch geschickte Wahl die Endlichkeit des Simplexverfahrens erzwungen werden. Im folgenden gehen wir davon aus, dass der Spaltenindex s durch eine Spaltenauswahl- regel (9.27) bestimmt wurde und setzen R := {i ∈ {1 . . . , m} | zunächst eine Definition. bi ais = λ0}. Wir treffen (9.28) Definition. Ein Vektor x T = (x1, . . . , xn) ∈ K n heißt lexikographisch positiv (wir schreiben: x ≻ 0), wenn die erste von Null verschiedene Komponente positiv ist (d. h. ist i := min supp(x), dann ist xi > 0). Wir schreiben x ≻ y, falls x − y ≻ 0 gilt.△ (9.29) Bemerkung. „≻“ definiert eine totale Ordnung im K n . Wir schreiben x y ⇐⇒ x ≻ y ∨ x = y und bezeichnen mit lex–min S das lexikographische Minimum einer endlichen Menge S ⊆ K n . △ (9.30) Bemerkung (1. Lexikographische Zeilenauswahlregel). Wähle r ∈ R so dass 1 ars (A −1 B A)r· = lex – min{ 1 (A ais −1 B A)i· | ais > 0, i ∈ {1, . . . , m}}. Mit Regel (9.30) wird jedes Simplexverfahren unabhängig von der Spaltenauswahlregel endlich. (9.31) Bemerkung (Endlichkeit des Simplexalgorithmus). Wird im Simplexverfahren die 1. Lexikographische Regel (9.30) verwendet, so endet der Algorithmus nach endlich vielen Schritten, gleichgültig, welche Spaltenauswahlregel verwendet wird. △ Beweis. Wir zeigen zuerst: 1 ars (A −1 B A)r· ≺ 1 (A ais −1 B A)i· ∀ i = r, (9.32) △ 183

9 Die Grundversion des Simplex-Algorithmus das heißt, das lexikographische Minimum wird eindeutig angenommen. Seien r und r ′ Indizes mit 1 ars (A −1 B A)r· = 1 ar ′ (A s −1 B A)r ′ · (9.33) und o. B. d. A. sei A = (AB, AN). Dann gilt (A −1 B A)r· = (A −1 B )r·A = (eT r , Ar·) und (A −1 B A)r ′ · = (eT r ′, Ar ′ ·) und (9.33) impliziert (eT r , Ar·) = ars (eT r ′, Ar ′ ·). Damit folgt er = ar ′ s ars a er r ′ s ′ und somit r = r′ . Also gilt (9.32). Sei AB nun eine zulässige Basis von A (z. B. die Startbasis (evtl. auch die der Phase I)) und sei TB das zugehörige Simplextableau (vgl. (9.19)). O. B. d. A. sei TB = 0 c −c T B A −1 B b I A A −1 B b (evtl. ist eine Permutation der Spalten der Ausgangsmatrix notwendig). Sei B ′ = (p1, . . . , pr−1, qs, pr+1, . . . , pm). Dann gilt (TB ′)r· ≻ 0 denn (TB)r· ≻ 0 und ars > 0 (vgl. Formel (9.21)(a)). Da nach Voraussetzung (TB)i· ≻ 0 ∀ i = 1, . . . , m, folgt (TB ′)i· ≻ 0 ∀ i mit ais ≤ 0. Aus (9.32) folgt nun (TB)i· ≻ ais ars (TB)r· für alle i = r mit ais > 0, d. h. (TB ′)i· ≻ 0 ∀ i mit ais > 0. Somit sind bei Anwendung der 1. Lexikographischen Regel stets alle Zeilen (TB)i· (i = 0) des Simplextableaus lexikographisch positiv, d. h. es gilt für 2 aufeinanderfolgende Basen B und B ′ (vgl. (9.21)(a)) (TB ′)o· − (TB)o· = − (TB)os (TB)r· ≺ 0, denn (TB)os > 0. Also sind alle Simplextableaus verschieden und da nur endlich viele zulässige Basislösungen und somit Simplextableaus existieren, folgt nun die Behauptung.✷ (9.34) Bemerkung (2. Lexikographische Zeilenauswahlregel). Wähle r ∈ R, so dass 1 △ ars (A −1 B )r· 1 = lex – min (A ais −1 B )i· | ais > 0, i ∈ {1, . . . , m} . Die Anwendung der 2. Lexikographischen Regel garantiert auch Endlichkeit des Simplexverfahrens, analog zu Satz (9.31) (siehe Kall oder Dantzig S. 269, diese folgt aus der Störungsmethode). ars (9.35) Bemerkung (Weitere Zeilenauswahlregeln). (1) Kleinster-Index-Regel: r := min R. 184

9.4 Spalten- und Zeilenauswahlregeln<br />

anderen Basis einen wesentlich größeren Gesamtfortschritt bringt. Hierzu ist Regel (4)<br />

geschaffen. Bei ihr wird für jeden möglichen Basiswechsel der tatsächliche Zuwachs gj der<br />

Zielfunktion berechnet, und es wird der Basiswechsel vorgenommen, der den insgesamt<br />

größten Fortschritt bringt. Diese Verbesserung wird natürlich durch einen erheblichen<br />

rechnerischen Mehraufwand erkauft, bei dem es fraglich ist, ob er sich lohnt.<br />

Aufgrund von Erfahrungen in der Praxis kann gesagt werden, dass sich die trivialen<br />

Regeln (1), (2) und (3) für kleinere bis mittlere Problemgrößen bewährt haben, jedoch<br />

für große LPs, Modifizierungen von (9.27)(4), wie sie in den Literaturangaben beschrieben<br />

sind, benutzt werden. Die trivialen Regeln führen im allgemeinen zu insgesamt mehr<br />

Pivotoperationen. Die komplizierten Regeln versuchen die Anzahl der Pivotoperationen<br />

minimal zu gestalten. Hierbei ist ein wesentlich höherer Rechenaufwand erforderlich (viele<br />

Spalten von A sind zu generieren und für jede Spalte ist λ0 zu berechnen), der bei<br />

kleineren Problemen durchaus einem mehrfachen Basisaustausch entspricht und sich daher<br />

nicht auszahlt. Bei großen Problemen ist i. A. der Basiswechsel rechenaufwendiger als<br />

die komplizierte Auswahl der Pivotspalte. Hier zahlt sich dann die sorgfältige Auswahl<br />

der Pivotspalte bei der Gesamtrechenzeit aus.<br />

Bei der Auswahl von Pivotzeilen gibt es nicht so viele interessante Regeln, aber hier<br />

kann durch geschickte Wahl die Endlichkeit <strong>des</strong> Simplexverfahrens erzwungen werden.<br />

Im folgenden gehen wir davon aus, dass der Spaltenindex s durch eine Spaltenauswahl-<br />

regel (9.27) bestimmt wurde und setzen R := {i ∈ {1 . . . , m} |<br />

zunächst eine Definition.<br />

bi<br />

ais = λ0}. Wir treffen<br />

(9.28) Definition. Ein Vektor x T = (x1, . . . , xn) ∈ K n heißt lexikographisch positiv<br />

(wir schreiben: x ≻ 0), wenn die erste von Null verschiedene Komponente positiv ist<br />

(d. h. ist i := min supp(x), dann ist xi > 0). Wir schreiben x ≻ y, falls x − y ≻ 0 gilt.△<br />

(9.29) Bemerkung. „≻“ definiert eine totale Ordnung im K n . Wir schreiben x y ⇐⇒<br />

x ≻ y ∨ x = y und bezeichnen mit lex–min S das lexikographische Minimum einer<br />

endlichen Menge S ⊆ K n . △<br />

(9.30) Bemerkung (1. Lexikographische Zeilenauswahlregel). Wähle r ∈ R so<br />

dass<br />

1<br />

ars<br />

(A −1<br />

B A)r· = lex – min{ 1<br />

(A<br />

ais<br />

−1<br />

B A)i· | ais > 0, i ∈ {1, . . . , m}}.<br />

Mit Regel (9.30) wird je<strong>des</strong> Simplexverfahren unabhängig von der Spaltenauswahlregel<br />

endlich.<br />

(9.31) Bemerkung (Endlichkeit <strong>des</strong> Simplexalgorithmus). Wird im Simplexverfahren<br />

die 1. Lexikographische Regel (9.30) verwendet, so endet der Algorithmus nach<br />

endlich vielen Schritten, gleichgültig, welche Spaltenauswahlregel verwendet wird. △<br />

Beweis. Wir zeigen zuerst:<br />

1<br />

ars<br />

(A −1<br />

B A)r· ≺ 1<br />

(A<br />

ais<br />

−1<br />

B A)i· ∀ i = r, (9.32)<br />

△<br />

183

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!