Springer-Lehrbuch
Uwe Schäfer
Das lineare Komplementaritätsproblem Eine Einführung
123
Priv.-Doz. Dr. Uwe Schäfer Institut für Angewandte und Numerische Mathematik Universität Karlsruhe (TH) 76128 Karlsruhe
[email protected]
ISBN 978-3-540-79734-0
e-ISBN 978-3-540-79735-7
DOI 10.1007/978-3-540-79735-7 Springer-Lehrbuch ISSN 0937-7433 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Mathematics Subject Classification (2000): 90C33, 65F99, 65G40, 65L10, 91A05, 60H30 c 2008 Springer-Verlag Berlin Heidelberg Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Satz: Datenerstellung durch den Autor unter Verwendung eines Springer TEX-Makropakets Herstellung: le-tex publishing services oHG, Leipzig Umschlaggestaltung: WMXDesign GmbH, Heidelberg Gedruckt auf säurefreiem Papier 987654321 springer.de
f¨ ur Gabriele Sch¨afer
Vorwort
Das vorliegende Buch entstand aus zwei aufeinander aufbauenden Vorlesungen, die ich im Sommersemester 2007 bzw. im Sommersemester 2008 an der Universit¨ at Karlsruhe in der Fakult¨ at f¨ ur Mathematik gehalten habe. Die Idee, ein Buch u ¨ ber das lineare Komplementarit¨ atsproblem zu schreiben, entstand aus der Tatsache, dass das lineare Komplementarit¨ atsproblem insbesondere im Grundstudium selten gelehrt wird, obwohl doch das lineare Komplementarit¨ atsproblem mit wenig Grundkenntnissen behandelt werden kann, eine sch¨one geometrische Interpretation zul¨ asst, eine F¨ ulle von Anwendungen besitzt und insbesondere die lineare Programmierung als Spezialfall beinhaltet. Um das lineare Komplementarit¨atsproblem in der Lehre zu etablieren, ben¨ otigt man Lehrb¨ ucher. Jedoch existieren hierzu nur sehr wenige Lehrb¨ ucher. Die Klassiker sind: 1. R. W. Cottle, J.-S. Pang, R. E. Stone, The Linear Complementarity Problem, Academic Press, 1992, 762 Seiten. 2. K. Murty, Linear Complementarity, Linear and Nonlinear Programming, Heldermann-Verlag, 1988, 605 Seiten. Das vorliegende Buch ist in deutscher Sprache verfasst und gibt auf 268 Seiten zusammengefasst eine Einf¨ uhrung in die Problematik. Dabei werden auch neue Ergebnisse vorgestellt. Beispielsweise behandelt dieses Buch auch die Bewertung von amerikanischen Put-Optionen. Dass dies auf ein lineares Komplementarit¨ atsproblem f¨ uhrt, wurde erst Ende der 1990er Jahre thematisiert. Danken m¨ ochte ich meinem Doktorvater Prof. Dr. G¨otz Alefeld, der mich 1996 auf das lineare Komplementarit¨ atsproblem aufmerksam machte und mir am Institut f¨ ur Angewandte und Numerische Mathematik der Universit¨ at Karlsruhe die Gelegenheit gab, dieses Buch zu schreiben. Des Weiteren danke ich Prof. Dr. Florian Potra. Er hielt im Juni/Juli 2006 im internen Seminar des Instituts f¨ ur Angewandte und Numerische Mathematik an der Universit¨at Karlsruhe eine Vortragsreihe u ¨ ber Innere-PunkteVerfahren. Das sechste Kapitel dieses Buches basiert auf seinen Ausf¨ uhrungen,
VIII
Vorwort
die er mir in zahlreichen pers¨ onlichen Gespr¨achen weiter erl¨autert hat. Bedanken m¨ochte ich mich auch bei den Gutachtern f¨ ur ihre hilfreichen Hinweise und f¨ ur ihre wertvollen Anregungen. F¨ ur das Korrekturlesen m¨ochte ich mich herzlichst bei Dr. Marco Schnurr und cand. math. Thomas Donauer bedanken. Zuletzt danke ich Frau Katja R¨oser von der Firma le-tex sowie Frau Agnes Herrmann und Herrn Clemens Heine vom Springer-Verlag f¨ ur die freundliche und gute Zusammenarbeit. Karlsruhe, im Juli 2008
Uwe Sch¨ afer
Inhaltsverzeichnis
1
Die Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Zur Namensgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Wie man prinzipiell das LCP l¨ osen kann . . . . . . . . . . . . . . . . . . . .
2
Der 2.1 2.2 2.3 2.4 2.5 2.6 2.7
Lemke-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initialisierung des Lemke-Algorithmus . . . . . . . . . . . . . . . . . . . . . . Allgemeiner Pivotschritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abbruchkriterien des Lemke-Algorithmus . . . . . . . . . . . . . . . . . . . M¨ oglichkeit eines Zyklus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der lexikographische Lemke-Algorithmus . . . . . . . . . . . . . . . . . . . Bemerkung zur Ray-Termination . . . . . . . . . . . . . . . . . . . . . . . . . .
7 7 9 11 13 18 23 31
3
Klassen von Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 P-Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Komplement¨ are Kegel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Geometrische Interpretation eines Pivotschrittes im Lemke-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Das Beispiel von Murty . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Positiv definite Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 Streng diagonaldominante Matrizen . . . . . . . . . . . . . . . . . . 3.2 Positiv semidefinite Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Z-Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 M-Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35 36 42
Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Zwei-Personen-Spiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Das Nash-Gleichgewicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Das Nash-Gleichgewicht und das LCP . . . . . . . . . . . . . . . 4.1.3 Der lexikographische Lemke-Howson-Algorithmus . . . . . . 4.2 Lineare Programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75 75 77 82 86 97
4
1 2 3
48 53 59 60 62 65 71
X
Inhaltsverzeichnis
4.2.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.2.2 Dualit¨ atstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.2.3 Lineare Programme und das LCP . . . . . . . . . . . . . . . . . . . 102 4.2.4 Quadratische Programme . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.2.5 Quadratische Programme und das LCP . . . . . . . . . . . . . . 106 4.3 Intervallrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.3.1 Intervallmatrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.3.2 Lineare Intervallgleichungssysteme . . . . . . . . . . . . . . . . . . . 115 4.3.3 Lineare Intervallgleichungssysteme und das LCP . . . . . . 119 4.4 Freie Randwertprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.4.1 Gew¨ohnliche freie Randwertprobleme . . . . . . . . . . . . . . . . 123 4.4.2 Existenz- und Eindeutigkeitsaussagen . . . . . . . . . . . . . . . . 126 4.4.3 Freie Randwertprobleme und das LCP . . . . . . . . . . . . . . . 133 4.4.4 Bewertung von Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.4.5 Die Black-Scholes-Ungleichung . . . . . . . . . . . . . . . . . . . . . . 140 4.4.6 Amerikanische Put-Optionen und das LCP . . . . . . . . . . . 142 5
Iterative L¨ osungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 5.1 Das PSOR-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 5.2 Der Modulus-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 5.3 Ein Vergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
6
Innere-Punkte-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.1 Das Korrektor-Pr¨ adiktor-Verfahren von Potra . . . . . . . . . . . . . . . 174 6.2 Der Aufwand des Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 6.3 Die Analyse des Korrektor-Pr¨adiktor-Verfahrens . . . . . . . . . . . . . 177 6.3.1 Analyse des Korrektor-Schritts . . . . . . . . . . . . . . . . . . . . . . 180 6.3.2 Analyse des Pr¨ adiktor-Schritts . . . . . . . . . . . . . . . . . . . . . . 183
7
Einschließungsmethoden von L¨ osungen . . . . . . . . . . . . . . . . . . . . 191 7.1 Fehlerschranken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 7.2 Verifikationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 7.3 Praktische Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
A
Hilfsmittel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 A.1 Matrixnormen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 A.2 Fixpunktsatz von Brouwer, Lemma von Farkas . . . . . . . . . . . . . . 224 A.3 Stochastische Differentialgleichungen . . . . . . . . . . . . . . . . . . . . . . . 227
L¨ osungen der Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Symbolverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1 Die Problemstellung
Im Jahre 1968 erschien in der ersten Ausgabe der mathematischen Zeitschrift Linear Algebra and its Applications ein Artikel von Richard W. Cottle und George B. Dantzig, der eine mathematische Problemstellung behandelt, die lineare und quadratische Programme verallgemeinert sowie das Berechnen eines Nash-Gleichgewichts in einem Zwei-Personen-Spiel erm¨oglicht. Diese Problemstellung wurde in jenem Artikel mit fundamental problem beur zeichnet. Es ist aber u ¨ berliefert1 , dass Richard W. Cottle bereits 1965 f¨ diese Problemstellung den Begriff linear complementarity problem vorgeschlagen hat. Dieser Begriff hat sich nun seit Jahrzehnten etabliert und wird in der ¨ Literatur mit LCP abgek¨ urzt. Ubersetzen wollen wir den Begriff mit lineares Komplementarit¨ atsproblem. Mittlerweile gibt es viele weitere Problemstellungen, die sich in ein LCP u ¨ berf¨ uhren lassen, und es ist Teil dieses Buches, einige dieser Anwendungen im Detail vorzustellen. Der komplement¨are Teil des Buches widmet sich der Aufgabe, ein LCP zu l¨ osen. Was ist aber nun ein LCP? Gegeben sind eine reelle Matrix ⎛ m11 ⎜ ⎜ m21 M =⎜ ⎜ . ⎝ .. mn1 und ein reeller Vektor
⎞ m12 · · · m1n . ⎟ . m22 . . .. ⎟ n×n ⎟ .. ⎟ ∈ R .. .. . . . ⎠ · · · · · · mnn
⎞ q1 ⎜ ⎟ q = ⎝ ... ⎠ ∈ Rn . ⎛
qn 1
Siehe Notes and References 1.7.1 in [21].
2
1 Die Problemstellung
Das lineare Komplementarit¨atsproblem besteht darin, zwei Vektoren ⎞ ⎛ ⎞ ⎛ z1 w1 ⎟ ⎜ ⎟ ⎜ w = ⎝ ... ⎠ ∈ Rn und z = ⎝ ... ⎠ ∈ Rn wn
zn
zu finden, die w = q + M z, 0 = w1 z1 + w2 z2 + . . . + wn zn ,
(1.1) (1.2)
w ≥ o, z ≥ o
(1.3)
erf¨ ullen, oder zu zeigen, dass keine solchen Vektoren existieren. In (1.3) bezeichnet o den Nullvektor, und das ≥-Zeichen ist komponentenweise zu verstehen. z ≥ o bedeutet also z1 ≥ 0, z2 ≥ 0, . . . , zn ≥ 0. F¨ ur w1 z1 + w2 z2 + . . . + wn zn schreibt man wT z. Man schreibt die drei Bedingungen (1.1)-(1.3) auch oft in eine Zeile: w = q + M z,
wT z = 0,
w ≥ o, z ≥ o.
(1.4)
Machmal wird das LCP auch mit LCP (q, M ) abgek¨ urzt, um die Eingangsdaten q und M zu betonen. Eine alternative Formulierung von LCP (q, M ) besteht darin, einen Vektor z zu finden, der (1.5) q + M z ≥ o, z ≥ o, (q + M z)T z = 0 erf¨ ullt, oder zu zeigen, dass kein solcher Vektor existiert. Beide Formulierungen sind ¨aquivalent im folgenden Sinne: Bilden w und z eine L¨osung von (1.4), so ist z eine L¨osung von (1.5). Umgekehrt bilden w := q + M z und z eine L¨osung von (1.4), falls z (1.5) l¨ ost.
1.1 Zur Namensgebung Bezeichnet E die Einheitsmatrix, also ⎛ ⎞ 1 0 ··· 0 ⎜ .⎟ ⎜ 0 1 . . . .. ⎟ ⎟, E=⎜ ⎜. . . ⎟ ⎝ .. . . . . 0 ⎠ 0 ··· 0 1
1.2 Wie man prinzipiell das LCP l¨ osen kann
so l¨asst sich (1.1) schreiben als . w . E. −M = q. z
3
(1.6)
Dies ist ein unterbestimmtes lineares Gleichungssystem mit n Gleichungen und 2n Unbekannten. Daher der Name lineares Komplementarit¨ atsproblem. Der Name Komplementarit¨ at begr¨ undet sich aus folgender Beobachtung: Bilden ullen sie insbesondere w ∈ Rn und z ∈ Rn eine L¨osung von LCP (q, M ), so erf¨ die Bedingungen (1.2)-(1.3). Daher gilt 0 = w1 z1 + w2 z2 + . . . + wn zn . ≥0
≥0
≥0
Eine Summe aus n Summanden, wobei jeder Summand positiv oder gleich null ist, kann nur dann null ergeben, wenn alle n Summanden den Wert null haben, d.h. es muss gelten w1 z1 = 0, w2 z2 = 0, . . . , wn zn = 0. F¨ ur jedes i ∈ {1, ..., n} gilt somit wi = 0
oder zi = 0.
ar: Ist wi > 0, so In einem gewissen Sinne sind wi und zi daher komplement¨ folgt zi = 0; aus zi > 0 folgt umgekehrt wi = 0. Bilden w und z eine L¨osung von LCP (q, M ), so kann es auch vorkommen, dass f¨ ur ein i ∈ {1, ..., n} sowohl wi = 0 als auch zi = 0 gilt. Eine solche L¨osung nennt man entartet. Andernfalls nichtentartet.
1.2 Wie man prinzipiell das LCP l¨ osen kann Die Beobachtungen aus dem letzten Abschnitt geben uns eine M¨ oglichkeit, alle L¨ osungen von LCP (q, M ) zu bestimmen. Die Vektoren w ∈ Rn , z ∈ Rn sind n¨amlich genau dann eine L¨osung von LCP (q, M ), wenn sie (1.6) erf¨ ullen mit w ≥ o, z ≥ o und wenn f¨ ur jedes i ∈ {1, ..., n} wi = 0 oder
zi = 0 gilt.
(1.7)
Da also mindestens n der 2n Unbekannten den Wert null annehmen m¨ ussen, kann man LCP (q, M ) mit Hilfe von Fallunterscheidungen in Angriff nehmen. Wir werden dies anhand eines Beispiels erl¨ autern. Beispiel 1.2.1 Wir betrachten LCP (q, M ) mit ⎛ ⎞ ⎛ ⎞ 123 −2 M = ⎝ 4 5 6 ⎠ und q = ⎝ −1 ⎠ . 789 1
4
1 Die Problemstellung
(1.6) lautet dann ⎛
⎞ w1 ⎞ ⎛ ⎞ ⎜ w2 ⎟ ⎛ ⎟ −2 1 0 0 −1 −2 −3 ⎜ ⎜ w3 ⎟ ⎝ 0 1 0 −4 −5 −6 ⎠ ⎜ ⎟ = ⎝ −1 ⎠ . ⎜ z1 ⎟ ⎟ 1 0 0 1 −7 −8 −9 ⎜ ⎝ z2 ⎠ z3
(1.8)
1. Fall: z1 = 0, z2 = 0, z3 = 0. Dann reduziert sich (1.8) zu ⎛ ⎞⎛ ⎞ ⎛ ⎞ 100 −2 w1 ⎝ 0 1 0 ⎠ ⎝ w2 ⎠ = ⎝ −1 ⎠ . w3 001 1 Es folgt
⎛
⎞ −2 w = ⎝ −1 ⎠ ≥ o, 1
z = o.
(1.9)
Der 1. Fall f¨ uhrt somit zu keiner L¨ osung. 2. Fall: w1 = 0, z2 = 0, z3 = 0. Dann reduziert sich (1.8) zu ⎛ ⎞⎛ ⎞ ⎛ ⎞ −1 0 0 −2 z1 ⎝ −4 1 0 ⎠ ⎝ w2 ⎠ = ⎝ −1 ⎠ . w3 −7 0 1 1 Es folgt z1 = 2, Somit ist
⎛
w2 = 7,
⎞ 0 w = ⎝ 7 ⎠, 15
w3 = 15.
⎛ ⎞ 2 z = ⎝0⎠ 0
(1.10)
eine L¨osung von LCP (q, M ). 3. Fall: w1 = 0, w2 = 0, z3 = 0. Dann reduziert sich (1.8) zu ⎞ ⎛ ⎞⎛ ⎞ ⎛ −2 −1 −2 0 z1 ⎝ −4 −5 0 ⎠ ⎝ z2 ⎠ = ⎝ −1 ⎠ . w3 1 −7 −8 1 Mit dem Gaußschen Eliminationsverfahren erh¨ alt man ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ −1 −2 0 −2 120 2 1202 ⎝ −4 −5 0 −1 ⎠ ⎝ 0 3 0 7 ⎠ ⎝ 0 3 0 7 ⎠ . −7 −8 1 1 0 6 1 15 0011
(1.11)
1.2 Wie man prinzipiell das LCP l¨ osen kann
5
Es folgt w3 = 1, Somit ist
z2 =
⎛ ⎞ 0 ⎜ ⎟ w = ⎝0⎠, 1
7 , 3
8 z1 = − . 3 ⎛
⎜ z=⎝
− 83 7 3
⎞ ⎟ ⎠
(1.12)
0
eine L¨osung von (1.8), aber wegen z ≥ o keine L¨osung von LCP (q, M ). 4. Fall: w1 = 0, w2 = 0, w3 = 0. Dann reduziert sich (1.8) zu ⎛ ⎞⎛ ⎞ ⎛ ⎞ −1 −2 −3 z1 −2 ⎝ −4 −5 −6 ⎠ ⎝ z2 ⎠ = ⎝ −1 ⎠ . −7 −8 −9 z3 1 Mit dem Gaußschen Eliminationsverfahren erh¨ alt man ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ −1 −2 −3 −2 12 3 2 1232 ⎝ −4 −5 −6 −1 ⎠ ⎝ 0 3 6 7 ⎠ ⎝ 0 3 6 7 ⎠ . −7 −8 −9 1 0 6 12 15 0001
(1.13)
In diesem Fall (d.h. falls w = o) besitzt (1.8) keine L¨osung und somit auch nicht LCP (q, M ). Die restlichen vier F¨alle liefern keine weitere L¨ osung von LCP (q, M ). Die ¨ entsprechenden Rechnungen seien als Ubung empfohlen. Wir wollen die Vorgehensweise in Beispiel 1.2.1 allgemein beschreiben und dabei einige Definitionen einf¨ uhren. LCP (q, M ) hat 2n Unbekannte w1 , w2 , . . . wn , z1 , z2 , . . . zn ,
(1.14)
die auch oft Variablen genannt werden. Das Variablenpaar (wi , zi ) nennt man das i-te komplement¨are Variablenpaar mit i ∈ {1, ..., n}. Bilden die Variablen (1.14) eine L¨osung von LCP (q, M ), so hat in jedem der n komplement¨aren Variablenpaaren (wi , zi ) mindestens eine Variable den Wert null. Diese Variable nennt man Nichtbasisvariable, die dazu komplement¨ are Variable nennt man Basisvariable. Aus den n komplement¨aren Variablenpaaren (w1 , z1 ), (w2 , z2 ), . . . , (wn , zn ) w¨ahlt man jeweils eine Variable als Basisvariable, im Falle n = 4 beispielsweise ( w1 , z2 , z3 , w4 ). Dies nennen wir Basisvariablenfeld. Ein Basisvariablenfeld ist also ein ndimensionales Array (auf Deutsch: Feld), welches als i-ten Eintrag das Symbol wi oder zi besitzt.
6
1 Die Problemstellung
Es definiert ein lineares Gleichungssystem Cx = q,
durch C·j :=
C ∈ Rn×n ,
x ∈ Rn
E·j falls wj Basisvariable ist,
(1.15)
−M·j falls zj Basisvariable ist,
j = 1, ..., n.
Ist die Matrix C regul¨ ar, so nennt man C eine Basis und falls x := C −1 q ≥ o gilt, hat man eine L¨ osung von LCP (q, M ) gefunden, wie in Beispiel 1.2.1 erl¨autert wurde. Um alle L¨osungen von LCP (q, M ) zu bestimmen, l¨ ost man all die linearen Gleichungssysteme (1.15), die durch s¨ amtliche Basisvariablenfelder definiert werden. Lemma 1.2.1 F¨ ur LCP (q, M ), q ∈ Rn , M ∈ Rn×n gibt es 2n verschiedene Basisvariablenfelder. ur Beweis: F¨ ur n = 1 gibt es 21 = 2 Basisvariablenfelder ( w1 ) und ( z1 ). F¨ den Induktionsschluss von n auf n + 1 w¨ ahlt man zn+1 als (n + 1)-te Basisvariable. Dann hat man nach Induktionsvoraussetzung f¨ ur die restlichen n oglichkeiten. Diese 2n Auswahlm¨ oglichkeiten hat Basisvariablen 2n Auswahlm¨ ahlt wurde. Somit gibt es genau man auch, wenn wn+1 als Basisvariable gew¨ 2 · 2n = 2n+1 Basisvariablenfelder.
Aufgabe 1.2.1 Zeigen Sie, dass LCP (q, M ) mit
1 27 −4 M= , q= −5 2 65 genau drei L¨ osungen besitzt. Aufgabe 1.2.2 Zeigen Sie, dass LCP (q, M ) mit
1 −1 1 −ε M= , q= , −3ε 2 −5 5
ε>0
keine L¨ osung besitzt. Aufgabe 1.2.3 Zeigen Sie, dass LCP (q, M ) mit
12 −1 M= , q= 10 0 unendlich viele L¨ osungen besitzt. Aufgabe 1.2.4 Schreiben Sie ein Computerprogramm, welches f¨ ur einzugebendes n alle 2n Basisvariablenfelder ausgibt.
2 Der Lemke-Algorithmus
2.1 Motivation In Abschnitt 1.2 haben wir gesehen, wie wir prinzipiell alle L¨ osungen von LCP (q, M ) bestimmen k¨ onnen. Allerdings h¨ atte man sich einige Arbeit sparen k¨onnen, da sich gewisse Rechnungen wiederholen. Wir werden dies anhand von Beispiel 1.2.1 erl¨autern. Wenn man in Beispiel 1.2.1 den 3. Fall mit dem 4. Fall vergleicht, so f¨ allt auf, dass sich die jeweiligen Gaußschen Eliminationsverfahren (1.11) und (1.13) lediglich in einer Spalte unterscheiden. Der Grund daf¨ ur ist, dass sich die jeweiligen Basisvariablenfelder lediglich in einer Basisvariablen unterscheiden. Daher wollen wir die 2n verschiedenen Basisvariablenfelder so anordnen, dass sich zwei aufeinanderfolgende Basisvariablenfelder lediglich in einer Basisvariablen unterscheiden. Beispiel 2.1.1 Wir betrachten wieder Beispiel 1.2.1 und wollen jetzt zeigen, wie man sich gewisse Rechnungen spart. Dazu betrachten wir wiederum das lineare Gleichungssystem (1.6), welches in diesem Beispiel in Tableau-Form w1 w2 w3 z1 z2 z3 q 1 0 0 –1 –2 –3 –2 0
1
0 –4 –5 –6 –1
0
0
1 –7 –8 –9
1
lautet. Der 1. Fall: z = o entspricht dem Basisvariablenfeld ( w1 , w2 , w3 ), welches auf (1.9) f¨ uhrt. Der 2. Fall aus Beispiel 1.2.1 entspricht dem Basisvariablenfeld ( z1 , w2 , w3 ). Diese zwei Basisvariablenfelder unterscheiden sich in einer Basisvariablen.
8
2 Der Lemke-Algorithmus
Nach Anwendung eines Gauß–Jordan-Schritts geht das Tableau u ¨ ber in w1 w2 w3 z1 z2 z3 q –1 0 0 1 2 3 2 –4
1
0
0
3
6
7
–7
0
1
0
6 12 15
und man erh¨ alt (1.10). Der 3. Fall aus Beispiel 1.2.1 entspricht dem Basisvariablenfeld ( z1 , z2 , w3 ). Auch dieses Basisvariablenfeld unterscheidet sich zu seinem Vorg¨anger in genau einer Basisvariablen. Nach Anwendung eines Gauß–Jordan-Schritts geht das Tableau u ¨ ber in w1
w2 w3 z1 z2 z3
q
5 3
− 32
0
1
0 –1 − 38
− 34
1 3
0
0
1
2
7 3
1
–2
1
0
0
0
1
und man erh¨ alt (1.12).
Oft gibt man sich zufrieden mit dem Auffinden lediglich einer L¨osung oder man weiß im Voraus, dass es genau eine L¨osung gibt. Ist man lediglich an einer L¨osung interessiert, so h¨atte man in Beispiel 1.2.1 nach dem zweiten Fall aufh¨ oren k¨onnen. Aber woher h¨ atte man in Beispiel 1.2.1 wissen sollen, dass ausgerechnet das im zweiten Fall ausgew¨ahlte Basisvariablenfeld zu einer L¨ osung f¨ uhrt? Woher h¨ atte man wissen sollen, dass das Basisvariablenfeld ( z1 , w2 , w3 ) dem Basisvariablenfeld ( w1 , z2 , w3 ) vorzuziehen ist? Um diesbez¨ uglich eine Strategie zu erarbeiten, muss offenbar mehr Augenmerk auf die Bedingung w ≥ o, z ≥ o gelegt werden. Eine solche Strategie verfolgt der Lemke-Algorithmus1 , der im Wesentlichen aus drei Schritten besteht: 1. Initialisierung; 2. Allgemeiner Pivotschritt; 3. Abbruchkriterien. Wir werden uns in den folgenden Abschnitten diesen Punkten zuwenden. Bemerkung 2.1.1 Der Lemke-Algorithmus wird zur L¨osung eines LCP am h¨ aufigsten angewandt. Er bleibt ,,the most versatile algorithm for solving this fundamental problem in the field of mathematical programming“ [33] . In den Jahren 1997-2007 wurden beispielsweise mehrere Dissertationen verfasst, die jeweils einen technischen Vorgang mit Hilfe eines LCP beschreiben. Zur 1
Carlton E. Lemke, 11.10.1920-12.4.2004
2.2 Initialisierung des Lemke-Algorithmus
9
L¨osung des LCP wird der Lemke-Algorithmus verwendet. Siehe [36], [46], [94], [119], [125], [126].
2.2 Initialisierung des Lemke-Algorithmus Zun¨achst m¨ochten wir ausdr¨ ucklich betonen, dass sich der Lemke-Algorithmus damit begn¨ ugt, eine L¨osung von LCP (q, M ) zu finden. Ist q ≥ o, so ist w := q, z := o eine L¨osung von LCP (q, M ). Wir setzen daher im Folgenden voraus, dass q ≥ o gilt. Der entscheidende Ausgangspunkt des Lemke-Algorithmus ist das Hinzuf¨ ugen einer weiteren Variablen zum linearen Gleichungssystem (1.6). Man setzt . . A(0) := (E .. − M .. − e) ∈ Rn×2n+1 ,
q (0) := q,
wobei e den Vektor bezeichnet, der in jeder Komponente den Wert eins besitzt. Gesucht ist dann ein Vektor ⎛ ⎞ w x = ⎝ z ⎠ ∈ R2n+1 , w ∈ Rn , z ∈ Rn , z0 ∈ R (2.1) z0 mit A(0) x = q (0) , w ≥ o,
(2.2)
z ≥ o,
(2.3)
wT z = 0,
(2.4)
z0 = 0.
(2.5)
Der Lemke-Algorithmus wird wie folgt initialisiert: 1. Fall: Ist q ≥ o, so setzt man w := q, z := o. Der Algorithmus hat somit eine L¨osung gefunden und ist zu Ende. 2. Fall: Es ist q ≥ o. Dann w¨ ahlt man einen Index t mit qt := min qi . Es 1≤i≤n
uhrt nun gilt somit qt < 0, wobei t nicht eindeutig bestimmt sein muss. Man f¨ (0) einen Gauß–Jordan-Schritt durch mit at 2n+1 als Pivotelement. Dadurch wird aus dem Tableau (A(0) |q (0) ) das Tableau (A(1) |q (1) ) mit (1)
qt
= |qt | > 0
(1)
und qi
= qi + |qt |, i = 1, ..., n, i = t,
(2.6)
und einem entsprechenden A(1) ∈ Rn×2n+1 . Dies definiert das Basisvariablenfeld BVF1 := ( w1 , .., wt−1 , z0 , wt+1 , .., wn ). Man sagt:
z0 wird Basisvariable, wt verl¨ asst das Basisvariablenfeld.
10
2 Der Lemke-Algorithmus
Beispiel 2.2.1 Wir betrachten wieder LCP (q, M ) aus Beispiel 1.2.1. Das lineare Gleichungssystem (2.2) in Tableau-Gestalt lautet w1 w2 w3 z1 z2 z3
z0 q (0)
1
0
0 –1 –2 –3 –1
–2
0
1
0 –4 –5 –6 –1
–1
0
0
1 –7 –8 –9 –1
1
Da q1 = min qi gilt, ist die erste Zeile die Pivotzeile und man erh¨ alt nach 1≤i≤3
(0)
einem Gauß–Jordan-Schritt mit Pivotelement a1 7
w1 w2 w3 z1 z2 z3 z0 q (1) –1
0
0
1
2
3
1
2
–1
1
0 –3 –3 –3 0
1
–1
0
1 –6 –6 –6 0
3
und das Basisvariablenfeld BVF1 = ( z0 , w2 , w3 ).
Durch die Initialisierung hat man erreicht, dass q (1) ≥ o gilt. Des Weiteren erf¨ ullt x ∈ R2n+1 der Gestalt (2.1) mit (1) ⎞ q1 ⎜ . ⎟ ⎜ .. ⎟ ⎟ ⎜ ⎜ (1) ⎟ ⎜ qt−1 ⎟ ⎟ ⎜ w := ⎜ 0 ⎟ , ⎜ (1) ⎟ ⎜ qt+1 ⎟ ⎟ ⎜ ⎜ .. ⎟ ⎝ . ⎠ (1) qn
⎛
z := o,
(1)
z0 := qt
(1)
die Bedingungen (2.2)-(2.4). Allerdings gilt nach (2.6) die Ungleichung qt > 0 und somit nicht (2.5). Der Lemke-Algorithmus besteht nun darin, ausgehend von dem Tableau (A(1) |q (1) ) durch Gauß–Jordan-Schritte andere Tableaus zu konstruieren, bis ein L¨ osungsvektor x ∈ R2n+1 der Gestalt (2.1) neben (2.2)(2.4) auch noch (2.5) erf¨ ullt.
2.3 Allgemeiner Pivotschritt
11
2.3 Allgemeiner Pivotschritt Nach k Gauß–Jordan-Schritten sei aus dem Tableau (A(0) |q (0) ) das Tableau (A(k) |q (k) ) entstanden und im Basisvariablenfeld BVFk sei festgehalten, in welchen Spalten von A(k) die n Standard-Basisvektoren E·i , i = 1, ..., n stehen. Wir setzen nun wie in einem Induktionsbeweis als Induktionsvoraussetzung q (l) ≥ o,
f¨ ur l = 1, ..., k
(2.7)
voraus, und f¨ ur alle i = 1, ..., n gelte
wi ∈ BVFl ⇒ zi ∈ BVFl
l = 1, ..., k.
zi ∈ BVFl ⇒ wi ∈ BVFl
(2.8)
Als Induktionsanfang gelten diese Aussagen f¨ ur k = 1 nach der Initialisierung, wie diese im vorigen Abschnitt beschrieben wurde. (k)
Falls z0 ∈ BVFk oder falls z0 = qt = 0 gilt (t ist dabei der Pivotzeilenindex aus der Initialisierung), so wird der Lemke-Algorithmus beendet, weil man dann eine L¨osung von LCP (q, M ) angeben kann. Wir verweisen diesbez¨ uglich auf den n¨ achsten Abschnitt. (l)
ur Wir setzen voraus, dass sowohl z0 ∈ BVFl als auch z0 = qt > 0 f¨ alle l = 1, ..., k gilt. Dann wollen wir den (k + 1)-ten Schritt des LemkeAlgorithmus so definieren, dass nach einem weiteren Gauß–Jordan-Schritt ein Tableau (A(k+1) |q (k+1) ) und ein Basisvariablenfeld BVFk+1 entstehen mit q (k+1) ≥ o und
wi ∈ BVFk+1 ⇒ zi ∈ BVFk+1
zi ∈ BVFk+1 ⇒ wi ∈ BVFk+1
(2.9) i = 1, ..., n.
(2.10)
In BVFk+1 soll dabei wiederum festgehalten sein, in welchen Spalten von A(k+1) die n Standard-Basisvektoren E·i , i = 1, ..., n stehen. (k)
Der Gauß–Jordan-Schritt wird durch ein Pivotelement ai0 j0 festgelegt. Es ist also eine Pivotzeile i0 und eine Pivotspalte j0 zu bestimmen. Es wird sich zeigen, dass die Pivotzeile i0 so bestimmt wird, dass (2.9) gilt, w¨ ahrend die Pivotspalte j0 so bestimmt wird, dass (2.10) gilt. ur k = 1 ist Wir beginnen mit der Bestimmung der Pivotspalte j0 : F¨ BVF1 = ( w1 , ..., wt−1 , z0 , wt+1 , ..., wn ) gem¨aß der Initialisierung. Dann setzt man j0 := n + t. Wird aus dieser Spalte ein Element als Pivotelement ausgew¨ ahlt, dann wird nach einem Gauß– Jordan-Schritt zt ∈ BVF2 und (weiterhin) wt ∈ BVF2 gelten. Somit gilt (2.10) f¨ ur k = 1.
12
2 Der Lemke-Algorithmus
F¨ ur k > 1 existiert wegen z0 ∈ BVFk und (2.8) genau ein s ∈ {1, ..., n} mit ws ∈ BVFk und zs ∈ BVFk . Das Tableau (A(k) |q (k) ) war aus dem Tableau (A(k−1) |q (k−1) ) durch Anwendung eines Gauß–Jordan-Schrittes hervorgegangen. Daher unterscheidet sich das Basisvariablenfeld BVFk vom Basisvariablenfeld BVFk−1 lediglich in einer Basisvariablen. Da (2.8) insbesondere f¨ ur l = k − 1 gilt und z0 ∈ BVFk−1 vorausgesetzt ist, muss entweder ws ∈ BVFk−1
oder zs ∈ BVFk−1
gegolten haben, d.h. im k-ten Schritt des Lemke-Algorithmus hat entweder ws oder zs das Basisvariablenfeld BVFk−1 verlassen. Damit setzt man n + s, falls ws das Basisvariablenfeld BVFk−1 verlassen hat, j0 := s, falls zs das Basisvariablenfeld BVFk−1 verlassen hat. F¨ uhrt man einen Gauß–Jordan-Schritt aus mit diesem j0 als Pivotspalte, so gilt j0 = n + s ⇒ zs ∈ BVFk+1 und ws ∈ BVFk+1 , (2.11) j0 = s ⇒ ws ∈ BVFk+1 und zs ∈ BVFk+1 . Das Basisvariablenfeld BVFk+1 unterscheidet sich vom Basisvariablenfeld BVFk lediglich durch die Basisvariable ws bzw. zs . Somit gilt (2.10) aufgrund von (2.11) und (2.8). Wir bestimmen nun die Pivotzeile i0 . Es sei ⎛ (k) ⎞ a 0 ⎜ 1j . ⎟ ⎟ r := ⎜ ⎝ .. ⎠ (k) anj0 die Pivotspalte im Schritt k + 1 im Lemke-Algorithmus. 1. Fall: r ≤ o. Dann bricht der Algorithmus ab mit der Meldung, dass er keine L¨osung finden kann, obwohl das LCP vielleicht eine L¨ osung besitzt. Diesen Fall nennt man Ray-Termination. Zur Namensgebung verweisen wir auf Abschnitt 2.7. 2. Fall: r ≤ o. Dann w¨ ahlt man als Pivotzeilenindex einen Index i0 mit (k) (k) qi0 qi (k) = min : aij0 > 0 . (2.12) (k) (k) 1≤i≤n ai0 j0 aij0 Somit folgt
(k+1)
qi
⎧ (k) ⎪ qi0 ⎪ ⎪ ⎨ (k) , i = i0 , = ai0 j0 ⎪ ⎪ ⎪ (k) (k+1) (k) ⎩ qi − qi0 · aij0 , i = 1, ..., n, i = i0 .
2.4 Abbruchkriterien des Lemke-Algorithmus (k+1)
Auf Grund von q (k) ≥ o und wegen (2.12) gilt zun¨ achst qi0 sowohl (k+1)
qi
(k)
− qi0
(k)
− qi0
= qi
(k+1)
· aij0 ≥ 0,
(k)
(k+1)
· aij0 ≥ 0
i = 1, ..., n, i = i0 ,
13
≥ 0 und somit
falls
(k)
aij0 ≤ 0
als auch (k+1)
qi
= qi
(k)
i = 1, ..., n, i = i0 ,
falls
(k)
aij0 > 0,
(k)
da f¨ ur aij0 > 0 wegen (2.12) (k)
qi
(k)
aij0
(k)
≥
qi0
(k)
ai0 j0
gilt. Somit ist (2.9) erf¨ ullt.
2.4 Abbruchkriterien des Lemke-Algorithmus Es werden zwei Abbruchkriterien f¨ ur den Lemke-Algorithmus definiert. 1. Nach dem k-ten Schritt des Lemke-Algorithmus hat die Pivotspalte ⎛ (k) ⎞ a 0 ⎟ ⎜ 1j ⎜ r := ⎝ ... ⎟ ⎠ (k) anj0 die Eigenschaft r ≤ o. Dann bricht der Lemke-Algorithmus ab mit der Meldung, dass er keine L¨ osung finden kann. Dies bedeutet allerdings nicht zwangsl¨aufig, dass LCP (q, M ) keine L¨osung besitzt. Unter gewissen Voraussetzungen an M kann man jedoch zeigen, dass aus dem Zwischenergebnis r ≤ o tats¨achlich folgt, dass LCP (q, M ) nicht l¨ osbar ist. Wir werden in Abschnitt 3.2 darauf zur¨ uckkommen. 2. Nach dem k-ten Schritt des Lemke-Algorithmus hat z0 das Basisvari(k) ablenfeld verlassen oder es ist z0 ∈ BVFk mit z0 = qt = 0. Dann wird der Lemke-Algorithmus beendet, denn er kann nun eine L¨ osung von LCP (q, M ) angeben: Das Tableau (A(k) |q (k) ) ist durch Gauß–Jordan-Schritte aus (A(0) |q (0) ) hervorgegangen. Daher bilden n Spalten von A(k) die Einheitsmatrix. Welche Spalten dies sind, steht im Basisvariablenfeld BVFk . Indem die n + 1 Nichtbasisvariablen null gesetzt werden und die n Basisvariablen entsprechend die Werte der n Komponenten von q (k) zugewiesen bekommen, erh¨alt man einen Vektor der Gestalt (2.1), der (2.2) erf¨ ullt. Wegen (2.7) gilt dann auch (2.3). Hat z0 das Basisvariablenfeld verlassen, so ist z0 keine Basisvariable mehr
14
2 Der Lemke-Algorithmus
und es wird einerseits z0 := 0 gesetzt, womit (2.5) folgt. Andererseits folgt aus (2.8), dass f¨ ur alle i = 1, ..., n wi := 0
oder zi := 0 (k)
gesetzt wird, d.h. es gilt (2.4). Gilt z0 ∈ BVFk und z0 = qt = 0, so gilt einerseits (2.5), andererseits sind wt und zt Nichtbasisvariablen, d.h. es werden wt := 0 und zt := 0 gesetzt. Aus (2.8) folgt, dass f¨ ur alle i = 1, ..., n, i = t wi := 0
oder zi := 0
gesetzt werden. Somit hat man (2.4). Beispiel 2.4.1 Wir betrachten LCP (q, M ) mit ⎛ ⎞ ⎛ ⎞ 2 3 1 −11 M = ⎝ −2 0 3 ⎠ und q = ⎝ −7 ⎠ . 4 −2 1 −3 Als Anfangstableau erhalten wir w1 w2 w3 z1 z2 z3
(0)
Es ist q1
z0 q (0)
1
0
0 –2 –3 –1 –1
0
1
0
2
0 –3
–1
–7
0
0
1 –4
2 –1
–1
–3
(0)
–11
(0)
= min qi . Daher ist a1 7 das erste Pivotelement. Nach einem 1≤i≤3
Gauß–Jordan-Schritt erhalten wir (1)
(1)
(1)
BVF1 w1 w2 w3 z1 z2 z3 z0 q (1) qi /aij0 : aij0 > 0 z0 –1 0 0 2 3 1 1 11
11 2
w2 –1 1 0 4 3 –2 0
4
1
w3 –1 0 1 –2 5 0 0
8
–
w1 hat das Basisvariablenfeld verlassen. Somit ist BVF1 = ( z0 , w2 , w3 ). Wir schreiben in Zukunft das Basisvariablenfeld als erste Spalte im Tableau. Da w1 das Basisvariablenfeld verlassen hat, wird der Pivotspaltenindex j0 = 3 + 1 = 4 gesetzt, damit dann z1 ∈ BVF2 gelten wird. Um den Pivotzeilenindex zu bestimmen, bestimmen wir das Minimum in (2.12). Dazu schreiben wir die Br¨ uche, die in (2.12) betrachtet werden und von denen das Minimum zu bestimmen ist, als letzte Spalte im Tableau.
(1)
Damit l¨asst sich einfach i0 = 2 ablesen. Daher ist a2 4 das zweite Pivotelement. Nach einem zweiten Gauß–Jordan-Schritt erhalten wir
2.4 Abbruchkriterien des Lemke-Algorithmus (2)
(2)
15
(2)
BVF2 w1 w2 w3 z1 z2 z3 z0 q (2) qi /aij0 : aij0 > 0
z0 − 12 − 21 0 0
3 2
z1 − 14
1 4
0 1
w3 − 32
1 2
1 0
2
1
9
3 4
− 21 0
1
13 2
–1 0 10
9 · 23 =6 1 · 43 = 2 10· 13 =
4 3 20 13
w2 hat das Basisvariablenfeld verlassen. Daher wird der Pivotspaltenindex ur den Pivotzeilenindex erh¨ alt man i0 = 2. Daj0 = 3 + 2 = 5 gesetzt. F¨ (2) her ist a2 5 das dritte Pivotelement. Nach einem dritten Gauß–Jordan-Schritt erhalten wir BVF3 w1 w2 w3
z0
z2 − 31
w3
0 –1 0 1 3
2 3
− 53
0
(3)
(3)
(3)
z1 z2
z3 z0 q (3) qi /aij0 : aij0 > 0
–2 0
3 1 7
4 3
1 − 23 0
1 − 26 3 0
10 3
0
–
4 3 4 3
– 4 3
·
3 2
=2
z1 hat das Basisvariablenfeld verlassen. Daher wird der Pivotspaltenindex (3) j0 = 1 gesetzt. F¨ ur den Pivotzeilenindex erh¨ alt man i0 = 3. Daher ist a3 1 das vierte Pivotelement. Nach einem Gauß–Jordan-Schritt erhalten wir BVF4 w1 w2 w3 z1 z2 z3 z0 q (4) 7 3
z0
0 –1
0 –2 0 3 1
7
z2
0 − 12
1 2
–3 1 1 0
2 2
w1
1 − 52
3 2
–13 0 5 0
2
2 5
w3 hat das Basisvariablenfeld verlassen. Daher wird der Pivotspaltenindex j0 = 3 + 3 = 6 gesetzt. F¨ ur den Pivotzeilenindex erh¨ alt man i0 = 3. Daher ist (4) a3 6 das f¨ unfte Pivotelement. Nach einem Gauß–Jordan-Schritt erhalten wir BVF5 w1 w2
w3
z0 − 35
1 2
9 − 10
z2 − 15
0
z3
1 5
− 12
z1 z2 z3 z0 q (5) 29 5
0 0 1
29 5
1
1 5
− 25 1 0 0
8 5
–
3 10
− 13 5 0 1 0
2 5
–
16
2 Der Lemke-Algorithmus
w1 hat das Basisvariablenfeld verlassen. Daher wird der Pivotspaltenindex j0 = 3 + 1 = 4 gesetzt. F¨ ur den Pivotzeilenindex erh¨ alt man i0 = 1. Daher ist (5) a1 4 das sechste Pivotelement. Es wird z0 das Basisvariablenfeld verlassen. Daher brauchen wir im letzten Tableau die ersten drei Spalten und die letzte Spalte nicht ausrechnen. Wir erhalten BVF6 w1 w2 w3 z1 z2 z3 z0 q (6)
z1
* * * 1 0 0 *
1
z2
* * * 0 1 0 *
2
z3
* * * 0 0 1 *
3
⎛ ⎞ 0 w = ⎝0⎠ 0
Somit bilden
⎛ ⎞ 1 z = ⎝2⎠ 3
und
eine L¨osung von LCP (q, M ). Wir wollen in diesem Beispiel die Folge der Basisvariablenfelder betrachten. Es war BVF1 = ( z0 , w2 , w3 ), BVF2 = ( z0 , z1 , w3 ), BVF3 = ( z0 , z2 , w3 ), BVF4 = ( z0 , z2 , w1 ), BVF5 = ( z0 , z2 , z3 ), BVF6 = ( z1 , z2 , z3 ). Wie an anderer Stelle bereits erw¨ ahnt, unterscheiden sich zwei aufeinanderfolgende Basisvariablenfelder durch genau eine Basisvariable. Denn sie gehen durch einen Gauß–Jordan-Schritt auseinander hervor. Außerdem sieht man in diesem Beispiel sehr sch¨on eine Konsequenz von (2.8): Ist z0 ∈ BVFk , so gibt es genau ein s ∈ {1, ..., n} mit ws ∈ BVFk und zs ∈ BVFk , und f¨ ur k > 1 ist entweder
oder
ws ∈ BVFk−1
zs ∈ BVFk−1
und und
zs ∈ BVFk+1
ws ∈ BVFk+1 .
Ferner sieht man an diesem Beispiel, dass gewisse Vermutungen falsch sind. Aus der Tatsache, dass ein wi das Basisvariablenfeld BVKk verl¨ asst, folgt nicht, dass ein zj zum Basisvariablenfeld BVKk+1 hinzukommt. Es kann durchaus eine Basisvariable wi durch eine Basisvariable wj ersetzt werden.
2.4 Abbruchkriterien des Lemke-Algorithmus
17
Genauso falsch ist die Vermutung, dass eine Basisvariable x, die das Basisvariablenfeld verlassen hat, im weiteren Verlauf des Algorithmus keine Basisvariable mehr wird. Siehe z1 hier in diesem Beispiel. Bemerkung 2.4.1 Beim Lemke-Algorithmus ist das Basisvariablenfeld anders definiert als in Kapitel 1. Denn es gilt z0 ∈ BVK1 . In Kapitel 1 kommt z0 hingegen gar nicht vor. Es gibt aber noch einen weiteren Unterschied: Beim Lemke-Algorithmus identifizieren wir Basisvariablenfelder, die sich lediglich durch eine Permutation unterscheiden. Beispielsweise identifizieren wir das Basisvariablenfeld ( z0 , z1 , w3 ) mit
( w3 , z0 , z1 ),
da die entsprechenden linearen Gleichungssysteme lediglich durch Zeilenvertauschungen ineinander u ¨ bergehen. Aufgabe 2.4.1 Zeigen Sie: Die Vektoren ⎛ ⎞ ⎛ ⎞ 1 0 w = ⎝0⎠, z = ⎝1⎠ 0 1 l¨ osen LCP (q, M ) f¨ ur ⎛
⎞ 0 0 −2 M = ⎝ 1 1 1⎠ −2 3 0
⎛
und
⎞ 3 q = ⎝ −2 ⎠ , −3
der Lemke-Algorithmus angewandt auf q und M bricht jedoch durch RayTermination ab. Aufgabe 2.4.2 Zeigen Sie: Die Vektoren w = o,
⎛ ⎞ 2 z = ⎝0⎠ 1
l¨ osen LCP (q, M ) f¨ ur ⎛
⎞ 2 3 1 M = ⎝ −2 0 3 ⎠ 4 −2 1
⎛
und
⎞ −5 q = ⎝ 1⎠, −9
der Lemke-Algorithmus angewandt auf q und M findet jedoch eine andere L¨ osung.
18
2 Der Lemke-Algorithmus
Aufgabe 2.4.3 F¨ uhren Sie den Lemke-Algorithmus durch f¨ ur ⎞ ⎞ ⎛ ⎛ −1 120 M = ⎝ 0 1 2 ⎠ und q = ⎝ −1 ⎠ . −1 201 Ist dabei der Pivotzeilenindex nicht eindeutig definiert, so w¨ ahlen Sie unter den Indizes, die zur Auswahl stehen, jeweils den kleinsten Index. Zeigen Sie, dass der Lemke-Algorithmus mit dieser Strategie nicht terminiert. Aufgabe 2.4.4 Gegeben seien ein Vektor q ∈ Rn mit q ≥ o und die Matrix M ∈ R(m+n)×(m+n) der Gestalt
OA M= , A ∈ Rm×n , B ∈ Rn×m . BO Zeigen Sie: Gilt A ≥ O sowie B ≥ O, dann bricht der Lemke-Algorithmus unmittelbar nach der Initialisierung durch Ray-Termination ab. Aufgabe 2.4.5 Zeigen Sie, dass BVF1 = BVF3 gilt, falls zuvor kein Abbruch erfolgt ist.
2.5 M¨ oglichkeit eines Zyklus Der Lemke-Algorithmus generiert eine Folge von Basisvariablenfeldern ⎫ BVF1 = ( w1 , .., wt−1 , z0 , wt+1 , .., wn ) ⎪ ⎪ ⎪ ⎪ BVF2 = . . . ⎪ ⎪ ⎬ .. . (2.13) ⎪ ⎪ BVFk ⎪ ⎪ ⎪ ⎪ .. ⎭ . bzw. eine Folge von Tableaus (A(0) |q (0) ), (A(1) |q (1) ), . . . , (A(k) |q (k) ), ... . Es gelte
q (l) > o f¨ ur l = 1, 2, 3, ... .
(2.14)
Unter der Voraussetzung (2.14) werden wir zeigen, dass in der Folge (2.13) kein Basisvariablenfeld ein zweites Mal vorkommt. Wir werden dies in den folgenden drei Lemmata beweisen. Im ersten Lemma geht es darum, dass die Bedingung (2.14) nicht verletzt wird, solange der Pivotzeilenindex i0 eindeutig durch (2.12) bestimmt ist.
2.5 M¨ oglichkeit eines Zyklus
19
Lemma 2.5.1 Es sei (A(k) |q (k) ), k ≥ 1 mit q (k) > o das aktuelle Tableau des Lemke-Algorithmus, und j0 sei der Pivotspaltenindex. Dann gelten folgende Aussagen: 1. Es sei der Pivotzeilenindex i0 eindeutig durch (2.12) bestimmt. Dann f¨ uhrt (k) (k) ein Gauß–Jordan-Schritt mit Pivotwahl aνj0 , ν = i0 , aνj0 = 0 auf die Aussage q (k+1) ≥ o. 2. Existieren i1 , i2 ∈ {1, ..., n}, i1 = i2 mit (k) (k) (k) qi1 qi2 qi (k) = min : a > 0 = , ij0 (k) (k) (k) 1≤i≤n ai1 j0 aij0 ai2 j0 (k)
(k)
ahlt so existiert -unabh¨ angig davon, ob ai1 j0 oder ai2 j0 als Pivotelement gew¨ wird- ein i ∈ {1, ..., n} mit Beweis: Zu 1.: Es sei 1. Fall:
(k) aνj0
(k) aνj0
(k+1) qi
= 0.
= 0 und ν = i0 .
> 0. Dann gilt (k)
(k)
qν
>
(k)
aνj0
qi0
,
(k)
ai0 j0
da i0 als eindeutig durch (2.12) definiert vorausgesetzt ist. Es folgt (k+1)
qi0
(k)
qν
(k)
= qi0 −
(k) aνj0
(k)
· ai0 j0 < 0.
(k)
2. Fall: aνj0 < 0. Dann ist (k)
qν
qν(k+1) = wegen q (k) > o. Zu 2.: Es ist
(k)
(k)
qi1
(k)
<0
(k)
aνj0
=
ai1 j0
qi2
.
(k)
ai2 j0
(k)
Wird ai1 j0 als Pivotelement gew¨ahlt, so gilt (k+1) qi2
=
(k) qi2
(k)
−
qi1
(k) ai1 j0
(k)
· ai2 j0 = 0.
(k)
Wird ai2 j0 als Pivotelement gew¨ahlt, so gilt (k+1) qi1
=
(k) qi1
(k)
−
qi2
(k) ai2 j0
(k)
· ai1 j0 = 0.
20
2 Der Lemke-Algorithmus ···
@ BVFm−1
BVFk−1
@
BVFm
@ BVFm+1
@
···
%
Abb. 2.1. Zyklus in (2.13).
Lemma 2.5.2 Es gelte (2.14). Dann kommt kein Basisvariablenfeld BVFk , k > 1 in der Folge der Basisvariablenfelder (2.13) ein zweites Mal vor. Beweis: Angenommen in der Folge (2.13) ist BVFk , k > 1 das erste Basisvariablenfeld, das in (2.13) ein zweites Mal vorkommt. Dann gibt es ein m mit 1 < m < k mit BVFm = BVFk . Siehe Abb. 2.1. Wegen z0 ∈ BVFm gibt es genau ein s ∈ {1, ..., n} mit ws ∈ BVFm und zs ∈ BVFm . Es seien x ∈ {ws , zs } und y die komplement¨are Variable zu x, d.h. aus x = ws folgt y = zs bzw. aus x = zs folgt y = ws . Dann gilt
x ∈ BVFm−1
und
y ∈ BVFm+1 .
Somit haben wir zwei F¨ alle: 1. Fall: y ∈ BVFk−1 . 2. Fall: x ∈ BVFk−1 . Zum 1. Fall: Wegen BVFk−1 = BVFm+1 und q (k−1) > o, q (m+1) > o gibt es zwei erfolgreiche Wege, den Lemke-Algorithmus von BVFm aus fortzuf¨ uhren. Dies ist ein Widerspruch zu Lemma 2.5.1 und q (m+1) > o. Zum 2. Fall: Es seien x (m−1)
(A
|q
(m−1)
)=
· · · E·μ · · · q (m−1) x
(A(k−1) |q (k−1) ) =
· · · E·ν · · · q (k−1)
2.5 M¨ oglichkeit eines Zyklus
21
und x (A(m) |q (m) ) =
(m) a1j0
···
.. . (m) anj0
· · · q (m)
abgek¨ urzt. Im Verlauf des Lemke-Algorithmus hat man sowohl (A(m−1) |q (m−1) ) (A(m) |q (m) ) als auch (A(k−1) |q (k−1) ) (A(m) |q (m) ) jeweils durch einen Gauß–Jordan-Schritt get¨ atigt. Daher ist jeweils dieser eine Gauß–Jordan-Schritt auch von rechts nach links durchf¨ uhrbar. Hieraus folgt zun¨achst μ = ν, da ansonsten (A(m−1) |q (m−1) ) = (A(k−1) |q (k−1) ) und BVFm−1 = BVFk−1 w¨are, was nicht sein kann, da vorausgesetzt ist, dass BVFk das erste Basisvariablenfeld ist, welches sich in (2.13) wiederholt. Einerseits folgen nun aus (A(m) |q (m) ) (A(m−1) |q (m−1) ) die Beziehungen qμ(m−1) =
(m)
qμ
, (m)
aμj0
qν(m−1) = qν(m) −
(m)
qμ
(m) aμj0
(m)
· aνj0 .
Andererseits folgen aus (A(m) |q (m) ) (A(k−1) |q (k−1) ) die Beziehungen qν(k−1) =
(m)
qν
, (m)
aνj0
qμ(k−1) = qμ(m) − (m)
(m)
qν
(m) aνj0
(m)
· aμj0 .
(m)
Aus (2.14) folgt dann einerseits aμj0 > 0, aνj0 > 0, und damit dann andererseits (m) (m) (m) qν qμ qμ < < . (m) (m) (m) aμj0 aνj0 aμj0 Dies ist ein Widerspruch.
Lemma 2.5.3 Es sei BVF1 = ( w1 , .., wt−1 , z0 , wt+1 , .., wn ) das Basisvariablenfeld nach der Initialisierung und es gelte (2.14). Dann kommt BVF1 in der Folge von Basisvariablenfeldern (2.13) kein zweites Mal vor.
22
2 Der Lemke-Algorithmus
Beweis: Angenommen es existiere ein k ≥ 3 mit BVF1 = BVFk . Dann ist entweder zt ∈ BVFk−1 oder wt ∈ BVFk−1 . Zun¨ achst folgt aus Aufgabe 2.4.5, dass k > 3 gelten muss. Dann ist BVFk−1 = BVF2 wegen Lemma 2.5.2 und q (k−1) > o, q (2) > o wegen (2.14). Daher gibt es, falls zt ∈ BVFk−1 gilt, zwei erfolgreiche Wege, den Lemke-Algorithmus von BVF1 aus fortzuf¨ uhren. Dies ist ein Widerspruch zu Lemma 2.5.1. Falls wt ∈ BVFk−1 gilt, so folgt, dass man durch einen Gauß–Jordan-Schritt vom Tableau (A(1) |q (1) ) zum Tableau (A(k−1) |q (k−1) ) gelangt mit Pivotspaltenindex t. Diese Pivotspalte lautet −e. F¨ ur jeden Pivotzeilenindex ν gilt dann qν(k−1) = −qν(1) . Dies ist ein Widerspruch zu (2.14).
Die beiden letzten Lemmata garantieren, dass der Lemke-Algorithmus nach endlich vielen Schritten zu Ende ist, solange nach jedem Schritt q (k) > o gilt. Wir wollen dies im folgenden Satz festhalten, wobei wir auch eine konkrete obere Schranke f¨ ur die Anzahl der Pivotschritte angeben. Satz 2.5.1 Der Lemke-Algorithmus endet sp¨ atestens nach n · 2n−1 Gauß– Jordan-Schritten, falls (2.14) gilt. Beweis: Wegen Lemma 2.5.2 und Lemma 2.5.3 enth¨ alt die Folge von Basisvariablenfeldern (2.13) kein Basisvariablenfeld ein zweites Mal. Somit muss der Lemke-Algorithmus nach endlich vielen Schritten abbrechen. Die Anzahl der Schritte ist beschr¨ ankt durch die Anzahl der verschiedenen Basisvariablenfelder. ur wt ins Basisvariablenfeld BVF1 Ist z0 beim Initialisierungsschritt f¨ n−1 gekommen, so gibt es 2 verschiedene M¨oglichkeiten, ein Basisvariablenfeld alt. Da es n M¨ oglichkeiten zu konstruieren, welches weder wt noch zt enth¨ gibt, ein t ∈ {1, ..., n} auszuw¨ ahlen, erh¨ alt man n · 2n−1 verschiedene Basisvariablenfelder, die z0 enthalten. Wir wollen noch einmal betonen, dass Satz 2.5.1 nicht besagt, dass der LemkeAlgorithmus das LCP l¨ ost, falls (2.14) gilt. Es kann durchaus vorkommen, dass der Lemke-Algorithmus durch Ray-Termination abbricht, obwohl das LCP eine L¨osung besitzt. Siehe Aufgabe 2.4.1. Die folgende Aufgabe dient nicht der Wiederholung des bisherigen Stoffes, sondern der Vorbereitung auf den n¨ achsten Abschnitt. Dort werden wir mit so genannten erweiterten Tableaus argumentieren.
2.6 Der lexikographische Lemke-Algorithmus
Aufgabe 2.5.1 Gegeben sind ⎞ ⎛ 0 2 −1 A = ⎝1 2 0⎠, 2 1 4
23
⎛ ⎞ 2 b = ⎝4⎠. 5
Berechnen Sie mit Gauß–Jordan-Schritten anhand des erweiterten Tableaus x1 x2 x3 b
E .. 0 2 -1 2 . 1 0 0 . 1 2 0 4 .. 0 1 0 . 2 1 4 5 .. 0 0 1
ohne Zeilenvertauschung A−1 und die eindeutige L¨ osung x∗ von Ax = b.
2.6 Der lexikographische Lemke-Algorithmus Die Voraussetzung (2.14) ist hinreichend, um zu zeigen, dass der LemkeAlgorithmus nach endlich vielen Schritten endet. Ist die Voraussetzung (2.14) nicht erf¨ ullt, so kann es beim Lemke-Algorithmus zu Zyklen kommen. Siehe Aufgabe 2.4.3. Wir werden in diesem Abschnitt die Voraussetzung (2.14) so verallgemeinern, dass diese Verallgemeinerung dann nicht mehr vorausgesetzt werden muss, sondern eine Gegebenheit sein wird. Komponentenweise bedeutet (2.14), dass f¨ ur alle i = 1, ..., n und l = 1, 2, 3, ... (l)
qi > 0 gilt. Diese Eigenschaft werden wir ersetzen durch (2.17), wobei wir folgende Definition verwenden. Definition 2.6.1 Ein Zeilenvektor x mit xT ∈ Rd , x = o wird lexikopositiv genannt, falls gilt: F¨ ur den kleinsten Index i mit xi = 0 gilt xi > 0. Wir schreiben x o. Es sei (A(1) |q (1) ) das Tableau nach der Initialisierung des Lemke-Algorithmus. Sind die Komponenten von q (0) = q nicht paarweise verschieden, so gilt zwar q (1) ≥ o, aber nicht notwendigerweise q (1) > o. Siehe (2.6). Ist der Lemke-Algorithmus bis zum k-ten Schritt durchf¨ uhrbar, so gilt o ≤ q (l) = (B (l) )−1 · q (1) ,
l = 1, ..., k.
(2.15)
Dabei ist jede Matrix B (l) regul¨ ar, und ihre n Spalten stimmen jeweils mit n ¨ berein. Die Matrizen (B (l) )−1 , l = 1, ..., k, Spalten von A(1) (nicht von A(0) !) u
24
2 Der Lemke-Algorithmus
die (2.15) erf¨ ullen, k¨ onnen mit Hilfe der Gauß–Jordan-Schritte in der TableauFolge (A(1) |q (1) ) (A(2) |q (2) ) · · · (A(k) |q (k) ) bestimmt werden. Siehe Aufgabe 2.5.1. Man erh¨ alt somit eine Folge von erweiterten Tableaus . . (2.16) A(1) |(q (1) .. (B (1) )−1 ) · · · A(k) |(q (k) .. (B (k) )−1 ) mit (B (1) )−1 = E und (2.15). Im Hinblick auf Voraussetzung (2.14) liegt es nahe, q (1) so zu st¨oren, dass q (1) ≈ q (1) (ε) > o
und q (l) (ε) := (B (l) )−1 · q (1) (ε) > o,
l = 1, ..., k
gelten. Dann endet der Lemke-Algorithmus beginnend mit dem Tableau (A(1) |q (1) (ε)) nach endlich vielen Schritten gem¨aß Satz 2.5.1. Falls z0 nach dem k-ten Schritt das Basisvariablenfeld verl¨ asst, so bestimmt man u ¨ ber lim q (k) (ε) = lim (B (k) )−1 · q (1) (ε) = (B (k) )−1 · q (1) = q (k)
ε→0
ε→0
eine L¨osung von LCP (q, M ). Dies l¨ asst sich praktisch nicht umsetzen, es sei denn, man rechnet im Lemke-Algorithmus symbolisch mit ε. Der folgende Satz wird q (l) (ε) in Verbindung mit Definition 2.6.1 bringen. (l)
Satz 2.6.1 Es seien (B (l) )−1 = (βij ) aus der Folge der erweiterten Tableaus ur ε > 0 definieren wir (2.16) und q (l) = (B (l) )−1 q (1) ≥ o, l = 1, 2, 3, ... . F¨ den Vektor ⎛ ⎞ ε ⎜ ε2 ⎟ ⎟ ⎜ q (1) (ε) := q (1) + ⎜ . ⎟ . ⎝ . ⎠ εn und damit
q (l) (ε) := (B (l) )−1 · q (1) (ε),
l = 1, 2, 3, ... .
Dann sind folgende Aussagen ¨ aquivalent: ur alle ε ∈ (0, ε∗ ) die Ungleichungen 1. Es existiert ein ε∗ > 0, so dass f¨ q (l) (ε) > o,
l = 1, 2, 3, ...
gelten. 2. F¨ ur l = 1, 2, 3, ... und i = 1, ..., n gilt (l) (l) (l) qi βi1 . . . βin o.
(2.17)
In Worten: F¨ ur alle l = 1, 2, 3, ... sind alle Zeilenvektoren der Matrix . (q (l) .. (B (l) )−1 ) ∈ Rn×(n+1) lexikopositiv.
2.6 Der lexikographische Lemke-Algorithmus
25
Beweis: F¨ ur l = 1, 2, 3, ... ist ⎛
⎞ ε ⎜ ε2 ⎟ ⎟ (l) (l) −1 (1) (l) −1 (1) (l) −1 ⎜ q (ε) = (B ) · q (ε) = (B ) · q + (B ) ⎜ . ⎟ ⎝ .. ⎠ ⎛ ⎜ =⎜ ⎝
(l) q1
+
(l) β11 ε
(l)
+ ··· + .. .
(l)
(l) β1n εn (l)
⎞
εn
⎟ ⎟. ⎠
qn + βn1 ε + · · · + βnn εn Wir zeigen nun f¨ ur i = 1, ..., n und l = 1, 2, 3, ...: (l) (l) (l) (l) qi βi1 . . . βin o ⇔ f¨ ur hinreichend kleines ε > 0 ist qi (ε) > 0. Dazu sei i ∈ {1, ..., n} beliebig, aber fest gew¨ ahlt. Nach Voraussetzung ist (l) (l) (l) (l) (l) qi ≥ 0. Ist qi > 0, so ist qi βi1 . . . βin o nach Definition, und f¨ ur hinreichend kleines ε > 0 gilt (l) (l) β ε + · · · + β (l) εn < qi , i1 in 2 (l)
woraus dann qi (ε) > 0 f¨ ur hinreichend kleines ε > 0 folgt. (l)
(l)
Falls qi = 0 gilt, so sei μ ∈ {1, ..., n} der kleinste Index mit βiμ = 0. Ein ar ist. Dann ist solcher Index muss existieren, da B (l) regul¨ (l)
qi (ε) =
n
(l)
βij εj .
j=μ
Nun ist
(l)
qi (ε) > 0
f¨ ur hinreichend kleines ε > 0
aquivalent zu ¨ (l)
−βiμ <
n
(l)
βij εj−μ
f¨ ur hinreichend kleines ε > 0.
(2.18)
j=μ+1
Dabei wird die Summe
n
(...) null gesetzt f¨ ur μ = n. F¨ ur hinreichend
j=μ+1
n (l) (l) j−μ |βiμ | < . β ε ij 2 j=μ+1 (l) (l) (l) (l) Daher ist (2.18) a¨quivalent zu βiμ > 0 bzw. qi βi1 . . . βin o.
kleines ε > 0 ist
Wir ben¨ otigen noch eine weitere Definition.
26
2 Der Lemke-Algorithmus
Definition 2.6.2 F¨ ur eine Menge von paarweise verschiedenen Zeilenvektoren V := {v (1) , ..., v (m) } ist das lexikographische Minimum definiert als der Vektor v (i) ∈ V , f¨ ur den alle Vektoren v (j) − v (i) ,
j = 1, ..., m, j = i
lexikopositiv sind. Das lexikographische Minimum einer Menge von paarweise verschiedenen Zeilenvektoren ist immer eindeutig bestimmt. Diese Eindeutigkeit wird der Grund sein, warum im Gegensatz zu (2.12) beim lexikographischen LemkeAlgorithmus die Bestimmung des Pivotzeilenindex in jedem Schritt eindeutig sein wird. Der lexikographische Lemke-Algorithmus wird wie folgt definiert. Die Initialisierung wird noch wie beim herk¨ ommlichen Lemke-Algorithmus durchgef¨ uhrt. Allerdings wird von nun an nicht mehr mit den Tableaus (A(k) |q (k) ),
k≥1
gerechnet, sondern mit den erweiterten Tableaus . A(k) |(q (k) .. (B (k) )−1 ) ,
k ≥ 1. (k)
Dabei ist B (1) = E und q (k) = (B (k) )−1 · q (1) , k ≥ 1. Es sei (B (k) )−1 = (βij ). Die Bestimmung des Pivotspaltenindex ist wie beim herk¨ ommlichen LemkeAlgorithmus definiert. Die Bestimmung des Pivotzeilenindex wird allerdings modifiziert. Es sei J die Indexmenge, f¨ ur die in (2.12) das Minimum angenommen wird. Dann wird wie folgt verfahren: 1. Ist J = ∅, so endet der Algorithmus in Ray-Termination. Ansonsten fahre fort mit 2. 2. Ist t ∈ J (t ist dabei der Pivotzeilenindex aus der Initialisierung), so w¨ ahle achsten Schritt enden, da z0 das i0 = t und der Algorithmus wird im n¨ Basisvariablenfeld verlassen wird. Ansonsten fahre fort mit 3. 3. Bestimme das lexikographische Minimum der Menge 1 (k) (k) (k) (k) qi βi1 . . . βin : aij0 > 0 . V := (k) aij0 Dieses Minimum ist eindeutig, da B (k) regul¨ ar ist. Ist 1 (k) (k) (k) (k) q β β ... β 1 2 n i i i i 0 0 0 0 (k) ai0 j0 das lexikographische Minimum von V , so w¨ahle man i0 als den Pivotzeilenindex.
2.6 Der lexikographische Lemke-Algorithmus
27
Die Abbruchkriterien sind wie beim herk¨ ommlichen Lemke-Algorithmus defi(k) niert. Dabei kann der Fall z0 = qt = 0 nicht vorkommen. Siehe Bemerkung 2.6.1. Beispiel 2.6.1 Wir betrachten LCP (q, M ) mit ⎛ ⎞ ⎛ ⎞ 120 −1 M = ⎝ 0 1 2 ⎠ und q = ⎝ −1 ⎠ 201 −1 aus Aufgabe 2.4.3. Wir verwenden den lexikographischen Lemke-Algorithmus. Die Initialisierung verl¨ auft wie beim herk¨ ommlichen Lemke-Algorithmus. Es ist q ≥ o und min{q1 , q2 , q3 } = min{−1} = −1. Bereits im ersten Schritt ist der Pivotzeilenindex nicht eindeutig festgelegt. Wir w¨ ahlen willk¨ urlich als Pivotzeilenindex i0 = 1 und erhalten ⎞ ⎛ −1 0 0 1 2 0 1 1 ( A(1) | q (1) ) = ⎝ −1 1 0 1 1 −2 0 0 ⎠ −1 0 1 −1 2 −1 0 0 (0)
nach einem Gauß–Jordan-Schritt mit Pivotelement a1 7 . Das Basisvariablenfeld lautet BVF1 = ( z0 , w2 , w3 ). Von jetzt an betrachten wir die erweiterten Tableaus. Als erstes erweitertes Tableau erhalten wir . BVF1 w1 w2 w3 z1 z2 z3 z0 (q (1) .. (B (1) )−1 ) . z0 –1 0 0 1 2 0 1 1 .. 1 0 0
w2 –1 1 0 1 1 –2 0
. 0 .. 0 1 0
w3 –1 0 1 –1 2 –1 0
. 0 .. 0 0 1
w1 hat das Basisvariablenfeld verlassen. Daher ist j0 = 3 + 1 = 4 der neue Pivotspaltenindex. Das lexikographische Minimum von 1 1 1100 , 0010 V := 1 1 ist der zweite Zeilenvektor. Daher ist i0 = 2. Nach einem Gauß–Jordan-Schritt (1) mit Pivotelement a2 4 erh¨alt man . BVF2 w1 w2 w3 z1 z2 z3 z0 (q (2) .. (B (2) )−1 ) . z0 0 –1 0 0 1 2 1 1 .. 1 –1 0 z1 –1 1 0 1 1 –2 0
. 0 .. 0 1 0
w3 –2 1 1 0 3 –3 0
. 0 .. 0 1 1
28
2 Der Lemke-Algorithmus
w2 hat das Basisvariablenfeld verlassen. Daher ist j0 = 3 + 2 = 5 der neue Pivotspaltenindex. Das lexikographische Minimum von V :=
1 1 1 1 1 -1 0 , 0010 , 0011 1 1 3
ist der dritte Zeilenvektor. Daher ist i0 = 3. Nach einem Gauß–Jordan-Schritt (2) mit Pivotelement a3 5 erh¨alt man2 . BVF3 w1 w2 w3 z1 z2 z3 z0 (q (3) .. (B (3) )−1 ) . 2 4 1 z0 1 1 .. 1 − 43 − 13 3 −3 −3 0 0 3
z1 − 13
2 3
z2 − 23
1 3
− 31 1 0 –1 0 1 3
0 1 –1 0
. 0 .. 0 . 0 .. 0
2 3
− 13
1 3
1 3
w3 hat das Basisvariablenfeld verlassen. Daher ist j0 = 3 + 3 = 6 der neue (3) Pivotspaltenindex. Da in der Pivotspalte lediglich a1 6 > 0 gilt, ist i0 = 1, (3) und nach einem Gauß–Jordan-Schritt mit Pivotelement a1 6 erh¨alt man . BVF4 w1 w2 w3 z1 z2 z3 z0 (q (4) .. (B (4) )−1 ) . 2 4 1 1 1 . 3 4 1 z3 9 −9 −9 0 0 1 3 3 . 9 −9 −9
z1 − 19
z2 − 49 − 19
2 9
− 94 1 0 0 2 9
0 1 0
1 3
1 3
1 3
1 3
.. . .. .
3 9
2 9
− 49
3 9
− 19
2 9
z0 hat das Basisvariablenfeld verlassen und der Algorithmus ist zu Ende. Man erh¨ alt, dass die Vektoren ⎛ ⎞ 1 1 w = o und z = ⎝ 1 ⎠ 3 1 eine L¨osung von LCP (q, M ) bilden.
Bemerkung 2.6.1 Beim lexikographischen Lemke-Algorithmus kann der Fall (k) z0 = qt = 0 nie eintreten. 2
Verfolgt man die Strategie, den kleinsten Index, der (2.12) erf¨ ullt, als Pivotzeilenindex zu w¨ ahlen, so ergibt sich i0 = 2.
2.6 Der lexikographische Lemke-Algorithmus
29
Beweis: Der lexikographische Lemke-Algorithmus wird nur begonnen, falls (1) (0) (0) (0) q = q (0) ≥ o ist. Es ist qt = |qt | > 0 wegen qt = min qi < 0. Gilt 1≤i≤n
(k+1) qt
= 0, so war das Minimum in (2.12) im Gauß–Jordan-Schritt z0 = k k + 1 nicht eindeutig bestimmt und insbesondere wird das Minimum in (2.12) angenommen f¨ ur i = t. Der lexikographische Lemke-Algorithmus war aber gerade so definiert, dass in diesem Fall im Gauß–Jordan-Schritt k k+1 als Pivotzeilenindex i0 = t gew¨ahlt wird. Dann endet der lexikographische Lemke-Algorithmus wegen z0 ∈ BVFk+1 . Wir kommen zum abschließenden Ergebnis. Satz 2.6.2 Der lexikographische Lemke-Algorithmus endet sp¨ atestens nach n · 2n−1 Gauß–Jordan-Schritten durch Ray-Termination oder dadurch, dass z0 das Basisvariablenfeld verl¨ asst. Beweis: Der lexikographische Lemke-Algorithmus generiert eine Folge von erweiterten Tableaus ⎫ . ⎪ (1) (1) . ⎪ A |(q . E) ⎪ ⎪ ⎪ ⎪ ⎪ . ⎪ . ⎪ A(2) |(q (2) . (B (2) )−1 ) ⎪ ⎪ ⎪ ⎬ .. (2.19) . ⎪ ⎪ ⎪ ⎪ ⎪ . ⎪ A(k) |(q (k) .. (B (k) )−1 ) ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ .. ⎭ . (k)
mit o ≤ q (k) = (B (k) )−1 · q (1) , k ≥ 1. Es sei (B (k) )−1 = (βij ). Wir zeigen nun, dass f¨ ur jedes k ≥ 1 die Aussage (k) (k) (k) qi βi1 . . . βin o f¨ ur alle i ∈ {1, ..., n} (2.20) ur k = 1. gilt. Wegen q (1) ≥ o und (B (1) )−1 = E gilt (2.20) offensichtlich f¨ (k)
Angenommen es gelte (2.20), und es sei A·j0 die derzeitige Pivotspalte. Falls (k)
A·j0 ≤ o gilt, wird der lexikographische Lemke-Algorithmus durch RayTermination abgebrochen. Andernfalls bestimmt der lexikographische Lemke-Algorithmus die Indexmenge J, die alle Indizes beinhaltet, f¨ ur die in (2.12) das Minimum angenommen wird. Gilt t ∈ J, so wird i0 = t gew¨ahlt und der Algorithmus wird nach dem Schritt
. . A(k) |(q (k) .. (B (k) )−1 ) A(k+1) |(q (k+1) .. (B (k+1) )−1 )
enden, da dann z0 ∈ BV Fk+1 gelten wird.
30
2 Der Lemke-Algorithmus
Gilt t ∈ J, so bestimmt der lexikographische Lemke-Algorithmus das lexikographische Minimum von 1 (k) (k) (k) (k) V := qi βi1 . . . βin : aij0 > 0 . (k) aij0 Ist
1 (k)
ai0 j0
(k)
(k)
(k)
(k)
qi0 βi0 1 βi0 2 ... βi0 n (k)
dieses lexikographische Minimum, so gilt wegen ai0 j0 > 0 1 (k) (k) (k) (k+1) (k+1) (k+1) (k+1) (k) qi0 = (k) qi0 βi0 1 βi0 2 ... βi0 n o βi0 1 βi0 2 ... βi0 n ai0 j0 (k)
und f¨ ur alle i = i0 mit aij0 > 0 1 (k) (k) (k) 1 (k) (k) (k) (k) (k) qi βi1 βi2 ... βin − (k) qi0 βi0 1 βi0 2 ... βi0 n o. (k) aij0 ai0 j0 (k)
Somit gilt f¨ ur alle i = i0 mit aij0 > 0 (k+1) (k+1) (k+1) (k+1) qi = βi1 βi2 ... βin (k) qi
(k)
−
qi0
(k)
ai0 j0
·
(k) aij0
(k) βi1
(k)
−
βi0 1 (k)
ai0 j0
·
(k) aij0
...
(k) βin
!
(k)
−
βi0 n (k)
ai0 j0
·
(k) aij0
o. (2.21)
F¨ ur i = i0 mit
(k) aij0
Nun definieren wir
≤ 0 gilt (2.21) wegen (2.20). ⎞ ε ⎜ ε2 ⎟ ⎜ ⎟ q (1) (ε) := q (1) + ⎜ . ⎟ ⎝ .. ⎠ ⎛
εn und zwingen dem Tableau A(1) |q (1) (ε) die Gauß–Jordan-Schritte von (2.19) auf. Dann erhalten wir eine Folge von Tableaus ⎫ A(1) |q (1) (ε) ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ A(2) |q (2) (ε) ⎪ ⎪ ⎪ ⎪ ⎬ .. (2.22) . ⎪ ⎪ ⎪ ⎪ ⎪ A(k) |q (k) (ε) ⎪ ⎪ ⎪ ⎪ ⎪ .. ⎭ .
2.7 Bemerkung zur Ray-Termination
31
Die Folge der Basisvariablenfelder, die durch (2.19) erzeugt wird, ist somit identisch zur Folge der Basisvariablenfelder, die durch (2.22) erzeugt wird. Wegen (2.20) gilt nach Satz 2.6.1, dass f¨ ur hinreichend kleines ε > 0 q (l) (ε) > o,
l = 1, 2, 3, ...
gilt. Wegen Lemma 2.5.2 und Lemma 2.5.3 kommt dann kein Basisvariablenfeld in der Folge der Basisvariablenfelder, die durch (2.22) erzeugt wird, ein zweites Mal vor. Daher muss der lexikographische Lemke-Algorithmus nach endlich vielen Gauß–Jordan-Schritten abbrechen. Auf Grund von Satz 2.5.1 sind dies h¨ ochstens n · 2n−1 Schritte. Aufgabe 2.6.1 F¨ uhren Sie den lexikographischen Lemke-Algorithmus durch f¨ ur
21 −1 M= und q = . 01 0 Aufgabe 2.6.2 F¨ uhren Sie den lexikographischen Lemke-Algorithmus durch f¨ ur ⎛ ⎞ ⎛ ⎞ 2 00 −1 M = ⎝ −3 1 0 ⎠ und q = ⎝ 1 ⎠ . −3 −1 2 1 Aufgabe 2.6.3 Lesen Sie an den Tableaus aus Beispiel 2.4.1 die Matrizen (B (1) )−1 , (B (2) )−1 , ... , (B (5) )−1 ab, die entstehen, falls man den lexikographischen Lemke-Algorithmus auf M und q aus Beispiel 2.4.1 anwendet.
2.7 Bemerkung zur Ray-Termination Gilt im Lemke-Algorithmus bzw. im lexikographischen Lemke-Algorithmus f¨ ur eine Pivotspalte ⎛ (k) ⎞ a 0 ⎟ ⎜ 1j ⎜ .. ⎟ ≤ o, ⎝ . ⎠ (k) anj0 so endet der Lemke-Algorithmus bzw. der lexikographische Lemke-Algorithmus mit dem Hinweis, dass er keine L¨osung finden kann. Dies wurde als RayTermination bezeichnet. Beispiel 2.7.1 Nach k Gauß–Jordan-Schritten sei aus (A(0) |q (0) ) das Tableau w1 w2 w3 z1 z2 z3 z0 q (k) −4 0 ∗ ∗ ∗ 0 1 −3 1 ∗ ∗ ∗ 0 0 −2 0 ∗ ∗ ∗ 1 0
5 7 8
32
2 Der Lemke-Algorithmus
entstanden, und die erste Spalte sei nun die Pivotspalte. Kein Element dieser Spalte kann als Pivotelement gew¨ ahlt q (k+1) ≥ o garantieren. Daher wird der Algorithmus beendet. (Englisch: to terminate = ˆ beenden). Des Weiteren erh¨alt man die Halbgerade ⎛ ⎞ ⎛ ⎞ 1 0 ⎜3⎟ ⎜7⎟ ⎜ ⎟ ⎜ ⎟ ⎜0⎟ ⎜0⎟ ⎜ ⎟ ⎜ ⎟ ⎜0⎟ + λ⎜0⎟, ⎜ ⎟ ⎜ ⎟ ⎜0⎟ ⎜0⎟ ⎜ ⎟ ⎜ ⎟ ⎝2⎠ ⎝8⎠ 4 5
λ≥0
als L¨osung von A(k) x = q (k) , x ≥ o und somit von A(0) x = q (0) , x ≥ o. (Englisch: ray = ˆ Strahl, Halbgerade). Wir werden sp¨ ater zeigen, dass man unter gewissen Voraussetzungen (an M ) schließen kann, dass LCP (q, M ) keine L¨ osung besitzt, falls der lexikographische Lemke-Algorithmus durch Ray-Termination endet. Dazu ben¨ otigen wir den folgenden Satz. Satz 2.7.1 Endet der lexikographische Lemke-Algorithmus angewandt auf M ∈ Rn×n und q ∈ Rn nach dem k-ten Schritt durch Ray-Termination, dann gelten folgende Aussagen: (h)
1. Es existieren Vektoren w(h) ∈ Rn , z (h) ∈ Rn und eine Zahl z0 (h)
w(h) −M z (h) −z0 ·e = o,
≥ 0 mit
w(h) ≥ o, z (h) ≥ o, z (h) = o, (w(h) )T z (h) = 0. (k)
2. Es existieren Vektoren w(k) ∈ Rn , z (k) ∈ Rn und eine Zahl z0 (k)
w(k) − M z (k) − z0 · e = q,
w(k) ≥ o, z (k) ≥ o,
> 0 mit
(w(k) )T z (k) = 0.
3. Es gilt (w(k) )T z (h) = 0 = (w(h) )T z (k) . Beweis: Es sei p . (A(k) |(q (k) .. (B (k) )−1 ))
(k)
a1j0 . · · · .. (k)
anj0
. z0 (q (k) .. (B (k) )−1 ) (k) . q1 .. ∗ ∗ ∗ ∗∗ .. · · · E·t . (k) .. q . ∗ ∗ ∗ ∗∗ n
das erweiterte Tableau, bei dem der lexikographische Lemke-Algorithmus ab(k) bricht, weil f¨ ur die Pivotspalte A·j0 ≤ o gilt. Wegen z0 ∈ BVFk existiert genau ein s ∈ {1, ..., n} mit ws ∈ BVFk und zs ∈ BVFk . Außerdem gilt p ∈ {ws , zs }.
2.7 Bemerkung zur Ray-Termination
Nun definieren wir
⎫ (h) (h) ws := 1, zs := 0, falls p = ws , ⎪ ⎬ (h) (h) ws := 0, zs := 1, falls p = zs , ⎪ ⎭ (k) (k) ws := 0, zs := 0.
Weiter setzen wir
(h)
z0
(k)
(k)
:= −atj0 ,
z0
33
(2.23)
(k)
:= qt .
(k)
Ist wi ∈ BVFk und gilt A·i = E·ν , so setzen wir (h)
wi
(k)
:= −aνj0 ,
(h)
zi
(k)
:= 0,
wi
(k)
:= qν(k) ,
zi
:= 0.
(2.24)
(k)
Ist andererseits zi ∈ BVFk und gilt A·n+i = E·μ , so setzen wir (h)
wi
:= 0,
(h)
zi
(k)
(k)
:= −aμj0 ,
wi
(h)
:= 0,
(k)
zi
:= qμ(k) .
(2.25)
(k)
In Beispiel 2.7.1 ergeben sich z0 := 4, z0 := 5, ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 1 0 0 w(h) := ⎝ 3 ⎠ , z (h) := ⎝ 0 ⎠ , w(k) := ⎝ 7 ⎠ , 0 2 0
z (k)
⎛ ⎞ 0 := ⎝ 0 ⎠ . 8
(k)
(k)
Somit sind wegen q (k) ≥ o und A·j0 ≤ o alle Aussagen bis auf z0 z (h) = o gezeigt.
> 0 und
Angenommen es gelte z (h) = o. Dann folgt aus (h)
o = w(h) − M z (h) − z0 · e die Beziehung
(h)
w(h) = z0 1. Fall: Es ist
(h) z0
· e.
(2.26)
= 0. Aus (2.26) folgt dann w(h) = o und somit ⎞ w(h) ⎝ z (h) ⎠ = o. (h) z0 ⎛
(h)
Dies kann nicht sein, da entweder ws (h) z0
(h)
= 1 oder zs
(h)
= 1 gesetzt wurde.
2. Fall: Es ist > 0. Aus (2.26) folgt dann w > o. Wegen (2.23)-(2.25) kann w(h) > o nur gelten, wenn f¨ ur kein i ∈ {1, ..., n} zi ∈ BVFk ist. Somit ist z0 ∈ BVFk und f¨ ur genau n−1 Indizes i ∈ {1, ..., n} gilt wi ∈ BVFk . Wegen Lemma 2.5.3 ist BVFk = BVF1 . Daher ist B (k) = E. Ein Spaltenvektor von B (k) lautet −e, und die restlichen Spaltenvektoren von B (k) sind StandardBasisvektoren.
34
2 Der Lemke-Algorithmus
Daher existiert ein i ∈ {1, ..., n} mit (k)
(k)
(βi1 ... βin ) := ((B (k) )−1 )i· = −E·iT . Mit q
(1)
(2.27)
≥ o folgt dann zun¨ achst (k) (1) qi = (B (k) )−1 · q (1) = −qi ≤ 0, i
woraus dann zusammen mit (2.27) (k)
(qi
(k)
(k)
βi1 ... βin ) o
folgt. Dies ist ein Widerspruch zum lexikographischen Lemke-Algorithmus. (k)
Somit ist z (h) = o gezeigt. Die Aussage z0 merkung 2.6.1.
> 0 folgt unmittelbar aus Be
3 Klassen von Matrizen
Im vorigen Kapitel wurde gezeigt, dass der lexikographische Lemke-Algorithmus nach endlich vielen Gauß–Jordan-Schritten entweder eine L¨ osung von LCP (q, M ) findet oder durch Ray-Termination endet. Endet der lexikographische Lemke-Algorithmus durch Ray-Termination, so kann man aber im Allgemeinen nicht schließen, dass LCP (q, M ) keine L¨ osung besitzt. Siehe Aufgabe 2.4.1. Diese Tatsache f¨ uhrt auf die Frage, unter welchen Bedingungen an die Eingangsdaten q ∈ Rn und M ∈ Rn×n Ray-Termination die Nichtl¨ osbarkeit von LCP (q, M ) impliziert. Bei der Antwort auf diese Frage beschr¨anken wir uns auf Voraussetzungen an uhrt auf die Einf¨ uhrung von Klassen von Madie Matrix M ∈ Rn×n . Dies f¨ trizen. Im Zusammenhang mit dem LCP kann man viele interessante Klassen von Matrizen definieren. Wir wollen uns in diesem einf¨ uhrenden Buch allerdings auf die Klassen von Matrizen beschr¨anken, die auch wirklich in den Anwendungen vorkommen. Wir betrachten: •
•
•
P-Matrizen (in Abschnitt 3.1). ur jedes q ∈ Rn Ist M ∈ Rn×n eine P-Matrix, so hat LCP (q, M ) f¨ genau eine L¨ osung (siehe Satz 3.1.2). Das LCP mit einer P-Matrix tritt auf bei Intervallgleichungssystemen (siehe Abschnitt 4.3) und bei freien Randwertproblemen (siehe Abschnitt 4.4). Der lexikographische LemkeAlgorithmus findet die eindeutige L¨ osung von LCP (q, M ), falls M eine P-Matrix ist (siehe Satz 3.1.2). Positiv semidefinite Matrizen (in Abschnitt 3.2). Endet der lexikographische Lemke-Algorithmus angewandt auf q ∈ Rn und M ∈ Rn×n durch Ray-Termination und ist M eine positiv semidefinite Matrix, so besitzt LCP (q, M ) keine L¨osung (siehe Satz 3.2.1). Ein LCP mit einer positiv semidefiniten Matrix entsteht bei linearen und konvexen quadratischen Programmen (siehe Abschnitt 4.2). Z-Matrizen (in Abschnitt 3.3). Ein LCP mit einer Z-Matrix entsteht bei freien Randwertproblemen (siehe Abschnitt 4.4). Speziell f¨ ur Z-Matrizen betrachten wir den Algorithmus
36
•
3 Klassen von Matrizen
von Chandrasekaran, der ¨ahnlich wie beim Lemke-Algorithmus auf Gauß– Jordan-Schritten basiert und nach sp¨ atestens n Schritten terminiert (siehe Satz 3.3.1). Dieser Algorithmus angewandt auf eine Z-Matrix findet entweder eine L¨osung oder er erbringt den Nachweis, dass LCP (q, M ) keine L¨osung besitzt (siehe Satz 3.3.1). Matrizen der Form ⎛ ⎞ −1
O A ⎜ ⎟ , A > O, B > O und q = ⎝ ... ⎠ . M= BT O −1 Das LCP definiert durch diese Daten entsteht bei Zwei-Personen-Spielen. Der lexikographische Lemke–Howson-Algorithmus findet immer eine L¨osung von LCP (q, M ) (siehe Satz 4.1.3).
3.1 P-Matrizen Die Klasse der P-Matrizen, die wir in diesem Abschnitt behandeln werden, spielt beim LCP eine zentrale Rolle. Denn LCP (q, M ) hat genau dann f¨ ur jedes q ∈ Rn eine eindeutige L¨osung, wenn M eine P-Matrix ist. Dies wird die Aussage von Satz 3.1.2 sein. Außerdem werden wir zeigen, dass der lexikographische Lemke-Algorithmus diese eindeutige L¨ osung von LCP (q, M ) findet, falls M eine P-Matrix ist. Definition 3.1.1 Eine Hauptuntermatrix einer Matrix M ∈ Rn×n ist eine Matrix, die aus M hervorgeht, indem man sich eine Indexmenge J ⊂ {1, ..., n} vorgibt und f¨ ur alle i ∈ J von M die i-te Zeile und die i-te Spalte streicht. Es ist auch J = ∅ zugelassen, womit M selbst auch als eine Hauptuntermatrix von M aufgefasst werden kann. Die zu J geh¨ orende Hauptuntermatrix von M bezeichnen wir mit M (J). Da eine n-elementige Menge genau 2n Teilmengen besitzt, hat jede Matrix M ∈ Rn×n genau 2n − 1 Hauptuntermatrizen. Definition 3.1.2 Eine Matrix M ∈ Rn×n heißt P-Matrix, falls die Determinante jeder Hauptuntermatrix von M positiv ist. Die Determinante einer Hauptuntermatrix nennt man auch oft Hauptminor. P-Matrizen wurden zum ersten Mal 1962 von Miroslav Fiedler und Vlastimil Ptak definiert. Siehe [34]. Der Buchstabe P stammt aus dem Englischen: positiver Hauptminor = ˆ positiv principal minor. Beispiel 3.1.1 Die Matrix ⎛
⎞ 1 0 −2 M = ⎝ −3 4 0 ⎠ 5 −1 6
3.1 P-Matrizen
37
ist eine P-Matrix, denn die Determinanten aller 23 − 1 = 7 Hauptuntermatrizen sind positiv: det M ({2, 3}) = 1, det M ({1, 3}) = 4, det M ({1, 2}) = 6, det M = 58,
10 det M ({3}) = det = 4, det M ({2}) = 16, det M ({1}) = 24. −3 4 Offensichtlich hat jede P-Matrix M = (mij ) positive Diagonaleintr¨ age, d.h. ar. Es gilt mii > 0, i = 1, ..., n, und wegen det M > 0 ist jede P-Matrix regul¨ allerdings nicht die Umkehrung. Beispiel 3.1.2 Die Matrix ⎛
⎞ 1 0 −2 M = (mij ) = ⎝ 0 1 −1 ⎠ −2 4 1 erf¨ ullt det M = 1 und mii > 0, i = 1, ..., 3. Jedoch ist M keine P-Matrix wegen det M ({2}) = −3. In Satz 3.1.1 werden wir eine ¨aquivalente Formulierung zur Definition einer PMatrix geben. Viele S¨ atze, die eine Aussage u ¨ ber P-Matrizen machen, werden wir u ¨ ber diese ¨aquivalente Formulierung beweisen. Das folgende Lemma dient zur Vorbereitung von Satz 3.1.1. Lemma 3.1.1 Es sei M ∈ Rn×n eine P-Matrix und x ∈ Rn . Dann folgt aus M · x ≤ o,
x ≥ o,
(3.1)
dass x = o gelten muss. Beweis: Wir f¨ uhren den Beweis durch vollst¨andige Induktion. Induktionsanfang: n = 1. Dann ist M = m ∈ R, x ∈ R und m > 0. Nach Division durch m folgt aus (3.1) x ≤ 0 und x ≥ 0, d.h. x = 0. ¯ ∈ R(n−1)×(n−1) eine P-Matrix mit n > 1 und Induktionsvoraussetzung: Ist M n−1 , dann folgt aus x∈R ¯ · x ≤ o, M
x ≥ o,
dass x = o gelten muss. Induktionsschluss: n − 1 n. Da M eine P-Matrix ist, ist M regul¨ ar. Wir definieren M −1 = B = (bij ). Mit der Cramerschen Regel gilt bii =
det M ({i}) det M
f¨ ur i = 1, ..., n.
Da M eine P-Matrix ist, folgt bii > 0 f¨ ur i = 1, ..., n. Jede Spalte von B hat also mindestens einen positiven Eintrag.
38
3 Klassen von Matrizen
Wir betrachten die erste Spalte B·1 von B und setzen " θ := min
# xi : bi1 > 0 . bi1
Wir nehmen an, dass dieses Minimum bei i = s angenommen werde. Wegen o ≤ x ist θ ≥ 0 und es folgt dann o ≤ x − θ · B·1 =: η
und
ηs = 0.
Somit gilt M η = M (x − θB·1 ) = M x − θM B·1 = M x − θE·1 ≤ o. Wir definieren ⎛ ⎞ η1 ⎜ .. ⎟ ⎜ . ⎟ ⎜ ⎟ ⎜ ηs−1 ⎟ n−1 ⎟ ξ := ⎜ . ⎜ ηs+1 ⎟ ∈ R ⎜ ⎟ ⎜ . ⎟ ⎝ .. ⎠ ηn Dann ist wegen η ≥ o auch ξ ≥ o und wegen M η ≤ o, ηs = 0 folgt M ({s})·ξ ≤ o. Da M ({s}) ∈ R(n−1)×(n−1) nach Definition eine P-Matrix ist, gilt nach Induktionsvoraussetzung ξ = o. Zusammen mit ηs = o ist dann auch η = o. Somit ist M η = o bzw. M x = θE·1 ≥ o. Zusammen mit (3.1) erh¨alt man M x = o, was dann auf Grund der Regularit¨ at von M auf x = o f¨ uhrt. Satz 3.1.1 Es sei M ∈ Rn×n . Dann gilt: ur alle i = 1, ..., n ⇒ x = o]. M ist eine P-Matrix ⇔ [xi (M · x)i ≤ 0 f¨ In Worten: M ist eine P-Matrix, dann und nur dann, wenn M keinem Vektor außer dem Nullvektor das Vorzeichen umkehrt. Beweis: ”⇒”: Es seien M eine P-Matrix und x ∈ Rn mit xi (M · x)i ≤ 0 f¨ ur i = 1, ..., n. 1. Fall: x ≥ o. Dann definieren wir J := {i : xi = 0}. Somit gilt (M · x)i ≤ 0 f¨ ur alle i ∈ J.
(3.2)
Wir nehmen an, es sei |J| < n. Dann betrachten wir die Matrix M (J), die aus M durch Streichen der i-ten Zeile und der i-ten Spalte f¨ ur alle i ∈ J hervorgeht. Weiter sei xJ der Vektor, den wir aus x erhalten, wenn wir die i-te Komponente aus x herausstreichen, falls i ∈ J gilt, d.h. xJ > o. Beispiel: Es seien
⎛
m11 ⎜ m21 ⎜ M =⎜ ⎜ m31 ⎝ m41 m51
m12 m22 m32 m42 m52
m13 m23 m33 m43 m53
m14 m24 m34 m44 m54
⎞ m15 m25 ⎟ ⎟ m35 ⎟ ⎟, m45 ⎠ m55
⎛
⎞ x1 ⎜ x2 ⎟ ⎜ ⎟ ⎟ x=⎜ ⎜ x3 ⎟ . ⎝ x4 ⎠ x5
3.1 P-Matrizen
39
Ist J = {1, 3, 4}, d.h. ist x1 = 0, x2 > 0, x3 = 0, x4 = 0, x5 > 0, dann gilt
x2 m22 m25 M (J) = , xJ = . m52 m55 x5 Nun gilt: F¨ ur jedes k ∈ {1, ..., n − |J|} gibt es ein i ∈ J mit (M (J) · xJ )k = (M · x)i . Mit (3.2) folgt dann M (J) · xJ ≤ o. Da M (J) nach Definition eine P-Matrix ist, folgt mit Lemma 3.1.1, dass xJ = o gelten muss. Dies ist ein Widerspruch zu xJ > o. Daher ist die Annahme |J| < n falsch und es folgt x = o. 2. Fall: x ≥ o. Dann definieren wir eine Diagonalmatrix D = diag(d1 , ..., dn ) durch " 1 f¨ ur xi ≥ 0, di = −1 f¨ ur xi < 0. Daraus folgt Dx ≥ o. Andererseits setzen wir ⎞ ⎛ d1 · d1 · m11 · · · d1 · dn · m1n ⎜ d ·d · m ··· d ·d ·m ⎟ 21 2 n 2n ⎟ ⎜ 2 1 M ∗ := D · M · D = ⎜ ⎟. .. .. ⎠ ⎝ . . dn · d1 · mn1 · · · dn · dn · mnn Es ist M ∗ (J) = D(J) · M (J) · D(J) f¨ ur jede Indexmenge J ⊂ {1, ..., n}. Daher ist mit dem Determinantenmultiplikationssatz 2 det M ∗ (J) = det D(J) det M (J) = det M (J) f¨ ur jede Indexmenge J ⊂ {1, ..., n}. Somit ist mit M auch M ∗ = D · M · D eine P-Matrix und wegen (Dx)i (M ∗ · Dx)i = di xi (DM x)i = d2i xi (M · x)i = xi (M · x)i ≤ 0 kehrt M ∗ das Vorzeichen von Dx um, wobei Dx ≥ o gilt. Nach dem 1. Fall folgt dann, dass Dx = o gelten muss, was dann auf Grund der Regularit¨ at von D auf x = o f¨ uhrt. ”⇐”: Wir nehmen an, M sei keine P-Matrix. Dann besitzt M einen Hauptminor, der nicht positiv ist. Dies bedeutet, dass es eine Indexmenge J ⊂ {1, ..., n} gibt mit det M (J) ≤ 0. Es sei M ∗ = M (J) ∈ Rr×r , r ≤ n. Bezeichnen wir mit λi ∈ C, i = 1, ..., r die (nicht notwendigerweise paarweise verschiedenen) Eigenwerte von M ∗ , dann gilt 0 ≥ det M ∗ =
r $ i=1
λi .
(3.3)
40
3 Klassen von Matrizen
Mit λi ∈ C ist auch die zu λi konjugiert komplexe Zahl λi ein Eigenwert von M ∗ und es gilt λi · λi = |λi |2 ≥ 0. Mit (3.3) gibt es dann mindestens einen Eigenwert λs , der λs ≤ 0 erf¨ ullt. Dazu gibt es einen Eigenvektor x ∈ Rr , ∗ x = o, d.h. M x = λs x. Mit diesem x definieren wir nun einen Vektor y ∈ Rn . Zun¨ achst setzen wir yi := 0 f¨ ur alle i ∈ J. Den restlichen n − |J| = r Komponenten von y ∈ Rn werden dann der Reihe nach die Komponenten von x zugeordnet. Beispiel: Es sei M ∈ R5×5 , J = {1, 3}. Somit ist M (J) ∈ R3×3 . Weiter sei ⎞ ⎛ −4 x = ⎝ 7 ⎠ ∈ R3 17 ein Eigenvektor zum Eigenwert λs . Dann ist ⎛ ⎞ 0 ⎜ −4 ⎟ ⎜ ⎟ 5 ⎟ y=⎜ ⎜ 0⎟ ∈ R . ⎝ 7⎠ 17 Da x = o gilt, ist auch
y = o.
(3.4)
Nun gilt f¨ ur i = 1, ..., n " 0, falls i ∈ J, yi (M · y)i = xk (M ∗ · x)k f¨ ur ein k ∈ {1, ..., r}, falls i ∈ J. F¨ ur alle k ∈ {1, ..., r} gilt xk (M ∗ · x)k = λs x2k ≤ 0. Daher gilt f¨ ur alle i = 1, ..., n die Aussage yi (M · y)i ≤ 0. Nach Voraussetzung muss dann y = o gelten. Dies ist ein Widerspruch zu (3.4). Daher ist die Annahme, dass det M (J) ≤ 0 gilt f¨ ur ein J ⊂ {1, ..., n}, falsch und es folgt, dass M eine P-Matrix ist. Wir kommen nun hinsichtlich des LCPs zu dem wichtigsten Satz u ¨ber PMatrizen. Satz 3.1.2 Eine Matrix M ∈ Rn×n ist eine P-Matrix genau dann, wenn LCP (q, M ) f¨ ur jedes q ∈ Rn genau eine L¨ osung hat. Ist M ∈ Rn×n eine Pn Matrix und ist q ∈ R , so findet der lexikographische Lemke-Algorithmus die eindeutige L¨ osung von LCP (q, M ). Beweis: Der Beweis erfolgt in drei Schritten. Als Erstes werden wir zeigen, dass der lexikographische Lemke-Algorithmus eine L¨osung von LCP (q, M ) findet, falls M eine P-Matrix ist. Dann werden wir zeigen, dass diese L¨osung eindeutig ist. Im dritten Schritt werden wir dann zeigen, dass M notwendigerweise eine P-Matrix ist, falls LCP (q, M ) f¨ ur jedes q ∈ Rn eine eindeutige L¨osung besitzt.
3.1 P-Matrizen
41
1. Schritt: Es sei M eine P-Matrix und q ∈ Rn sei beliebig. Der lexikographische Lemke-Algorithmus angewandt auf M und q endet gem¨aß Satz 2.6.2 nach endlich vielen Schritten, indem er entweder eine L¨ osung findet oder indem er wegen Ray-Termination beendet wird. Im letzteren Fall existieren gem¨ aß Satz (h) (h) n (h) n 2.7.1 Vektoren w ∈ R , z ∈ R und eine Zahl z0 ≥ 0 mit (h)
w(h) = M z (h) + z0 · e,
w(h) ≥ o, z (h) ≥ o, z (h) = o,
(w(h) )T z (h) = 0.
Damit gilt
bzw.
· zi
(h)
· (M · z (h) )i = −z0 zi
zi
(h)
(h) (h) · zi = (M · z (h) )i + z0
(h)
0 = wi
(h) (h)
f¨ ur i = 1, ..., n
≤ 0 f¨ ur i = 1, ..., n.
(3.5)
Da M als P-Matrix vorausgesetzt ist, ist (3.5) wegen z (h) = o ein Widerspruch zu Satz 3.1.1. Daher endet der lexikographische Lemke-Algorithmus nicht durch Ray-Termination, sondern dadurch, dass er eine L¨ osung von LCP (q, M ) findet. Somit ist die Existenz einer L¨ osung bewiesen. 2. Schritt: Wir nehmen an, sowohl w(1) ∈ Rn und z (1) ∈ Rn als auch w(2) ∈ Rn und z (2) ∈ Rn bilden L¨ osungen von LCP (q, M ). Dann gilt w(1) − w(2) = q + M z (1) − q − M z (2) = M (z (1) − z (2) )
(3.6)
sowie f¨ ur i = 1, ..., n (1)
zi
(1)
· wi
= 0,
(2)
zi
(2)
· wi
= 0,
(1)
zi
(2)
· wi
≥ 0,
(2)
zi
(1)
· wi
≥ 0.
F¨ ur x := z (1) − z (2) gilt dann (1)
xi (M · x)i = (zi
(2)
(1)
− zi )(wi
(2)
− wi ) ≤ 0
f¨ ur i = 1, ..., n.
Da M als P -Matrix vorausgesetzt ist, folgt aus Satz 3.1.1, dass x = o gelten muss. Somit gilt z (1) = z (2) und u ¨ber (3.6) dann w(1) = w(2) . Die L¨ osung von LCP (q, M ) ist daher eindeutig. 3. Schritt: Wir nehmen an, M sei keine P -Matrix. Dann existiert nach Satz 3.1.1 ein Vektor x = o mit xi (M · x)i ≤ 0, i = 1, ..., n. Setzt man y := M x und f¨ ur einen beliebigen Vektor v ∈ Rn v + := (max{vi , 0}) ∈ Rn ,
v − := (− min{vi , 0}) ∈ Rn ,
so gilt y = y + − y − , x = x+ − x− und y + ≥ o, F¨ ur i = 1, ..., n ist 0 ≥ xi · yi .
y − ≥ o,
x+ ≥ o,
x− ≥ o.
(3.7)
42
3 Klassen von Matrizen
Daraus folgt ⎧ ⎫ − x+ xi = 0 ⎪ ⎪ i = 0 = xi ⎪ ⎪ ⎨ ⎬ oder yi+ = 0 = yi− oder yi = 0 ⇒ − oder xi < 0, yi > 0 ⎪ oder x+ ⎪ i = 0 = yi ⎪ ⎪ ⎩ ⎭ − oder xi > 0, yi < 0 oder xi = 0 = yi+ ; + − − d.h., f¨ ur i = 1, ..., n gilt x+ i · yi = 0 und xi · yi = 0 bzw.
(x+ )T y + = 0 und
(x− )T y − = 0.
(3.8)
Des Weiteren gilt y + − y − = y = M x = M x+ − M x− ⇔ y + − M x+ = y − − M x− . Setzt man
qˆ := y + − M x+ = y − − M x− ,
(3.9)
q , M ). so bilden sowohl y + und x+ als auch y − und x− L¨osungen von LCP (ˆ Siehe (3.7)-(3.9). Wegen o = x = x+ − x− sind diese beiden L¨osungen allerdings verschieden. Dies ist ein Widerspruch zur Voraussetzung, dass LCP (ˆ q , M ) eine eindeutige L¨ osung besitzt. Daher ist die Annahme falsch und M somit eine P-Matrix. Es kann durchaus vorkommen, dass LCP (q, M ) eine eindeutige L¨ osung besitzt, obwohl M keine P-Matrix ist. Siehe Beispiel 1.2.1. Dort ist das LCP eindeutig l¨ osbar, jedoch gilt det M ({3}) = −3. Satz 3.1.2 auf Beispiel 1.2.1 angewandt bedeutet, dass es mindestens ein q ∈ R3 geben muss, so dass LCP (q, M ) nicht (mehr) eindeutig l¨ osbar ist. Aufgabe 3.1.1 Es sei D = diag(d1 , ..., dn ) mit di ∈ [0, 1], i = 1, ..., n. Zeigen Sie: Ist M ∈ Rn×n eine P-Matrix, so ist auch E − D + DM eine P-Matrix. 3.1.1 Komplement¨ are Kegel 1958 haben H. Samelson, R. M. Thrall und O. Wesler ein Ergebnis ver¨ offentlicht, welches zu Satz 3.1.2 ¨aquivalent ist, aber formal mit dem LCP nichts zu tun hat. Siehe [98]. Wir werden jenes Ergebnis mit Satz 3.1.2 beweisen und in Abschnitt 3.1.2 dazu verwenden, das LCP geometrisch zu deuten. Wir beginnen mit einigen Definitionen. Definition 3.1.3 Es seien x(1) , ..., x(r) ∈ Rn . Dann bezeichnet man die Menge K(x(1) , ..., x(r) ) := {x ∈ Rn : x = α1 x(1) + . . . + αr x(r) , α1 ≥ 0, . . . , αr ≥ 0} als Kegel.
3.1 P-Matrizen
43
Mit K ◦ (x(1) , ..., x(r) ) := ⎫ ⎧ r ⎬ ⎨ αj x(j) ⇒ αj > 0, j = 1, ..., r x ∈ K(x(1) , ..., x(r) ) : x = ⎭ ⎩ j=1
bezeichnen wir das Innere des Kegels. Beispiel 3.1.3 F¨ ur n = 2 ist K(E·1 , E·2 ) der erste Quadrant. Des Weiteren gilt K ◦ (E·1 , E·2 ) = {x ∈ R2 : x1 > 0, x2 > 0}. Wir wollen betonen, dass das Innere eines Kegels nicht durch ⎧ ⎫ r ⎨ ⎬ αj x(j) mit αj > 0, j = 1, ..., r x ∈ K(x(1) , ..., x(r) ) : x = ⎩ ⎭
(3.10)
j=1
definiert ist. Das folgende Beispiel soll dies verdeutlichen. Beispiel 3.1.4 Es seien (1)
x
1 = 1
(2)
und x
3 = . 3
Der Kegel K(x(1) , x(2) ) ist eine Halbgerade, und zwar der Teil der ersten Winkelhalbierenden im ersten Quadranten. Als Teilmenge des R2 ist das Innere von K(x(1) , x(2) ) daher leer. Die Menge (3.10) ist nichtleer. Sie beinhaltet beispielsweise den Vektor
1 1 2 = x(1) + x(2) . 2 2 2 Im Gegensatz dazu liegt dieser Vektor nicht in K ◦ (x(1) , x(2) ), denn aus der Tatsache
2 = α1 x(1) + α2 x(2) ∈ K(x(1) , x(2) ) 2 folgt nicht α1 > 0, α2 > 0. Man kann auch
2 = 2 · x(1) + 0 · x(2) 2
w¨ahlen. (2)
Der Kegel aus Beispiel 3.1.4 war deswegen leer, weil der Vektor x mit Hilfe von Vektor x(1) ausgedr¨ uckt werden konnte und somit keinen eigentlichen Beitrag zum Kegel leistet. Dies l¨asst vermuten, dass das Innere eines Kegels genau dann nichtleer ist, wenn die den Kegel definierenden Vektoren linear unabh¨ angig sind. Der folgende Satz besagt, dass diese Vermutung richtig ist.
44
3 Klassen von Matrizen
Satz 3.1.3 Die Vektoren x(1) , ..., x(n) ∈ Rn sind genau dann linear unabh¨ angig, wenn das Innere des Kegels K(x(1) , ..., x(n) ) nichtleer ist. Beweis: a) Wir nehmen an, die Vektoren x(1) , ..., x(n) ∈ Rn seien linear unabh¨ angig, aber (3.11) K ◦ (x(1) , ..., x(n) ) = ∅. Gilt (3.11), so existiert f¨ ur jedes x =
n
αj x(j) , αj ≥ 0, j = 1, ..., n eine
j=1
weitere Darstellung x=
n
βj x(j) ,
βj ≥ 0,
j = 1, ..., n,
j=1
wobei mindestens f¨ ur ein j0 ∈ {1, ..., n} βj0 = 0 gilt. Da aber die Vektoren angig sind, gibt es genau eine M¨ oglichkeit, den x(1) , ..., x(n) ∈ Rn linear unabh¨ Vektor x als eine Linearkombination der Vektoren x(1) , ..., x(n) darzustellen. ahlt man beispielsweise αj = 1, j = 1, ..., n, Somit ist αj = βj , j = 1, ..., n. W¨ d.h. n x= 1 · x(j) ∈ K(x(1) , ..., x(n) ), j=1
so folgt 1 = αj0 = βj0 = 0. Dies ist ein Widerspruch. Somit muss K ◦ (x(1) , ..., x(n) ) = ∅ gelten. b) Es gelte K ◦ (x(1) , ..., x(n) ) = ∅. 1. Fall: n = 1. Angenommen der Vektor x(1) ∈ R sei linear abh¨ angig. Dann folgt nach Definition x(1) = 0 ⇒ K(x(1) ) = {0} ⇒ K ◦ (x(1) ) = ∅ und somit ein Widerspruch. 2. Fall: n ≥ 2. Angenommen die Vektoren x(1) , ..., x(n) ∈ Rn seien linear abh¨ angig. Dann ist mindestens ein Vektor als Linearkombination aus den anderen Vektoren darstellbar. Ohne Einschr¨ankung nehmen wir an, dies sei f¨ ur x(1) m¨oglich. Somit gilt x(1) =
n
βj · x(j) ,
βj ∈ R,
j = 2, ..., n.
(3.12)
j=2
Nun sei x0 ∈ K ◦ (x(1) , ..., x(n) ), d.h. K(x(1) , ..., x(n) ) x0 =
n j=1
αj · x(j) ⇒ αj > 0,
j = 1, ..., n.
(3.13)
3.1 P-Matrizen
45
Dann ist mit (3.12) K(x(1) , ..., x(n) ) x0 = α1 x(1) +
n j=2
=
n
α ˜j · x(j)
αj · x(j) =
n
(α1 βj + αj ) · x(j)
j=2
mit α ˜ 1 = 0.
j=1
Dies ist ein Widerspruch zu (3.13). Daher sind die Vektoren x(1) , ..., x(n) ∈ Rn linear unabh¨ angig. Wir erweitern Definition 3.1.3. Definition 3.1.4 Sei M ∈ Rn×n . 1. W¨ ahlt man C·i ∈ {E·i , −M·i }, i = 1, ..., n, dann heißt K(C·1 , ..., C·n ) ein von M erzeugter komplement¨ arer Kegel. origes Ba2. Jeder komplement¨ are Kegel K = K(C·1 , ..., C·n ) hat ein zugeh¨ sisvariablenfeld ( y1 , . . . , yn ) u ¨ber
yi :=
wi falls C·i = E·i , zi falls C·i = −M·i .
Das zugeh¨ orige Basisvariablenfeld bezeichnen wir mit ( y1 , . . . , yn )K . Wegen Lemma 1.2.1 erzeugt jedes M ∈ Rn×n genau 2n komplement¨are Kegel. Offensichtlich h¨ angt eine L¨ osung eines LCPs mit einem komplement¨aren Kegel zusammen. Wir wollen diesen Zusammenhang in einem Lemma festhalten. Lemma 3.1.2 Es sei M ∈ Rn×n , und K = K(C·1 , ..., C·n ) sei ein von M erzeugter komplement¨ arer Kegel. Dann gilt folgende Aussage: Es ist x ∈ K genau dann, wenn LCP (x, M ) eine L¨ osung besitzt mit dem zu K geh¨ origen Basisvariablenfeld ( y1 , . . . , yn )K . Sind zus¨ atzlich die Vektoren C·1 , ..., C·n linear unabh¨ angig, so gilt folgende Aussage: Es ist x ∈ K ◦ genau dann, wenn LCP (x, M ) eine nichtentartete L¨ osung besitzt mit dem zu K geh¨ origen Basisvariablenfeld ( y1 , . . . , yn )K . Jetzt k¨onnen wir den Satz von Samelson, Thrall und Wesler formulieren, wobei damals der Begriff der P-Matrix noch nicht verwendet wurde. Siehe [98].
46
3 Klassen von Matrizen x2 6
K(−M·1 , E·2 )
K(E , E·2 )
'
·1 $
1
1 K(−M·1 , −M·2 ) % K(E·1 , −M·2 )
x1
Abb. 3.1. Die vier komplement¨ aren Kegel, die von M erzeugt werden, bilden eine Partition von R2 .
Satz 3.1.4 Es sei M ∈ Rn×n und es seien K1 , ..., K2n die 2n von M erzeugten komplement¨ aren Kegel. Dann sind die beiden folgenden Aussagen aquivalent: ¨ %n ur i, j = 1, ..., 2n , i = j, und Rn = 2i=1 Ki . 1. Ki◦ = ∅, Ki◦ ∩ Kj◦ = ∅ f¨ 2. M ist eine P-Matrix. In Worten: M ist genau dann eine P-Matrix, wenn die 2n von M erzeugten komplement¨ aren Kegel eine Partition des Rn bilden. Beweis: 1. Wir beweisen zun¨ achst, dass aus der ersten Aussage die zweite Aussage folgt. ur mindestens ein i. Liegt q im Innern des Kegels Ist q ∈ Rn , so gilt q ∈ Ki f¨ Ki , so gilt nach Voraussetzung q ∈ Kj◦ ,
j = 1, ..., 2n , j = i.
Nach Lemma 3.1.2 hat dann LCP (q, M ) genau eine L¨ osung. Liegt q auf dem Rand eines Kegels Ki , so kann q nicht im Innern eines anderen Kegels liegen. Auch in diesem Fall besitzt LCP (q, M ) genau eine L¨ osung. Nach Satz 3.1.2 muss dann M eine P-Matrix sein. 2. Nun zeigen wir, dass aus der zweiten Aussage die erste Aussage folgt. Ist M eine P-Matrix, so besitzt nach Satz 3.1.2 LCP (q, M ) f¨ ur jedes q ∈ Rn eine (eindeutige) L¨ osung. Daher gilt nach Lemma 3.1.2 n
q∈
2 & i=1
Ki
f¨ ur jedes q ∈ Rn .
3.1 P-Matrizen
47
%2 Somit ist Rn = i=1 Ki . Da die L¨ osung eindeutig ist, gilt Ki◦ ∩ Kj◦ = ∅, i = j. Zuletzt gilt auf Grund der Definition einer P-Matrix n
. . det(C·1 .. ... .. C·n ) = 0
f¨ ur C·j ∈ {E·j , −M·j }, j = 1, ..., n.
Daher sind die Vektoren C·1 , ..., C·n linear unabh¨ angig f¨ ur jede Wahl C·j ∈ {E·j , −M·j }. Somit ist Ki◦ = ∅ f¨ ur i = 1, ..., 2n nach Satz 3.1.3. Beispiel 3.1.5 Wir betrachten
M=
12 01
.
M ist eine P-Matrix, da alle Hauptminoren den Wert 1 haben. In Abb. 3.1 ¨ haben wir alle vier komplement¨ aren Kegel eingezeichnet. In Ubereinstimmung mit Satz 3.1.4 erhalten wir eine Partition von R2 . x2 6
$
x1 @ @ % @ @ R @ Abb. 3.2. Die vier komplement¨ aren Kegel, die von M erzeugt werden.
Beispiel 3.1.6 Wir betrachten
M=
−1 −1 −1 1
.
In Abb. 3.2 haben wir alle vier komplement¨ aren Kegel eingezeichnet. Der ¨ Ubersicht wegen haben wir im Gegensatz zu Abb. 3.1 in Abb. 3.2 die Einheiten weggelassen und auch die jeweiligen Kegel lediglich mit einem Bogen gekennzeichnet. Die vier Kegel haben zwar alle ein nichtleeres Inneres, aber sie u ¨ berdecken nicht den R2 , und manche Kegel schneiden sich bzw. sind ganz in einem anderenKegel sein (z.B. f¨ ur enthalten. Man erkennt: LCP (q, M ) kann unl¨ o1sbar q = −1 ), genau zwei L¨ o sungen haben (z.B. f¨ u r q = ) oder eindeutig −1 2 l¨ osbar sein. Im letzteren Fall muss die eindeutige L¨osung entartet sein. Dies 1 der Fall. ist beispielsweise f¨ ur q = −1
48
3 Klassen von Matrizen
Aufgabe 3.1.2 Skizzieren Sie die vier komplement¨ aren Kegel, die durch
27 M= 65 erzeugt werden. Zeigen Sie damit, dass 2 osbar ist; 1. LCP (q, M ) f¨ ur jedes q ∈ R l¨ genau drei L¨ osungen besitzt. 2. LCP (q, M ) f¨ ur q = −4 −5
3.1.2 Geometrische Interpretation eines Pivotschrittes im Lemke-Algorithmus In Satz 2.6.2 hat sich herausgestellt, dass der lexikographische Lemke-Algorithmus nach sp¨ atestens n2n−1 Gauß–Jordan-Schritten endet. Die folgende geometrische Interpretation eines Pivotschrittes ist einerseits interessant an sich und hilfreich f¨ ur das Verst¨andnis. Andererseits werden wir durch diese Interpretation in Satz 3.1.5 zeigen, dass zur L¨osung von LCP (q, M ) der lexikographische Lemke-Algorithmus nach sp¨ atestens 2n Gauß–Jordan-Schritten endet, falls M eine P-Matrix ist. Wir betrachten LCP (q, M ) mit q ∈ Rn und M ∈ Rn×n . Ausgehend von dem Tableau (A(0) |q (0) ) mit . . A(0) = (E .. − M .. − e) ∈ Rn×(2n+1) ,
q (0) := q
erzeugt der Lemke-Algorithmus eine Folge von Tableaus (A(k) |q (k) ) und eine Folge von Basisvariablenfeldern BVFk . Ist BVFk = y1 , . . . , yr−1 , yr+1 , . . . , yn , z0 , yi ∈ {wi , zi }, so kann man mit Hilfe von q (k) ≥ o eine L¨osung von A(0) x = q (0) , x ≥ o angeben: F¨ ur i = 1, ..., r − 1, r + 1, ..., n setzen wir E·i falls yi = wi , C·i := −M·i falls yi = zi und
(k)
yi := qj
(k)
(k)
falls A·i = E·j bzw. A·n+i = E·j . (k)
Außerdem setzen wir z0 := qt , (t ist dabei der Pivotzeilenindex aus der Initialisierung des Lemke-Algorithmus). Dann gilt q (0) = y1 C·1 + . . . + yr−1 C·r−1 + yr+1 C·r+1 + . . . + yn C·n − z0 e bzw.
(k)
q + qt
˜ · e ∈ K(C·1 , . . . , C·r−1 , C·r+1 , . . . , C·n ) =: K.
3.1 P-Matrizen
49
Ist der Schritt k k + 1 durchf¨ uhrbar und gilt z0 ∈ BVFk+1 , so wird yr ∈ BVFk+1 gelten, w¨ahrend ein yl , l = r das Basisvariablenfeld verlassen wird. Man erh¨ alt (k+1)
q + qt
ˆ · e ∈ K(C·1 , . . . , C·l−1 , C·l+1 , . . . , C·n ) =: K,
wobei
C·r :=
E·r falls yr = wr , −M·r falls yr = zr .
Wir betrachten zus¨ atzlich den Kegel K(C·1 , . . . , C·n ) =: K. Sind die n Vektoren C·1 , . . . , C·n linear unabh¨ angig, so ist K ◦ nichtleer auf ˜ ˆ Grund von Satz 3.1.3. Sowohl K als auch K bilden eine Randfl¨ ache von K. Der Schritt k k + 1 im Lemke-Algorithmus beschreibt somit eine Gerade g: (k)
die f¨ ur λ = qt verl¨ asst.
x = q + λe, λ ∈ R, (k+1)
in den Kegel K eintritt und f¨ ur λ = qt
den Kegel K
Man sagt, dass im Schritt k k + 1 die Gerade g den Kegel K durchquert. Dies impliziert aber nicht g ∩ K ◦ = ∅, da beispielsweise das Innere von K leer sein k¨onnte. Doch selbst wenn M eine P-Matrix ist und somit jeder von ullt, ist nicht g ∩ K ◦ = ∅ M erzeugte Kegel K nach Satz 3.1.4 K ◦ = ∅ erf¨ gew¨ahrleistet. Dies zeigt das folgende Beispiel. Beispiel 3.1.7 Wir betrachten LCP (q, M ) mit ⎛ ⎞ ⎛ ⎞ 120 −1 M = ⎝ 0 1 2 ⎠ und q = ⎝ −1 ⎠ 201 −1 aus Beispiel 2.6.1. Dort erzeugte der lexikographische Lemke-Algorithmus BVF1 = ( z0 , w2 , w3 ), BVF2 = ( z0 , z1 , w3 ), BVF3 = ( z0 , z1 , z2 ), BVF4 = ( z3 , z1 , z2 ). Somit liegt die Halbgerade g:
x = q + λ · e,
λ≥0
f¨ ur große λ-Werte im Kegel K1 := K(E·1 , E·2 , E·3 ).
50
3 Klassen von Matrizen
Sie durchquert die Kegel K2 := K(−M·1 , E·2 , E·3 ),
definiert durch BVF1 , BVF2 ,
sowie K3 := K(−M·1 , −M·2 , E·3 ),
definiert durch BVF2 , BVF3 ,
und endet im Kegel K(−M·1, −M·2 , −M·3 ). Es galt allerdings (1)
q + q1 · e = q + 1 · e = o und
(2)
q + q1 · e = q + 1 · e = o. Daraus folgt g ∩ K2 = {o} bzw. g ∩ K2◦ = ∅.
Den in Beispiel 3.1.7 aufgetretenen Fall, dass g ∩ K ◦ = ∅ gilt, obwohl M eine P-Matrix ist, kann man unter gewissen Zusatzvoraussetzungen ausschließen. Dies zeigt das folgende Lemma. Lemma 3.1.3 Es sei M ∈ Rn×n eine P-Matrix und es sei q ∈ Rn . Wird im lexikographischen Lemke-Algorithmus angewandt auf M und q der Schritt . . (A(k) .. q (k) ) (A(k+1) .. q (k+1) ) durchgef¨ uhrt und gilt q (k) > o sowie q (k+1) > o, dann durchquert die Halbgerade g : x = q + λ · e, λ ≥ 0 das Innere des komplement¨ aren Kegels, der durch den Schritt k k + 1 definiert wird. Beweis: Aus q (k) > o folgt (k)
q + qt
· e = α1 C·1 + . . . + αi−1 C·i−1 + αi+1 C·i+1 + . . . + αn C·n
(3.14)
mit αj > 0 und C·j ∈ {E·j , −M·j }, j = 1, ..., n, j = i, und aus q (k+1) > o folgt (k+1)
q + qt
·e = α ˜ 1 C·1 + . . . + α ˜ r−1 C·r−1 + α ˜r+1 C·r+1 + . . . + α ˜ n C·n (3.15)
mit α ˜ j > 0 und C·j ∈ {E·j , −M·j }, j = 1, ..., n, j = r, r = i. Addiert man (3.14) zu (3.15) und dividiert anschließend das Ergebnis durch 2, so erh¨ alt man 1 (k) (k+1) )·e = q + (qt + qt 2
n j=1,j=i,r
1 1 1 (˜ αj + αj )C·j + α ˜i C·i + αr C·r . (3.16) 2 2 2
3.1 P-Matrizen
51
Da M eine P-Matrix ist, sind die Vektoren C·1 , . . . , C·n linear unabh¨ angig. (k+1) 1 (k) Somit ist q + 2 (qt + qt ) · e eindeutig als Linearkombination der Vektoren C·1 , . . . , C·n darstellbar. Mit αj > 0, j = 1, ..., n, j = i und α ˜ j > 0, j = 1, ..., n, j = r, r = i folgt dann 1 (k) (k+1) ) · e ∈ K ◦ (C·1 , . . . , C·n ). q + (qt + qt 2 Wir kommen nun zur angek¨ undigten Anwendung der geometrischen Interpretation. Damit die Voraussetzungen von Lemma 3.1.3 erf¨ ullt sind, wird ein Vektor (3.19) eingef¨ uhrt. Satz 3.1.5 Es sei M ∈ Rn×n eine P-Matrix und es sei q ∈ Rn . Dann findet der lexikographische Lemke-Algorithmus die eindeutige L¨ osung von LCP (q, M ) nach sp¨ atestens 2n Gauß–Jordan-Schritten. Beweis: Nach Satz 3.1.2 findet der lexikographische Lemke-Algorithmus die eindeutige L¨ osung von LCP (q, M ) nach endlich vielen Gauß–Jordan-Schritten. Er erzeugt eine Folge von Basisvariablenfeldern BVF1 , BVF2 , ..., BVFm .
(3.17)
m ≤ 2n
(3.18)
Das Ziel ist, zu zeigen. Nach Satz 2.6.1 wird dieselbe Folge von Basisvariablenfeldern erzeugt, wenn nach der Initialisierung im Lemke-Algorithmus q (1) ersetzt wird durch ⎛ ⎞ ε ⎜ ε2 ⎟ ⎜ ⎟ q (1) (ε) := q (1) + ⎜ . ⎟ (3.19) ⎝ .. ⎠ εn f¨ ur hinreichend kleines ε > 0. Außerdem gilt f¨ ur hinreichend kleines ε > 0 q (l) (ε) > o
f¨ ur l = 1, ..., m.
(3.20)
Wir betrachten nun die Halbgerade gε : (0)
x = q (0) (ε) + λ · e,
λ ≥ 0.
(0)
Dabei ist qt (ε) := qt − εt (t ist der Pivotzeilenindex aus der Initialisierung) und f¨ ur i = 1, ..., n, i = t ist (0)
(0)
qi (ε) := qi
+ εi − εt .
52
3 Klassen von Matrizen
Dadurch wird gew¨ ahrleistet, dass nach der Initialisierung mit Pivotzeilenindex t aus q (0) (ε) der Vektor q (1) (ε) in (3.19) wird. ur k ≥ 2 definieren F¨ ur große λ-Werte liegt gε im Kegel K1 = K(E·1 , ..., E·n ). F¨ zwei aufeinanderfolgende Basisvariablenfelder BVFk und BVFk+1 einen komplement¨aren Kegel, den die Halbgerade gε im Schritt k k + 1 durchquert bzw. worin die Halbgerade gε endet. Dies bedeutet, dass (3.17) eine Folge von komplement¨aren Kegeln definiert: K1 , K2 , ..., Km .
(3.21)
Wegen (3.20) folgt aus Lemma 3.1.3 gε ∩ Kl◦ = ∅,
l = 1, ..., m,
(3.22)
i, j = 1, ..., m, i = j.
(3.23)
und auf Grund von Satz 3.1.4 gilt Ki◦ ∩ Kj◦ = ∅,
aren Kegel (3.21) ein zweites Mal W¨ urde Kk in der Folge der komplement¨ vorkommen, so kommt wegen (3.22) und (3.23) nur Kk+1 = Kk in Frage. Dies w¨ urde BVFk+1 = BVKk−1 bedeuten, was auf Grund der komplement¨ aren Pivotspaltenwahl nicht sein kann. Somit kommt jeder komplement¨are Kegel in der Folge (3.21) h¨ ochstens einmal vor. Da M genau 2n komplement¨are Kegel erzeugt, gilt (3.18). Bemerkung 3.1.1 Wir wollen betonen, dass allein aus der Tatsache, dass in der Folge (3.17) die Basisvariablenfelder paarweise verschieden sind, nicht folgt, dass in der Folge (3.21) die komplement¨ aren Kegel paarweise verschieden sind. Z.B. erzeugt die Folge der Basisvariablenfelder BVFk = ( z0 , z1 , z2 , z3 ), BVFk+1 = ( z0 , z1 , z2 , z4 ), BVFk+2 = ( z0 , w3 , z2 , z4 ), BVFk+3 = ( z0 , w1 , z2 , z4 ), BVFk+4 = ( z0 , z3 , z2 , z4 ), BVFk+5 = ( z3 , z3 , z1 , z4 ) die Folge der komplement¨ aren Kegel Kk+1 = K(−M·1 , −M·2 , −M·3 , −M·4 ), Kk+2 = K(−M·1 , −M·2 , E·3 , −M·4 ), Kk+3 = K(E·1 , −M·2 , E·3 , −M·4 ), Kk+4 = K(E·1 , −M·2 , −M·3 , −M·4 ), Kk+5 = K(−M·1 , −M·2 , −M·3 , −M·4 ). Wie man sieht, ist Kk+1 = Kk+5 , obwohl die Basisvariablenfelder alle verschieden sind.
3.1 P-Matrizen
53
Wir werden im n¨ achsten Abschnitt ein LCP mit einer P-Matrix M ∈ Rn×n und einem Vektor q ∈ Rn betrachten, bei dem der lexikographische LemkeAlgorithmus tats¨achlich 2n Gauß–Jordan-Schritte t¨ atigt bis er die eindeutige L¨osung von LCP (q, M ) findet. Dazu werden wir das Ergebnis der folgenden Aufgabe ben¨ otigen. Aufgabe 3.1.3 Gegeben sind die Vektoren q ∈ Rn aus (3.25) und p ∈ Rn aus (3.26). Zeigen Sie, dass die Geraden g:
x = p − λ · e, λ ∈ R
und
h:
x = q + μ · e, μ ∈ R
identisch sind. Zeigen Sie dazu zun¨ achst durch vollst¨ andige Induktion, dass f¨ ur i = 1, ..., n n 2n+1 − 2j = 2i j=i
gilt. 3.1.3 Das Beispiel von Murty Die Definition des lexikographischen Lemke-Algorithmus erinnert sehr an das lexikographische Simplexverfahren, welches von G. B. Dantzig zur L¨ osung von linearen Programmen entwickelt wurde. Die Anzahl der Schritte, welche die lexikographische Simplexmethode bis zum Auffinden einer L¨ osung durchf¨ uhren muss, ist durch n! bechr¨ ankt.1 Dieser Ausdruck w¨achst mindestens exponentiell in n. F¨ ur keine Pivotregel ist es bisher gelungen, zu zeigen, dass die Anzahl der Schritte der Simplexmethode durch einen Ausdruck beschr¨ ankt ist, der polynomial in n ist. Im Gegenteil, V. Klee und G. J. Minty haben 1972 in ihrer Arbeit [54] einfache Beispiele gefunden, f¨ ur die die meisten Pivotstrategien eine exponentielle Anzahl von Schritten ben¨ otigen. Ein solches Beispiel existiert auch f¨ ur den lexikographischen Lemke-Algorithmus. Es stammt von K. G. Murty aus dem Jahre 1978, und wir werden es in diesem Abschnitt vorstellen. Dieses Beispiel ist allerdings sehr speziell konstruiert, und wir wollen betonen, dass (analog zum Simplexverfahren) das durchschnittliche Laufzeitverhalten des lexikographischen Lemke-Algorithmus durch einen Ausdruck beschr¨ankt ist, der polynomial in n ist. Wir verweisen diesbez¨ uglich auf die Arbeit [116] von M. J. Todd. F¨ ur n ≥ 2 betrachten wir LCP (q(n), M (n)) mit ⎞ ⎛ 1 2 ... 2 ⎜ .⎟ ⎜ 0 1 . . . .. ⎟ ⎟ ∈ Rn×n M = M (n) = ⎜ ⎟ ⎜. . . . . . ⎝ . . . 2⎠ 0 ... 0 1 1
Siehe beispielsweise [48].
(3.24)
54
3 Klassen von Matrizen
und
⎛ ⎛
−
n
2j
⎞
⎞ ⎜ ⎟ −2n − 2n−1 − . . . − 22 − 2 ⎜ j=1 ⎟ ⎟ .. ⎜ −2n − 2n−1 − . . . − 22 ⎟ ⎜ ⎟ . ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ .. n ⎜ ⎜ ⎟ ⎜− j ⎟ . 2 ⎟ ∈ Rn . q = q(n) = ⎜ ⎟=⎜ ⎜ −2n − 2n−1 − 2n−2 ⎟ ⎜ j=i ⎟ ⎟ ⎜ ⎟ ⎜ ⎟ .. ⎝ −2n − 2n−1 ⎠ ⎜ ⎟ . ⎜ ⎟ n n −2 ⎝ j⎠ 2 −
(3.25)
j=n
Jeder Hauptminor von M hat den Wert 1. Somit ist M eine P-Matrix und LCP (q, M ) hat genau eine L¨ osung. Wir werden zeigen, dass der lexikographische Lemke-Algorithmus f¨ ur dieses Beispiel genau 2n Pivotschritte durchf¨ uhrt bis er die L¨ osung findet. Dazu werden wir zun¨ achst im folgenden Satz eine Halbgerade betrachten, die das Innere aller 2n durch M definierten komplement¨aren Kegel durchquert. Satz 3.1.6 Es seien n ≥ 2 und
⎞ 2 ⎜ 22 ⎟ ⎜ ⎟ p = p(n) = ⎜ . ⎟ ∈ Rn . ⎝ .. ⎠ ⎛
(3.26)
2n Dann durchl¨ auft die Halbgerade g:
x = p − λe, λ ≥ 0
das Innere von allen 2n komplement¨ aren Kegeln, die durch M (n) aus (3.24) definiert werden. Beweis: Zun¨achst wollen wir bemerken, dass das Innere von allen 2n komplement¨aren Kegeln, die durch M (n) aus (3.24) definiert werden, gem¨aß Satz 3.1.3 nichtleer ist. Denn f¨ ur jede Wahl von C·i ∈ {E·i , −M·i } ist . . det(C·1 .. . . . ..C·n ) = 0, und die Vektoren C·1 , . . . , C·n sind somit linear unabh¨ angig. Der eigentliche Beweis erfolgt nun durch vollst¨andige Induktion u ¨ber n. Induktionsanfang: n = 2. F¨ ur n = 2 lautet
12 2 M= und p = . 01 4 In Abb. 3.3 haben wir alle 22 durch M definierten komplement¨ aren Kegel eingezeichnet. Auch die Gerade g ist eingezeichnet. Vom Punkt p = 24 bis
3.1 P-Matrizen
55
x2 6
rp
K(−M·1 , E·2 )
K(E·1 , E·2 )
2
2 K(−M·1 , −M·2 ) K(E·1 , −M·2 ) q r
x1
Abb. 3.3. Die Strecke pq schneidet das Innere von allen vier Kegeln.
auft sie das Innere von allen vier Kegeln. In der zum Punkt q = −6 −4 durchl¨ folgenden Tabelle ist aufgelistet, f¨ ur welche Werte von λ sich die Gerade g im jeweiligen komplement¨aren Kegel befindet. Komplement¨arer Kegel Werte von λ, f¨ ur die K ◦ ∩ g = g gilt K = K(E·1 , E·2 ) λ<2 K = K(−M·1 , E·2 ) 2<λ<4 K = K(−M·1 , −M·2 ) 4 < λ < 6 K = K(E·1 , −M·2 ) 6<λ Mit Lemma 3.1.2 lassen sich die jeweiligen Werte von λ auch anders deuten. Werte von λ, f¨ ur die LCP (p − λe, M ) eine nichtentartete L¨ osung mit Basisvariablenfeld BVF besitzt ( w1 , w2 ) λ < 2 ( z1 , w2 ) 2 < λ < 4 ( z1 , z2 ) 4 < λ < 6 ( w1 , z2 ) 6 < λ BVF
Induktionsvoraussetzung: Die Behauptung sei wahr f¨ ur ein n ≥ 2. Insbesondere gelte folgende Tabelle.
56
3 Klassen von Matrizen
BVF ( y1 , . . . , yn )K1 .. . ( y1 , . . . , yn )Ki .. .
Werte von λ, f¨ ur die LCP (p(n) − λe, M (n)) eine nichtentartete L¨ osung mit Basisvariablenfeld BVF besitzt λ<2 .. . 2(i − 1) < λ < 2i, .. .
i = 2, ..., 2n − 1
( y1 , . . . , yn )K2n 2n+1 − 2 < λ
Dabei bezeichnen K1 , . . . , K2n die 2n komplement¨aren Kegel, die durch M (n) definiert werden, und ( y1 , . . . , yn )Ki bezeichnet jeweils das zum komplement¨aren Kegel Ki geh¨orige Basisvariablenfeld f¨ ur i = 1, ..., 2n . Induktionsschritt: n n + 1. Wir betrachten LCP (p(n + 1) − λe, M (n + 1)). Dann hat man folgendes Tableau: w1 · · · wn wn+1 z1 · · · zn zn+1 p(n + 1) − λe 1 ··· 0 . 0 · · · .. .. . 1 0 ··· 0
0 .. . 0 1
–1 · · · –2 –2 2 − λ . .. .. 0 · · · .. . . .. . · · · –1 –2 2n − λ 0 · · · 0 –1 2n+1 − λ
1. Fall: Ist λ < 2n+1 , so w¨ahlen wir zn+1 := 0 und wn+1 := 2n+1 − λ > 0. Das reduzierte Problem mit den Variablen (w1 , ..., wn ), (z1 , ..., zn ) entspricht gerade dem LCP der Ordnung n. Somit k¨ onnen wir die Induktionsvoraussetzung benutzen und erhalten folgende Tabelle: BVF ( y1 , . . . , yn )K1 , wn+1 .. . ( y1 , . . . , yn )Ki , wn+1 .. . ( y1 , . . . , yn )K2n , wn+1
Werte von λ, f¨ ur die LCP (p(n + 1) − λe, M (n + 1)) eine nichtentartete L¨ osung mit Basisvariablenfeld BVF besitzt λ<2 .. . 2(i − 1) < λ < 2i, .. .
i = 2, ..., 2n − 1
2n+1 − 2 < λ < 2n+1
2. Fall: Ist λ > 2n+1 , so f¨ uhren wir einen Gauß–Jordan-Schritt im Tableau durch, so dass die zu zn+1 geh¨orende Spalte ein Standard-Basisvektor wird.
3.1 P-Matrizen
BVF “
” ( y1 , . . . , yn )K1 , wn+1 .. . “ ” ( y1 , . . . , yn )Ki , wn+1 .. . “ ” ( y1 , . . . , yn )K2n , wn+1 “ ” ( y1 , . . . , yn )K2n , zn+1 .. . “ ” ( y1 , . . . , yn )Ki , zn+1 .. . “ ” ( y1 , . . . , yn )K1 , zn+1
57
Werte von λ, f¨ ur die LCP (p(n + 1) − λe, M (n + 1)) eine nichtentartete L¨ osung mit Basisvariablenfeld BVF besitzt λ<2 .. . 2(i − 1) < λ < 2i, .. .
i = 2, ..., 2n − 1
2n+1 − 2 < λ < 2n+1 2n+1 < λ < 2n+1 + 2 .. . 2n+2 − 2i < λ < 2n+2 − 2i + 2, i = 2n − 1, ..., 2 .. . 2n+2 − 2 < λ
Abb. 3.4. Alle Basisvariablenfelder kommen vor.
Wir erhalten w1 · · · wn 1 ··· 0 . 0 · · · .. .. . 1 0 ··· 0
wn+1 z1 · · · zn zn+1 –2 –1 · · · –2 0 .. . .. . 0 · · · .. . .. –2 . · · · –1 0 –1
0 ··· 0
1
2 + (−2n+2 + λ) .. . 2n + (−2n+2 + λ) λ − 2n+1
Wir w¨ ahlen wn+1 := 0 und zn+1 := λ − 2n+1 > 0. Das reduzierte Problem mit den Variablen (w1 , ..., wn ), (z1 , ..., zn ) entspricht wieder gerade dem LCP der Ordnung n, wenn man −μ := −2n+2 + λ setzt, und man kann wiederum die Induktionsvoraussetzung anwenden. Nun gilt 2
n+1
μ < 2 ⇔ 2n+2 − 2 < λ, − 2 < μ ⇔ λ < 2n+1 + 2
und f¨ ur i = 2, ..., 2n−1 2(i − 1) < μ < 2i
⇔
2n+2 − 2i < λ < 2n+2 − 2i + 2.
Fasst man beide F¨alle zusammen, so erh¨alt man Abb. 3.4. Mit Lemma 3.1.2 folgt dann die Behauptung. Mit Hilfe der geometrischen Interpretation eines Pivotschrittes im LemkeAlgorithmus erhalten wir nun das Resultat von Murty.
58
3 Klassen von Matrizen
Satz 3.1.7 F¨ ur n ≥ 2 endet der lexikographische Lemke-Algorithmus angewandt auf M aus (3.24) und q aus (3.25) genau nach 2n Pivotschritten mit der eindeutigen L¨ osung von LCP (q, M ). Beweis: Da M eine P-Matrix ist, wird der lexikographische Lemke-Algorithmus nach Satz 3.1.2 die eindeutige L¨ osung finden. Zu Beginn hat man folgendes Tableau: w1 1 0 .. .
w2 . . . wn 0 ... 0 1 ... 0 .. .. . . 0 0 ... 1
z1 z2 . . . zn z0 q (0) –1 –2 . . . –2 –1 −2n − 2n−1 − ... − 22 − 2 0 –1 . . . –2 –1 −2n − 2n−1 − ... − 22 .. .. .. .. .. . . . . . 0 0 . . . –1 –1 −2n
Es ist qt := q1 = min qi . Daher wird ein Gauß–Jordan-Schritt mit Pivotele1≤i≤n
(0)
uhrt. Mit der Interpretation von Abschnitt 3.1.2 gilt ment a1 2n+1 durchgef¨ dann (1)
q + qt mit
· e ∈ K(E·2 , ..., E·n ) ⊆ K(−M·1 , E·2 , ..., E·n ) =: K2 (1)
qt
(0)
= |q1 | = 2n + 2n−1 + ... + 2 = 2n+1 − 2.
Siehe Aufgabe 3.1.3. Nach einem weiteren Gauß–Jordan-Schritt ist dann (2)
q + qt
· e ∈ K(−M·1 , E·2 , ..., E·j−1 , E·j+1 , ..., E·n ) ⊆ K(−M·1 , E·2 , ..., E·n ) = K2
f¨ ur ein j ∈ {2, ..., n}. Mit der Interpretation von Abschnitt 3.1.2 heißt das, dass die Halbgerade g : x = q + μ · e, μ ≥ 0 (1)
(2)
ur μ = qt den Kegel K2 verl¨ asst. f¨ ur μ = qt in den Kegel K2 eintritt und f¨ Da der Algorithmus nicht abbricht, bekommen wir durch den Algorithmus eine Zahlenfolge (1) (2) (3) (m) qt , qt , qt , ..., qt (m)
bis qt
= 0. Wegen Aufgabe 3.1.3 und dem Beweis zu Satz 3.1.6 gilt (i)
(i+1)
qt − 2 = qt Daher gilt
(m)
0 = qt
,
i = 1, 2, ... .
(1)
− m · 2.
= qt
Es folgt m = 2 − 1. Mit dem Initialisierungsschritt hat man somit insgesamt 2n Gauß–Jordan-Schritte durchgef¨ uhrt. n
Aufgabe 3.1.4 Bestimmen Sie die eindeutige L¨ osung von LCP (q, M ) mit M aus (3.24) und q aus (3.25), indem Sie aus dem Beweis zu Satz 3.1.6 das Basisvariablenfeld bestimmen, welches zur eindeutigen L¨ osung geh¨ ort.
3.1 P-Matrizen
59
3.1.4 Positiv definite Matrizen Aus der Linearen Algebra ist bekannt, dass f¨ ur symmetrische Matrizen die folgenden drei Eigenschaften a¨quivalent sind: ur alle x ∈ Rn , x = o. 1. xT Ax > 0 f¨ 2. F¨ ur jeden Eigenwert λ von A gilt λ > 0. 3. Es gilt ⎞ ⎛ a11 · · · a1k ⎟ ⎜ det ⎝ ... . . . ... ⎠ > 0,
k = 1, ..., n.
(3.27)
ak1 · · · akk Eine symmetrische Matrix A nennt man positiv definit, falls A eine (und somit alle) von diesen drei Eigenschaften erf¨ ullt. Positive Definitheit l¨ asst sich aber auch f¨ ur nichtsymmetrische Matrizen definieren. Definition 3.1.5 Eine Matrix A ∈ Rn×n heißt positiv definit, wenn xT Ax > 0
f¨ ur alle x ∈ Rn , x = o
gilt. ¨ Es wird sich in den folgenden Uberlegungen herausstellen, dass die Klasse der positiv definiten Matrizen eine echte Unterklasse der Klasse der P-Matrizen bildet. Satz 3.1.8 Ist A ∈ Rn×n positiv definit, dann ist A eine P-Matrix. Beweis: Wir nehmen an, A sei keine P-Matrix. Dann existiert nach Satz 3.1.1 ein x ∈ Rn , x = o mit xi (Ax)i ≤ 0 Daraus folgt, dass auch
n
f¨ ur alle i = 1, ..., n.
xi (Ax)i ≤0 gilt, was xT Ax ≤ 0 bedeutet. Wegen
i=1
x = o ist dies ein Widerspruch zur positiven Definitheit von A. Somit ist die Annahme falsch, und es folgt, dass A eine P-Matrix ist. Jede positiv definite Marix ist also eine P-Matrix. Somit hat LCP (q, M ) eine eindeutige L¨ osung, falls M positiv definit ist. Allerdings ist nicht jede PMatrix positiv definit Beispiel 3.1.8 Wir betrachten A=
1 −3 0 1
∈ R2×2 .
Alle drei Hauptminoren von A haben den Wert 1. Daher ist A eine P-Matrix. Jedoch ist A wegen
1 −3 1 (1 1) = −1 > 0 0 1 1 nicht positiv definit.
60
3 Klassen von Matrizen
Wir wollen noch festhalten, dass unter den symmetrischen Matrizen jede PMatrix positiv definit sein muss. Denn falls A eine symmetrische P-Matrix ist, so sind alle und somit insbesondere die f¨ uhrenden Hauptminoren2 positiv, und auf Grund der Symmetrie von A ist dies dann a¨quivalent zu xT Ax > 0 f¨ ur alle x ∈ Rn , x = o. Aufgabe 3.1.5 Zeigen Sie, dass ⎛
⎞ 211 A = ⎝0 4 2⎠ 112 positiv definit ist. Aufgabe 3.1.6 Es sei A ∈ Rn×n eine P-Matrix. 1. Zeigen Sie: Ist λ ∈ R ein Eigenwert von A, so ist λ > 0. 2. Zeigen Sie anhand von ⎛ ⎞ 1 −1 0 A = ⎝ 1 1 −17 ⎠ , 4 0 1 dass der Realteil eines Eigenwertes einer P-Matrix nicht notwendigerweise positiv sein muss. Hinweis: Ein Eigenwert von A lautet λ = 5. 3.1.5 Streng diagonaldominante Matrizen In diesem Abschnitt werden wir eine weitere Unterklasse der Klasse der PMatrizen vorstellen. Definition 3.1.6 Eine Matrix A ∈ Rn×n heißt streng diagonaldominant, wenn |aij | f¨ ur alle i = 1, ..., n |aii | > j=1, j=i
gilt. Nicht jede streng diagonaldominante Matrix ist eine P-Matix. Man betrachte beispielsweise die Matrix A = −E. Diese Matrix ist streng diagonaldominant, aber sie ist keine P-Matrix. Um eine Unterklasse zu erhalten, bedarf es einer weiteren Voraussetzung. Satz 3.1.9 Es sei A ∈ Rn×n streng diagonaldominant mit positiven Diagonalelementen. Dann ist A eine P-Matrix.
2
Die Determinanten in (3.27) nennt man f¨ uhrende Hauptminoren von A.
3.1 P-Matrizen
61
Beweis: Wir nehmen an, A sei keine P-Matrix. Dann existiert nach Satz 3.1.1 ein x ∈ Rn , x = o mit xi (Ax)i ≤ 0
f¨ ur alle i = 1, ..., n.
(3.28)
Es sei |xs | := max{|xi | : i = 1, ..., n}. Dann ist |xs | > 0 wegen x = o und es |x | gilt |xjs | ≤ 1 f¨ ur alle j = 1, ..., n. F¨ ur i = s erh¨alt man aus (3.28) n 0 ≥ xs (Ax)s = xs ( asj xj ) = ass x2s + xs · n j=1, j=s
asj xj
j=1, j=s
j=1
bzw. ass x2s ≤ −xs ·
n
asj xj . Wegen ass > 0 folgt
ass x2s ≤
n
|asj ||xj ||xs |,
j=1, j=s
und nach Division durch |xs |2 erh¨alt man |ass | = ass ≤
n
|asj |.
j=1, j=s
Dies ist ein Widerspruch zur Voraussetzung, dass A streng diagonaldominant ist. Die Annahme ist daher falsch und A somit eine P-Matrix. Eine Verallgemeinerung von streng diagonaldominaten Matrizen sind die so genannten H-Matrizen. Definition 3.1.7 Es sei A ∈ Rn×n . Dann nennt man A eine H-Matrix, falls ein Vektor u > o existiert mit n
|aii |ui >
|aij |uj
f¨ ur alle i = 1, ..., n.
(3.29)
j=1, j=i
W¨ ahlt man u = e, so ist jede streng diagonaldominante Matrix eine H-Matrix. Aber nicht jede H-Matrix ist streng diagonaldominant. Beispiel 3.1.9 Wir betrachten wieder
1 −3 A= ∈ R2×2 . 0 1 Diese Matrix ist nicht streng diagonaldominant, aber es gilt (3.29) f¨ ur
5 u= . 1 A ist somit eine H-Matrix.
62
3 Klassen von Matrizen
F¨ ur H-Matrizen gilt ein zu Satz 3.1.9 analoges Ergebnis. Satz 3.1.10 Es sei A ∈ Rn×n eine H-Matrix mit positiven Diagonalelementen. Dann ist A eine P-Matrix. Beweis: Nach Definition und Voraussetzung existiert ein Vektor u > o mit n
aii ui >
|aij |uj
f¨ ur alle i = 1, ..., n.
j=1, j=i
Setzt man D := diag(u1 , ..., un ), so ist die Matrix AD streng diagonaldominant und hat positive Diagonalelemente. Daher ist AD nach Satz 3.1.9 eine P-Matrix. Dadurch ist auch DAT eine P-Matrix. Wir nehmen an, dass A keine P-Matrix sei. Dann ist auch AT keine P-Matrix, und es existiert nach Satz 3.1.1 ein Vektor x ∈ Rn , x = o mit 0 ≥ xi (AT x)i
f¨ ur alle i = 1, ..., n.
Wegen u > o folgt daraus 0 ≥ ui xi (AT x)i = xi (DAT x)i
f¨ ur alle i = 1, ..., n.
Dies ist ein Widerspruch zur Tatsache, dass DAT eine P-Matrix ist. Somit ist die Annahme falsch, und es folgt, dass A eine P-Matrix ist. In Beispiel 5.3.1 werden wir sehen, dass es P-Matrizen gibt, die keine HMatrizen sind. Somit ist die Klasse der H-Matrizen mit positiven Diagonalelementen und die Klasse der positiv definiten Matrizen jeweils eine echte Unterklasse der Klasse der P-Matrizen. F¨ ur weitere Unterklassen verweisen wir auf die Arbeiten [63] und [104]. Aufgabe 3.1.7 Es sei A = (aij ) ∈ Rn×n eine (untere oder obere) Dreiecksmatrix, d.h. es gilt entweder aij = 0 f¨ ur alle j > i, oder es gilt aij = 0 f¨ ur alle i > j. Zeigen Sie: Gilt f¨ ur alle i ∈ {1, ..., n} die Bedingung aii = 0, so ist A eine H-Matrix.
3.2 Positiv semidefinite Matrizen In Abschnitt 3.1 haben wir P-Matrizen behandelt und in Unterabschnitten haben wir Unterklassen der Klasse der P-Matrizen betrachtet. Auf Grund von Satz 3.1.2 wissen wir, dass LCP (q, M ) eine eindeutige L¨ osung besitzt, falls M eine P-Matrix ist. Außerdem besagt Satz 3.1.2, dass der lexikographische Lemke-Algorithmus diese eindeutige L¨osung berechnet. In diesem Abschnitt besch¨ aftigen wir uns mit positiv semidefiniten Matrizen. Definition 3.2.1 Eine Matrix M ∈ Rn×n heißt positiv semidefinit, wenn ur jedes x ∈ Rn gilt. xT M x ≥ 0 f¨
3.2 Positiv semidefinite Matrizen
63
In Kapitel 4 werden wir sehen, dass ein LCP mit einer positiv semidefiniten Matrix im Zusammenhang mit linearen Programmen entsteht. Die Nullmatrix ist positiv semidefinit. Daher ist eine positiv semidefinite Matrix im Allgemeinen keine P-Matrix und Satz 3.1.2 kann nicht angewandt werden. Ist M keine P-Matrix, so kann der lexikographische Lemke-Algorithmus durch Ray-Termination abbrechen. Sollte dies allerdings der Fall sein, wenn M eine positiv semidefinite Matrix ist, so kann man auf die Nichtl¨osbarkeit von LCP (q, M ) schließen. Siehe Satz 3.2.1. Um diesen Satz zu beweisen, ben¨otigen wir das folgende Lemma. ur ein x ˆ ∈ Rn gelte Lemma 3.2.1 Es sei M ∈ Rn×n positiv semidefinit. F¨ T T T T x ˆ Mx ˆ = 0. Dann folgt x ˆ (M + M ) = o . Beweis: Wir setzen A := M + M T . Dann ist A symmetrisch und positiv semidefinit. Nach Voraussetzung ist xˆT Aˆ x=x ˆT M x ˆ + xˆT M T xˆ = 0 + (M x ˆ)T x ˆ=x ˆT M x ˆ = 0.
(3.30)
x + λx)T A(ˆ x + λx) ≥ 0 Sei x ∈ Rn beliebig. Da A positiv semidefinit ist, gilt (ˆ f¨ ur jedes λ ∈ R. Wegen (3.30) und weil A symmetrisch ist, erh¨alt man durch Ausmultiplizieren 2ˆ xT Ax ≥ −λxT Ax f¨ ur λ > 0, T T 2ˆ x Ax ≤ −λx Ax f¨ ur λ < 0. Da diese Relationen f¨ ur jedes betragsm¨aßig noch so kleine λ gelten, muss x ˆT Ax = 0 sein. Da x ∈ Rn beliebig gew¨ ahlt ist, folgt x ˆT A = oT . Satz 3.2.1 Es seien M ∈ Rn×n eine positiv semidefinite Matrix und q ∈ Rn . Endet der lexikographische Lemke-Algorithmus angewandt auf q und M durch Ray-Termination, so besitzt LCP (q, M ) keine L¨ osung. Beweis: Endet der lexikographische Lemke-Algorithmus angewandt auf q und M nach dem k-ten Schritt durch Ray-Termination, so existieren nach Satz (h) 2.7.1 sowohl Vektoren w(h) ≥ o, z (h) ≥ o, z (h) = o und eine Zahl z0 ≥ 0 mit (h)
w(h) − M z (h) − z0
· e = o,
(w(h) )T z (h) = 0, (k)
als auch Vektoren w(k) ≥ o, z (k) ≥ o und eine Zahl z0 (k)
w(k) − M z (k) − z0 · e = q,
(3.31)
> 0 mit
(w(k) )T z (k) = 0.
(3.32)
Diese Vektoren erf¨ ullen (w(k) )T z (h) = 0 = (w(h) )T z (k) nach Satz 2.7.1. Dann gilt w(h) = M z (h) + z0 (h) · e und 0 = (z (h) )T (M z h + z0 (h) · e). Somit ist
(z (h) )T M z (h) = −z0 (h) (z (h) )T e ≤ 0.
64
3 Klassen von Matrizen
Da M positiv semidefinit ist, muss nach Definition (z (h) )T M z (h) ≥ 0 gelten. Damit folgt (z (h) )T M z (h) = 0. (3.33) Mit Lemma 3.2.1 folgt nun einerseits (z (h) )T (M + M T ) = oT und somit
(z (h) )T M = −(z (h) )T M T .
(3.34)
Andererseits gilt −z0 (h) · (z (h) )T e = (z (h) )T M z (h) = 0. Wegen z (h) ≥ o, z (h) = o muss daher (3.35) z0 (h) = 0 gelten. Nun gilt wegen (3.32) 0 = (w(k) )T z (h) = (z (h) )T w(k) = (z (h) )T M z (k) + (z (h) )T q + z0 (k) · (z (h) )T e. Wegen (3.34) folgt weiter 0 = −(z (h) )T M T z (k) + (z (h) )T q + z0 (k) · (z (h) )T e = −(z (k) )T M z (h) + (z (h) )T q + z0 (k) · (z (h) )T e. Mit (3.31) und (3.35) folgt dann 0 = −(z (k) )T w(h) + (z (h) )T q + z0 (k) · (z (h) )T e = (z (h) )T q + z0 (k) · (z (h) )T e. Also ist (z (h) )T q = −z0 (k) · (z (h) )T e. Da z (h) ≥ o, z (h) = o und z0 (k) > 0 gelten, ist z0 (k) · (z (h) )T e > 0. Somit ist (z (h) )T q < 0. Außerdem gilt wegen (3.34), (3.35) und (3.31) −(z (h) )T M = (z (h) )T M T = (w(h) )T ≥ oT . Daher gilt
. (z (h) )T E .. − M ≥ oT ,
aber (z (h) )T q < 0.
Nach dem Lemma von Farkas (siehe Satz A.2.3) folgt nun, dass das System
. w w E .. − M = q, ≥o z z keine L¨osung besitzt. Also besitzt auch LCP (q, M ) keine L¨osung.
Wir betrachten zum Schluss dieses Abschnitts noch eine Unterklasse der Klasse der positiv semidefiniten Matrizen.
3.3 Z-Matrizen
65
Beispiel 3.2.1 Wir betrachten eine Matrix A ∈ Rn×n , die die Bedingung AT = −A erf¨ ullt. Eine solche Matrix nennt man schiefsymmetrisch. Jede schiefsymmetrische Matrix erf¨ ullt xT Ax = (Ax)T x = xT AT x = −xT Ax f¨ ur alle x ∈ Rn . Somit folgt xT Ax = 0 f¨ ur alle x ∈ Rn . Eine schiefsymmetrische Matrix ist also insbesondere eine positiv semidefinite Matrix.
3.3 Z-Matrizen In Kapitel 4 werden wir sehen, dass ein LCP mit einer Z-Matrix im Zusammenhang mit freien Randwertproblemen entsteht. Definition 3.3.1 Eine Matrix M = (mij ) ∈ Rn×n heißt Z-Matrix, falls mij ≤ 0 gilt f¨ ur alle i = j. R. Chandrasekaran hat einen Algorithmus entworfen, der LCP (q, M ) l¨ ost, falls M eine Z-Matrix ist, wobei der Algorithmus nach sp¨ atestens n Gauß– Jordan-Schritten endet. Siehe [16]. Der Algorithmus ist wie folgt definiert: . 1. Schritt: Man setzt k := 0 und betrachtet das Tableau (A(0) .. q (0) ) mit . A(0) := (E .. − M ) ∈ Rn×2n ,
q (0) := q
und das Basisvariablenfeld BVF0 := ( w1 , ..., wn ). 2. Schritt: Ist q (k) ≥ o, dann bilden w und z definiert durch (k) falls wi ∈ BVFk , wi := qi , zi := 0, i = 1, ..., n (k) wi := 0, zi := qi , falls zi ∈ BVFk ,
(3.36)
eine L¨osung von LCP (q, M ), und der Algorithmus ist zu Ende.. (k)
Ist q (k) ≥ o, so wird die Menge J := {i : qi < 0} betrachtet. Existiert ein (k) i ∈ J mit ai n+i ≥ 0, dann bricht der Algorithmus ab mit der Meldung, dass LCP (q, M ) keine L¨ osung besitzt. Andernfalls w¨ahlt man ein beliebiges i0 ∈ J (k) und f¨ uhrt einen Gauß–Jordan-Schritt aus mit Pivotelement ai0 n+i0 . Damit erh¨alt man . . (A(k) .. q (k) ) (A(k+1) .. q (k+1) ). BVFk+1 entsteht aus BVFk , indem wi0 durch zi0 ersetzt wird. 3. Schritt: Man setzt k := k + 1 und geht zum 2. Schritt. Bevor wir zeigen, dass der Algorithmus das Gew¨ unschte liefert, betrachten wir zwei Beispiele.
66
3 Klassen von Matrizen
Beispiel 3.3.1 Wir betrachten ⎞ ⎛ 2 −1 0 M = ⎝ −1 2 −1 ⎠ 0 −1 2
⎞ 1 und q = ⎝ −1 ⎠ . −2 ⎛
Der Algorithmus von Chandrasekaran beginnt mit dem Tableau BVF0 w1 w2 w3 z1 z2 z3 q (0)
w1
1
0
0 –2 1
w2
0
1
w3
0
0
0
1
0
1 –2 1
–1
1
0
1 –2 –2 (0)
(0)
Es ist q (0) ≥ o und J = {2, 3}. Wegen a2 5 < 0 und a3 6 < 0 bricht der (0) (0) Algorithmus nicht ab, und es kann entweder a2 5 oder a3 6 als Pivotelement . (0) ur (A(1) .. q (1) ) das Tableau gew¨ahlt werden. Wir w¨ ahlen a und erhalten f¨ 25
BVF1 w1 w2 w3
z1 z2
z3 q (1)
w1
1
1 2
0 − 32
0
1 2
1 2
z2
0 − 12
0 − 12
1 − 12
1 2
w3
0
1 2
1 2
1
0 − 32 − 52
(1)
Es ist q (1) ≥ o und J = {3}. Wegen a3 6 < 0 bricht der Algorithmus nicht . (1) alt f¨ ur (A(2) .. q (2) ) das ab, und es wird a als Pivotelement gew¨ahlt. Man erh¨ 36
Tableau BVF2 w1 w2 w3 z1 z2 z3 q (2)
2 3
1 3
− 43 0
0 − 31
w1
1
z2
0 − 32 − 13 − 23 1
0
4 3
z3
0 − 31 − 23 − 13 0
1
5 3
(2)
Es ist q (2) ≥ o und J = {1}. Wegen a1 4 < 0 bricht der Algorithmus nicht ab, (2) und es wird a1 4 als Pivotelement gew¨ahlt.
3.3 Z-Matrizen
67
. Man erh¨ alt f¨ ur (A(3) .. q (3) ) das Tableau BVF3 w1 w2 w3 z1 z2 z3 q (3)
z1 − 34 − 21 − 14 1
0
0
1 4
z2 − 12 –1 − 12 0
1
0
3 2
z3 − 14 − 21 − 34 0
0
1
7 4
Es ist q (3) ≥ o. Somit bilden ⎛1⎞ 4
⎜ ⎟ w = o und z = ⎝ 32 ⎠ 7 4
eine L¨osung von LCP (q, M ).
In Beispiel 3.3.1 machen wir folgende Beobachtungen: 1. Alle Pivotelemente waren negativ. (0) 2. Nachdem im ersten Schritt a2 5 als Pivotelement ausgew¨ahlt war (also (1) (2) (3) i0 = 2), galt q2 > 0, q2 > 0, q2 > 0. (0) 3. Nachdem im ersten Schritt a2 5 als Pivotelement ausgew¨ahlt war, waren (1) (2) (3) bis auf die Elemente a2 5 , a2 5 , a2 5 alle Elemente in der zweiten Zeile von (1) (2) (3) A , A , A kleiner oder gleich null. 4. Analoge Beobachtungen zu 2. und 3. gelten auch ab dem zweiten Pi(2) (3) votschritt f¨ ur i0 = 3: Es ist q3 > 0, q3 > 0, und alle Elemente bis auf (2) (3) a3 6 , a3 6 in der dritten Zeile von A(2) , A(3) sind kleiner oder gleich null. (0) ahlt war, waren bis auf a1 4 , 5. Solange i0 = 1 nicht als Pivotzeilenindex gew¨ (1) (2) oßer oder a1 4 , a1 4 alle Elemente in der ersten Zeile von A(0) , A(1) , A(2) gr¨ gleich null. Diese Beobachtungen lassen uns f¨ ur den Algorithmus von Chandrasekaran angewandt auf q ∈ Rn und eine Z-Matrix M ∈ Rn×n das Folgende vermuten: War i ∈ {1, ..., n} in den ersten k − 1 Pivotschritten als Pivotzeilenin(k) dex ausgew¨ahlt, so gilt nach dem k-ten Pivotschritt qi > 0 und bis (k) auf ai n+i sind alle Elemente in der i-ten Zeile von A(k) kleiner oder gleich null. War i ∈ {1, ..., n} in den ersten k − 1 Pivotschritten noch nicht als Pivotzeilenindex ausgew¨ ahlt, so gilt nach dem k-ten Pivotschritt, dass (k) oßer oder bis auf ai n+i alle Elemente in der i-ten Zeile von A(k) gr¨ gleich null sind.
68
3 Klassen von Matrizen
Im Beweis zu Satz 3.3.1 werden wir zeigen, dass diese beiden Vermutungen richtig sind. Durch sie werden wir durch einen einzigen Induktionsbeweis zeigen, dass der Algorithmus von Chandrasekaran LCP (q, M ) l¨ ost, falls M eine Z-Matrix ist. Zuvor wollen wir noch ein weiteres Beispiel betrachten, bei dem der Algorithmus damit endet, dass LCP (q, M ) keine L¨osung besitzt. Beispiel 3.3.2 Wir betrachten ⎛ ⎞ 1 −1 −1 M = ⎝ −1 1 −1 ⎠ −1 −1 1
⎛
⎞ 1 und q = ⎝ −1 ⎠ . −2
Wir beginnen den Algorithmus von Chandrasekaran mit dem Tableau BVF0 w1 w2 w3 z1 z2 z3 q (0)
w1
1
0
0 –1 1
w2
0
1
w3
0
0
1
1
0
1 –1 1
–1
1
1
1 –1 –2 (0)
(0)
Es ist q (0) ≥ o und J = {2, 3}. Wegen a2 5 < 0 und a3 6 < 0 bricht der (0) (0) Algorithmus nicht ab, und es kann entweder a2 5 oder a3 6 als Pivotelement . (0) ur (A(1) .. q (1) ) das Tableau gew¨ahlt werden. Wir w¨ ahlen a und erhalten f¨ 25
BVF1 w1 w2 w3 z1 z2 z3 q (1)
w1
1
1
0
2
0
z2
0
–1
0 –1 1 –1
1
w3
0
1
1
–3
0
2
0
0
0
(1)
Es ist q (1) ≥ o und J = {3}. Allerdings gilt a3 6 ≥ 0. Daher bricht der Algorithmus ab mit der Meldung, dass LCP (q, M ) keine L¨ osung besitzt. Diese Aussage kann man in diesem Beispiel sehr einfach nachpr¨ ufen. Jeder Vektor
w x= ∈ R6 , z ullt, erf¨ ullt auch A(0) x = q (0) und umgekehrt. Wie man der A(1) x = q (1) erf¨ allerdings in der dritten Zeile sieht, kann kein Vektor x ≥ o die Gleichung ullen. Somit gibt es keine Vektoren w ≥ o und z ≥ o mit A(1) x = q (1) erf¨ w − M z = q.
3.3 Z-Matrizen
69
Im n¨achsten Satz werden wir beweisen, dass der Algorithmus von Chandrasekaran LCP (q, M ) l¨ ost, falls M eine Z-Matrix ist. Dabei beschreibt die Formel (3.37) mathematisch das, was wir nach Beispiel 3.3.1 in Worte gefasst haben. Satz 3.3.1 Es seien M ∈ Rn×n und q ∈ Rn . Ist M eine Z-Matrix, so endet der Algorithmus von Chandrasekaran nach sp¨ atestens n Gauß–JordanSchritten entweder mit einer L¨ osung von LCP (q, M ) oder mit dem Nachweis, dass LCP (q, M ) keine L¨ osung besitzt. Beweis: Der Algorithmus startet mit dem Basisvariablenfeld BVF0 := ( w1 , ..., wn ), und nach dem k-ten Pivotschritt entsteht aus dem Basisvariablenfeld BVFk das Basisvariablenfeld BVFk+1 , indem ein wi0 durch zi0 ersetzt wird. Dies bedeutet, dass in jedem Basisvariablenfeld von jedem komplement¨ aren Variablenpaar (wi , zi ) genau eine Variable ein Element des Basisvariablenfelds ist. Gilt q (k) ≥ o, so haben wir auf Grund der Zuweisung (3.36) einen Vektor
w x= ∈ R2n mit x ≥ o und wT z = 0. z Außerdem gilt A(k) x = q (k) und jeder Vektor x, der A(k) x = q (k) erf¨ ullt, erf¨ ullt auch A(0) x = q (0) . Somit bilden w und z eine L¨osung von LCP (q, M ). Wir wenden uns nun der Schleifeninvarianten des Algorithmus zu. Es seien k Schritte des Algorithmus durchgef¨ uhrt. Dann definieren wir die Indexmengen (l)
Pk := {i : ai n+i war Pivotelement f¨ ur ein l ∈ {0, ..., k − 1}} und Pkc := {1, ..., n} − Pk . Mit vollst¨andiger Induktion zeigen wir nun: ' (⎫ (k) (k) ur j = 1, ..., 2n, j = n + i ⎪ i ∈ Pk ⇒ qi > 0 und aij ≤ 0 f¨ ⎬ (3.37) ' ( ⎪ (k) ⎭ ur j = 1, ..., 2n, j = n + i . i ∈ Pkc ⇒ aij ≥ 0 f¨ Induktionsanfang: k = 0. Dann ist P0 = ∅ und P0c = {1, ..., n}. Wegen . A(0) = (E .. − M ) ∈ Rn×2n (0)
gilt aij ≥ 0 f¨ ur i = 1, ..., n, j = 1, ..., 2n, j = n + i, da M eine Z-Matrix ist. Induktionsvoraussetzung: Es gelte (3.37) f¨ ur ein k ≥ 0. Induktionsschluss: k k + 1. Wird der (k + 1)-te Pivotschritt im Algorithmus (k) (k) durchgef¨ uhrt, so gilt q (k) ≥ o, und f¨ ur alle i ∈ J = {i : qi < 0} gilt ai n+i < 0. (k)
Wird i0 ∈ J (beliebig) gew¨ ahlt, so ist ai0 n+i0 das (k+1)-te Pivotelement.
70
3 Klassen von Matrizen
Es gilt (k)
qi0 < 0 sowie
(3.38)
(k)
ai0 n+i0 < 0.
(3.39)
Der Gauß–Jordan-Schritt liefert f¨ ur j = 1, ..., 2n (k+1) ai0 j
(k)
ai0 j
:=
,
(k)
(k)
(k+1) qi0
ai0 n+i0
qi0
:=
>0
(k)
(3.40)
ai0 n+i0
und f¨ ur i = 1, ..., n, i = i0 , j = 1, ..., 2n (k+1)
aij
(k)
(k+1)
:= aij − ai0 j
(k)
· ai n+i0 ,
(k+1)
qi
(k)
:= qi
(k+1)
− qi0
(k)
· ai n+i0 . (3.41)
Nach Definition gilt nun Pk+1 = Pk ∪ {i0 }. Auf Grund der Induktionsvoraussetzung (3.37) und (3.38) muss i0 ∈ Pk gegolten haben. Daher ist nach (k) ur j = 1, ..., 2n, j = n + i0 . Somit Induktionsvoraussetzung (3.37) ai0 j ≥ 0 f¨ gilt in (3.40) mit (3.39) (k+1)
ai0 j
≤0
f¨ ur j = 1, ..., 2n, j = n + i0 .
Als n¨ achstes sei i ∈ Pk+1 , aber i = i0 . Dann ist nach Induktionsvoraussetzung (3.37) (k) ur j = 1, ..., 2n, j = n + i. aij ≤ 0 f¨ Man erh¨ alt dann in (3.41) (k+1)
aij
(k)
(k+1)
(k)
= aij − ai0 j · ai n+i0 ≤ 0 ≤0
f¨ ur j = 1, ..., 2n, j = n + i.
≤0
≤0
Außerdem gilt mit (3.37) und (3.40) in (3.41) (k+1)
qi
(k)
(k+1)
>0
>0
(k)
= qi − qi0 · a n+i0 > 0. i ≤0
F¨ ur i ∈ Pk+1 , d.h. f¨ ur i ∈ Pk und i = i0 , gilt nach Induktionsvoraussetzung (3.37) (k) aij ≥ 0 f¨ ur j = 1, ..., 2n, j = n + i. Man erh¨ alt dann in (3.41) (k+1)
aij
(k)
(k+1)
(k)
= aij − ai0 j · ai n+i0 ≥ 0 ≥0
≤0
f¨ ur j = 1, ..., 2n, j = n + i.
≥0
Somit ist die Behauptung (3.37) durch vollst¨ andige Induktion bewiesen. Außerdem haben wir gezeigt, dass |Pk+1 | = |Pk | + 1 gilt. Mit P0 = ∅ muss der
3.4 M-Matrizen
71
Algorithmus daher nach sp¨ atestens n Schritten zu Ende sein. Wir m¨ ussen jetzt noch zeigen, dass LCP (q, M ) tats¨achlich keine L¨ osung besitzt, falls der Algorithmus mit dieser Meldung terminiert. Dazu seien k Schritte des Algorithmus durchgef¨ uhrt. Es gelte q (k) ≥ o, und es existiere ein (k) (k) i0 ∈ J = {i : qi < 0} mit ai0 n+i0 ≥ 0. Es ist also (k)
qi0 < 0
(k)
und ai0 n+i0 ≥ 0.
(3.42)
In diesem Fall bricht der Algorithmus ab mit der Meldung, dass LCP (q, M ) keine L¨osung besitzt. Diese Aussage ist aus folgendem Grund richtig: Zun¨ achst folgt aus (3.42) und (3.37) (k)
ur alle j = 1, ..., 2n. ai0 j ≥ 0 f¨
Jeder Vektor x=
w z
(3.43)
∈ R2n ,
ullt, erf¨ ullt auch A(0) x = q (0) und umgekehrt. Allerdings der A(k) x = q (k) erf¨ (k) kann wegen (3.43) und wegen qi0 < 0 kein Vektor x ≥ o die Gleichung A(k) x = q (k) erf¨ ullen. Somit gibt es keine Vektoren w ≥ o und z ≥ o mit w − M z = q. Wendet man den Lemke-Algorithmus an auf LCP (q, M ), wobei M eine ZMatrix ist, so findet der Lemke-Algorithmus eine L¨ osung oder er erbringt den Nachweis, dass LCP (q, M ) keine L¨ osung besitzt. Siehe Theorem 4.7.5 in [21]. Aufgabe 3.3.1 Es sei M sowohl eine Z-Matrix als auch eine P-Matrix. Zeigen Sie, dass dann M −1 ≥ O gilt.
3.4 M-Matrizen M-Matrizen sind spezielle Z-Matrizen. Definition 3.4.1 Eine Z-Matrix A heißt M-Matrix, falls A−1 existiert mit A−1 ≥ O. Ist A eine M-Matrix, so ist also einerseits aij ≤ 0, i = j und andererseits A−1 ≥ O. Wegen AA−1 = E ≥ O muss dann notwendigerweise aii > 0,
i = 1, ..., n
(3.44)
gelten. Mit Hilfe des folgenden Lemmas k¨onnen wir schließen, dass M-Matrizen spezielle H-Matrizen sind. Zusammen mit (3.44) ist dann jede M-Matrix eine H-Matrix mit positiven Diagonalelementen. Auf Grund von Satz 3.1.10 ist dann jede M-Matrix eine P-Matrix.
72
3 Klassen von Matrizen
Lemma 3.4.1 Es sei A ∈ Rn×n eine Z-Matrix. Dann gilt: A−1 existiert mit A−1 ≥ O
⇔
es existiert ein u > o mit Au > o.
Beweis: ”⇒”: Da A regu¨ ar ist, kann A−1 keine Zeile enthalten, die aus lauter Nullen besteht. Setzt man dann u := A−1 e, so gilt u > o und Au = AA−1 e = e > o. ”⇐”: Es sei u > o und Au > o. Daher ist f¨ ur jedes i = 1, ..., n aii ui > −
n
aij uj =
j=1,j=i
n
|aij |uj ≥ 0.
j=1,j=i
Es folgen aii > 0, i = 1, ..., n und n
1>
j=1,j=i
|aij |uj . |aii |ui
(3.45)
Wir betrachten nun A = D − B = D(E − D−1 B) mit D = diag(a11 , ..., ann ). Mit den Lemmata A.1.2 und A.1.4 sowie mit (3.45) ist )⎛ a12 a1n ⎞) ) ) 0 − ··· − ) ) a11 a11 )⎜ ⎟) )⎜ a21 ⎟ ) .. .. )⎜ − ⎟) . . 0 ) ⎜ ⎟ ) ⎜ a22 ⎟) < 1, ρ(D−1 B) ≤ D−1 Bu = ) )⎜ .. ⎟ .. .. an−1 n ⎟) )⎜ . ) . . − )⎜ ) an−1 n−1 ⎟ )⎝ a ) ⎠ ) − n1 · · · − an n−1 ) 0 ) ) ann ann u was dann mit Lemma A.1.8 auf (E − D−1 B)−1 =
∞
(D−1 B)j
j=0
f¨ uhrt. Wegen (D−1 B)j ≥ O, j = 0, 1, 2, ... gilt dann A−1 ≥ O.
Umgekehrt kann man zeigen, dass jede Z-Matrix, die eine P-Matrix ist, auch eine M-Matrix ist. Siehe Aufgabe 3.3.1. Unter den Z-Matrizen sind also genau die M-Matrizen die P-Matrizen. Bemerkung 3.4.1 In manchen Lehrb¨ uchern ist es u ¨ blich, H-Matrizen u ¨ ber M-Matrizen zu definieren; und zwar * + mit Hilfe der Vergleichsmatrix: Ist A ∈ Rn×n , so nennt man die Matrix A = (cij ) mit cij :=
|aij | falls i = j, −|aij | falls i = j
3.4 M-Matrizen
73
die *Vergleichsmatrix zu A. Die Definition einer H-Matrix ist dann wie folgt. + Ist A eine M-Matrix, so ist A eine H-Matrix. Auf Grund von Lemma 3.4.1 ist diese Definition konsistent zu Definition 3.1.7. Bemerkung 3.4.2 In den B¨ uchern [21] und [73] werden M-Matrizen als KMatrizen bezeichnet. Siehe auch Notes and References 3.13.24 in [21]. Bemerkung 3.4.3 Man kann auch singul¨ are M-Matrizen definieren; und zwar wie folgt: Ist A ∈ Rn×n eine Z-Matrix, dann sind die beiden folgenden Aussagen ¨aquivalent. 1. A−1 existiert mit A−1 ≥ O; 2. Es existiert eine Matrix B ∈ Rn×n , B ≥ O und eine Zahl s ∈ R, s > ρ(B) mit A = s · E − B. ¨ F¨ ur einen Beweis der G¨ utigkeit dieser Aquivalenz verweisen wir auf Satz B.2.2 in [38]. Man kann dann A als eine M-Matrix definieren, falls A darstellbar ist durch A = s · E − B mit s > 0, B ≥ O, s ≥ ρ(B). Eine solche Definition l¨ asst zu, dass eine M-Matrix auch singul¨ ar sein kann. Siehe Definition 6.1.2 in [13]. Bemerkung 3.4.4 M-Matrizen und H-Matrizen treten verst¨arkt bei den iterativen L¨ osungsverfahren auf. Aufgabe 3.4.1 Es seien A, B ∈ Rn×n Z-Matrizen mit A ≤ B. Zeigen Sie: Ist A eine M-Matrix, so ist auch B eine M-Matrix. * +−1 Aufgabe 3.4.2 Es sei A eine H-Matrix. Zeigen Sie: |A−1 | ≤ A . Aufgabe 3.4.3 Es seien M , M ∈ Rn×n M-Matrizen mit M ≤ M . Weiter seien q, q ∈ Rn mit q ≤ q. Zeigen Sie: Ist u die L¨ osung von LCP (q, M ) und v die L¨ osung von LCP (q, M ), so ist u ≤ v.
4 Anwendungen
4.1 Zwei-Personen-Spiele Unter einem Zwei-Personen-Spiel verstehen wir ein Spiel, in dem zwei Personen (und zwar Spieler 1 und Spieler 2) gegeneinander spielen. Beide Spieler haben die M¨ oglichkeit, Spielz¨ uge auszuw¨ahlen bzw. auf Ereignisse zu setzen. Wir setzen voraus, Spieler 1 k¨onne auf m verschiedene Ereignisse setzen, w¨ahrend Spieler 2 auf n (im Allgemeinen andere) verschiedene Ereignisse setzen k¨onne. Ein Zwei-Personen-Spiel ist dann gegeben durch zwei m × n Matrizen ⎛ ⎞ ⎞ ⎛ b11 b12 · · · b1n a11 a12 · · · a1n ⎜ ⎜ .. ⎟ .. ⎟ ⎜ b21 b22 . . . ⎜ a21 a22 . . . . ⎟ . ⎟ ⎜ ⎟ ⎟ ⎜ A=⎜ . ⎟, B = ⎜ . . . ⎟ . . .. .. a .. .. .. b ⎝ ⎠ ⎠ ⎝ .. m−1 n m−1 n am1 am2 · · · amn bm1 bm2 · · · bmn mit folgender Bedeutung: Setzt Spieler 1 seinen Einsatz ausschließlich auf das i-te Ereignis und setzt Spieler 2 seinen Einsatz ausschließlich auf das j-te Ereignis, so ist der Verlust von Spieler 1 definiert durch aij = E·iT AE·j , w¨ahrend der Verlust von Spieler 2 durch bij = E·iT BE·j bestimmt ist. Daher nennt man die Matrizen A und B auch Verlustmatrizen oder Kostenmatrizen. Oft ist beiden Spielern erlaubt, ihren Einsatz auf die jeweiligen verschiedenen Ereignisse zu verteilen. Beispielsweise k¨ onnte Spieler 1 jeweils die H¨ alfte seines Einsatzes auf die ersten beiden Ereignisse setzen, und Spieler 2 k¨ onnte ein Viertel seines Einsatzes auf das erste Ereignis setzen und den Rest seines
76
4 Anwendungen
Einsatzes auf das n-te. Dann w¨ urde der Verlust von Spieler 1 beschrieben werden durch ⎛1⎞ 4
⎜ ⎟ ⎜0⎟ ⎜ ⎟ 1 1 .⎟ 0 · · · 0)A ⎜ ( ⎜ .. ⎟ , 2 2 ⎜ ⎟ ⎝0⎠ 3 4
und der Verlust von Spieler 2 w¨ urde durch ⎛1⎞ 4
⎜ ⎟ ⎜0⎟ ⎜ ⎟ 1 1 .⎟ ( 0 · · · 0)B ⎜ ⎜ .. ⎟ 2 2 ⎜ ⎟ ⎝0⎠ 3 4
beschrieben werden. Dies f¨ uhrt uns auf den Begriff der gemischten Strategie. Definition 4.1.1 F¨ ur m, n ∈ N setzen wir S m := {x = (xi ) ∈ Rm : x ≥ o, S n := {y = (yj ) ∈ Rn : y ≥ o,
m
xi = 1},
i=1 n
yj = 1}.
j=1
ur Spieler 1, und ein y ∈ S n Ein x ∈ S m nennt man eine gemischte Strategie f¨ nennt man eine gemischte Strategie f¨ ur Spieler 2. Ist speziell x ∈ S m mit xi = 1 f¨ ur ein i, so heißt x eine reine Strategie f¨ ur Spieler 1. Analog ist eine reine Strategie f¨ ur Spieler 2 definiert. Gilt x ∈ S m und y ∈ S n , so beschreibt xT Ay die Kosten von Spieler 1 und xT By die Kosten von Spieler 2. Einer reinen Strategie entspricht also das Setzen des gesamten Einsatzes auf ein Ereignis, w¨ahrend eine gemischte Strategie dem Streuen des Einsatzes entspricht. Beispiel 4.1.1 Eine Softwarefirma namens A mit Sitz in Argentinien m¨ oge mit einer Softwarefirma namens B mit Sitz in Brasilien zusammenarbeiten. Ein Teil der Zusammenarbeit m¨ oge darin bestehen, Daten zu u ¨ bermitteln. In Argentinien m¨oge es m Netzbetreiber geben, w¨ ahrend es in Brasilien deren n gebe. Man habe sich darauf geeinigt, dass die Softwarefirma A die Kosten in Argentinien u ¨ bernehme, w¨ ahrend die Softwarefirma B die Kosten in Brasilien u ¨ bernehme. Da die Preise der Netzbetreiber gegeben sind, existieren zwei Kostenmatrizen A, B ∈ Rm×n mit folgender Eigenschaft: Nutzt die Softwarefirma A ¨ zur Ubermittlung der Daten den i-ten Netzbetreiber in Argentinien, w¨ ahrend ¨ die Softwarefirma B zur Ubermittlung der Daten den j-ten Netzbetreiber
4.1 Zwei-Personen-Spiele
77
in Brasilien w¨ ahlt, so entstehen in Argentinien f¨ ur die Softwarefirma A die Kosten aij und in Brasilien f¨ ur die Softwarefirma B die Kosten bij . Es stellt sich die Frage, wie die Daten jeweils auf die Netzbetreiber verteilt werden sollen, damit die jeweiligen Kosten gering bleiben. Eine gemischte Strategie kann man auch anders deuten: Beschreibt xi die Wahrscheinlichkeit, dass Spieler 1 das i-te Ereignis w¨ ahlt und beschreibt yj die Wahrscheinlichkeit, dass Spieler 2 das j-te Ereignis w¨ ahlt, so ist xT Ay der T zu erwartende Verlust von Spieler 1 und x By der zu erwartende Verlust von Spieler 2. 4.1.1 Das Nash-Gleichgewicht Bei einem Zwei-Personen-Spiel stellt sich zwangsl¨aufig die Frage, ob es ein Paar von gemischten Strategien gibt, welches f¨ ur beide Spieler die Kosten minimiert. Man fragt sich also, ob x ˆ ∈ S m und yˆ ∈ S n existieren mit
und
y ≤ xT Ay xˆT Aˆ
f¨ ur alle x ∈ S m , y ∈ S n ,
(4.1)
x ˆT B yˆ ≤ xT By
f¨ ur alle x ∈ S m , y ∈ S n .
(4.2)
Das folgende Beispiel zeigt, dass im Allgemeinen ein solches Paar von gemischten Strategien nicht existiert. Beispiel 4.1.2 Es seien
A=
5 0 10 1
und B =
5 10 0 1
.
Angenommen es gebe xˆ ∈ S 2 und yˆ ∈ S 2 mit
und
y ≤ xT Ay x ˆT Aˆ
f¨ ur alle x ∈ S 2 , y ∈ S 2
(4.3)
xˆT B yˆ ≤ xT By
f¨ ur alle x ∈ S 2 , y ∈ S 2 .
(4.4)
Wir werden zeigen, dass aus (4.3) folgt, dass notwendigerweise
1 0 x ˆ= , yˆ = 0 1
(4.5)
gelten muss. Zun¨achst ist offensichtlich, dass f¨ ur jedes x ∈ S 2 und jedes y ∈ S 2 T wegen A ≥ O die Beziehung x Ay ≥ 0 gilt. Da (4.5) x ˆT Aˆ y = 0 erf¨ ullt, ist lediglich noch
1 0 T y=0 ⇒ x ˆ= , yˆ = x ˆ Aˆ 0 1
78
4 Anwendungen
zu zeigen. Sei also x ˆT Aˆ y = 0. Dann folgen aus 0 = xˆT Aˆ y = 5ˆ x1 yˆ1 + 10ˆ x2 yˆ1 + x ˆ2 yˆ2 die drei Bedingungen 5ˆ x1 yˆ1 = 0,
10ˆ x2 yˆ1 = 0,
x ˆ2 yˆ2 = 0.
(4.6)
Insbesondere folgt x ˆ2 yˆ1 = 0. Wegen x ˆ, yˆ ∈ S 2 und (4.6) erh¨ alt man yˆ1 = 0 ⇒ yˆ2 = 1 ⇒ x ˆ2 = 0 und x ˆ2 = 0 ⇒ x ˆ1 = 1 ⇒ yˆ1 = 0. Somit ist yˆ1 = 0 und x ˆ2 = 0, und es folgt (4.5). Setzt man (4.5) in (4.4) ein, so erh¨alt man einen Widerspruch, denn es ist
1 . x ˆT B yˆ = 10 > 0 = (0 1)B 0 Beispiel 4.1.2 hat uns gezeigt, dass es bei einem Zwei-Personen-Spiel im Allgemeinen keine Vorgehensweise gibt, die f¨ ur beide Spieler die Kosten minimiert. Somit ergibt sich auch kein Vorteil, wenn es den Spielern erlaubt sein sollte, sich gegenseitig abzusprechen. Man kann ein Zwei-Personen-Spiel, in dem Absprachen erlaubt sind, auch als Verhandlungsspiel deuten, und Beispiel 4.1.2 zeigt sehr deutlich, warum man sich nicht wundern darf, dass Verhandlungen oft abgebrochen werden, weil sich die Verhandlungspartner nicht einigen k¨ onnen. Einer dritten Person, die die m¨oglicherweise zerstrittenen Parteien zu einer Einigung bringen soll, hilft das Nash-Gleichgewicht. Definition 4.1.2 In einem Zwei-Personen-Spiel gegeben durch die Matrizen x, yˆ), x ˆ ∈ S m , yˆ ∈ S n A, B ∈ Rm×n nennt man das gemischte Strategiepaar (ˆ ein Nash-Gleichgewicht, falls x ˆT Aˆ y ≤ xT Aˆ y f¨ ur alle x ∈ S m , ur alle y ∈ S n x ˆT B yˆ ≤ xˆT By f¨ gilt. Durch die Kenntnis eines Nash-Gleichgewichts (ˆ x, yˆ) kann eine dritte Person (nennen wir diese Person Schlichter) in einem Zwei-Personen-Spiel, in dem keine Absprachen erlaubt sind, bzw. in einem Verhandlungsspiel, in dem die beiden Verhandlungspartner miteinander zerstritten sind (und daher nicht miteinander reden), folgendermaßen eine Einigung erreichen.
4.1 Zwei-Personen-Spiele
79
Der Schlichter geht zu Spieler 1 und sagt: ,,Ich weiß, dass Spieler 2 die Strategie yˆ w¨ahlen wird. Unter dieser Voraussetzung gibt es f¨ ur Sie nachweislich keine bessere Option als die Strategie x ˆ zu w¨ahlen.“ Danach geht der Schlichter zu Spieler 2 und sagt: ,,Ich weiß, dass Spieler 1 die Strategie x ˆ w¨ahlen wird. Unter dieser Voraussetzung gibt es f¨ ur Sie nachweislich keine bessere Option als die Strategie yˆ zu w¨ahlen.“ Da Spieler 1 und Spieler 2 nicht miteinander reden d¨ urfen bzw. wollen, weiß kein Spieler, ob er als Erster oder als Zweiter vom Schlichter aufgesucht wird, und eine Einigung wird erreicht. Wir wollen betonen, dass durchaus ein Strategiepaar (x, y) existieren kann mit xT Ay < xˆT Aˆ y und xT By < x ˆT B yˆ. Den Hauptnutzen aus der Kenntnis eines Nash-Gleichgewichts (ˆ x, yˆ) ziehen also nicht unbedingt die Spieler, sondern der Schlichter! Beispiel 4.1.3 (Das Gefangenen-Dilemma) Nach einem Raubmord werden zwei verd¨achtige Personen verhaftet und dem Haftrichter vorgef¨ uhrt. Der Haftrichter, der die Verd¨ achtigen zum Gestehen bringen will, sieht aber, dass das Beweismaterial sehr d¨ urftig ist, und versucht nun die beiden Verd¨ achtigen gegeneinander auszuspielen: Falls die Verd¨ achtigen beide gestehen, werden beide mit 5 Jahren Gef¨angnis bestraft. Gesteht ausschließlich ein Verd¨ achtiger, so wird der Verd¨ achtige, der gestanden hat, frei gelassen und der andere Verd¨ achtige bekommt 10 Jahre Gef¨angnis (Kronzeugenregelung). Bestreiten die Verd¨achtigen beide die Tat, so m¨ ussen beide 1 Jahr ins Gef¨angnis auf Grund von Verkehrsdelikten, denn vor der Festnahme war es zu einer wilden Verfolgungsjagd gekommen. Der Haftrichter l¨ asst die Verd¨ achtigen getrennt in Zellen bringen, so dass sie ihre Entscheidung unabh¨ angig voneinander, d.h. ohne Absprache miteinander, treffen m¨ ussen. So sehen sich die Verd¨achtigen mit einem Zwei-Personen-Spiel konfrontiert, und jeder muss sich f¨ ur eine Strategie entscheiden. In diesem Beispiel besteht ein Nash-Gleichgewicht darin, dass die Verd¨achtigen beide gestehen. Der Haftrichter n¨ utzt die Kenntnis dieses Nash-Gleichgewichts geschickt aus: Er sucht nacheinander die beiden Verd¨ achtigen auf und sagt: ,,An deiner Stelle w¨ urde ich gestehen, denn der andere hat bereits gestanden.“ Dabei weiß kein Verd¨achtiger, ob er als Erster oder als Zweiter aufgesucht wird. Das Dilemma f¨ ur die Gefangenen besteht darin, dass der Haftrichter von
80
4 Anwendungen
der Kenntnis des Nash-Gleichgewichts profitiert und nicht die Verd¨ achtigen. W¨ urden die Verd¨ achtigen beide die Tat abstreiten, w¨are die Haftstrafe f¨ ur beide geringer. Im folgenden Satz werden wir beweisen, dass jedes Zwei-Personen-Spiel mindestens ein Nash-Gleichgewicht besitzt. Der Beweis geht zur¨ uck auf John Forbes Nash Jr., der in diesem Zusammenhang 1994 den Nobelpreis f¨ ur Wirtschaftswissenschaften erhielt. Siehe auch [77] und [83]. Satz 4.1.1 Ein Zwei-Personen-Spiel gegeben durch die Matrizen A, B ∈ Rm×n besitzt mindestens ein Nash-Gleichgewicht. Beweis: Wir definieren f¨ ur (x, y) ∈ S m × S n ci (x, y) := max{xT Ay − Ai· y, 0},
i = 1, ..., m,
dj (x, y) := max{xT By − xT B·j , 0},
j = 1, ..., n,
und damit die stetige Abbildung T : S m × S n → Rm × Rn durch T (x, y) := (x , y ) mit xi :=
xi + ci (x, y) , m 1+ ck (x, y)
i = 1, ..., m,
yj :=
yj + dj (x, y) , n 1+ dk (x, y)
k=1
j = 1, ..., n.
k=1
F¨ ur i = 1, ..., m ist ci (x, y) ≥ 0 und daher auch folgt dann x ≥ o und y ∈ S n . Somit ist
m i=1
m
ck (x, y) ≥ 0. Aus x ∈ S m
k=1
xi = 1, d.h. es ist x ∈ S m . Analog zeigt man
T (x, y) ∈ S m × S n ,
falls (x, y) ∈ S m × S n .
(4.7)
(x, y) ist ein Nash-Gleichgewicht.
(4.8)
Wir zeigen nun: T (x, y) = (x, y)
⇔
”⇐”: Es sei (ˆ x, yˆ) ein Nash-Gleichgewicht. Dann gilt f¨ ur alle i = 1, ..., m: x ˆT Aˆ y ≤ E·iT Aˆ y = Ai· yˆ. Damit ist dann aber ci (ˆ x, yˆ) = 0, i = 1, ..., m. Ebenso gilt dj (ˆ x, yˆ) = 0, j = 1, ..., n. Daraus folgt dann T (ˆ x, yˆ) = (ˆ x, yˆ). ”⇒”: Wir nehmen an, es gelte T (ˆ x, yˆ) = (ˆ x, yˆ), aber (ˆ x, yˆ) sei kein Nashy < xˆT Aˆ y , oder Gleichgewicht. Dann existiert entweder ein x ∈ S m mit xT Aˆ n T T ˆ By < x ˆ B yˆ. Da der Beweis in beiden F¨allen es existiert ein y ∈ S mit x gleich ist, nehmen wir ohne Einschr¨ankung an, f¨ ur ein x ∈ S m gelte xT Aˆ y<x ˆT Aˆ y.
(4.9)
4.1 Zwei-Personen-Spiele
81
Wir behaupten, dass dann Ai· yˆ < x ˆT Aˆ y f¨ ur mindestens ein i ∈ {1, ..., m}
(4.10)
gilt. Angenommen (4.10) w¨ urde nicht gelten. Dann ist min Ai· yˆ ≥ x ˆT Aˆ y. 1≤i≤m
Damit erh¨alt man u ¨ ber T
x Aˆ y=
m
xi Ai· yˆ ≥
i=1
m xi = min Ai· yˆ ≥ x min Ai· yˆ ˆT Aˆ y
1≤i≤m
i=1
1≤i≤m
einen Widerspruch zu (4.9). Somit ist (4.10) gezeigt, und es folgt ci (ˆ x, yˆ) > 0 f¨ ur mindestens ein i ∈ {1, ..., m}. Daher ist m
ck (ˆ x, yˆ) > 0.
(4.11)
k=1
Als N¨achstes zeigen wir: Es existiert ein i ∈ {1, ..., m} mit x ˆi > 0 und ci (ˆ x, yˆ) = 0.
(4.12)
Angenommen (4.12) w¨ are falsch. Dann gilt f¨ ur jedes i ∈ {1, ..., m} x ˆi = 0 oder Ai· yˆ < x ˆT Aˆ y.
(4.13)
Hieraus folgt wegen y= x ˆT Aˆ
m
x ˆi Ai· yˆ <
i=1
m
x ˆi (ˆ xT Aˆ y) = x ˆT Aˆ y
i=1
ein Widerspruch. Somit gilt (4.12). F¨ ur den Index i aus (4.12) gilt dann zusammen mit (4.11) x ˆi xi = <x ˆi .1 m 1+ ck (ˆ x, yˆ) k=1
Daher erhalten wir T (ˆ x, yˆ) = (ˆ x, yˆ), und (4.8) ist gezeigt. Der Nachweis der Existenz eines Nash-Gleichgewichts ist also ¨aquivalent zum Nachweis eines Fixpunktes von T . Um Letzteren zu erbringen, benutzen wir den Fixpunktsatz von Brouwer. Siehe Satz A.2.1. Die Menge S m × S n ist nichtleer, abgeschlossen, beschr¨ankt sowie konvex, und die Abbildung T (x, y), (x, y) ∈ S m × S n , ist stetig und wegen (4.7) eine Selbstabbildung. Der Fixpunktsatz von Brouwer ist somit anwendbar und garantiert die Existenz eines Fixpunktes von T , der dann wegen (4.8) ein Nash-Gleichgewicht ist. Satz 4.1.1 ist ein reiner Existenzbeweis. Er liefert keinen Algorithmus zur Berechnung eines Nash-Gleichgewichts. Die Berechnung eines Nash-Gleichgewichts ist Inhalt des folgenden Abschnitts. Daf¨ ur wird das LCP benutzt. 1
Die Annahme, es g¨ abe ein y ∈ S n mit x ˆT By < x ˆT B yˆ w¨ urde auf einen Index j uhren. mit yj < yˆj f¨
82
4 Anwendungen
Aufgabe 4.1.1 Berechnen Sie alle Nash-Gleichgewichte des Zwei-PersonenSpiels, welches gegeben ist durch
5 0 5 10 A= und B = . 10 1 0 1 Aufgabe 4.1.2 In einem so genannten Zwei-Personen-Nullsummen-Spiel ist ur die Matrix B gilt B = lediglich eine Matrix A ∈ Rm×n gegeben, denn f¨ −A. Zeigen Sie: Besitzt die Matrix A ein Element ai0 j0 mit der Eigenschaft, oßte Element in der i0 -ten Zeile als auch das kleinste dass ai0 j0 sowohl das gr¨ Element in der j0 -ten Spalte ist, so ist (ˆ x, yˆ)
mit
xˆ = E·i0
und
yˆ = E·j0
ein Nash-Gleichgewicht des Zwei-Personen-Nullsummen-Spiels. 4.1.2 Das Nash-Gleichgewicht und das LCP In diesem Abschnitt werden wir in Satz 4.1.2 den Zusammenhang zwischen dem Nash-Gleichgewicht und dem LCP herstellen. Dabei werden wir mit ed den d-dimensionalen Vektor bezeichnen, der in jeder Komponente den Wert 1 besitzt.2 Zun¨achst beweisen wir ein Hilfslemma. Lemma 4.1.1 Gegeben sei das Zwei-Personen-Spiel mit A, B ∈ Rm×n . F¨ ur x ˆ ∈ S m , yˆ ∈ S n gilt: y )em ≤ Aˆ y, (ˆ xT Aˆ (ˆ x, yˆ) ist ein Nash-Gleichgewicht ⇔ T ˆ. (ˆ x B yˆ)en ≤ B T x Beweis: ”⇒”: Es sei (ˆ x, yˆ) ein Nash-Gleichgewicht. Dann gilt xˆT Aˆ y ≤ E·iT Aˆ y = Ai· yˆ f¨ ur alle i = 1, ..., m und
x ˆT B yˆ ≤ xˆT BE·j = x ˆT B·j = (B·j )T xˆ
f¨ ur alle j = 1, ..., n.
In Vektorschreibweise bedeutet das (ˆ xT Aˆ y )em ≤ Aˆ y sowie (ˆ xT B yˆ)en ≤ B T xˆ. ”⇐”: Es seien x ∈ S m und y ∈ S n beliebig. Dann gilt xT em =
m i=1
2
xi = 1
sowie y T en =
n
yj = 1,
j=1
Dies ist der Grund, warum wir in diesem Buch den i-ten Standard-Basisvektor nicht mit ei sondern mit E·i bezeichnen.
4.1 Zwei-Personen-Spiele
83
und es folgt wegen x ≥ o, y ≥ o x ˆT Aˆ y = (ˆ xT Aˆ y )xT em ≤ xT Aˆ y und
xT B yˆ)y T en ≤ y T B T x ˆ=x ˆT By. x ˆT B yˆ = (ˆ
Satz 4.1.2 Gegeben sei ein Zwei-Personen-Spiel mit A, B ∈ Rm×n . Es gelte A > O sowie B > O, und es sei
O A em ∈ R(m+n)×(m+n) . (4.14) ∈ Rm+n sowie M = q=− BT O en Dann gilt: 1. Ist z = ist
x osung von LCP (q, M ), so ∈ Rm+n , x ∈ Rm , y ∈ Rn eine L¨ y
1 1 x, y (ˆ x, yˆ) := xT em yT en
ein Nash-Gleichgewicht des Zwei-Personen-Spiels. 2. Ist (ˆ x, yˆ) ein Nash-Gleichgewicht des Zwei-Personen-Spiels, so l¨ ost ⎛ ⎞ 1 xˆ T By ⎜x ˆ ˆ ⎟ ⎟ ∈ Rm+n z=⎜ ⎝ 1 ⎠ yˆ T x ˆ Aˆ y LCP (q, M ).
x ∈ Rm+n , x ∈ Rm , y ∈ Rn eine L¨osung von y LCP (q, M ). Dann gelten folgende Bedingungen:
Beweis: 1. Es sei z =
−em + Ay ≥ o, xT (−em + Ay) = 0, x ≥ o, T
T
T
−en + B x ≥ o, y (−en + B x) = 0, y ≥ o.
(4.15) (4.16)
Wegen −em ≥ o, −en ≥ o folgt aus (4.15) sowie (4.16), dass x = o und y = o gelten m¨ ussen. Damit ist insbesondere xT em > 0 und yT en > 0. Hieraus folgt zusammen mit (4.15) einerseits x ˆ ∈ S m sowie yˆ ∈ S n , andererseits xT Ay x T em e = em = em ≤ Ay. m xT em x T em Somit gilt (ˆ xT Ay)em ≤ Ay
und damit
x ˆT Ay 1 em ≤ T Ay y T en y en
bzw. (ˆ xT Aˆ y )em ≤ Aˆ y.
84
4 Anwendungen
Analog zeigt man mit (4.16) die G¨ ultigkeit von (ˆ xT B yˆ)en ≤ B T x ˆ. Es folgt dann mit Lemma 4.1.1, dass (ˆ x, yˆ) ein Nash-Gleichgewicht ist. 2. Es sei (ˆ x, yˆ) ein Nash-Gleichgewicht des Zwei-Personen-Spiels. Wegen A > y > 0 sowie x ˆT B yˆ > 0, und somit gilt z ≥ o. Des Weiteren O, B > O ist x ˆT Aˆ folgt aus Lemma 4.1.1 y )em ≤ Aˆ y bzw. (ˆ xT Aˆ
− em +
1 x ˆT Aˆ y
Aˆ y ≥ o.
Außerdem gilt
1 1 y 1 x ˆT Aˆ T T x ˆ y = T −em + T Aˆ −ˆ x em + T = 0, x ˆT B yˆ x ˆ Aˆ y x ˆ B yˆ x ˆ Aˆ y da xˆT em = 1. Analog zeigt man 1 BTx ˆ ≥ o und −en + T x ˆ B yˆ
1 1 T T yˆ −en + T B x ˆ = 0. x ˆT B yˆ x ˆ B yˆ
Somit ist z eine L¨osung von LCP (q, M ).
Wir wollen betonen, dass f¨ ur den Beweis der ersten Aussage von Satz 4.1.2 die Voraussetzung A > O, B > O nicht ben¨ otigt wurde. Lediglich die zweite Aussage ben¨ otigt die Voraussetzung A > O, B > O. Unter dieser Voraussetzung folgt auch, dass LCP (q, M ) mit q und M aus (4.14) mindestens eine L¨osung besitzen muss. Denn w¨are dieses LCP unl¨ osbar, so bes¨ aße das Zwei-PersonenSpiel auf Grund der zweiten Aussage von Satz 4.1.2 kein Nash-Gleichgewicht, was ein Widerspruch zu Satz 4.1.1 w¨ are. Ist die Bedingung A > O, B > O nicht erf¨ ullt, so kann das LCP (q, M ) mit q und M aus (4.14) unl¨ osbar sein. Dies zeigt das folgende triviale Beispiel. Beispiel 4.1.4 Es seien A = 1 und
B = −1.
Wir betrachten also das einfachste Zwei-Personen-Nullsummen-Spiel, was man sich vorstellen kann. Es ist m = n = 1, d.h. beide Spieler haben genau ein Ereignis, auf das sie setzen k¨ onnen, und ein ausgewiesener Spieler erh¨ alt immer den gesamten Einsatz seines Gegenspielers. Wegen S 1 = {1} hat jeder Spieler genau eine Strategie zur Auswahl. Daher lautet das einzig m¨ ogliche Strategiepaar (x, y) = (1, 1). Wenn es nur ein Strategiepaar gibt, so ist dies auch ein Nash-Gleichgewicht.3 3
Dieses Nash-Gleichgewicht erh¨ alt man auch durch Anwendung von Aufgabe 4.1.2.
4.1 Zwei-Personen-Spiele
85
Allerdings hat LCP (q, M ) mit
q=
−1 −1
und M =
0 1 −1 0
keine L¨osung, da die Bedingungen z1 ≥ 0 und
− 1 − z1 ≥ 0
nicht erf¨ ullt werden k¨ onnen.
Mit dem folgenden Lemma wird sich zeigen, dass die Voraussetzung A > O, B > O keine echte Einschr¨ ankung ist. Lemma 4.1.2 Gegeben seien das Zwei-Personen-Spiel durch A, B ∈ Rm×n und f¨ ur α ∈ R das Zwei-Personen-Spiel durch ⎛ ⎞ ⎛ ⎞ 1 ··· 1 1 ··· 1 ⎜ ⎟ . .⎟ ˜ := B + α ⎜ A˜ := A + α ⎝ ... . . . ... ⎠ , B ⎝ .. . . . .. ⎠ . 1 ··· 1
1 ··· 1
˜ B ˜ dieselben NashDann besitzt das Zwei-Personen-Spiel definiert durch A, Gleichgewichte wie das Zwei-Personen-Spiel definiert durch A, B. Beweis: Es seien x ∈ S m und y ∈ S n beliebig. Dann gilt ˜ = xT Ay
m n
xi (aij + α)yj = xT Ay + α
i=1 j=1
m i=1
xi
n
yj = xT Ay + α.
j=1
˜ = xT By + α. Somit ist f¨ Ebenso gilt xT By ur x ˆ ∈ S m , yˆ ∈ S n x ˆT Aˆ y ≤ xT Aˆ y
⇔
x ˆT Aˆ y + α ≤ xT Aˆ y+α
⇔
˜y ≤ xT Aˆ ˜y x ˆT Aˆ
⇔
x ˆT B yˆ + α ≤ x ˆT By + α
⇔
˜ yˆ ≤ x ˜ ˆT By x ˆT B
sowie xˆT B yˆ ≤ x ˆT By
f¨ ur alle x ∈ S m , y ∈ S n .
Mit Hilfe von Lemma 4.1.2 und Satz 4.1.2 lassen sich also alle Nash-Gleichgewichte eines Zwei-Personen-Spiels bestimmen, indem man alle L¨osungen eines bestimmten LCP berechnet. Diese Strategie wird beispielsweise in dem Buch [15] von M. J. Canty verfolgt. Es wird dort allerdings angemerkt, dass dieses Vorgehen nur f¨ ur kleine Dimensionen praktikabel ist. Da die Kenntnis eines einzigen Nash-Gleichgewichts gen¨ ugt, um zwischen zwei zerstrittenen Parteien zu schlichten, wollen wir uns auf die Berechnung eines einzigen Nash-Gleichgewichts beschr¨anken. Leider bricht der lexikographische Lemke-Algorithmus angewandt auf q und M aus (4.14) unter der Voraussetzung A > O, B > O durch Ray-Termination ab. Siehe Aufgabe 2.4.4. Daher muss der lexikographische Lemke-Algorithmus etwas modifiziert werden. Dies geschieht im n¨achsten Abschnitt.
86
4 Anwendungen
4.1.3 Der lexikographische Lemke-Howson-Algorithmus Der Lemke-Howson-Algorithmus ist entwickelt worden, um eine L¨osung des LCP mit q und M aus (4.14) zu berechnen. Im Unterschied zum LemkeAlgorithmus wird keine zus¨atzliche Variable z0 eingef¨ uhrt. Auch die Initialisierung wird im Unterschied zum Lemke-Algorithmus nicht durch einen einzigen Gauß–Jordan-Schritt vollzogen, sondern durch zwei. Danach verl¨ auft der Lemke–Howson-Algorithmus aber analog wie der Lemke-Algorithmus. Bevor wir den Algorithmus angeben und vor allem bevor wir zeigen, dass er angewandt auf (4.14) zum Ziel f¨ uhrt, f¨ uhren wir der Klarheit wegen einige zus¨ atzliche Bezeichnungen ein. Gegeben sind die Matrizen A, B ∈ Rm×n . Wegen Lemma 4.1.2 k¨onnen wir ohne Einschr¨ ankung annehmen, dass A > O sowie B > O gilt. Wir setzen N := m + n, w ∈ Rm , w ∈ Rn , z ∈ Rm , z ∈ Rn und damit ! w w := ∈ RN , z := w
(4.17)
z z
! ∈ RN .
(4.18)
Die m × m Einheitsmatrix laute E und die n × n Einheitsmatrix sei mit E bezeichnet. Dann lautet das zu (4.14) geh¨orige Tableau ww
z
EO
O
z
q (0)
−A −em
O E −B T O −en Initialisierung: Die Rolle, die bei der Initialisierung des Lemke-Algorithmus die k¨ unstlich eingef¨ uhrte Variable z0 hatte, u ¨ bernehmen beim Lemke-Howson-Algorithmus die Variablen w1 und z1 . Nach der Initialisierung wird neben w1 auch z1 Basisvariable sein, und es wird q (1) ≥ o gelten. Auf Grund der Gestalt von M wird dies durch zwei Gauß–Jordan-Schritte bew¨altigt, um nicht die beiden Null-Blockmatrizen in M zu zerst¨oren. Es wird also N + 1 als Pivotspaltenindex gew¨ ahlt. Dann betrachten wir4 " " ## 1 1 1 K = i: = max , ..., . (4.19) b1i b11 b1n Ist t ein beliebiger Index aus K, so wird ein Gauß–Jordan-Schritt mit Piuhrt. votelement (−B T )t1 durchgef¨ 4
Beachte: Es ist B > O.
4.1 Zwei-Personen-Spiele
87
Man erh¨ alt ww z z E O O −A −em O ∗ ∗ O q
( 12 )
Dabei gilt f¨ ur j ∈ {1, ..., n} ( 12 )
qj
⎧ 1 ⎪ ⎨ −1 + b1j f¨ ur j = t, b 1t = 1 ⎪ ⎩ f¨ ur j = t. b1t
Wegen (4.19) und B > O kann man q Basisvariablenfeld
( 12 )
(4.20)
≥ o schließen. Man erh¨ alt das
BVF 12 = ( w1 , ..., w m , w 1 , ..., w t−1 , z 1 , w t+1 , ..., wn ). Da nun wt keine Basisvariable mehr ist, wird N + m + t als n¨ achster Pivotspaltenindex gew¨ ahlt, damit im n¨ achsten Schritt z t Basisvariable wird. Dann betrachten wir5 " " ## 1 1 1 L= i: = max , ..., . (4.21) ait a1t ant Ist v ein beliebiger Index aus L, so wird ein Gauß–Jordan-Schritt mit Piuhrt und man erh¨ alt votelement avt durchgef¨ w w z z q (1) ∗ O O ∗ q (1) O ∗ ∗ Oq Dabei gilt q
(1)
=q
(1)
( 12 )
und f¨ ur j ∈ {1, ..., m} (1)
qj
5
Beachte: Es ist A > O.
⎧ 1 ⎪ ⎨ −1 + ajt f¨ ur j = v, a vt = 1 ⎪ ⎩ f¨ ur j = v. avt
(4.22)
88
4 Anwendungen
Wegen (4.21) und A > O ist dann q (1) ≥ o. Insgesamt erh¨alt man also q (1) =
q (1) q
(1)
! ≥o
und das Basisvariablenfeld BVF1 = ( w 1 , ..., w v−1 , z t , wv+1 , ..., w m , w 1 , ..., w t−1 , z 1 , wt+1 , ..., w n ). Beispiel 4.1.5 Wir betrachten das Zwei-Personen-Spiel definiert durch
221 132 A= und B = . 122 213 Dies f¨ uhrt auf das Anfangstableau w1 w 2 w 1 w2 w3 z 1 z 2 z 1 z 2 z 3 q (0) 1 0 0 1 O
−2 −2 −1 −1 −1 −2 −2 −1 1 0 0 −1 −2 −1 0 1 0 −3 −1 O −1 0 0 1 −2 −3 −1 O
O
und das Basisvariablenfeld BVF0 = ( w 1 , w 2 , w1 , w2 , w 3 ). Es ist K=
" " ## 1 1 1 1 i: , , = 1 = max = {1}. b1i 1 3 2
Dies bedeutet t = 1 und es wird ein Gauß–Jordan-Schritt mit Pivotelement uhrt. Man erh¨ alt b11 durchgef¨ w1 w2 w 1 w 2 w 3 z 1 z 2 z 1 z 2 z 3 1 0 0 1
O
O
−1 0 0 −3 1 0 −2 0 1
−2 −2 −1 −1 −1 −2 −2 −1 1 2 1 0 5 O 2 0 1 1 O
und das Basisvariablenfeld BVF 12 = ( w 1 , w2 , z 1 , w2 , w3 ). Es hat w 1 das Basisvariablenfeld verlassen. Daher wird die erste Spalte von −A die n¨ achste Pivotspalte.
4.1 Zwei-Personen-Spiele
89
Es ist " " ## 1 1 1 L= i: , = 1 = max = {2}. ai1 2 1 Somit ist v = 2 und es wird ein Gauß–Jordan-Schritt mit Pivotelement a21 durchgef¨ uhrt. Man erh¨ alt w1 w 2 w 1 w 2 w 3 z 1 z 2 z 1 z 2 z 3 q (1) 1 −2 0 −1 O
O
O
0 2 3 1 2 2
−1 0 0 −3 1 0 −2 0 1
1 2 0 5 0 1
O
1 1 1 2 1
und das Basisvariablenfeld BVF1 = ( w1 , z 1 , z 1 , w2 , w 3 ).
Allgemeiner Schritt: Nach der Initialisierung betrachtet man wie beim lexikographischen Lemke-Algorithmus die erweiterten Tableaus: . A(k) | ( q (k) .. (B (k) )−1 ) = (k) .. q . (B (k) )−1 . (k) C (k) O O G(k) q (k) .. (B )−1 O (k) . (k) O D(k) F (k) O q .. O (B )−1 w
(1)
w
z
z
(1)
mit B = E ∈ Rm×m , B = E ∈ Rm×m , A(k) ∈ RN ×2N , C (k) ∈ Rm×m , G(k) ∈ Rm×n , D(k) ∈ Rn×n , F (k) ∈ Rn×m . Zur Bestimmung des Pivotspaltenindex wird wieder eine komplement¨ are Strategie verwendet: • • • •
Hat z j das Basisvariablenfeld BVFk verlassen, so wird j0 := j die (k +1)te Pivotspalte. Hat z j das Basisvariablenfeld BVFk verlassen, so wird j0 := m + j die (k + 1)-te Pivotspalte. Hat w j das Basisvariablenfeld BVFk verlassen, so wird j0 := N + j die (k + 1)-te Pivotspalte. Hat wj das Basisvariablenfeld BVFk verlassen, so wird j0 := N + m + j die (k + 1)-te Pivotspalte.
Auch die Bestimmung des Pivotzeilenindex erfolgt analog zum lexikographischen Lemke-Algorithmus: Ist ⎛ (k) ⎞ a 0 ⎜ 1j . ⎟ ⎟ r := ⎜ ⎝ .. ⎠ (k) aN j0
90
4 Anwendungen
die (k + 1)-te Pivotspalte, so f¨ uhrt man die folgenden Schritte durch: 1. Ist r ≤ o, so endet der Algorithmus mit der Meldung, dass er keine L¨ osung finden kann. Ansonsten wird Schritt 2. durchgef¨ uhrt. 2. Es sei (k) (k) qi qv (k) : aij0 > 0, i = 1, ..., N . J = v : (k) = min (k) avj0 aij0 Gilt 1 ∈ J oder N +1 ∈ J, so w¨ahle als Pivotzeilenindex i0 := 1 bzw. i0 := N +1. Dann wird im n¨ achsten Schritt w1 bzw. z 1 das Basisvariablenfeld verlassen, und der Algorithmus wird im n¨achsten Schritt mit einer L¨ osung terminieren. Ansonsten wird Schritt 3. durchgef¨ uhrt. 3. Bestimme das lexikographische Minimum der Menge 1 (k) (k) (k) (k) qi βi1 . . . βiN : aij0 > 0 , V := (k) aij0 wobei (βij ) = (B (k) )−1 bezeichne. Ist 1 (k) (k) (k) (k) q β β ... β i0 i0 1 i0 2 i0 N (k) ai0 j0 das lexikographische Minimum von V , so wird i0 als Pivotzeilenindex gew¨ahlt. Abbruchkriterium: Der lexikographische Lemke–Howson-Algorithmus endet, wenn entweder w 1 oder z 1 das Basisvariablenfeld verlassen hat. Beispiel 4.1.6 Wir betrachten nochmals Beispiel 4.1.5. Nach der Initialisierung betrachten wir das erweiterte Tableau (1) .. q .E . 0 2 3 1.. 1 0 . O O 1 2 2 1.. 0 1 . 0 1 2 1.. 1 0 0 .. 0 0 5 O 2. O 0 1 0 . 1 0 1 1.. 0 0 1
w1 w2 w1 w2 w 3 z 1 z 2 z 1 z 2 z 3 1 −2 0 −1
O −1 0
O
−3 1 −2 0
und das Basisvariablenfeld BVF1 = ( w 1 , z 1 , z 1 , w 2 , w3 ). Es hat w2 das Basisvariablenfeld verlassen. Also wird j0 = N + 2 = 5 + 2 = 7 der neue Pivotspaltenindex. Wegen " # 1 2 1 2 min , , = 2 5 1 5
4.1 Zwei-Personen-Spiele
91
ergibt sich u ¨ ber J = {4} der Pivotzeilenindex i0 = 4. Nach dem Gauß–JordanSchritt erh¨ alt man . w 1 w2 w 1 w2 w 3 z 1 z 2 z 1 z 2 z 3 q (2) .. (B (2) )−1 . 1 −2 0 2 3 1.. 1 0 . O O O 0 −1 1 2 2 1.. 0 1 . 1 2 1. 1 − 52 0 5 −5 0 1 0 5. . 2. 1 O − 35 15 0 0 1 O 5. O 0 5 0 . 3. 0 − 51 1 − 75 − 51 1 0 0 5. und das Basisvariablenfeld BVF2 = ( w1 , z 1 , z 1 , z 2 , w 3 ). Es hat w2 das Basisvariablenfeld verlassen. Daher wird j0 = N + m + 2 = 5 + 2 + 2 = 9 der neue Pivotspaltenindex. Es ist J = {1, 2}. Wegen 1 ∈ J wird dann als uhrt dann auf Pivotzeilenindex i0 = 1 gew¨ahlt. Der Gauß–Jordan-Schritt f¨ w 1 w 2 w 1 w2 w3 z 1 z 2 z 1 z 2 z 3 q (3) 1 2
−1
−1
1
O
O 1 5 − 53 − 57
0 1
O
− 25 1 5 − 15
3 2
1 2
1 0 −1 0
0 1 0 0 0 1
O
1 0 0
1 5 2 5 3 5
und das Basisvariablenfeld BVF3 = ( z 2 , z 1 , z 1 , z 2 , w 3 ). Es hat w1 das Basisvariablenfeld verlassen. Somit erh¨alt man als L¨ osung des LCP ⎛ ⎞ ⎛1⎞ ⎛ ⎞ ⎛ ⎞ 0 w1 z1 5 ⎜ z2 ⎟ ⎜ 2 ⎟ ⎜ w2 ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜5⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎟ ⎜ ⎟ w=⎜ ⎜ w1 ⎟ = ⎜ 0 ⎟ , z = ⎜ z 1 ⎟ = ⎜ 0 ⎟ . ⎝ z2 ⎠ ⎝ 1 ⎠ ⎝ w2 ⎠ ⎝ 0 ⎠ 2 3 w3 z3 0 5 Mit Satz 4.1.2 ist dann
(ˆ x, yˆ) =
z
z
, T eT 2 z e3 z
⎛ =⎝
1 3 2 3
! ⎛ 0 ⎞⎞ , ⎝ 1 ⎠⎠ 0
ein Nash-Gleichgewicht des Zwei-Personen-Spiels aus Beispiel 4.1.5.
Der folgende Satz liefert einen konstruktiven Beweis von Satz 4.1.1. Denn die Tatsache, dass der lexikographische Lemke–Howson-Algorithmus nach endlich
92
4 Anwendungen
vielen Schritten eine L¨ osung von LCP (q, M ) mit q und M aus (4.14) berechnet, liefert u ¨ ber Lemma 4.1.2 und Satz 4.1.2 konkret ein Nash-Gleichgewicht und somit dessen Existenz. Satz 4.1.3 Gegeben seien A, B ∈ Rm×n mit A > O und B > O. Dann liefert der lexikographische Lemke–Howson-Algorithmus nach endlich vielen Schritten eine L¨ osung von LCP (q, M ) mit
O A em ∈ R(m+n)×(m+n) . q=− ∈ Rm+n , M = BT O en Beweis: Da der lexikographische Lemke–Howson-Algorithmus nach der Initialisierung die erweiterten Tableaus betrachtet, k¨ onnen wir wie in Abschnitt 2.5 folgern, dass keine Zyklen auftreten. Daher endet der Algorithmus nach einer endlichen Anzahl von Gauß–Jordan-Schritten entweder mit einer L¨ osung oder mit der Meldung, dass er keine L¨ osung finden kann, weil eine Pivotspalte r die Bedingung r ≤ o erf¨ ullt. Wir verwenden wieder die Bezeichnungen (4.17) und (4.18). Angenommen nach dem k-ten Schritt erf¨ ulle die (k + 1)-te Pivotspalte ⎛ (k) ⎞ a 0 ⎜ 1j . ⎟ ⎟ r=⎜ ⎝ .. ⎠ (k) aN j0 die Bedingung r ≤ o. Wegen
w1 ∈ BVFk
und
z1 ∈ BVFk
(4.23)
existiert genau ein s ∈ {1, ..., N } mit ws ∈ BVFk und zs ∈ BVFk . Mit . p ∈ {ws , zs } gilt entweder A(k) |(q (k) .. (B (k) )−1 ) = w1
p
z1
(k)
E·v
a1j0 . · · · .. E·N +t · · · (k)
aN j0
. (B (k) )−1 ) (q (k) .. . (k) q (k) .. (B )−1 O
q
(k)
.. .
O
(B
(k)
)−1
. oder A(k) |(q (k) .. (B (k) )−1 ) = w1
z1
p (k)
E·v · · · E·N +t
a1j0 .. . ··· (k)
aN j0
. (q (k) .. (B (k) )−1 ) . (k) q (k) .. (B )−1 O
q
(k)
.. .
O
(B
(k)
)−1
4.1 Zwei-Personen-Spiele
93
je nachdem ob p = ws oder p = zs gilt. Nun definieren wir ⎫ (h) (h) ws := 1, zs := 0, falls p = ws , ⎪ ⎬ (h) (h) ws := 0, zs := 1, falls p = zs , ⎪ ⎭ (k) (k) ws := 0, zs := 0.
(4.24)
Weiter setzen wir (h)
w1
(k)
:= −avj0 ,
(h)
(k)
:= −atj0 ,
z1
(k)
(k)
(k)
:= qv(k) = q (k) v ,
w1
z1
:= q t .
F¨ ur i = 2, ..., N , i = s gehen wir dann wie folgt vor: Ist wi ∈ BVFk und gilt (k) A·i = E·ν , so setzen wir (h)
wi
(k)
(h)
:= −aνj0 ,
zi
(k)
:= 0,
wi
(k)
:= qν(k) ,
zi
:= 0.
(4.25)
(k)
Ist andererseits zi ∈ BVFk und gilt A·N +i = E·μ , so setzen wir (h)
wi
(h)
:= 0,
zi
(k)
:= −aμj0 ,
(k)
wi
(k)
:= 0,
zi
:= qμ(k) .
(4.26)
(k)
Somit gelten wegen q (k) ≥ o und A·j0 ≤ o folgende Aussagen: 1. Es existieren Vektoren w(h) ∈ RN und z (h) ∈ RN mit w(h) − M z (h) = o,
w(h) ≥ o, z (h) ≥ o, (w
(h) T (h)
) z
= 0.
(4.27)
= 0.
(4.28)
2. Es existieren Vektoren w(k) ∈ RN und z (k) ∈ RN mit w(k) − M z (k) = q, 3. Es gilt (w
w(k) ≥ o, z (k) ≥ o, (k) T (h)
) z
= 0 = (w
(w
(k) T (k)
(h) T (k)
) z
) z
.
(4.29)
4. Es gilt (k)
wi
(k)
· zi
(h)
= 0 = wi
(h)
· zi
(k)
und w i
(h)
· zi
(h)
= 0 = wi
(k)
· zi
(4.30)
f¨ ur i = 2, ..., m. Auf Grund der Gestalt von M folgt aus (4.27) !
! w (h) z (h) O A − =o (h) (h) BT O w z bzw.
⎫ , ⎬ = B T z (h) . ⎭
w (h) = Az w
(h)
(h)
(4.31)
94
4 Anwendungen (h)
(h)
Es ist (w (h) , w , z (h) , z )T = o, da wegen (4.24) mindestens eine Kompo(h) nente den Wert 1 hat. Daher folgt aus (4.31), dass (z (h) , z )T = o gelten muss. Wir werden nun zeigen, dass
z (h) = o
(4.32)
gilt. Wegen B T > O, (4.31), (4.29) und (4.28) hat man z (h) = o
⇒
w
(h)
⇒
>o
z
(k)
=o
⇒
w(k) = −em < o.
w (k) < o ist ein Widerspruch zu (4.28). Daher gilt (4.32) und es folgt z (h) z = o. Mit A > O folgt dann aus (4.31)
(h)
w(h) > o.
≥ o,
(4.33)
Hieraus folgt einerseits wegen (4.25)-(4.26) zusammen mit zs ∈ BVFk
zi ∈ BVFk ,
i = 2, ..., m.
(4.34)
Andererseits folgt aus (4.33) wegen (4.30) (k)
zi
= 0,
i = 2, ..., m.
Damit folgt aus (4.28) w
(k)
Wegen q
(k)
(k)
= −en + z 1 · (B T )·1 = (B
(k)
)−1 q
Spalten der Matrix B
(1)
(k)
bzw.
D(k) w
(k)
(k)
(k)
+ z 1 · F·1 = q
(k)
.
sind dann n − 1 Spalten der Matrix D(k) und n − 1
n-dimensionale Standard-Basisvektoren und
f¨ ur n − 1 Indizes i ∈ {1, ..., n} gilt
wi ∈ BVFk .
(4.35)
Somit gilt f¨ ur mindestens n − 1 Indizes i ∈ {1, ..., n} z i ∈ BVFk . Es sind sogar genau n − 1 Indizes, da n Indizes wegen z
(k)
=o
⇒
w (k) = −em < o
einen Widerspruch erzeugen. Somit existiert genau ein Index l ∈ {1, ..., n} mit z l ∈ BVFk . Zusammen mit (4.35), (4.23), (4.34) und ws ∈ BVFk erh¨alt man BVFk =
( z l , w1 , .., w l−1 , w l+1 , .., w n , w 1 , z 1 , w 2 , .., w s−1 , w s+1 , .., w m ). Wie in Bemerkung 2.4.1 identifizieren wir auch hier Basisvariablenfelder miteinander, die sich lediglich durch eine Permutation unterscheiden. Da beim lexikographischen Lemke–Howson-Algorithmus keine Zyklen auftreten, muss BVFk = BVF1 gelten.
4.1 Zwei-Personen-Spiele
95
Wegen BVF1 = ( w1 , ..., w v−1 , z t , w v+1 , ..., wm , w1 , ..., w t−1 , z 1 , w t+1 , ..., w n ) muss also v = s gelten. Wegen q (k) = (B
(k) −1 (1)
)
B
q
(k)
= E
oder t = l und q
(k)
= (B
oder B
(k)
(4.36) (k)
)−1 q
(1)
folgt aus (4.36)
= E.
(k)
1. Fall: B = E. Auf Grund der Beschaffenheit von BVFk besteht dann (k) m×m B ∈R aus m − 1 Standard-Basisvektoren und einer weiteren Spalte c ∈ Rm . Daher existiert ein i ∈ {1, ..., m} mit (k)
(k)
(β i1 ... β im ) := ((B
(k) −1
)
)i· =
1 T · E ·i . ci
(4.37)
(k)
Wegen B = E ist der Vektor c aus dem Standard-Basisvektor E ·v hervorgegangen, nachdem in der Pivotspalte −A·t ein Gauß–Jordan-Schritt durchgef¨ uhrt wurde. Es ist ⎧ 1 ⎪ falls i = v, ⎪ ⎨ −a vt ci = ⎪ ⎪ ⎩ 0 − −ait falls i = v. −avt Wegen A > O ist dann c < o. Mit q (1) ≥ o folgt dann aus (4.37) (k)
qi und
(1) (k) q = (B )−1 · q (1) = i ≤ 0 ci i (k)
(q i
(k)
(k)
β i1 ... β im ) o.
Dies ist ein Widerspruch zum lexikographischen Lemke–Howson-Algorithmus. 2. Fall: B (k)
(k)
= E. Auf Grund der Beschaffenheit von BVFk besteht dann
B ∈ R aus n − 1 Standard-Basisvektoren und einer weiteren Spalte d ∈ Rn . Daher existiert ein i ∈ {1, ..., n} mit n×n
(k)
(k)
(β i1 ... β in ) := ((B (k)
(k)
)−1 )i· =
T 1 · E ·i . di
(4.38)
Wegen B = E ist der Vektor d aus dem Standard-Basisvektor E ·t hervorgegangen, nachdem in der Pivotspalte (−B T )·1 ein Gauß–Jordan-Schritt durchgef¨ uhrt wurde.
96
4 Anwendungen
Es ist ⎧ ⎪ ⎪ ⎨ di =
1 −b1t
⎪ ⎪ ⎩ 0 − −b1i −b1t
Wegen B > O ist dann d < o. Mit q (k)
qi
falls i = t,
(1)
falls i = t.
≥ o folgt dann aus (4.38)
(1) (k) q (1) = (B )−1 · q = i ≤0 di i
und (k)
(q i
(k)
(k)
β i1 ... β in ) o.
Dies ist ein Widerspruch zum lexikographischen Lemke–Howson-Algorithmus. Beide F¨alle f¨ uhren auf einen Widerspruch. Daher ist die Annahme, der lexikographische Lemke–Howson-Algorithmus k¨onnte enden, ohne eine L¨ osung zu finden, falsch. Zum Abschluss dieses Abschnitts m¨ oge der Leser sein Ergebnis von Aufgabe 4.1.1 mit dem lexikographischen Lemke–Howson-Algorithmus best¨atigen. Siehe Aufgabe 4.1.3. F¨ ur weitere Beispiele von Zwei-Personen-Spielen verweisen wir auf das Buch [15] von M. J. Canty und auf das Buch [107] von W. Schlee. Aufgabe 4.1.3 Berechnen Sie mit dem lexikographischen Lemke–HowsonAlgorithmus ein Nash-Gleichgewicht des Zwei-Personen-Spiels, welches gegeben ist durch
5 0 5 10 A= und B = . 10 1 0 1 Aufgabe 4.1.4 Berechnen Sie zwei verschiedene Nash-Gleichgewichte f¨ ur das Zwei-Personen-Spiel, welches gegeben ist durch ⎛ ⎞ ⎛ ⎞ 12 7 5 9 2 1 2 3 4 3 ⎜ 3 7 9 11 7 ⎟ ⎜8 7 8 4 2⎟ ⎜ ⎟ ⎟ A=⎜ ⎝ 8 16 9 4 6 ⎠ und B = ⎝ 3 1 7 1 2 ⎠ . 7 83 6 9 3 7 9 21 2 Vor welchem Problem steht ein Schlichter durch Kenntnis beider Nash-Gleichgewichte?
4.2 Lineare Programme
97
4.2 Lineare Programme Bereits in Abschnitt 3.1.3 haben wir lineare Programme angesprochen. Es wird sich in diesem Abschnitt zeigen, dass ein lineares Programm in ein LCP umgeschrieben werden kann. Die Matrix M , die dabei entsteht, ist schiefsymmetrisch und somit insbesondere positiv semidefinit. Siehe Beispiel 3.2.1. LCP (q, M ) kann daher auf Grund von Satz 3.2.1 mit dem lexikographischen Lemke-Algorithmus gel¨ost werden. 4.2.1 Grundlagen Ein lineares Programm ist ein Spezialfall eines so genannten mathematischen Programms. Die mathematische Programmierung - auch mathematische Optimierung genannt - befasst sich mit dem Problem der Extremwertermittlung einer Funktion u ¨ber einem zul¨ assigen Bereich. Gegeben sind also ein Teilbereich B des Rn sowie eine mindestens auf B definierte reellwertige Funktion F (x), und gesucht ist das Minimum bzw. das Maximum von F (x) auf B sowie eine zugeh¨ orige Minimalstelle bzw. Maximalstelle. Falls man das Minimum sucht, so ist also ein Punkt x ˆ ∈ B zu bestimmen, derart, dass f¨ ur alle x ∈ B F (ˆ x) ≤ F (x)
(4.39)
gilt. Wir schreiben f¨ ur diese Aufgabe auch kurz min{F (x) : x ∈ B}.
(4.40)
Entsprechend hat man beim Maximumproblem, das wir mit max{F (x) : x ∈ B} abk¨ urzen, ein x ˆ ∈ B zu bestimmen, derart, dass f¨ ur alle x ∈ B x ˆ ∈ B,
F (ˆ x) ≥ F (x)
gilt. Da offensichtlich min{F (x) : x ∈ R} mit max{−F (x) : x ∈ R} gleichwertig ist, kann man sich im Allgemeinen auf eine der beiden Problemstellungen beschr¨anken. Die Aufgabe (4.40) ist die Grundform eines mathematischen Programms. Man nennt F (x) die Zielfunktion des Programms, B den zul¨ assigen Bereich. Jeder Punkt x ˆ ∈ B, der (4.39) gen¨ ugt, heißt L¨osung des Programms. Wenn x ˆ eine L¨osung ist, so heißt die Gr¨oße Fˆ = F (ˆ x) Optimalwert des Programms. Man sagt auch, F (x) nimmt in x ˆ das Minimum u ¨ ber B an. Ein mathematisches Programm heißt lineares Programm, wenn die Zielfunktion linear ist und auch B durch lineare Ausdr¨ ucke beschrieben wird. Es seien
98
4 Anwendungen
f ∈ R, c ∈ Rn , A1 , A2 ∈ Rm×n und b1 ∈ Rm , b2 ∈ Rm . Dann hat ein lineares Programm im Falle eines Minimumproblems die folgende Form min{cT x + f : A1 x ≥ b1 , A2 x = b2 }. Die Klammerschreibweise min{...} verliert bei linearen Programmen rasch an ¨ Ubersichtlichkeit, weshalb wir eine tableaum¨aßige Darstellung vorziehen: min cT x + f bez. A1 x ≥ b1 , A2 x = b2 .
(4.41)
Ist x ˆ ∈ B eine L¨osung von min{cT x+f : x ∈ B}, so ist x ˆ auch eine L¨ osung von min{cT x : x ∈ B}. Daher k¨ onnen wir ohne Einschr¨ ankung f = 0 annehmen. ¨ Es ist f¨ ur theoretische Uberlegungen nicht n¨ otig, immer die allgemeine Form (4.41) heranzuziehen. Man kann sich auf die folgenden Standardprogramme beschr¨anken, die wir mit I, II, III bezeichnen. I : min cT x bez. Ax ≥ b. II : min cT x bez. Ax ≥ b, x ≥ o. III : min cT x bez. Ax = b, x ≥ o. Dabei sind c ∈ Rn , A ∈ Rm×n und b ∈ Rm . Man kann zeigen, dass sich die Programme I, II, III ineinander u ¨ berf¨ uhren lassen. Siehe beispielsweise [14]. Dies hat zur Folge, dass sich alle linearen Programme l¨ osen lassen, sobald man weiß, wie man eins der drei Programme I, II, III l¨ osen kann. Es wird sich in Bezug auf das LCP als geschickt erweisen, sich auf das Programm II zu spezialisieren. Unter einem linearen Programm verstehen wir also im Folgenden min cT x bez. Ax ≥ b, x ≥ o. Dabei sind c ∈ Rn , A ∈ Rm×n und b ∈ Rm .
(4.42)
4.2 Lineare Programme
99
4.2.2 Dualit¨ atstheorie Die Dualit¨ atstheorie der mathematischen Programmierung besch¨ aftigt sich mit Paaren von Programmen. Jedem so genannten primalen Programm I, II, III wird jeweils ein so genanntes duales Programm zugeordnet. Das zum primalen Programm (4.42) definierte duale Programm lautet max bT u bez. AT u ≤ c, u ≥ o.
(4.43)
Das folgende Lemma wird die Programme (4.42) und (4.43) miteinander in Verbindung bringen. Lemma 4.2.1 Gegeben sei das primale Programm (4.42) und das dazugeh¨ orende duale Programm (4.43). Ist x zul¨ assig f¨ ur (4.42) und u zul¨ assig f¨ ur (4.43), so gilt cT x ≥ bT u. Beweis: Ist x zul¨assig f¨ ur (4.42), so gilt Ax ≥ b Analog folgt
und x ≥ o.
c ≥ AT u und
u≥o
da u zul¨ assig f¨ ur (4.43) ist. Daher erh¨alt man wegen cT x = xT c ≥ xT AT u = uT Ax ≥ uT b = bT u die Behauptung.
Eine Aussage, wann genau in Lemma 4.2.1 Gleichheit herrscht, macht der folgende Dualit¨ atssatz. Er ist die Hauptaussage der Dualit¨ atstheorie der linearen Programmierung. Satz 4.2.1 (Dualit¨ atssatz) Das primale Programm (4.42) hat genau dann eine L¨ osung, wenn das duale Programm (4.43) eine L¨ osung besitzt. In diesem Fall sind die Optimalwerte der Zielfunktionen gleich. F¨ ur einen Beweis dieses Satzes verweisen wir auf das Buch [14] von E. Blum und W. Oettli. Der dort gef¨ uhrte Beweis ist elementar, und das einzige Hilfsmittel, welches verwendet wird, ist das Lemma von Farkas.6 Siehe Satz A.2.3. Bevor wir den Zusammenhang zwischen einem linearen Programm und einem linearen Komplementarit¨atsproblem herstellen, betrachten wir ein Beispiel aus der Unternehmensforschung, welches die Dualit¨ at etwas erl¨autern soll. 6
Manche Lehrb¨ ucher u ¨ber lineare Optimierung beginnen mit dem Simplexverfahren und benutzen dieses dann im Beweis des Dualit¨ atssatzes. Eine Vorlesung basierend auf diesem Buch kommt g¨ anzlich ohne das Simplexverfahren aus, indem der Dualit¨ atssatz mit dem Lemma von Farkas bewiesen wird und indem das aus dem linearen Program (4.42) entstehende LCP mit dem lexikographischen Lemke-Algorithmus gel¨ ost wird.
100
4 Anwendungen
Beispiel 4.2.1 (Das Di¨ atproblem) Wir betrachten einen beliebigen Verbraucher, der eine kostenbewusste Di¨at machen will. Damit das Beispiel u ¨ bersichtlich bleibt, nehmen wir an, die Di¨ at des Verbrauchers beschr¨ anke sich auf die Einnahme von Vitamin A und Vitamin C, und sowohl Vitamin A als auch Vitamin C seien in 6 verschiedenen Nahrungsmitteln enthalten. Diese 2 N¨ahrstoffe (Vitamin A und Vitamin C) und die 6 verschiedenen Nahrungsmittel sind durch eine Matrix A = (aij ) ∈ R2×6 wie folgt miteinander verkn¨ upft. F¨ ur j = 1, ..., 6 gibt der Wert von a1j an, dass ein Mensch a1j Einheiten Vitamin A zu sich nimmt, falls er ein Kilogramm des j−ten Nahrungsmittels zu sich nimmt. Analog gibt f¨ ur j = 1, ..., 6 der Wert von a2j an, dass ein Mensch a2j Einheiten Vitamin C zu sich nimmt, falls er ein Kilogramm des j−ten Nahrungsmittels zu sich nimmt. Diese Matrix A ∈ R2×6 ist als bekannt vorausgesetzt - z.B. durch eine Tabelle in einem Buch u ¨ ber Ern¨ ahrung. Wir nehmen der Einfachheit wegen an, in einem solchen Buch sei die Matrix
102212 A= (4.44) 013132 zu finden. Mit diesen Daten setzen wir also voraus, dass zum Beispiel ein Kilogramm des 3-ten Nahrungsmittels 2 Einheiten Vitamin A und 3 Einheiten Vitamin C enth¨ alt. Außerdem nehmen wir an, in dem Buch u ¨ber Ern¨ ahrung sei zu lesen, dass ein Mensch am Tag mindestens 9 Einheiten Vitamin mindestens 19 9 A und ∈ R2 . Ferner nehmen Einheiten Vitamin C ben¨ otige. Wir setzen b = 19 wir an, dass ein Kilogramm des j-ten Nahrungsmittels cj Euro kostet. Wir nehmen an, zurzeit w¨ urde c1 = 3.50,
c2 = 3,
c3 = 6,
c4 = 5,
c5 = 2.70,
c6 = 2.20
(4.45)
gelten. Der kostenbewusste Verbraucher, der eine Di¨at machen will, steht nun vor der Aufgabe, pro Tag vom j-ten Nahrungsmittel xj Kilogramm zu kaufen, so dass der t¨ agliche Bedarf an Vitamin A und Vitamin C gedeckt ist und die Kosten minimiert werden. Er hat also das folgende lineare Programm zu l¨ osen. min cT x bez. Ax ≥ b, x ≥ o, mit
(4.46)
⎛
⎞ 3.50 ⎜ 3 ⎟ ⎜ ⎟ ⎜ 6 ⎟ ⎟ c=⎜ ⎜ 5 ⎟, ⎜ ⎟ ⎝ 2.70 ⎠ 2.20
A=
102212 013132
,
b=
9 19
(4.47)
4.2 Lineare Programme
101
und ⎞ x1 ⎜ x2 ⎟ ⎜ ⎟ ⎜ x3 ⎟ ⎟ x=⎜ ⎜ x4 ⎟ . ⎜ ⎟ ⎝ x5 ⎠ x6 ⎛
Man beachte, dass die Werte von xj keine nat¨ urlichen Zahlen zu sein brauchen. Wie kann man in diesem konkreten Beispiel das zugeordnete duale Programm deuten? Wir nehmen an, ein gewiefter Gesch¨ aftsmann kommt auf die Idee, dem Einkaufsladen, in dem die 6 Nahrungsmittel zu kaufen sind, Konkurrenz zu machen, indem er Vitamin A und Vitamin C als synthetische Pillen anbietet. Die Pillen werden so dosiert, dass eine Pille Vitamin A genau eine Einheit Vitamin A enth¨ alt. Analoges gilt f¨ ur die Pille Vitamin C. Der Gesch¨ aftsmann stellt sich nun die Frage, f¨ ur welchen Preis er die Pillen anbieten soll, um den Verbraucher, der eine Di¨at machen will, als Kunden zu gewinnen. Er bezeichnet mit u1 den Preis einer Pille Vitamin A und mit u2 den Preis einer Pille Vitamin C, d.h. eine Pille Vitamin A soll u1 Euro kosten und eine Pille Vitamin C soll u2 Euro kosten. Der Gesch¨aftsmann muss davon ausgehen, dass der kostenbewusste Verbraucher, der eine Di¨at machen will, pro Tag genau 9 Pillen Vitamin A und genau 19 Pillen Vitamin C kauft, um genau den Mindestbedarf an Vitaminen zu decken. Die Einnahme des Gesch¨ aftsmannes w¨are somit 9 · u1 + 19 · u2 Euro pro Tag. Diesen Geldbetrag will der Gesch¨ aftsmann maximieren. Dabei kann er die Preise u1 und u2 nicht beliebig hoch setzen, falls er den kostenbewussten Verbraucher als Kunden gewinnen will. Die Preise f¨ ur die Pillen m¨ ussen in Konkurrenz zu den Preisen der 6 Nahrungsmittel stehen. Zum Beispiel enth¨ alt gem¨aß (4.44) ein Kilogramm des 3-ten Nahrungsmittels 2 Einheiten Vitamin A und 3 Einheiten Vitamin C. Dieses Kilogramm erh¨ alt aren von dem Gesch¨aftsmann die Preise man gem¨aß (4.45) f¨ ur c3 = 6 Euro. W¨ u1 und u2 so gew¨ahlt, dass 2 · u1 + 3 · u3 > 6 gelten w¨ urde, so w¨are der Erwerb von zwei Einheiten Vitamin A und von 3 Einheiten Vitamin C durch den Kauf von Pillen teurer als der Erwerb von zwei Einheiten Vitamin A und von 3 Einheiten Vitamin C durch Kauf eines ¨ Kilogramms des dritten Nahrungsmittels. Diese Uberlegung muss f¨ ur alle 6 Nahrungsmittel gelten.
102
4 Anwendungen
Daher hat der Gesch¨aftsmann das folgende lineare Programm zu l¨ osen: max bT u bez. AT u ≤ c, u≥o mit b, c, A aus (4.47) und
u=
u1 u2
.
Dies ist das duale Programm zu (4.46).
Aufgabe 4.2.1 Gegeben seien das primale Programm (4.42) und das duale Programm (4.43). Ist xˆ zul¨ assig f¨ ur (4.42), ist u ˆ zul¨ assig f¨ ur (4.43) und gilt ˆ = bT uˆ, so ist x ˆ eine L¨ osung von (4.42) und u ˆ ist eine L¨ osung von (4.43). cT x 4.2.3 Lineare Programme und das LCP Der Zusammenhang zwischen einem linearen Programm und dem LCP basiert auf dem Dualit¨ atsatz und Aufgabe 4.2.1. Er ist in folgendem Satz festgehalten. osung des primalen Programms (4.42) und Satz 4.2.2 Es sind xˆ ∈ Rn eine L¨ osung des dualen Programms (4.43) genau dann, wenn der u ˆ ∈ Rm eine L¨ Vektor
x ˆ zˆ := ∈ Rn+m u ˆ eine L¨ osung von LCP (q, M ) ist mit ! c q= ∈ Rn+m , M = −b
O −AT A
!
O
∈ R(n+m)×(n+m) .
ˆ ∈ Rm eine Beweis: a) Es sei x ˆ ∈ Rn eine L¨osung von (4.42) und es sei u L¨osung von (4.43). Dann gilt Aˆ x ≥ b, xˆ ≥ o,
AT u ˆ ≤ c, uˆ ≥ o
bzw. zˆ ≥ o,
q + M zˆ ≥ o.
ˆ. Somit folgt Nach dem Dualit¨atssatz gilt cT xˆ = bT u
c − AT uˆ xT u ˆT ) ˆ−x ˆT AT u ˆ − bT u ˆ+u ˆT Aˆ x = 0. = cT x zˆT (q + M zˆ) = (ˆ −b + Aˆ x b) Es sei zˆ eine L¨osung von LCP (q, M ). Dann folgen aus zˆ ≥ o, q + M zˆ ≥ o die Bedingungen ˆ ≤ c, u ˆ ≥ o. Aˆ x ≥ b, x ˆ ≥ o, AT u
4.2 Lineare Programme
103
Somit ist x ˆ zul¨assig f¨ ur (4.42) und u ˆ ist zul¨ assig f¨ ur (4.43). Aus zˆT (q + M zˆ) = 0 folgt dann wie im a)-Teil, dass cT xˆ = bT uˆ gilt. Mit Aufgabe 4.2.1 ist dann x ˆ eine L¨osung von (4.42) und u ˆ eine L¨osung von (4.43). Die Matrix M ∈ R(n+m)×(n+m) aus Satz 4.2.2 ist offensichtlich schiefsymmetrisch und daher positiv semidefinit. Man kann somit nach Satz 3.2.1 den lexikographischen Lemke-Algorithmus verwenden, um lineare Programme zu l¨ osen. 4.2.4 Quadratische Programme Wir betrachten das quadratische Programm min 12 xT Dx + cT x + f, bez.
Ax ≥ b,
(4.48)
x ≥ o. Dabei sind x ∈ Rn , f ∈ R, A ∈ Rm×n , D ∈ Rn×n , c ∈ Rn und b ∈ Rm . Ohne Einschr¨ ankung k¨ onnen wir annehmen, dass die Matrix D symmetrisch ˜ := 1 (D + DT ) gilt ist. Denn f¨ ur D 2 ˜ = xT Dx
1 T 1 (x Dx + xT DT x) = (xT (Dx) + (Dx)T x) = xT Dx. 2 2
Dies bedeutet, dass sich die Werte der Zielfunktion von (4.48) nicht a¨ndern, ˜ falls man D ersetzt durch die symmetrische Matrix D. Bevor wir den Zusammenhang zwischen einem quadratischen Programm und dem LCP herstellen, betrachten wir ein Beispiel. Beispiel 4.2.2 Optimale Lagerhaltung Wir betrachten ein Lager u ¨ ber einen Zeitraum von p Perioden. Der Bedarf an dem im Lager befindlichen Gut sei f¨ ur jede Periode als feste Gr¨ oße bekannt (z.B. Anforderung an ein Heizwerk). In jeder Periode ist eine gewisse Menge dieses Gutes an das Lager zu liefern. Diese Anlieferung u ¨ bt in jeder Periode eine gewisse Belastung auf einen Park von Fahrzeugen aus, die mitunter Spezialfahrzeuge (z.B. Spezialtanker f¨ ur Heiz¨ol) darstellen. Welche Menge des Gutes ist nun in jeder Periode anzuliefern, damit der Bedarf laufend gedeckt wird und die Belastung des Fahrzeugparks u ¨ber den gesamten Zeitraum eine minimale Streuung aufweist?
104
4 Anwendungen
Um die Aufgabenstellung konkreter zu fassen, f¨ uhren wir Bezeichnungen ein: i = Nummer der Periode (i = 1, .., p), gi = Bedarfsmenge des Gutes in der Periode i, xi = Anlieferungsmenge in der Periode i, a = Anfangsbestand des Lagers, k = Kapazit¨ at des Lagers. Die Belastung, die eine Anlieferung zur Folge hat, ist proportional zur Anlieferungsmenge xi . Es sind also xi , i = 1, ..., p, derart zu bestimmen, dass die Streuung minimal wird, d.h. minimiere F (x) :=
p
2
(xi − x ˆ) =
i=1
p
x2i
− 2ˆ x
i=1
mit
p
xi + p · xˆ2
i=1
1 gi . p i=1 p
x ˆ=
Wir formulieren nun die Nebenbedingungen, denen die Variablen gen¨ ugen m¨ ussen. Der Bestand des Lagers am Ende der Periode i, d.h. der Ausdruck Bi = a +
i
(xj − gj ),
j=1
muss offenbar die folgenden Forderungen erf¨ ullen: 0 ≤ Bi ≤ k, d.h.
i
−
j=1 i
xj ≥
i
gj − a,
i = 1, ..., p,
j=1 i
xj ≥ a −
j=1
i = 1, ..., p,
gj − k,
i = 1, ..., p.
j=1
Außerdem muss nat¨ urlich xi ≥ 0,
i = 1, ..., p,
gelten. Wir erhalten ein quadratisches Programm der Form (4.48) mit f =p·x ˆ2 ,
D = 2E ∈ Rp×p
4.2 Lineare Programme
105
sowie ⎛ ⎞ p gj ⎜ j=1 ⎟ ⎟ 2⎜ ⎜ ⎟ c = − ⎜ ... ⎟ ∈ Rp , ⎟ p⎜ p ⎝ ⎠ gj j=1
⎞ 1 0 ... 0 ⎜ .. . . . . .. ⎟ ⎜ . . . . ⎟ ⎟ ⎜ ⎟ ⎜ .. ⎜ . . . . ... 0 ⎟ ⎟ ⎜ ⎜ 1 ... ... 1 ⎟ ⎟ ∈ R2p×p ⎜ A=⎜ ⎟ ⎜ −1 0 . . . 0 ⎟ ⎟ ⎜ . . . . ⎜ .. . . . . .. ⎟ ⎟ ⎜ ⎟ ⎜ . ⎝ .. . . . . . . 0 ⎠ −1 . . . . . . −1 ⎛
und ⎛
g1 − a .. .
⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ i ⎜ ⎟ ⎜ ⎟ g − a j ⎜ j=1 ⎟ ⎜ ⎟ ⎜ ⎟ .. ⎜ ⎟ . ⎜ ⎟ p ⎜ ⎟ ⎜ gj − a ⎟ ⎜ ⎟ ⎜ ⎟ b = ⎜ j=1 ⎟ ∈ R2p . ⎜ a − g1 − k ⎟ ⎜ ⎟ .. ⎜ ⎟ ⎜ ⎟ . ⎜ ⎟ i ⎜ ⎟ ⎜a − gj − k ⎟ ⎜ ⎟ j=1 ⎜ ⎟ ⎜ ⎟ . .. ⎜ ⎟ ⎜ ⎟ p ⎝ ⎠ gj − k a− j=1
106
4 Anwendungen
4.2.5 Quadratische Programme und das LCP Auch zwischen einem quadratischen Programm und dem LCP besteht ein Zusammenhang. Der folgende Satz ist noch als Hilfssatz zu verstehen. Satz 4.2.3 Ist x ˆ eine L¨ osung des quadratischen Programms (4.48), wobei D ohne Einschr¨ ankung symmetrisch ist, so ist x ˆ auch eine L¨ osung des linearen Programms min (cT + x ˆT D)x + f bez.
Ax ≥ b, x ≥ o.
Beweis: Sei y ein zul¨ assiger Vektor. Dann ist offensichtlich auch x(λ) := x ˆ + λ(y − xˆ) f¨ ur jedes λ ∈ [0, 1] ein zul¨ assiger Vektor. Da xˆ eine L¨osung des quadratischen Programms (4.48) ist, gilt f¨ ur alle λ ∈ [0, 1] 1 1 T x ˆ Dˆ x + cT xˆ + f ≤ x(λ)T D · x(λ) + cT x(λ) + f 2 2 bzw. 0≤
1 T 1 (ˆ x + λ(y − x ˆ))T D(ˆ ˆ Dˆ x + λ(y − x ˆ)) − x x + cT (x(λ) − xˆ). 2 2
Da die Matrix D nach Voraussetzung symmetrisch ist, erh¨alt man 0≤
1 2 λ (y − x ˆ)T D(y − x ˆ) + λˆ xT D(y − x ˆ) + λcT (y − xˆ). 2
Nach Division durch λ ∈ (0, 1] ergibt sich λ ˆ)T D(y − x − (y − x ˆ) ≤ (cT + xˆT D)(y − x ˆ) f¨ ur alle λ ∈ (0, 1]. 2 ˆT D)(y − x ˆ) ≥ 0, was dann Daraus folgt (cT + x (cT + x ˆT D)y + f ≥ (cT + x ˆT D)ˆ x+f impliziert.
Wir zeigen nun den Zusammenhang zwischen dem quadratischen Programm (4.48) und dem LCP. osung des quadratischen Programms (4.48), Satz 4.2.4 Es sei x ˆ ∈ Rn eine L¨ wobei D ohne Einschr¨ ankung als symmetrisch vorausgesetzt sei. Dann existiert ein u ˆ ∈ Rm , so dass der Vektor
x ˆ zˆ := ∈ Rn+m u ˆ
4.2 Lineare Programme
107
eine L¨ osung von LCP (q, M ) ist mit
D −AT c q= ∈ Rn+m , M = ∈ R(n+m)×(n+m) . −b A O Beweis: Nach Satz 4.2.3 ist xˆ eine L¨osung des linearen Programms min c˜T x + f bez. Ax ≥ b, x≥o mit c˜ := c + Dˆ x. Mit dem Dualit¨ atssatz und Satz 4.2.2 folgt die Existenz eines ost mit Vektors u ˆ ∈ Rm , so dass der Vektor zˆ = xuˆˆ das LCP (q, M ) l¨
O −AT c˜ ∈ R(n+m)×(n+m) . q= ∈ Rn+m , M = A O −b Dies bedeutet, dass T
T
T
ˆ ≥ o, Aˆ x − b ≥ o, (ˆ x uˆ ) x ˆ ≥ o, uˆ ≥ o, c˜ − A u
c˜ − AT uˆ Aˆ x−b
gilt. Ersetzt man nun c˜ durch c + Dˆ x, so folgt die Behauptung.
=0
Satz 4.2.4 kann man wie folgt anwenden: Ist LCP (q, M ) mit q und M aus Satz 4.2.4 unl¨ osbar, so ist auch das quadratische Programm (4.48) unl¨ osbar. Ist LCP (q, M ) allerdings l¨ osbar, so ist nicht garantiert, dass auch das quadratische Programm (4.48) l¨osbar ist. Beispiel 4.2.3 Wir betrachten das quadratische Programm min
−x2 ,
bez. x ≥ −1, x ≥ 0. D.h. wir betrachten (4.48) mit D = −2, A = 1, c = 0, b = −1 und f = 0. Dieses Programm besitzt offensichtlich keine L¨ osung. Allerdings besitzt LCP (q, M ) mit
0 −2 −1 q= und M = 1 1 0 die Vektoren w = q und z = o als L¨osung.
Um von der L¨ osbarkeit von LCP (q, M ) auf die L¨ osbarkeit des quadratischen Programms (4.48) schließen zu k¨onnen, bedarf es einer zus¨ atzlichen Voraussetzung.
108
4 Anwendungen
Satz 4.2.5 Es sei D ∈ Rn×n positiv semidefinit und ohne Einschr¨ ankung symmetrisch. Weiter sei der Vektor
x ˆ zˆ := ∈ Rn+m mit x ˆ ∈ Rn , u ˆ ∈ Rm u ˆ eine L¨ osung von LCP (q, M ) mit
c D −AT q= ∈ Rn+m , M = ∈ R(n+m)×(n+m) . −b A O Dann ist x ˆ eine L¨ osung des quadratischen Programms (4.48). Beweis: Es ist
c −b
+
D −AT A O
x ˆ ≥ o, u ˆ
x ˆ ≥ o, u ˆ≥o
und (c+ Dˆ x − AT u ˆ)T x ˆ + (−b + Aˆ x)T u ˆ = 0. Daher ist zˆ = uxˆˆ auch eine L¨ osung von LCP (q, M ) mit
c + Dˆ x O −AT ∈ R(n+m)×(n+m) . q= ∈ Rn+m , M = A O −b Nach Satz 4.2.2 ist dann xˆ eine L¨osung des linearen Programms min (c + Dˆ x)T x bez.
Ax ≥ b, x ≥ o.
Somit gilt (c + Dˆ x)T (x − x ˆ) ≥ 0
f¨ ur alle x ∈ Rn mit Ax ≥ b, x ≥ o.
(4.49)
Da D symmetrisch und positiv semidefinit ist, gilt 0≤
1 1 1 (x− xˆ)T D(x− xˆ) = xT Dx− xˆT Dx+ xˆT Dˆ x 2 2 2
f¨ ur alle x ∈ Rn . (4.50)
Setzt man die Resultate (4.49) und (4.50) zusammen, so erh¨alt man f¨ ur ur alle x ∈ Rn mit Ax ≥ b Q(x) := 12 xT Dx + cT x + f die Aussage, dass f¨ und x ≥ o 1 T 1 T ˆ) − x x x Dx + cT (x − x ˆ Dˆ 2 2 1 = (x − x x)T (x − x ˆ) ≥ 0 ˆ)T D(x − xˆ) + (c + Dˆ 2
Q(x) − Q(ˆ x) =
gilt. Somit ist xˆ eine L¨osung des quadratischen Programms (4.48).
4.2 Lineare Programme
109
Die Matrix M ∈ R(n+m)×(n+m) aus Satz 4.2.5 ist genau dann positiv semidefinit, wenn die Matrix D positiv semidefinit ist. Denn f¨ ur x ∈ Rn , m y ∈ R gilt ! ! x T T D −AT x y = xT Dx − xT AT y + y T Ax = xT Dx. A O y Die Matrix D in Beispiel 4.2.2 ist sogar positiv definit. Das Problem der optimalen Lagerhaltung kann somit u ¨ber ein LCP gel¨ost werden. Wir wollen noch anmerken, dass das quadratische Programm (4.48) ein konvexes quadratisches Programm genannt wird, falls die Matrix D positiv semidefinit ist.
110
4 Anwendungen
4.3 Intervallrechnung Die Zahlen auf einem Rechner werden intern in vielen Rechnern als Dualzahlen dargestellt. Daher werden die Dezimalzahlen, mit denen wir zu rechnen gewohnt sind, auf einem Rechner in eine Dualzahl umgewandelt. Beispielsweise ist 5 = 1 · 22 + 0 · 21 + 1 · 20 . Damit hat die Dezimalzahl 5 die Dualdarstellung 101. Leider hat aber nicht jede Dezimalzahl eine endliche Dualdarstellung. Beispielsweise gilt ∞ ∞ 3 1 3 1 2−4k + 2−(4k+1) = . (2−4 )k = − 1 = 2 2 1 − 2−4 10
k=1
k=1
Somit hat die Dezimalzahl x = 0.1 die eindeutige, aber unendliche Dualdarstellung 0.0001100. Daher kann ein Rechner, der lediglich Zahlen mit endlicher Dualdarstellung darstellen kann, die Zahl 0.1 nicht exakt darstellen. Nehmen wir an, wir h¨ atten einen Rechner, der die Dezimalzahl 0.1 intern als 0.00011001100110011001100
(4.51)
speichert und die restlichen Stellen vernachl¨ assigt. Dieser Rechner vernachl¨ assigt dann den Wert ∞ 2−4k + 2−(4k+1) ≈ 0.000000095.
(4.52)
k=6
Tippt man also auf diesem Rechner die Zahl 0.1 ein, so wird intern diese Zahl lediglich approximiert mit dem Fehler (4.52). Diesen Fehler nennt man Konvertierungsfehler. Im Gegensatz zu einem Rundungsfehler wird er oft u ¨ bersehen. ¨ Ahnlich wie Rundungsfehler k¨ onnen sich auch Konvertierungsfehler im Verlauf einer langen Rechnung so fortpflanzen, dass sich ein minimal erscheinender Unterschied in den Eingangsdaten am Ende dann verheerend auswirkt. Beispiel 4.3.1 Am 25. Februar 1991 w¨ ahrend des 1. Golfkrieges verfehlte eine amerikanische Patriot-Abwehrrakete, die in Dharan, Saudi-Arabien, abgefeuert wurde, eine irakische Scud-Rakete, so dass die irakische Scud-Rakete ungehindert in ein amerikanisches Lager einschlagen konnte. Dabei starben 29 amerikanische Soldaten, und es gab ca. 100 Verletzte. In einer offiziellen Untersuchung7 wurde bekannt gegeben, dass ein Konvertierungsfehler dieses Versagen verursachte: Das Abwehrsystem, welches die amerikanische Patriot-Abwehrrakete starten 7
General Accounting Office, GAO/IMTEC-92-26: Patriot Missile Defense: Software Problem Led to System Failure at Dharan, Saudi Arabia.
4.3 Intervallrechnung
111
ließ, war seit 100 Stunden in Betrieb, und die interne Uhr dieses Sytems maß die Zeit in Zehntelsekunden. Um die Zeit in Sekunden zu erhalten, wurde die Zeit in Zehntelsekunden mit 0.1 multipliziert. Dass auf einem Rechner die Gleichheit 1 = 0.1 · 10 nicht gilt, wurde u ¨bersehen. Wird f¨ ur 0.1 der Ausdruck (4.51) verwendet und somit mit (4.52) ein Fehler von 0.000000095 · 10 verursacht, so unterscheidet sich nach 100 Stunden die Zeit der internen Uhr des Abwehrsystems von der Zeit, mit der tats¨ achlich gerechnet wird, um 100 · 60 · 60 · (0.000000095 · 10) Sekunden = 0.342 Sekunden. Der Zeitpunkt der Radarmeldung einer Scud-Rakete geht somit mit einem Fehler von ±0.342 Sekunden in die Berechnung des Abschusses der PatriotAbwehrrakete ein. Die Geschwindigkeit einer Scud-Rakete betrug damals 1676 Meter pro Sekunde. Innerhalb von 0.342 Sekunden flog eine Scud-Rakete dann mehr als 500 Meter. Solch einen Unterschied konnte eine Patriot-Abwehrrakete nicht mehr ausgleichen. Hauptmotivation f¨ ur die Intervallrechnung ist es, all die reellen Zahlen, die man nicht exakt auf einem Rechner darstellen kann, zumindest in Intervalle einzuschließen. Es ist √ 2 ∈ [1.4142, 1.4143],
1 ∈ [0.333333, 0.333334], 3
(4.53)
bzw. im Dualsystem 0.0001100 ∈ [0.0001100, 0.0001101].
(4.54)
Anstatt mit einer N¨ aherung zu rechnen, deren Fehlerfortpflanzung im Voraus nicht abzusch¨ atzen ist, rechnet man mit Intervallen, so dass am Ende der Berechnungen ein Intervall steht, welches das exakte Endergebnis beinhaltet. Ein großer Nachteil der Intervallrechnung ist allerdings, dass am Ende unter Umst¨anden ein Intervall mit sehr großer L¨ ange entstehen k¨onnte, mit dem man dann wenig anfangen kann. Eine der Aufgaben und Herausforderungen der Intervallrechnung ist es daher, m¨oglichst enge Einschließungen zu berechnen. Einen Zusammenhang mit dem LCP liefert Satz 4.3.3. 4.3.1 Intervallmatrizen In R betrachten wir abgeschlossene, beschr¨ ankte Intervalle [a] := [a, a] = {x ∈ R : a ≤ x ≤ a}.
(4.55)
Die Gesamtheit dieser Intervalle bezeichnen wir mit IR. Reelle Zahlen a sind spezielle Elemente von IR mit [a] := [a, a]. Wir schreiben daf¨ ur auch einfach
112
4 Anwendungen
a. Bezeichnet ∗ eine der vier Verkn¨ upfungen +, −, ·, / f¨ ur reelle Zahlen, so definiert man f¨ ur zwei Elemente [a] und [b] in IR die entsprechenden Operationen durch [a] ∗ [b] := {a ∗ b : a ∈ [a], b ∈ [b]}. Bei der Division ist dabei 0 ∈ [b] vorauszusetzen. Da die Funktion f (a, b) = a ∗ b, a ∈ [a], b ∈ [b], ∗ ∈ {+, −, ·, /} stetig ist, ist [a] ∗ [b] wieder ein Element ¨ von IR. Ublicherweise wird der Punkt bei der Multiplikation weggelassen. Eine elementare Diskussion ergibt die folgenden Rechenregeln: ⎫ [a] + [b] = [a + b, a + b], ⎪ ⎪ ⎪ ⎪ ⎬ [a] − [b] = [a − b, a − b], (4.56) [a][b] = [min{a b, ab, ab, ab}, max{a b, ab, ab, ab}], ⎪ ⎪ ⎪ ⎪ ⎭ [a]/[b] = [a, a][ 1b , 1b ]. Es gilt [a] ∩ [b] = ∅ ⇔ a ≤ b
und b ≤ a.
(4.57)
Mit einer Intervallmatrix [A] bezeichnen wir eine Matrix, deren Elemente Inur [A] = ([aij ]). Hat eine Intervalltervalle [aij ] ∈ IR sind. Wir schreiben daf¨ matrix m Zeilen und n Spalten, so schreiben wir [A] ∈ IRm×n . In Analogie zu (4.55) benutzen wir auch [A] := [A, A] := {A ∈ Rm×n : A ≤ A ≤ A} mit A, A ∈ Rm×n , A ≤ A. Reelle Matrizen A = (aij ) sind spezielle Elemente von IRm×n mit [aij ] := [aij , aij ]. Wir schreiben daf¨ ur auch einfach A und nennen A eine Punktmatrix. Verkn¨ upfungen sind wie f¨ ur reelle Matrizen und/oder Vektoren definiert, n¨ amlich [A] ± [B] = ([aij ] ± [bij ]),
n (4.58) [aik ][bkj ] , [A][B] = k=1
vorausgesetzt, die Dimensionen sind so, dass man die Verkn¨ upfungen wie im Reellen durchf¨ uhren kann. Der Durchschnitt zweier Intervallmatrizen und die Teilmengenbeziehung zweier Intervallmatrizen sind u ¨ber die Elemente definiert: [A] ∩ [B] = ([aij ] ∩ [bij ]), [A] ⊆ [B] ⇔ [aij ] ⊆ [bij ]. Dabei wird [A] ∩ [B] = ∅ gesetzt, falls i, j existieren mit [aij ] ∩ [bij ] = ∅. F¨ ur [A] = [A, A] ∈ IRm×n definieren wir weiter A+A A−A ∈ Rm×n , Δ := ∈ Rm×n . 2 2 Somit kann man [A] auch schreiben als [Ac − Δ, Ac + Δ]. Ac :=
(4.59)
4.3 Intervallrechnung
113
Definition 4.3.1 Eine Intervallmatrix [A] ∈ IRn×n nennt man 1. regul¨ ar, falls alle A ∈ [A] regul¨ ar sind; are Intervallmatrix ist. 2. streng regul¨ ar, falls A−1 c · [A] eine regul¨ aß (4.58) und nicht im mengentheoretischen Sinn zu Dabei ist A−1 c · [A] gem¨ verstehen. ar. Dann gilt: Ist [A] Lemma 4.3.1 Es sei [A] ∈ IRn×n und Ac sei regul¨ streng regul¨ ar, so ist [A] regul¨ ar. Beweis: Angenommen [A] sei nicht regul¨ ar. Dann existiert eine Matrix B ∈ [A], die singul¨ ar ist. Dann existiert ein Vektor x = o mit Bx = o. Derselbe −1 ar Vektor erf¨ ullt dann auch A−1 c Bx = o, womit dann folgt, dass Ac B singul¨ −1 −1 sein muss. Wegen Ac B ∈ Ac · [A] erh¨ alt man einen Widerspruch. Die Umkehrung von Lemma 4.3.1 gilt nicht. Beispiel 4.3.2 Wir betrachten die Intervallmatrix
[0, 2] 1 [A] = . −1 [0, 2]
Es ist det
α 1 −1 β
= α · β + 1 ∈ [1, 5]
f¨ ur α, β ∈ [0, 2]. Somit ist jedes A ∈ [A] regul¨ ar. Des Weiteren gilt A−1 c
1 · [A] = 2
1 −1 1 1
1 [0, 2] 1 · = −1 [0, 2] 2
[1, 3] [−1, 1] [−1, 1] [1, 3]
! .
Diese Intervallmatrix beinhaltet die singul¨ are Matrix
1 11 . 2 11 Daher ist [A] regul¨ ar, aber nicht streng regul¨ ar.
Der Unterschied zwischen einer regul¨ aren Intervallmatrix und einer streng regul¨ aren Intervallmatrix wird erst in Kapitel 5 entscheidend werden. In diesem Abschnitt konzentrieren wir uns auf die Anwendung des LCP bei der Intervallrechnung. Eine zentrale Erkenntnis diesbez¨ uglich ist der Zusammenhang von regul¨ aren Intervallmatrizen und P-Matrizen. Siehe Satz 4.3.1. Um ihn zu beweisen, ben¨ otigen wir das folgende Lemma. ar. F¨ ur A, A˜ ∈ [A] und x, x ˜ ∈ Rn , Lemma 4.3.2 Es sei [A] ∈ IRn×n regul¨ ˜x. Dann existiert ein j ∈ {1, ..., n} mit A·j = A˜·j und x = x ˜ gelte Ax = A˜ xj x˜j > 0.
114
4 Anwendungen
Beweis: Angenommen es gelte f¨ ur jedes j ∈ {1, ..., n} A·j = A˜·j oder xj x ˜j ≤ 0. Wir werden zeigen, dass es unter dieser Annahme eine Matrix B ∈ [A] gibt, die singul¨ ar ist. Dazu setzen wir zun¨ achst J = {j : A·j = A˜·j und xj x ˜j < 0}. Dann definieren wir die Matrix B spaltenweise wie folgt: ⎧ x −˜ xj ˜ j ⎪ A·j A·j + ⎪ ⎪ xj − x ˜j xj − x ˜j ⎪ ⎪ ⎪ ⎨ B·j := A·j ⎪ ⎪ ⎪ ⎪ A·j ⎪ ⎪ ⎩ A˜·j
falls j ∈ J, falls A·j = A˜·j , falls A·j = A˜·j und x ˜j = 0, ˜ falls A·j = A·j und xj = 0.
F¨ ur j ∈ J ist wegen xj > 0, xj − x ˜j
−˜ xj >0 xj − x˜j
und
xj −˜ xj + =1 xj − x ˜j xj − x ˜j
B·j eine konvexe Kombination von A·j und A˜·j . Daher gilt B ∈ [A]. Außerdem gilt ˜j )B·j = xj A·j − x ˜j A˜·j f¨ ur jedes j ∈ {1, ..., n}. (xj − x ˜x, x = x Daher ist wegen Ax = A˜ ˜ und B(x − x ˜) =
n
(xj − x ˜j )B·j =
j=1
n
˜x = o (xj A·j − x ˜j A˜·j ) = Ax − A˜
j=1
die Matrix B singul¨ar.
Satz 4.3.1 Es sei [A] ∈ IRn×n regul¨ ar. Dann sind f¨ ur alle A, A˜ ∈ [A] die −1 −1 ˜ ˜ Matrizen A A und AA P-Matrizen. Beweis: Es seien A, A˜ ∈ [A] und x ∈ Rn , x = o. Wir setzen x ˜ := A˜−1 Ax. 1. Fall: x = x ˜. Dann gibt es wegen x = o mindestens ein j ∈ {1, ..., n} mit xj (A˜−1 Ax)j = xj x˜j = x2j > 0. ˜x aus Lemma 4.3.2 2. Fall: x = x ˜. Dann folgt wegen Ax = A˜ xj (A˜−1 Ax)j = xj x ˜j > 0 f¨ ur mindestens ein j ∈ {1, ..., n}. Mit Satz 3.1.1 folgt nun, dass A˜−1 A eine P-Matrix ist. Wendet man dieses Ergebnis auf die regul¨ are Intervallmatrix ˜ −1 )T = (AT )−1 A˜T eine [A]T := {AT : A ∈ [A]} an, so ist zun¨ achst (AA ˜ −1 . P-Matrix und somit auch AA
4.3 Intervallrechnung
115
4.3.2 Lineare Intervallgleichungssysteme Lineare Intervallgleichungssysteme entstehen beispielsweise dann, wenn man ein lineares Gleichungssystem ˜ = ˜b, Ax
A˜ ∈ Rm×n , ˜b ∈ Rm ,
(4.60)
zu l¨ osen hat, wobei man aber f¨ ur A˜ und ˜b lediglich untere und obere Schranken kennt. Dies kann entstehen, wenn man Rundungs- sowie Konvertierungsfehler mitber¨ ucksichtigen will (siehe (4.53), (4.54)) oder wenn die Daten von A˜ und/oder von ˜b gemessen werden und man f¨ ur den Messfehler eine gewisse Toleranz einr¨aumt. Eine andere Anwendung findet man in [42], wo eine gew¨ ohnliche Randwertaufgabe durch Diskretisierung auf ein lineares Intervallgleichungssystem f¨ uhrt, indem man bei der zu Grunde liegenden Taylorentwicklung das Restglied in einem Intervall einschließt und so den Diskretisierungsfehler ber¨ ucksichtigt. Wir wollen hier nicht weiter darauf eingehen. Gegeben sind also eine Intervallmatrix [A] ∈ IRm×n und ein Intervallvektor8 [b] ∈ IRm , und wir betrachten eine Menge von linearen Gleichungssystemen A ∈ [A], b ∈ [b].
Ax = b,
(4.61)
Die Gleichungen (4.61) werden als ein lineares Intervallgleichungssystem bezeichnet, und die L¨ osung ist die Menge Σ([A], [b]) := {x ∈ Rn : Ax = b f¨ ur ein A ∈ [A] und ein b ∈ [b]}. Wir wollen betonen, dass wir nicht an einem Intervallvektor [x] interessiert sind, der bez¨ uglich (4.58) die Gleichung [A][x] = [b] erf¨ ullt. Ein solcher Intervallvektor hat n¨ amlich im Allgemeinen nichts mit der L¨osungsmenge Σ([A], [b]) zu tun. Dies zeigt das anschließende Beispiel. Beispiel 4.3.3 Gegeben sei die lineare Gleichung 9 4 x= . 3 7 Mit
4 8 ∈ [1, ] =: [A] ∈ IR1×1 3 5
und
(4.62) 9 ∈ [1, 2] =: [b] ∈ IR1 7
erf¨ ullt dann zwar [x] = [1, 54 ] die Gleichung [A][x] = [b], aber die L¨ osung x ˜ = 27 28 von (4.62) liegt nicht in [x]. Eine Aussage, ob ein Vektor x ∈ Rn zur L¨ osungsmenge Σ([A], [b]) geh¨ ort, macht das folgende Lemma. 8
Intervallvektoren sind u ¨ber Intervallmatrizen definiert, indem man IRm := IRm×1 setzt.
116
4 Anwendungen
Lemma 4.3.3 Es seien [A] ∈ IRm×n und [b] ∈ IRm . Dann sind folgende Aussagen ¨ aquivalent: 1. x ∈ Σ([A], [b]). 2. [A]x ∩ [b] = ∅. Beweis: 1. ⇒ 2. Es sei x ∈ Σ([A], [b]). Dann existieren A ∈ [A] und b ∈ [b] mit Ax = b. Wegen Ax ∈ [A]x folgt dann b ∈ [A]x ∩ [b] bzw. [A]x ∩ [b] = ∅. 2. ⇒ 1. Es sei [A]x ∩ [b] = ∅. Dann existiert ein b ∈ [A]x ∩ [b]. Wegen ⎛
⎞ [a11 ]x1 + ... + [a1n ]xn ⎜ ⎟ .. ⎟ [A]x = ⎜ . ⎝ ⎠ [am1 ]x1 + ... + [amn ]xn kommt in dem Ausdruck [A]x jeder Eintrag von [A] genau einmal vor. Somit ist [A]x gleich dem Wertebereich der Funktion f : Rm·n → Rm definiert durch ⎛
⎞ a11 x1 + ... + a1n xn ⎜ ⎟ .. ⎟ f (a11 , a12 , ..., amn ) = ⎜ . ⎝ ⎠ am1 x1 + ... + amn xn mit Definitionsbereich Df = [a11 ]×[a12 ]×...×[amn] und Konstanten x1 , ..., xn . Aus b ∈ [A]x folgt daher die Existenz von A ∈ [A] mit b = Ax. Somit ist x ∈ Σ([A], [b]). Beispiel 4.3.4 Wir betrachten [A] =
[2, 4] [−2, 1]
!
[−1, 2] [2, 4]
und
[b] =
[−2, 2] [−2, 2]
! .
Es sei x ∈ Σ([A], [b]). Dann ist nach Lemma 4.3.3: [2, 4] · x1 + [−2, 1] · x2 ∩ [−2, 2] = ∅,
[−1, 2] · x1 + [2, 4] · x2 ∩ [−2, 2] = ∅. 1. Fall: x1 ≥ 0, x2 ≥ 0. Dann bekommt man aus (4.63) u ¨ber (4.57): 2x1 − 2x2 ≤ 2, −x1 + 2x2 ≤ 2,
−2 ≤ 4x1 + x2 , −2 ≤ 2x1 + 4x2 ,
(4.63)
4.3 Intervallrechnung
117
x2 6
1
r (4, 3)
-
x1 1 2 Abb. 4.1. Σ([A], [b]) ∩ {x ∈ R : x1 ≥ 0, x2 ≥ 0} aus Beispiel 4.3.4.
bzw.
x1 − 1 ≤ x2 , 1 2 x1
−4x1 − 2 ≤ x2 , − 12 x1 −
+ 1 ≥ x2 ,
1 2
≤ x2 .
alt man die durch das Polygon in Abb. 4.1 Zusammen mit x1 ≥ 0, x2 ≥ 0 erh¨ begrenzte Fl¨ache. Mit den restlichen drei F¨ allen bekommt man dann in diesem Beispiel f¨ ur Σ([A], [b]) die sternf¨ormige Fl¨ ache, die in Abb. 4.2 zu sehen ist. Ganz allgemein gilt der folgende Satz. ar, dann gelten Satz 4.3.2 Es seien [A] ∈ IRn×n und [b] ∈ IRn . Ist [A] regul¨ folgende Aussagen: 1. Die Menge Σ([A], [b]) ist kompakt, zusammenh¨ angend, aber im Allgemeinen nicht konvex. 2. Die Menge Σ([A], [b]) ist die Vereinigung von endlich vielen Polytopen. 3. Ist O ein fest gew¨ ahlter Orthant des Rn und die Menge Σ([A], [b]) ∩ O nichtleer, so ist Σ([A], [b]) ∩ O konvex, kompakt, zusammenh¨ angend und ein Polytop. Beweis: Die Funktion g : [A] × [b] → Rn mit g(A, b) := A−1 b ist stetig. Da [A] × [b] kompakt und zusammenh¨ angend ist, ist auch der Wertebereich von g, n¨ amlich Σ([A], [b]), kompakt und zusammenh¨ angend. Es sei O = Ok , k ∈ {1, ..., 2n }, einer der 2n abgeschlossenen Orthanten. O ist dann bestimmt durch die Vorzeichen sj ∈ {−1, 1}, j = 1, ..., n der Komponenten seiner inneren Punkte, d.h. f¨ ur x ∈ O gilt " ≥ 0, falls sj = 1, (4.64) xj ≤ 0, falls sj = −1. F¨ ur [A] und [b] definieren wir nun " aij , falls sj = 1, cij := aij , falls sj = −1,
" dij :=
aij , falls sj = 1, aij , falls sj = −1,
(4.65)
118
4 Anwendungen x2
(−3, 4)
6
r @ A r (4, 3) A@ A @ A @ A @ @ A A 1 A A x1 1 A A @ A @ @ A @ A r @A (−4, −3) Ar (3, −4) @
Abb. 4.2. Σ([A], [b]) von Beispiel 4.3.4.
i, j = 1, ..., n, und H i := {x ∈ Rn :
n
cij xj ≤ bi },
H i := {x ∈ Rn :
j=1
n
dij xj ≥ bi },
(4.66)
j=1
i = 1, ..., n. Wir werden nun Σ([A], [b]) ∩ O =
n ,
(H i ∩ H i ) ∩ O
(4.67)
i=1
zeigen. Dazu sei x ∈ O. Dann gilt zun¨ achst wegen (4.64) und (4.65) ([A]x)i =
n j=1
[aij ]xj =
n
cij xj
sowie ([A]x)i =
j=1
n j=1
[aij ]xj =
n
dij xj
j=1
und dann wegen Lemma 4.3.3, (4.57) und (4.66) x ∈ Σ([A], [b]) ⇔ [A]x ∩ [b] = ∅ ⇔ ([A]x)i ≤ bi und ([A]x)i ≥ bi , i = 1, ..., n n ⇔x∈ (H i ∩ H i ). i=1
Somit ist (4.67) gezeigt. Weil der Durchschnitt von endlich vielen konvexen Mengen wieder konvex ist, ist wegen (4.67) auch Σ([A], [b]) ∩ O konvex. Zuletzt ist Σ([A], [b]) ∩ O ein Polytop, weil die R¨ ander von H i bzw. H i , i = 1, ..., n, Hyperebenen im Rn sind.
4.3 Intervallrechnung
119
4.3.3 Lineare Intervallgleichungssysteme und das LCP Es seien [A] ∈ IRn×n , [b] ∈ IRn . Ist [A] regul¨ ar, so ist wegen Satz 4.3.2 Σ([A], [b]) beschr¨ ankt, und ein zentrales Problem in der Intervallrechnung besteht darin, den Intervallvektor zu bestimmen, der Σ([A], [b]) am engsten einschließt. Diesen Intervallvektor nennt man Besteinschließung oder auch die Intervallh¨ ulle von Σ([A], [b]). Wir bezeichnen sie mit []Σ([A], [b]). In Beispiel 4.3.4 gilt ! [−4, 4] []Σ([A], [b]) = , (4.68) [−4, 4] wie man in Abb. 4.2 anhand der Vektoren "
# −3 4 3 −4 , , , 4 3 −4 −3
(4.69)
unschwer erkennt. In Satz 4.3.3 werden wir sehen, dass die Vektoren aus (4.69) durch mehrere LCP’s bestimmt sind. Analog zu (4.59) benutzen wir f¨ ur [b] = [b, b] ∈ IRm die Bezeichnungen bc :=
b+b ∈ Rm , 2
δ :=
b−b ∈ Rm . 2
(4.70)
Somit kann man [b] auch schreiben als [bc − δ, bc + δ]. Des Weiteren bezeichne Y = {y ∈ Rn : |yj | = 1, j = 1, ..., n }.
(4.71)
ur y ∈ Y bezeichnen wir mit Ty = Offensichtlich hat Y 2n Elemente. F¨ diag(y1 , ..., yn ) die Diagonalmatrix mit Diagonalvektor y. Außerdem definieren wir f¨ ur x ∈ Rn den Vorzeichenvektor sgn x durch (sgn x)i = 1 falls xi ≥ 0 und (sgn x)i = −1 falls xi < 0. ar, und es sei [b] = Satz 4.3.3 Es sei [A] = [Ac − Δ, Ac + Δ] ∈ IRn×n regul¨ [bc − δ, bc + δ] ∈ IRn . Dann gilt: 1. F¨ ur jedes y ∈ Y ist die Matrix −1 My := Ac − Ty · Δ · Ac + Ty · Δ
(4.72)
eine P-Matrix. 2. F¨ ur y ∈ Y m¨ ogen wy und zy die (nach 1. und Satz 3.1.2 eindeutige) L¨ osung von LCP (qy , My ) bezeichnen mit My aus (4.72) und −1 · bc + T y · δ . (4.73) qy := Ac − Ty · Δ Dann gilt mit xy := wy − zy Konv Σ([A], [b]) = Konv {xy : y ∈ Y }.
120
4 Anwendungen
3. Es ist
⎛
⎞ [min{(xy )1 : y ∈ Y }, max{(xy )1 : y ∈ Y }] ⎜ ⎟ .. []Σ([A], [b]) = ⎝ ⎠, . [min{(xy )n : y ∈ Y }, max{(xy )n : y ∈ Y }]
wobei (xy )i die i-te Komponente von xy bezeichnet. Beweis: 1. Wegen Ac − Ty · Δ ∈ [A] und Ac + Ty · Δ ∈ [A] f¨ ur jedes y ∈ Y folgt die Behauptung aus Satz 4.3.1. 2. F¨ ur y ∈ Y gilt wy = qy + My zy ,
wy ≥ o, zy ≥ o,
wyT zy = 0.
Dann ist |xy | = wy + zy , und es folgt mit (4.72) und (4.73) Ac − Ty · Δ wy = bc + Ty · δ + Ac + Ty · Δ zy
(4.74)
sowie Ac xy = bc + Ty · δ + Ty Δ|xy |. Mit y˜ := sgn xy gilt Ty˜ · xy = |xy |, und man erh¨ alt Ac − Ty ΔTy˜ xy = bc + Ty δ, woraus xy ∈ Σ([A], [b]) folgt. Somit gilt Konv Σ([A], [b]) ⊇ Konv {xy : y ∈ Y }. Sei nun umgekehrt x ∈ Σ([A], [b]). Dann existieren A ∈ [A] und b ∈ [b] mit Ax = b. Wir nummerieren Y durch, d.h. es sei Y = {y1 , ..., y2n }. Dann setzen wir ! A · xy1 A · xy2 · · · A · xy2n n A˜ := ∈ R(n+1)×2 1 1 ··· 1 und ˜b :=
b
!
1
∈ Rn+1 .
n
Wir suchen nun ein λ ∈ R2 mit ˜ = ˜b, Aλ
λ ≥ o.
(4.75)
Nach dem Lemma von Farkas (Satz A.2.3) existiert ein solches λ genau dann, ˜T A˜ ≥ oT auch u ˜T˜b ≥ 0 folgt. Sei also wenn f¨ ur jedes u ˜ ∈ Rn+1 mit u
u ˜T A˜ ≥ oT , u ˜ := , u ∈ Rn , u0 ∈ R mit u u0 d.h.
ur alle y ∈ Y. uT Axy + u0 ≥ 0 f¨
(4.76)
4.3 Intervallrechnung
121
Dies gilt insbesondere f¨ ur y = −sgn u. F¨ ur dieses y gilt dann |u| = −Ty u, woraus |uT (A − Ac )| ≤ |uT |Δ = −uT Ty Δ folgt, was wiederum uT Ty Δ ≤ uT A − uT Ac ≤ −uT Ty Δ bzw.
uT (Ac + Ty Δ) ≤ uT A ≤ uT (Ac − Ty Δ)
(4.77)
impliziert. Genauso gilt |uT (bc − b)| ≤ |uT |δ = −uT Ty δ und somit
uT (bc + Ty δ) ≤ uT b.
Nun gilt mit (4.74), (4.76) und (4.77) uT b ≥ uT (bc + Ty δ) = uT (Ac − Ty Δ)wy − (Ac + Ty Δ)zy ≥ uT Awy − uT Azy = uT Axy ≥ −u0 . Es folgt u ˜T˜b ≥ 0, und die Existenz von λ = (λy ), y ∈ Y , welches (4.75) erf¨ ullt, ist gesichert nach Satz A.2.3. Mit einem solchen λ gilt dann λy (Axy ) = b, λy = 1 und λy ≥ 0 f¨ ur alle y ∈ Y. y∈Y
Wegen
y∈Y
λy xy = b = Ax A y∈Y
folgt dann aus der Regularit¨ at von A λy xy = x, λy = 1 und λy ≥ 0 f¨ ur alle y ∈ Y. y∈Y
y∈Y
Dies bedeutet x ∈ Konv {xy : y ∈ Y }, woraus dann Konv Σ([A], [b]) ⊆ Konv {xy : y ∈ Y } folgt. 3. Da Σ([A], [b]) die Vereinigung von Polytopen ist, folgt mit 2. f¨ ur jedes i ∈ {1, ..., n} min{xi : x ∈ Σ([A], [b])} = min{xi : x ∈ Konv Σ([A], [b])} = min{(xy )i : y ∈ Y }. Die entsprechende Aussage f¨ ur max{...} zeigt man analog.
122
4 Anwendungen
Beispiel 4.3.5 Wir betrachten [A] und [b] aus Beispiel 4.3.4. Jedes A ∈ [A] ist regul¨ ar, denn f¨ ur jedes A ∈ [A] gilt det A ∈ [2, 4] · [2, 4] − [−2, 1] · [−1, 2] = [2, 20]. Es ist
"
# 1 −1 1 −1 Y = , , , . 1 1 −1 −1
Speziell f¨ ur y = (−1, 1)T erh¨alt man
My = und
41 −1 2
qy =
−1
1 2 −2 2 −8 · = 2 4 9 10 14
41 −1 2
(4.78)
−1
1 −6 −2 · = . 2 6 9
osung LCP (qy , My ) hat die eindeutige L¨
0 3 wy = , zy = . 4 0
Daher ist xy = wy − zy =
−3 4
.
Die anderen Vektoren y ∈ Y liefern die restlichen Vektoren von (4.69). Die Berechnungen f¨ uhren wir hier nicht weiter aus. Es ist dann ! ! [min{−4, −3, 3, 4}, max{−4, −3, 3, 4}] [−4, 4] []Σ([A], [b]) = = , [min{−4, −3, 3, 4}, max{−4, −3, 3, 4}] [−4, 4]
wie wir bereits in (4.68) gesehen haben.
Da Y 2n Elemente besitzt, hat man 2n Vektoren xy zu berechnen, wenn man []Σ([A], [b]) mit Hilfe von Satz 4.3.3 bestimmen will. Daher ist dies nur f¨ ur kleine n praktikabel. Der Vollst¨ andigkeit wegen wollen wir noch erw¨ ahnen, dass die Bestimmung von []Σ([A], [b]) NP-hart ist, d.h. es ist nicht klar, ob es einen Algorithmus gibt, der []Σ([A], [b]) in polynomialer Zeit berechnet. Aufgabe 4.3.1 Gegeben sind
1 [−3, 0] [A] = 0 1
und
1 [b] = . 1
a) Berechnen Sie []Σ([A], [b]) unter Verwendung von Satz 4.3.3. b) Zeigen Sie, dass die Matrix My aus (4.72) im Allgemeinen keine positiv definite Matrix ist.
4.4 Freie Randwertprobleme
123
4.4 Freie Randwertprobleme Ein freies Randwertproblem wird beschrieben durch eine Differentialgleichung, die auf einem Gebiet erf¨ ullt sein muss, dessen Rand im Voraus nicht (vollst¨andig) bekannt ist und als Teil der L¨ osung mitbestimmt werden muss. Zun¨achst betrachten wir freie Randwertprobleme, bei denen die zu Grunde liegende Differentialgleichung eine gew¨ ohnliche Differentialgleichung ist. Als Anwendungsbeispiel betrachten wir das Seilproblem. Siehe Beispiel 4.4.2. Wir betrachten das freie Randwertproblem danach als reines mathematisches Problem, bei dem die Frage entsteht, ob das Problem als solches u ¨ berhaupt eine L¨osung besitzt. In Abschnitt 4.4.2 werden wir diesbez¨ uglich Existenz- und Eindeutigkeitss¨ atze beweisen. Ist durch diese S¨ atze die eindeutige L¨ osbarkeit des gew¨ohnlichen freien Randwertproblems garantiert, so wird die Differentialgleichung diskretisiert, und es entsteht ein LCP, dessen eindeutige L¨ osung N¨aherungswerte f¨ ur das freie Randwertproblem liefert. Nachdem in Abschnitt 4.4.3 das Prinzip erl¨autert worden ist, wie aus einem freien Randwertproblem ein LCP entsteht, betrachten wir in Abschnitt 4.4.4 freie Randwertprobleme, bei denen die zu Grunde liegende Differentialgleichung eine partielle Differentialgleichung ist. Solche Problemstellungen treten in den unterschiedlichsten Bereichen auf. Die wohl bekanntesten Beispiele sind: 1. Das Stefan-Problem. 2. Das Damm-Problem. Man findet diese Beispiele ausf¨ uhrlich erkl¨ art in dem Buch [23] von J. Crank aus dem Jahre 1984. Seit 1997, als R. C. Merton und M. S. Scholes den Nobelpreis f¨ ur Wirtschaftswissenschaften erhielten, wird auch immer wieder 3. Bewerten von Optionen als ein Beispiel eines freien Randwertproblems aufgef¨ uhrt. Diesem Beispiel wollen wir uns ausf¨ uhrlich ab Abschnitt 4.4.4 widmen. 4.4.1 Gew¨ ohnliche freie Randwertprobleme Gegeben seien α > 0 und eine stetige reellwertige Funktion f (x, z, t), (x, z, t) ∈ [0, ∞) × R2 . Dann betrachten wir das gew¨ohnliche freie Randwertproblem: ⎫ Finde s > 0 und u(x) : [0, ∞) → R mit ⎪ ⎪ ⎪ ⎪ u (x) = f (x, u(x), u (x)), x ∈ [0, s], ⎬ (4.79) ⎪ u(0) = α, u (s) = 0, ⎪ ⎪ ⎪ ⎭ u(x) = 0, x ∈ [s, ∞). Dabei sind die Ableitungen in den Intervallendpunkten als einseitige Ableitungen zu verstehen.
124
4 Anwendungen
Beispiel 4.4.1 F¨ ur f (x, z, t) ≡ c mit c > 0 besitzt das freie Randwertproblem (4.79) die eindeutige L¨ osung {sp , vp (x)} mit . 2α sp := c und
c (x − sp )2 , vp (x) := 2 0,
x ∈ [0, sp ], x ∈ (sp , ∞).
Der Index p soll dabei an die Parabel erinnern. Wir werden diese L¨ osung explizit in Abschnitt 4.4.3 verwenden. Beispiel 4.4.2 In der (x, y)-Ebene sei ein Seil im Punkt x = 0, y = α > 0 aufgeh¨ angt und liege ein St¨ uck auf einem Tisch auf, dessen Oberfl¨ache durch y = 0 gegeben sei. Siehe Abb. 4.3. Das Seil ber¨ uhre den Tisch mit horizontaler
y 6 α
& s
x
-
Abb. 4.3. Seilkurve
Tangente im Punkt x = s, und im Intervall [0, s] gen¨ uge die Form des Seiles, die durch y(x) beschrieben sei, der Differentialgleichung / y = μ 1 + (y )2 , μ > 0. Siehe Bemerkung 4.4.1. Der freie Rand x = s ist nicht von vornherein bekannt und muss bei der L¨ osung mitbestimmt werden. Man erh¨alt das√gew¨ ohnliche freie Randwertproblem (4.79) f¨ ur u(x) = y(x) mit f (x, z, t) = μ 1 + t2 , μ > 0. Es besitzt eine eindeutige L¨osung, welche man explizit angeben kann. Siehe Aufgabe 4.4.1. Bemerkung 4.4.1 Differentialgleichung der Seilkurve. Die Bogenl¨ange der Seilkurve y = y(x), x ∈ [0, s] ist definiert u ¨ber 0x / 1 + (y (t))2 dt, l(x) = 0
4.4 Freie Randwertprobleme
was auf l (x) =
/ 1 + (y (x))2
125
(4.80)
f¨ uhrt. Es sei Δx > 0. Dann betrachten wir das Seilst¨ uck, welches den Punkt P1 = (x, y(x)) als linken Endpunkt und den Punkt P2 = (x + Δx, y(x + Δx)) als rechten Endpunkt besitzt. Dieses Bogenelement hat die L¨ ange Δl := l(x + Δx) − l(x). Ist γ das spezifische Gewicht des Seiles und F der Querschnitt des Seiles, so hat jenes Bogenelement das Gewicht G = γ · F · Δl. An dem Punkt P1 wirkt 6 C CrP1 C P & C r 2? Abb. 4.4. Ein Bogenelement der Seilkurve
die Kraft S1 mit horizontaler Richtung H1 nach links und vertikaler Richtung V1 nach oben, und an dem Punkt P2 wirkt die Kraft S2 mit horizontaler Richtung H2 nach rechts und vertikaler Richtung V2 nach unten. Siehe Abb. 4.4. Die Gleichgewichtsbedingungen ergeben H1 = H2 = const =: H,
V1 = G + V2 .
Wegen V1 = V (x) und V2 = V (x + Δx) kann man V (x) = G + V (x + Δx) schreiben. Ist V (x) zweimal stetig differenzierbar, so gilt nach dem Satz von Taylor (Δx)2 V (ξ) V (x) = γ · F · Δl + V (x) + Δx · V (x) + 2 mit einem gewissen ξ ∈ (x, x + Δx). Mit Δx → 0 folgt −γ · F · l (x) = V (x).
(4.81)
126
4 Anwendungen
Nun ist (siehe Abb. 4.4) y (x) = −
V (x) H
bzw. V (x) = −Hy (x).
Mit (4.81) und (4.80) erh¨ alt man dann y (x) = − mit μ =
/ γF V (x) = · l (x) = μ 1 + (y (x))2 H H
γF > 0. H
Aufgabe 4.4.1 Berechnen Sie die eindeutige osung des freien Randwert√ L¨ problems (4.79) f¨ ur α > 0 und f (x, z, t) = μ 1 + t2 mit μ > 0. Aufgabe 4.4.2 Zeigen Sie, dass das freie Randwertproblem (4.79) f¨ ur α > 0 und f (x, z, t) ≡ −1 keine L¨ osung besitzt. Aufgabe 4.4.3 Zeigen Sie, dass das freie Randwertproblem (4.79) f¨ ur α = 1 und f (x, z, t) = 2 − 4z unendlich viele L¨ osungen besitzt. 4.4.2 Existenz- und Eindeutigkeitsaussagen Im Unterschied zu Beispiel 4.4.1, Aufgabe 4.4.1 und Aufgabe 4.4.3 stellen wir uns in diesem Abschnitt die Frage, ob man die L¨ osbarkeit eines freien Randwertproblems (4.79) auch garantieren kann, ohne eine L¨ osung explizit zu bestimmen bzw. bestimmen zu k¨ onnen. Dazu betrachten wir Funktionen f (x, z, t) mit folgender Eigenschaft. Voraussetzung 4.4.1 Die stetige Funktion f (x, z, t), (x, z, t) ∈ [0, ∞) × R2 aus (4.79) m¨ oge folgende Bedingungen erf¨ ullen: (i) Es existieren c > 0 und r ∈ R mit f (x, z, t) > c + r · t
f¨ ur alle (x, z, t) ∈ [0, ∞) × [0, ∞) × R;
(ii) f (x, z, t) ist streng monoton wachsend bez¨ uglich z ≥ 0, d.h. 0 ≤ z < z˜ ⇒ f (x, z, t) < f (x, z˜, t). Wir werden zeigen, dass ein freies Randwertproblem (4.79) definiert durch ein α > 0 und eine Funktion f (x, z, t), die Voraussetzung 4.4.1 erf¨ ullen m¨ oge, eine eindeutige L¨ osung besitzt. Siehe Satz 4.4.3. Der Eindeutigkeitsbeweis wird mit Hilfe von Satz 4.4.1 gef¨ uhrt, w¨ ahrend die Existenzaussage mit Hilfe von Satz 4.4.2 und Lemma 4.4.3 bewiesen wird. Dazu bezeichne im Folgenden C 2 ([a, b]) die Menge aller Funktionen, die auf [a, b] zweimal stetig differenzierbar sind. Dabei sind die Ableitungen in den Intervallendpunkten als einseitige Ableitungen zu verstehen.
4.4 Freie Randwertprobleme
127
Satz 4.4.1 Gegeben seien α > 0 und eine stetige Funktion f (x, z, t), die Voraussetzung 4.4.1 erf¨ ullen m¨ oge. Des Weiteren seien s > 0 und u ∈ C 2 ([0, s]) mit ⎫ −u (x) + f (x, u(x), u (x)) ≤ 0, x ∈ [0, s], ⎪ ⎬ u(0) ≤ α,
⎪ ⎭
u(s) = u (s) = 0,
(4.82)
gegeben sowie s∗ > 0 und v ∈ C 2 ([0, s∗ ]) mit −v (x) + f (x, v(x), v (x))
≥ ≥
v(0) ∗
0,
⎫ x ∈ [0, s∗ ], ⎪ ⎬
α, ∗
v(s ) = v (s ) = 0.
⎪ ⎭
(4.83)
Ist zus¨ atzlich v(x) ≥ 0, x ∈ (0, s∗ ), so gilt s ≤ s∗ und u(x) ≤ v(x), x ∈ (0, s). Bevor wir diesen Satz beweisen, beweisen wir zun¨achst zwei Lemmata. Lemma 4.4.1 Gegeben sei eine stetige Funktion f (x, z, t), die Voraussetzung 4.4.1 erf¨ ullen m¨ oge. Des Weiteren gebe es Funktionen u(x), v(x) ∈ C 2 ([x1 , x2 ]) mit −u (x) + f (x, u(x), u (x)) ≤ −v (x) + f (x, v(x), v (x)), u(x1 ) ≤ v(x1 ), u(x2 ) ≤ v(x2 ).
x ∈ [x1 , x2 ]
ur alle x ∈ Außerdem sei v(x) ≥ 0, x ∈ [x1 , x2 ]. Dann gilt u(x) ≤ v(x) f¨ [x1 , x2 ]. x) > v(˜ x). Dann hat Beweis: Wir nehmen an, es gebe ein x ˜ ∈ (x1 , x2 ) mit u(˜ die Funktion Φ(x) := u(x) − v(x), x ∈ [x1 , x2 ] ein positives Maximum, welches wegen Φ(x1 ) ≤ 0 und Φ(x2 ) ≤ 0 in (x1 , x2 ) angenommen wird. Da Φ(x) zweimal differenzierbar ist, existiert also ein x0 ∈ (x1 , x2 ) mit Φ(x0 ) = max Φ(x) > 0 x∈[x1 ,x2 ]
und Φ (x0 ) = 0, Φ (x0 ) ≤ 0. Somit haben wir u(x0 ) > v(x0 ) ≥ 0
und u (x0 ) = v (x0 ).
Dann folgt aber Φ (x0 ) = u (x0 ) − v (x0 ) ≥ f (x0 , u(x0 ), u (x0 )) − f (x0 , v(x0 ), v (x0 )) = f (x0 , u(x0 ), u (x0 )) − f (x0 , v(x0 ), u (x0 )) > 0 auf Grund von (ii) aus Voraussetzung 4.4.1. Dies ist ein Widerspruch.
128
4 Anwendungen
Lemma 4.4.2 Gegeben seien α > 0, s > 0 und eine stetige Funktion f (x, z, t), die Voraussetzung 4.4.1 erf¨ ullen m¨ oge. Des Weiteren gebe es eine Funktion u(x) ∈ C 2 ([0, s]), die (4.82) erf¨ ullen m¨ oge. Dann gilt u(x) > 0, x ∈ (0, s). Beweis: Wegen (4.82) und (i) aus Voraussetzung 4.4.1 ist u(s) = 0,
u (s) = 0,
lim u (x) ≥ f (s, 0, 0) > c > 0.
x→s−
(4.84)
Wir nehmen an, es gebe ein x ˜ ∈ (0, s) mit u(˜ x) ≤ 0. Dann hat wegen (4.84) x, s) mit u(x), x ∈ [˜ x, s] ein positives Maximum. Somit existiert x0 ∈ (˜ u(x0 ) > 0,
u (x0 ) = 0,
u (x0 ) ≤ 0.
Es gilt aber u (x0 ) ≥ f (x0 , u(x0 ), u (x0 )) = f (x0 , u(x0 ), 0) > c > 0
auf Grund von (i) aus Voraussetzung 4.4.1. Wir beweisen nun Satz 4.4.1 Beweis: Wir nehmen an, es gelte s∗ < s. Dann definieren wir die Funktion Φ(x) := u(x) − v(x),
x ∈ [0, s].
Φ(x) ist differenzierbar mit Φ(0) ≤ 0 und Φ(s) = 0, wenn man v(x) = 0 setzt f¨ ur x ∈ (s∗ , s]. Wegen v(s∗ ) = 0 und Lemma 4.4.2 erhalten wir Φ(s∗ ) = u(s∗ ) > 0.
(4.85)
Somit hat Φ(x) ein positives Maximum an einem Punkt x0 ∈ (0, s). 1. Fall: 0 < x0 < s∗ < s. Wir zeigen zun¨achst Φ(x0 ) > Φ(s∗ ). Da die Funktion Φ(x), x ∈ [0, s] in x0 ihr Maximum annimmt, gilt sicherlich Φ(x0 ) ≥ Φ(s∗ ). Angenommen es gelte Φ(x0 ) = Φ(s∗ ). Dann nimmt die Funktion Φ(x), x ∈ [0, s] auch in s∗ ihr Maximum an. Folglich gilt Φ (s∗ ) = 0, was wegen v (s∗ ) = 0 auf 0 = Φ (s∗ ) = u (s∗ ) f¨ uhrt. Dann gilt wegen (4.82), (4.85) und wegen (i) aus Voraussetzung 4.4.1 u (s∗ ) ≥ f (s∗ , u(s∗ ), 0) > c > 0. Dies bedeutet, dass u(x), x ∈ [0, s] in s∗ ein relatives Minimum besitzt. F¨ ur ein gewisses ε > 0 gilt somit u(s∗ + ε) > u(s∗ ). Wegen v(s∗ + ε) = 0 erh¨ alt man
4.4 Freie Randwertprobleme
129
Φ(s∗ + ε) = u(s∗ + ε) − v(s∗ + ε) = u(s∗ + ε) > u(s∗ ) = u(s∗ ) − v(s∗ ) = Φ(s∗ ). Somit kann die Funktion Φ(x), x ∈ [0, s] ihr (absolutes) Maximum nicht in s∗ annehmen. Es folgt Φ(x0 ) > Φ(s∗ ). Wir definieren nun w(x) := v(x) + u(s∗ ), x ∈ [0, s∗ ]. Dann gilt u(x0 ) − w(x0 ) = u(x0 ) − v(x0 ) − (u(s∗ ) − v(s∗ )) = Φ(x0 ) − Φ(s∗ ) > 0. (4.86) Wir werden als N¨ achstes zeigen, dass die Funktionen u(x) und w(x), x ∈ [0, s∗ ] die Voraussetzungen von Lemma 4.4.1 erf¨ ullen. Nach Voraussetzung ist ur x ∈ [0, s∗ ]. v(x) ≥ 0 f¨ ur x ∈ [0, s∗ ] und wegen (4.85) gilt dann w(x) ≥ 0 f¨ ∗ Des Weiteren ist f¨ ur x ∈ [0, s ] wegen (4.82) und (4.83) sowie wegen (4.85) und (ii) aus Voraussetzung 4.4.1 −u (x) + f (x, u(x), u (x)) ≤ 0 ≤ −v (x) + f (x, v(x), v (x)) < −v (x) + f (x, w(x), v (x)) = −w (x) + f (x, w(x), w (x)). Außerdem ist wegen (4.82), (4.83) und (4.85) u(0) − w(0) = u(0) − v(0) − u(s∗ ) ≤ α − α − u(s∗ ) < 0 und u(s∗ ) − w(s∗ ) = 0. Nach Lemma 4.4.1 folgt nun, dass u(x) ≤ w(x) f¨ ur alle x ∈ [0, s∗ ] gilt. Dies ist ein Widerspruch zu (4.86) und 0 < x0 < s∗ . 2. Fall: 0 < s∗ ≤ x0 < s. Wir setzen v(x) := 0 f¨ ur x ∈ (s∗ , ∞). Dann gilt 0 = Φ (x0 ) = u (x0 ). Mit (i) aus Voraussetzung 4.4.1 und Lemma 4.4.2 erh¨ alt man lim Φ (x) = u (x0 ) ≥ f (x0 , u(x0 ), 0) > c > 0.
x→x0 +
Allerdings galt Φ(x0 ) = max Φ(x) > 0, x∈[0,s]
und daher Φ (x0 ) = 0 sowie lim Φ (x) ≤ 0. Dies ist ein Widerspruch. x→x0 +
∗
Wir haben also s ≤ s gezeigt. Die restliche Aussage des Satzes folgt nun direkt aus Lemma 4.4.1, denn es ist u(0) ≤ α ≤ v(0) und u(s) = 0 ≤ v(s), da v(x) ≥ 0 vorausgesetzt ist. Zuletzt gilt dann wegen (4.82) und (4.83) −u (x) + f (x, u(x), u (x)) ≤ 0 ≤ −v (x) + f (x, v(x), v (x)),
x ∈ [0, s].
Dann folgt aus Lemma 4.4.1 die Beziehung u(x) ≤ v(x), x ∈ [0, s].
130
4 Anwendungen
Satz 4.4.2 Gegeben seien s > 0 und eine stetige Funktion f (x, z, t), die Voraussetzung 4.4.1 erf¨ ullen m¨ oge. Des Weiteren gebe es Funktionen u(x), v(x) ∈ C 2 ([0, s]) mit v − f (x, v, v ) < 0 = u − f (x, u, u ), x ∈ [s, ∞),
v(x) = u(x) = 0,
x ∈ [0, s],
v (s) = u (s) = 0. Außerdem sei v(x) ≥ 0 f¨ ur x ∈ [0, s]. Dann folgt v(x) < u(x), x ∈ [0, s). Beweis: Wir nehmen an, es gebe ein x0 ∈ [0, s) mit v(x0 ) ≥ u(x0 ). 1. Fall: Es gilt v(x) ≥ u(x) f¨ ur alle x ∈ [x0 , s]. Dann definieren wir Φ(x) = u(x) − v(x), x ∈ [0, ∞). Einerseits gilt dann Φ(x) ≤ 0 = Φ(s)
f¨ ur x ∈ [x0 , s].
Andererseits werden wir zeigen, dass f¨ ur ein gewisses ε0 > 0 Φ(s − ε) > 0 f¨ ur alle ε ∈ (0, ε0 )
(4.87)
gilt. Dies ist ein Widerspruch. Um (4.87) zu zeigen, betrachten wir lim Φ (s − ε) = lim u (s − ε) − lim v (s − ε)
ε→0+
ε→0+
ε→0+
= f (s, 0, 0) − lim v (s − ε) ε→0+
> f (s, 0, 0) − f (s, 0, 0) = 0. D.h. es existiert ε0 > 0, so dass Φ (x) streng monoton wachsend auf [s − ε0 , s] ist. Wegen Φ (s) = 0 k¨ onnen wir auf Φ (x) < 0,
x ∈ [s − ε0 , s)
schließen. Daher ist Φ streng monoton fallend auf [s − ε0 , s]. Aus Φ(s) = 0 folft dann (4.87). 2. Fall: Es existiert x1 ∈ (x0 , s) mit u(x1 ) > v(x1 ). Dann k¨ onnen wir schließen, dass x2 , x3 ∈ [x0 , s] existieren mit u(x) > v(x),
x ∈ (x2 , x3 )
sowie
u(x2 ) = v(x2 )
und
u(x3 ) = v(x3 ).
Wiederum definieren wir Φ(x) = u(x) − v(x), x ∈ [0, ∞). Es ist Φ(x2 ) = 0, ur x ∈ (x2 , x3 ). Somit existiert x ˆ ∈ (x2 , x3 ) mit Φ(x3 ) = 0 und Φ(x) > 0 f¨ Φ(ˆ x) =
max Φ(x) > 0.
x∈[x2 ,x3 ]
x) ≤ 0 und Φ (ˆ x) = 0, was dann u (ˆ x) = v (ˆ x) Wegen Φ ∈ C 2 ([x2 , x3 ]) folgt Φ (ˆ impliziert.
4.4 Freie Randwertprobleme
131
Allerdings gilt auch x) = u (ˆ x) − v (ˆ x) = f (ˆ x, u(ˆ x), u (ˆ x)) − v (ˆ x) Φ (ˆ x)) − f (ˆ x, v(ˆ x), v (ˆ x)) > 0 > f (ˆ x, u(ˆ x), u (ˆ mit (ii) aus Voraussetzung 4.4.1, da u(ˆ x) > v(ˆ x) ≥ 0. Dies ist wiederum ein Widerspruch. Lemma 4.4.3 Es seien c > 0, s > 0, r ∈ R, und v(x; s) sei die eindeutige L¨ osung des Anfangswertproblems9 u (x) = c + r · u (x) , u(s) = 0, u (s) = 0.
x ∈ [0, s],
Dann gilt: 1. v(x; s) > 0 f¨ ur x ∈ [0, s). 2. lim v(0; s) = ∞. s→∞
Beweis: 1. Fall: r = 0. Wir betrachten zun¨ achst die Differentialgleichung u − r · u = c.
(4.88)
Eine partikul¨ are L¨osung lautet u(x) = − rc x. Um alle L¨ osungen von u − ru = 0 zu bestimmen, betrachten wir das charakteristische Polynom p(λ) = λ2 −rλ. aren L¨osung Die Nullstellen λ1 = r und λ2 = 0 zusammen mit der partikul¨ f¨ uhren auf die allgemeine L¨osung von (4.88); n¨ amlich c u(x) = Aerx + B − x, r
x ∈ R, A, B ∈ R.
Mit den Vorgaben u(s) = u (s) = 0 ergibt sich A=
c −rs e r2
Somit ist v(x; s) =
c c und B = s − 2 . r r
c c c r(x−s) c − x s − e + r2 r r2 r
die gesuchte L¨osung. Es ist c r(x−s) v (x; s) = e − 1 < 0 f¨ ur r
x ∈ [0, s).
Daher ist v(x; s), x ∈ [0, s] streng monoton fallend, und wegen v(s; s) = 0 folgt v(x; s) > 0 f¨ ur x ∈ [0, s). Außerdem ist c c c lim v(0; s) = lim e−rs + s − 2 = ∞. 2 s→∞ s→∞ r r r 9
Eigentlich ist es ein Endwertproblem.
132
4 Anwendungen
2. Fall: r = 0. Dann lautet die L¨ osung v(x; s) =
c (x − s)2 . 2
Offensichtlich gilt v(x; s) > 0 f¨ ur x ∈ [0, s) und lim v(0; s) = ∞. s→∞
Satz 4.4.3 Es seien α > 0 und f (x, z, t) eine Funktion, die Voraussetzung 4.4.1 erf¨ ullen m¨ oge. Dann besitzt das freie Randwertproblem (4.79) eine eindeutige L¨ osung {s, u(x; s)}. Außerdem gilt u(x; s) > 0, f¨ ur x ∈ [0, s). Beweis: a) Eindeutigkeit. Wir nehmen an, es gebe zwei L¨ osungen von (4.79): ullen dann sowohl (4.82) {s1 , u1 (x; s1 )} und {s2 , u2 (x; s2 )}. Beide L¨osungen erf¨ als auch (4.83). Mit Lemma 4.4.2 folgt dann zun¨ achst ui (x; si ) > 0,
x ∈ (0, si ),
i = 1, 2,
und mit Satz 4.4.1 erh¨ alt man schließlich s1 ≤ s 2 ,
u1 (x; s1 ) ≤ u2 (x; s2 ),
x ∈ (0, s1 )
s2 ≤ s1 ,
u2 (x; s2 ) ≤ u1 (x; s1 ),
x ∈ (0, s2 ).
und Daher ist s1 = s2 und u1 (x; s1 ) = u2 (x; s2 ). b) Existenz. Nach dem Existenzsatz von Peano besitzt das Anfangswertproblem 0 = u (x) − f (x, u(x), u (x)), x ∈ [0, s] (4.89) u(s) = u (s) = 0 f¨ ur festes s > 0 mindestens eine L¨osung u(x; s). Sie ist insbesondere stetig in s.10 Wegen u(s; s) = 0 ist lim u(0; s) = 0. s→0+
Als N¨achstes werden wir lim u(0; s) = ∞
s→∞
(4.90)
zeigen. Denn damit k¨onnen wir dann schließen, dass es f¨ ur jedes α > 0 mindestens ein s > 0 gibt mit u(0; s) = α. Somit ist dann {s, u(x; s)} eine L¨osung von (4.79). Wir betrachten die Konstanten c > 0 und r ∈ R aus (i) von Voraussetzung 4.4.1. Damit definieren wir v(x; s) aus Lemma 4.4.3. Dann ist v(x; s) > 0 f¨ ur x ∈ [0, s), und es folgt mit (i) aus Voraussetzung 4.4.1 v (x; s) − f (x, v(x; s), v (x; s)) < v (x; s) − c + r · v (x; s) = 0, v(s; s) = v (s; s) = 0. 10
Dieser Sachverhalt wird meistens im Grundstudium in einer Vorlesung u ¨ber gew¨ ohnliche Differentialgleichungen gelehrt. Wir verweisen auf [124].
4.4 Freie Randwertprobleme
133
Da u(x; s) die L¨ osung von (4.89) ist, erh¨ alt man wegen Satz 4.4.2 f¨ ur x ∈ [0, s).
v(x; s) < u(x; s)
Mit Lemma 4.4.3 folgt dann schließlich (4.90). 4.4.3 Freie Randwertprobleme und das LCP
Der Einfachheit wegen setzen wir voraus, dass die Funktion f (x, z, t) aus (4.79) folgende Gestalt hat: f (x, z, t) = c(x) + b(x) · z. Die Funktionen c(x), b(x), x ∈ [0, ∞) seien stetig, und es gelte c(x) ≥ c > 0 und
b(x) > 0
f¨ ur alle x ∈ [0, ∞).
(4.91)
Dann ist Voraussetzung 4.4.1 erf¨ ullt, und Satz 4.4.3 garantiert die Existenz einer eindeutigen L¨ osung {s, u(x; s)} von (4.79) mit u(x; s) > 0 f¨ ur x ∈ [0, s). Da man im Allgemeinen u(x; s) nicht explizit darstellen kann, ist unser Ziel, Approximationen f¨ ur u(x; s) an diskreten Stellen zu berechnen. Zun¨achst sei erw¨ahnt, dass mit Beispiel 4.4.1 und der ersten Aussage von Lemma 4.4.3 aus Satz 4.4.1 . 2α s ≤ sp = c folgt. Nun w¨ ahlen wir n ∈ N und unterteilen das Intervall [0, sp ] a¨quidistant, d.h. wir setzen h := Dann ist
sp , n+1
xi := i · h,
i = 0, 1, ..., n + 1.
u(xi ; s) > 0, falls xi ∈ [0, s),
u(xi ; s) = 0, falls xi ∈ [s, sp ].
(4.92)
Ist xi ∈ [0, s], so gilt 0 = −u (xi ; s) + f (xi , u(xi ; s), u (xi ; s)) = −u (xi ; s) + c(xi ) + b(xi ) · u(xi ; s). Ist xi ∈ (s, sp ], so gilt wegen (4.91) und (4.92) −u (xi ; s) + f (xi , u(xi ; s), u (xi ; s)) = f (xi , u(xi ; s), u (xi ; s)) = c(xi ) + b(xi ) · u(xi ; s) ≥ c > 0.
134
4 Anwendungen
Wir ersetzen nun −u (xi ; s) durch den 2. Differenzenquotienten −ui−1 + 2ui − ui+1 , h2 wobei ui , i = 0, 1, ..., n+ 1, eine N¨ aherung f¨ ur u(xi ; s) ist mit u0 := u(0; s) = α und un+1 := u(sp ; s) = 0. Dann erh¨ alt man das LCP q + M u ≥ o,
uT (q + M u) = 0
u ≥ o,
(4.93)
mit ⎛ ⎜ ⎜ 1 ⎜ ⎜ M= 2⎜ h ⎜ ⎜ ⎝
2 + h2 b(x1 ) −1 0 .. .
−1
−1 .. .
··· .. . .. .
0
. ···
−1 0
2 + h2 b(xn−1 ) −1
−1 2 + h2 b(xn )
⎞ u1 ⎜ u2 ⎟ ⎜ ⎟ u = ⎜ . ⎟, ⎝ .. ⎠
⎛
2 + h2 b(x2 ) .. . ..
0 und
0
⎛
un
c(x1 ) −
⎜ ⎜ c(x2 ) q=⎜ ⎜ .. ⎝ . c(xn )
0 .. .
⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
α ⎞ h2 ⎟ ⎟ ⎟. ⎟ ⎠
M ist offensichtlich eine Z-Matrix und wegen (4.91) streng diagonaldominant mit positiven Diagonalelementen. Daher ist M eine P-Matrix (nach Satz 3.1.9), und das LCP hat eine eindeutige L¨ osung (nach Satz 3.1.2). Beispiel 4.4.3 Wir betrachten das freie Randwertproblem: ⎧ Finde s > 0 und u(x) : [0, ∞) → R mit ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ 2 ⎪ ⎨ u (x) = · u(x) + 1 + x, x ∈ [0, s], (1 + x)2 ⎪ 1 ⎪ ⎪ u(0) = , u (s) = 0, ⎪ ⎪ ⎪ 4 ⎪ ⎪ ⎩ u(x) = 0, x ∈ [s, ∞). Es ist f (x, u(x), u (x)) = b(x) · u(x) + c(x) mit b(x) =
2 >0 (1 + x)2
und c(x) = 1 + x ≥ 1 =: c
f¨ ur x ∈ [0, ∞).
4.4 Freie Randwertprobleme
135
Tabelle 4.1. Vergleich zwischen der L¨ osung des LCP und der exakten L¨ osung des freien Randwertproblems. i 1 2 3 4 5 6 7 8 9 10
ui 0.199227... 0.154306... 0.115050... 0.081391... 0.053353... 0.031027... 0.014561... 0.004144... 0 0
u(xi ; s) 0.199203... 0.154271... 0.115013... 0.081360... 0.053333... 0.031023... 0.014577... 0.004182... 0.000062... 0
Daher existiert eine eindeutige L¨osung {s, u(x; s)} mit 1 2 1 22 · 3 4 = 1 √2. s ≤ sp = 1 2 s
p sowie xi := i · h, i = 1, ..., n, und l¨ osen Wir w¨ ahlen n ∈ N, setzen h := n+1 das LCP (4.93) mit dem Algorithmus von Chandrasekaran.
Wir haben dieses Beispiel so gew¨ ahlt, dass man die eindeutige L¨ osung explizit angeben kann. Sie lautet {s, u(x; s)} mit √ 3 s = 4 − 1 = 0.5874... und
⎧√ √ 3 3 ⎪ ⎨ 4 · 1 − 4 (1 + x)2 + 1 (1 + x)3 , x ∈ [0, s], u(x; s) = 3 1+x 3 4 ⎪ ⎩ 0, x ∈ (s, ∞).
In Tabelle 4.1 sehen wir f¨ ur n = 10 zum Vergleich die Werte ui , die der Algorithmus von Chandrasekaran liefert, und die exakten Werte u(xi ; s), i = ahlt man 1, ..., n. Wegen u8 > 0 und u9 = 0 w¨ 1 (x8 + x9 ) = 0.5464... 2
(4.94)
als N¨aherung f¨ ur s. F¨ ur n = 199 liefert der Algorithmus von Chandrasekaran u166 > 0, u167 = 0 und somit 1 (x166 + x167 ) = 0.5886... 2 als N¨aherung f¨ ur s.
(4.95)
136
4 Anwendungen
Bemerkung 4.4.2 Ist u(x) : R → R eine viermal stetig differenzierbare Funktion, so gilt nach dem Satz von Taylor u(x + h) = u(x) + hu (x) +
1 2 1 1 h u (x) + h3 u (x) + h4 u(IV ) (ξ) 2! 3! 4!
mit einem gewissen ξ ∈ (x, x + h) und u(x − h) = u(x) − hu (x) +
1 2 1 1 h u (x) − h3 u (x) + h4 u(IV ) (μ) 2! 3! 4!
mit einem gewissen μ ∈ (x − h, x). Addiert man diese beiden Ergebnisse, so erh¨alt man −u (x) =
−u(x + h) + 2u(x) − u(x − h) h2 (IV ) + (u (ξ) + u(IV ) (μ)). h2 24
Ersetzt man also −u (x) durch den 2. Differenzenquotienten, so begeht man einen Approximationsfehler der Gr¨ oßenordnung von h2 . Bei den freien Randwertproblemen kommt noch zus¨atzlich die Schwierigkeit hinzu, dass die gesuchte Funktion f¨ ur x = s nicht zweimal differenzierbar zu sein braucht. Zum Beispiel gilt f¨ ur die Funktion vp (x) aus Beispiel 4.4.1 lim v (x) x→sp − p
= c > 0 = lim vp (x). x→sp +
Wir wollen hier auf die Ber¨ ucksichtigung dieser Besonderheit nicht eingehen und verweisen diesbez¨ uglich auf [44] und [106]. 4.4.4 Bewertung von Optionen Ganz allgemein ist eine Option (Latein: Optio = ˆ freier Wille) ein Vertrag, der dem Inhaber die M¨ oglichkeit (aber nicht die Verpflichtung) gibt, ein Wertpapier (z.B eine Aktie) zu einem bestimmten Zeitpunkt T zu einem vorher vereinbarten Aus¨ ubungspreis K zu kaufen (Call-Option) oder zu verkaufen (Put-Option). Bei einer so genannten europ¨aischen Option kann der Kauf bzw. Verkauf nur zum Aus¨ ubungszeitpunkt T stattfinden. Bei der so genannten amerikanischen Option kann die Aus¨ ubung zu jedem Zeitpunkt t ∈ [0, T ] durchgef¨ uhrt werden. Wir beschr¨ anken uns auf amerikanische Put-Optionen. Dabei erwirbt also der K¨ aufer das Recht (aber nicht die Pflicht), bis zu einem bestimmten Zeitpunkt T eine Aktie zu einem festgelegten Preis K zu verkaufen. Eine Put-Option wird vor allem zur Absicherung von Portfolios11 gekauft. Will man beispielsweise sicherstellen, dass eine Aktie nach Ablauf des Zeitraums T wenigstens den Wert K haben soll, so kauft man eine Put-Option mit Aus¨ ubungspreis K. 11
Alle Anlagen, die ein Investor h¨ alt, bilden zusammen sein Portfolio.
4.4 Freie Randwertprobleme
137
Eine amerikanische Put-Option auszu¨ uben, geht nat¨ urlich nur, wenn man eine dazu entsprechende Aktie besitzt (die man ja verkaufen will). Im Gegensatz dazu kann man die amerikanische Put-Option selbst besitzen, auch ohne eine dazu entsprechende Aktie zu besitzen. Dies f¨ uhrt auf das Problem der Optionspreisbewertung: Welchen Wert besitzt diese Option zu einem Zeitpunkt t ∈ [0, T ]? Diese Frage ist wichtig, wenn beispielsweise eine Bank eine solche Option ausgibt, oder wenn ein Inhaber einer Option diese auf dem Markt anbieten will, weil er gar keine entsprechende Aktie hat. Der Preis V der Option h¨ angt ab vom Kurs S(t) der Aktie und von der Zeit: V = V (S(t), t). Optionen werden auch oft Derivate genannt, weil sich ihr Wert vom Aktienkurs ableitet. F¨ ur t = T ist der Wert der amerikanischen Put-Option bekannt: Es ist V (S(T ), T ) = max{K − S(T ), 0} =: (K − S(T ))+ . F¨ ur t ∈ [0, T ) gibt es keine Formel f¨ ur V . Es gilt lediglich die Absch¨ atzung V (S(t), t) ≥ (K − S(t))+ .
(4.96)
Wir wollen diese Absch¨ atzung beweisen, um den Begriff Arbitrage einzuf¨ uhren. Nehmen wir an, es g¨ abe einen Zeitpunkt t0 ∈ [0, T ), an dem V (S(t0 ), t0 ) < (K − S(t0 ))+ gelten w¨ urde. Dann gilt wegen 0 ≤ V V (S(t0 ), t0 ) < K − S(t0 ).
(4.97)
Nun k¨ onnten wir zum Zeitpunkt t0 bei einer Bank den Betrag V (S(t0 ), t0 ) + S(t0 ) leihen und dann sofort (mit S(t0 )) die Aktie sowie (mit V (S(t0 ), t0 )) die amerikanische Put-Option kaufen. Unmittelbar danach u ¨ben wir die Option aus und machen, nachdem wir das geborgte Geld wieder der Bank geben, wegen (4.97) einen risikolosen Gewinn von K − (V (S(t0 ), t0 ) + S(t0 )) > 0. Die M¨ oglichkeit, einen risikolosen Gewinn zu erzielen, nennt man Arbitrage. Arbitrageure haben mehr Information als andere, denn sonst w¨ urde sich jeder des Vorteils bedienen, und die Preise w¨ urden sich schnell angleichen. Bei der idealisierten Modellierung von Finanzm¨ arkten wird angenommen, dass die M¨ arkte transparent sind und Informationen sich so schnell ausbreiten, dass Arbitrage nicht m¨oglich ist. Das Finanz-Modell Da der Wert der Option von der (nat¨ urlich unbekannten) zuk¨ unftigen Entwicklung des zu Grunde liegenden Kurses S abh¨ angt, muss zun¨achst ein Modell f¨ ur den zuk¨ unftigen Kursverlauf entwickelt werden.
138
4 Anwendungen
Im Standard-Modell ist S L¨osung der stochastischen Differentialgleichung dSt = μSt dt + σSt dWt .
(4.98)
Die Gleichung (4.98) ist nur eine symbolische Schreibweise. Siehe Abschnitt A.3. Man sagt, dass der Aktienkurs einer geometrischen Brownschen BeweΔSt ¨ gung folgt: Die relative Anderung St einer Aktie im Zeitintervall Δt setzt sich zusammen aus dem deterministischen Driftanteil μΔt und den stochastischen Schwankungen σΔWt : ΔSt = μΔt + σΔWt . St
(4.99)
Dabei bezeichnet Wt den so genannten Wiener-Prozess, und es ist ΔSt := St+Δt − St bzw. ΔWt := Wt+Δt − Wt . Siehe Abschnitt A.3. (4.99) kann als Diskretisierung von (4.98) angesehen werden. μ heißt Drift, σ > 0 nennt man Volatilit¨ at. Vereinfacht gesagt gibt μ den Trend des bisherigen Kursverlaufes an, w¨ahrend sich σ aus der Streuung der vergangenen Werte ergibt. Des Weiteren wird angenommen, dass zu der Aktie einmal j¨ ahrlich eine Dividende D ausgesch¨ uttet wird. Der Aktienkurs f¨ allt zum Dividendentermin exakt um die Dividende. Hierzu kann man den stetigen Dividendenfluss δ berechnen.12 Das Standard-Modell (4.98) erweitert sich dann zu dSt = (μ − δ)St dt + σSt dWt . Nun folgt f¨ ur V (S, t) mit der Itˆ o-Formel (siehe Satz A.3.1) dV =
∂V ∂t
+ (μ − δ)St
1 ∂V ∂2V ∂V dt + σSt + σ 2 St2 dWt 2 ∂S 2 ∂S ∂S
bzw. ΔSt = (μ − δ)St Δt + σSt ΔWt
(4.100)
und ΔV =
∂V ∂t
+ (μ − δ)St
1 ∂V ∂2V ∂V Δt + σSt + σ 2 St2 ΔWt . 2 ∂S 2 ∂S ∂S
(4.101)
Um zur Black-Scholes-(Un)gleichung zu gelangen, macht man folgenden Trick. Man betrachtet das Portfolio Π := −V +
∂V St . ∂S
Es besteht aus einer emittierten Option sowie aus der Aktie. 12
Siehe [110].
∂V ∂S -fachen
Menge der
4.4 Freie Randwertprobleme
139
Sie hat die Wert¨ anderung (man beachte den stetigen Dividendenfluss) ΔΠ = −ΔV +
∂V ∂V ΔSt + St δΔt. ∂S ∂S
Mit (4.100) und (4.101) erh¨ alt man ∂V 1 ∂V ∂2V ∂V Δt − σSt + (μ − δ)St + σ 2 St2 ΔWt ΔΠ = − ∂t ∂S 2 ∂S 2 ∂S ∂V ∂V (μ − δ)St Δt + σSt ΔWt + St δΔt + ∂S ∂S ∂V ∂2V 1 ∂V = − − σ 2 St2 S + δ Δt. (4.102) t ∂t 2 ∂S 2 ∂S Die stochastische Abh¨ angigkeit (d.h. der Wiener-Prozess) ist verschwunden. Somit erh¨ alt man ein risikoloses Portfolio, welches sich wie der risikolose Zinssatz r verhalten muss: ΔΠ = rΠΔt. (4.103) Sollte die Option nicht ausgef¨ uhrt werden k¨ onnen (also weitere Annahme: europ¨aische Option), dann m¨ ussen die Werte f¨ ur ΔΠ in (4.102) und (4.103) gleich sein. Es folgt die Black-Scholes-Gleichung −
1 ∂V ∂2V ∂V ∂V − σ2 S 2 = r(−V + S) + δS ∂t 2 ∂S 2 ∂S ∂S
bzw.
∂V 1 ∂2V ∂V + σ2 S 2 − rV. + (r − δ)S ∂t 2 ∂S 2 ∂S V (S, t) wird also nun als eine Funktion von zwei Variablen aufgefasst, d.h. V : [0, ∞) × [0, T ] → R. Somit wird auch die Bedingung (4.96) erweitert zu 0=
V (S, t) ≥ (K − S)+
f¨ ur alle (S, t) ∈ [0, ∞) × [0, T ].
F¨ ur S ≈ 0 gilt V = K − S. Wenn V (S, t) > (K − S)+ gilt, dann muss es ur f¨ ur fallendes S wegen der Stetigkeit von V einen Wert Sf < K geben, f¨ den V (Sf , t) = K − Sf gilt. Dieser Aufsprungpunkt h¨ angt von t ab, d.h. Sf = Sf (t). Damit gilt ur S > Sf (t), V (S, t) > (K − S)+ f¨ (4.104) V (S, t) = K − S f¨ ur S ≤ Sf (t). Die Lage des Randes Sf (t) ist unbekannt, deswegen spricht man von einem freien Rand. Siehe Abb. 4.5. Man kann zeigen: Sf (t) ist stetig differenzierbar und monoton wachsend mit r (4.105) lim Sf (t) = min{K, K}. t→T δ F¨ ur einen Beweis diesbez¨ uglich verweisen wir auf das Buch [59] von Y. K. Kwok.
140
4 Anwendungen
Abb. 4.5. Der freie Rand in der (S, t)-Ebene.
4.4.5 Die Black-Scholes-Ungleichung ¨ Der Ubersicht wegen definieren wir den Black-Scholes-Operator LBS (V ) :=
1 2 2 ∂2V ∂V σ S − rV. + (r − δ)S 2 2 ∂S ∂S
ullt V (S, t) die Black-Scholes-Gleichung Im Gebiet (Sf (t), ∞) × (0, T ) erf¨ ∂V + LBS (V ) = 0. ∂t Im Bereich [0, Sf (t)] × [0, T ] gilt V = K − S, d.h. ∂V = 0, ∂t
∂V = −1, ∂S
∂2V = 0. ∂S 2
Hieraus folgt ∂V + LBS (V ) = −(r − δ)S − r(K − S) = δS − rK. ∂t Wegen S ≤ Sf (t) ≤ Sf (T ) = min{K, rδ K} ist r δS − rK ≤ δ min{K, K} − rK ≤ 0. δ
4.4 Freie Randwertprobleme
141
Also gilt f¨ ur (S, t) ∈ (0, ∞) × (0, T ):
⎫ ∂V 1 2 2 ∂2V ∂V ⎪ ⎪ + σ S − rV ≤ 0, ⎪ + (r − δ)S ⎪ 2 ⎪ ∂t 2 ∂S ∂S ⎬ + V − (K − S) ≥ 0, ⎪ ⎪ ∂V ⎪ ⎪ 1 2 2 ∂2V ∂V ⎪ + ⎭ + σ S − rV · V − (K − S) + (r − δ)S = 0. ∂t 2 ∂S 2 ∂S (4.106) Zur numerischen L¨ osung von (4.106) verweisen wir auf den n¨ achsten Abschnitt, in dem der Zusammenhang zum LCP vollendet wird.
Hat man das Problem (4.106) numerisch gel¨ost, so hat man an diskreten Stellen (Si , tj ) N¨ aherungswerte Vij f¨ ur V (Si , tj ) berechnet. Dabei hat V (Si , tj ) die folgende Interpretation. H¨ atte zur Zeit t = tj die Aktie den Kurswert Si , so ist der Wert der Option zur Zeit t = tj gleich V (Si , tj ). Anhand der Werte Vij kann man nun die Kurve Sf (t) zur Zeit t = tj approximativ bestimmen: Ist i der kleinste Index mit Vij = (K − Si )+
und
Vi+1 j > (K − Si+1 )+ ,
so verwendet man analog zu (4.94) und (4.95) aus Beispiel 4.4.3 1 (Si + Si+1 ) 2 als N¨aherung f¨ ur Sf (tj ). Mit Hilfe der Werte Vij l¨ asst sich somit die Kurve Sf (t) bereits zum Zeitpunkt t = 0 vorab an diskreten Stellen tj approximieren. Die Kurve Sf (t) wird early exercise curve genannt, was wie folgt motiviert und ausgenutzt wird: Gilt zur Zeit t = tj der (nun zur Zeit t = tj bekannte) Kurs S(tj ) mit Sf (tj ) < S(tj ), d.h. der Punkt (S(tj ), tj ) liegt in der graueingef¨ arbten Fl¨ache von Abb. 4.5, so f¨ uhrt eine Aus¨ ubung der amerikanischen Put-Option auf einen Verlust, denn der Erhalt von K wiegt nicht den Verlust von V und S auf. Es ist n¨ amlich K − (V (S(tj ), tj ) + S(tj )) ≤ (K − S(tj ))+ − V (S(tj ), tj ) < 0 f¨ ur Sf (tj ) < S(tj ). Siehe (4.104). Man sollte in diesem Fall also abwarten. Gilt andererseits Sf (tj ) ≥ S(tj ), so gilt V (S(tj ), tj ) = K − S(tj ). Die einzige M¨ oglichkeit, Profit zu machen, ist, die Option auszu¨ uben und den Wert K risikolos zu verzinsen. Dabei wird der Profit Ker(T −t) − K umso gr¨ oßer desto kleiner t ist. Mit anderen Worten: Sobald die Aktie den Wert Sf (t) erreicht, sollte man die Option aus¨ uben.
142
4 Anwendungen
4.4.6 Amerikanische Put-Optionen und das LCP Selbstverst¨andlich kann man in (4.106) bereits eine gewisse Komplementarit¨ at erkennen. Jedoch sind noch ein paar Schritte n¨otig, bis das LCP letztlich zum Vorschein kommt. Zun¨achst werden wir die Differentialungleichung ∂V 1 ∂2V ∂V + σ 2 S 2 2 + (r − δ)S − rV ≤ 0 ∂t 2 ∂S ∂S
(4.107)
geschickt transformieren. Motiviert durch die Tatsache, dass die Ausdr¨ ucke 2 ∂2V S ∂V und S an eine Eulersche Differentialgleichung erinnern, substitu∂S ∂S 2 ieren wir 2 (4.108) S := K · ex und t := T − 2 τ. σ Aus der (S, t)-Ebene wird somit die (x, τ )-Ebene mit (S, t) ∈ (0, ∞) × (0, T )
⇔
(x, τ ) ∈ (−∞, ∞) × (0,
σ2 T ). 2
(4.109)
Andererseits ist V = V (S, t) = V (S(x), t(τ )), und es gilt ∂V 2 ∂V =− 2 ∂τ σ ∂t
bzw.
∂V σ 2 ∂V =− . ∂t 2 ∂τ
Außerdem folgen ∂V ∂V = ·S ∂x ∂S und
2 ∂2V ∂2V ∂V ∂2V ∂V 2 2∂ V · S bzw. S . = · S + = − ∂x2 ∂S 2 ∂S ∂S 2 ∂x2 ∂x Somit wird (4.107) zu
2 ∂ V σ 2 ∂V 1 ∂V ∂V − + σ2 − rV ≤ 0, − + (r − δ) 2 2 ∂τ 2 ∂x ∂x ∂x
und man erh¨ alt −
∂V ∂2V ∂V + +b·V ≤ 0 +a· 2 ∂τ ∂x ∂x
mit
(4.110)
2 2 − 1 und b = − 2 · r. (4.111) σ2 σ Die Differentialungleichung (4.110) enth¨ alt lediglich konstante Koeffizienten. Im n¨achsten Schritt werden wir eine Substitution durchf¨ uhren, so dass die Differentialungleichung noch u ¨berschaubarer wird. a = (r − δ) ·
4.4 Freie Randwertprobleme
143
Wir machen den Ansatz V = K · ec·x+d·τ · y(x, τ )
(4.112)
mit c, d ∈ R. Es gilt dann
∂V ∂y c·x+d·τ = K ·e · d·y+ ∂τ ∂τ
∂V ∂y c·x+d·τ = K ·e · c·y+ ∂x ∂x
sowie
∂2V ∂2y ∂y c·x+d·τ 2 + = K · e · c · y + 2c . ∂x2 ∂x ∂x2
und
Dies eingesetzt in (4.110) f¨ uhrt nach Division durch K · ec·x+d·τ auf
∂2y ∂y ∂y ∂y + 2 +a· c·y+ − d·y+ + c2 · y + 2c +b·y ≤ 0 ∂τ ∂x ∂x ∂x bzw.
∂2y ∂y ∂y + 2+ · (2c + a) + y · (−d + c2 + ac + b) ≤ 0. ∂τ ∂x ∂x F¨ ur die spezielle Wahl −
1 c=− a 2
und d =
1 2 1 2 1 a − a + b = b − a2 4 2 4
(4.113)
reduziert sich die Differentialungleichung auf ∂y ∂2y − 2 ≥ 0. ∂τ ∂x Als N¨achstes werden wir die Bedingung V − (K − S)+ ≥ 0 aus (4.106) trans¨ formieren. Uber (4.108) und (4.112) erh¨ alt man V − (K − S)+ ≥ 0
⇔
y(x, τ ) ≥ e−c·x−d·τ · max{0, 1 − ex }.
Mit c und d aus (4.113) sowie a und b aus (4.111) definieren wir g(x, τ ) := e−c·x−d·τ · max{0, 1 − ex },
(x, τ ) ∈ (−∞, ∞) × [0, 2
σ2 T] 2
und erhalten dann f¨ ur (x, τ ) ∈ (−∞, ∞) × (0, σ2 T ) die Bedingungen ⎫ ∂2y ∂y ⎪ ⎪ − 2 ≥ 0, ⎪ ⎪ ⎪ ∂τ ∂x ⎬ (4.114) y(x, τ ) − g(x, τ ) ≥ 0, ⎪ ⎪ ∂y ⎪ 2 ⎪ ∂ y ⎭ − 2 · y(x, τ ) − g(x, τ ) = 0. ⎪ ∂τ ∂x
144
4 Anwendungen
Um das Problem (4.114) diskretisieren zu k¨onnen, muss zun¨ achst das Intervall (−∞, ∞) sinnvoll durch ein kompaktes Intervall ersetzt werden. Dazu betrachten wir wieder die Funktion (S, t) ∈ [0, ∞) × [0, T ]
V (S, t),
und deren Bedeutung. Ist der Aktienkurs S sehr groß und insbesondere weitaus gr¨ oßer als K, so kann man davon ausgehen, dass der Wert V der amerikanischen Put-Option sehr gering ist, weil man bei sehr hohem Kurswert S keine Absicherung f¨ ur n¨ otig h¨ alt. Wir nehmen an, ein solcher Erfahrungswert Smax sei bekannt. Dann gilt V (Smax , t) ≈ 0
f¨ ur alle t ∈ [0, T ].
(4.115)
¨ Uber (4.108) ist dann Smax . K Analog gehen wir davon aus, dass ein Erfahrungswert Smin bekannt ist, der xmax = ln
Smin ≈ 0,
Smin < K,
0 < Smin < Sf (0)
erf¨ ullt. Da die freie Randkurve monoton wachsend ist, gilt ur alle t ∈ [0, T ]. Smin < Sf (0) ≤ Sf (t) f¨ Somit gilt wegen (4.104) V (Smin , t) = K − Smin
f¨ ur alle t ∈ [0, T ].
Einerseits folgt nun u ¨ ber (4.108) xmin = ln
Smin . K
Andererseits folgt u ¨ ber (4.112) ur alle τ ∈ [0, y(xmin , τ ) = g(xmin , τ ) f¨
σ2 T ]. 2
(4.116)
Nun k¨ onnen wir (4.114) diskretisieren. Wir u ¨ berziehen das Rechteck [xmin , xmax ] × [0,
σ2 T] 2
mit einem a¨quidistanten Gitter, indem wir m, n ∈ N w¨ahlen und damit Δx :=
xmax − xmin , n+1
Δτ :=
σ2 T 2(m + 1)
4.4 Freie Randwertprobleme
145
sowie x0 := xmin ,
xi+1 := xi + Δx,
i = 0, ..., n,
τ0 := 0,
τj+1 := τj + Δτ,
j = 0, ..., m,
setzen. Nach dem Satz von Taylor ist y(xi , τj + Δτ ) ≈ y(xi , τj ) + Δτ · und
∂y (xi , τj ) ∂τ
∂y (xi , τj+1 ). ∂τ als N¨aherung f¨ ur y(xi , τj ) angesetzt, so gilt dann y(xi , τj+1 − Δτ ) ≈ y(xi , τj+1 ) − Δτ ·
Wird yij
∂y yi j+1 − yij (xi , τj ) ≈ ∂τ Δτ
(Vorw¨ artsdifferenz)
und
∂y yi j+1 − yij (xi , τj+1 ) ≈ (R¨ uckw¨artsdifferenz). ∂τ Δτ Analog ist (siehe auch Bemerkung 4.4.2) ∂2y yi+1 j − 2yij + yi−1 j (xi , τj ) ≈ ∂x2 (Δx)2
und
∂2y yi+1 j+1 − 2yi j+1 + yi−1 j+1 (xi , τj+1 ) ≈ . ∂x2 (Δx)2
Ersetzt man jeweils das Approximationszeichen durch ein Gleichheitszeichen, so folgt aus (4.114) yi j+1 − yij yi+1 j − 2yij + yi−1 j ≥ Δτ (Δx)2 und
yi+1 j+1 − 2yi j+1 + yi−1 j+1 yi j+1 − yij ≥ . Δτ (Δx)2
Durch Addition erh¨ alt man 2(yi j+1 − yij ) yi+1 j − 2yij + yi−1 j + yi+1 j+1 − 2yi j+1 + yi−1 j+1 ≥ Δτ (Δx)2 bzw. mit λ :=
Δτ (Δx)2
(2 + 2λ)yi j+1 − λyi+1 j+1 − λyi−1 j+1 ≥ (2 − 2λ)yij + λyi+1 j + λyi−1 j .
146
4 Anwendungen
Diese Ungleichungen lassen sich mit Hilfe von ⎞ ⎞ ⎛ ⎛ y1j y1 j+1 ⎟ ⎟ ⎜ ⎜ y (j) := ⎝ ... ⎠ , y (j+1) := ⎝ ... ⎠ ynj
yn j+1
zusammenfassen als ⎞ ⎞ ⎛ ⎛ −λ · y0 j+1 λ · y0 j ⎟ ⎟ ⎜ ⎜ 0 0 ⎟ ⎟ ⎜ ⎜ ⎟ ⎟ ⎜ ⎜ . . (j+1) (j) .. .. My +⎜ ⎟ ≥ Ay + ⎜ ⎟, ⎟ ⎟ ⎜ ⎜ ⎠ ⎠ ⎝ ⎝ 0 0 −λ · yn+1 j+1 λ · yn+1 j mit
⎛
2 + 2λ
⎜ ⎜ −λ ⎜ ⎜ M =⎜ 0 ⎜ ⎜ . ⎝ .. 0 und
⎛ ⎜ ⎜ ⎜ ⎜ A=⎜ ⎜ ⎜ ⎝
−λ
··· .. . .. .
0
..
. ···
λ 0 .. . 0
⎞
0 .. .
⎟ ⎟ ⎟ ⎟ ∈ Rn×n 0 ⎟ ⎟ ⎟ .. . 2 + 2λ −λ ⎠ 0 −λ 2 + 2λ
2 + 2λ .. .. . .
2 − 2λ
j = 0, ..., m,
λ
0
··· .. . .. .
0 .. .
(4.117)
⎞
⎟ ⎟ 2 − 2λ ⎟ ⎟ .. .. ∈ Rn×n . . . 0 ⎟ ⎟ ⎟ .. .. . . 2 − 2λ λ ⎠ ··· 0 λ 2 − 2λ
Dabei ist wegen (4.116) y0 j = y(xmin , tj ) = g(xmin , tj ) sowie y0 j+1 = y(xmin , tj+1 ) = g(xmin , tj+1 ), und wir setzen wegen (4.115) und (4.112) y(xmax , tj ) ≈ yn+1 j := 0 sowie y(xmax , tj+1 ) ≈ yn+1 j+1 := 0. Mit der Bedingung
⎞ g(x1 , τj+1 ) ⎟ ⎜ .. ≥⎝ ⎠ . ⎛
y (j+1)
g(xn , τj+1 ) erhalten wir dann zur numerischen L¨ osung von (4.114) den Algorithmus, der in Tabelle 4.2 angegeben ist. Dabei ist zu bemerken, dass LCP (q, M ) eine eindeutige L¨ osung besitzt, weil die Matrix M aus (4.117) streng diagonaldominant mit positiven Diagonalelementen ist.
4.4 Freie Randwertprobleme
147
Tabelle 4.2. Algorithmus zur numerischen L¨ osung von (4.114). 1 g(x1 , 0) C B .. := @ A; . g(xn , 0) 0
y (0)
For j := 0 to m do begin 0
b(j)
1 λ · (g(xmin, τj ) + g(xmin, τj+1 )) B C 0 B C := B C; .. @ A . 0
1 g(x1 , τj+1 ) C B .. := @ A; . 0
g (j+1)
g(xn , τj+1 )
q := M g (j+1) − Ay (j) − b(j) ; sei z die L¨ osung von LCP (q, M ); y (j+1) := z + g (j+1) ; end.
Der Algorithmus aus Tabelle 4.2 liefert die Vektoren y (0) , y (1) , ..., y (m+1) ∈ Rn ¨ und somit die diskreten N¨ aherungswerte yij f¨ ur (4.114). Uber (4.112) erhalten wir dann die diskreten N¨ aherungswerte Vij f¨ ur (4.106). Bemerkung 4.4.3 Zur numerischen L¨ osung von (4.106) ist in jedem Iterationsschritt ein LCP zu l¨ osen. Dies ist ein wesentlicher Unterschied zur numerischen L¨osung des Damm-Problems. Dabei f¨ uhrt die Diskretisierung auf ein einziges LCP. Siehe [64]. Bemerkung 4.4.4 Die in den letzten Abschnitten vorgestellte Methode zur numerischen Berechnung von amerikanischen Put-Optionen kann auch sinngem¨aß auf amerikanische Call-Optionen angewandt werden. Dabei gilt aber eine Besonderheit. Es ist niemals lohnend, eine amerikanische Call-Option auf eine Aktie ohne Dividendenzahlung in [0, T ] vor dem Verfallstermin auszu¨ uben. Siehe [1], [59], [110]. Bemerkung 4.4.5 Die Idee, die Vorw¨artsdifferenzenmethode und die R¨ uckw¨artsdifferenzenmethode zu mitteln, stammt von J. C. Crank und P. Nicolson aus dem Jahre 1947. Bez¨ uglich der Konvergenzordnung und der Stabilit¨ at des so genannten Crank-Nicolson-Verfahrens verweisen wir auf das Buch [110] von R. Seydel. Bemerkung 4.4.6 Im Gegensatz zu den gew¨ohnlichen freien Randwertproblemen, bei denen wir auch Existenz- und Eindeutigkeitss¨ atze betrachtet
148
4 Anwendungen
haben, basierte bei dem freien Randwertproblem, welches bei der Bewertung von amerikanischen Put-Optionen entsteht, die gesamte Modellierung und Herleitung bereits auf der Existenz einer L¨ osung. F¨ ur reine Existenzs¨atze f¨ ur parabolische freie Randwertprobleme verweisen wir auf die beiden Artikel [113] und [114] von R. C. Thompson und W. L. Walter. Bemerkung 4.4.7 Die Matrix M aus (4.117) ist streng diagonaldominant mit positiven Diagonalelementen. Ferner ist M eine Z-Matrix. Um die eindeutige L¨ osung von LCP (q, M ) zu berechnen, k¨ onnte man daher den Algorithmus von Chandrasekaran verwenden. Dieser Algorithmus nutzt allerdings nicht die Tridiagonalgestalt von M aus, was sich insbesondere f¨ ur große Werte f¨ ur n als unvorteilhaft erweist. Siehe [22]. Algorithmen, die die Tridiagonalgestalt von M ausnutzen, sind die iterativen Verfahren und die InnerePunkte-Verfahren, die in den n¨ achsten Kapiteln vorgestellt werden.
5 Iterative L¨ osungsverfahren
Ein iteratives Verfahren (Latein: iterare = ˆ wiederholen) ist eine Methode, die sich durch wiederholte Anwendung desselben Rechenverfahrens der L¨osung eines Problems schrittweise ann¨ahert. Ein wichtiges Beispiel ist die so genannte Fixpunktiteration x(0) ∈ Rn beliebig x(k+1) := f (x(k) ),
k = 0, 1, 2, ...
zur Bestimmung eines Fixpunktes einer gegebenen Funktion f : Rn → Rn . In den n¨ achsten Abschnitten werden wir zwei iterative Verfahren zur L¨osung von LCP (q, M ) vorstellen: Zum einen das so genannte PSOR-Verfahren, zum anderen den Modulus-Algorithmus. Beide Verfahren sind Fixpunktiterationen. Daher empfiehlt es sich, vor dem weiteren Lesen die Abschnitte A.1 und A.2 zu studieren.
5.1 Das PSOR-Verfahren Das PSOR-Verfahren ist das SOR-Verfahren angewandt auf das LCP. Daher werden wir zun¨ achst das SOR-Verfahren herleiten. Es ist ein Verfahren, welches zur L¨osung eines linearen Gleichungssystems, Ax = b, A ∈ Rn×n , b ∈ Rn entwickelt wurde. Zun¨ achst wird die Matrix A aufgespalten in A = D − L − R mit D := diag(a11 , a22 , ..., ann ), ⎛ ⎞ ⎞ ⎛ 0 ··· ··· 0 0 a12 · · · a1n ⎜ ⎜ .. . . . . .. ⎟ .. ⎟ ⎜ a21 . . . ⎜. . . . ⎟ .⎟ ⎜ ⎟ ⎟. ⎜ L := − ⎜ . ⎟ und R := − ⎜ . ⎟ . . . . .. a . . .. ⎠ ⎝ .. . . ⎠ ⎝ .. n−1n an1 · · · ann−1 0 0 ··· ··· 0 ullt x die Ist x eine L¨osung von Ax = b und ist aii = 0, i = 1, ..., n, so erf¨ Fixpunktgleichung x = D−1 (L + R)x + D−1 b.
150
5 Iterative L¨ osungsverfahren
Die Fixpunktiteration
x(0) ∈ Rn beliebig x(k+1) := D−1 (L + R)x(k) + D−1 b,
k = 0, 1, 2, ...
(5.1)
nennt man Gesamtschrittverfahren oder auch Jakobi-Verfahren. Komponentenweise bedeutet die zweite Zeile von (5.1) (k+1)
x1
(k+1)
x2
(k+1)
xi
(k+1)
xn
n 1 (k) − a1j xj + b1 a11 j=2 n 1 (k) (k) − a21 x1 − := a2j xj + b2 a22 j=3 .. . i−1 n 1 (k) (k) − := aij xj − aij xj + bi aii j=1 j=i+1 .. . n−1 1 (k) − := anj xj + bn ann j=1
:=
k = 0, 1, 2, ... . In dieser Schreibweise f¨allt auf, dass man bei der Berechnung (k+1) (k+1) (k) bereits x1 anstelle von x1 h¨ atte verwenden k¨onnen. Dies f¨ uhrt von x2 auf das Verfahren (k+1)
x1
(k+1)
x2
(k+1)
xi
(k+1)
xn
n 1 (k) − a1j xj + b1 a11 j=2 n 1 (k+1) (k) − a21 x1 := − a2j xj + b2 a22 j=3 .. . i−1 n 1 (k+1) (k) − := aij xj − aij xj + bi aii j=1 j=i+1 .. . n−1 1 (k+1) − := anj xj + bn ann j=1
:=
k = 0, 1, 2, ... . Dieses Verfahren nennt man Einzelschrittverfahren oder auch Gauß–Seidel-Verfahren. In Matrixschreibweise kann man dieses Verfahren schreiben als x(0) ∈ Rn beliebig x(k+1) := (D − L)−1 Rx(k) + (D − L)−1 b,
k = 0, 1, 2, ... .
5.1 Das PSOR-Verfahren
151
Obwohl das Einzelschrittverfahren schneller Teilergebnisse wiederverwendet als das Gesamtschrittverfahren, kann man nicht schließen, dass generell das Einzelschrittverfahren schneller zum Ziel f¨ uhrt als das Gesamtschrittverfahren. Es gibt sogar Beispiele, bei denen das Einzelschrittverfahren divergiert, w¨ahrend das Gesamtschrittverfahren konvergiert. Siehe Exercise 7.12 in [13]. Unter gewissen Voraussetzungen an A sollte man aber das Einzelschrittverfahren dem Gesamtschrittverfahren vorziehen. Siehe Satz von Stein–Rosenberg in [13]. (k+1)
ein HilfsEin drittes Iterationsverfahren ist das SOR-Verfahren: Es sei x˜i vektor, der das Ergebnis aus dem (k + 1)-ten Schritt des Einzelschrittverfahrens abspeichere. Dann setzt man f¨ ur i = 1, ..., n (k+1)
xi
(k+1)
:= α · x ˜i
+ (1 − α) · x(k)
(5.2) (k+1)
mit einem so genannten Relaxationsparameter α. Der Wert xi ist somit (k) (k+1) ein gewichtetes Mittel von xi und x ˜i . Die Gewichtungsfaktoren 1 − α und α sind beide nichtnegativ f¨ ur 0 ≤ α ≤ 1. F¨ ur α > 1 spricht man von (k+1) ¨ Uberrelaxation. Setzt man f¨ ur x ˜i die Formel aus dem Einzelschrittverfahren ein, so erh¨alt man f¨ ur i = 1, ..., n (k+1)
xi
=
i−1 n α (k+1) (k) (k) bi − + (1 − α)xi aij xj − aij xj aii j=1 j=i+1 (k)
= xi
+
i−1 n α (k+1) (k) aij xj − aij xj , bi − aii j=1 j=i
k = 0, 1, 2, ..., x(0) ∈ Rn beliebig. Dieses Verfahren nennt man das SORVerfahren. (Englisch: successive overrelaxation. Beim Einzelschrittverfahren (k+1) (k+1) wird sukzessiv die neue Variable xi−1 bei der Berechnung von xi ver¨ wendet und bei dem gewichteten Mittel (5.2) kann es zu Uberrelaxation kommen.) Man kann zeigen, dass das SOR-Verfahren h¨ ochstens f¨ ur α ∈ (0, 2) konvergiert, und unter gewissen Voraussetzungen an A kann man ein α∗ ∈ (0, 2) angeben, so dass das SOR-Verfahren in einem gewissen Sinn optimal wird. Siehe [13]. Das PSOR-Verfahren (Englisch: projected successive overrelaxation) ist das SOR-Verfahren angewandt auf das LCP: Gegeben seien q ∈ Rn und M ∈ Rn×n mit mii = 0, i = 1, ..., n. Dann wenden wir das SOR-Verfahren auf das lineare Gleichungssystem M z = −q an, wobei wir die (k + 1)-te Iterierte z (k+1) auf den ersten Orthanten projizieren: z (0) ∈ Rn , z (0) ≥ o, α ∈ (0, 2),
152
5 Iterative L¨ osungsverfahren
(k+1)
zi
⎫ i−1 n ⎬ α (k) (k+1) (k) − qi − := max 0, zi + mij zj − mij zj , (5.3) ⎭ ⎩ mii j=1 j=i ⎧ ⎨
i = 1, ..., n, k = 0, 1, 2, .... . Diese Iteration nennt man das PSOR-Verfahren. Es werden lediglich Iterierte z (k) betrachtet. Somit zielt das PSOR-Verfahren ab auf das LCP: Finde z ∈ Rn mit q + M z ≥ o,
(q + M z)T z = 0.
z ≥ o,
Satz 5.1.1 Es seien M ∈ Rn×n und q ∈ Rn . Die Matrix M sei symmetrisch und positiv definit. Die (nach Satz 3.1.8 und Satz 3.1.2) eindeutige L¨ osung von LCP (q, M ) sei z. Dann gilt f¨ ur das PSOR-Verfahren f¨ ur jedes α ∈ (0, 2) und jedes z (0) ∈ Rn mit z (0) ≥ o: lim z (k) = z. k→∞
Beweis: Zun¨achst sei erw¨ahnt, dass wegen Satz 3.1.8 M eine P-Matrix ist. ur jedes i = 1, ..., n und das PSOR-Verfahren ist in jedem Daher ist mii > 0 f¨ Schritt definiert. (k+1)
Wir werden den Satz schrittweise beweisen. Als Erstes werden wir zi das Maximum in (5.3) ausdr¨ ucken. Dazu sei (k+1)
ri
:= −qi −
i−1
(k+1)
mij zj
−
j=1
n
(k)
mij zj .
(k+1)
(k)
= zi
+
(k+1)
(k)
zi (k+1)
+
zwei F¨alle.
α (k+1) ·r ≤ 0. mii i
(5.6)
= 0, so folgt aus (5.5) (k)
αk+1,i = −zi bzw. (k)
zi
(5.5)
αk+1,i (k+1) · ri . mii
Beweis: Aus dem PSOR-Verfahren folgen f¨ ur zi (k+1) 1. Fall: zi = 0 und somit
Ist ri
(5.4)
j=i
Behauptung 1: Es sei i ∈ {1, ..., n}. Ist ⎫ ⎧ mii (k+1) ⎬ ⎨ (zi(k+1) − zi(k) ) · falls r = 0, i (k+1) ri αk+1,i := ⎭ ⎩ (k+1) α falls ri = 0, dann gilt zi
ohne
(k+1)
+ αk+1,i ·
ri mii
·
mii (k+1) ri (k+1)
= 0 = zi
.
5.1 Das PSOR-Verfahren (k+1)
(k)
(k)
(k)
Ist ri = 0, so ist wegen (5.6) zi ≤ 0. Wegen zi ≥ 0 folgt zi es ist dann αk+1,i (k+1) (k) (k+1) · ri = 0 + 0 = 0 = zi . zi + mii α (k+1) (k) (k+1) 2. Fall: zi = zi + ·r . mii i (k+1)
Ist ri Ist
(k+1) ri
153
= 0, und
= 0, so folgt die Behauptung wegen α = αk+1,i . = 0, dann folgt aus (5.5) (k)
bzw.
(k+1)
zi
mii (k+1) ri
(k+1)
− zi ) ·
(k)
αk+1,i (k+1) · ri . mii
αk+1,i = (zi
= zi
+
Behauptung 2: Es sei i ∈ {1, ..., n} und αk+1,i sei wie in (5.5) definiert. Dann gilt 0 ≤ αk+1,i ≤ α. (k+1)
Beweis: Ist ri Dann gilt
(k+1)
= 0, so gilt αk+1,i = α, wobei α ∈ (0, 2). Sei also ri (k+1)
αk+1,i = (zi (k+1)
1. Fall: zi
(k)
= 0 und somit zi (k+1)
In diesem Fall gilt ri
(k)
α ≥ −zi
·
+
α (k+1) ·r ≤ 0. mii i
mii (k+1) ri
(k+1)
= (zi
(k)
αk+1,i = −zi (k+1)
(k)
= zi
+
mii . (k+1) ri
< 0 und
Außerdem ist
2. Fall: zi
(k)
− zi ) ·
= 0.
(k)
− zi ) ·
·
mii (k+1) ri
mii (k+1) ri
= αk+1,i .
≥ 0.
α (k+1) r . Dann ist mii i (k+1)
α = (zi
(k)
− zi ) ·
mii (k+1) ri
= αk+1,i
mit α ∈ (0, 2). Mit Hilfe von Behauptung 1 und Behauptung 2 werden wir als N¨ achstes lim (z (k+1) − z (k) ) = o
k→∞
zeigen. Dazu betrachten wir die Funktion G : Rn → R definiert durch G(u) := uT M u + 2uT q.
(5.7)
154
5 Iterative L¨ osungsverfahren
Da M symmetrisch ist, gilt f¨ ur u, v ∈ Rn G(u) − G(v) = uT M u + 2uT q − v T M v − 2v T q = (u − v)T M (u − v) + 2uT M v − 2v T M v + 2uT q − 2v T q = (u − v)T M (u − v) + 2(u − v)T (M v + q). (k+1,l)
F¨ ur k ≥ 0 und 0 ≤ l ≤ n definieren wir den Vektor z (k+1,l) = (zi (k+1) zi falls 1 ≤ i ≤ l, (k+1,l) zi := (k) zi falls l < i ≤ n.
) durch
Es gilt also z (k+1,0) = z (k)
und z (k+1,n) = z (k+1)
bzw. z (k+1,0) = z (k,n) .
Speziell erh¨alt man f¨ ur ⎛
z (k+1,i−1)
(k+1) ⎞
z1
⎜ . ⎟ ⎜ .. ⎟ ⎟ ⎜ ⎜ (k+1) ⎟ ⎜ zi−1 ⎟ = ⎜ (k) ⎟ ⎟ ⎜ zi ⎟ ⎜ ⎜ .. ⎟ ⎝ . ⎠ (k)
zn die Gleichung (−q − M z
(k+1,i−1)
)i = −qi −
i−1
(k+1) mij zj
j=1
Somit ist
(k+1)
ri
−
n j=i
= (−q − M z (k+1,i−1) )i
auf Grund von (5.4). Außerdem ist ⎛
z (k+1,i) − z (k+1,i−1)
0 .. .
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0 ⎜ (k+1) ⎟ (k) ⎟ . =⎜ z − z ⎜ i i ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ .. ⎝ ⎠ . 0
Somit haben wir
⎞
(k)
mij zj .
(5.8)
5.1 Das PSOR-Verfahren
155
G(z (k+1,i) ) − G(z (k+1,i−1) ) = (z (k+1,i) − z (k+1,i−1) )T M (z (k+1,i) − z (k+1,i−1) ) + 2(z (k+1,i) − z (k+1,i−1) )T (M z (k+1,i−1) + q) (k+1)
= mii (zi
(k)
(k+1)
− zi )2 − 2(zi
(k)
(k+1)
− zi ) · ri
.
Mit Behauptung 1 und Behauptung 2 folgt dann G(z (k+1,i) ) − G(z (k+1,i−1) ) = αk+1,i · (αk+1,i − 2) ·
(k+1) 2
)
(ri
mii
≤ 0.
(5.9)
Mit (5.9) und (5.8) erhalten wir als Zwischenergebnis, dass die Zahlenfolge G(z (1,0) ), G(z (1,1) ), ..., G(z (1,n) ), G(z (2,0) ), G(z (2,1) ), ..., G(z (2,n) ), ... G(z (k,0) ), G(z (k,1) ), ..., G(z (k,n) ), G(z (k+1,0) ), G(z (k+1,1) ), ..., G(z (k+1,n) ), ... (5.10) monoton fallend ist. Insbesondere folgt mit (5.8) G(z (k+1) ) ≤ G(z (k) ).
(5.11)
Behauptung 3: Die Funktion G(u), u ∈ Rn ist nach unten beschr¨ ankt. Beweis: Da M symmetrisch ist, gibt es eine Matrix S mit S T S = E und SM S T = diag(λ1 , ..., λn ) =: D, wobei λi , i = 1, ..., n die Eigenwerte von M sind. Da M symmetrisch und positiv definit ist, gilt sogar 0 < λi , i = 1, ..., n. Mit y := Sx und q˜ := Sq ergibt sich dann G(x) = xT M x + 2xT q = xT S T DSx + 2xT S T Sq n = y T Dy + 2y T q˜ = (λi yi2 + 2yi q˜i ) i=1
n n q˜i q˜i2 q˜i2 q˜i 2 q˜i2 2 = λi yi + 2yi + 2 − 2 = λi (yi + ) − 2 λi λi λi λi λi i=1 i=1 n q ˜i2 ≥− . i=1 λi Die Folge (5.10) ist somit monoton fallend und nach unten beschr¨ankt. Daher besitzt diese Folge einen Grenzwert, der mit G∗ ∈ R bezeichnet sei. Da jede Teilfolge einer konvergenten Folge selbst auch konvergent ist und gegen denselben Grenzwert konvergiert, gilt f¨ ur jedes fest gew¨ahlte l ∈ {0, ..., n} lim G(z (k,l) ) = G∗ .
k→∞
(5.12)
156
5 Iterative L¨ osungsverfahren
Behauptung 4: Es seien m := min{m11 , m22 , ..., mnn }. Dann gilt (k+1) (k) − zi ≤ zi (k+1)
4 α·
G(z (k+1,i−1) ) − G(z (k+1,i) ) , m · (2 − α)
(k)
i = 1, ..., n. (k+1)
Beweis: F¨ ur zi = zi gibt es nichts zu zeigen. Sei also zi folgt aus Behauptung 1 αk+1,i = 0 und (k+1)
ri
(k+1)
= (zi
(k)
− zi ) ·
(k)
= zi . Dann
mii . αk+1,i
Dies eingesetzt in (5.9) gibt G(z (k+1,i−1) ) − G(z (k+1,i) ) = (2 − αk+1,i ) ≥
mii (k+1) (k) (z − zi )2 αk+1,i i
m · (2 − α) (k+1) (k) (zi − zi )2 . α
Zieht man nun auf beiden Seiten die Wurzel, so folgt Behauptung 4. Mit Behauptung 4 und (5.12) folgt dann (5.7). Aus (5.7) folgt allerdings noch ¨ otigen wir noch weitere Uberlegungen. nicht, dass lim z (k) = z gilt. Dazu ben¨ k→∞
Behauptung 5: Ist z ∗ ein H¨ aufungspunkt der Folge {z (k) }, so gilt q + M z ∗ ≥ o,
z ∗ ≥ o,
(q + M z ∗ )T z ∗ = 0.
aufungspunkt der Folge {z (k) }, so gibt es eine Folge {kp } Beweis: Ist z ∗ ein H¨ (kp ) ∗ mit lim z = z . Wegen (5.7) gilt dann auch p→∞
lim z (kp +1) = z ∗ ,
(5.13)
lim r(kp +1) = −q − M z ∗ .
(5.14)
p→∞
und aus (5.4) folgt dann p→∞
Wegen z (k) ≥ o ist z ∗ ≥ o. Zum Beweis von q + M z ∗ ≥ o nehmen wir an, es gebe ein i0 ∈ {1, ..., n} mit (q + M z ∗ )i0 < 0
bzw. (−q − M z ∗ )i0 > 0.
Dann existieren ε > 0 und wegen (5.14) eine Teilfolge {kp˜} von {kp } mit (k +1) ri0 p˜ ≥ ε f¨ ur alle kp˜. Dann gilt (k +1)
zi0 p˜
(k )
= max{0, zi0 p˜ +
α α (k +1) (k ) (k +1) · r p˜ } = zi0 p˜ + · r p˜ mi0 i0 i0 mi0 i0 i0
5.1 Das PSOR-Verfahren
bzw.
(k +1)
zi0 p˜
(k )
− zi0 p˜ ≥ ε
157
α > 0 f¨ ur alle kp˜. mi0 i0
Dies ist ein Widerspruch zu (5.7). Zum Beweis von (q + M z ∗ )T z ∗ = 0 nehmen wir an, es gebe ein i0 ∈ {1, ..., n} mit (−q − M z ∗ )i0 < 0 und zi∗0 > 0. Dann existieren ε > 0 und wegen (5.13) und (5.14) eine Teilfolge {kp˜} von {kp } mit (k +1) (k +1) ri0 p˜ ≤ −ε und zi0 p˜ ≥ ε f¨ ur alle kp˜. Dann gilt (k +1)
zi0 p˜ bzw.
(k )
= max{0, zi0 p˜ +
α α (k +1) (k ) (k +1) · r p˜ } = zi0 p˜ + · r p˜ mi0 i0 i0 mi0 i0 i0
α α (kp˜+1) (kp˜) (kp˜+1) = − z · r ur alle kp˜. zi0 i0 i0 mi i ≥ mi i · ε f¨ 0 0 0 0
Dies ist ein Widerspruch zu (5.7). Behauptung 6: Die Folge {z (k) } ist beschr¨ankt und besitzt daher mindestens einen H¨ aufungspunkt. 6 5 Beweis: Wir zeigen zun¨achst, dass die Menge R = z : G(z) ≤ G(z (0) ) beschr¨ankt ist. Dazu nehmen wir an, R sei unbeschr¨ ankt. Dann existiert eine Folge x(k) ∈ R mit ) ) ) ) lim )x(k) ) = ∞. ∞
k→∞
(k)
Ist S eine regul¨are Matrix, so gilt f¨ ur y := Sx(k) wegen ) ) ) ) ) ) ) ) ) (k) ) ) ) ) ) )x ) = )S −1 y (k) ) ≤ )S −1 )∞ · )y (k) ) ∞
∞
∞
) ) auch lim )y (k) )∞ = ∞. Insbesondere gibt es somit ein i0 ∈ {1, ..., n} mit k→∞ (k) lim yi0 = ∞. Ist S die Matrix aus Behauptung 3, so gilt k→∞
(k)
G(x
n q˜i2 q˜i 2 q˜i2 q˜i (k) (k) )= λi (yi + ) − 2 ≥ λi0 · (yi0 + 0 )2 − λi λi λi0 λ i=1 i=1 i n
und es folgt lim G(x(k) ) = ∞. Dies ist ein Widerspruch zu G(x(k) ) ≤ G(z (0) ). k→∞
Wegen (5.11) gilt z (k) ∈ R f¨ ur alle k ≥ 0. Da die Menge R beschr¨ankt ist, ist auch die Folge {z (k) } beschr¨ankt. Mit dem Satz von Bolzano–Weierstraß folgt schließlich die Existenz von mindestens einem H¨aufungspunkt.
158
5 Iterative L¨ osungsverfahren
Behauptung 7: Es gilt lim z (k) = z. k→∞
Beweis: Wir nehmen an, die Folge {z (k) } w¨ urde nicht gegen z konvergieren. Dann existieren ε > 0 und eine Teilfolge {kp } von {k} mit ) ) ) (kp ) ) − z ) ≥ ε f¨ ur alle kp . (5.15) )z ∞
Die Folge {z (kp ) } ist beschr¨ankt, da nach Behauptung 6 die Folge {z (k) } beschr¨ankt ist. Nach dem Satz von Bolzano–Weierstraß gibt es dann eine konvergente Teilfolge {z (kp˜) }. Der Grenzwert dieser Folge ist nach Behauptung 5 eine L¨ osung von LCP (q, M ). Da die L¨osung eindeutig ist, muss dieser Grenzwert z sein. Dies ist ein Widerspruch zu (5.15). F¨ ur das n¨ achste Resultat wird es von Vorteil sein, das PSOR-Verfahren in Matrixschreibweise festzuhalten. Dazu sei D := diag(m11 , ..., mnn ) mit mii = 0, i = 1, ..., n, ⎛ ⎛ ⎞ ⎞ 0 m12 · · · m1n 0 ··· ··· 0 ⎜ .. . . . . ⎜ ⎟ .. ⎟ .. ⎜. ⎜ m21 . . . ⎟ . . .⎟ . ⎜ ⎜ ⎟ ⎟. und R := − L := − ⎜ . ⎜ ⎟ ⎟ . . . . . . . . . . . ⎝. ⎝ . . . .⎠ . mn−1n ⎠ mn1 · · · mnn−1 0 0 ··· 0 Außerdem ist f¨ ur u, v ∈ Rn ⎞ ⎛ min{u1 , v1 } ⎟ ⎜ .. inf{u, v} = ⎝ ⎠ .
⎞ max{u1 , v1 } ⎟ ⎜ .. sup{u, v} = ⎝ ⎠. . ⎛
und
min{un , vn }
max{un , vn }
Damit lautet das PSOR-Verfahren in Matrixschreibweise z (0) ∈ Rn , z (0) ≥ o, α ∈ (0, 2), z (k+1) := sup{o, (1 − α)z (k) + αD−1 (Lz (k+1) + Rz (k) − q)},
k = 0, 1, 2, ... .
Lemma 5.1.1 F¨ ur u, v ∈ R gilt n
| sup{o, u} − sup{o, v}| ≤ |u − v|. Beweis: Da | · | f¨ ur Vektoren komponentenweise definiert ist, reicht es, | max{0, u} − max{0, v}| ≤ |u − v|
f¨ ur u, v ∈ R
zu zeigen. 1. Fall: u · v > 0. Dann ist | max{0, u} − max{0, v}| = |u − v| oder | max{0, u} − max{0, v}| = 0.
5.1 Das PSOR-Verfahren
159
2. Fall: u · v < 0. F¨ ur u < 0 und v > 0 ist | max{0, u} − max{0, v}| = |0 − v| = v < v − u = |v − u|. Der Unterfall u > 0, v < 0 verl¨ auft analog. 3. Fall: u · v = 0. Ist u = 0, so ist | max{0, u} − max{0, v}| = max{0, v} ≤ |v| = |v − u|.
Der Unterfall v = 0 verl¨ auft analog.
Satz 5.1.2 Es seien M ∈ Rn×n und q ∈ Rn . Die Matrix M sei eine H-Matrix mit positiven Diagonalelementen. Die (nach Satz 3.1.10 und Satz 3.1.2) eindeutige L¨ osung von LCP (q, M ) sei z. Dann gelten folgende Aussagen: 1. ρ(D−1 (|L| + |R|)) < 1. 2. Bez¨ uglich des PSOR-Verfahrens gilt f¨ ur jedes 2 α ∈ 0, −1 1 + ρ(D (|L| + |R|)) und jedes z (0) ∈ Rn mit z (0) ≥ o: lim z (k) = z. k→∞
Beweis: 1. Da M als H-Matrix mit positiven Diagonalelementen vorausgesetzt ist, ist nach Bemerkung 3.4.1 die Matrix * + M = D − |L| − |R| * +−1 eine M-Matrix. Daher ist M ≥ O. Des Weiteren ist D−1 ≥ O und |L| + |R| ≥ O. Die Behauptung folgt nun mit Lemma A.2.1. 2. Da z die L¨ osung von LCP (q, M ) ist, gilt q + M z ≥ o,
z ≥ o,
(q + M z)T z = 0.
Dies ist a¨quivalent zu o = inf{z, q + M z} = inf{z, q + (D − L − R)z} = inf{z, q + α−1 D − L − R + (1 − α−1 )D z} = inf{z, α−1 DαD−1 α−1 Dz + q − Lz − Rz + (1 − α−1 )Dz }. Dies ist wiederum wegen mii > 0, i = 1, ..., n und α > 0 ¨aquivalent zu o = inf{z, z + αD−1 q − Lz − Rz + (1 − α−1 )Dz } bzw.
o = z + inf{o, αD−1 q − Lz − Rz + (1 − α−1 )Dz } = z − sup{o, αD−1 Lz + Rz − q − (1 − α−1 )Dz },
160
5 Iterative L¨ osungsverfahren
was dann gleichbedeutend ist mit z = sup{o, (1 − α)z + αD−1 (Lz + Rz − q)}. Somit ist z der einzige Fixpunkt der Funktion f (x) := sup{o, (1 − α)x + αD−1 (Lx + Rx − q)},
x ∈ Rn .
Betrachten wir zus¨ atzlich noch die Funktion g(x, y) := sup{o, (1 − α)y + αD−1 (Lx + Ry − q)},
x, y ∈ Rn ,
dann ist einerseits Andererseits ist
g(z, z) = f (z) = z.
(5.16)
g(z (k+1) , z (k) ) = z (k+1) .
(5.17)
Somit erhalten wir mit der Dreiecksungleichung, (5.16) und Lemma 5.1.1 |z (k+1) − z| ≤ |g(z (k+1) , z (k) ) − g(z, z (k) )| + |g(z, z (k) ) − g(z, z)| ≤ αD−1 |L| · |z (k+1) − z| + |1 − α|E + αD−1 |R| · |z (k) − z|. Da die Matrix D−1 |L| eine untere Dreiecksmatrix mit Nullen in den Diagonalelementen ist, gilt ρ(αD−1 |L|) = 0 < 1. Mit Lemma A.1.8 folgt dann (E − αD−1 |L|)−1 =
∞ i αD−1 |L| ≥ O.
(5.18)
i=0
Daher ist
|z (k+1) − z| ≤ (E − αD−1 |L|)−1 |1 − α|E + αD−1 |R| · |z (k) − z|
bzw.
|z (k) − z| ≤ P k · |z (0) − z|
(5.19)
P := (E − αD−1 |L|)−1 |1 − α|E + αD−1 |R| .
mit
Der Satz ist bewiesen, sobald wir ρ(P ) < 1
(5.20)
gezeigt haben. Denn aus (5.20) folgt mit Lemma A.1.6 lim P k = O und somit lim z (k) = z auf Grund von (5.19). k→∞
k→∞
5.1 Das PSOR-Verfahren
161
Um (5.20) zu zeigen, werden wir Lemma A.2.1 verwenden. Dazu setzen wir H := E − αD−1 |L| und
N := |1 − α|E + αD−1 |R|.
Dann ist P = H −1 N mit N ≥ O und H −1 ≥ O wegen (5.18). Falls f¨ ur Aα := H − N = 1 − |1 − α| E − αD−1 (|L| + |R|) die Bedingung
A−1 α ≥ O
gezeigt ist, so folgt (5.20) aus Lemma A.2.1. 1. Fall: α ∈ (0, 1]. Dann ist * + Aα = α · E − αD−1 (|L| + |R|) = αD−1 (D − |L| − |R|) = αD−1 M . Da M als H-Matrix mit positiven Diagonalelementen vorausgesetzt ist, ist nach Bemerkung 3.4.1 A−1 α ≥ O. 2. Fall: Es ist 1<α<
2 . 1 + ρ(D−1 (|L| + |R|))
Dann ist ρ(D−1 (|L| + |R|)) < und
2−α α
Aα = (2 − α) · E − αD−1 (|L| + |R|) = (2 − α) · E −
(5.21) α D−1 (|L| + |R|) . 2−α
Wegen (5.21) ist ρ(
α α D−1 (|L| + |R|)) = ρ(D−1 (|L| + |R|)) < 1. 2−α 2−α
Somit folgt aus Lemma A.1.8 E−
∞ −1 k α α D−1 (|L| + |R|) D−1 (|L| + |R|) ≥ O, = 2−α 2−α k=0
woraus dann A−1 α ≥ O folgt.
162
5 Iterative L¨ osungsverfahren
5.2 Der Modulus-Algorithmus Der Modulus-Algorithmus (Englisch: modulus = ˆ Betrag einer Zahl) ist ein weiterer iterativer Algorithmus zur L¨osung von LCP (q, M ). Ist E+M regul¨ ar, so ist der Modulus-Algorithmus wie folgt definiert: ⎫ ⎬ x(0) ∈ Rn beliebig (5.22) x(k+1) := (E + M )−1 (E − M )|x(k) | − q , k = 0, 1, 2, ... . ⎭ Der folgende Satz kl¨art den Zusammenhang zwischen dem Modulus-Algorithmus und dem LCP. Satz 5.2.1 Es seien M ∈ Rn×n , q ∈ Rn , und E +M sei regul¨ ar. Es bezeichne f¨ u r x ∈ Rn f (x) := (E + M )−1 (E − M )|x| − q . Dann gelten folgende Aussagen: 1. Ist x∗ ein Fixpunkt von f (x), so bilden w := |x∗ | − x∗
und
z := |x∗ | + x∗
(5.23)
eine L¨ osung von LCP (q, M ). 2. Bilden w und z eine L¨ osung von LCP (q, M ), so ist x∗ :=
1 (z − w) 2
ein Fixpunkt von f (x). 3. Ist M eine P-Matrix, so besitzt f (x) genau einen Fixpunkt. Beweis: 1. Aus (5.23) folgt einerseits w ≥ o, andererseits
x∗i ≥ 0 ⇒ wi = 0 x∗i < 0 ⇒ zi = 0
z ≥ o,
(5.24)
i = 1, ..., n.
(5.25)
Des Weiteren gilt x∗ = f (x∗ ) = (E + M )−1 (E − M )|x∗ | − q . Dies ist gleichbedeutend mit (E + M )x∗ = (E − M )|x∗ | − q bzw. mit
q + M (|x∗ | + x∗ ) = |x∗ | − x∗ .
(5.26)
5.2 Der Modulus-Algorithmus
163
Somit bilden wegen (5.23)-(5.26) die Vektoren w und z eine L¨osung von LCP (q, M ). 2. Es m¨ogen w und z eine L¨osung von LCP (q, M ) bilden. Dann gilt w ≥ o, z ≥ o,
w = q + M z,
wT z = 0.
Somit ist −2w + 2M z = −2q. Nun gilt −2w = (z − w) − |z − w|,
(5.27)
2z = (z − w) + |z − w|,
(5.28)
denn auf Grund der Komplementarit¨ at gilt " 0 f¨ ur zi ≥ 0, wi = 0 , ((z − w) − |z − w|)i = ur zi = 0, wi ≥ 0 , −2wi f¨ " 2zi f¨ ur zi ≥ 0, wi = 0 , ((z − w) + |z − w|)i = 0 f¨ ur zi = 0, wi ≥ 0 . Setzt man (5.28) in (5.27) ein, so resultiert (z − w) − |z − w| + M ((z − w) + |z − w|) = −2q bzw. (E + M )(z − w) = (E − M )(|z − w|) − 2q. ∗
Mit x :=
1 2 (z
− w) gilt dann x∗ = f (x∗ ).
3. Ist M eine P-Matrix, so besitzt LCP (q, M ) eine eindeutige L¨ osung, welche mit w und z bezeichnet sei. Nach 2. ist x∗ := 12 (z − w) dann ein Fixpunkt von f (x). Ist x ˆ ein weiterer Fixpunkt von f (x), dann gilt nach 1. |ˆ x| − xˆ = w = |x∗ | − x∗ , |ˆ x| + xˆ = z = |x∗ | + x∗ . Subtrahiert man die beiden Gleichungen voneinander, so folgt xˆ = x∗ .
Kann bzw. will man nicht voraussetzen, dass E + M regul¨ ar ist, so hat man zumindest das folgende Korollar, welches in Abschnitt 7.2 benutzt wird. Korollar 5.2.1 Es seien M ∈ Rn×n und q ∈ Rn . Es bezeichne f¨ u r x ∈ Rn g(x) := (E + M )x − (E − M )|x| + q. Dann gelten folgende Aussagen: 1. Ist x∗ eine Nullstelle von g(x), so bilden w := |x∗ | − x∗ eine L¨ osung von LCP (q, M ).
und
z := |x∗ | + x∗
164
5 Iterative L¨ osungsverfahren
2. Bilden w und z eine L¨ osung von LCP (q, M ), so ist x∗ :=
1 (z − w) 2
eine Nullstelle von g(x). 3. Ist M eine P-Matrix, so besitzt g(x) genau eine Nullstelle. Beweis: Den Beweis kann man aus dem Beweis zu Satz 5.2.1 u ¨ bernehmen, indem man die Umformungen, die die Inverse von E + M benutzen, einfach ausl¨ asst. Im Weiteren werden wir unter gewissen Voraussetzungen an die Matrix M zeigen, dass f¨ ur den Modulus-Algorithmus aus (5.22) lim x(k) = x∗ mit k→∞
x∗ = f (x∗ ) := (E + M )−1 (E − M )|x∗ | − q
gilt. Mit Hilfe von Satz 5.2.1 erh¨ alt man dann eine L¨ osung von LCP (q, M ). Die Voraussetzungen an die Matrix M entsprechen den Voraussetzungen an die Matrix M in Satz 5.1.1 bzw. Satz 5.1.2 bzgl. dem PSOR-Verfahren. Satz 5.2.2 Es seien M ∈ Rn×n symmetrisch und positiv definit sowie q ∈ Rn . Dann gilt f¨ ur den Modulus-Algorithmus aus (5.22) lim x(k) = x∗ mit k→∞ x∗ = f (x∗ ) := (E + M )−1 (E − M )|x∗ | − q . Beweis: F¨ ur x = o ist xT (E + M )x = x22 + xT M x > 0. Somit ist auch E + M symmetrisch und positiv definit. Die Matrix E + M ist daher regul¨ ar und der Modulus-Algorithmus definiert. Nach Satz 3.1.8 ist M eine P-Matrix. Daher hat LCP (q, M ) auf Grund von Satz 3.1.2 eine eindeutige L¨ osung, welche mit w und z bezeichnet sei. Nach Satz 5.2.1 ist dann x∗ := 12 (z − w) der einzige Fixpunkt von f (x). Da die Euklidnorm absolut und (daher auch) monoton ist, gilt f¨ ur D := (E + M )−1 (E − M ) x(k+1) − x∗ 2 = f (x(k) ) − f (x∗ )2 ≤ D2 · |x(k) | − |x∗ | 2 = D2 · |(|x(k) | − |x∗ |)| 2 ≤ D2 · |x(k) − x∗ | 2 = D2 · x(k) − x∗ 2 . Daher erh¨ alt man k x(k) − x∗ 2 ≤ D2 · x(0) − x∗ 2 . Die Aussage des Satzes ist gezeigt, falls D2 ∈ [0, 1) gezeigt ist.
5.2 Der Modulus-Algorithmus
165
Wegen (E − M )(E + M ) = E − M 2 = (E + M )(E − M ) ist
(E + M )−1 (E − M )(E + M ) = E − M
bzw.
(E + M )−1 (E − M ) = (E − M )(E + M )−1 .
Daher ist, da M symmetrisch ist, T DT = (E − M )T (E + M )−1 = (E − M )(E + M )−1 = D. D ist also symmetrisch und es folgt D2 = ρ(D). Siehe Abschnitt A.1. Ist λ ein Eigenwert von M und x ein zugeh¨ origer Eigenvektor, so gilt einerseits (E − M )x = (1 − λ)x,
(5.29)
andererseits (E + M )x = (1 + λ)x
bzw.
1 x = (E + M )−1 x. 1+λ
(5.30)
Es seien nun λ1 , ..., λn die Eigenwerte von M . Da M symmetrisch und positiv definit ist, ist λi > 0, i = 1, ..., n, (5.31) und es existiert eine orthonormale Basis aus Eigenvektoren bzw. eine Matrix S ∈ Rn×n mit S −1 S = E und S −1 M S = diag(λ1 , ..., λn ). Mit (5.29) und (5.30) folgt dann
1 − λ1 1 − λn , ..., . S −1 DS = S −1 (E + M )−1 SS −1 (E − M )S = diag 1 + λ1 1 + λn Alle Eigenwerte von D lauten somit μi :=
1 − λi , 1 + λi
i := 1, ..., n.
Wegen (5.31) folgt dann f¨ ur i = 1, ..., n 1 < 1 + 2λi
bzw.
Somit gilt ρ(D) < 1.
− (1 + λi ) < 1 − λi < 1 + λi
bzw. |μi | < 1.
166
5 Iterative L¨ osungsverfahren
Satz 5.2.3 Es seien M ∈ Rn×n eine H-Matrix mit positiven Diagonalelementen und q ∈ Rn . Ist m := max{1, m11 , m22 , ..., mnn },
˜ := 1 M, M m
q˜ :=
1 q, m
˜ so gilt f¨ ur den Modulus-Algorithmus aus (5.22) angewandt auf M und q˜: (k) ∗ ∗ ∗ −1 ∗ ˜ )|x | − q˜ . Die L¨ ˜) lim x = x mit x = f (x ) := (E + M (E − M osung
k→∞
von LCP (q, M ) bilden dann w = m · (|x∗ | − x∗ )
und
z = |x∗ | + x∗ .
˜ eine H-Matrix mit positiven Diagonalelementen. Beweis: Mit M ist auch M ˜ Jedoch hat M zus¨ atzlich die Eigenschaft m ˜ ii ≤ 1, i = 1, ..., n. * + ˜ eine M-Matrix. Daher ist Nach Bemerkung 3.4.1 ist M *
˜ M
+−1
≥ O.
(5.32)
(5.33)
* + * + ˜ positiv sind, ist E + M ˜ = E+ M ˜ . Somit Da die Diagonalelemente von M * + ˜ eine M-Matrix und auf Grund ist auf Grund von Aufgabe 3.4.1 auch E + M ˜ eine H-Matrix. Da jede H-Matrix mit positiven von Bemerkung 3.4.1 ist E+ M ˜ regul¨ Diagonalelementen nach Satz 3.1.10 eine P-Matrix ist, ist E + M ar und der Modulus-Algorithmus somit definiert. Außerdem folgt aus Aufgabe 3.4.2 * +−1 ˜ ˜ )−1 | ≤ E + M . |(E + M
(5.34)
˜ eine P-Matrix. Daher hat LCP (˜ ˜ ) auf Grund Nach Satz 3.1.10 ist auch M q, M von Satz 3.1.2 eine eindeutige L¨ osung, welche mit w ˜ und z˜ bezeichnet sei. z − w) ˜ der einzige Fixpunkt von Nach Satz 5.2.1 ist dann x∗ := 12 (˜ ˜ )|x| − q˜ . ˜ )−1 (E − M f (x) := (E + M Mit (5.34) folgt nun ˜ )−1 · (E − M ˜ ) · (|x(k) | − |x∗ |)| |x(k+1) − x∗ | = |f (x(k) ) − f (x∗ )| = |(E + M ˜ )−1 | · |E − M ˜ | · ||x(k) | − |x∗ || ≤ |(E + M * +−1 ˜ ˜ | · |x(k) − x∗ |. ≤ E+M · |E − M
5.2 Der Modulus-Algorithmus
167
Man erh¨ alt |x(k) − x∗ | ≤ P k · |x(0) − x∗ | mit
(5.35)
* +−1 ˜ |. ˜ · |E − M P := E + M
Der erste Teil des Satzes ist bewiesen, sobald wir ρ(P ) < 1
(5.36)
gezeigt haben. Denn aus (5.36) folgt mit Lemma A.1.6 lim P k = O und k→∞
somit lim x(k) = x∗ auf Grund von (5.35). k→∞
Um (5.36) zu zeigen, werden wir Lemma A.2.1 verwenden. Dazu setzen wir * + ˜ , N := |E − M ˜ | und A := H − N. H := E + M Dann ist P = H −1 N mit N ≥ O und H −1 ≥ O wegen (5.34). Außerdem ist wegen 0 < m ˜ ii ≤ 1, i = 1, ..., n * + ˜ ii | falls i = j |1 + m ˜ ii | − |1 − m ˜ =2 M . aij = ij ˜ ij | falls i = j −|m ˜ ij | − | − m Wegen (5.33) ist dann A−1 ≥ O und es folgt (5.36) mit Lemma A.2.1. Nach Satz 5.2.1 bilden w ˜ := |x∗ | − x∗
und
z˜ := |x∗ | + x∗
˜ ). Wegen m > 0 ist die L¨ osung von LCP (˜ q, M ˜ z˜, w ˜ = q˜ + M
w ˜ T z˜ = 0
w ˜ ≥ o, z˜ ≥ o,
gleichbedeutend mit m·w ˜ = q + M z˜,
m·w ˜ ≥ o, z˜ ≥ o,
m·w ˜T z˜ = 0.
Somit bilden w := m · w ˜ = m · (|x∗ | − x∗ ) und die L¨ osung von LCP (q, M ).
z := z˜ = |x∗ | + x∗
168
5 Iterative L¨ osungsverfahren
5.3 Ein Vergleich Ist die Matrix M ∈ Rn×n entweder symmetrisch und positiv definit oder eine H-Matrix mit positiven Diagonalelementen und q ∈ Rn , so kann man sowohl das PSOR-Verfahren als auch den Modulus-Algorithmus benutzen, um die eindeutige L¨ osung von LCP (q, M ) zu bestimmen. Bei einer praktischen Umsetzung auf einem Computer wird man sich eine Fehlertoleranz ε > 0 vorgeben und dann beim PSOR-Verfahren das Abbruchkriterium (5.37) z (k+1) − z (k) < ε und beim Modulus-Algorithmus das Abbruchkriterium x(k+1) − x(k) < ε
(5.38)
mit einer beliebigen Vektornorm benutzen. Viele Testbeispiele haben gezeigt, dass das PSOR-Verfahren wesentlich weniger Iterationsschritte bis zum Abbruchkriterium (5.37) ben¨ otigt als der Modulus-Algorithmus bis zum Abbruchkriterium (5.38). Auch die eigentliche Durchf¨ uhrung eines Iterationsschrittes ist beim PSORVerfahren einfacher zu bewerkstelligen als beim Modulus-Algorithmus, da beim Modulus-Algorithmus der Term (E + M )−1 eine Rechnung erfordert, die ungef¨ ahr n3 Rechenoperationen ben¨ otigt. Somit ist aus praktischen Gesichtspunkten zur L¨ osung von LCP (q, M ) das PSOR-Verfahren dem ModulusAlgorithmus vorzuziehen, falls M symmetrisch und positiv definit oder eine H-Matrix mit positiven Diagonalelementen ist. Welchen dieser beiden Algorithmen soll man allerdings vorziehen, wenn M eine P-Matrix, aber weder symmetrisch und positiv definit noch eine H-Matrix ist? Beispiel 5.3.1 Wir betrachten die Matrix
1 2 −8 My = 9 10 14
(5.39)
aus Beispiel 4.3.5. Diese Matrix ist nach Satz 4.3.3 eine P-Matrix. Allerdings ist My weder symmetrisch noch eine H-Matrix wegen
* +−1 My = 9·
2 −8 −10 14
−1 =−
9 52
14 8 10 2
≥ O.
Siehe Bemerkung 3.4.1. Wendet man das PSOR-Verfahren an auf My und
2 3 q= 9 −12
5.3 Ein Vergleich
169
mit α = 1 und z (0) = o, so erh¨ alt man z (1) =
1 7
0 12
,
z (2) =
1 7
27 0
,
z (3) = z (1) .
Somit ist gezeigt, dass das PSOR-Verfahren scheitern kann beim Versuch, LCP (q, My ) zu l¨ osen, falls My aus Satz 4.3.3 stammt. Im Gegensatz dazu konvergiert der Modulus-Algorithmus angewandt auf ort zu einer Klasse von q ∈ R2 und My aus (5.39). Denn My aus (5.39) geh¨ Matrizen, f¨ ur die wir in Satz 5.3.1 die Konvergenz des Modulus-Algorithmus zeigen werden. Wir ben¨ otigen das folgende Lemma. Lemma 5.3.1 Ist die Intervallmatrix [A] = [Ac − Δ, Ac + Δ] ∈ IRn×n streng regul¨ ar, so existiert ein Vektor u ∈ Rn , u > o mit |A−1 c | · Δ u < 1. Beweis: Es ist −1 −1 −1 A−1 c · [A] = Ac · (Ac + [−Δ, Δ]) = E + [−|Ac | · Δ, |Ac | · Δ],
da f¨ ur r ∈ R und [−d, d] ∈ IR die Beziehung r · [−d, d] = [−|r| · d, |r| · d] gilt. Nach Voraussetzung ist jede Matrix B ∈ A−1 ar. Wegen c · [A] regul¨ −1 E − |A−1 c | · Δ ∈ Ac · [A]
ar. Wir zeigen ist insbesondere die Matrix E − |A−1 c | · Δ regul¨ −1 (E − |A−1 ≥ O. c | · Δ)
(5.40)
Dazu nehmen wir an, es gelte ρ(|A−1 c | · Δ) ≥ 1.
(5.41)
Dann garantiert der Satz von Perron, Frobenius (siehe Satz A.2.2) die Existenz eines Vektors x ∈ Rn , x ≥ o, x = o mit −1 (|A−1 c | · Δ)x = ρ(|Ac | · Δ)x ≥ x.
Dann ist bzw.
−1 (E − |A−1 c | · Δ)x ≤ o ≤ (E + |Ac | · Δ)x −1 −1 o ∈ (E + [−|A−1 c | · Δ, |Ac | · Δ])x = (Ac · [A])x.
Nach Lemma 4.3.3 gilt dann x ∈ Σ(A−1 c · [A], o).
170
5 Iterative L¨ osungsverfahren
Da nach Voraussetzung A−1 ar ist, folgt Σ(A−1 c · [A] regul¨ c · [A], o) = {o} und somit x = o. Dies ist ein Widerspruch zu x = o. Daher ist die Annahme (5.41) falsch, und es gilt ρ(|A−1 c | · Δ) < 1. Mit Lemma A.1.8 folgt nun −1 (E − |A−1 = c | · Δ)
∞
k (|A−1 c | · Δ)
k=0 −1 und wegen |A−1 c | · Δ ≥ O dann (5.40). Da E − |Ac | · Δ offensichtlich eine −1 Z-Matrix ist, folgt wegen (5.40), dass E − |Ac | · Δ eine M-Matrix ist. Dann folgt aus Lemma 3.4.1 die Existenz eines Vektors u ∈ Rn , u > o mit
(E − |A−1 c | · Δ)u > o. F¨ ur alle i ∈ {1, ..., n} gilt dann n
(|A−1 c | · Δ)ij uj < ui
j=1
bzw.
n (|A−1 | · Δ)ij uj c
j=1
ui
< 1.
Mit Lemma A.1.2 folgt schließlich |A−1 c | · Δ u < 1.
Satz 5.3.1 Es seien [A] = [Ac − Δ, Ac + Δ] ∈ IRn×n streng regul¨ ar, Y = {y ∈ Rn : |yj | = 1, j = 1, ..., n } und Ty = diag(y1 , ..., yn ). Es seien weiter q ∈ Rn , y ∈ Y und −1 My := Ac − Ty · Δ · Ac + Ty · Δ . Dann gilt f¨ ur den Modulus-Algorithmus aus (5.22) angewandt auf My und q: (k) ∗ ∗ ∗ −1 (E − My )|x∗ | − q . lim x = x mit x = f (x ) := (E + My )
k→∞
Beweis: Nach Satz 4.3.3 ist My eine P-Matrix. Nach Aufgabe 3.1.6 ist dann −1 kein Eigenwert von My . Daher ist E + My regul¨ ar und der ModulusAlgorithmus ist definiert. alt man F¨ ur B := A−1 c Ty Δ erh¨ D := (E + My )−1 (E − My ) −1 E − (E − B)−1 (E + B) = E + (E − B)−1 (E + B) −1 (E − B)−1 (−2B) = (E − B)−1 (2E) =
1 2 E(E
− B)(E − B)−1 (−2B) = −B = −A−1 c Ty Δ.
Da die Intervallmatrix [A] streng regul¨ ar ist, folgt aus Lemma 5.3.1 die Existenz eines Vektors u ∈ Rn , u > o mit |A−1 c | · Δ u < 1.
5.3 Ein Vergleich
Zusammen mit Lemma A.1.2 und |Ty | = E folgt dann −1 Du = − A−1 c Ty Δu = |Ac Ty Δ| u
171
(5.42)
−1 ≤ |A−1 c | · |Ty | · Δu = |Ac | · Δu < 1.
Da My eine P-Matrix ist, besitzt LCP (q, My ) auf Grund von Satz 3.1.2 eine eindeutige L¨ osung, welche mit w und z bezeichnet sei. Nach Satz 5.2.1 ist dann x∗ := 12 (z − w) der einzige Fixpunkt von f (x) = (E + My )−1 (E − My )|x| − q . Da die skalierte Maximumnorm eine absolute und (daher auch) monotone Norm ist, folgt x(k+1) − x∗ u = f (x(k) ) − f (x∗ )u ≤ (E + My )−1 · (E − My )u · |x(k) | − |x∗ | u = Du · | |x(k) | − |x∗ | | u ≤ Du · |x(k) − x∗ | u = Du · x(k) − x∗ u . Man erh¨ alt
k x(k) − x∗ u ≤ Du · x(0) − x∗ u . (5.43) k Aus (5.42) folgt lim Du = 0 und somit lim x(k) = x∗ auf Grund von k→∞
k→∞
(5.43). Beispiel 5.3.2 Wir betrachten die Intervallmatrix ! [2, 4] [−2, 1] [A] = [−1, 2] [2, 4] aus Beispiel 4.3.5. Die Intervallmatrix ! 3 12 4 4 −1 Ac · [A] = · [A] = 1 37 − 2 3 37
[5.5, 13] [−5, 5]
!
[−5, 5] [5.5, 13]
ist regul¨ ar, da jede Punktmatrix aus A−1 c · [A] streng diagonaldominant mit positiven Diagonalelementen und somit als P-Matrix regul¨ ar ist. Siehe Satz 3.1.9. Nach Definition ist dann [A] streng regul¨ ar. F¨ ur y = (−1, 1)T erhielt man in Beispiel 4.3.5
2 1 −4 My = . 9 5 7 Auf Grund von Satz 5.3.1 konvergiert dann der Modulus-Algorithmus ange wandt auf My und jedes q ∈ R2 .
6 Innere-Punkte-Verfahren
Durch die bereits in Abschnitt 3.1.3 erw¨ ahnte Arbeit [54] von Klee und Minty aus dem Jahre 1972 entstand die Frage, ob lineare Programme grunds¨atzlich mit polynomialem Aufwand gel¨ ost werden k¨ onnen. Eine positive Antwort hierauf gab 1979 L. Khachiyan in seiner Arbeit [51] mit seiner Ellipsoid-Methode. Diese Methode erwies sich in der Praxis leider als unvorteilhaft. Einen effektiveren Algorithmus, der das lineare Programm mit polynomialem Aufwand l¨ ost, ver¨ offentlichte 1984 N. Karmarkar in seiner Arbeit [50]. Diese Arbeit kann als der Beginn der Innere-Punkte-Verfahren angesehen werden. Der wesentliche Unterschied eines Innere-Punkte-Verfahrens zum Simplex-Verfahren besteht darin, dass das Simplex-Verfahren auf dem Rand des zul¨assigen Bereichs die Ecken des L¨osungspolyeders ,,abl¨ auft“, w¨ ahrend sich ein Innere-Punkte-Verfahren einer L¨osung vom Inneren des zul¨ assigen Bereichs her n¨ahert. Die Idee, sich einer L¨ osung vom Inneren des zul¨ assigen Bereichs her zu n¨ahern, wurde auch auf das LCP angewandt. Bereits 1991 erschien das Buch [55] von M. Kojima, N. Megiddo, T. Noma und A. Yoshise mit dem Titel: ,,A Unified Approach to Interior Point Algorithms for Linear Complementarity Problems.“ In jenem Buch wird vorausgesetzt, dass M eine P0 -Matrix ist. Dabei ur alle J ⊂ {1, ..., n}. wird M eine P0 -Matrix genannt, falls det M (J) ≥ 0 gilt f¨ Somit ist jede P-Matrix eine P0 -Matrix, aber nicht umgekehrt. In [55] wird auch gezeigt, dass (neben anderen Klassen von Matrizen) die positiv semidefiniten Matrizen P0 -Matrizen sind. Das Problem, LCP (q, M ) zu l¨ osen, wobei M eine P0 -Matrix ist, ist NPort das LCP zu einer vollst¨andig.1 Siehe Abschnitt 3.4 in [55]. Somit geh¨ Klasse von Problemen, bei denen man davon ausgehen muss, dass es keinen Algorithmus gibt, der LCP (q, M ) mit polynomialem Aufwand l¨ ost. Schr¨ ankt man allerdings die Matrizenklasse, zu der die Matrix M geh¨ oren soll, ein, so 1
F¨ ur eine Einf¨ uhrung in die Komplexit¨ atstheorie verweisen wir auf das Buch [109] von U. Sch¨ oning und auf den Artikel [39] von M. Gr¨ otschel.
174
6 Innere-Punkte-Verfahren
Abb. 6.1.
a) F EAS
b)F EAS, CPτ
c) F EAS, CPτ , N (α)
kann ein Algorithmus angegeben werden, der LCP (q, M ) mit polynomialem Aufwand l¨ ost. Beispielsweise ist die Klasse der positiv semidefiniten Matrizen eine solche Einschr¨ ankung. Siehe [55], aber auch [18] und [128]. Ein bis heute ungel¨ ostes Problem hingegen ist die Frage, ob es einen Algorithmus gibt, der LCP (q, M ) mit polynomialem Aufwand l¨ ost, falls M eine P-Matrix ist. Siehe auch [69], [72].
6.1 Das Korrektor-Pr¨ adiktor-Verfahren von Potra Wir betrachten das Korrektor-Pr¨adiktor-Verfahren von F. Potra. Da wir uns auf das Wesentliche beschr¨ anken wollen, setzen wir voraus, dass M schiefsymmetrisch ist. Somit gilt ur jedes z ∈ Rn z T M z = 0 f¨
(6.1)
gem¨aß Beispiel 3.2.1 Unter dieser Voraussetzung vereinfachen sich gewisse ¨ Rechnungen. F¨ ur das Ubertragen auf eine gr¨oßere Klasse von Matrizen verweisen wir auf den Artikel [89]. Wir betrachten die L¨ osungsmenge "
# z SOL(q, M ) := x = ∈ R2n : w ≥ o, z ≥ o, w = q + M z, wT z = 0 , w den zul¨ assigen Bereich "
# z 2n F EAS := x = ∈ R : w ≥ o, z ≥ o, w = q + M z , w den zentralen Pfad "
# z CPτ := x = ∈ R2n : w > o, z > o, w ∗ z = τ e, w = q + M z , w mit
⎛ ⎞ 1 ⎜ .. ⎟ e = ⎝ . ⎠, 1
⎞ w1 · z1 ⎟ ⎜ .. w ∗ z := ⎝ ⎠, . ⎛
wn · zn
τ = τ (z, w) :=
1 T w z n
6.1 Das Korrektor-Pr¨ adiktor-Verfahren von Potra
175
Abb. 6.2. Der Korrektor-Schritt: Hin zum zentralen Pfad
und eine Umgebung "
# z 2n N (α) := x = ∈ R : w > o, z > o, w = q + M z, w ∗ z − τ e2 ≤ ατ w des zentralen Pfads. Diese Mengen wollen wir uns wie in Abb. 6.1 vorstellen. Der Punkt auf dem Rand des zul¨ assigen Bereichs, in den der zentrale Pfad f¨ ur τ → 0 m¨ undet, ist eine L¨osung von LCP (q, M ). Das Korrektor-Pr¨adiktor-Verfahren ist ein iteratives Verfahren, bei dem jeder Iterationsschritt aus einem Korrektor-Schritt und einem Pr¨ adiktor-Schritt besteht. Die Eingabe zum Korrektor-Schritt im (k + 1)-ten Iterationsschritt ist der Vektor ! z (k) (k) x = , w(k) der in N (α) liegt. Dann betrachtet man die Funktion H(x) : R2n → R2n mit ! w ∗ z − τe , (6.2) Hτ (x) = Hτ (z, w) := w − Mz − q wobei τ als Parameter aufgefasst wird. Da jeder Vektor x ∈ CPτ die Gleichung Hτ (x) = o erf¨ ullt, wendet man einen Newton-Schritt auf das nichtlineare Gleichungssystem Hτ (x) = o an. Dies bedeutet, dass x(k) zum zentralen Pfad hin korrigiert wird. Siehe Abb. 6.2. Die Newton-Formel ergibt −1 x := x(k) − Hτ (k) (x(k) ) · Hτ (k) (x(k) ). (6.3) Die Eingabe zum Pr¨ adiktor-Schritt ist der Vektor x aus (6.3). Dieser Vektor wird im Pr¨ adiktor-Schritt auf einen neuen Vektor x(k+1) abgebildet, der ullt. Siehe Abb. 6.3. wiederum in N (α) liegt, aber τ (k+1) < τ (k) erf¨
176
6 Innere-Punkte-Verfahren
Abb. 6.3. Der Pr¨ adiktor-Schritt: Ausgehend von x wird x(k+1) ∈ N (α) bestimmt (k+1) (k) < τ . Der Vektor x(k+1) liegt somit n¨ aher an der L¨ osung als x(k) und mit τ ist somit eine bessere Vorhersage der L¨ osung.
6.2 Der Aufwand des Verfahrens Im n¨achsten Abschnitt werden wir zeigen, dass basierend auf der Kenntnis eines Startvektors
(0) z x(0) = ∈ N (α) w(0) das Korrektor-Pr¨ adiktor-Verfahren eine Folge
(k) z x(k) = ∈ N (α) w(k) erzeugt, die
lim τ (k) = 0
k→∞
erf¨ ullt. Wir werden in Satz 6.3.1 zeigen, dass man dann schließen kann, dass aufungspunkt die Folge {x(k) } einen H¨
∗ z ∗ x = w∗ besitzt mit w∗ = q + M z ∗ , w∗ ≥ o, z ∗ ≥ o, (w∗ )T z ∗ = 0. Bez¨ uglich des Aufwands fragt man sich, wie schnell τ (k) gegen 0 konvergiert. Wir werden in den n¨ achsten Abschnitten zeigen, dass τ (k+1) = (1 − θ∗ )τ (k)
1 mit θ∗ ∈ ( √ , 1) 5 n
(6.4)
6.3 Die Analyse des Korrektor-Pr¨ adiktor-Verfahrens
177
erf¨ ullt ist. Damit kann man dann auf 1 1 τ (k) = (1 − θ∗ )τ (k−1) ≤ (1 − √ )τ (k−1) ≤ · · · ≤ (1 − √ )k τ (0) 5 n 5 n schließen. Ist also ε ∈ (0, τ (0) ) vorgegeben, so gilt τ (k) ≤ ε
⇐
1 (1 − √ )k τ (0) ≤ ε 5 n
⇔
k≥
ln ε − ln τ (0) . ln(1 − 5√1 n )
Auf Grund des Mittelwertsatzes der Differentialrechnung gilt √ √ √ √ 1 1 | ln(1 − √ )| = | ln(5 n − 1) − ln 5 n| = ln 5 n − ln(5 n − 1) ≥ √ . 5 n 5 n Somit folgt ln ε − ln τ (0) ln τ (0) − ln ε τ (0) √ · 5 n. ≤ ln = 1 1 ln(1 − 5√n ) | ln(1 − 5√n )| ε Dies bedeutet, dass nach k Iterationsschritten 1 (k) T (k) (w ) z ≤ ε n gilt, falls
√ τ (0) k ≥ 5 n · ln ε erf¨ ullt ist. Man sagt auch, dass das Verfahren nach √ τ (0) O( n · ln ) ε Iterationsschritten endet. F¨ ur eine Einf¨ uhrung in die O-Notation verweisen wir auf [109].
6.3 Die Analyse des Korrektor-Pr¨ adiktor-Verfahrens Wir benutzen die folgenden Bezeichnungen W := diag(w1 , ..., wn )
f¨ ur w ∈ Rn ,
Z := diag(z1 , ..., zn ) f¨ ur z ∈ Rn .
Damit gilt w ∗ z = W Ze = ZW e. Des Weiteren setzen wir √ √ 1 ur w ∈ Rn , w > o, W 2 := diag( w1 , ..., wn ) f¨
178
6 Innere-Punkte-Verfahren
und
√ √ 1 Z 2 := diag( z1 , ..., zn ) f¨ ur z ∈ Rn , z > o,
bzw. 1 1 1 1 W − 2 := (W 2 )−1 = diag( √ , ..., √ ) f¨ ur w ∈ Rn , w > o, w1 wn 1 1 1 1 ur z ∈ Rn , z > o. Z − 2 := (Z 2 )−1 = diag( √ , ..., √ ) f¨ z1 zn
Die folgenden beiden Lemmata liefern uns f¨ ur die folgenden Abschnitte Aussagen f¨ ur die Matrix Hτ (x) aus dem Newton-Verfahren (6.3). Lemma 6.3.1 Es seien w ∈ Rn , w > o, z ∈ Rn , z > o und M ∈ Rn×n . Die Matrix M sei schiefsymmetrisch. Dann ist die Matrix
W Z H := −M E regul¨ ar.
u H · =o v
Beweis: Es sei
(6.5)
mit u ∈ Rn , v ∈ Rn . Dann gilt W u + Zv = o und
− M u + v = o.
Da W regul¨ ar ist, folgt zun¨achst u + W −1 Zv = o und hieraus
(6.6)
v T u + v T W −1 Zv = 0.
Aus der Gleichung −M u + v = o kann man v T u = uT v = uT M u = 0 folgern, da M schiefsymmetrisch ist. Also gilt 0 = v T W −1 Zv =
n zi 2 vi . w i i=1
ur alle i = 1, ..., n. Das heißt, es ist Wegen w > o und z > o folgt vi = 0 f¨ v = o. Dies eingesetzt in (6.6) ergibt u = o. Das lineare Gleichungssystem (6.5) kann somit nur durch uv = o gel¨ost werden. Daher ist die Matrix H regul¨ ar.
6.3 Die Analyse des Korrektor-Pr¨ adiktor-Verfahrens
179
Lemma 6.3.2 Es seien w ∈ Rn , w > o, z ∈ Rn , z > o, a ∈ Rn und M ∈ Rn×n . Die Matrix M sei schiefsymmetrisch. Gibt es Vektoren u ∈ Rn und v ∈ Rn , die W u + Zv = a, −M u + v = o erf¨ ullen, so gelten die folgenden Aussagen: a22 . 1. Du22 + D−1 v22 = ˜ 2. u ∗ v∞ ≤ 3. u ∗ v1 ≤
1 ˜ a22 . 4
1 ˜ a22 . 2
1 a22 . 4. u ∗ v2 ≤ √ ˜ 2 2 1
1
1
Dabei ist D = Z − 2 W 2 =: diag(d1 , ..., dn ) und a ˜ = (ZW )− 2 a. Beweis: Multipliziert man die Gleichung W u + Zv = a von links mit der 1 Matrix (ZW )− 2 , so erh¨ alt man zun¨ achst ˜. Du + D−1 v = a
(6.7)
Aus der Gleichung −M u + v = o kann man uT v = uT M u = 0
(6.8)
folgern, da M schiefsymmetrisch ist. Somit ist ˜ a22 = Du + D−1 v22 = Du22 + 2uT v + D−1 v22 = Du22 + D−1 v22 . Dies ist die erste Aussage. Nun betrachten wir die i-te Komponente der Glei˜i . Wir definieren die Indexmengen chung aus (6.7). Es ist di ui + d−1 i vi = a I+ := {i : ui vi ≥ 0} und I− := {i : ui vi < 0}. Dann gilt f¨ ur i ∈ I+ −1 2 2 0 ≤ 4ui vi ≤ d2i u2i + 2ui vi + d−2 ˜2i . i vi = (di ui + di vi ) = a
Also gilt 1 2 a ˜ . (6.9) 4 i Die Gleichung (6.8) l¨ asst sich mit Hilfe der definierten Indexmengen I+ und I− umschreiben zu ui vi + ui vi , 0 = uT M u = uT v = i ∈ I+
⇒
0 ≤ ui vi ≤
i∈I+
i∈I−
180
6 Innere-Punkte-Verfahren
was gleichbedeutend ist mit
|ui vi | =
i∈I−
ui vi .
(6.10)
i∈I+
Nun folgt aus (6.10) und (6.9) u ∗ v∞ ≤
ui vi ≤
n 1 i=1
i∈I+
4
a ˜2i =
1 ˜ a22 . 4
Dies ist die zweite Aussage. Die dritte Aussage folgt ebenfalls aus (6.10) und (6.9), denn es ist u∗v1 =
n i=1
|ui vi | =
ui vi +
i∈I+
|ui vi | = 2
i∈I−
ui vi ≤ 2
i∈I+
n 1 i=1
4
a ˜2i =
1 ˜ a22 . 2
Schließlich ist die vierte Aussage eine einfache Folgerung aus der zweiten und der dritten Aussage, weil f¨ ur jeden Vektor x ∈ Rn die Beziehung x22 ≤ x1 · x∞ gilt. Ausgestattet mit diesen Lemmata wenden wir uns nun dem Korrektor-Schritt und dann dem Pr¨ adiktor-Schritt zu. 6.3.1 Analyse des Korrektor-Schritts
Es sei (k)
x
:=
z (k) w(k)
∈ N (α).
Die reelle Zahl α sollte man sich nicht zu groß vorstellen. Zumindest sollte √ 2 2 √ (6.11) 0<α< 1+2 2 erf¨ ullt sein. Die spezielle Wahl des rechten Ausdrucks wird erst sp¨ ater klar werden. Der Korrektor-Schritt besteht aus einem Newton-Schritt angewandt auf das nichtlineare Gleichungssystem Hτ (x) = o mit Hτ (x) aus (6.2). Gem¨aß (6.3) ist
z (6.12) = x = x(k) + d, w wobei
−1 Hτ (k) (x(k) ). d = − Hτ (k) (x(k) )
(6.13)
6.3 Die Analyse des Korrektor-Pr¨ adiktor-Verfahrens
181
Die Jacobi-Matrix der Funktion Hτ (x) ausgewertet an der Stelle x(k) lautet Hτ (k) (x(k) ) =
W (k) Z (k) −M E
.
ar auf Grund von Lemma 6.3.1. Wegen x(k) ∈ N (α) ist diese Matrix regul¨ Somit ist der Vektor d in (6.13) wohldefiniert. Wir wollen f¨ ur den Vektor d eine Blockgestalt einf¨ uhren und setzen
u d= . v Damit wird (6.13) zu Hτ (k) (x(k) )
u = −Hτ (k) (x(k) ), v
was ausgeschrieben dann W (k) u + Z (k) v = τ (k) e − w(k) ∗ z (k) , −M u + v = o
# (6.14)
bedeutet. Es ist nach (6.12) z ∗ w = (z (k) + u) ∗ (w(k) + v) = z (k) ∗ w(k) + z (k) ∗ v + w(k) ∗ u + u ∗ v. Wegen
W (k) u = w(k) ∗ u und
folgt dann aus (6.14)
Z (k) v = z (k) ∗ v
w ∗ z = τ (k) e + u ∗ v.
Weiter erh¨alt man 1 wT z 1 (k) uT v = = τ (k) τ= wi z i = (τ + ui vi ) = τ (k) + n n i=1 n i=1 n n
n
(6.15)
auf Grund von (6.8). Somit gilt w ∗ z − τ e2 = u ∗ v2 .
(6.16)
Wie in Abschnitt 6.1 bereits beschrieben wurde, ist das Ergebnis des KorrektorSchritts ein Vektor
z x= , w der zum zentralen Pfad hin korrigiert wurde, aber weiterhin in der Umgebung N (α) liegt. Dazu werden wir nun u ∗ v2 absch¨ atzen, um dann mit (6.16) eine Absch¨ atzung f¨ ur w ∗ z − τ e2 zu erhalten.
182
6 Innere-Punkte-Verfahren
Mit Lemma 6.3.2 folgt f¨ ur a := τ (k) e − w(k) ∗ z (k) aus (6.14) 1 1 u ∗ v2 ≤ √ (Z (k) W (k) )− 2 22 · τ (k) e − w(k) ∗ z (k) 22 . 2 2
(6.17)
Wegen x(k) ∈ N (α) gilt n
(k) (k)
(τ (k) − wi zi )2 = τ (k) e − w(k) ∗ z (k) 22 ≤ α2 · (τ (k) )2 .
(6.18)
i=1
F¨ ur jedes i ∈ {1, ..., n} gilt also (k) (k)
|wi zi
− τ (k) | ≤ α · τ (k) .
Somit erh¨ alt man, da wegen (6.11) insbesondere α < 1 erf¨ ullt ist, f¨ ur alle i ∈ {1, ..., n} (k) (k) (6.19) 0 < (1 − α)τ (k) ≤ wi zi . Aus (6.17), (6.18) und (6.19) folgt dann 1 1 α2 · τ (k) . u ∗ v2 ≤ √ · · α2 · (τ (k) )2 ≤ √ (k) (k) 2 2 min wi zi 2 2(1 − α)
(6.20)
1≤i≤n
Wenn man also
α2 , α := √ 2 2(1 − α)
(6.21)
setzt, so gilt wegen (6.16), (6.20) und (6.15) w ∗ z − τ e2 ≤ α τ .
(6.22)
Wegen (6.11) ist α<α
⇔
α2 √ <α 2 2(1 − α)
√ 2 2 √ . α< 1+2 2
⇔
Das bedeutet insbesondere, dass N (α) ⊆ N (α) gilt. Sobald also w = q + M z,
w > o,
z>o
(6.23)
gezeigt ist, k¨onnen wir zusammen mit (6.22) auf x ∈ N (α) schließen. Dabei bedeutet N (α) ⊆ N (α) dann, dass wie in Abb. 6.2 angedeutet der Vektor x n¨ aher am zentralen Pfad liegt als der Vektor x(k) . Wir wenden uns nun dem Nachweis von (6.23) zu. Zun¨ achst gilt wegen (6.22) n i=1
(w i z i − τ )2 ≤ α2 τ 2 .
6.3 Die Analyse des Korrektor-Pr¨ adiktor-Verfahrens
183
Daher kann man f¨ ur jedes i ∈ {1, ..., n} auf |wi z i − τ | ≤ α τ schließen. Wegen α < α < 1 folgt f¨ ur alle i ∈ {1, ..., n} 0 < (1 − α)τ ≤ w i z i . Angenommen es existiert ein Index i ∈ {1, ..., n} mit z i < 0 und w i < 0. Dies ullt sein, kann nur wahr sein f¨ ur ui < 0 und vi < 0. Aber das kann nicht erf¨ denn die Gleichung (k)
(k)
(k)
(k)
wi ui + zi vi = τ (k) − zi wi ist wegen w = w(k) + v gleichbedeutend mit ui =
1 (k) (k) τ . − z w i i (k) wi
Also haben wir w > o und z > o. Schließlich ist w = w(k) + v = q + M z (k) + M u = q + M z. 6.3.2 Analyse des Pr¨ adiktor-Schritts Auch der Pr¨ adiktor-Schritt besteht haupts¨ achlich aus dem L¨osen eines linearen Gleichungssystems. Es ist
z x= ∈ N (α) ⊆ N (α) w das Resultat des Korrektor-Schritts. Wegen w > o und z > o ist die Matrix
W Z H := −M E mit W = diag(w1 , ..., wn )
und Z = diag(z 1 , ..., z n )
regul¨ ar auf Grund von Lemma 6.3.1. Somit hat das lineare Gleichungssystem
−w ∗ z H ·y = o eine eindeutige L¨osung, die wir mit
u v
184
6 Innere-Punkte-Verfahren
bezeichnen. Also gilt W u + Zv = −w ∗ z, −M u + v = o.
# (6.24)
Damit setzen wir x(k+1) =
z (k+1) w(k+1)
:=
z+θ·u w+θ·v
mit einem θ ∈ (0, 1), welches sp¨ater noch genauer eingegrenzt wird. Aus (6.24) folgt z (k+1) ∗ w(k+1) = z ∗ w + θ(w ∗ u+ z ∗ v)+ θ2 u∗ v = (1 − θ)z ∗ w + θ2 u∗ v. (6.25) Außerdem gilt dann 1 (k+1) (k+1) (z (k+1) )T w(k+1) = z wi n n i=1 i n
τ (k+1) =
uT v 1 (1 − θ)z i w i + θ2 ui v i = (1 − θ)τ + θ2 . = n i=1 n n
Da M schiefsymmetrisch ist, folgt aus (6.24) uT v = uT M u = 0. Wegen (6.15) gilt dann (6.26) τ (k+1) = (1 − θ)τ = (1 − θ)τ (k) . Nun ist θ so zu w¨ahlen, dass x(k+1) ∈ N (α) gilt. Mit (6.25) und (6.26) erhalten wir z (k+1) ∗ w(k+1) − τ (k+1) e2 ≤ (1 − θ)z ∗ w − τ e2 + θ2 u ∗ v2 . Mit Lemma 6.3.2 angewandt auf (6.24) k¨ onnen wir f¨ ur u ∗ v2 die folgende Absch¨ atzung angeben. 1 1 1 u ∗ v2 ≤ √ − (Z W )− 2 w ∗ z22 = √ wT z ≤ wT z = nτ . 2 2 2 2
Folglich gilt mit x ∈ N (α) und (6.21) α2 z (k+1) ∗ w(k+1) − τ (k+1) e2 ≤ (1 − θ) √ τ + θ2 nτ . 2 2(1 − α) Um auf
z (k+1) ∗ w(k+1) − τ (k+1) e2 ≤ ατ (k+1)
schließen zu k¨onnen, ist es also hinreichend, θ so zu bestimmen, dass
α2 + θ2 n τ ≤ ατ (k+1) (1 − θ) √ 2 2(1 − α)
(6.27)
6.3 Die Analyse des Korrektor-Pr¨ adiktor-Verfahrens
185
gilt. Mit (6.26), τ > 0 und θ ∈ (0, 1) ergibt sich θ2 α2 √ + ·n≤ α 2 2(1 − α) 1 − θ bzw.
θ2 α ·n≤ 1− √ α. 1−θ 2 2(1 − α)
Wir w¨ ahlen nun speziell α = 12 . Dieser Wert ist zul¨assig gem¨aß (6.11). Dann ist es hinreichend, ein θ zu finden, das 1 θ2 ≤ 1−θ 4n erf¨ ullt. Letzteres ist genau dann der Fall, wenn . . ' 1 1 1 ( 1 1 1 θ∈ − + + − , − + . 8n 64n2 4n 8n 64n2 4n Wir w¨ ahlen 1 + θ := − 8n ∗
.
1 1 = + 2 64n 4n
√
2 1 + 16n − 1 = √ . 8n 1 + 16n + 1
Es gilt θ∗ ∈ (0, 1) und insbesondere 1 θ∗ > √ . 5 n
(6.28)
Folglich gilt (6.27) f¨ ur θ = θ∗ und α = 12 . Um auf x(k+1) ∈ N ( 12 ) schließen zu k¨ onnen, m¨ ussen wir noch w(k+1) > o,
z (k+1) > o,
w(k+1) = q + M z (k+1)
zeigen. Zun¨achst kann man wie im Korrektor-Schritt aus (6.27) auf (k+1)
0 < (1 − α)τ (k+1) ≤ zi
(k+1)
wi
f¨ ur alle i ∈ {1, ..., n}
(6.29)
(k+1)
schließen. Angenommen es existiert ein i ∈ {1, ..., n} mit wi < 0 und (k+1) zi < 0. Dann folgt ui < 0 und v i < 0. Dies kann aber nicht sein, da aus (6.24) (k+1) wi ui = −z i (w i + v i ) > −z i (w i + θ∗ v i ) = −z i wi folgt. Somit gilt
w(k+1) > o,
z (k+1) > o.
(6.30)
186
6 Innere-Punkte-Verfahren
Zuletzt ist w(k+1) = w + θ∗ v = q + M z + θ∗ M u = q + M z (k+1) . Es gilt also x(k+1) ∈ N ( 12 ) mit τ (k+1) = (1 − θ∗ )τ (k) und θ∗ ∈ ( 5√1 n , 1). Dies hatten wir in (6.4) behauptet. Wir haben das Korrektor-Pr¨ adiktor-Verfahren nochmals in Tabelle 6.1 in Pseudocode festgehalten. Dabei wollen wir betonen, dass bei einer praktischen Umsetzung auf dem Computer keine Matrizen invertiert, sondern entsprechende lineare Gleichungssysteme aufgel¨ ost werden sollten. Mit (6.4) haben wir gezeigt, dass lim τ (k) =
k→∞
1 lim (w(k) )T z (k) = 0 n k→∞
gilt. Im folgenden Satz werden wir sehen, dass man dann auch auf die L¨osbarkeit von LCP (q, M ) schließen kann. Satz 6.3.1 Es seien q ∈ Rn , M ∈ Rn×n mit M = −M T gegeben. Des Weiteren sei {x(k) }∞ k=0 eine Folge von Vektoren mit
(k) z (k) x = , w(k) > o, z (k) > o, w(k) = q + M z (k) . w(k) Gilt f¨ ur τ (k) :=
1 (k) T (k) ) z n (w
lim τ (k) = 0
k→∞
die Aussage
und
τ (k+1) < τ (k)
f¨ ur alle k ≥ 0,
aufungspunkt so besitzt die Folge {x(k) }∞ k=0 einen H¨
∗ z x∗ = w∗ mit w∗ = q + M z ∗ , w∗ ≥ o, z ∗ ≥ o, (w∗ )T z ∗ = 0. achst Beweis: Mit w(k) = q + M z (k) und w(0) = q + M z (0) folgt zun¨ w(k) − w(0) = M (z (k) − z (0) ). Hieraus erh¨ alt man, da M schiefsymmetrisch ist, (z (k) − z (0) )T (w(k) − w(0) ) = 0. Dies wiederum f¨ uhrt auf (z (0) )T w(k) + (z (k) )T w(0) = (w(k) )T z (k) + (w(0) )T z (0) = n · τ (k) + n · τ (0) < 2nτ (0) .
6.3 Die Analyse des Korrektor-Pr¨ adiktor-Verfahrens
187
Tabelle 6.1. Korrektor-Pr¨ adiktor-Verfahren Eingabe: q ∈ Rn , M ∈ Rn×n mit M = −M T , ε > 0 und „ (0) « 1 z x(0) = ∈ N( ) w(0) 2 begin 2 ; 1 + 16n + 1 := x(0) ;
θ∗ := √ x(k+1)
τ (k+1) :=
1 (w(0) )T z (0) ; n
repeat x(k)
x(k+1) ;
:=
τ (k) := τ (k+1) ;
x
:=
x(k+1)
:=
τ (k+1)
:=
„
«−1 „ (k) « W (k) Z (k) w ∗ z (k) − τ (k) · e ; −M E o „ «−1 „ « −w ∗ z W Z x + θ∗ · ; o −M E x(k) −
(1 − θ∗ )τ (k)
until τ (k+1) ≤ ε; end.
Wegen w(k) > o und z (k) > o folgt dann f¨ ur alle i ∈ {1, ..., n} (k)
0 < wi
<
2n (0) zi
τ (0)
(k)
und 0 < zi
<
2n (0)
τ (0) .
wi
ankt und besitzt somit nach dem Satz von Die Folge {x(k) }∞ k=0 ist also beschr¨ Bolzano–Weierstraß mindestens einen H¨aufungspunkt
∗ z x∗ = . w∗ (k) ∞ }k=0 mit Demnach existiert eine Teilfolge {x(kp ) }∞ p=0 der Folge {x
(k ) ∗ z p z = , lim w∗ p→∞ w(kp )
und man erh¨ alt w∗ ≥ o, z ∗ ≥ o und w∗ = q + M z ∗ . Auf Grund von lim τ (kp ) = 0
p→∞
188
6 Innere-Punkte-Verfahren
folgt dann wegen w∗ ≥ o, z ∗ ≥ o ur alle i ∈ {1, ..., n}. wi∗ · zi∗ = 0 f¨ osung von LCP (q, M ). Die Vektoren w∗ und z ∗ bilden also eine L¨
Bemerkung 6.3.1 Mit Satz 6.3.1 erhalten wir insbesondere als Nebenresultat, dass LCP (q, M ) mit M = −M T l¨ osbar ist, falls ein Vektor x ∈ R2n 1 bekannt ist, der in N ( 2 ) liegt. Dies ist aber lediglich ein Spezialfall eines klassischen Ergebnisses, welches besagt, dass LCP (q, M ) mit einer positiv semidefiniten Matrix M l¨ osbar ist, falls Vektoren w ≥ o und z ≥ o bekannt sind, die w = q + M z erf¨ ullen. Siehe Theorem 3.1.2 in [21]. Bemerkung 6.3.2 Wir wollen noch kurz erw¨ ahnen, wie man einen Startvek˜) tor erh¨ alt. Ist M schiefsymmetrisch, so l¨ asst sich LCP (q, M ) in ein LCP (˜ q, M transformieren, zu dem ein Startvektor angegeben werden kann, der ˜ z (0) , w(0) = q˜ + M
w(0) > o, z (0) > o
˜ ist wiederum schiefsymmetrisch, allerdings gilt M ˜ ∈ erf¨ ullt. Die Matrix M 2n×2n n×n ˜ , falls M ∈ R . LCP (˜ q , M ) kann dann mit dem Korrektor-Pr¨ adiktorR Verfahren gel¨ ost werden. Danach kann man dann eine L¨ osung von LCP (q, M ) angeben oder auf die Nichtl¨ osbarkeit von LCP (q, M ) schließen. Wir verweisen auf Kapitel 5 in [55]. Wir wollen noch die so genannten unzul¨ assigen Innere-Punkte-Verfahren erw¨ahnen. Bei diesen Verfahren muss ein Startvektor
(0) w x(0) = z (0) ullen. Wir verweisen auf die Arbeiten [90], [91], lediglich w(0) > o, z (0) > o erf¨ [111], [112] und [127]. Bemerkung 6.3.3 In [55] wird eine Klasse von Matrizen behandelt, die mit P∗ (κ) bezeichnet wird. Es ist M ∈ P∗ (κ), falls (1 + 4κ) zi (M z)i + zi (M z)i ≥ 0 f¨ ur jedes z ∈ Rn , i∈I+ (z)
i∈I− (z)
wobei I+ (z) := {i : zi (M z)i > 0}, I− (z) := {i : zi (M z)i < 0} % P∗ (κ) gesetzt. Jede positiv semidefinite und κ ≥ 0 ist. Damit wird P∗ := κ≥0
Matrix ist eine P∗ (0)-Matrix und damit eine P∗ -Matrix. Eine weitere Klasse von Matrizen ist die Klasse der column sufficient Matrizen. Column sufficient wird eine Matrix M genannt, falls zi (M z)i ≤ 0, i = 1, ..., n
⇒
zi (M z)i = 0, i = 1, ..., n
6.3 Die Analyse des Korrektor-Pr¨ adiktor-Verfahrens
189
erf¨ ullt ist. Es gilt: Eine Matrix M ist genau dann column sufficient, wenn f¨ ur jedes q ∈ R die L¨ osungsmenge SOL(q, M ) von LCP (q, M ) konvex ist. Siehe Theorem 3.5.8 in [21]. Da jede einelementige Menge konvex ist, ist jede P-Matrix column sufficient. Außerdem ist jede P∗ -Matrix column sufficient. Siehe Lemma 3.2 in [55]. Eine Matrix M wird row sufficient genannt, falls M T column sufficient ist. Ist eine Matrix M sowohl column sufficient als auch row sufficient, so wird M sufficient genannt. 1996 hat H. V¨ aliaho in seinem Artikel [123] bewiesen, dass die Klasse der sufficient Matrizen und die Klasse der P∗ -Matrizen identisch sind. Siehe auch [2]. Bemerkung 6.3.4 F¨ ur M ∈ Rn×n und q ∈ Rn nennt man L=
n n
(log2 (|mij | + 1) + 1) +
i=1 j=1
n
(log2 (|qi | + 1) + 1) + 2log2 (n + 1)
i=1
die Bitl¨ ange der Eingangsdaten f¨ ur das LCP (q, M ). Dabei bezeichnet r die kleinste ganze Zahl, die gr¨oßer oder gleich r ∈ R ist. Sind die Eintr¨ age von M und q ganzzahlig, so wurde in [55] gezeigt, dass aus dem Abbruchkriterium (w(k) )T z (k) ≤ 2−2L gefolgert werden kann, dass eine L¨ osung (w∗ , z ∗ ) von LCP (q, M ) existiert mit (k)
≤ 2−L ,
(k)
≤ 2−L .
wi∗ = 0 falls wi zi∗ = 0 falls zi
Allerdings wurde in [55] auch erw¨ ahnt, dass die Zahl ε = 2−2L viel zu klein f¨ ur eine praktische Umsetzung ist. Wir werden im n¨ achsten Kapitel zeigen, dass man ohne Voraussetzung an M , q und ε anhand von w(k) ≥ o,
z (k) ≥ o,
(w(k) )T z (k) ≤ ε,
w(k) − q − M z (k) ∞ ≤ ε
nicht auf die L¨ osbarkeit von LCP (q, M ) schließen kann. Die Vermutung, dass in einer Umgebung der numerischen Approximation (w(k) , z (k) ) eine L¨osung von LCP (q, M ) existiert, bedarf eines Beweises bzw. einer Verifikation. Dies f¨ uhrt auf die so genannten Verifikationsmethoden, die wir im n¨ achsten Kapitel vorstellen.
7 Einschließungsmethoden von L¨ osungen
Unter einer Einschließung einer L¨osung von LCP (q, M ) verstehen wir das Berechnen eines Intervallvektors ! [w] , [w] = ([w i , w i ]) ∈ IRn , [z] = ([z i , z i ]) ∈ IRn , [z] f¨ ur den nachweislich w∗ ∈ [w] und z ∗ ∈ [z] existieren mit w∗ = q + M z ∗ ,
w∗ ≥ o, z ∗ ≥ o,
(w∗ )T z ∗ = 0.
Im Hinblick auf die zweite Definition von LCP (q, M ) ist eine Einschließung einer L¨ osung von LCP (q, M ) auch durch das Berechnen eines Intervallvektors [z] ∈ IRn erfolgt, f¨ ur den nachweislich ein z ∗ ∈ [z] existiert mit q + M z ∗ ≥ o,
z ∗ ≥ o,
(q + M z ∗ )T z ∗ = 0.
Einschließungsverfahren motiviert man durch die Frage, wie weit eine N¨ aherungsl¨osung von einer exakten L¨osung entfernt ist. Beispiel 7.0.1 Es seien q ∈ Rn und M ∈ Rn×n . Die Matrix M sei symmetrisch und positiv definit. Nach Satz 3.1.2 und Satz 3.1.8 besitzt LCP (q, M ) eine eindeutige L¨osung, die mit z ∗ bezeichnet sei. Weiter sei z (k) die k-te Iterierte des PSOR-Verfahrens. Wir werden im n¨ achsten Abschnitt Fehlerschranken kennen lernen, die z ∗ − z (k) ∞ ≤ c · f (z (k) )
(7.1)
erf¨ ullen. Dabei ist c eine Konstante, die nur von M abh¨ angt, und f : Rn → R ist eine stetige Funktion mit lim f (z (k) ) = 0.
k→∞
192
7 Einschließungsmethoden von L¨ osungen
Mit (7.1) erh¨ alt man die Einschließung ⎞ (k) (k) [z1 − c · f (z (k) ), z1 + c · f (z (k) )] ⎟ ⎜ .. ⎟. z ∗ ∈ [z] := ⎜ . ⎠ ⎝ (k) (k) (k) (k) [zn − c · f (z ), zn + c · f (z )] ⎛
W¨ ahlt man beim PSOR-Verfahren als Abbruchkriterium f (z (k) ) < bekommt man eine scharfe Einschließung.
ε c,
so
Leider ist es keine triviale Aufgabe, die Konstante c in (7.1) explizit zu berechnen. Daher ist die Einschließung einer L¨ osung von LCP (q, M ) wie in Beispiel 7.0.1 beschrieben nur selten praktisch umsetzbar. ¨ Uberhaupt ist Vorsicht geboten bei der praktischen Umsetzung der Algorithmen auf einem Computer. Beispiel 7.0.2 Wir betrachten den Lemke-Algorithmus implementiert auf einem Computer. Auf Grund von Rundungsfehlern wird man den Fall
(k)
z0 ∈ BVFk
und qt
=0
auf einem Computer wie folgt abfragen:
z0 ∈ BVFk
(k)
und |qt | < ε.
Dies bedeutet, dass man alle Zahlen, die betragsm¨aßig kleiner als eine vorgegebene Zahl > 0 sind, mit 0 identifiziert. Dies kann allerdings zu falschen Ergebnissen f¨ uhren, wie das folgende Beispiel zeigt. Wir betrachten LCP (q, M ) mit 1 M= 2
−1 1 −5 5
! ,
q=
−ε
!
−3ε
.
Der Lemke-Algorithmus beginnt mit dem Tableau BVF0 w1 w2 z1 z2 z0 q (0)
w1
1 0
w2
0 1
(0)
1 2 5 2
− 21 −1 −ε
− 25 –1 −3ε (0)
und es wird wegen q2 = −3ε < −ε = q1 als Pivotzeilenindex t = 2 gew¨ahlt. Nach einem Gauß–Jordan-Schritt erh¨ alt man BVF1 w1 w2 z1 z2 z0 q (1)
w1 z0
1 −1 −2 2 0 2ε 0 −1 − 52 52 1 3ε
7 Einschließungsmethoden von L¨ osungen
193
Es hat w2 das Basisvariablenfeld verlassen und es wird j0 = 4 als Pivotspalte gew¨ahlt. Wegen 2ε 6 3ε =ε< ε= 5 2 5 2 wird i0 = 1 als Pivotzeile gew¨ ahlt. Nach einem Gauß–Jordan-Schritt erh¨ alt man BVF2 w1 w2 z1 z2 z0 q (2)
z2 z0
∗ ∗ ∗ 1 0 ∗ ∗ ∗ 0 1
ε 1 2ε
Dabei interessieren uns die mit ∗ gekennzeichneten Werte nicht mehr, denn es ist z0 = 12 ε < ε. Interpretiert man bei einer Implementierung 12 ε als 0, so w¨ urde ein Programm als N¨aherungsl¨ osung
0 0 w ˜= , z˜ = 0 ε ausgeben. F¨ ur diese Vektoren gilt w ˜ ≥ o, z˜ ≥ o,
w ˜ T z˜ = 0,
w ˜ − M z˜ − q∞ =
1 ε < ε. 2
Hieraus die Schlussfolgerung zu ziehen, dass in einer Umgebung von (w, ˜ z˜) eine L¨osung von LCP (q, M ) existiert, ist allerdings falsch, denn dieses LCP besitzt keine L¨osung. Siehe Aufgabe 1.2.2 osung Das Vektorenpaar (w, ˜ z˜), w ˜ ∈ Rn , z˜ ∈ Rn nennt man eine ε-N¨aherungsl¨ von LCP (q, M ), falls w ˜ ≥ o, z˜ ≥ o,
w ˜T z˜ ≤ ε,
w ˜ − q − M z˜∞ ≤ ε
(7.2)
gilt. Man ist versucht, aus (7.2) zu folgern, dass in dem Intervallvektor ⎛ ⎞ [w ˜1 − ε, w ˜1 + ε] ⎜ ⎟ .. ⎜ ⎟ . ! ⎜ ⎟ ⎜ [w ⎟ [w] − ε, w ˜ + ε] ˜ n n ⎜ ⎟ (7.3) := ⎜ ⎟ [˜ z 1 − ε, z ˜ + ε] 1 [z] ⎜ ⎟ ⎜ ⎟ .. ⎝ ⎠ . [˜ zn − ε, z˜n + ε] eine L¨osung von LCP (q, M ) liegt. Im Allgemeinen ist diese Schlussfolgerung aber falsch, wie Beispiel 7.0.2 gezeigt hat. Insofern kann ohne weitere Argumentation bzw. Zusatzarbeit aus (7.2) lediglich vermutet werden, dass in (7.3) eine L¨osung von LCP (q, M ) liegt.
194
7 Einschließungsmethoden von L¨ osungen
Ein Verfahren, welches tats¨ achlich beweist, dass die Vermutung wahr ist, nennt man ein Verifikationsverfahren. Erst wenn ein Verifikationsverfahren erfolgreich war, ist eine Einschließung einer L¨ osung von LCP (q, M ) erfolgt. Wir verweisen auf Abschnitt 7.2. Im n¨achsten Abschnitt wollen wir zun¨achst die Fehlerschranken von R. Mathias und J.-S. Pang bzw. von X. Chen und S. Xiang vorstellen.
7.1 Fehlerschranken 1990 haben R. Mathias und J.-S. Pang Fehlerschranken f¨ ur LCP (q, M ) angegeben, wobei M eine P-Matrix ist. Ist M eine P-Matrix, so gilt nach Satz 3.1.1 max zi (M z)i > 0 falls z = o. 1≤i≤n
"
F¨ ur c(M ) := min
z ∞ =1
# max zi (M z)i
1≤i≤n
(7.4)
gilt dann c(M ) > 0. Des Weiteren benutzen R. Mathias und J.-S. Pang die Funktion ⎛ ⎞ min{z1 , q1 + (M z)1 } ⎜ ⎟ .. r(z) := inf{z, q + M z} = ⎝ (7.5) ⎠. . min{zn , q1 + (M z)n } Offensichtlich gilt r(z) = o
⇔
z ≥ o, q + M z ≥ o, (q + M z)T z = 0.
(7.6)
F¨ ur eine Folge {z (k) }, die gegen eine L¨ osung von LCP (q, M ) konvergiert, gilt dann auf Grund der Stetigkeit von r(z) lim r(z (k) ) = o.
k→∞
Das Ergebnis von R. Mathias und J.-S. Pang bez¨ uglich der Fehlerschranke lautet wie folgt. Satz 7.1.1 Es seien q ∈ Rn und M ∈ Rn×n . Die Matrix M sei eine P-Matrix, und die eindeutige L¨ osung von LCP (q, M ) sei mit z ∗ bezeichnet. Dann gilt n f¨ ur jedes z ∈ R z − z ∗ ∞ ≤
1 + M ∞ · r(z)∞ . c(M )
Dabei ist c(M ) bzw. r(z) wie in (7.4) bzw. (7.5) definiert.
7.1 Fehlerschranken
195
Der Beweis wird sich sp¨ater aus Satz 7.1.2 und Satz 7.1.3 ergeben, wobei Satz 7.1.3 besagen wird, dass die Fehlerschranke aus Satz 7.1.2 von X. Chen und S. Xiang aus dem Jahre 2006 sch¨arfer ist als die Fehlerschranke aus Satz 7.1.1. Als Vorbereitung f¨ ur Satz 7.1.2 betrachten wir das folgende Lemma. Lemma 7.1.1 F¨ ur x, y, x∗ , y ∗ ∈ R gilt min{x, y} − min{x∗ , y ∗ } = (1 − d) · (x − x∗ ) + d · (y − y ∗ ) mit
⎧ 0 falls y ≥ x, y ∗ ≥ x∗ , ⎪ ⎪ ⎪ ⎪ ⎨1 falls y ≤ x, y ∗ ≤ x∗ , d= ⎪ ⎪ min{x, y} − min{x∗ , y ∗ } + x∗ − x ⎪ ⎪ ⎩ sonst. y − y ∗ + x∗ − x
Außerdem gilt d ∈ [0, 1]. Beweis: Dass die Aussage f¨ ur die ersten beiden F¨ alle richtig ist, ist offensichtlich. Es bleiben zwei weitere F¨alle: 3. Fall: y < x, y ∗ ≥ x∗ oder y ≤ x, y ∗ > x∗ . 4. Fall: y ≥ x, y ∗ < x∗ oder y > x, y ∗ ≤ x∗ . In beiden F¨ allen gilt y − y ∗ + x∗ − x = y − x − (y ∗ − x∗ ) = 0, und somit hat man (1 − d) · (x − x∗ ) = sowie d · (y − y ∗ ) =
y − y ∗ − (min{x, y} − min{x∗ , y ∗ }) (x − x∗ ) y − y ∗ + x∗ − x
min{x, y} − min{x∗ , y ∗ } + x∗ − x (y − y ∗ ). y − y ∗ + x∗ − x
Addiert man diese beiden Ausdr¨ ucke, so hebt sich der Term (y − y ∗ ) · (x − x∗ ) im Z¨ahler weg, und man erh¨ alt (min{x, y} − min{x∗ , y ∗ }) y − y ∗ − (x − x∗ ) ∗ ∗ (1 − d) · (x − x ) + d · (y − y ) = y − y ∗ + x∗ − x = min{x, y} − min{x∗ , y ∗ }. Zuletzt ist noch d ∈ [0, 1] zu zeigen. Im 3. Fall ergibt sich d=
x−y min{x, y} − min{x∗ , y ∗ } + x∗ − x = y − y ∗ + x∗ − x x − y + (y ∗ − x∗ )
196
7 Einschließungsmethoden von L¨ osungen
und somit d ∈ [0, 1]. Im 4. Fall ergibt sich d=
x∗ − y ∗ min{x, y} − min{x∗ , y ∗ } + x∗ − x = ∗ ∗ y−y +x −x y − x + x∗ − y ∗
und somit d ∈ [0, 1].
Das Ergebnis von X. Chen und S. Xiang bez¨ uglich der Fehlerschranke lautet wie folgt. Satz 7.1.2 Es seien q ∈ Rn und M ∈ Rn×n . Die Matrix M sei eine P-Matrix, und die eindeutige L¨ osung von LCP (q, M ) sei mit z ∗ bezeichnet. Es bezeichne · eine beliebige Vektornorm bzw. die durch sie induzierte Matrixnorm. Weiter bezeichne D = diag(d1 , ..., dn ) eine Diagonalmatrix mit di ∈ [0, 1], ur jedes z ∈ Rn d.h. d ∈ [0, 1]n . Dann gilt f¨ z − z ∗ ≤ max n (E − D + DM )−1 · r(z). d∈[0,1]
Dabei ist r(z) wie in (7.5) definiert. Beweis: Wegen (7.6) ist r(z) = r(z) − r(z ∗ ). F¨ ur jedes i ∈ {1, .., n} gilt also ri (z) = min{zi , qi + (M z)i } − min{zi∗, qi + (M z ∗ )i }. Mit Lemma 7.1.1 gilt dann f¨ ur jedes i ∈ {1, .., n} ri (z) = (1 − di ) · (zi − zi∗ ) + di · (M (z − z ∗ ))i mit di ∈ [0, 1]. Dies bedeutet r(z) = (E − D + DM )(z − z ∗ ). Da M eine P-Matrix ist, folgt mit Aufgabe 3.1.1, dass auch E − D + DM eine P-Matrix ist. Die Matrix E − D + DM ist also insbesondere regul¨ ar, und wir erhalten z − z ∗ = (E − D + DM )−1 r(z),
woraus dann schließlich die Behauptung folgt.
Mit dem folgenden Satz haben X. Chen und S. Xiang gezeigt, dass ihre Fehlerabsch¨atzung besser ist als die von R. Mathias und J.-S. Pang. Satz 7.1.3 Es seien M ∈ Rn×n eine P-Matrix und D = diag(d1 , ..., dn ) eine Diagonalmatrix mit di ∈ [0, 1], d.h. d ∈ [0, 1]n . Dann gilt max (E − D + DM )−1 ∞ ≤
d∈[0,1]n
Dabei ist c(M ) wie in (7.4) definiert.
max{1, M ∞} . c(M )
7.1 Fehlerschranken
197
Beweis: Wir betrachten zun¨ achst den Spezialfall d ∈ (0, 1]n . Somit ist D regul¨ ar. Es sei H := (E − D + DM )−1 und i0 sei ein Index, der n
|Hi0 j | = (E − D + DM )−1 ∞
j=1
erf¨ ullt. Definiert man y := (E −D+DM )−1 p mit p := (sgnHi0 1 , ..., sgnHi0 n )T , so gilt p = (E − D + DM )y bzw. M y = D−1 p + y − D−1 y und insbesondere
(E − D + DM )−1 ∞ = y∞ .
(7.7)
Auf Grund der Definition von c(M ) ist dann 0 < c(M ) · y2∞ ≤ max yi (M y)i = max yi 1≤i≤n
1≤i≤n
pi yi + yi − di di
Ist j ein Index, der
pj pi yj yi + yj − + yi − = max yi yj 1≤i≤n dj dj di di
.
(7.8)
(7.9)
erf¨ ullt, so unterscheiden wir drei F¨ alle. 1. Fall: |yj | ≤ 1. Dann gilt c(M ) · y2∞ ≤ |M y|j ≤ M y∞ ≤ M ∞ · y∞ . Dies f¨ uhrt u ¨ber (7.7) auf (E − D + DM )−1 ∞ = y∞ ≤
M ∞ . c(M )
2. Fall: yj > 1. Dann gilt wegen (7.9) und (7.8) pj yj + yj − > 0, dj dj was dann mit dj ∈ (0, 1] auf pj > yj − dj yj ≥ 0 f¨ uhrt. Auf Grund der Definition von p muss dann pj = 1 gelten. Wegen dj ∈ (0, 1] und yj > 1 hat man dann 1 − yj ≤ dj (1 − yj )
bzw. 1 + dj yj − yj ≤ dj
bzw.
pj yj + yj − ≤ 1. dj dj
198
7 Einschließungsmethoden von L¨ osungen
Insgesamt erh¨ alt man 0 < (M y)j ≤ 1. Man erh¨ alt also in (7.8) c(M ) · y2∞ ≤ yj ≤ y∞ und dann mit (7.7) (E − D + DM )−1 ∞ = y∞ ≤
1 . c(M )
3. Fall: yj < −1. Dann gilt wegen (7.9) und (7.8) yj pj + yj − < 0, dj dj was dann mit dj ∈ (0, 1] auf pj < yj − dj yj ≤ 0 f¨ uhrt. Auf Grund der Definition von p muss dann pj = −1 gelten. Wegen dj ∈ (0, 1] und yj < −1 hat man dann dj (1 + yj ) ≥ 1 + yj
bzw.
− 1 + dj yj − yj ≥ −dj
bzw.
pj yj + yj − ≥ −1. dj dj
Insgesamt erh¨ alt man −1 ≤ (M y)j < 0. Man erh¨ alt also in (7.8) c(M ) · y2∞ ≤ −yj ≤ y∞ und dann mit (7.7) (E − D + DM )−1 ∞ = y∞ ≤
1 . c(M )
Fasst man alle drei F¨ alle zusammen, so gilt (E − D + DM )−1 ∞ = y∞ ≤
max{1, M ∞} . c(M )
Nun betrachten wir den Fall d ∈ [0, 1]n . Dazu setzen wir dε := inf{d + εe, e} mit ε ∈ (0, 1]. Dann gilt auf Grund des ersten Falles (E − D + DM )−1 ∞ = lim (E − Dε + Dε M )−1 ∞ ≤ ε→0
max{1, M ∞} . c(M )
Dies war zu zeigen. Beispiel 7.1.1 Es sei
M=
20 01
.
7.2 Verifikationsverfahren
199
Dann ist c(M ) = min {max{2x21 , x22 }}. x ∞ =1
F¨ ur x1 = 0, x2 = 1 ist max{2x21 , x22 } = 1. Wegen |x1 | = 1
⇒
max{2x21 , x22 } ≥ 2
|x2 | = 1
⇒
max{2x21 , x22 } ≥ 1,
und folgt c(M ) = 1 und somit max{1, M ∞} =2 c(M )
sowie
1 + M ∞ = 3. c(M )
F¨ ur D = diag(d1 , d2 ) mit di ∈ [0, 1], i = 1, 2 gilt
1 + d1 0 E − D + DM = , 0 1 was dann auf (E − D + DM )−1 ∞ = 1 f¨ uhrt.
In den Arbeiten von R. Mathias und J.-S. Pang bzw. von X. Chen und S. Xiang werden auch Fehlerschranken angegeben f¨ ur Unterklassen von P-Matrizen. Wir wollen hier nicht n¨ aher darauf eingehen und verweisen auf die Arbeiten [17] und [68].
7.2 Verifikationsverfahren Bevor wir ein Verifikationsverfahren f¨ ur das LCP vorstellen, wollen wir zun¨achst die wesentliche Idee eines Verifikationsverfahrens an einem Beispiel erl¨autern. Beispiel 7.2.1 Gegeben sei die stetige Funktion g(x) = 3x − 1 auf dem Intervall [x] := [x, x] = [0.33, 0.34]. Es ist g(x) < 0 und g(x) > 0.
(7.10)
Mit dem Zwischenwertsatz folgt dann, dass es ein x∗ ∈ [x] geben muss mit g(x∗ ) = 0. Sobald also (7.10) gezeigt ist, hat sich die Vermutung, dass im Intervall [x] eine Nullstelle von g liegt, bewahrheitet. Man sagt auch, dass durch (7.10) im Intervall [x] die Existenz einer Nullstelle von g verifiziert wurde.
200
7 Einschließungsmethoden von L¨ osungen
Wir betrachten eine stetige Funktion g : Rn → Rn , von der wir zeigen wollen, dass eine Nullstelle im Intervallvektor ⎛ ⎞ [x1 , x1 ] ⎜ ⎟ .. [x] := ⎝ ⎠ . [xn , xn ] liegt. Dazu setzen wir zun¨achst voraus, dass wir f¨ ur beliebig, aber fest gew¨ahltes x ˆ ∈ [x] eine Intervallmatrix G(ˆ x, [x]) ∈ IRn×n kennen, so dass f¨ ur jedes y ∈ [x] eine Matrix G(ˆ x, y) ∈ G(ˆ x, [x]) existiert, die g(y) − g(ˆ x) = G(ˆ x, y) · (y − xˆ)
(7.11)
erf¨ ullt. Die Matrix G(ˆ x, y) nennt man Steigungsmatrix und die Intervallmatrix G(ˆ x, [x]) nennt man eine Intervall-Steigungsmatrix. Eine IntervallSteigungsmatrix muss nicht eindeutig sein, wie das folgende Beispiel zeigt. Beispiel 7.2.2 Wir betrachten die Funktion g(x) = x2 , x ∈ [x]. Mit dem Mittelwertsatz der Differentialrechnung gilt f¨ ur x ˆ, y ∈ [x] y2 − x ˆ2 = g(y) − g(ˆ x) = g (ξ)(y − x ˆ) = 2ξ(y − xˆ) mit einem ξ ∈ [x]. Man kann also einerseits G(ˆ x, [x]) = 2 · [x] w¨ ahlen. Andererseits gilt y2 − x ˆ2 = (y + xˆ) · (y − x ˆ). Somit kann man auch G(ˆ x, [x]) = [x] + x ˆ w¨ahlen.
Um eine Intervall-Steigungsmatrix definieren zu k¨ onnen, braucht man als Voraussetzung lediglich die Stetigkeit von g. Die Funktion g braucht nicht differenzierbar zu sein. Dies wird sich im Hinblick auf das Anwenden beim LCP als n¨ utzlich erweisen. F¨ ur eine weitergehende Untersuchung von Steigungsmatrizen verweisen wir auf [41] und [108]. Ist R ∈ Rn×n eine regul¨are Matrix, so definieren wir den so genannten Krawczyk-Operator aus [57] K(ˆ x, R, [x]) := xˆ − R · g(ˆ x) + (E − R · G(ˆ x, [x])) · ([x] − x ˆ).
(7.12)
Dabei ist die Intervallrechnung wie in Abschnitt 4.3 zu verstehen. Der folgende Satz geht zur¨ uck auf die Arbeit [70] von R. Moore.
7.2 Verifikationsverfahren
201
Satz 7.2.1 Gilt K(ˆ x, R, [x]) ⊆ [x], so existiert ein ξ ∈ K(ˆ x, R, [x]), welches g(ξ) = o erf¨ ullt. Beweis: Wir betrachten die stetige Funktion r(y) := y − R · g(y),
y ∈ [x].
Dann gilt mit (7.11) f¨ ur jedes y ∈ [x] r(y) = xˆ − R · g(ˆ x) + (E − R · G(ˆ x, y)) · (y − x ˆ) ∈ K(ˆ x, R, [x]) ⊆ [x].
(7.13)
Somit bildet die stetige Funktion r(y) die nichtleere, kompakte und konvexe Menge [x] in sich ab. Nach dem Fixpunktsatz von Brouwer (siehe Satz A.2.1) existiert dann ein ξ ∈ [x] mit ξ = r(ξ). Da R regul¨ ar ist, folgt g(ξ) = o. Andererseits folgt mit ξ = r(ξ) aus (7.13) ξ = r(ξ) ∈ K(ˆ x, R, [x]). Im Hinblick auf das LCP m¨ ussen wir jetzt eine geeignete Funktion g : Rn → n R und eine entsprechende Intervallmatrix G(ˆ x, [x]) finden. Eine geeignete Funktion g : Rn → Rn ist g(x) := (E + M ) · x − (E − M ) · |x| + q,
(7.14)
denn mit Korollar 5.2.1 folgt, dass w := |x∗ | − x∗ ,
z := |x∗ | + x∗
eine L¨osung von LCP (q, M ) ist, falls g(x∗ ) = o gilt. Die Funktion g aus (7.14) ist nicht die einzige geeignete Funktion. F¨ ur weitere Funktionen, deren Nullstelle in Verbindung mit einer L¨ osung von LCP (q, M ) gebracht werden kann, verweisen wir auf die Arbeiten [35], [67] und [84]. Bez¨ uglich einer entsprechenden Intervall-Steigungsmatrix G(ˆ x, [x]), die zur Funktion g aus (7.14) passt, haben wir den folgenden Satz. Satz 7.2.2 Es seien M ∈ Rn×n und q ∈ Rn . Weiter seien [x] = ([xj , xj ]) ∈ ur die Funktion g aus (7.14) und die in Tabelle 7.1 IRn und xˆ ∈ [x]. Dann gilt f¨ definierte Matrix G(ˆ x, [x]): F¨ ur jedes y ∈ [x] existiert eine Matrix G(ˆ x, y) ∈ G(ˆ x, [x]) mit (7.11). Beweis: F¨ ur y ∈ [x] ist g(y) − g(ˆ x) = =
n
(yj − x ˆj )(E·j + M·j ) −
j=1 n j=1
n j=1
(|yj | − |ˆ xj |)(E·j − M·j )
(yj − x ˆj )(E·j + M·j ) − (|yj | − |ˆ xj |)(E·j − M·j ) .
202
7 Einschließungsmethoden von L¨ osungen Tabelle 7.1. Algorithmus zur Berechnung von G(ˆ x, [x]) for j := 1 to n do begin if xj ≥ 0 then G(ˆ x, [x])·j := 2 · M·j else if xj ≤ 0 then G(ˆ x, [x])·j := 2 · E·j else if x ˆj ≥ 0 then G(ˆ x, [x])·j := E·j + M·j − [ else G(ˆ x, [x])·j := E·j + M·j − [−1,
x ˆ j + xj , 1] · (E·j − M·j ) x ˆ j − xj
xj + x ˆj ] · (E·j − M·j ) xj − x ˆj
end.
Im Folgenden sei j ∈ {1, ..., n} beliebig, aber fest gew¨ ahlt. Dann ist G(ˆ x, [x])·j gem¨aß Tabelle 7.1 bestimmt. Wir werden nun durch Fallunterscheidung x, [x])·j existiert, der zeigen, dass ein Spaltenvektor G(ˆ x, y)·j ∈ G(ˆ (yj − xˆj )(E·j + M·j ) − (|yj | − |ˆ xj |)(E·j − M·j ) = (yj − x ˆj )G(ˆ x, y)·j erf¨ ullt. Denn dann kann man g(y) − g(ˆ x) =
n
(yj − x ˆj ) · G(ˆ x, y)·j = G(ˆ x, y) · (y − x ˆ)
j=1
mit G(ˆ x, y) ∈ G(ˆ x, [x]) schließen. 1. Fall: xj ≥ 0. Dann ist insbesondere x ˆj ≥ 0 sowie yj ≥ 0, und es folgt ˆj )(E·j + M·j ) − (|yj | − |ˆ xj |)(E·j − M·j ) = 2(yj − xˆj ) · M·j . (yj − x In diesem Fall setzen wir G(ˆ x, y)·j := 2 · M·j . Gem¨aß Tabelle 7.1 ist dann G(ˆ x, y)·j = G(ˆ x, [x])·j . 2. Fall: xj ≤ 0. Dann ist insbesondere x ˆj ≤ 0 sowie yj ≤ 0, und es folgt (yj − xˆj )(E·j + M·j ) − (|yj | − |ˆ xj |)(E·j − M·j ) = 2(yj − x ˆj ) · E·j . In diesem Fall setzen wir G(ˆ x, y)·j := 2 · E·j . x, [x])·j . Gem¨aß Tabelle 7.1 ist dann G(ˆ x, y)·j = G(ˆ 3. Fall: xj < 0 < xj .
7.2 Verifikationsverfahren
Unterfall 3.1: xˆj < 0 und yj ≥ 0. Dann gilt (|yj | − |ˆ xj |)(E·j − M·j ) =
ˆj yj + x (yj − x ˆj )(E·j − M·j ). yj − x ˆj
In diesem Fall setzen wir yj + xˆj (E·j − M·j ). yj − xˆj
G(ˆ x, y)·j := E·j + M·j − Betrachtet man die Funktion h(t) :=
t+x ˆj , t−x ˆj
t ∈ [0, xj ]
und deren Ableitung h (t) =
ˆj ) (t − x ˆj ) − (t + x −2ˆ xj = > 0, (t − x ˆj )2 (t − x ˆj )2
so erh¨alt man −1 = h(0) ≤
yj + x ˆj xj + x ˆj ≤ h(xj ) = . yj − x ˆj xj − x ˆj
Also gilt G(ˆ x, y)·j ∈ E·j + M·j − [−1,
xj + x ˆj ] · (E·j − M·j ). xj − x ˆj
Gem¨aß Tabelle 7.1 ist dann G(ˆ x, y)·j ∈ G(ˆ x, [x])·j . Unterfall 3.2: xˆj < 0 und yj < 0. Dann k¨ onnen wir wie im 2. Fall G(ˆ x, y)·j := 2 · E·j setzen. Wegen 2 · E·j ∈ E·j + M·j − [−1,
xj + x ˆj ] · (E·j − M·j ) xj − x ˆj
ist G(ˆ x, y)·j ∈ G(ˆ x, [x])·j gem¨aß Tabelle 7.1. Unterfall 3.3: xˆj ≥ 0 und yj < 0. Dann gilt (|yj | − |ˆ xj |)(E·j − M·j ) =
−yj − xˆj (yj − xˆj )(E·j − M·j ). yj − x ˆj
In diesem Fall setzen wir G(ˆ x, y)·j := E·j + M·j −
x ˆ j + yj (E·j − M·j ). x ˆ j − yj
203
204
7 Einschließungsmethoden von L¨ osungen
Es ist1
xˆj + xj xˆj + yj ≤ <1 x ˆj − xj x ˆ j − yj
f¨ ur yj ∈ [xj , 0). Also gilt G(ˆ x, y)·j ∈ E·j + M·j − [
xˆj + xj , 1] · (E·j − M·j ). x ˆj − xj
Gem¨aß Tabelle 7.1 ist dann G(ˆ x, y)·j ∈ G(ˆ x, [x])·j . Unterfall 3.4: xˆj ≥ 0 und yj ≥ 0. Dann k¨ onnen wir wie im 1. Fall G(ˆ x, y)·j := 2 · M·j setzen. Wegen 2 · M·j ∈ E·j + M·j − [
x ˆj + xj , 1] · (E·j − M·j ) x ˆj − xj
ist G(ˆ x, y)·j ∈ G(ˆ x, [x])·j gem¨aß Tabelle 7.1.
Zur Verifikation einer L¨ osung von LCP (q, M ) haben wir nun folgendes Vorgex) ≈ 0 mit hen. Gegeben sind q ∈ Rn und M ∈ Rn×n . Es sei g(˜ g(x) = (E + M ) · x − (E − M ) · |x| + q. Beispielsweise sei |g(˜ x)| ≤ ε mit einem vorgegebenen ε > 0. Dann setzen wir ⎞ ⎛ ˜1 + ε] [˜ x1 − ε, x ⎟ ⎜ .. n [x] := ⎝ ⎠ ∈ IR . . ˜n + ε] [˜ xn − ε, x Als N¨achstes w¨ahlen wir ein x ˆ ∈ [x]. Meistens w¨ahlt man x ˆ := x˜. Dann berechnen wir die Intervall-Steigungsmatrix G(ˆ x, [x]) gem¨aß Tabelle 7.1. Nach Wahl einer regul¨ aren Matrix R berechnen wir den Krawczyk-Operator K(ˆ x, R, [x]) aus (7.12) unter Verwendung der Intervallrechnung aus Abschnitt 4.3. Gilt x, R, [x]) mit dann K(ˆ x, R, [x]) ⊆ [x], so existiert nach Satz 7.2.1 ein x∗ ∈ K(ˆ g(x∗ ) = o. Dann setzen wir f¨ ur [K] := K(ˆ x, R, [x]) [w] := abs([K]) − [K],
[z] := abs([K]) + [K].
Dabei ist abs([K]) = (abs([Kj ]) und [0, max{|a|, |b|}], falls 0 ∈ [a, b], abs([a, b]) := [min{|a|, |b|}, max{|a|, |b|}], falls 0 ∈ [a, b]. Gem¨aß Korollar 5.2.1 existieren dann w∗ ∈ [w] und z ∗ ∈ [z], die LCP (q, M ) l¨ osen. 1
Man vergleiche
7 6
<
4 3
⇔ 7 · 3 < 4 · 6.
7.2 Verifikationsverfahren
205
Beispiel 7.2.3 Wir betrachten M = −1 und q = 1. Dann ist g(x) = (E + M ) · x − (E − M ) · |x| + q = −2|x| + 1. Es sei ε = 0.1 gew¨ahlt. Dann ist wegen g(0.45) = 0.1 die Zahl x˜ := 0.45 eine ε-N¨aherung einer Nullstelle von g. Wir setzen [x] := [˜ x − ε, x ˜ + ε] = [0.35, 0.55] und xˆ := x˜ = 0.45. Dann ergibt sich gem¨aß Tabelle 7.1 G(ˆ x, [x]) = −2. Als R w¨ahlen wir die Inverse von G(ˆ x, [x]), also R := − 12 . Dann gilt 1 K(ˆ x, R, [x]) = 0.45 + (−2 · 0.45 + 1) + 0 = 0.5 ∈ [x]. 2 Nach Satz 7.2.1 ist dann ξ =
1 2
eine Nullstelle von g, und
1 1 w := | | − = 0, 2 2
1 1 z := | | + = 1 2 2
bilden dann nach Korollar 5.2.1 eine L¨ osung von LCP (q, M ).
In Beispiel 7.2.3 bestand das Intervall K(ˆ x, R, [x]) lediglich aus dem Punkt 12 . Im n¨achsten Beispiel ist K(ˆ x, R, [x]) ein echtes Intervall. Beispiel 7.2.4 Wir betrachten M =
1 2
1 und q = − 10 . Dann ist
g(x) = (E + M ) · x − (E − M ) · |x| + q =
1 1 3 x − |x| − . 2 2 10
1 1 Es sei ε = 0.1 gew¨ahlt. Dann ist wegen g( 20 ) = − 20 die Zahl x ˜ := ε-N¨aherung einer Nullstelle von g. Wir setzen
[x] := [˜ x − ε, x ˜ + ε] = [−
1 20
eine
1 3 1 , ] und xˆ := x˜ = . 20 20 20
Dann ergibt sich unter Verwendung von (4.56) gem¨ aß Tabelle 7.1 G(ˆ x, [x]) = 1 +
1 − 1 − [ 20 1 2 20 +
1 20 1 20
3 1 , 1](1 − ) = [1, ]. 2 2
Als R w¨ahlen wir die Inverse des Mittelpunktes von G(ˆ x, [x]), also R := Dann gilt 4 1 4 3 1 3 1 1 − (− ) + (1 − · [1, ]) · ([− , ] − ) 20 5 20 5 2 20 20 20 9 1 1 1 1 9 1 1 = + [− , ] · [− , ] = + [− , ] 100 5 5 10 10 100 50 50 7 11 =[ , ] ⊆ [x]. 100 100
K(ˆ x, R, [x]) =
4 5.
206
7 Einschließungsmethoden von L¨ osungen
7 11 Nach Satz 7.2.1 liegt im Intervall [ 100 , 100 ] eine Nullstelle von g. Wir bilden
[w] := abs([
7 11 7 11 , ]) − [ , ] = [−0.04, 0.04] 100 100 100 100
und
7 11 7 11 , ]) + [ , ] = [0.14, 0.22]. 100 100 100 100 Nach Korollar 5.2.1 existieren w∗ ∈ [w] und z ∗ ∈ [z], die eine L¨ osung von LCP (q, M ) bilden. Wegen z ∗ ≥ z = 0.14 > 0 k¨ onnen wir wegen der Komplementarit¨ at sogar auf w∗ = 0 schließen. [z] := abs([
osung. Sie Da M = 12 eine P-Matrix ist, besitzt LCP (q, M ) eine eindeutige L¨ 2 lautet w∗ = 0, z ∗ = 10 . Es soll jetzt aber nicht der Eindruck entstehen, dass die Abfrage K(ˆ x, R, [x]) ⊆ [x] immer erfolgreich ist, falls in [x] eine Nullstelle von g liegt. Dazu betrachten wir das folgende Beispiel. Beispiel 7.2.5 Wir betrachten M = −1 und q = 0. Dann ist g(x) = (E + M ) · x − (E − M ) · |x| + q = −2|x|. Die einzige Nullstelle von g ist die 0. Es sei ε = 0.1 gew¨ahlt. Dann ist wegen g(0.05) = −0.1 die Zahl x ˜ := 0.05 eine ε-N¨aherung einer Nullstelle von g. Wir setzen [x] := [˜ x − ε, x ˜ + ε] = [−0.05, 0.15] und
˜ = 0.05. x ˆ := x
Dann ergibt sich unter Verwendung von (4.56) gem¨ aß Tabelle 7.1 G(ˆ x, [x]) = 1 − 1 − [
0.05 − 0.05 , 1] · 2 = [−2, 0]. 0.05 + 0.05
Als R w¨ahlen wir die Inverse des Mittelpunktes von G(ˆ x, [x]), also R := −1. Dann gilt K(ˆ x, R, [x]) = 0.05 + (−0.1) + (1 + [−2, 0]) · ([−0.05, 0.15] − 0.05) = −0.05 + [−1, 1] · [−0.1, 0.1] = −0.05 + [−0.1, 0.1] = [−0.15, 0.05] ⊆ [x]. Satz 7.2.1 ist somit nicht anwendbar, obwohl die Nullstelle von g im Intervall [x] liegt. Es ist sehr m¨ uhsam, die Bedingung K(ˆ x, R, [x]) ⊆ [x] per Hand nachzupr¨ ufen. Daher ist es w¨ unschenswert, diese Arbeit an einen Computer zu delegieren. Dies geschieht im folgenden Abschnitt.
7.3 Praktische Umsetzung
207
7.3 Praktische Umsetzung Die M¨ achtigkeit der Intervallrechnung wird eigentlich erst durch den Einsatz eines Rechners sichtbar (siehe auch [58]). Die Beispiele 7.3.2 und 7.3.3, die f¨ ur dieses Buch auf einem Rechner gerechnet worden sind, wurden in PASCAL XSC [53] implementiert. Man h¨atte auch C-XSC [52] oder INTLAB [95] benutzen k¨ onnen. PASCAL-XSC ist eine Erweiterung der Programmiersprache PASCAL. Die wesentliche Erweiterung ist die Bereitstellung einer Variable vom Typ interval. Sind drei Variablen [a], [b], [c] vom Typ interval, so sind die Operationen (4.56) vordefiniert und die Intervallgrenzen von [c] := [a] ∗ [b] mit ∗ ∈ {+, −, ·, /} werden automatisch in die richtige Richtung gerundet, falls die Intervallgrenzen gerundet werden m¨ ussen. achsten Beispielsweise wird a + b bzw. a + b nach unten bzw. nach oben zur n¨ Maschinenzahl gerundet. Sind also a, b, a, b Maschinenzahlen, so gilt a + b ∈ ur alle reellen Zahlen a ∈ [a, a], b ∈ [b, b]. Dadurch hat man [a] + [b] = [c, c] f¨ f¨ ur jedes a ∈ [a, a] und f¨ ur jedes b ∈ [b, b] ihre Summe in [c, c] eingeschlossen, wobei c und c wiederum Maschinenzahlen sind. Gewarnt durch Beispiel 4.3.1 m¨ ussen/wollen wir uns nun Gedanken machen, wie die Verifikationsmethoden modifiziert werden m¨ ussen, falls die Eingabedaten Zahlenwerte verwenden, die auf einem Rechner nicht dargestellt werden k¨ onnen. Beispiel 7.3.1 Gegeben sei die Funktion √ g(x) = 3x − 2,
x ∈ R,
und es soll gezeigt werden, dass√im Intervall [x] := [x, x] = [0.47, 0.48] eine Nullstelle von g liegt. Da man 2 nicht als endliche Dezimalzahl darstellen kann, kann ein Computer den auf den Zwischenwertsatz abzielenden Test g(x) · g(x) ≤ 0 nicht exakt durchf¨ uhren. Daher schließt man die Zahl Intervall ein. Beispielsweise √ 2 ∈ [1.4142, 1.4143] =: [a].
√ 2 vorab in einem
Dann hat man f¨ ur jedes a ∈ [a] eine Funktion g(x; a), die noch von einem Parameter a abh¨ angt, dessen Wert in einem gegebenen Intervall liegt. Gelingt es, f¨ ur jedes a ∈ [a] g(x; a) · g(x; a) ≤ 0 (7.15) nachzuweisen, so folgt√nach dem Zwischenwertsatz, dass f¨ ur jedes a ∈ [a] (insbesondere f¨ ur a = 2) ein x∗ ∈ [x] existiert mit g(x∗ ; a) = 0.
208
7 Einschließungsmethoden von L¨ osungen
Mit (4.56) erh¨ alt man g(x; [a]) = 3 · 0.47 − [a] = [−0.0043, −0.0042]
(7.16)
g(x; [a]) = 3 · 0.48 − [a] = [0.0257, 0.0258].
(7.17)
und Wegen g(x; a) ∈ g(x; [a]) und g(x; a) ∈ g(x; [a]) ist (7.15) gezeigt. Dabei k¨ onnen die Rechnungen (7.16) und (7.17) mit PASCAL-XSC auf einem Rechner durchgef¨ uhrt werden. Beispiel 7.3.1 hat uns gezeigt, dass unser Verifikationsverfahren auf Funktionen ausgedehnt werden muss, die noch zus¨ atzlich von Parametern abh¨ angen, deren Werte in Intervallen variieren, d.h. wir betrachten eine Familie von Funktionen g(·; a) : Rn → Rn mit a ∈ [a] ∈ IRm . Kann man beispielsweise bei LCP (q, M ) die Eingangsdaten q und M nicht explizit bestimmen und lediglich in Intervalle einschließen, so lautet die modifizierte Version von (7.14) g(x; q, M ) := (E + M ) · x − (E − M ) · |x| + q,
q ∈ [q],
M ∈ [M ]. (7.18)
Setzt man m := n + n2 und [a] = ([q1 ], ..., [qn ], [m11 ], [m12 ], ..., [mnn ])T ,
(7.19)
ur so hat man die Darstellung g(·; a) : Rn → Rn mit a ∈ [a] ∈ IRm . F¨ eine solche Funktion werden wir nun den Krawczyk-Operator und Satz 7.2.1 verallgemeinern. Dazu setzen wir zun¨ achst voraus, dass wir f¨ ur beliebig, aber fest gew¨ ahltes ur jedes x ˆ ∈ [x] eine Intervallmatrix G(ˆ x, [x]; [a]) ∈ IRn×n kennen, so dass f¨ y ∈ [x] und jedes a ∈ [a] eine Matrix G(ˆ x, y; a) ∈ G(ˆ x, [x]; [a]) existiert, die g(y; a) − g(ˆ x; a) = G(ˆ x, y; a) · (y − x ˆ)
(7.20)
erf¨ ullt. Ist R ∈ R eine regul¨are Matrix, so betrachten wir den modifizierten Krawczyk-Operator n×n
K(ˆ x, R, [x]; [a]) := x ˆ − R · g(ˆ x; [a]) + (E − R · G(ˆ x, [x]; [a])) · ([x] − x ˆ). (7.21) Dabei ist g(ˆ x; [a]) u ¨ ber (4.56) auszurechnen. F¨ ur die Funktion g(x; a) aus (7.18) ist mit (7.19) g(x; [a]) = (E + [M ]) · x − (E − [M ]) · |x| + [q].
(7.22)
7.3 Praktische Umsetzung
209
Tabelle 7.2. Algorithmus zur Berechnung von G(ˆ x, [x]; [a]) { es ist [a] = ([q1 ], ..., [qn ], [m11 ], [m12 ], ..., [mnn ])T } for j := 1 to n do begin if xj ≥ 0 then G(ˆ x, [x]; [a])·j := 2 · [M·j ] else if xj ≤ 0 then G(ˆ x, [x]; [a])·j := 2 · E·j else if x ˆj ≥ 0 then G(ˆ x, [x]; [a])·j := E·j + [M·j ] − [ else G(ˆ x, [x]; [a])·j := E·j + [M·j ] − [−1,
x ˆj + xj , 1] · (E·j − [M·j ]) x ˆj − xj
xj + x ˆj ] · (E·j − [M·j ]) xj − x ˆj
end.
Satz 7.3.1 Gilt K(ˆ x, R, [x]; [a]) ⊆ [x], so existiert f¨ ur jedes a ∈ [a] ein ξ ∈ K(ˆ x, R, [x]; [a]) mit g(ξ; a) = o. Beweis: Es sei a ∈ [a] beliebig, aber fest gew¨ ahlt. Dann betrachten wir die stetige Funktion r(y) := y − R · g(y; a), y ∈ [x]. Dann gilt mit (7.20) f¨ ur jedes y ∈ [x] ˆ) r(y) = x ˆ − R · g(ˆ x; a) + (E − R · G(ˆ x, y; a)) · (y − x ∈ K(ˆ x, R, [x]; [a]) ⊆ [x].
(7.23)
Somit bildet die stetige Funktion die nichtleere, kompakte und konvexe Menge [x] in sich ab. Nach dem Fixpunktsatz von Brouwer (siehe Satz A.2.1) existiert dann ein ξ ∈ [x] mit ξ = r(ξ). Da R regul¨ ar ist, folgt g(ξ; a) = o. Andererseits folgt mit ξ = r(ξ) aus (7.23) ξ = r(ξ) ∈ K(ˆ x, R, [x]; [a]). F¨ ur die Berechnung von G(ˆ x, [x]; [a]) f¨ ur die Funktion g(x; a) aus (7.18) benutzen wir den Algorithmus aus Tabelle 7.2. Dass dieser Algorithmus das Gew¨ unschte liefert, folgt aus Satz 7.2.2 und der einfachen Tatsache a ∈ [a]. Beispiel 7.3.2 Wir betrachten LCP (q, M ) mit
√
− ln 3 √π −√8 q= . und M = 2 e − 2
(7.24)
S¨ amtliche Komponenten bzw. Elemente von q bzw. von M sind auf einem Computer nicht als endliche Dezimalzahl darstellbar. Mit Hilfe von PASCALXSC kann man diese Zahlen in Intervalle einschließen.
210
7 Einschließungsmethoden von L¨ osungen
Die Zuweisung procedure var wert: M : q : begin
Exakte_Werte_einschliessen; interval; imatrix[1..2,1..2]; ivector[1..2];
wert:=-sqrt(8); writeln(wert); wert:=-sqrt(2); writeln(wert); wert:=- ln(3); writeln(wert); wert:=4*arctan(1); writeln(wert); wert:=exp(1); writeln(wert); wert:=sqrt(2); writeln(wert); end; liefert die Ausgabe [ -2.828427124746191E+000, -2.828427124746190E+000 ] [ -1.414213562373096E+000, -1.414213562373095E+000 ] [ -1.098612288668110E+000, -1.098612288668109E+000 ] [ 3.141592653589793E+000, 3.141592653589794E+000 ] [ 2.718281828459045E+000, 2.718281828459046E+000 ] [ 1.414213562373095E+000, 1.414213562373096E+000 ] Dies bedeutet, dass f¨ ur q und M aus (7.24)
[−2.828427124746191, −2.828427124746190] q ∈ [q] := [−1.414213562373096, −1.414213562373095] sowie M ∈ [M ] mit
[−1.098612288668110, −1.098612288668109] [M·1 ] := [2.718281828459045, 2.718281828459046]
und [M·2 ] := gilt.
[3.141592653589793, 3.141592653589794] [1.414213562373095, 1.414213562373096]
7.3 Praktische Umsetzung
211
Wir setzen [a] := ([q1 ], [q2 ], [m11 ], [m12 ], [m21 ], [m22 ])T . Um einen Testintervallvektor [x] ∈ IR2 zu erhalten, den wir vielversprechend auf K(ˆ x, R, [x]; [a]) ⊆ [x] (7.25) testen, besorgen wir uns eine N¨aherung f¨ ur LCP (q, M ), wobei q ∈ [q] sowie M ∈ [M ] beliebig, aber fest gew¨ ahlt sind. In diesem Beispiel haben wir q = q sowie M = M gew¨ahlt. Meistens w¨ ahlt man q = qc sowie M = Mc . Siehe (4.59). Auf die Funktion g(x) = (E + M ) · x − (E − M ) · |x| + q,
x ∈ Rn
wenden wir ein modifiziertes Newton-Verfahren an; und zwar x(0) ∈ Rn beliebig, x(k+1) := x(k) − (G(x(k) ))−1 · g(x(k) ), mit
(k)
(G(x
(k)
2 · M·j falls xj
≥ 0,
k = 0, 1, 2, ...
j = 1, ..., n. (k) falls xj < 0, In diesem Beispiel erhalten wir f¨ ur x(0) = 12 und dem Abbruchkriterium ))·j :=
2 · E·j
x(k+1) − x(k) 1 ≤ 0.0000001 als Ergebnis x(3) =
2.193922006632686E − 002 4.578302847437080E − 001
F¨ ur [x] :=
[0.021939, 0.02194]
! .
!
[0.45783, 0.45784]
erh¨alt man K(ˆ x, R, [x]; [a]) =
[2.1939220066326E − 002, 2.1939220066328E − 002] [4.57830284743707E − 001, 4.57830284743709E − 001]
! ,
wobei als x ˆ der Mittelpunkt von [x] und f¨ ur R eine Approximation der Inversen des Mittelpunktes von G(ˆ x, [x]; [a]) gew¨ahlt wurde. In PASCAL-XSC gibt es daf¨ ur eine vordefinierte Routine namens MatInv.
212
7 Einschließungsmethoden von L¨ osungen
Es ist also K(ˆ x, R, [x]; [a]) ⊆ [x] erf¨ ullt, und es folgt mit Satz 7.3.1, dass f¨ ur jedes a ∈ [a] ein ξ ∈ K(ˆ x, R, [x]; [a]) existiert mit g(ξ; a) = o. Insbesondere f¨ ur √ √ √ a = (− 8, − 2, − ln 3, π, e, 2)T . Wie vor Beispiel 7.2.3 erl¨ autert, erhalten wir dann mit Korollar 5.2.1 zwei Intervallvektoren [w] und [z], die eine L¨ osung von LCP (q, M ) einschließen mit q und M aus (7.24). Wegen z > o kann man sogar [w] = o folgern. Man erh¨alt ⎞ ⎛ 0 ! ⎜ ⎟ ⎟ ⎜ 0 [w] ⎟. =⎜ ⎟ ⎜ [z] ⎝ [4.387844013265277E − 002, 4.387844013265413E − 002] ⎠ [9.156605694874149E − 001, 9.156605694874165E − 001] Der exakte Wert, der LCP (q, M ) l¨ ost und in dem obigen Intervallvektor enthalten ist, lautet ! √ π· 2−4 1 −1 w = o, z = −M q = √ . √ √ 2 · ln 3 + π · e e · 8 + 2 · ln 3 Der Leser m¨oge sich an dieser Stelle einmal fragen, welchem Rechner er vertraut, wenn er die Komponenten von z mit endlichen Dezimalzahlen approximieren will. Der Vollst¨andigkeit wegen wollen wir noch erw¨ ahnen, dass auch
√
0 π− 8 w= , z= 1 0
eine L¨osung von LCP (q, M ) bilden. Beispiel 7.3.3 Wir betrachten LCP (q, M ) mit ⎛ ⎞ sin(1) ⎜ ⎟ q = ⎝ ... ⎠ sin(n)
7.3 Praktische Umsetzung
213
und ⎞ 1 1 1 1 · · · · · · ⎜ 2 3 n−1 n⎟ ⎟ ⎜ ⎜ 1 .. .. ⎟ 1 ⎜ n ··· ··· . . ⎟ ⎟ ⎜ 3 ⎟ ⎜ 2 ⎟ ⎜ ⎜ .. . . . 1 1 .. .. .. ⎟ mit M = ⎜ . ⎟. ⎜ 3 n−1 ⎟ ⎟ ⎜ ⎜ 1 1 1⎟ ⎟ ⎜ ⎜ n − 1 ··· ··· ··· n − 1 n n ⎟ ⎟ ⎜ ⎠ ⎝ 1 1 1 ··· ··· ··· n n n n ⎛
n
M = MT
F¨ ur jede Zeile i gilt n j=1,j=i
mij =
i−1 1 j=1
i
+
n 1 < n. j j=i+1
M ist somit streng diagonaldominant mit positiven Diagonalelementen. Nach Satz 3.1.9 ist M dann eine P-Matrix. LCP (q, M ) hat somit eine eindeutige L¨osung (w, z). Mit unserer Verifikationsmethode erhalten wir f¨ ur n = 10 w ∈ [w] sowie z ∈ [z] mit ⎛ ⎞ [8.877459782469340E − 001, 8.877459782469350E − 001] ⎜ [9.555724202647192E − 001, 9.555724202647202E − 001] ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ [1.873950014989049E − 001, 1.873950014989053E − 001] ⎟ ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ [w] = ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ [6.895240257091523E − 001, 6.895240257091531E − 001] ⎟ ⎜ ⎟ ⎜ [1.018484644424234E + 000, 1.018484644424236E + 000] ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ [4.385918603396573E − 001, 4.385918603396577E − 001] ⎠ 0
214
7 Einschließungsmethoden von L¨ osungen
und ⎞ 0 ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ ⎜ [7.287461557629638E − 002, 7.287461557629649E − 002] ⎟ ⎟ ⎜ ⎜ [9.349928693907295E − 002, 9.349928693907303E − 002] ⎟ ⎟ ⎜ [z] = ⎜ ⎟. ⎜ [2.464373209720830E − 002, 2.464373209720833E − 002] ⎟ ⎟ ⎜ ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ ⎠ ⎝ 0 [5.249193474281117E − 002, 5.249193474281122E − 002] ⎛
F¨ ur n = 20 erhalten wir w ∈ [w] sowie z ∈ [z] mit ⎛
⎞ [8.769374110989215E − 001, 8.769374110989230E − 001] ⎜ [9.447638531167067E − 001, 9.447638531167082E − 001] ⎟ ⎜ ⎟ ⎜ [1.765864343508928E − 001, 1.765864343508933E − 001] ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ ⎜ [6.855710572726437E − 001, 6.855710572726451E − 001] ⎟ ⎜ ⎟ ⎜ [1.016232226352055E + 000, 1.016232226352058E + 000] ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ [4.376620925508458E − 001, 4.376620925508465E − 001] ⎟ ⎜ ⎟ ⎜ ⎟ 0 ⎟ [w] = ⎜ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ ⎜ [4.409817358727348E − 001, 4.409817358727353E − 001] ⎟ ⎜ ⎟ ⎜ [1.010340841324968E + 000, 1.010340841324970E + 000] ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ [6.690842741600191E − 001, 6.690842741600201E − 001] ⎟ ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎝ [1.653773190837734E − 001, 1.653773190837736E − 001] ⎠ [9.276703546774075E − 001, 9.276703546774082E − 001]
7.3 Praktische Umsetzung
215
und ⎛
⎞ 0 ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ ⎜ [3.652334526667856E − 002, 3.652334526667864E − 002] ⎟ ⎜ ⎟ ⎜ [4.673151594118413E − 002, 4.673151594118421E − 002] ⎟ ⎜ ⎟ ⎜ [1.253195300226029E − 002, 1.253195300226032E − 002] ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ ⎜ [2.610762821688179E − 002, 2.610762821688186E − 002] ⎟ ⎜ ⎟. [z] = ⎜ ⎟ ⎜ [4.905392380453331E − 002, 4.905392380453337E − 002] ⎟ ⎜ ⎟ ⎜ [2.583247547961569E − 002, 2.583247547961573E − 002] ⎟ ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0 ⎜ ⎟ ⎜ [1.353864841810451E − 002, 1.353864841810454E − 002] ⎟ ⎜ ⎟ ⎜ [4.734897225660982E − 002, 4.734897225660987E − 002] ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ [3.683361660973415E − 002, 3.683361660973419E − 002] ⎟ ⎜ ⎟ ⎝ ⎠ 0 0 Unsere Verifikationsmethode war in diesem Beispiel auch f¨ ur n = 500 erfolgreich. Wir sehen aber davon ab, die Intervallvektoren [w], [z] ∈ IR500 hier abzudrucken. F¨ ur weitere Verifikationsmethoden f¨ ur das LCP verweisen wir auf die Arbeiten [3], [4], [5] und [100].
A Hilfsmittel
A.1 Matrixnormen Eine Abbildung · : Cn → R nennt man eine Vektornorm, wenn die folgenden drei Eigenschaften erf¨ ullt sind: 1. x ≥ 0 f¨ ur alle x ∈ Cn , und es ist x = 0 genau dann, wenn x = o. 2. λ · x = |λ| · x f¨ ur alle λ ∈ C und alle x ∈ Cn . 3. x + y ≤ x + y f¨ ur alle x, y ∈ Cn . Bekannte Beispiele sind:
4
1. Die Euklidnorm: x2 :=
n
|xj |2 .
j=1
2. Die Einsnorm: x1 :=
n
|xj |.
j=1
3. Die Maximumnorm: x∞ := max |xj |. 1≤j≤n
Dabei sind die ersten beiden Beispiele Spezialf¨ alle der so genannten P Normen: 1 2 2 n p |xj |p . xp := 3 j=1
Mit diesen Normen ausgestattet kann man sich beliebig viele weitere Vekar, tornormen definieren. Ist · eine Vektornorm und U ∈ Cn×n nichtsingul¨ so ist · U mit xU := U · x ebenfalls eine Vektornorm. Ein wichtiger Spezialfall ist die skalierte Maximumnorm: Ist u ∈ Rn mit u > o, so nennt man xu := max
1≤i≤n
|xi | ui
218
A Hilfsmittel
die skalierte Maximumnorm. Setzt man U := diag( u11 , ..., u1n ), so ist xu = U x∞ . Die skalierte Maximumnorm hat mit den P -Normen gemeinsam, dass sie alleur all diese samt offensichtlich absolute und monotone Normen sind1 , d.h. f¨ Normen gilt offensichtlich x = |x| und
|x| ≤ |y| ⇒ x ≤ y f¨ ur alle x, y ∈ Cn .
Nicht jede Vektornorm ist absolut bzw. monoton. Beispiel A.1.1 Wir betrachten die nichtsingul¨ are Matrix
−1 1 U= 01
−1 und die Vektornorm x := U x∞ . Dann gilt f¨ ur x = 1
2 0 x = U x∞ = ∞ = 2 = 1 = ∞ = U · |x|∞ = |x| . 1 1 Jede Vektornorm · definiert eine Matrixnorm durch A := sup x=o
A · x , x
A ∈ Cn×n .
Diese Matrixnorm nennt man auch die durch die Vektornorm · induzierte Matrixnorm. Offensichtlich gilt f¨ ur eine von einer Vektornorm induzierten Matrixnorm A = 0 ⇔ A = O,
Ax ≤ A · x,
AB ≤ A · B.
In den folgenden drei Lemmata werden wir f¨ ur gewisse Matrixnormen jeweils eine konkrete Formel angeben. Lemma A.1.1 F¨ ur die durch die Einsnorm bzw. Maximumnorm induzierte Matrixnorm gilt: n |aij | (A.1) A1 = max 1≤j≤n
bzw. A∞ = max
1≤i≤n
1
i=1 n
|aij |.
(A.2)
j=1
Man kann sogar zeigen, dass eine Vektornorm genau dann absolut ist, wenn sie ¨ monoton ist. Wir wollen auf den Beweis dieser Aquivalenz nicht eingehen und verweisen diesbez¨ uglich auf Abschnitt 3.2 in [60].
A.1 Matrixnormen
219
Beweis: Es sei x ∈ Cn . Dann ist n n n n n n aij xj ≤ |aij | · |xj | = |xj | |aij | A · x1 = i=1 j=1
≤ max
i=1 j=1
n
1≤j≤n i=1
j=1
i=1
|aij | · x1 .
Daher gilt f¨ ur alle x ∈ Cn mit x = o n A · x1 ≤ max |aij |. 1≤j≤n x1 i=1
(A.3)
Wir werden nun einen Vektor x = o angeben, f¨ ur den in (A.3) Gleichheit gilt. Damit ist dann (A.1) gezeigt. Ist k ein Index mit max
1≤j≤n
n
|aij | =
i=1
n
|aik |,
i=1
so w¨ahlen wir x = E·k und erhalten x1 = E·k 1 = 1 und
A · x1 = A·k 1 =
n
|aik | = max
i=1
1≤j≤n
n
|aij |.
i=1
Um (A.2) zu zeigen, sei wiederum x ∈ Cn . Dann ist n n A · x∞ = max aij xj ≤ max |aij | max |xj | · 1≤i≤n j=1
= max
n
1≤i≤n j=1
1≤i≤n
1≤j≤n
j=1
|aij | · x∞ .
Daher gilt f¨ ur alle x ∈ Cn mit x = o n A · x∞ ≤ max |aij |. 1≤i≤n x∞ j=1
(A.4)
Wir werden nun einen Vektor x = o angeben, f¨ ur den in (A.4) Gleichheit gilt. Damit ist dann (A.2) gezeigt. Ist k ein Index mit max
1≤i≤n
so w¨ahlen wir
n j=1
|aij | =
n
|akj |,
j=1
⎫ ⎧ ⎨ akj , akj = 0, ⎬ xj := |akj | ⎭ ⎩ 1, akj = 0,
j = 1, ..., n.
220
A Hilfsmittel
Dabei bezeichnet hier akj die zu akj konjugiert komplexe Zahl. Dann ist |xj | = 1 f¨ ur alle j = 1, ..., n, und wir erhalten x∞ = 1 sowie n n n aij xj ≤ |aij | ≤ |akj | f¨ ur alle i = 1, ..., n j=1
j=1
und
n
j=1
akj xj =
j=1
n
|akj |,
j=1
da akj · akj = |akj |2 gilt. Somit ist n n n aij xj = |akj | = max |aij |. A · x∞ = max 1≤i≤n
j=1
1≤i≤n
j=1
j=1
Lemma A.1.2 Es seien · eine beliebige Vektornorm und · ind die von · induzierte Matrixnorm. Ist U ∈ Cn×n nichtsingul¨ ar, so gilt f¨ ur die durch die Vektornorm · U induzierte Matrixnorm: AU = U AU −1 ind . F¨ ur die skalierte Maximumnorm gilt speziell: Ist u ∈ Rn mit u > o, so gilt Au = max
1≤i≤n
n |aij | · uj j=1
ui
und demnach: Au = |A| u
und
|A| ≤ |B| ⇒ Au ≤ Bu
f¨ ur alle A, B ∈ Cn×n .
Beweis: Es ist AU = sup x=o
AxU U AU −1 U x U AU −1 y = sup = U AU −1 ind . = sup xU U x y x=o y=o
ur x ∈ Cn ist xu = U x∞ mit U := Sei nun u ∈ Rn mit u > o. F¨ 1 1 diag( u1 , ..., un ). Daher folgt Au = U AU −1 ∞ = (
n |aij | · uj aij · uj )∞ = max . 1≤i≤n ui ui j=1
Ist A ∈ Cn×n , so nennt man ρ(A) := max{|λ| : λ ist ein Eigenwert von A} den Spektralradius von A. Er spielt bei der Bestimmung von A2 eine zentrale Rolle, wie wir im folgenden Lemma sehen werden.
A.1 Matrixnormen
221
Lemma A.1.3 F¨ ur die durch die Euklidnorm induzierte Matrixnorm gilt: 7 (A.5) A2 = ρ(AH A). Beweis: Die Matrix AH A ist hermitesch und wegen xH AH Ax = Ax22 ≥ 0 positiv semidefinit. Somit folgt aus der Linearen Algebra, dass AH A ausschließlich reelle Eigenwerte 0 ≤ λ1 ≤ λ2 ≤ ... ≤ λn besitzt und dass es eine Matrix S ∈ Cn×n gibt mit S H S = E und S H (AH A)S = diag(λ1 , ..., λn ). Dann gilt f¨ ur x ∈ Cn mit y := S H x Ax22 = (Ax)H Ax = y H S H (AH A)Sy =
n
λj yj2 ≤ λn y H y = λn xH x = λn x22 .
j=1
Daher gilt f¨ ur alle x ∈ Cn , x = o / Ax2 ≤ λn = x2
7 ρ(AH A).
(A.6)
Wir werden nun einen Vektor x = o angeben, f¨ ur den in (A.6) Gleichheit gilt. Damit ist dann (A.5) gezeigt. Wir betrachten einen Eigenvektor u zum Eigenwert λn von AH A. Dann ist u = o und Au22 = uH AH Au = λn uH u = λn u22
bzw.
Au2 / = λn . u2
Ist A symmetrisch, so erh¨alt man als Spezialfall / / A2 = ρ(A2 ) = (ρ(A))2 = ρ(A). Es stellt sich die Frage, ob man f¨ ur andere Matrixnormen auch allgemeine Aussagen in Bezug auf ρ(A) machen kann. Die folgenden beiden Lemmata geben Antworten hierauf. Lemma A.1.4 Es seien A ∈ Cn×n und · eine durch eine Vektornorm induzierte Matrixnorm. Dann gilt ρ(A) ≤ A. Beweis: Es seien λ ein Eigenwert von A und x ein dazugeh¨ orender Eigenvektor. Dann gilt x = o und |λ| · x = Ax ≤ A · x bzw. |λ| ≤ A. Da λ ein beliebiger Eigenwert von A ist, folgt ρ(A) ≤ A.
Lemma A.1.5 Es seien A ∈ Cn×n und ε > 0. Dann existiert eine Vektornorm, die eine Matrixnorm · induziert, die A ≤ ρ(A) + ε erf¨ ullt.
222
A Hilfsmittel
Beweis: Wir benutzen die aus der Linearen Algebra bekannte Jordan-Normalform: Es seien λi , i = 1, ..., k die Eigenwerte von A mit ihren (algebraischen) Vielfachheiten δ(λi ), i = 1, ..., k. Dann existiert eine nichtsingul¨ are Matrix T , so dass T −1 AT = J mit ⎞ ⎛ Cν (1) O 1 ⎟ ⎜ ⎟ ⎜ .. ⎟ ⎜ . ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ Cν (1) ⎟ ⎜ δ(λ1 ) ⎟ ⎜ ⎟ ⎜ . .. J =⎜ ⎟ ⎟ ⎜ ⎟ ⎜ Cν (k) ⎟ ⎜ 1 ⎟ ⎜ ⎟ ⎜ .. ⎟ ⎜ . ⎟ ⎜ ⎠ ⎝ O Cν (k) δ(λk )
gilt. Dabei gibt es zu jedem λi , i = 1, ..., k insgesamt δ(λi ) nat¨ urliche Zahlen (i) νj , j = 1, ..., δ(λi ) mit ⎞ ⎛ λi 1 0 · · · 0 . ⎟ ⎜ ⎜ 0 λi . . . . . . .. ⎟ ⎟ ⎜ (i) (i) ⎟ ⎜ (i) Cν (i) = ⎜ ... . . . . . . 1 0 ⎟ ∈ Cνj ×νj falls νj > 1 j ⎟ ⎜ ⎟ ⎜ . . . ⎝ .. . . . . λi 1 ⎠ 0 · · · · · · 0 λi (i)
und Cν (i) = λi falls νj = 1. Mit Dε := diag(ε, ε2 , ..., εn ) gilt dann j
Dε−1 JDε ∞ ≤ ρ(A) + ε.
(A.7)
W¨ ahlt man als Vektornorm die Norm · mit x := (T Dε )−1 x∞ , so liefert die durch diese Vektornorm induzierte Matrixnorm auf Grund von Lemma A.1.2 und (A.7) das Gew¨ unschte. Wichtige Anwendungen dieses Lemmas sind die folgenden drei Lemmata. Lemma A.1.6 Es sei A ∈ Cn×n . Dann gilt lim Ak = O ⇔ ρ(A) < 1.
k→∞
Beweis: Ist ρ(A) < 1, so existiert auf Grund von Lemma A.1.5 eine Vektornorm, so dass f¨ ur die induzierte Matrixnorm · die Aussage A < 1 gilt.
A.1 Matrixnormen
223
Dann folgt Ak ≤ Ak → 0
f¨ ur k → ∞.
Sei umgekehrt λ ein Eigenwert von A. Dann existiert ein zugeh¨ origer Eigenvektor x = o und es gilt Ak x = λk x,
x = o.
(A.8)
Angenommen |λ| ≥ 1. Dann kann wegen (A.8) nicht lim Ak = O gelten. . k→∞
Lemma A.1.7 Es seien B, C ∈ Rn×n mit |C| ≤ B. Dann gilt ρ(C) ≤ ρ(B). Beweis: Es sei ε > 0 beliebig, aber fest. Dann setzen wir σ := ρ(B) sowie B1 :=
1 B σ+ε
und
C1 :=
1 C. σ+ε
Hieraus folgen ρ(B1 ) < 1 und |C1 |k ≤ B1k f¨ ur k = 1, 2, ... . Mit Lemma A.1.6 folgt nun lim B1k = O, woraus dann wiederum lim C1k = O folgt. Lemma k→∞
k→∞
A.1.6 angewandt auf C1 liefert dann ρ(C1 ) < 1 und somit ρ(C) < σ + ε. Mit ε → 0 folgt dann die Behauptung. Lemma A.1.8 Es sei A ∈ Cn×n mit ρ(A) < 1. Dann existiert (E − A)−1 und es gilt ∞ (E − A)−1 = Aj . j=0
Beweis: Die Eigenwerte von E − A lauten 1 − λi , i = 1, ..., n, wobei λi , i = 1, ..., n die Eigenwerte von A sind. Wegen ρ(A) < 1 ist 1 kein Eigenwert von A. Daher ist 0 kein Eigenwert von E − A und E − A ist somit invertierbar. Es ist (E − A)(E + A + A2 + ... + Ak ) = E − Ak+1 bzw.
E + A + A2 + ... + Ak = (E − A)−1 − (E − A)−1 Ak+1 .
Wegen ρ(A) < 1 folgt dann die Behauptung auf Grund von Lemma A.1.6. Zum Abschluss dieses Abschnitts u ¨ber Matrixnormen wollen wir noch anmerken, dass nicht jede Matrixnorm, die durch eine absolute bzw. monotone Vektornorm induziert wurde, selbst absolut bzw. monoton sein muss. Beispiel A.1.2 Wir betrachten die Euklidnorm, die offensichtlich absolut bzw. monoton ist. Nach Lemma A.1.3 gilt f¨ ur die induzierte Matrixnorm / ur A2 = ρ(AH A). F¨
−1 1 D= −1 −1 √ erh¨alt man D2 = 2 = 2 = |D| 2 .
224
A Hilfsmittel
A.2 Fixpunktsatz von Brouwer, Lemma von Farkas Ist f : Rn → Rn gegeben, und existiert ein x ∈ Rn mit x = f (x), so nennt man x einen Fixpunkt von f . Ein mathematischer Satz, der Voraussetzungen angibt, unter denen die Existenz eines Fixpunktes garantiert wird, nennt man einen Fixpunktsatz. Satz A.2.1 (Fixpunktsatz von Brouwer) Es seien ∅ = K ⊆ Rn und f : K → K. K sei beschr¨ ankt, abgeschlossen sowie konvex und f sei stetig. Dann besitzt f einen Fixpunkt x∗ ∈ K. Auf einen Beweis wollen wir hier verzichten und verweisen diesbez¨ uglich auf [37]. Dort werden sogar mehrere Beweise gef¨ uhrt. Weitere (andere) Beweise findet man in [8] und [45]. Satz A.2.2 (Satz von Perron, Frobenius) Es sei A ∈ Rn×n und A ≥ O. Dann ist ρ(A) ein Eigenwert von A. Des Weiteren existiert ein x ∈ Rn , x ≥ o, x = o mit Ax = ρ(A)x. Beweis: 1: Fall: Es sei A > O. Dann betrachten wir die Menge K := {x ∈ Rn : x ≥ o,
n
xj = 1}
j=1
und die Funktion f (x) := n
1
· Ax,
x ∈ K.
(Ax)j
j=1
K ist nichtleer, abgeschlossen, beschr¨ankt sowie konvex, und wegen A > O ist die Funktion f (x), x ∈ K wohldefiniert und stetig. Außerdem gilt f (K) ⊆ K. Der Fixpunktsatz von Brouwer (Satz A.2.1) garantiert nun die Existenz eines x∗ ∈ K mit x∗ = f (x∗ ). Daher ist Ax∗ = λ∗ x∗
mit λ∗ :=
n
(Ax∗ )j .
(A.9)
j=1
Wegen A > O und x∗ ∈ K folgt außerdem Ax∗ > o, was dann weur die Matrix gen (A.9) zun¨ achst λ∗ > 0 und dann x∗ > o impliziert. F¨ ∗ D := diag(x1 , ..., x∗n ) gilt dann wegen Lemma A.1.4 und Lemma A.1.2 (falls man als Vektornorm die Maximumnorm zu Grunde legt) (Ax∗ )i = λ∗ . 1≤i≤n x∗i
ρ(A) ≤ AD−1 = D−1 AD∞ = max Mit λ∗ ≤ ρ(A) folgt schließlich λ∗ = ρ(A).
2. Fall: Es sei A ≥ O. Dann betrachten wir die Matrix A(t) := A + t · F , wobei F die Matrix bezeichne, bei der jedes Element 1 ist. F¨ ur t > 0 ist dann
A.2 Fixpunktsatz von Brouwer, Lemma von Farkas
225
A(t) > O, und es folgt mit dem 1. Fall, dass es einen Vektor u(t) ∈ K, u(t) > o gibt mit A(t)u(t) = ρ(A(t))u(t). Da die Eigenwerte einer Matrix stetig von den Elementen der Matrix abh¨ angen, gilt2 A(t) → A und ρ(A(t)) → ρ(A) f¨ ur t → +0. Des Weiteren ist K abgeschlossen und beschr¨ankt. Daher existiert ein H¨ aufungspunkt u ∈ K von u(t) f¨ ur t → +0. Jeder solche H¨aufungspunkt u erf¨ ullt dann u ≥ o, u = o und Au = ρ(A)u. Lemma A.2.1 Es seien A, H, N ∈ Rn×n mit A = H − N . Weiter seien A und H regul¨ ar mit H −1 N ≥ O sowie A−1 N ≥ O. Dann gilt ρ(H −1 N ) < 1. Beweis: Es ist H −1 N ≥ O. Nach dem Satz von Perron, Frobenius (Satz A.2.2) existiert ein Vektor x ≥ o, x = o
mit H −1 N x = ρ(H −1 N )x.
(A.10)
Außerdem sind A und H regul¨ ar. Dann ist −1 A−1 N = (H − N )−1 N = H(E − H −1 N ) N = (E − H −1 N )−1 H −1 N. Aus (A.10) folgt nun einerseits (E − H −1 N )x = (1 − ρ(H −1 N ))x bzw. (E − H −1 N )−1 x =
1 x. 1 − ρ(H −1 N )
Andererseits folgt aus (A.10) zusammen mit A−1 N ≥ O o ≤ A−1 N x = (E − H −1 N )−1 H −1 N x = Somit gilt ρ(H −1 N ) < 1.
ρ(H −1 N ) x. 1 − ρ(H −1 N )
Satz A.2.3 (Lemma von Farkas) Es seien A ∈ Rm×n und b ∈ Rm . Dann hat Ax = b, x ≥ o (A.11) genau dann eine L¨ osung, wenn f¨ ur jedes u ∈ Rm mit uT A ≥ oT auch uT b ≥ 0 folgt. 2
Siehe etwa Satz 3.1.2 in [82]. Jedoch wird auch dort auf ein starkes Hilfsmittel aus der Funktionentheorie zur¨ uckgegriffen: Der Satz von Rouch´e.
226
A Hilfsmittel
Beweis: i) Es sei x ˜ eine L¨osung von (A.11). Dann gilt uT b = uT A˜ x≥0 f¨ ur alle u mit uT A ≥ oT . ullt, ii) Wir setzen voraus, dass jedes u ∈ Rm mit uT A ≥ oT auch uT b ≥ 0 erf¨ und nehmen an, (A.11) habe keine L¨ osung. Dann gilt b ∈ K := {y = Ax, x ≥ o} ⊆ Rm . Da K abgeschlossen und nichtleer ist, existiert aus Stetigkeitsgr¨ unden ein m ∈ K mit b − m2 = min b − y2 . y∈K
Es gilt
(b − m)T (y − m) ≤ 0 f¨ ur alle y ∈ K.
(A.12)
T
G¨ abe es n¨amlich ein y˜ ∈ K mit (b − m) (˜ y − m) > 0, so w¨are, da K konvex ist, y(λ) := m + λ(˜ y − m) ∈ K f¨ ur alle λ ∈ [0, 1], und es w¨ urde gelten y − m) + λ2 ˜ y − m22 b − y(λ)22 = b − m22 − 2λ(b − m)T (˜ = b − m22 + F (λ). Da F (0) = 0 und F (0) = −2(b − m)T (˜ y − m) < 0 ist, gilt f¨ ur hinreichend kleine λ > 0 F (λ) < 0, b − y(λ)2 < b − m2 . Dies steht im Widerspruch zur Definition von m. Daher gilt (A.12). Da o ∈ K und 2m ∈ K, folgt aus (A.12) (b − m)T m = 0,
(b − m)T y ≤ 0 f¨ ur alle y ∈ K.
(A.13)
Setzen wir u := m − b, so gilt also uT y ≥ 0 f¨ ur alle y ∈ K. Da A·i ∈ K f¨ ur alle i = 1, ..., n ist, gilt speziell uT A·i ≥ 0,
i = 1, ..., n
bzw. uT A ≥ oT . Andererseits gilt wegen (A.13) uT b = bT u = bT (m − b) = (b − m)T (m − b) = −u22 < 0, denn es ist u = o wegen m ∈ K, b ∈ K. Es gibt also einen Vektor u ∈ Rm , welcher sowohl uT A ≥ oT als auch uT b < 0 erf¨ ullt. Dies ist nach Voraussetzung nicht m¨ oglich. Daher ist die Annahme falsch und (A.11) l¨ osbar.
A.3 Stochastische Differentialgleichungen
227
A.3 Stochastische Differentialgleichungen Es sei (Ω, A, P ) ein Wahrscheinlichkeitsraum. Definition A.3.1 Ein stochastischer Prozess ist eine Funktion X(t, ω) : R × Ω → R, die die folgenden beiden Bedingungen erf¨ ullt. 1. F¨ ur festes t ist X(t, ·) : Ω → R eine Zufallsvariable. F¨ ur X(t, ·) schreibt man auch Xt . 2. F¨ ur festes ω ∈ Ω ist X(·, ω) : R → R eine Funktion im herk¨ ommlichen Sinn. Man spricht auch von der Realisierung X(·, ω) f¨ ur ω ∈ Ω bzw. vom Pfad. Man beachte, dass bei der Definition keinerlei Annahmen u ¨ber den Wahrscheinlichkeitsraum (Ω, A, P ) vorausgesetzt werden. Wichtig ist nur, dass alle Zufallsvariablen Xt auf demselben Raum definiert sind. Beispiel A.3.1 (Der Wiener-Prozess.) Der Wiener-Prozess wird mit W bezeichnet und ist f¨ ur t ≥ 0 definiert. Die Definition des Wiener-Prozesses ergibt sich aus der von N. Wiener eingef¨ uhrten mathematischen Beschreibung der Brownschen Bewegung, die in der Physik die zuf¨ allige Bewegung eines auf einer Wasseroberfl¨ ache schwimmenden Teilchens beschreibt. Der Wiener Prozess hat folgende Eigenschaften: 1. W0 = 0. 2. F¨ ur 0 ≤ s < t ist Wt − Ws ∼ N (0, t − s), insbesondere folgt Wt ∼ N (0, t). Dabei bezeichnet N (0, t − s) die Normalverteilung mit Erwartungswert 0 und Varianz t − s. ¨ 3. Der Prozess hat unabh¨angige Zuw¨ achse (Anderungen), d.h. f¨ ur bel. 0 ≤ angig. r < s ≤ t < u sind die Zufallsgr¨ oßen Ws − Wr und Wu − Wt unabh¨ 4. Wt ist stetig in t. Eigenschaft 1. ist lediglich eine Festlegung des Ursprungs des Koordinatensystems. Die Eigenschaft 2. bedeutet, dass die Streuung der Werte der Pfade W (t, ω) gr¨ oßer wird, wenn t gr¨ oßer wird. Der Mittelwert ist dabei zu jedem Zeitpunkt gleich 0. Die Eigenschaft 3. besagt, dass man aus der Kenntnis eines Teilst¨ uckes eines Pfades auf einem Intervall keinerlei Vorhersagen u ¨ber den Verlauf auf einem anderen Intervall machen kann. Der Pfad kann sich also zu jedem Zeitpunkt mit exakt der gleichen Wahrscheinlichkeit nach oben oder unten bewegen, egal welchen Verlauf er bis zu diesem Zeitpunkt genommen hat. Beispiel A.3.2 (Der Itˆ o-Prozess) Ein Itˆo-Prozess wird eine L¨osung einer so genannten Itˆo-stochastischen Differentialgleichung dXt = a(Xt , t)dt + b(Xt , t)dWt
(A.14)
genannt. Dabei ist die obige Schreibweise nur symbolisch f¨ ur die Integralgleichung
228
A Hilfsmittel
0t
0t
Xt = Xt0 +
a(Xs , s)ds + t0
b(Xs , s)dWs . t0
Das zweite Integral ist ein Itˆo-Integral u ¨ ber einen Wiener-Prozess Wt , welches wie folgt definiert ist. Sei F (t, ω) ein stochastischer Prozess, der auf demselben Wahrscheinlichkeitsraum (Ω, A, P ) definiert ist wie W . W¨ ahle N ∈ N und eine (N ) Folge von Zeiten τi , i = 0, 1, ..., N mit (N )
t0 = τ0
(N )
< τ1
(N )
< ... < τN (N )
mit lim δ(N ) = 0, wobei δ(N ) = max{τi N →∞
= t1
(N )
− τi−1 : i = 1, ..., N }. F¨ ur jedes
ω ∈ Ω wird I (N ) (F )(ω) :=
N −1
(N )
F (τi
(N )
(N )
, ω) · (W (τi+1 , ω) − W (τi
, ω))
i=0
gesetzt und
8t1
F (t)dWt definiert zu
t0
0t1
F (t)dWt := lim I (N ) (F )(ω). N →∞
t0
Dabei ist der Limes nicht pfadweise zu verstehen, sondern als Zufallsvariable basierend auf dem Begriff der Quadrat-Mittel-Konvergenz, der wie folgt definiert ist. Eine Folge von Zufallsvariablen XN konvergiert im QuadratMittel-Sinne gegen eine Zufallsvariable X, falls lim E(|XN − X|2 ) = 0
N →∞
gilt. E bezeichnet dabei den Erwartungswert.
Als zentrales Hilfsmittel bei der Herleitung der Black-Scholes-(Un)gleichung wird die Itˆo-Formel benutzt, die im folgenden Satz festgehalten ist. Die Formel kann als Kettenregel aufgefasst werden. osung von (A.14) und g(x, t) sei Satz A.3.1 (Itˆ o-Formel) Xt sei eine L¨ ∂g ∂ 2 g eine Funktion mit stetigen partiellen Ableitungen ∂g ∂t , ∂x , ∂x2 . Dann ist Yt := g(Xt , t) eine L¨ osung der stochastischen Differentialgleichung dYt =
∂g ∂t
+a
∂g ∂g 1 ∂2g + b2 2 dt + b dWt ∂x 2 ∂x ∂x
(mit dem gleichen Wiener-Prozess). F¨ ur einen Beweis von Satz A.3.1 und f¨ ur eine tiefergehende Einf¨ uhrung in den Itˆo-Kalk¨ ul verweisen wir auf das Buch [27] von T. Deck.
L¨ osungen der Aufgaben
Aufgabe 1.2.1: Betrachtet wird LCP (q, M ) mit
27 −4 M= , q= . 65 −5 1. Fall: z = o. Dann gilt w = q = −4 uhrt auf keine L¨ osung. −5 ≥ o. Dieser Fall f¨ 2. Fall: w = o. Dann betrachten wir das Tableau: z1 z2 q –2 –7 –4 –6 –5 –5 Es folgt z2 =
7 16
z1 z2 q 2 7 4 0 16 7
und damit dann z1 = 15 32 . Somit ist
1 15 0 w= , z= 0 32 14
eine L¨osung von LCP (q, M ). 3. Fall: w1 = 0, z2 = 0. Dann betrachten wir das Tableau: z1 w2 q –2 0 –4 –6 1 –5 Es folgt z1 = 2 und damit dann w2 = 7. Somit ist
0 2 w= , z= 7 0 eine zweite L¨osung von LCP (q, M ). 4. Fall: z1 = 0, w2 = 0. Wir betrachten das Tableau: w1 z2 q 1 –7 –4 0 –5 –5
230
L¨ osungen der Aufgaben
Es folgt z2 = 1 und damit dann w1 = 3. Somit ist
3 0 w= , z= 0 1 eine dritte L¨osung von LCP (q, M ). Aufgabe 1.2.2: Betrachtet wird LCP (q, M ) mit
1 −1 1 −ε M= , q= , ε > 0. −3ε 2 −5 5 −ε ≥ o. Dieser Fall f¨ uhrt auf keine 1. Fall: z = o. Dann gilt w = q = −3ε L¨osung. 2. Fall: w = o. Dann betrachten wir das Tableau: z1 z2 q z1 z2 q 1 –1 –2ε 1 –1 −2ε 5 –5 −6ε 0 0 4ε Dieses lineare Gleichungssystem hat keine L¨ osung. 3. Fall: w1 = 0, z2 = 0. Dann betrachten wir das Tableau: z1 w2 q 1 0 −2ε 5 1 −6ε Es folgt z1 = −2ε und damit dann w2 = 4ε. Somit f¨ uhrt dieser Fall auf keine L¨osung. 4. Fall: z1 = 0, w2 = 0. Wir betrachten das Tableau: w1 z2 q 1 –1 −2ε 0 –5 −6ε Es folgt z2 = 65 ε und damit dann w1 = − 45 ε. Somit f¨ uhrt dieser Fall auf keine L¨osung. Aufgabe 1.2.3: Betrachtet wird LCP (q, M ) mit
12 −1 M= , q= . 10 0 uhrt auf keine L¨ osung. 1. Fall: z = o. Dann gilt w = q = −1 0 ≥ o. Dieser Fall f¨ 2. Fall: w = o. Dann gilt
1 1 0 0 −2 −1 z = −M −1 · q = · = . 0 2 −1 1 2 1 Somit ist w= eine L¨osung von LCP (q, M ).
0 , 0
z=
1 2
0 1
L¨ osungen der Aufgaben
231
3. Fall: w1 = 0, z2 = 0. Also betrachte das Tableau: z1 w2 q –1 0 –1 –1 1 0 Es folgt z1 = 1 und damit dann w2 = 1. Somit ist
0 1 w= , z= 1 0 eine L¨osung von LCP (q, M ). 4. Fall: z1 = 0, w2 = 0. Also betrachte das Tableau: w1 z2 q 1 –2 –1 0 0 0 Dieses lineare Gleichungssystem hat unendlich viele L¨ osungen. Wir k¨ onnen z2 = t mit t ≥ 0 w¨ahlen. Daraus folgt dann !
w1 = −1 + 2t ≥ 0. Somit ist f¨ ur jedes t ≥
1 2
w=
2t − 1 0
,
z=
0 t
eine L¨osung von LCP (q, M ). Aufgabe 1.2.4: program basisvariablenfelder; use mv_ari; function zweihoch(n:integer):integer; begin if n=0 then zweihoch:=1 else zweihoch:=2*zweihoch(n-1); end; procedure haupt(n,k:integer); var Y : rmatrix[1..k,1..n]; i,j,spalte,ende : integer; begin Y[1,1]:=1; Y[2,1]:=-1; spalte:=1; ende:=2;
232
L¨ osungen der Aufgaben
while spalte < n do begin {while} spalte:=spalte+1; {bisherige Daten uebertragen} for i:= ende+1 to 2*ende do for j:= 1 to spalte -1 do Y[i,j]:=Y[i-ende,j]; {letzte Spalte auffuellen} for i:= 1 to ende do Y[i,spalte]:=1; for i:= ende +1 to 2*ende do Y[i,spalte]:=-1; ende := 2*ende; end{while}; for i:= 1 to k do begin write(’( ’); for j:= 1 to n do if Y[i,j]=1 then write(’w’,j,’ ’) else write(’z’,j,’ ’); writeln(’)’); end; end;
var n,k : integer; begin writeln(’Geben Sie die Dimension ein !’); read(n); k:=zweihoch(n); haupt(n,k); end. Aufgabe 2.4.1: Es ist w ≥ o, z ≥ o ⎛ ⎞ ⎛ 3 0 q + M z = ⎝ −2 ⎠ + ⎝ 1 −3 −2
und ⎞ ⎛ ⎞ ⎛ ⎞ 0 −2 0 1 1 1 ⎠ · ⎝ 1 ⎠ = ⎝ 0 ⎠ = w. 3 0 1 0
osen w und z das LCP. Zuletzt gilt wT z = 0. Somit l¨
L¨ osungen der Aufgaben
233
F¨ ur den Lemke-Algorithmus ergibt sich allerdings w1 w2 w3 z1 z2 z3 z0 q (0) 1 0 0 0 0 2 –1
3
0 1 0 –1 –1 –1 –1 –2 0 0 1 2 –3 0 –1 –3 (0)
(0)
(0)
Es ist q3 = min qi . Somit ist t = 3 und das erste Pivotelement lautet a37 . 1≤i≤3
Nach einem Gauß–Jordan-Schritt erh¨ alt man (1)
(1)
(1)
BVF1 w1 w2 w3 z1 z2 z3 z0 q (1) qi /aij0 : aij0 > 0
w1
1 0 –1 –2 3 2 0
6
3
w2
0 1 –1 –3 2 –1 0
1
–
0 0 –1 –2 3 0 1
3
–
z0
(1) qt
Es ist > 0. w3 hat das Basisvariablenfeld verlassen. Somit wird j0 = 3 + 3 = 6. Als Pivotzeilenindex ergibt sich i0 = 1. Somit ist das zweite (1) Pivotelement a16 . Nach einem Gauß–Jordan-Schritt erh¨ alt man BVF2 w1 w2 w3 z1 z2 z3 z0 q (2) z3
1 2
0 − 12 –1
3 2
1 0
3
w2
1 2
1 − 32 –4
7 2
0 0
4
0 0 –1 –2 3 0 1
3
z0
(2)
Es ist qt > 0. w1 hat das Basisvariablenfeld verlassen. Somit wird j0 = 3 + 1 = 4. F¨ ur diese Pivotzeile gilt jedoch ⎛ ⎞ −1 (2) A·j0 = ⎝ −4 ⎠ < o. −2 Daher endet der Lemke-Algorithmus durch Ray-Termination. Aufgabe 2.4.2: Es ist w ≥ o, z ≥ o und ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ −5 2 3 1 2 q + M z = ⎝ 1 ⎠ + ⎝ −2 0 3 ⎠ · ⎝ 0 ⎠ = o = w. −9 4 −2 1 1 osen w, z das LCP. Wegen wT z = 0 l¨
234
L¨ osungen der Aufgaben
Der Lemke-Algorithmus liefert allerdings w1 w2 w3 z1 z2 z3 z0 q (0) 1 0 0 –2 –3 –1 –1 –5 0 1 0
2 0 –3 –1
1
0 0 1 –4 2 –1 –1 –9 (0)
(0)
(0)
Es ist q3 = min qi . Somit ist t = 3 und das erste Pivotelement lautet a37 . 1≤i≤3
Nach einem Gauß–Jordan-Schritt erh¨ alt man (1)
(1)
(1)
BVF1 w1 w2 w3 z1 z2 z3 z0 q (1) qi /aij0 : aij0 > 0
w1
1 0 –1 2 –5 0 0
4
–
w2
0 1 –1 6 –2 –2 0 10
–
0 0 –1 4 –2 1 1
9
z0
9
(1)
Es ist qt > 0. w3 hat das Basisvariablenfeld verlassen. Somit wird j0 = 3 + 3 = 6. Als Pivotzeilenindex ergibt sich i0 = 3. Somit wird z0 das Basisvariablenfeld verlassen. Nach einem Gauß–Jordan-Schritt erh¨alt man BVF2 w1 w2 w3 z1 z2 z3 z0 q (2)
Somit bilden
w1
1 0 * * * 0 *
w2
0 1 * * * 0 * 28
0 0 * * * 1 *
z3 ⎛
⎞ 4 w = ⎝ 28 ⎠ 0
4
9
⎛ ⎞ 0 und z = ⎝ 0 ⎠ 9
eine L¨osung von LCP (q, M ). Aufgabe 2.4.3: Wir betrachten das LCP (q, M ) mit ⎛ ⎞ ⎛ ⎞ 120 −1 M = ⎝ 0 1 2 ⎠ , q = ⎝ −1 ⎠ . 201 −1
L¨ osungen der Aufgaben
235
Der Lemke-Algorithmus beginnt mit w1 w2 w3 z1 z2 z3 z0 q (0) 1 0 0 –1 –2 0 –1 –1 0 1 0 0 –1 –2 –1 –1 0 0 1 –2 0 –1 –1 –1 (0)
Es ist min qi 1≤i≤3
nicht eindeutig bestimmt. Wie in der Aufgabenstellung (0)
erw¨ unscht, w¨ahlen wir den kleinsten Index. Somit ist t = 1 und a17 wird Pivotelement. Nach einem Gauß–Jordan-Schritt erh¨ alt man (1)
(1)
(1)
BVF1 w1 w2 w3 z1 z2 z3 z0 q (1) qi /aij0 : aij0 > 0
z0 –1 0 0 1 2 0 1
1
1
w2 –1 1 0 1 1 –2 0
0
0
w3 –1 0 1 –1 2 –1 0
0
–
(1)
Es ist qt > 0. w1 hat das Basisvariablenfeld verlassen. Somit wird j0 = 3 + 1 = 4. Der Pivotzeilenindex ist durch (2.12) eindeutig definiert. Es ist (1) i0 = 2. Somit wird a24 Pivotelement und nach einem Gauß–Jordan-Schritt erh¨alt man (2)
(2)
(2)
BVF2 w1 w2 w3 z1 z2 z3 z0 q (2) qi /aij0 : aij0 > 0
z0
0 –1 0 0 1 2 1
1
1
z1 –1 1 0 1 1 –2 0
0
0
w3 –2 1 1 0 3 –3 0
0
0
(2) qt
Es ist > 0. w2 hat das Basisvariablenfeld verlassen. Somit wird j0 = 3 + 2 = 5. Diesmal ist der Pivotzeilenindex nicht eindeutig durch (2.12) bestimmt. Wie in der Aufgabenstellung erw¨ unscht, w¨ahlen wir den kleinsten Index, der (2) (2.12) erf¨ ullt. Somit ist i0 = 2 und es wird a25 Pivotelement. Nach einem Gauß–Jordan-Schritt erh¨ alt man (3)
(3)
(3)
BVF3 w1 w2 w3 z1 z2 z3 z0 q (3) qi /aij0 : aij0 > 0
z0
1 –2 0 –1 0 4 1
1
1
z2 –1 1 0 1 1 –2 0
0
–
w3
1 –2 1 –3 0 3 0
0
0
236
L¨ osungen der Aufgaben (3)
Es ist qt > 0. z1 hat das Basisvariablenfeld verlassen. Somit wird j0 = 1. Der Pivotzeilenindex ist durch (2.12) eindeutig definiert. Es ist i0 = 3. Somit (3) alt man wird a31 Pivotelement und nach einem Gauß–Jordan-Schritt erh¨ (4)
(4)
(4)
BVF4 w1 w2 w3 z1 z2 z3 z0 q (4) qi /aij0 : aij0 > 0
z0
0 0 –1 2 0 1 1
1
1
z2
0 –1 1 –2 1 1 0
0
0
w1
1 –2 1 –3 0 3 0
0
0
(4)
Es ist qt > 0. w3 hat das Basisvariablenfeld verlassen. Somit wird j0 = 3 + 3 = 6. Wiederum ist der Pivotzeilenindex nicht eindeutig durch (2.12) bestimmt. Wie in der Aufgabenstellung erw¨ unscht, w¨ahlen wir den kleinsten (4) Index, der (2.12) erf¨ ullt. Somit ist i0 = 2 und es wird a26 Pivotelement. Nach einem Gauß–Jordan-Schritt erh¨ alt man (5)
(5)
(5)
BVF5 w1 w2 w3 z1 z2 z3 z0 q (5) qi /aij0 : aij0 > 0
z0
0 1 –2 4 –1 0 1
1
1
z3
0 –1 1 –2 1 1 0
0
–
w1
1 1 –2 3 –3 0 0
0
0
(5)
Es ist qt > 0. z2 hat das Basisvariablenfeld verlassen. Somit wird j0 = 2. Der Pivotzeilenindex ist durch (2.12) eindeutig definiert. Es ist i0 = 3. Somit (5) wird a32 Pivotelement und nach einem Gauß–Jordan-Schritt erh¨ alt man (6)
(6)
(6)
BVF6 w1 w2 w3 z1 z2 z3 z0 q (6) qi /aij0 : aij0 > 0
z0 –1 0 0 1 2 0 1
1
1
z3
1 0 –1 1 –2 1 0
0
0
w2
1 1 –2 3 –3 0 0
0
0
(6)
Es ist qt > 0. w1 hat das Basisvariablenfeld verlassen. Somit wird j0 = 3 + 1 = 4. Wiederum ist der Pivotzeilenindex nicht eindeutig durch (2.12) bestimmt. Wie in der Aufgabenstellung erw¨ unscht, w¨ahlen wir den kleinsten (6) Index, der (2.12) erf¨ ullt. Somit ist i0 = 2 und es wird a24 Pivotelement.
L¨ osungen der Aufgaben
237
Nach einem Gauß–Jordan-Schritt erh¨ alt man (7)
(7)
(7)
BVF7 w1 w2 w3 z1 z2 z3 z0 q (7) qi /aij0 : aij0 > 0
z0 –2 0 1 0 4 –1 1
1
1
z1
1 0 –1 1 –2 1 0
0
–
w2 –2 1 1 0 3 –3 0
0
0
(7)
Es ist qt > 0. z3 hat das Basisvariablenfeld verlassen. Somit wird j0 = 3. Der Pivotzeilenindex ist durch (2.12) eindeutig definiert. Es ist i0 = 3. Somit (7) wird a33 Pivotelement und nach einem Gauß–Jordan-Schritt erh¨ alt man (8)
(8)
(8)
BVF8 w1 w2 w3 z1 z2 z3 z0 q (8) qi /aij0 : aij0 > 0
z0
0 –1 0 0 1 2 1
1
1
z1 –1 1 0 1 1 –2 0
0
0
w3 –2 1 1 0 3 –3 0
0
0
Es ist also BVF2 = BVF8 , und die Basisvariablenfelder wiederholen sich ab jetzt. Es gilt BVFk+6 = BVFk , k ≥ 2. Es kommt zu einem Zyklus und der Lemke-Algorithmus terminiert somit nicht. Aufgabe 2.4.4: Es sei qt =
min
1≤i≤m+n
qi . Wegen q ≥ o gilt dann qt < 0, wobei
t nicht eindeutig definiert zu sein braucht. 1. Fall: t ∈ {1, ..., m}. Dann erh¨ alt man aus dem Tableau
O −A (0) (0) (0) −e q (A | q ) = E·1 · · · E·m+n −B O (0)
nach einem Gauß–Jordan-Schritt mit Pivotelement at m+n+1 das Tableau
O ∗ E·t q (1) E·1 · · · E·t−1 −e E·t+1 · · · E·m+n −B ∗ und das Basisvariablenfeld BVF1 = ( w1 , ..., wt−1 , z0 , wt+1 , ..., wm+n ).
O Pi−B votspalte. Wegen B ≥ O endet der Lemke-Algorithmus in Ray-Termination. Wegen t ∈ {1, ..., m} wird eine Spalte aus der Blockmatrix
238
L¨ osungen der Aufgaben
2. Fall: t ∈ {m + 1, ..., m + n}. Dann erh¨ alt man aus dem Tableau (A(0) | q (0) ) =
E·1 · · · E·m+n
O −A −e q (0) −B O
(0)
nach einem Gauß–Jordan-Schritt mit Pivotelement at m+n+1 das Tableau
∗ −A E·1 · · · E·t−1 −e E·t+1 · · · E·m+n E·t q (1) ∗ O und das Basisvariablenfeld BVF1 = ( w1 , ..., wt−1 , z0 , wt+1 , ..., wm+n ).
−A Wegen t ∈ {m + 1, ..., m + n} wird eine Spalte aus der Blockmatrix O Pivotspalte. Wegen A ≥ O endet der Lemke-Algorithmus durch Ray-Termination. Aufgabe 2.4.5: Mit BVF1 = ( w1 , . . . , wt−1 , z0 , wt+1 , . . . , wn ) wird zt ∈ BVF2 gelten. F¨ ur zt wird ein wi , i ∈ {1, ..., n}, i = t das ussen. Dann wird zi ∈ BVF3 gelten. Basisvariablenfeld BVF1 verlassen m¨ Somit gilt BVF1 = BVF3 . Aufgabe 2.5.1: x1 x2 x3 b
E .. 0 2 –1 2 . 1 0 0
x1 x2 x3 . 0 2 –1 2 .. 1 0 0
. . 1 2 0 4 .. 0 1 0 1 2 0 4 .. 0 1 0 . 2 1 4 5 .. 0 0 1
. 0 –3 4 –3 .. 0 –2 1
x1 x2 x3
x1 x2 x3
0 0
5 3
. 0 .. 1 − 34
1 0
8 3
. 2 .. 0 − 31
. 0 1 − 34 1 .. 0
2 3
2 3 2 3
− 13
. 0 0 1 0 ..
3 5
− 54
2 5
. 1 0 0 2 .. − 85
9 5
− 25
− 52
1 5
. 0 1 0 1 ..
4 5
L¨ osungen der Aufgaben
Somit ist
⎛ ⎞ 2 x∗ = ⎝ 1 ⎠ 0
und
A−1
239
⎛ ⎞ −8 9 −2 1⎝ 4 −2 1 ⎠ . = 5 3 −4 2
Aufgabe 2.6.1: Wir betrachten LCP (q, M ) mit
21 −1 M= und q = . 01 0 Es ist q ≥ o und min{q1 , q2 } = min{−1} = −1. Der erste Pivotzeilenindex lautet t = 1. Wir erhalten
−1 0 2 1 1 1 ( A(1) | q (1) ) = −1 1 2 0 0 1 (0)
nach einem Gauß–Jordan-Schritt mit Pivotelement a15 . Von jetzt an betrachten wir die erweiterten Tableaus. Als erstes erweitertes Tableau erhalten wir . BVF1 w1 w2 z1 z2 z0 (q (1) .. (B (1) )−1 ) . z0 –1 0 2 1 1 1 .. 1 0
. w2 –1 1 2 0 0 1 .. 0
1
w1 hat das Basisvariablenfeld verlassen. Daher ist j0 = 2 + 1 = 3 der neue Pivotspaltenindex. Die Indizes, f¨ ur die in (2.12) das Minimum angenommen werden, lauten J = {1, 2}. Es ist t = 1 ∈ J. Daher w¨ ahlen wir i0 = 1. Nach (1) einem Gauß–Jordan-Schritt mit Pivotelement a13 erh¨alt man BVF2 w1 w2 z1 z2 z0
z1 − 12 0 1
w2
0
1 2
1 2
1 2
.. .
1 2
0
. 1 0 –1 –1 0 .. –1 1
Man erh¨ alt, dass w = o und
1 z= 2
1 0
LCP (q, M ) l¨ osen. Aufgabe 2.6.2: Wir betrachten LCP (q, M ) mit ⎛ ⎞ ⎛ ⎞ 2 00 −1 M = ⎝ −3 1 0 ⎠ und q = ⎝ 1 ⎠ . −3 −1 2 1
240
L¨ osungen der Aufgaben
Es ist q ≥ o und min{q1 , q2 , q3 } = min{−1} = −1. Der erste Pivotzeilenindex lautet t = 1. Wir erhalten ⎛ ⎞ −1 0 0 2 0 0 1 1 ( A(1) | q (1) ) = ⎝ −1 1 0 5 −1 0 0 2 ⎠ −1 0 1 5 1 −2 0 2 (0)
nach einem Gauß–Jordan-Schritt mit Pivotelement a17 . Das Basisvariablenfeld lautet BVF1 = ( z0 , w2 , w3 ). Von jetzt an betrachten wir die erweiterten Tableaus. Als erstes erweitertes Tableau erhalten wir . BVF1 w1 w2 w3 z1 z2 z3 z0 (q (1) .. (B (1) )−1 ) . z0 –1 0 0 2 0 0 1 1 .. 1 0 0
. w2 –1 1 0 5 –1 0 0 2 .. 0
1
0
. w3 –1 0 1 5 1 –2 0 2 .. 0
0
1
w1 hat das Basisvariablenfeld verlassen. Daher ist j0 = 3 + 1 = 4 der neue Pivotspaltenindex. Die Indizes, f¨ ur die in (2.12) das Minimum angenommen werden, sind vereinigt in J = {2, 3}. Es ist t = 1 ∈ J und das lexikographische Minimum von 1 1 2100 , 2010 V := 5 5 ist der zweite Zeilenvektor. Daher ist i0 = 3. Nach einem Gauß–Jordan-Schritt (1) mit Pivotelement a34 erh¨alt man . BVF2 w1 w2 w3 z1 z2 z3 z0 (q (2) .. (B (2) )−1 ) . z0 − 53 0 − 52 0 − 52 45 1 15 .. 1 0 − 25
w2
0
. 1 –1 0 –2 2 0 0 .. 0
1
–1
.. .0
0
1 5
z1 − 51 0
1 5
1
1 5
− 25 0
2 5
w3 hat das Basisvariablenfeld verlassen. Daher ist j0 = 3 + 3 = 6 der neue Pivotspaltenindex. Mit (2.12) erh¨ alt man i0 = 2.
L¨ osungen der Aufgaben
241
(2)
Nach einem Gauß–Jordan-Schritt mit Pivotelement a26 erh¨alt man . BVF3 w1 w2 w3 z1 z2 z3 z0 (q (3) .. (B (3) )−1 ) . z0 − 35 − 25 0 0 25 0 1 15 .. 1 − 52 0
z3
z1 − 15
1 2
0
. − 12 0 –1 1 0 0 .. 0
1 5
0 1 − 15 0 0
2 5
.. .0
1 2
− 12
1 5
0
w2 hat das Basisvariablenfeld verlassen. Daher ist j0 = 3 + 2 = 5 der neue (3) Pivotspaltenindex. Da in der Pivotspalte lediglich a15 > 0 gilt, ist i0 = 1. (3) Nach einem Gauß–Jordan-Schritt mit Pivotelement a15 wird z0 das Basisvariablenfeld verlassen und der Algorithmus ist zu Ende. Man erh¨ alt . BVF4 w1 w2 w3 z1 z2 z3 z0 (q (4) .. (B (4) )−1 ) . z2 –6 –1 0 0 1 0 52 12 .. 52 –1 0 –6 − 12 − 21 0 0 1
z3
z1 − 57 0
Man erh¨ alt, dass
0 1 0 0
5 1 2 2 1 1 2 2
.. . .. .
5 2
− 12 − 21
1 2
0
0
⎛ ⎞ 1 1⎝ ⎠ w = o und z = 1 2 1
LCP (q, M ) l¨ osen. Aufgabe 2.6.3: Es ist (B (1) )−1 = E, ⎞ ⎞ ⎛ ⎛ 1 − 12 0 1 −1 0 ⎟ ⎟ ⎜ ⎜ (B (2) )−1 = ⎝ 0 14 0 ⎠ , (B (3) )−1 = ⎝ 0 13 0 ⎠ , 0 ⎛
1 2
1 −1 0
⎜ (B (4) )−1 = ⎝ 0 − 12 0
1 2 − 52 32 n
0 − 53 1
1 ⎞ ⎟ ⎠,
⎛
1
⎜ (B (5) )−1 = ⎝ 0
1 2
0
0 − 21
9 − 10 1 5 3 10
⎞ ⎟ ⎠.
Aufgabe 3.1.1: Es sei x ∈ R , x = o. Da M eine P-Matrix ist, existiert nach Satz 3.1.1 ein Index i0 ∈ {1, ..., n} mit xi0 (M · x)i0 > 0.
242
L¨ osungen der Aufgaben
Es ist xi0 ((E − D + DM ) · x)i0 = (1 − di0 ) · x2i0 + di0 xi0 (M · x)i0 . F¨ ur di0 = 0 ist (1 − di0 ) · x2i0 + di0 xi0 (M · x)i0 = x2i0 > 0, da wegen xi0 (M · x)i0 > 0 insbesondere xi0 = 0 gelten muss. alt man dann F¨ ur di0 ∈ (0, 1] erh¨ (1 − di0 ) · x2i0 + di0 xi0 (M · x)i0 > 0.
≥0
>0
Wiederum mit Satz 3.1.1 folgt, dass dann E − D + DM eine P-Matrix ist. Aufgabe 3.1.2: Man erh¨ alt die folgende Abbildung: x2 6 ' x1
=
Das bedeutet:
a) Die vier komplement¨ aren Kegel u ¨ berdecken den R2 . Daher ist LCP (q, M ) 2 f¨ ur jedes q ∈ R l¨ o sbar. aren Kegeln. b) q = −4 −5 liegt in der Schnittmenge von genau drei komplement¨ Daher hat LCP (q, M ) genau drei L¨ osungen. Aufgabe 3.1.3: Induktionsanfang: i = 1. Es bezeichne s :=
n
2j .
j=1
Dann ist s = 2s − s =
n
2j+1 −
j=1
Somit ist 2n+1 −
n
n
2j = 2n+1 − 2.
j=1
2j = 21 .
j=1
Induktionsschluss: i i + 1. 2n+1 −
n j=i+1
2j = 2n+1 −
n j=i
2j + 2i = 2i + 2i = 2 · 2i = 2i+1 .
L¨ osungen der Aufgaben
243
Setzt man μ := 2n+1 − λ, so folgt ⎛ ⎞ n − 2j ⎜ j=1 ⎟ ⎜ ⎟ ⎛ ⎞ ⎜ ⎟ .. 2 ⎜ ⎟ . ⎜ ⎟ 2⎟ ⎜ n 2 ⎜ j⎟ ⎟ ⎟ + (2n+1 − λ) · e = ⎜ 2 − q+μ·e = ⎜ ⎟ − λ · e = p − λ · e. ⎜ . ⎜ j=i ⎟ . ⎝ . ⎠ ⎜ ⎟ ⎜ ⎟ .. 2n ⎜ ⎟ . ⎜ ⎟ n ⎝ ⎠ 2j − j=n
Aufgabe 3.1.4: Das Basisvariablenfeld, welches zur eindeutigen L¨ osung geh¨ ort, wird in Satz 3.1.6 rekursiv in Abb. 3.4 bestimmt. Es lautet w1 , ..., wn−1 , zn . Wir betrachten somit das lineare Gleichungssystem ⎛ ⎞ ⎛ n ⎞ 1 0 · · · 0 −2 −2 − 2n−1 − · · · − 2 ⎜ .⎟ ⎜ ⎟ .. ⎜0 1 0 .. ⎟ ⎟ . ⎜ ⎟x = ⎜ ⎜ ⎟. ⎜. . . ⎟ n n−1 ⎝ ⎠ . . . −2 − 2 ⎝ . . . 1 −2 ⎠ n −2 0 · · · · · · 0 −1 Es ergibt sich xn = 2n und f¨ ur i ∈ {n − 1, ..., 1} xi = −
n j=i
2j + 2xn = 2n+1 −
n
2j = 2i .
j=i
Siehe Aufgabe 3.1.3. Es bilden dann ⎛ ⎞ ⎛ ⎞ 2 0 ⎜ 22 ⎟ ⎜ .. ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ w = ⎜ ... ⎟ und z = ⎜ . ⎟ ⎜ ⎟ ⎝ 0 ⎠ ⎝ 2n−1 ⎠ 2n 0 die eindeutige L¨ osung von LCP (q, M ). Aufgabe 3.1.5: Wir setzen A˜ := A + AT . Dann gilt ˜ = xT Ax + xT AT x = xT Ax + (Ax)T x = 2xT Ax xT Ax f¨ ur alle x ∈ Rn . D.h. A ist genau dann positiv definit, wenn A˜ positiv definit ist. Da A˜ symmetrisch ist, reicht es, die drei f¨ uhrenden Hauptminoren von A˜ zu betrachten.
244
L¨ osungen der Aufgaben
Es ist ⎛
⎞ ⎛ 211 20 A˜ = ⎝ 0 4 2 ⎠ + ⎝ 1 4 112 12 Es ist
det(4) = 4 > 0,
det
41 18
⎞ ⎛ ⎞ 1 412 1⎠ = ⎝1 8 3⎠. 2 234
= 31 > 0,
det A˜ = 68 > 0.
Aufgabe 3.1.6: a) Ist λ ∈ R ein Eigenwert von A, so existiert ein Vektor x ∈ Rn , x = o mit Ax = λx. Da x = o und A eine P-Matrix ist, gilt nach Satz 3.1.1 max xi (A · x)i > 0 1≤i≤n
bzw.
max λx2i > 0.
1≤i≤n
Somit ist λ > 0. b) A ist eine P-Matrix, da aii = 1, i = 1, ..., 3, det A = 70,
1 −1 10 1 −17 det = 2, det = 1, det = 1. 1 1 41 0 1 F¨ ur die Eigenwerte ergibt sich !
p(λ) = det(A − λE) = −λ3 + 3λ2 − 4λ + 70 = 0. Mit dem Hinweis und Polynomdivision erh¨ alt man λ3 − 3λ2 + 4λ − 70 = (λ − 5)(λ2 + 2λ + 14). √ Außer λ1 = 5 sind also auch noch λ2,3 = −1 ± 13i zwei Eigenwerte von A. Letztere haben einen negativen Realteil. Aufgabe 3.1.7: Ohne Einschr¨ ankung sei A eine untere Dreiecksmatrix. Somit ist ⎞ ⎛ a11 0 · · · 0 ⎜ . ⎟ ⎜ a21 a22 0 .. ⎟ ⎟. ⎜ A=⎜ . ⎟ ⎝ .. · · · . . . 0 ⎠ an1 · · · · · · ann Wir setzen u1 :=
1 |a11 |
L¨ osungen der Aufgaben
245
und dann rekursiv f¨ ur i = 2, ..., n
ui :=
i−1
|aij | · uj + 1 /|aii |.
j=1
Dann ist (3.29) erf¨ ullt und A eine H-Matrix. Aufgabe 3.3.1: Da M eine P-Matrix ist, existiert M −1 und LCP (q, M ) hat nach Satz 3.1.2 genau eine L¨ osung f¨ ur jedes q ∈ Rn . Ist z die L¨ osung von LCP (q, M ), so gilt z ≥ o und qi + mii zi +
n j=1,j=i
mij zj ≥ 0,
i = 1, ..., n.
≤0
D.h. aus qi < 0 folgt zi > 0 bzw. q < o ⇒ z > o ⇒ q + M z = o. Dies bedeutet
q < o ⇒ o < z = −M −1 q.
Es sei nun M −1 = (βij ). Angenommen es gelte M −1 ≥ O. Dann existieren i0 , j0 ∈ {1, ..., n} mit βi0 j0 < 0. Dann setzen wir f¨ ur j = 1, ..., n ⎧ ⎪ ⎪ ⎨ qj :=
−1
1 ⎪ ⎪ ⎩ βi j (1 + 0 0
n
falls j = j0 , |βi0 j |) falls j = j0 .
j=1, j=j0
Somit ist q < o und die L¨ osung von LCP (q, M ) lautet w = o, z = −M −1 q mit z > o. Allerdings gilt f¨ ur die i0 -te Komponente 0 < zi0 = −
n
βi0 j · qj = −βi0 j0 qj0 +
βi0 j
j=1, j=j0
j=1
= −(1 +
n
n j=1, j=j0
|βi0 j |) +
n
βi0 j < 0.
j=1, j=j0
Dies ist ein Widerspruch. Daher gilt M −1 ≥ O. Aufgabe 3.4.1 Da A eine M-Matrix ist, existiert nach Lemma 3.4.1 ein Vektor u > o mit Au > o. Wegen A ≤ B folgt dann o < Au ≤ Bu.
246
L¨ osungen der Aufgaben
Da B eine Z-Matrix ist, folgt wiederum mit Lemma 3.4.1, dass B eine MMatrix ist. * + Aufgabe 3.4.2 Da A eine H-Matrix ist, ist wegen Bemerkung 3.4.1 A eine * +−1 ≥ O. Mit D := diag(a11 , ..., ann ) und B := D −A M-Matrix. Daher ist A * + −1 ist A = |D| − |B| und |D| ≥ O. Mit den Lemmata A.1.7 und A.2.1 folgt dann ρ(D−1 B) ≤ ρ(|D|−1 |B|) < 1. Mit Lemma A.1.8 folgt dann schließlich ∞ |A−1 | = |(D − B)−1 | = |(E − D−1 B)−1 D−1 | = (D−1 B)k D−1 ≤
∞
k=0
* +−1 (|D|−1 |B|)k |D|−1 = (E − |D|−1 |B|)−1 |D|−1 = A .
k=0
Aufgabe 3.4.3 Da u die L¨ osung von LCP (q, M ) ist, gilt insbesondere u ≥ o. ˜ = (m Wir definieren := {i : ui = 0} und damit M ˜ ij ) sowie q˜ = (˜ qi ) durch ⎧ ⎪ ⎨ mij falls i ∈ , q i falls i ∈ , falls i ∈ und j = i, q˜i := m ˜ ij := 0 ⎪ 0 falls i ∈ , ⎩ mii falls i ∈ und j = i, i, j = 1, ..., n. F¨ ur n = 5 und = {2, 4} ist zum Beispiel ⎛ ⎞ ⎛ ⎞ m11 m12 m13 m14 m15 q1 ⎜0⎟ ⎜ 0 m22 0 ⎟ 0 0 ⎜ ⎟ ⎜ ⎟ ˜ = ⎜ m31 m32 m33 m34 m35 ⎟ , q˜ = ⎜ q 3 ⎟ . M ⎜ ⎟ ⎜ ⎟ ⎝0⎠ ⎝ 0 0 0 m44 0 ⎠ m51 m52 m53 m54 m55 q5 Wir werden nun zeigen, dass ˜ u = o ≤ q˜ + M ˜v q˜ + M gilt. 1. Fall: i ∈ . Dann ist ˜ u)i = 0 ≤ mii vi = (˜ ˜ v)i . (˜ q+M q+M 2. Fall: i ∈ . Dann ist qi +
n j=1
mij uj = 0 ≤ q i +
n j=1
mij vj ≤ q i +
n
mij vj .
j=1
˜ , M ist eine M-Matrix und M ˜ ist eine Z-Matrix. Nach Aufgabe Es ist M ≤ M ˜ dann auch eine M-Matrix. Aus q˜+ M ˜ u ≤ q˜+ M ˜ v folgt dann u ≤ v. 3.4.1 ist M
L¨ osungen der Aufgaben
247
Aufgabe 4.1.1: Ist (ˆ x, yˆ) ein Nash-Gleichgewicht, so gilt x ˆT Aˆ y ≤ xT Aˆ y f¨ ur alle x ∈ S 2 und
ˆT By x ˆT B yˆ ≤ x
f¨ ur alle y ∈ S 2 .
Man erh¨ alt f¨ ur alle x ∈ S 2 5ˆ x1 yˆ1 + 10ˆ x2 yˆ1 + x ˆ2 yˆ2 ≤ 5x1 yˆ1 + 10x2 yˆ1 + x2 yˆ2 bzw. 5(ˆ x1 − x1 )ˆ y1 + 10(ˆ x2 − x2 )ˆ y1 + (ˆ x2 − x2 )ˆ y2 ≤ 0 und somit 5(ˆ x1 − x1 )ˆ y1 + (ˆ x2 − x2 )(10ˆ y1 + yˆ2 ) ≤ 0. Wir nehmen an, es sei x ˆ2 = 0. Dann w¨ ahlen wir x1 = 1, x2 = 0 und erhalten y1 + (10ˆ y1 + yˆ2 )ˆ x2 ≥ 5(ˆ x1 − 1)ˆ y1 + (5ˆ y1 + yˆ2 )ˆ x2 5(ˆ x1 − 1)ˆ = 5(ˆ x1 + x ˆ2 )ˆ y1 − 5ˆ y1 + x ˆ2 yˆ2 =x ˆ2 yˆ2 ≥ 0. Dabei kann wegen yˆ = o mindestens ein ≥-Zeichen durch ein >-Zeichen ersetzt werden. Dies f¨ uhrt zu einem Widerspruch. Somit gilt xˆ2 = 0 und es folgt x ˆ1 = 1. Setzen wir dieses Zwischenergebnis ein, so erh¨ alt man y2 ≤ 5y1 + 10y2 5ˆ y1 + 10ˆ bzw. 5ˆ y2 ≤ 5y2
f¨ ur jedes y ∈ S 2
f¨ ur jedes y ∈ S 2 .
Hieraus folgt sofort yˆ2 = 0 und somit yˆ1 = 1. Es existiert somit h¨ ochstens ein Nash-Gleichgewicht; und zwar
1 1 (ˆ x, yˆ) mit x ˆ= und yˆ = . 0 0 Nach Satz 4.1.1 existiert mindestens ein Nash-Gleichgewicht. Somit existiert genau dieses Nash-Gleichgewicht. Aufgabe 4.1.2: F¨ ur jedes x ∈ S m gilt xT AE·j0 = xT A·j0 =
m i=1
xi aij0 ≥ ai0 j0
m i=1
xi = ai0 j0 = E·iT0 AE·j0 .
248
L¨ osungen der Aufgaben
F¨ ur jedes y ∈ S n gilt E·iT0 By = −E·iT0 Ay = −Ai0 · y = −
n
ai0 j yj ≥ −ai0 j0 = E·iT0 BE·j0 .
j=1
Aufgabe 4.1.3: Es ist A > O und B > O. Daher addieren wir zu jedem Element eine Zahl, damit die Matrizen dann elementweise positiv sind. Gem¨aß Lemma 4.1.2 hat dies keine Auswirkung auf die Bestimmung eines NashGleichgewichts. Wir haben willk¨ urlich 4 zu jedem Element addiert. Dann haben wir das Anfangstableau w1 w 2 w 1 w2 z 1 z 2 z 1 z 2 q (0) 1 0 0 1 O
−9 −4 −1 −14 −5 −1 1 0 −9 −4 −1 O 0 1 −14 −5 −1 O
O
und das Basisvariablenfeld BVF0 = ( w 1 , w 2 , w1 , w 2 ). Es ist K = {1}, was dann t = 1 bedeutet, und es wird ein Gauß–Jordanuhrt. Man erh¨ alt Schritt mit Pivotelement b11 durchgef¨ w1 w2 w1 w2 z 1 z 2 z 1 z 2 -9 −4 −1
1 0 O
0 1 O
O
− 91 0 1
− 14 9 1 0
−14 −5 −1
4 9 11 9
1 9 5 9
O
und das Basisvariablenfeld BVF 12 = ( w 1 , w2 , z 1 , w2 ). Es hat w 1 das Basisvariablenfeld verlassen. Daher wird 4 + 2 + 1 = 7 die n¨ achste Pivotspalte. Es ist L = {1}. Somit ist v = 1 und es wird ein Gauß– Jordan-Schritt mit Pivotelement a11 durchgef¨ uhrt. Man erh¨ alt w 1 w2 w 1 w 2 z 1 z 2 z 1 z 2 q (1) 1 9 − 14 9
−
O
0 1
1 O − 19 − 14 9
O 0 1 1 0
4 9 11 9
0
4 9 11 9
O
1 9 5 9 1 9 5 9
L¨ osungen der Aufgaben
249
und das Basisvariablenfeld BVF1 = ( z 1 , w2 , z 1 , w 2 ). Es hat w 1 das Basisvariablenfeld verlassen. Somit erh¨alt man als L¨ osung des LCP ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ w1 z1 0 1 ⎜ w2 ⎟ 1 ⎜ 5 ⎟ ⎜ z2 ⎟ 1 ⎜ 0 ⎟ ⎜ ⎟ ⎜ ⎟ ⎟ ⎜ ⎟ w=⎜ ⎝ w1 ⎠ = 9 ⎝ 0 ⎠ , z = ⎝ z 1 ⎠ = 9 ⎝ 1 ⎠ . w2 z2 5 0 Mit Satz 4.1.2 ist dann
(ˆ x, yˆ) =
z
,
z
T eT 2 z e2 z
=
1 1 , 0 0
ein Nash-Gleichgewicht. Aufgabe 4.1.4: Wir verwenden das folgende in PASCAL-XSC geschriebene Programm. Dabei werden die Ideen aus Abschnitt 1.2 verwendet, alle L¨ osungen eines LCP zu berechnen. program zwei_loesungen_finden; use i_ari, mvi_ari, mv_ari, matinv; function zweihoch(n:integer):integer; begin if n=0 then zweihoch:=1 else zweihoch:=2*zweihoch(n-1); end; procedure haupt(n,k,mklein,nklein:integer); var Y : rmatrix[1..k,1..n]; i,j,lauf, spalte,ende : integer; C,M,R, Einheit : rmatrix[1..n,1..n]; q : rvector[1..n]; Err : integer; weiter : boolean; x,w,z : rvector[1..n]; xdach : rvector[1..mklein]; ydach : rvector[1..nklein]; A,B : rmatrix[1..mklein,1..nklein]; summe : real; begin writeln(’Matrixelemente von A zeilenweise eingeben’); for i:= 1 to mklein do for j:= 1 to nklein do read(A[i,j]);
250
L¨ osungen der Aufgaben
writeln(’Matrixelemente von B zeilenweise eingeben’); for i:= 1 to mklein do for j:= 1 to nklein do read(B[i,j]); M:=0; for i:=1 to mklein do for j:=mklein +1 to n do M[i,j]:= A[i,j-mklein]; for i:=mklein+1 to n do for j:=1 to mklein do M[i,j]:= B[j,i-mklein]; Einheit:=id(M); q:=-1; Y[1,1]:=1; Y[2,1]:=-1; spalte:=1; ende:=2; while spalte < n do begin {while} spalte:=spalte+1; {bisherige Daten uebertragen} for i:= ende+1 to 2*ende do for j:= 1 to spalte -1 do Y[i,j]:=Y[i-ende,j]; {letzte Spalte auffuellen} for i:= 1 to ende do Y[i,spalte]:=1; for i:= ende +1 to 2*ende do Y[i,spalte]:=-1; ende := 2*ende; end{while}; for i:= 1 to k do begin for j:= 1 to n do if Y[i,j]=1 then C[*,j]:=Einheit[*,j] else C[*,j]:=-M[*,j]; MatInv(C,R,Err); {wir benutzen das vordefinierte Modul Matinv} {zur Invertierung einer Matrix} if Err=0 then
L¨ osungen der Aufgaben
begin {C ist dann nichtsingulaer} x:= R*q; w:=0; z:=0; weiter:=true; lauf:=1; while weiter and (lauf <= n) do if x[lauf]<0 then weiter:=false else lauf:=lauf+1; if weiter then begin for j := 1 to n do if Y[i,j]=1 then w[j]:=x[j] else z[j]:=x[j]; writeln(’Eine Loesung lautet:’); writeln(’w=’); writeln(w); writeln(’z=’); writeln(z); summe:=0; for j:= 1 to mklein do summe:=summe +z[j]; for j:= 1 to mklein do xdach[j]:= z[j]/summe; summe:=0; for j:= mklein +1 to n do summe:=summe +z[j]; for j:= 1 to nklein do ydach[j]:= z[mklein+j]/summe; writeln(’xdach=’); writeln(xdach); writeln(’ydach=’); writeln(ydach); end; end; end;{for i=...} end; var n,k,mklein,nklein : integer; begin writeln(’Geben Sie m ein !’); read(mklein); writeln(’Geben Sie n ein !’); read(nklein); n:=mklein+nklein;
251
252
L¨ osungen der Aufgaben
k:=zweihoch(n); haupt(n,k,mklein,nklein); end. Bei Eingabe der Daten 4 5 1 2 3 4 3 8 7 8 4 2 8 16 9 4 6 3 7 9 21 2 12 7 5 9 2 3 7 9 11 7 3 1 7 1 2 7 8 3 6 9 erh¨alt man innerhalb von zwei Zehntelsekunden: Eine Loesung lautet: w= 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 4.250000000000000E+000 2.000000000000000E+000 0.000000000000000E+000 6.000000000000000E+000 0.000000000000000E+000 1.000000000000000E+000 z= 0.000000000000000E+000 0.000000000000000E+000 1.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 2.500000000000000E-001 0.000000000000000E+000 xdach= 0.000000000000000E+000 0.000000000000000E+000 1.000000000000000E+000 0.000000000000000E+000 ydach= 0.000000000000000E+000 0.000000000000000E+000
L¨ osungen der Aufgaben
253
0.000000000000000E+000 1.000000000000000E+000 0.000000000000000E+000 Eine Loesung lautet: w= 0.000000000000000E+000 0.000000000000000E+000 1.187500000000000E+000 0.000000000000000E+000 0.000000000000000E+000 1.495844875346261E-001 0.000000000000000E+000 4.376731301939059E-001 0.000000000000000E+000 z= 3.878116343490305E-002 7.479224376731303E-002 0.000000000000000E+000 4.432132963988919E-002 8.928571428571452E-003 0.000000000000000E+000 4.464285714285714E-002 0.000000000000000E+000 2.857142857142857E-001 xdach= 2.456140350877193E-001 4.736842105263159E-001 0.000000000000000E+000 2.807017543859649E-001 ydach= 2.631578947368428E-002 0.000000000000000E+000 1.315789473684210E-001 0.000000000000000E+000 8.421052631578947E-001 Wir wollen uns noch mit Hilfe von Maple die exakten Werte des zweiten Nash-Gleichgewichts besorgen. An der N¨aherungsl¨ osung erkennt man, dass zur L¨ osung das Basisvariablenfeld BVF = ( z1 , z2 , w3 , z4 , z5 , w6 , z7 , w8 , z9 ) geh¨ ort. Das entsprechende lineare Gleichungssystem Cx = q (siehe (1.15)) lautet somit − M·1 | − M·2 | E·3 | − M·4 | − M·5 | E·6 | − M·7 | E·8 | − M·9 · x = q.
254
L¨ osungen der Aufgaben
Wir l¨ osen es mit Maple. > restart: > with(LinearAlgebra): > C:=<< 0| 0|0| 0|-1|0|-3|0|-3>, < 0| 0|0| 0|-8|0|-8|0|-2>, < 0| 0|1| 0|-8|0|-9|0|-6>, < 0| 0|0| 0|-3|0|-9|0|-2>, <-12| -3|0|-7| 0|0| 0|0| 0>, < -7| -7|0|-8| 0|1| 0|0| 0>, < -5| -9|0|-3| 0|0| 0|0| 0>, < -9|-11|0|-6| 0|0| 0|1| 0>, < -2| -7|0|-9| 0|0| 0|0| 0>>: > q:=Vector(1..9,-1): > x:=LinearSolve(C,q); Man erh¨ alt
⎛
⎞ 14/361 ⎜ 27/361 ⎟ ⎜ ⎟ ⎜ 19/16 ⎟ ⎜ ⎟ ⎜ 16/361 ⎟ ⎜ ⎟ ⎟ x=⎜ ⎜ 1/112 ⎟ . ⎜ 54/361 ⎟ ⎜ ⎟ ⎜ 5/112 ⎟ ⎜ ⎟ ⎝ 158/361 ⎠ 2/7
Die exakten Werte des zweiten Nash-Gleichgewichts lauten somit ⎛ ⎞ ⎛ ⎞ 1 14 ⎜ 0 ⎟ ⎜ ⎟ ⎟ 1 ⎜ ⎜ 27 ⎟ , yˆ = 1 ⎜ 5 ⎟ . x ˆ= ⎟ ⎝ ⎠ 0 57 38 ⎜ ⎝ 0 ⎠ 16 32 Wird dieses Nash-Gleichgewicht gespielt, so entstehen f¨ ur Spieler 1 bzw. Spieler 2 die Kosten x ˆT Aˆ y=
56 19
bzw. x ˆT B yˆ =
19 . 3
Wird das erste Nash-Gleichgewicht gespielt, so entstehen f¨ ur Spieler 1 bzw. Spieler 2 die Kosten ⎛ ⎞ ⎛ ⎞ 0 0 ⎜0⎟ ⎜0⎟ ⎜ ⎟ ⎜ ⎟ T ⎟ ⎜ ⎟ xˆT Aˆ y = (0 0 1 0) · A · ⎜ ⎜ 0 ⎟ = 4 bzw. xˆ B yˆ = (0 0 1 0) · B · ⎜ 0 ⎟ = 1. ⎝1⎠ ⎝1⎠ 0 0
L¨ osungen der Aufgaben
255
Wegen 56 19 < 4 und >1 19 3 verringern sich die Kosten f¨ ur Spieler 1, falls sich ein Schlichter von der Wahl des ersten Nash-Gleichgewichts auf die Wahl des zweiten Nash-Gleichgewichts umentscheidet. Die Kosten von Spieler 2 hingegen vergr¨ oßern sich. Ein Schlichter, der beide Nash-Gleichgewichte kennt, steht vor dem Problem, durch die Auswahl eines Nash-Gleichgewichts einen der beiden Spieler bevorzugen zu m¨ ussen. Aufgabe 4.2.1: Ist x zul¨ assig f¨ ur (4.42), so gilt nach Lemma 4.2.1 ˆ = cT x ˆ. cT x ≥ b T u Ist u zul¨assig f¨ ur (4.43), so gilt ebenfalls nach Lemma 4.2.1 ˆ. bT u ≤ cT xˆ = bT u x ˆ und uˆ sind daher L¨osungen. Aufgabe 4.3.1: a) Jedes A ∈ [A] ist regul¨ ar, da det A = 1 f¨ ur jedes A ∈ [A] gilt. Es ist ! !
1 − 23 0 32 1 Ac = , δ = o. , Δ= , bc = 1 0 1 00 1. Fall: y = (1, 1)T . Dann ist −1
My = (Ac − Δ)
(Ac + Δ) =
und
qy =
1 −3 0 1
1 −3 0 1
−1
10 13 · = 01 01
−1 1 4 · = . 1 1
Die eindeutige L¨ osung von LCP (qy , My ) lautet
4 , z = o. wy = 1 Somit ist xy = wy − zy = 2. Fall: y = (−1, 1)T . Dann ist ! −1 0 My = Ac − 0 1
=
10 01
−1
1 −3 0 1
0
3 2
4 . 1
!!−1 Ac +
00
=
1 −3 0 1
−1 0 0 1
!
0
3 2
00
!!
256
L¨ osungen der Aufgaben
und
qy =
10 01
−1 1 1 = . 1 1
Die eindeutige L¨ osung von LCP (qy , My ) lautet
1 wy = , z = o. 1 Somit ist xy = wy − zy =
1 . 1
3. Fall: y = (1, −1)T . Hier ergibt sich wegen
My = und
1 −3 0 1
qy =
−1
1 −3 0 1
10 01
=
13 01
−1 1 4 = 1 1
dasselbe xy wie im 1. Fall. 4. Fall: y = (−1, −1)T . Hier ergibt sich wegen
My =
10 01
und
qy =
−1
10 01
1 −3 0 1
=
1 −3 0 1
−1 1 1 = 1 1
dasselbe xy wie im 2. Fall. Somit erh¨ alt man " # 1 4 {xy : y ∈ Y } = , 1 1
und
b) Die Matrix My =
[]Σ([A], [b]) =
[1, 4] 1
10 01
−1
1 −3 0 1
.
=
1 −3 0 1
ist nicht positiv definit wegen Beispiel 3.1.8. Aufgabe 4.4.1 Mit der Substitution v(x) = u (x) betrachten wir die Differentialgleichung / v = μ 1 + v2 .
L¨ osungen der Aufgaben
257
Die Methode der Trennung der Ver¨ anderlichen f¨ uhrt auf 0 0 1 √ dv = μdx 1 + v2 bzw. arsinh v = μx + c,
x ∈ R, c ∈ R,
was dann v(x) = sinh (μx + c),
x ∈ R, c ∈ R
bedeutet. Mit 0 = u (s) = v(s) ergibt sich c = −μs. Somit folgt u(x) =
1 cosh (μ(x − s)) + d, μ
x ∈ [0, s], d ∈ R.
Mit u(s) = 0 ergibt sich d = − μ1 . Nun ist noch s mit Hilfe von u(0) = α zu bestimmen. Also betrachten wir α=
1 (cosh (−μs) − 1). μ
Es folgt s=
/ 1 1 arcosh(1 + μα) = ln 1 + μα + (μα)2 + 2μα . μ μ
Daher lautet die L¨ osung {s, u(x)} mit s= und
/ 1 ln 1 + μα + (μα)2 + 2μα μ
⎧ ⎨ 1 cosh (μ(x − s)) − 1 , x ∈ [0, s] u(x) = μ ⎩ 0, x ∈ (s, ∞).
Aufgabe 4.4.2 Wegen u (x) = −1, x ∈ [0, s] ist u (x), x ∈ [0, s] streng monoton fallend. Mit u (s) = 0 ist dann u (x) > 0, x ∈ [0, s). Daher ist u(x), x ∈ [0, s] streng monoton wachsend. Mit u(s) = 0 folgt u(x) < 0, x ∈ [0, s). Damit kann u(0) = α > 0 nicht erf¨ ullt sein. Aufgabe 4.4.3 Wir betrachten zun¨ achst die Differentialgleichung u + 4u = 2. osungen von Eine partikul¨ are L¨osung lautet u(x) = 12 . Um alle L¨ u + 4u = 0
258
L¨ osungen der Aufgaben
zu bekommen, betrachten wir das charakteristische Polynom p(λ) = λ2 + 4. Die Nullstellen λ1 = 2i und λ2 = −2i f¨ uhren auf die allgemeine L¨osung der homogenen Differentialgleichung; n¨ amlich u(x) = A · sin(2x) + B · cos(2x),
x ∈ R, A, B ∈ R.
Somit lautet die allgemeine L¨ osung 1 u(x) = A · sin(2x) + B · cos(2x) + , 2
x ∈ R, A, B ∈ R.
Mit den Vorgaben u(0) = 1, u(s) = 0 und u (s) = 0 folgt 1=B+
1 2
0 = A sin(2s) + B cos(2s) +
1 2
0 = 2A cos(2s) − 2B sin(2s) bzw. B=
1 2
0 = 2A sin(2s) + cos(2s) + 1 A=
sin(2s) . 2 cos(2s)
Setzt man die dritte Bedingung in die zweite Bedingung ein, so folgt 1 2 1 sin2 (2s) cos2 (2s) + +1= + 1. 0= cos(2s) cos(2s) cos(2s)
B=
Somit gilt cos(2s) = −1, und man erh¨ alt s = sk = π2 + kπ, k ∈ N0 sowie A = 0. Somit ist f¨ ur jedes k ∈ N0 das Paar {sk , u(x)} mit sk = und
1 u(x) =
2
0, eine L¨osung.
π + kπ 2
cos(2x) + 12 , x ∈ [0, sk ] x ∈ (sk , ∞)
Symbolverzeichnis
∅
leere Menge
N
Menge der nat¨ urlichen Zahlen
N0
N ∪ {0}
R
Menge der reellen Zahlen
C
Menge der komplexen Zahlen
R
m×n
Menge der reellen m × n Matrizen
R
n
Menge der reellen n-dimensionalen Vektoren
−1
inverse Matrix von A
T
A
transponierte Matrix von A (ist A = (aij ) ∈ Rm×n , so ist AT = (aji ) ∈ Rn×m )
AH
ist A = (aij ) ∈ Cm×n , so ist AH = (aji ) ∈ Cn×m
diag(x1 , ..., xn )
Diagonalmatrix aus Rn×n mit Diagonalelementen x1 , ..., xn
Ai·
i-te Zeile der Matrix A
A·j
j-te Spalte der Matrix A
. (A1 .. A2 )
Blockmatrix
E
Einheitsmatrix
E·j
j-te Spalte der Einheitsmatrix (auch j-ter Standard-Basisvektor genannt)
e
Vektor, der in jeder Komponente den Wert 1 besitzt
em
Vektor aus Rm , der in jeder Komponente den Wert 1 besitzt
A
260
Symbolverzeichnis
o
Nullvektor
O
Nullmatrix
x ∈ Rn , x ≥ o
Vektor x = (xi ) aus Rn mit xi ≥ 0, i = 1, ..., n
x ∈ Rn , x > o
Vektor x = (xi ) aus Rn mit xi > 0, i = 1, ..., n
A ∈ Rm×n , A ≥ O
Matrix A = (aij ) aus Rm×n mit aij ≥ 0, i = 1, ..., m, j = 1, ..., n
A ∈ Rm×n , A > O
Matrix A = (aij ) aus Rm×n mit aij > 0, i = 1, ..., m, j = 1, ..., n
x, y ∈ Rn , y = |x|
Vektor y = (yi ) aus Rn mit yi = |xi |, i = 1, ..., n
A, B ∈ Rm×n , B = |A|
Matrix B = (bij ) aus Rm×n mit bij = |aij |, i = 1, ..., m, j = 1, ..., n
Konv K
konvexe H¨ ulle der nichtleeren Menge K
ρ(A)
Spektralradius von A
IR
Menge der reellen kompakten Intervalle ⎞ ⎛ w1 · z1 ⎟ ⎜ .. f¨ ur w, z ∈ Rn ist w ∗ z := ⎝ ⎠ .
w∗z
wn · zn M (J)
Matrix, die aus M hervorgeht, indem man f¨ ur alle i ∈ J von M die i-te Zeile und die i-te Spalte streicht
sgn x
f¨ ur einen Vektor x ∈ Rn ist sgn x ein Vektor mit (sgn x)i = 1 falls xi ≥ 0 und (sgn x)i = −1 falls xi < 0
LCP (q, M )
lineares Komplementarit¨atsproblem definiert durch q und M
CPτ
zentraler Pfad
SOL(q, M )
L¨ osungsmenge von LCP (q, M )
F EAS
zul¨assiger Bereich von LCP (q, M )
N (α)
Umgebung des zentralen Pfads
Literaturverzeichnis
1. Adelmeyer M, Warmuth E (2003) Finanzmathematik f¨ ur Einsteiger. Vieweg, Wiesbaden 2. Adler I, Cottle RW, Verma S (2006) Sufficient matrices belong to L. Math Program 106:391-401 3. Alefeld G, Wang Z, Shen Z (2004) Enclosing solutions of linear complementarity problems for H-matrices. Reliab Comput 10:423-435 4. Alefeld G, Sch¨ afer U (2003) Iterative methods for linear complementarity problems with interval data. Computing 70:235-259 5. Alefeld GE, Chen X, Potra FA (1999) Numerical validation of solutions of linear complementarity problems. Numer Math 83:1-23 6. Alefeld G, Mayer G (1995) On the symmetric and unsymmetric solution set of interval systems. SIAM J Matrix Anal Appl 16:1223-1240 7. Alefeld G, Herzberger J (1983) Introduction to interval computations. Academic Press, New York 8. Appell J, V¨ ath M (2005) Elemente der Funktionalanalysis. Vieweg, Wiesbaden 9. Arnold DN (2000) The patriot missile failure. http://www.ima.umn.edu/∼arnold/disasters/patriot.html 10. Barth W, Nuding E (1974) Optimale L¨ osung von Intervallgleichungssystemen. Computing 12:117-125 11. Bastian M (1976) Lineare Komplement¨ arprobleme im Operations Research und in der Wirtschaftstheorie. Verlag Anton Hain, Meisenheim am Glan ¨ 12. Beeck H (1972) Uber Struktur und Absch¨ atzungen der L¨ osungsmenge von linearen Gleichungssystemen mit Intervallkoeffizienten. Computing 10:231-244 13. Berman A, Plemmons R (1994) Nonnegative matrices in the mathematical sciences. SIAM Classics in Applied Mathematics, vol. 9 14. Blum E, Oettli W (1975) Mathematische Optimierung. Grundlagen und Verfahren. Springer-Verlag, Berlin 15. Canty MJ (2000) Konfliktl¨ osungen mit Mathematica. Zweipersonenspiele. Springer-Verlag, Berlin 16. Chandrasekaran R (1970) A special case of the complementary pivot problem. Opsearch 7:263-268 17. Chen X, Xiang S (2006) Computation of error bounds for P-matrix linear complementarity problems. Math Pragram 106:513-525
262
Literaturverzeichnis
18. Chu TH (2006) A class of polynomially solvable linear complementarity problems. Math Program 107:461-470 19. Collatz L (1981) Differentialgleichungen. Teubner Studienb¨ ucher, Stuttgart 20. Cottle RW, Dantzig GB (1968) Complementarity pivot theory of mathematical programming. Linear Algebra Appl 1:103-125 21. Cottle RW, Pang JS, Stone RE (1992) The linear complementarity problem. Academic Press, San Diego 22. Cottle RW, Sacher RS (1977) On the solution of large, structured linear complementarity problems: the tridiagonal case. Appl Math Optim 3:321-340 23. Crank J (1984) Free and moving boundary problems. Clarendon Press, Oxford 24. Crank JC, Nicolson P (1947) A real method for numerical evaluation of solutions of partial differential equations of the heat-conductive type. Proc Cambr Phil Soc 43:50-67 25. Cryer CW (1971) The solution of a quadratic programming problem using systematic overrelaxation. SIAM J Control 9:385-392 26. Dantzig GB (1966): Lineare Programmierung und Erweiterungen. SpringerVerlag, Berlin 27. Deck T (2006) Der Itˆ o-Kalk¨ ul. Einf¨ uhrung und Anwendungen. Springer-Verlag, Berlin 28. Deza A, Nematollahi E, Terlaky T (2008) How good are interior point methods? Klee-Minty cubes tighten iteration-complexity bounds. Math Program 113:114 29. Du Val P (1940) The unloading problem for plane curves. Amer J Math 62:307311 30. Facchinei F, Pang JS (2003) Finite-dimensional variational inequalities and complementarity problems. Springer series in operations research 31. Fan K (1958) Topological proofs for certain theorems on matrices with nonnegative elements. Monatsh Math 62:219-237 32. Ferris MC, Pang JS (1997) Engineering and economic applications of complementarity problems. SIAM Rev 39:669-713 33. Ferris MC, Pang JS, Ralph D, Scholtes S (2004) Proceedings of the 3rd international conference on complementarity problems: Foreword. Math Program 101:1-2 34. Fiedler M, Ptak V (1962) On matrices with non-positive off-diagonal elements and positive principal minors. Czechoslovak Mathematical Journal 12:382-400 35. Fischer A (1992) A special Newton-type optimization method. Optimization 24:269-284 36. Fraj AH (2002) Dynamik und Regelung von Automatikgetrieben. Dissertation, Technische Universit¨ at M¨ unchen, VDI Verlag, D¨ usseldorf 37. Franklin J (2002) Methods of mathematical economics. Linear and nonlinear programming, fixed-point theorems. SIAM Classics in applied mathematics, vol. 37 38. Frommer A (1990) L¨ osung linearer Gleichungssysteme auf Parallelrechnern. Vieweg, Braunschweig 39. Gr¨ otschel M (2002) P = NP? Elem Math 57:96-102 40. Hammer R, Hocks M, Kulisch U, Ratz D (1993) Numerical toolbox for verified computing I. Springer-Verlag, Berlin 41. Hansen E (1992) Global optimization using interval analysis. Marcel Dekker,Inc. New York
Literaturverzeichnis
263
42. Hansen E (1969) On solving two-point boundary-value problems using interval arithmetic. In: Hansen E (ed) Topics in interval analysis. Clarendon Press, Oxford 74-90 43. Hansen T, Manne AS (1978) Equilibrium and linear complementarity - an economy with institutional constraints on prices. Equil Disequil Econ Theory Proc Conf Vienna 227-237 44. Hashimoto K, Kobayashi K, Nakao M (2005) Numerical verification methods for solutions of the free boundary problem. Numer Funct Anal Optim 26:523542 45. Heuser H (1983) Lehrbuch der Analysis, Teil 2. Teubner, Stuttgart 46. Hinrichsen L (2007) Zustands¨ uberg¨ ange selbstbremsender Getriebe im Ratterbetrieb. Dissertation, Universit¨ at Kassel 47. Isac G (1992) Complementarity problems. Lecture notes in mathematics, vol. 1528. Springer-Verlag, Berlin 48. Jarre F, Stoer J (2004) Optimierung. Springer-Verlag, Berlin 49. Kappel NW, Watson LT (1986) Iterative algorithms for the linear complementarity problem. Int J Comput Math 19:273-297 50. Karmarkar N (1984) A new polynomial-time algorithm for linear programming. Combinatorica 4:373-395 51. Khachiyan LG (1979) A polynomial algorithm in linear programming. Soviet Math. Doklady 20:191-194 52. Klatte R, Kulisch U, Wiethoff A, Lawo C, Rauch M (1993) C-XSC. A C++ class library for extended scientific computing. Springer-Verlag, Berlin 53. Klatte R, Kulisch U, Neaga M, Ratz D, Ullrich C (1992) PASCAL-XSCLanguage references with examples. Springer-Verlag, New York 54. Klee V, Minty GJ (1972) How good is the simplex algorithm? In: Shisha O (ed) Inequalities. Academic Press, New York 159-175 55. Kojima M, Megiddo N, Noma T, Yoshise A (1991) A unified approach to interior point algorithms for linear complementarity problems. Lecture notes in computer science, vol. 538. Springer-Verlag, New York 56. Kostreva M (1979) Cycling in linear complementarity problems. Math Program 16:127-130 57. Krawczyk R (1969) Newton-Algorithmen zur Bestimmung von Nullstellen mit Fehlerschranken. Computing 4:187-201 58. Kulisch U, Lohner R, Facius A (2001) Perspectives on enclosure methods. Springer-Verlag, Wien 59. Kwok YK (1998) Mathematical models of financial derivatives. Springer finance, Singapore 60. Lancaster P (1969) Theory of matrices. Academic Press, New York 61. Lemke CE (1965) Bimatrix equilibrium points and mathematical programming. Management Science 11:681-689 62. Lemke CE, Howson JT (1964) Equilibrium points of bimatrix games. SIAM J Appl Math 12:413-423 63. Li HB, Huang TZ, Li H (2007) On some subclasses of P-matrices. Numer. Linear Algebra Appl 14:391-405 64. Lin Y, Cryer CW (1985) An alternating direction implicit algorithm for the solution of linear complementarity problems arising from free boundary problems. Appl Math Optim 13:1-17
264
Literaturverzeichnis
65. L¨ uthi HJ (1976) Komplementarit¨ ats- und Fixpunktalgorithmen in der mathe¨ matischen Programmierung, Spieltheorie und Okonomie. Lecture notes in economics and mathematical systems, vol. 129. Springer-Verlag, Berlin 66. Mangasarian OL (1996) Dedication [to Richard Warren Cottle]. Comput Optim Appl 5:95-96 67. Mangasarian OL (1976) Equivalence of the complementarity problem to a system of nonlinear equations. SIAM J Appl Math 31:89-92 68. Mathias R, Pang JS (1990) Error bounds for the linear complementarity problem with a P-matrix. Linear Algebra Appl 132:123-136 69. Megiddo N (1988) A note on the complexity of P-matrix LCP and computing an equilibrium. Research Report, IBM Almaden Research Center, San Jose 70. Moore RE (1977) A test for existence of solutions to nonlinear systems. SIAM J Numer Anal 14:611-615 71. Moore RE (1966) Interval analysis. Prentice-Hall, Englewood Cliffs, New Jersey 72. Morris WD (2002) Randomized pivot algorithms for P-matrix linear complementarity problems. Math Program 92:285-296 73. Murty KG (1988) Linear complementarity, linear and nonlinear programming. Heldermann Verlag, Berlin 74. Murty KG (1983) Linear programming. John Wiley & Sons, New York 75. Murty KG (1978) Computational complexity of complementarity pivot methods. Math Program Study 7:61-73 76. Murty KG (1972) On the number of solutions to the complementarity problem and spanning properties of complementary cones. Linear Algebra Appl 5:65-108 77. Nasar S (2002) Genie und Wahnsinn. Das Leben des genialen Mathematikers John Nash. Zum Film ’A Beautiful Mind’. Piper, M¨ unchen 78. Nash J (1951) Non-cooperative games. Ann Math 54:286-295 79. Neumaier A (1990) Interval methods for systems of equations. University Press, Cambridge 80. Oosterlee CW (2003) On multigrid for linear complementarity problems with application to american-style options. Electron Trans Numer Anal 15:165-185 81. Ortega JM, Rheinboldt WC (2000) Iterative solution of nonlinear equations in several variables. SIAM Classics in applied mathematics, vol. 30 82. Ortega JM (1972) Numerical analysis. Academic Press, New York 83. Owen G (1968) Game theory. W. B. Saunders Company, London 84. Pang JS (1990) Newton-methods for B-differentiable equations. Math Oper Res 15:311-341 85. Pang JS (1984) Necessary and sufficient conditions for the convergence of iterative methods for the linear complementarity problem. J Optim Theory Appl 42:1-17 86. Pang JS (1982) On the convergence of a basic iterative method for the implicit complementarity problem. J Optim Theory Appl 37:149-162 87. Pfeiffer F, Glocker C (1996) Multibody dynamics with unilateral contacts. Wiley Series in nonlinear science, New York 88. Pinkus O, Sternlicht B (1961) Theory of hydrodynamic lubrication. McGrawHill Book Company, Inc 89. Potra FA (2008) Corrector-predictor methods for monotone linear complementarity problems in a wide neighborhood of the central path. Math Program 111:243-272
Literaturverzeichnis
265
90. Potra FA, Sheng, R (1997) Predictor-corrector algorithms for solving P∗ -matrix LCP from arbitrary positive starting points. Math Program 76:223-244 91. Potra FA, Sheng, R (1997) A large-step infeasible-interior-point method for the P∗ -matrix LCP. SIAM J Optim 7:318-335 92. Poundstone W (1993) Prisoner’s dilemma. University Press, Oxford 93. Rohn J (1989) Systems of linear interval equations. Linear Algebra Appl 126:39-78 94. Roßmann T (1998) Eine Laufmaschine f¨ ur Rohre. Dissertation, Technische Universit¨ at M¨ unchen, VDI Verlag, D¨ usseldorf 95. Rump SM (1999) INTLAB –INTerval LABoratory. In: Developments in reliable computing. T. Csendes (Editor), Kluwer Academic Publishers:77-104 96. Runge W (1969) Die praktische Anwendung nichtlinearer Optimierungsmodelle. In: Mathematik und Wirtschaft. Verlag Die Wirtschaft, Berlin 45-61 97. R¨ ust LY (2007) The P-matrix linear complementarity problem. Generalizations and specializations. Dissertation, ETH Z¨ urich 98. Samelson H, Thrall RM, Wesler O (1958) A partition theorem for Euclidean n-space. Proc Amer Math Soc 9:805-807 99. Sch¨ afer U (2007) Wie erkl¨ art man ein Nash-Gleichgewicht? Elem Math 62:1-7 100. Sch¨ afer U (2007) On computer-assisted proofs for solutions of linear complementarity problems. J Comput Appl Math 199:257-262 101. Sch¨ afer U (2004) Unique solvability of an ordinary free boundary problem. Rocky Mountain J Math 34:341-346 102. Sch¨ afer U (2004) On the modulus algorithm for the linear complementarity problem. Oper Res Lett 32:350-354 103. Sch¨ afer U (2004) A linear complementarity problem with a P-matrix. SIAM Rev 46:189-201 104. Sch¨ afer U (2004) A new subclass of P-matrices. Linear Algebra Appl 393:353364 105. Sch¨ afer U (2003) Accelerated enclosure methods for ordinary free boundary problems. Reliab Comput 9:391-403 106. Sch¨ afer U (2001) An enclosure method for free boundary problems based on a linear complementarity problem with interval data. Numer Funct Anal Optim 22:991-1011 107. Schlee W (2004) Einf¨ uhrung in die Spieltheorie. Vieweg, Wiesbaden 108. Schnurr M (2007) Steigungen h¨ oherer Ordnung zur verifizierten globalen Optimierung, Dissertation, Universit¨ atsverlag Karlsruhe 109. Sch¨ oning U (1992) Theoretische Informatik - kurzgefasst. B. I. Wissenschaftsverlag, Mannheim 110. Seydel R (2006) Tools for computational finance. Springer-Verlag, Third edition, Berlin 111. Sheng R, Potra FA (1997) A quadratically convergent infeasible-interior-point algorithm for LCP with polynomial complexity. SIAM J Optim 7:304-317 112. Stoer J, Wechs M (1998) Infeasible-interior-point paths for sufficient linear complementarity problems and their analyticity. Math. Program. 83:407-423 113. Thompson RC, Walter WL (1992) An existence theorem for a parabolic free boundary problem. Differ Integral Equ 5:43-54 114. Thompson RC, Walter WL (1990) Convergence of the line method approximation for a parabolic free boundary problem. Differ Integral Equ 2:335-351
266
Literaturverzeichnis
115. Thompson RC (1982) A note on monotonicity properties of a free boundary problem for an ordinary differential equation. Rocky Mountain J Math 12:735739 116. Todd MJ (1986) Polynomial expected behavior of a pivoting algorithm for linear complementarity and linear programming problems. Math Program 35:173192 117. Tomlin J (1978) Robust implementation of Lemke’s method for the linear complementarity problem. Math Program Study 7:55-60 118. Tsatsomeros M, Li L (2000) A recursive test for P-matrices. BIT 40:410-414 119. Stiegelmeyr A (2001) Zur numerischen Berechnung strukturvarianter Mehrk¨ orpersysteme. Dissertation, Technische Universit¨ at M¨ unchen, VDI Verlag, D¨ usseldorf 120. van Bokhoven WMG (1981) Piecewise-linear modelling and analysis. Proefschrift, Eindhoven 121. van Eijndhoven JTJ (1986) Solving the linear complementarity problem in circuit simulation. SIAM J Control Optim 24:1050-1062 122. Varga RS (1962) Matrix iterative analysis. Prentice-Hall, New Jersey 123. V¨ aliaho H (1996) P∗ -Matrices are just sufficient. Linear Algebra Appl 239:103108 124. Walter W (1972) Gew¨ ohnliche Differentialgleichungen. Springer-Verlag, Berlin 125. W¨ osle M (1997) Dynamik von r¨ aumlichen strukturvarianten Starrk¨ orpersystemen. Dissertation, Technische Universit¨ at M¨ unchen, VDI Verlag, D¨ usseldorf 126. Wolfsteiner P (1999) Dynamik von Vibrationsf¨ orderern. Dissertation, Technische Universit¨ at M¨ unchen, VDI Verlag, D¨ usseldorf 127. Wright S, Zhang Y (1996) A superquadratic infeasible-interior-point method for linear complementarity problems. Math Program 73:269-289 128. Ye Y, Pardalos PM (1991) A class of linear complementarity problems solvable in polynomial time. Linear Algebra Appl 152:3-17
Sachverzeichnis
ε-N¨ aherungsl¨ osung von LCP (q, M ), 193 Abbruchkriterium, 168 absolute Vektornorm, 218 Aktie, 136 Algorithmus von Chandrasekaran, 66 Approximationsfehler, 136 Arbitrage, 137 Aus¨ ubungspreis, 136 Basisvariable, 5 Basisvariablenfeld, 5 Besteinschließung, 119 Bitl¨ ange der Eingangsdaten f¨ ur das LCP, 189 Black-Scholes-Gleichung, 139 Black-Scholes-Operator, 140 Blockmatrix, 259 Brownsche Bewegung, 138, 227 column sufficient, 188 Cramersche Regel, 37 Damm-Problem, 123 Derivate, 137 Di¨ atproblem, 100 Dividende, 138 Dividendenfluss, 138 Drift, 138 Dualdarstellung, 110 duales Programm, 99 early exercise curve, 141 Einzelschrittverfahren, 150
entartete L¨ osung, 3 erweitertes Tableau, 24 Existenzsatz von Peano, 132 Fehlerschranken, 194 Fixpunktsatz von Brouwer, 81, 201, 224 Gauß–Seidel-Verfahren, 150 Gefangenen-Dilemma, 79 Gesamtschrittverfahren, 150 Golfkrieg, 110 H-Matrix, 61, 72 Hauptminor, 36 f¨ uhrender Hauptminor, 60 Hauptuntermatrix, 36 induzierte Matrixnorm, 218 Infimum zweier Vektoren, 158 Intervall-Steigungsmatrix, 200 Intervallh¨ ulle, 119 Intervallmatrix, 112 Intervallvektor, 115 Itˆ o-Formel, 228 Itˆ o-Integral, 228 Itˆ o-stochastische Differentialgleichung, 227 Jakobi-Verfahren, 150 Jordan-Normalform, 222 komplement¨ arer Kegel, 45 komplement¨ ares Variablenpaar, 5 Konvertierungsfehler, 110
268
Sachverzeichnis
konvexes quadratisches Programm, 109 Kostenmatrix, 75 L¨ osung des Programms, 97 L¨ osungsmenge beim LCP, 174 Lemke–Howson-Algorithmus, 86 Lemke-Algorithmus, 7 Lemma von Farkas, 64, 99, 120, 225 lexikographisches Minimum, 26 lexikopositiv, 23 M-Matrix, 71 mathematisches Programm, 97 monotone Vektornorm, 218 Nash-Gleichgewicht, 78 Nichtbasisvariable, 5 Nobelpreis, 80, 123 NP-hart, 122 NP-vollst¨ andig, 173 Nullsummen-Spiel, 82 optimale Lagerhaltung, 103, 109 Optimalwert des Programms, 97 Optionen, 136 amerikanische, 136 Call-Option, 136 europ¨ aische, 136 Put-Option, 136 Orthant, 117 P∗ -Matrix, 188 P∗ (κ)-Matrix, 188 P-Matrix, 35, 38, 40 Partition des Rn , 46 Pfad, 227 Pivotschritt, 11 Polytop, 117 Portfolio, 136, 138 positiv definite Matrix, 59 positiv semidefinite Matrix, 35, 62 primales Programm, 99 Punktmatrix, 112 Ray-Termination, 12, 31 risikoloser Zinssatz, 139
row sufficient, 189 Satz von Bolzano–Weierstraß, 157, 187 Satz von Perron und Frobenius, 224 Satz von Stein–Rosenberg, 151 Satz von Taylor, 136 schiefsymmetrische Matrizen, 65 Schlichter, 78 Seilkurve, 124 skalierte Maximumnorm, 218 Spektralradius, 220 Standard-Basisvektor, 259 Stefan-Problem, 123 Steigungsmatrix, 200 stochastischer Prozess, 227 Strategie gemischte Strategie, 76 reine Strategie, 76 Strategiepaar, 78 streng diagonaldominante Matrix, 60 streng regul¨ are Intervallmatrix, 113 sufficient, 189 Supremum zweier Vektoren, 158 Umgebung des zentralen Pfads, 175 Unternehmensforschung, 99 unzul¨ assige Innere-Punkte-Verfahren, 188 Vergleichsmatrix, 73 Verhandlungsspiel, 78 Verifikationsmethoden, 189 Verlustmatrix, 75 Volatilit¨ at, 138 Wiener-Prozess, 227 Z-Matrix, 35, 65 zentraler Pfad, 174 Zielfunktion, 97 Zufallsvariable, 227 zul¨ assiger Bereich beim LCP, 174 f¨ ur mathematische Programme, 97 Zwei-Personen-Spiel, 36, 75