23.06.2013 Aufrufe

aktuelle Version des Vorlesungsskripts - ZIB

aktuelle Version des Vorlesungsskripts - ZIB

aktuelle Version des Vorlesungsskripts - ZIB

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

9.2 Basisaustausch (Pivoting), Simplexkriterium<br />

9.2 Basisaustausch (Pivoting), Simplexkriterium<br />

Da jede zulässige Basis der Matrix A eine Ecke von P = (A, b) definiert, kann man ein<br />

lineares Programm der Form (9.1) dadurch lösen, dass man alle Basen von A bestimmt<br />

— dies sind endlich viele —, den Zielfunktionswert der zugehörigen Basislösung errechnet<br />

und die beste Lösung auswählt. Da eine (m, n)-Matrix bis zu n<br />

m zulässige Basen haben<br />

kann, ist dieses Verfahren aufgrund <strong>des</strong> gewaltigen Rechenaufwan<strong>des</strong> (in jedem Schritt<br />

Bestimmung einer inversen Matrix) so gut wie undurchführbar.<br />

Man sollte also versuchen, z. B. ein Verfahren so zu entwerfen, dass man von einer<br />

zulässigen Basislösung ausgehend eine neue Basislösung bestimmt, die zulässig ist und<br />

einen besseren Zielfunktionswert hat. Ferner muss das Verfahren so angelegt sein, dass<br />

der Übergang von einer Basis zur nächsten nicht allzuviel Rechenaufwand erfordert.<br />

Im Prinzip kann man damit nicht gewährleisten, dass nicht alle Basen enumeriert werden,<br />

aber aufgrund heuristischer Überlegungen scheint ein solcher Ansatz, wenn er realisiert<br />

werden kann, besser als das obige Enumerationsverfahren funktionieren zu können.<br />

Im weiteren werden wir zeigen, wie man einen Basisaustausch, der von einer zulässigen<br />

Basislösung zu einer besseren zulässigen Basislösung mit relativ wenig Rechenaufwand<br />

führt, durchführen kann.<br />

(9.11) Satz. Gegeben sei ein Gleichungssystem Ay = b mit rang(A) = m, und AB sei<br />

eine Basis von A. Dann gilt<br />

x erfüllt Ay = b ⇐⇒ x erfüllt xB = A −1<br />

B b − A−1<br />

B ANxN. △<br />

Beweis. O. B. d. A. sei B = (1, . . . , m), d h. A = (AB, AN), x = xB , dann gilt<br />

xN<br />

<br />

<br />

Ax = b ⇐⇒ (AB, AN)<br />

xB<br />

xN<br />

= b ⇐⇒ A −1<br />

B (AB, AN)<br />

⇐⇒ (I, A −1<br />

B AN)<br />

xB<br />

xB<br />

xN<br />

xN<br />

<br />

= A −1<br />

B b<br />

= A −1<br />

B b<br />

⇐⇒ xB + A −1<br />

B ANxN = A −1<br />

B b<br />

⇐⇒ xB = A −1<br />

B b − A−1<br />

B ANxN<br />

Die obige Beziehung ist simpel, von rechentechnischer Bedeutung ist jedoch die Tatsache,<br />

dass wir die Basisvariablen xj, j ∈ B, in Abhängigkeit von den Nichtbasisvariablen<br />

darstellen können.<br />

Wir wollen uns nun überlegen, wie wir den Übergang von einer Ecke zu einer anderen<br />

Ecke vollziehen können, d. h. wie wir aus einer Basis eine andere Basis ohne viel Aufwand<br />

konstruieren können. Um dies rechentechnisch exakt vorführen zu können, müssen wir<br />

die Indexmengen B, N wie in (9.3)(b) angegeben als Vektoren auffassen.<br />

(9.12) Satz (Basisaustausch, Pivotoperation). Gegeben sei ein Gleichungssystem<br />

Ay = b mit rang(A) = m. B = (p1, . . . , pm) und N = (q1, . . . , qn−m) seien Spaltenindexvektoren<br />

von A wie in (9.3)(b) festgelegt, so dass AB eine Basis von A ist. Wir<br />

✷<br />

165

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!