aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
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