• Keine Ergebnisse gefunden

Rigorose Zertifikate der Unzulässigkeit für konische Optimierungsprobleme 19

2. Konische Optimierung und Verifikation 3

2.7. Rigorose Zertifikate der Unzulässigkeit für konische Optimierungsprobleme 19

Viele Lösungsverfahren für konische Optimierungsprobleme berechnen approximative Zertifikate der Unzulässigkeit, falls sie keine approximativ zulässigen optimalen Lösungen finden.

Die primale Unzulässigkeit eines konischen Optimierungsproblems kann mit einem approximativen Zertifikat primaler Unzulässigkeit ˜y∈ Y bewiesen werden:

Korollar 1. Ist in Satz 1 die verifizierte Auswertung der Bedingung (2.18) mit yˆ = ˜y erfüllt, d.h.y, bi ist negativ und Ay˜liegt im Kegel K, bzw.y, bi ist positiv und−Ay˜ liegt im KegelK, dann ist y˜ ein rigoroses Zertifikat primaler Unzulässigkeit.

Beweis. Der Beweis erfolgt analog zu Satz1.

Die verifizierte Auswertung der Bedingung (2.18) hängt von der Problemstellung ab und benötigt Informationen über den Operator A und den Kegel K. Konkrete Beispiele werden im Abschnitt3.2gegeben.

Mit einem approximativen Zertifikat dualer Unzulässigkeit ˜x ∈ X kann das Glei-chungssystem und die Vorzeichenbedingung (2.20) rigoros geprüft werden, um duale Unzulässigkeit zu beweisen. Das unterbestimmte GleichungssystemA˜x= 0 ist im Allge-meinen nicht exakt erfüllt. Um ein rigoroses Zertifikat dualer Unzulässigkeit zu erhalten, wird in Jansson [37] folgender Algorithmus vorgeschlagen:

Algorithmus 2 Einschließung eines rigorosen Zertifikates dualer Unzulässigkeit.

Eingabe: Aund c ausPK und ˜x∈ X.

Ausgabe: Eine Einschließung [x] oder eine Warnung.

1: Wennhc,xi˜ nicht-negativ ist, wird der Algorithmus mit der Warnung beendet, dass ein Zertifikat dualer Unzulässigkeit nicht berechnet werden kann.

2: Andernfalls, wenn hc,xi˜ negativ ist, wird eine Einschließung [x] der Lösung des unterbestimmten linearen Systems

Ax= 0,

hc, xi<0, (2.22)

berechnet.

3: Wenn [x] ⊆ K gilt, dann existiert ein xb ∈ [x], das die Bedingung (2.20) erfüllt, und ein rigoroses Zertifikat dualer Unzulässigkeit ist. In diesem Fall gebe [x] zurück.

Andernfalls gebe eine Warnung aus, dass ein Zertifikat dualer Unzulässigkeit nicht berechnet werden kann.

Aufgrund der Unterbestimmtheit des linearen Systems (2.22) ist die Lösungsmenge nicht notwendigerweise beschränkt. Nach (2.12) ist es lediglich erforderlich eine Einschließung für ein Teilsystem von (2.22) zu bestimmen. Dazu schlägt Jansson [40, S. 919–920] eine Trennung des linearen Systems (2.22) in einen approximativ regulären Anteil und eine

Restmatrix vor, bei entsprechender Anpassung der rechten Seite. Die Lösungsmenge des resultierenden quadratischen Systems kann mit einem Algorithmus zur Einschließung quadratischer Intervall-Gleichungssysteme rigoros eingeschlossen werden. Ein aus ˜x und der Einschließung des quadratischen Systems rekonstruiertes [x] erfüllt die Eigenschaft (2.12). Das Vorgehen sei durch folgenden Algorithmus beschrieben:

Algorithmus 3 Einschließung für ein unterbestimmtes lineares System.

Eingabe: [A]∈IRm×n mitm < n, [b]∈IRm und ˜x∈Rn. Ausgabe: Eine Einschließung [x]∈IRn oder eine Warnung.

1: Setze Ω :={1, . . . , m}und Ω0 :={1, . . . , n}.

2: Bestimme eine Indexmenge I := {i1, . . . , im} ⊆ Ω0, sodass [A0] := [AΩI] ∈ IRm×m approximativ regulär ist.Ikann z.B. mithilfe einer LU- oder QR-Zerlegung bestimmt werden.

3: Setze [b0] := [b]−

n

X

j=1, j /∈I

[AΩjxj.

4: Bestimme eine Einschließung [x0]∈IRm des quadratischen Systems6 Σ([A0],[b0]).

5: Konnte keine Einschließung [x0] gefunden werden, wird der Algorithmus mit einer Warnung beendet. Ansonsten setzte für allej ∈Ω0

[xj] :=

([x0k] wenn j =ik, x˜j sonst.

Wie beim Zertifikat primaler Unzulässigkeit, hängt die Überprüfung der dualen Un-zulässigkeit von der Problemstellung ab und benötigt weitere Informationen über den OperatorA, sowie den KegelK.

6Die INTLAB [84] Funktionverifylssimplementiert z.B. einen solchen Algorithmus.

3. VSDP, Implementierungen und Resultate

3.1. Gleitkommaarithmetik

Beim Übergang von den theoretischen Überlegungen zu einer praktischen Implementie-rung müssen einige Einschränkungen berücksichtigt werden.

Die heute verwendeten Rechner nutzen für numerische Berechnungen lediglich eine Untermenge der reellen Zahlen, die Gleitkommazahlen F ⊂ R∪ {±∞,NaN}, wobei die zwei Symbole±∞ für unendliche positive und negative Elemente stehen undNaN(engl.

not a number) ist ein Symbol für das Ergebnis einer undefinierten Operation. Für diese Gleitkommazahlen stellt der „IEEE Standard for Floating-Point Arithmetic“ in der Re-vision von 2008 [34], im Folgenden mit IEEE-754 abgekürzt, die wichtigste normative Grundlage dar. Der IEEE-754 Standard definiert Formate, die Konvertierung zwischen diesen Formaten, grundlegende Rechenoperationen, sowie Ausnahmebehandlungen. Für eine sehr ausführliche und lesenswerte Einführung in die Gleitkommaarithmetik, sowie den IEEE-754 Standard, sei der Leser auf Muller et al.[71] verwiesen.

Bei der Implementierung von numerischen Algorithmen ist insbesondere darauf zu achten, dass die Menge der Gleitkommazahlen endlich ist. Im Allgemeinen sind daher Ein- und Ausgaben von numerischen Algorithmen nur Approximationen.

Mithilfe von Rundungsfunktionen können reellen Zahlen auf die Gleitkommazahlen abgebildet werden. Für die folgenden Abschnitte ist besonders die vomIEEE-754 spezifi-zierte gerichtete Rundung zur nächstkleineren bzw. zur nächstgrößeren Gleitkommazahl1 von Bedeutung:

∀r∈R: f lO(r) := max{f ∈F:fr} (3.1a)

∀r∈R: f lM(r) := min{f ∈F:rf}. (3.1b) Ebenso gelten grundlegende Eigenschaften der reellen Zahlen, wie das Assoziativ-oder Distributivgesetz, für die Gleitkommazahlen nicht mehr. Die bei den einzelnen Operationen entstehenden unvermeidlichen Fehler müssen entsprechend berücksichtigt werden.

Die Intervallarithmetik ist ein Ansatz um die Unzulänglichkeiten der Gleitkommaa-rithmetik durch rigorose Einschließungen zu behandeln. Die IntervallaGleitkommaa-rithmetik auf Basis der Gleitpunktarithmetik, wird z.B. in Rump [87, S. 27–29] und Tucker [94, S. 37–45]

vorgestellt. Für einen tiefer gehenden thematischen Einstieg in die reelle und komplexe

1Die für die folgenden Implementierungen verwendete Intervalltoolbox INTLAB [84] stellt für die Um-schaltung der gerichteten Rundung die Befehlesetround(-1)für (3.1a) undsetround(+1)für (3.1b) zur Verfügung. Mit der Identität, dassf lO(−r) = −f lM(r) für alle r Rgilt, ist effektiv nur eine gerichtete Rundung nötig, siehe Mulleret al.[71, S. 467].

Intervallarithmetik stehen eine Vielzahl von empfehlenswerten Büchern und Zeitschrif-tenartikeln zur Verfügung. Zu diesen zählen Alefeld und Herzberger [33], Moore [69], Mooreet al. [70], Neumaier [78,79], Rump [83,87] und Tucker [94].

Die in Abschnitt 2.2 vorgestellten reellen Intervalle [x]∈IR werden zu reellen Inter-vallen mit Gleitkommaschranken:

[x] := [x, x] :=nx∈R: xxxo,

wobei x, x ∈ F. Mittels gerichteter Rundung (3.1) sind kleinstmögliche rigorose Ein-schließungen von reellen Zahlen r ∈ R\F, die also nicht als exakte Gleitkommazahlen darstellbar sind, durch [r] := [f lO(r),f lM(r)] = [r, r] gegeben.

Um diese Einschließungseigenschaft (Theorem 1) für die jeweiligen Operationen zu erfüllen, werden die entsprechenden Operationen der Gleitkommaarithmetik unter Ver-wendung von gerichteter Rundung (3.1) auf das Infimum und Supremum, bzw. auf den Mittelpunkt und Radius angewendet. Für eine detaillierte Ausformulierung der Ope-rationen, siehe Rump [87, S. 24–25]. Eine einfache und für den Benutzer transparente Implementierung2 der arithmetische Operationen für Intervallgrößen ist besonders für objektorientierten Programmiersprachen mit überladbaren Operatoren geeignet.

Unter der Voraussetzung gerichteter Rundungen (3.1) gilt die Einschließungseigen-schaft (Theorem1) ebenfalls für die Matrix-Intervalloperationen und gleichermaßen auch für Intervallerweiterungen allgemeiner Funktionen, siehe Moore [69] und Mooreet al.[70, Theorem 5.1].