Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

26
Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen

Transcript of Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

Page 1: 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

Page 2: 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

Page 3: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 4: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 5: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 6: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 7: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 8: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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:

Page 9: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 10: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 11: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 12: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 13: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 14: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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.

Page 15: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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.

Page 16: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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?

Page 17: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 18: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 19: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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 η

Page 20: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 21: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 22: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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 η η η η

Page 23: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

Produktform der Inversen 23

5. Vorteile der Produktform-Implementierung

1. Speicherplatz-Vorteile

2. Rechenzeit-Einsparungen

3. Rechengenauigkeit

Page 24: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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.

Page 25: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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

Page 26: Produktform der Inversen 1 Produktform der Inversen Eine numerisch stabilere Form der Basisinversen.

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.