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

Post on 05-Apr-2015

117 views 1 download

Transcript of 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.