disser1.pdf (2006 KB) - Ernst-Moritz-Arndt-Universität Greifswald

disser1.pdf (2006 KB) - Ernst-Moritz-Arndt-Universität Greifswald disser1.pdf (2006 KB) - Ernst-Moritz-Arndt-Universität Greifswald

ub.ed.ub.uni.greifswald.de
von ub.ed.ub.uni.greifswald.de Mehr von diesem Publisher
31.01.2014 Aufrufe

5. Numerische Methoden für verschiedene Aufgaben der Optimalsteuerung Optimierungsproblem, welches ebenfalls mit dem SQP-Verfahren gelöst wird. Matthias Gerdts entwickelte das Fortran-77-Paket OC-ODE (Optimal Control of Ordinary-Differential Equations) für die numerische Lösung der optimalen Steuerung. OC-ODE ermittelt numerische Lösungen eines Optimalsteuerproblems. Das Zielfunktional wird als einfaches Mayer-Funktional gefordert. Das Programm ermöglicht eine numerische Schätzung der Steuerungen mittels des direkten Schießverfahrens. Die Steuerung u wird in dem Programm in den Punkten G i = {t 1 , t 2 , . . . , t N }, N ≥ 2 approximiert. Sei k ∈ N, k ≥ 1 und die Folge τ 1 , τ 2 , . . . , τ N+2k−2 : ⎧ τ 1 = . . . = τ k = t 1 , ⎪⎨ τ k+1 = t 2 , . τ N+k−2 = t N−1 , ⎪⎩ τ N+k−1 = . . . = τ N+2k−2 = t N . Definition 5.1 Eine wie folgt definierte Funktion B ik (·) für i = 1, . . . , N + k − 2: heißt B-spline. { 1, falls τi ≤ t ≤ τ B i1 (t) = i+1 , 0, sonst; B ik (t) = t − τ i B i,k−1 (t) + τ i+k − t B i+1,k−1 (t). τ i+k−1 − τ i τ i+k − τ i Eine Spline-Kurve, deren Darstellung auf B-Splines beruht, nennt man B-Spline- Kurve. Bestimmt wird die Kurve durch sogenannte De-Boor-Punkte c i ∈ R m , für i = 1, . . . , N + k − 2, mit denen sich das Aussehen der Kurve steuern lässt. Die Steuerfunktionen u wird durch die u N (t) = u N (t, c 1 , c 2 , . . . , c N+k−2 ) = N+k−2 ∑ i=1 c i B ik (t) ersetzt. In Speziallfällen k = 1 und k = 2 sind diese De-Boor-Punkte die Funktionswerte c i = u N (t i ) ≈ u(t i ). Für k = 1 ist u N (·) stückweise konstant. Für k = 2 ist die Funktion u N (·) stetig und stückweise linear u N (t) = u i + t − t i t i+1 − t i (u i+1 − u i ), t ∈ [t i , t i+1 ], i = 1, . . . , N − 1. Für k > 2 ist u N (·) (k − 2) mal stetig differenzierbar. Für die Zustände G x = {¯t 1 , ¯t 2 , . . . , ¯t M , ¯t M+1 }, M ≥ 1 88

5.3. Indirekte Methoden mit t 0 = ¯t 1 < ¯t 2 < . . . < ¯t M+1 = T wird in jedem Zustandsgitter-Teilintervall [¯t i , ¯t i+1 ], i = 1, . . . , M die Prozessgleichung ẋ = h(x, u) für einen unbekannten Anfangswert x i = x(¯t i ) und die durch u N ersetzte Steuerung u mit Runge-Kutta- Methode gelöst. 5.3. Indirekte Methoden In diesem Unterkapitel werden die wesentlichen Aspekte der anderen Verfahrensklasse, nämlich der indirekten Verfahren, dargestellt. Bei der Lösung von Optimalsteuerungsaufgaben mit indirekten Verfahren besteht die Grundidee darin, den Steuerprozess mit Hilfe der notwendigen Bedingungen (e.g. des Maximumprinzips von Pontrjagin) auf ein Randwertproblem zu übertragen. In Abschnitt 4.1.1 wurde das Pontrjaginsche Maximumprinzip beschrieben. Bei indirekten Methoden versucht man, unter Ausnutzung der Maximumbedingung, die Steuervariable u aus der Prozessgleichung und der adjungierten Differentialgleichung zu eliminieren. So erhält man in der Regel ein Randwertproblem in den Variablen x ∈ R n und λ ∈ R n , ẋ = f(t, x, u ∗ (x, λ)) = c 1 (t, x, λ), ˙λ = −H x (t, x, u ∗ (x, λ), λ) = c 2 (t, x, λ). Die Randbedingungen sind durch die Randbedingungen des Zustands und die Transversalitätsbedingungen gegeben. Die Anwendung indirekter Verfahren erfordert umfangreiche Kenntnisse der Theorie optimaler Steuerprozesse. Außerdem werden zur Lösung eines konkreten Randwertproblems relativ genaue Startschätzungen der adjungierten Funktion benötigt, welche oft schwierig zu bekommen sind. Andererseits hat die berechnete Lösung häufig eine sehr hohe Genauigkeit. 5.3.1. Einfach-Schießverfahren Zu betrachten sei das folgende Randwertproblem: Definition 5.2 Seien f : R × R n → R n und ψ : R n × R n → R s . Unter einem Randwertproblem (RWP) versteht man die Aufgabe, eine Lösung z : [t 0 , T ] → R n der Differentialgleichung ⎛ ẋ(t) = f(t, z(t)) = ⎜ ⎝ f 1 (t, z 1 (t), z 2 (t), . . . , z n (t)) f 2 (t, z 1 (t), z 2 (t), . . . , z n (t)) . f n (t, z 1 (t), z 2 (t), . . . , z n (t)) ⎞ ⎟ ⎠ , t 0 ≤ t ≤ T, (5.1) 89

5. Numerische Methoden für verschiedene Aufgaben der Optimalsteuerung<br />

Optimierungsproblem, welches ebenfalls mit dem SQP-Verfahren gelöst wird.<br />

Matthias Gerdts entwickelte das Fortran-77-Paket OC-ODE (Optimal Control<br />

of Ordinary-Differential Equations) für die numerische Lösung der optimalen<br />

Steuerung. OC-ODE ermittelt numerische Lösungen eines Optimalsteuerproblems.<br />

Das Zielfunktional wird als einfaches Mayer-Funktional gefordert.<br />

Das Programm ermöglicht eine numerische Schätzung der Steuerungen mittels des<br />

direkten Schießverfahrens. Die Steuerung u wird in dem Programm in den Punkten<br />

G i = {t 1 , t 2 , . . . , t N }, N ≥ 2<br />

approximiert. Sei k ∈ N, k ≥ 1 und die Folge τ 1 , τ 2 , . . . , τ N+2k−2 :<br />

⎧<br />

τ 1 = . . . = τ k = t 1 ,<br />

⎪⎨ τ k+1 = t 2 ,<br />

.<br />

τ N+k−2 = t N−1 ,<br />

⎪⎩<br />

τ N+k−1 = . . . = τ N+2k−2 = t N .<br />

Definition 5.1 Eine wie folgt definierte Funktion B ik (·) für i = 1, . . . , N + k − 2:<br />

heißt B-spline.<br />

{ 1, falls τi ≤ t ≤ τ<br />

B i1 (t) =<br />

i+1 ,<br />

0, sonst;<br />

B ik (t) =<br />

t − τ i<br />

B i,k−1 (t) + τ i+k − t<br />

B i+1,k−1 (t).<br />

τ i+k−1 − τ i τ i+k − τ i<br />

Eine Spline-Kurve, deren Darstellung auf B-Splines beruht, nennt man B-Spline-<br />

Kurve. Bestimmt wird die Kurve durch sogenannte De-Boor-Punkte c i ∈ R m , für<br />

i = 1, . . . , N + k − 2, mit denen sich das Aussehen der Kurve steuern lässt. Die<br />

Steuerfunktionen u wird durch die<br />

u N (t) = u N (t, c 1 , c 2 , . . . , c N+k−2 ) =<br />

N+k−2<br />

∑<br />

i=1<br />

c i B ik (t)<br />

ersetzt.<br />

In Speziallfällen k = 1 und k = 2 sind diese De-Boor-Punkte die Funktionswerte<br />

c i = u N (t i ) ≈ u(t i ). Für k = 1 ist u N (·) stückweise konstant. Für k = 2 ist die<br />

Funktion u N (·) stetig und stückweise linear<br />

u N (t) = u i +<br />

t − t i<br />

t i+1 − t i<br />

(u i+1 − u i ), t ∈ [t i , t i+1 ], i = 1, . . . , N − 1.<br />

Für k > 2 ist u N (·) (k − 2) mal stetig differenzierbar.<br />

Für die Zustände<br />

G x = {¯t 1 , ¯t 2 , . . . , ¯t M , ¯t M+1 }, M ≥ 1<br />

88

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!