Download - Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen
Produktform der Inversen 1
Produktform der Inversen
Eine numerisch stabilere Form der Basisinversen
Produktform der Inversen 2
Agenda
1. Elementarmatrizen2. Alternative Darstellung der Iterationen3. Produktform der Inversen4. Implementierung
41. BTRAN42. FTRAN
5. Vorteile der Produktform-Implementierung
Produktform der Inversen 3
1. Elementarmatrizen
1 dBT ds
ais
0 AB 1 ars
...
ams
T1 B
1B
1 1
1
i
r
m
d
0 A
Produktform der Inversen 4
1.1 Berechnung des Eta-Vektors
1
1
s
rs
is
rsi
r
rs
m
ms
rs
d
a
a
a
a
a
a
Produktform der Inversen 5
1.2 Beispiel
Die Premultiplikation mit der Elementarmatrix ergibt:
1
1 01 1
1 0 0 0
00 1
s rjs
rsrs
is rjis
rs rs
rjrs
rs
d adj aa s j
a aais ij ija a
ars rjaa
dd d
a a a
a a
Produktform der Inversen 6
1.3 Darstellung der Basisinversen nach k Iterationen
TB
-1B
1 2 11...k k
dE E E E E
0 A
Produktform der Inversen 7
2. Alternative Darstellung der Iterationen
Anstelle der Umrechung der gesamten Basisinversen und deren vollständigen Aktualisierung beschränkt man sich auf den Teil, der für den Fortgang der Rechnung unbedingt auf aktuellem Stand gehalten werden muss:
die Pivotspalte
Produktform der Inversen 8
2.1 Pivotspalten
Iteration 4. 3. 2. 1.
Zielzeile 1 1 2 3
4 2 1 2
Pivotspalte 3 1 1 1
3 1 0 1
Die Zusammenfassung der Pivotspalten von 4 Iterationen mit Markierung der Position der Pivotelemente:
Produktform der Inversen 9
2.2 Darstellung der 1. Iteration
-1 1 1B
1 3 1 1 3
1 2 1 1 2ˆ1 1 1 1 1
1 1 1
A E E B
Produktform der Inversen 10
2.3 Darstellung der 2. Iteration
-1 2 1 2B
1 2 1 3 1 2 1
1 1 2 1 2ˆ1 1 1 1 1 1 1
0 1 1 0 1
A E B B
Produktform der Inversen 11
2.4 Darstellung der 3. Iteration
-1 3 2 3B
1 1 1 2 1 1 1 1 0
1 2 1 2 1 2 0ˆ1 1 1 1 1 1 1
1 1 0 1 1 1 0
A E B B
Produktform der Inversen 12
2.5 Darstellung der 4. Iteration
4 213 33
1 243 3-1 4 3 43
B
1 13 3
1 01 1 1 01
01 2 01ˆ0 0 11 1 11 1
01 1 01
A E B B
Produktform der Inversen 13
3. Darstellung der Basisinversen
4 23 3
1 23 31
B
1 13 3
13
43
13
4 3 2 1
1 0
0 0ˆ0 0 0 1
0 0
1 1 1 1 2 1 3
1 1 2 1 1 2
1 1 1 1 1 1 1
1 1 0 1 1
A E E E E
Produktform der Inversen 14
3.1 Implementierung
Anstelle der Basisinversen wird nur die Datei der Eta-Vektoren in folgender Form gespeichert:
Iteration 4. 3. 2. 1.
Zielzeile 13 1 2 3
43 2 1 2
-Vektor 1 1 1 1
13 1 0 1
Pivotzeile1 4. 3. 2. 4.
1 Die Zielzeile wird hier als 1. Zeile gezählt.
Produktform der Inversen 15
3.2 Vorteile der Eta-Datei
Eta-Vektoren werden nicht mehr umgerechnet.
Jeder Vektor ist so häufig tranformiert, wie die laufende Iterationszahl angibt.
Sie sind anfangs dünn besetzt, wenn die Problemdatei dünn besetzt ist.
Solange nicht mehr als m Iterationen durchgeführt sind, enthält die Datei weniger Spalten als die vollständige Basisinverse.
Produktform der Inversen 16
3.3 Nachteile der Eta-Datei?
Sind mehr als m Iterationen durchzuführen, wird die Eta-Datei größer als die Basisinverse.
Wird bei Verwendung der komplizierten Basisinversen der Rechenaufwand durch die vielen Matrixmultiplikationen nicht sehr groß?
… und in Folge nicht auch der Rundungsfehler immer größer?
Produktform der Inversen 17
4. Implementierung
Erst durch die Implementierung wird die Wirksamkeit der Produktform verständlich!
Dazu muss untersucht werden, an welchen Stellen die Inverse benutzt werden muss:
1. Berechnung der Simplex-Multiplikatoren, die ja nun nicht mehr abgelesen werden können:
2. Bei der Aktualisierung der Pivotspalte:
T -1TB B π d A
* 1s B s
a A a
Produktform der Inversen 18
41. BTRAN
Zur Berechnung der Simplex-Multipikatoren wird der Zeilenvektor der Zielzeile von rechts mit der Basisinversen multipliziert:
In der Ausgangslösung ist dBT der Einheitsvektor:
T -1TB B π d A
T 1 2 11 0 0 k k π E E E E
Produktform der Inversen 19
41.1 Reihenfolge der Auswertungsschritte: rückwärts
Auswertung besteht aus Multiplikation eines Zeilenvektors mit einer Elementarmatrix von rechts:
1
T1 T
1
für1
für1
iiji r m j
r
m
z i rz z z z
i r
z Ez η
Produktform der Inversen 20
42. FTRAN
Zur Berechnung der aktuellen Pivotspalte wird der Spaltenvektor der entsprechenden Spalte der Problemdatei von links mit der Basisinversen multipliziert:
Die s-te Spalte des Ausgangsproblems wird nun also vorwärts mit allen Elementarmatrizen multipliziert.
* -1 1 2 1B ...k k
s s s a A a E E E E a
Produktform der Inversen 21
42.1 Reihenfolge der Auswertungsschritte: vorwärts
Jede Multiplikation mit einer Elementarmatrix umfaßt folgende Rechung:
1 1 1 11
1
1
s s rs
i is is i rsjs
r rs r rs
m ms ms m rs
a a a
a a a
a a
a a a
E a
Produktform der Inversen 22
42.3 Aktualisierung der Basis
Einerseits wird jeweils die Rechte Seite durch direkte Umrechung aktualisiert (wird für das Quotientenkriterium benötigt!)
Andererseits braucht die umgerechnete Pivotspalte nur der Eta-Datei hinzugefügt werden:
1 1 1k k k η η η η
Produktform der Inversen 23
5. Vorteile der Produktform-Implementierung
1. Speicherplatz-Vorteile
2. Rechenzeit-Einsparungen
3. Rechengenauigkeit
Produktform der Inversen 24
5.1 Kompakte Speicherung
Es wird praktisch nur mit der Problemdatei und der Etadatei gearbeitet.
Beide werden nicht umgerechnet, sondern nur benutzt.
Da die Eta-Vektoren anfangs jedenfalls nur wenig transformiert sind, sind sie auch ähnlich dünn besetzt wie die Problemdatei.
Folglich können beide Dateien kompakte gespeichert werden.
Produktform der Inversen 25
5.2 Rechenzeiteinsparung
Die kompakte Speicherung lässt eine effiziente Auswertung der Skalarprobdukte zu.
Partial-Pricing und vor allem Multiple-pricing sind beschleunigende Techniken:
Nun wird nur noch das Mini-LP gelöst, mit der ersten Major- und nachfolgenden Minor-Iterationen.
Max xs1 ... xsq RS
z ds1 ... dsq z0
xB AS b
Produktform der Inversen 26
5.3 Rechengenauigkeit : Reinversion
INVERT In relativ kurzen Abständen wird die
Basislösung jeweils neu berechnet, so dass die geringste Anzahl Iterationen benötigt werden: Dünne Besetzung Verkürzung der ETA-Datei
Da der Pricing-Schritt praktisch entfällt, kann man die alternative, verkürzte Basisdarstellung schnell berechnen.
Inversionen werden sehr häufig durchgeführt.