104
Skriptum zur Vorlesung Optimale Regelung mechatronischer Systeme A. Hofer 2019

Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

  • Upload
    others

  • View
    28

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Skriptum zur Vorlesung

Optimale Regelung mechatronischer Systeme

A. Hofer

2019

Page 2: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Inhaltsverzeichnis

1. Allgemeines über die Parameteroptimierung

2. Numerische Lösung konvexer Optimierungsprobleme

3. Lineare Programmierung

4. Entwurf eines digitalen Filters mit Linearer Programmierung

5. Reglerentwurf mit Linearer Programmierung

6. Semide�nite Programmierung

7. Reglerentwurf mit Semide�niter Programmierung

8. Einführung in die Variationsrechnung

9. Entwurf optimaler Steuerungen

10. Lineare Systeme mit quadratischen Gütekriterien

Page 3: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

1 Allgemeines über die Parameteroptimierung

Das Bestreben, eine gestellte technische Aufgabe bestmöglich zu lösen, führt den Inge-nieur - sofern er mathematische Methoden dafür verwendet - in vielen Fällen auf einOptimierungsproblem. Sehr häu�g besteht die Aufgabe dabei darin, eine sogenannteZielfunktion bezüglich gewisser Variablen (Optimierungsvariablen) unter Einhaltung vonNebenbedingungen zu minimieren1. Fasst man die Optimierungsvariablen xi zu einemSpaltenvektor x zusammmen, d.h.

xT = [x1::: xn] ,

so lässt sich das Optimierungsproblem wie folgt anschreiben:

minxf(x)

untergi(x) = 0 i = 1; :::;m

hi(x) � 0 i = 1; :::; p

(1)

Mit f(x) wird die Zielfunktion bezeichnet und die Nebenbedingungen bestehen also imallgemeinen Fall aus einigen Gleichungen und/oder einigen Ungleichungen. Eine Op-timierungsaufgabe dieser Art wird Mathematisches Programm oder NichtlinearesProgramm genannt. Der Vektor x heißt zulässig, wenn er alle Nebenbedingungen erfüllt.Es ist selbstverständlich, dass die Entwicklung von Rechenmethoden zur numerischen Lö-sung von mathematischen Programmen seit langer Zeit Gegenstand intensiver Forschungs-bemühungen ist und zu zahlreichen unterschiedlichen Ansätzen geführt hat. Allerdingssind die Aussichten, ein derartiges Optimierungsproblem erfolgreich lösen zu können, auchheute noch nur dann günstig, wenn die im Optimierungsproblem enthaltenen Funktionenf(x), gi(x) und hi(x) gewisse Eigenschaften aufweisen. Die wesentlichsten bestehen dabeiin folgenden Bedingungen:

� Die Menge S der zulässigen Vektoren, d.h.

S = fx j gi(x) = 0 i = 1; :::;m und hi(x) � 0 i = 1; :::; p g

ist konvex. Das bedeutet, dass

~x; x 2S =) �~x+ (1��)x 2S für � 2 [0; 1] :

Dieser Sachverhalt wird im folgenden Bild für den zweidimensionalen Fall veran-schaulicht.

1Die Tatsache, dass im Weiteren ausschließlich Minimierungsaufgaben betrachtet werden, stellt keineEinschränkung der Allgemeinheit dar. Die Suche nach einem Maximum kann durch Vorzeichenumkehrbei der Zielfunktion stets auf ein Mimierungsproblem zurückgeführt werden.

1

Page 4: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

o

o

o

x

x

x

x λx+(1−λ)x

^

^~ ~

1

2S

Bild 1. Konvexe Menge

Betrachtet man zwei beliebige Vektoren (im weiteren auch Punkte genannt) aus derMenge S, so müssen alle Punkte auf der Verbindungsstrecke ebenfalls der Menge Sangehören.

Beispiele für konvexe Mengen:

Rn

fx0g Menge, die nur einen Punkt enthält (singleton)

fx jx = x0 + tv; v 6= 0; t 2 Rg Gerade, (t � 0 Strahl)�x j aTx = b

bzw.

�x j aT (x� x0) = 0

Hyperebene�

x j aTx � bHalbraum�

x j (x� x0)T (x� x0) � r2Kugel (Mittelpkt. x0, Radius r)n

x j kx� x0kp � ro"Norm-Kugel", p � 1

�x j (x� x0)TP�1(x� x0) � 1

Ellipsoid, P > 0�

x j aTi x � bi i = 1; : : : ;mPolyeder (Durchschnitt von Halbräumen)

Verknüpfung konvexer Mengen:

Durchnitt:S1;S2 konvex =) S1 \ S2 konvex

Abbildung mit a¢ ner Funktion:S � Rn konvex, f(x) = Ax+ bf(S) := ff(x)j x 2 Sg ist konvex

� Die Zielfunktion f(x) ist eine konvexe Funktion, d.h. für zwei beliebige Punkte ~x; xaus dem De�nitionsbereich von f gilt in Analogie zu obiger De�nition

f (�~x+ (1��)x) � �f(~x) + (1��)f(x) für � 2 [0; 1] .

2

Page 5: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Dieser Zusammenhang ist für den Fall einer konvexen Funktion einer Variablen imBild 2 graphisch dargestellt.

o

o

o

xxx~

f

f(x)

f(x)~

f(λx+(1­λ)x)

o

λf(x)+(1­λ)f(x)

~

~

Bild 2. Konvexe Funktion

Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweierbeliebiger Punkte des Graphen verlaufen.

Beispiele für konvexe Funktionen einer skalaren Variablen x:

ax+ b a¢ ne Funktion

eax für beliebige Werte a

x� für x > 0 und � � 0 oder � � 1

jxjp für p � 1

� lnx für x > 0

x lnx für x � 0

Beispiele für konvexe Funktionen einer vektorwertigen Variablen x 2 Rn:

aTx+ b a¢ ne Funktion

kxkp für p � 1 Norm-Funktion

ln (ex1 + ex2 + : : :+ exn)

nYi=1

xi

! 1n

für xi > 0

x21x2für x2 > 0

f(x) = max fx1; x2; : : : ; xng

3

Page 6: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Beispiele für konvexe Funktionen einer matrixwertigen Variablen X 2 Rn�m:kXk2 = �max(X) =

p�max(XTX); �max(:) größter Eigenwert

� ln det (X) für X symmetrisch und X > 0

Operationen mit konvexen Funktionen:

nichtnegativ gewichtete Summe konvexer Funktionen:

f1(x); :::; fm(x) konvex !mXi=1

�ifi(x) ist konvex für �i � 0 i = 1; : : : ;m

Komposition mit a¢ ner Funktion:f(x) konvex ! f(Ax+ b) ist konvex

punktweises Maximum konvexer Funktionen:f1(x); :::; fm(x) konvex ! max ff1(x); :::; fm(x)g ist konvex

Einschränkung einer konvexen Funktion auf eine Gerade:f(x) ist genau dann konvex, wenn g(t) := f(x+ tv) eine konvexe Funktion in tist für alle x aus dem De�nitionsbereich von f und alle v 2 Rn

Wichtige Eigenschaft di¤erenzierbarer konvexer Funktionen:

skalarer Fall:Eine di¤erenzierbare Funktion f(x) ist genau dann konvex, wenn für beliebigex und ~x aus dem De�nitionsbereich von f gilt: f(x) � f(~x) + f 0(~x)(x� ~x)

allgemeiner Fall:Eine di¤erenzierbare Funktion f(x) ist genau dann konvex, wenn für beliebigex und ~x aus dem De�nitionsbereich von f gilt: f(x) � f(~x) +rf(~x)T (x� ~x)

wichtige Folgerung:Falls f 0(~x) = 0 bzw. rf(~x) = 0 gilt, so folgt f(x) � f(~x) bzw. f(x) � f(~x) füralle x bzw. x aus dem De�nitionsbereich. d.h. f besitzt bei ~x bzw. ~x einglobales Minimum.

Anmerkung: Zur Notation

@f@x=h

@f@x1

@f@x2

� � � @f@xn

iAbleitung (Zeilenvektor)

rf =�@f@x

�TGradient (Spaltenvektor)

r2f =h

@2f@xi@xj

iHess�sche Matrix

Genügt ein mathematisches Programm den beiden Einschränkungen

1) die Menge der zulässigen x ist konvex

2) die Zielfunktion ist eine konvexe Funktion,

4

Page 7: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

so wird esKonvexes Programm genannt. Das bedeutet, dass die Optimierungsaufgabedie Form

minxf(x)

unterAx = b

hi(x) � 0 i = 1; :::; p

(2)

mit konvexen Funktionen f(x) und hi(x) i = 1; :::; p besitzt. Die Gleichungsnebenbe-dingungen dürfen nur mit a¢ nen Funktionen gi(x) formuliert werden.Die wohl wichtigste Eigenschaft Konvexer Programme ist in der Tatsache zu sehen,

dass hier jedes lokale Minimum auch ein globales Minimum darstellt. Denn es ist geradedie Konvergenz des Lösungsverfahrens zu einem lokalen Minimum, die bei der Lösung desallgemeinen Falles oftmals erhebliche Probleme bereitet. Für Konvexe Programme stehenheute leistungsfähige Algorithmen zur Verfügung, wobei auch Probleme mit sehr vie-len Optimierungsvariablen und Nebenbedingungen bereits mit �bescheidener Hardware�erfolgreich behandelt werden können. Etwas übertrieben könnte man sagen, dass eineOptimierungsaufgabe als gelöst betrachtet werden kann, wenn es gelingt, sie als KonvexesProgramm zu formulieren.

1.1 Dualität

Bevor nun auf zwei bedeutende Fälle aus dem Bereich der Konvexen Programmierungnäher eingegangen wird (Kapitel 3 Lineare Programmierung, Kapitel 6 Semide�nite Pro-grammierung), soll noch der Begri¤ der Dualität kurz erläutert werden. Zu jedem Opti-mierungsproblem (1) kann durch Einführung sogenannter Lagrange�scher Multiplikatoren�T := [�1::: �m] und �

T := [�1::: �p] die Lagrange Funktion

L(x;�;�) := f(x)+mXi=1

�i gi(x)+

pXi=1

�ihi(x) (3)

gebildet werden. Die zugehörige Lagrange duale Funktion d(�;�) ist dann durch folgendeBeziehung festgelegt:

d(�;�) := infx

f(x)+

mXi=1

�i gi(x)+

pXi=1

�ihi(x)

!und �i �0 für i = 1; :::; p

Die Funktion d(�;�) liefert für alle zulässigen Punkte ~x und �i �0 für i = 1; :::; p eineuntere Schranke für den optimalen Zielfunktionswert p� des Optimierungsproblems (1),d.h.

d(�;�) � p�. (4)

Die Berechnung bester unterer Schranken führt nun direkt zum sogenannten dualen Op-timierungsproblem:

max�;�

d(�;�)

unter

�i � 0 für i = 1; :::; p

(5)

5

Page 8: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

In diesem Zusammenhang wird das Optimierungsproblem (1) auch als primales Problembezeichnet. Eine Dualitätsbetrachtung ist speziell in jenen Fällen vorteilhaft, bei welchensich die Funktion d(�;�) explizit angeben lässt und die Beziehung (4) für die optimalenLösungen des primalen und des dualen Problems mit dem Gleichheitszeichen erfüllt wird(starke Dualität, keine Dualitätslücke). Dann nämlich kann durch gleichzeitiges Lösender beiden Probleme ein sehr aussagekräftiges Abbruchkriterium für den Lösungsvorgangangegeben werden.Fast alle konvexen Optimierungsprobleme besitzen die Eigenschaft der starken Du-

alität. Eine einfache hinreichende Bedingung für die starke Dualität konvexer Opti-mierungsprobleme ist die so genannte Slater-Bedingung: Das Optimierungsproblem (2)besitzt die starke Dualität, wenn ein strikt zulässiger Punkt ~x existiert, d.h.

A~x = b

hi(~x) < 0 für i = 1; : : : ; p

1.2 Karush-Kuhn-Tucker Optimalitätsbedingungen

Den Ausgangspunkt der Betrachtungen bilden das primale Optimierungsproblem (1), dasnicht konvex sein muss, und das zugehörige duale Optimierungsproblem (5). Es wirdangenommen, dass die Funktionen f(x); gi(x) für i = 1; : : : ;m und hi(x) für i = 1; : : : ; pdi¤erenzierbar sind und dass starke Dualität vorliegt. Die Vektoren x�;��;�� seiendie optimalen Lösungen des primalen und des dualen Optimierungsproblems. Dann geltenfolgende notwendige Bedingungen (Karush-Kuhn-Tucker Optimalitätsbedingungen):

gi(x�) = 0 für i = 1; : : : ;m

hi(x�) � 0 für i = 1; : : : ; p

�� � 0

��ihi(x�) = 0 für i = 1; : : : ; p

rf(x�) +mXi=1

��irgi(x�) +pXi=1

��irhi(x�) = 0

Aus der Bedingung��ihi(x

�) = 0 für i = 1; : : : ; p,

die in der Literatur als complementary slackness bezeichnet wird, folgen

hi(x�) < 0 =) ��i = 0

und��i > 0 =) hi(x

�) = 0;

d.h. ��i ist Null, wenn die i-te Ungleichung hi(x) � 0 im optimalen Punkt x� nicht aktivist.Falls das primale Optimierungsproblem konvex ist, sind die Karush-Kuhn-Tucker Op-

timalitätsbedingungen (in der Literatur häu�g KKT-Bedingungen genannt) auch hinrei-chend. Sie bilden die Grundlage für e¢ ziente Algorithmen zur numerischen Lösung vonkonvexen Optimierungsproblemen.

6

Page 9: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Literatur

[1] Peressini A. L., Sullivan F. E., Uhl J. J., The Mathematics of Nonlinear Programming,Springer Verlag, New York, 1988

[2] Luenberger D. G.,Linear and Nonlinear Programming, Addison-Wesley, Reading MA,1984

[3] Fiacco A. V., McCormick G. P., Nonlinear Programming: Sequential UnconstraintMinimization Techniques, Academic Press, New York, 1972

[4] Boyd S, Vandenberghe L., Convex Optimization, Cambridge University Press, 2004,pdf-Datei unter http://www.stanford.edu/~boyd/cvxbook

7

Page 10: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

2 Numerische Lösung konvexer Parameteroptimie-rungsprobleme

Im folgenden Kapitel wird gezeigt, wie man e¢ ziente Algorithmen basierend auf demNewton-Verfahren zur Lösung konvexer Parameteroptimierungsprobleme angeben kann.Dabei wird zunächst der unbeschränkte Fall behandelt, danach wird er zum konvexenOptimierungsproblem mit Gleichungsnebenbedingungen erweitert und schließlich werdenkonvexe Optimierungsprobleme mit Gleichungs- und Ungleichungsnebenbedingungen be-trachtet.

2.1 Lösung unbeschränkter konvexer Optimierungsproblememit dem Newton-Verfahren

Aufgabenstellung:Gegeben f(x) konvex, zweimal di¤erenzierbar, x 2 Rn

minimiere f(x) (1)

Idee:Approximation der Funktion f(x) um x durch eine Taylorreihe, die nach dem Term2.Ordnung abgebrochen wird

f(x+ v) :=f(x) +rf(x)Tv+12vTr2f(x)v

und Minimierung von f bezüglich v

notwendige Bedingung:

rvf(x+ v)!= 0 ! rf(x) +r2f(x)v = 0

Unter der Annahme r2f(x) > 0 erhält man als optimale Lösung

v� = �r2f(x)�1rf(x).

Dieser Vektor wird als Suchrichtung �x verwendet, wobei �x = v� eine so genannteAbstiegsrichtung darstellt, weil

rf(x)T�x < 0gilt.

1

Page 11: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Algorithmus (Newton-Verfahren):

Gegeben ist ein Startpunkt x aus dem Definitionsbereich von f(x)while 1Berechne �x = �r2f(x)�1rf(x)Stop, falls Abbruchbedingung erfülltBestimme eine geeignete Schrittweite sErneuere x durch x x+ s�x

end

Für die Wahl der Schrittweite s stehen verschiedene Möglichkeiten zur Verfügung, z.B.:

1) exakte Liniensuche

s = argmin�>0

f(x+ ��x) (meistens zu aufwändig!)

2) Armijo-Liniensuche ("backtracking" Liniensuche)

Gegeben sind x; �x und Zahlen 0 < � < 12; 0 < � < 1

s = 1while 1if f(x+ s�x) > f(x) + �srf(x)T�x then

s = �selse

breakend

end

f(x + s∆x)

ss0s*

f(x) + s f(x)T∆x

f(x) + α s f(x)T∆x

0

Armijo Liniensuche

2

Page 12: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Bemerkungen zum Bild:

s� ist die Schrittweite bei der exakten Liniensuche. Für s � s0 ist die Abbruchbedingungim Armijo-Liniensuchalgorithmus erfüllt. Mit dem Parameter � wird die Mindestabnahmedes Funktionswertes festgelegt. Der Parameter � bestimmt die Genauigkeit der Suche (�klein entspricht einer groben Suche). Typische Werte für die Parameter sind: � = 0:1und � = 0:7

Abbruchkriterium:

Die Größe�(x) :=

�rf(x)Tr2f(x)�1rf(x)

� 12

wird Newton-Dekrement genannt. Zur Deutung dieser Größe wird die Di¤erenz der Funk-tionswerte f(x) und f(x+�x) gebildet

f(x)� f(x+�x) = f(x)� f(x)�rf(x)T�x� 12�xTr2f(x)�x,

woraus mit �x = �r2f(x)�1rf(x) folgt:

f(x)� f(x+�x) = 1

2rf(x)Tr2f(x)�1rf(x) = 1

2�(x)2

Das bedeutet, dass 12�(x)2 eine gute Abschätzung der Abweichung von f(x) zum opti-

malen Funktionswert ermöglicht. Das Newton-Verfahren wird daher abgebrochen, sobalddie Bedingung

1

2�(x)2 � "

mit einem vorgegebenen Wert " erfüllt wird.

MATLAB-Funktion für das Newton-Verfahren:

function [x,f,iter] = newton(x0,problem,tol)%% [x,f,iter] = newton(x0,problem,tol);%% Newton Verfahren zur Minimierung einer konvexen Funktion%% Parameter:% x0 ...... zulässiger Startpunkt% problem.. Name der Matlab-Funktion zur Berechnung% des Funktionswertes, des Gradienten der Zielfunktion% und der Hess�schen Matrix% tol ..... Abbruchschranke für das Quadrat des Newton-Dekrements

3

Page 13: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

% Resultat:% x ....... optimale Lösung% f ....... optimale Zielfunktionswert% iter .... Anzahl der Newton-Iterationen%maxiter = 100;alpha = 0.1;beta = 0.7;opts.SYM = true;%x = x0;for iter = 1:maxiter

[f,g,H] = problem(x,1);[Dx,R] = linsolve(H,-g,opts);lambda2 = -g�*Dx;if lambda2/2 <= tol

break;end

%% Liniensuche%

s = 1;while 1

xl = x + s*Dx;[fx,gx,Hx] = problem(xl,0);if fx <= f - alpha*s*lambda2

breakends = beta*s;

end%% Erneuerung von x%

x = x + s*Dx;endif iter == maxiter

error(�Maximale Anzahl der Newton-Iterationen erreicht!�);end

4

Page 14: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Beispiel:

x =�x1 x2

�Tf(x) = e(x1+3x2�0:1)| {z }

=: f1

+ e(x1�3x2�0:1)| {z }=: f2

+ e(�x1�0:1)| {z }=: f3

rf(x) =

�f1 + f2 � f33f1 � 3f2

�r2f(x) =

�f1 + f2 + f3 3f1 � 3f23f1 � 3f2 9f1 + 9f2

�MATLAB-Funktion zur Berechnung des Funktionswertes, des Gradienten und derHess�schen Matrix:

function [f,g,H] = demo1(x,sw);%% minimiere f(x) = exp(x1+3x2-0.1) + exp(x1-3x2-0.1) + exp(-x1-0.1)%% sw = 0 nur Berechnung von f(x) (Liniensuche)% sw ~= 0 Berechnung von f(x), Gradient und Hess�scher Matrix%g = 0;H = 0;f1 = exp(x(1)+3*x(2)-0.1);f2 = exp(x(1)-3*x(2)-0.1);f3 = exp(-x(1)-0.1);f = f1 + f2 + f3;if sw ~= 0

g = [f1+f2-f3; 3*f1-3*f2];H = [f 3*f1-3*f2; 3*f1-3*f2 9*f1+9*f2];

end

Startpunkt: x0 =��21:7

�Abbruchschranke: tol = 10�6

Ausführung des Newton-Verfahrens in MATLAB:

[x,f,iter] = newton(x0,@demo1,tol);

Optimale Lösung: x� =��0:3466

0

�f(x�) = 2:5593

5

Page 15: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

x1

x 2

­3 ­2 ­1 0 1 2 3­2.5

­2

­1.5

­1

­0.5

0

0.5

1

1.5

2

2.5

Höhenlinien der Zielfunktion und Punkte der Newton-Iteration

1 2 3 4 5 6 710­12

10­10

10­8

10­6

10­4

10­2

100

102

Iteration

λ2 /2

Verlauf von 12�(x)2

6

Page 16: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

2.2 Newton-Verfahren für die Minimierung einer konvexenFunktion unter Gleichungsnebenbedingungen

Aufgabenstellung:

minimiere f(x)unter

Ax = b(2)

mit x 2 Rn; f(x) konvex, zweimal di¤erenzierbar, A 2Rm�n; m < n; Rang(A) = m

KKT-Bedingungen für optimale Lösung: x� ist die optimale Lösung, wenn �� 2 Rmexistiert, sodass gilt

Ax� = b und rf(x�) +AT�� = 0

Approximation der KKT-Bedingungen durch Taylorreihe:

x� ! x+�x A(x+�x) = b ! A�x = 0

�� ! w rf(x+�x) +ATw = 0 rf(x+�x) � rf(x) +r2f(x)�x

! rf(x) +r2f(x)�x+ATw = 0

Zusammenfassung der beiden eingerahmten Gleichungen zum so genannten KKT-System:�r2f(x) AT

A 0

�| {z }

KKT-Matrix

��xw

�=

��rf(x)0

Gegenüber der unbeschränkten Variante unterscheidet sich das Newton-Verfahren im Fallevon Gleichungsbeschränkungen nur dadurch, dass nun die Suchrichtung �x durch Lösendes KKT-Systems ermittelt wird. Dabei kann die Symmetrie der KKT-Matrix vorteilhaftausgenutzt werden. Bei der Vorgabe des Startpunktes x0 für das Newton-Verfahren istdarauf zu achten, dass er zulässig ist (d.h. die Gleichung Ax0 = b erfüllt).

Beispiel:Quadratisches Programm

minimiere 12xTQx+ qTx

unterAx = b

7

Page 17: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

mit

Q = diag([ 2 2 4 2 ])

qT =��5 �5 �21 7

�A =

24 2 �1 0 �11 �1 1 �1�1 0 0 �1

35b =

�5 8 10

�TStartpunkt (in MATLAB): x0 = Anbx0 =-1.666701.3333-8.3333

Abbruchschranke: tol = 1e-6;

MATLAB Funktion zur Berechnung des Funktionswertes, des Gradienten und der KKT-Matrix:

function [f,g,KKT] = qp(x,sw);

Q = diag([2 2 4 2]);q = [-5 -5 -21 7]�;A = [2 -1 0 -1; 1 -1 1 -1; -1 0 0 -1];b = [5 8 10]�;g = 0;KKT = 0;f = x�*Q*x/2 + q�*x;if sw ~= 0

g = Q*x + q;KKT = [Q A�; A zeros(3,3)];

end

Ergebnis (mit dem Newton-Verfahren nach nur 2 Iterationen!):x =-0.53853.38462.4615-9.4615

f =-18.7692

8

Page 18: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

2.3 Numerische Lösung konvexer Optimierungsprobleme mitGleichungs- und Ungleichungsnebenbedingungen (InnerePunkte Verfahren)

Aufgabenstellung:

minimiere f(x)unter

Ax = bhi(x) � 0 für i = 1; : : : ; p

(3)

mit x 2 Rn; f(x); hi(x) i = 1; : : : ; p konvex, zweimal di¤erenzierbar, A 2Rm�n; m < n;Rang(A) = m

Idee:Eine Reduktion dieser Aufgabe auf ein Optimierungsproblem mit ausschließlich Glei-chungsnebenbedingungen durch Einführung einer Stra¤unktion zur Einhaltung der Un-gleichungsnebenbedingungen

�(x) := �pXi=1

log (�hi(x)) logarithmische Barrierenfunktion

und eine Modi�kation der Zielfunktion ergibt das modi�zierte Optimierungsproblem:

minimiere tf(x) + �(x)unter

Ax = b(4)

Dabei ist t ein positiver reeller Parameter. Für wachsende Werte von t wird die ur-sprüngliche Zielfunktion f(x) in der modi�zierten Aufgabe gegenüber der Stra¤unktion�(x) immer stärker gewichtet. Man beachte, dass der De�nitionsbereich von �(x) durchdie Menge der Punkte x gegeben ist, die die Ungleichungen strikt erfüllen. Für die Lö-sung des modi�zierten Problems mit dem Newton-Verfahren werden der Gradient und dieHess�sche Matrix von �(x) benötigt. Diese lauten:

r�(x) =

pXi=1

1

�hi(x)rhi(x)

r2�(x) =

pXi=1

1

hi(x)2rhi(x)rhi(x)T +

pXi=1

1

�hi(x)r2hi(x)

9

Page 19: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Es wird nun angenommen, dass x�(t) die optimale Lösung des modi�zierten Problems füreinen gegebenen Wert t > 0 ist. x�(t) wird zentraler Punkt genannt. Dann folgt aus denKKT-Bedingungen (in diesem Fall notwendig und hinreichend!)

Ax�(t) = b und hi(x�(t)) < 0 für i = 1; : : : ; p (d.h. x�(t) ist strikt zulässig)

und es existiert ein Vektor � 2 Rp, sodass die Gleichung

0 = trf(x�(t)) +pXi=1

1

�hi(x�(t))rhi(x�(t)) +AT�

erfüllt wird. Für die ursprüngliche Optimierungsaufgabe (3) folgt daraus: Jeder Punktx�(t) liefert einen dual zulässigen Punkt

��i (t) = � 1

thi(x�(t))> 0 für i = 1; : : : ; p

��(t) =1

t�

und x�(t) minimiert die Lagrange-Funktion des urprünglichen Optimierungsproblems (3)

L(x;�;�) = f(x) + �T (Ax� b) +pXi=1

�ihi(x)

für � = ��(t) und � = ��(t). Die duale Funktion d(�;�) besitzt für ��(t) und ��(t) einenendlichen Wert

d(��(t);��(t)) = f(x�(t)) + ��(t)T (Ax�(t)� b)| {z }= 0

+

pXi=1

��i (t)hi(x�(t))| {z }

= � pt

= f(x�(t))� pt

Daraus folgt für den optimalen Zielfunktionswert p� des ursprünglichen Optimierung-sproblems (3)

f(x�(t))� p� � pt.

Die Idee, eine suboptimale Lösung mit einem vorgegebenen Optimalitätsgrad " > 0 zuberechnen, indem man für t den Wert

t =p

"

wählt und die modi�zierte Aufgabe damit löst, funktioniert in der Praxis meistens nichtgut. Daher wird die modi�zierte Aufgabe für eine Folge von wachsenden Werten für tberechnet, bis die Abbruchbedingung

t � p"

10

Page 20: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

erfüllt wird. Dabei wird die optimale Lösung x�(t) zum aktuellen Wert von t als Start-punkt für das modi�zierte Problemmit dem nächstfolgendenWert für t benutzt. Die Folgeder Punkte x�(t) liegt am so genannten zentralen Pfad. Da die Punkte x�(t) stets striktzulässig sind, d.h. im Inneren des zulässigen Gebietes liegen, zählt dieser Algorithmus zurKlasse der so genannten Inneren Punkte Verfahren.

Algorithmus zur Lösung konvexer Optimierungsprobleme mit Gleichungs- undUngleichungsnebenbedingungen:

Gegeben strikt zulässiger Startpunkt x; t0 > 0 (Startwert für t),� > 1 (Steigerungsfaktor für t), " > 0 (Abbruchschranke)

t = t0while 1

Berechne x�(t) als optimale Lösung des Problems(4) unterVerwendung des Punktes x als Startpunktx = x�(t)

ifp

t� "

STOP: "-suboptimale Lösung gefundenelse

t = �tend

end

Beispiel:minimiere 1

2xTQx+ qTx

unter12xTPix+ r

Ti x � bi für i = 1; 2; 3

mit folgenden Daten:

Q = diag([ 2 2 4 2 )] qT = [ �5 �5 �21 7 ]

P1 = diag([ 4 2 2 0 )] rT1 = [ 2 �1 0 �1 ]P2 = diag([ 2 2 2 2 )] rT2 = [ 1 �1 1 �1 ]P3 = diag([ 2 4 2 4 )] rT3 = [ �1 0 0 �1 ]b1 = 5; b2 = 8; b3 = 10

Es ist leicht zu sehen, dass x0 = 0 ein strikt zulässiger Punkt für dieses Problem ist. Beieinem vorgegebenen Wert " = 10�6, einem Startwert t = 1 und einem Steigerungsfaktor� = 10 sind 8 Iterationen in obigem Algorithmus erforderlich, um die "-suboptimaleLösung

11

Page 21: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

x =0.0000000043835590.9999999578206382.000000001777287-0.999999976303155

mit dem Zielfunktionswert

f =-44.0000

in MATLAB zu berechnen. Die optimale Lösung des Problems lautet

x� = [ 0 1 2 �1 ]T .

Im folgenden Bild sind die Lösungen x�(t) der einzelnen Iterationen dargestellt.

0 1 2 3 4 5 6 7 8­1

­0.5

0

0.5

1

1.5

2

2.5

Iteration

x2

x1

x3

x4

Methode zur Erzeugung eines strikt zulässigen Startpunktes x0:

Gegeben sind hi(x) i = 1; : : : ; p konvex, zweimal di¤erenzierbar, x 2 Rn;A 2Rm�n;m < n; Rang(A) = m.Gesucht ist ein strikt zulässiger Punkt x0, d.h. er muss die Bedingungen

Ax0 = b

hi(x0) < 0 für i = 1; : : : ; p

12

Page 22: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

erfüllen. Dazu wird ein Optimierungsproblem (Phase 1 - Problem) gelöst:

minimiere %unter

Ax = bhi(x) � % für i = 1; : : : ; p

(5)

Ein strikt zulässiger Startpunkt für das Problem (5) kann leicht angegeben werden.Man nimmt für x irgend eine Lösung des unterbestimmten Gleichungssystems (z.B. dieMinimum-Norm Lösung) und wählt für die skalare Variable % einen hinreichend großenWert, sodass alle Ungleichungen in (5) strikt erfüllt werden. Die Aufgabe (5) kann damitwieder mit Hilfe der Inneren-Punkte Methode gelöst werden. Besitzt der optimale Ziel-funktionswert %� des Problems (5) die Eigenschaft

%� < 0,

so ist der zugehörige Vektor x� ein strikt zulässiger Punkt für das Problem (3) bzw. fürdas modi�zierte Problem (4). Gilt hingegen

%� > 0,

so sind die Nebenbedingungen im Problem (3) unzulässig.

13

Page 23: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

3 Lineare Programmierung

Bei einem sogenannten Linearen Programm handelt es sich nun um das einfachste kon-vexe Parameteroptimierungsproblem (siehe Kapitel 1), wobei alle beteiligten Funktionenlinear bzw. a¢ n in den Optimierungsvariablen x sind. Die Optimierungsaufgabe

minxcTx

unter

Ax = bx � 0

(1)

wird Lineares Programm in Standardform genannt. Dabei ist die Ungleichungs-nebenbedingung in (1) komponentenweise zu interpretieren, d.h. xi � 0 für i = 1; : : : ; n.Die Standardform spielt für die Theorie der Linearen Programmierung (das ist die gängigeBezeichnung für die Beschäftigung mit dem Aufstellen und Lösen Linearer Programme)eine wichtige Rolle, denn wie im Folgenden gezeigt wird, lässt sich jedes Lineare Programmin ein Problem in Standardform umwandeln.

Zunächst kann eine Maximierungsaufgabe einfach durch Vorzeichenumkehr bei der Ziel-funktion in eine Minimierungsaufgabe umgeformt werden, d.h.

maxxcTx ! min

x�cTx.

Nebenbedingungen in der Form linearer Ungleichungen können durch Einführung soge-nannter Schlupfvariablen zu Gleichungen umgeschrieben werden. Aus

Ax � b

wird damit

Ax+ y = b

y � 0

bzw. die UngleichungAx � b

kann durch die Bedingungen

Ax� y = b

y � 0

ersetzt werden. Falls einige Optimierungsvariablen keinen Beschränkungen unterliegen -man spricht in diesem Fall von freien Variablen - so werden diese durch die Di¤erenzneuer nichtnegativer Variablen ersetzt. Ist zum Beispiel die Variable x1 frei, so schreibtman für sie

x1 = x+1 � x�1x+1 � 0, x�1 � 0.

1

Page 24: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Für die weiteren Ausführungen werden folgende Voraussetzungen für das Lineare Pro-gramm (1) getro¤en:Die Matrix A ist eine m � n Matrix mit m < n, damit nicht die Werte der Opti-mierungsvariablen bereits durch die Gleichungsnebenbedingungen bestimmt sind. Außer-dem gelte

Rang(A) = m,

andernfalls enthalten die Nebenbedingungen redundante Gleichungen, die man entfernenkann.

Ein Vektor x, der alle Nebenbedingungen in (1) erfüllt, wird zulässige Lösung genannt.Jene zulässige Lösung, die zum kleinsten Wert der Zielfunktion führt, wird optimale(zulässige) Lösung genannt.

Von besonderer Bedeutung ist nun der Begri¤ der Basislösung. Zur Erläuterung diesesBegri¤es wird die Matrix A durch ihre Spaltenvektoren dargestellt:

A =�a1 a2 : : : an

�Eine Basislösung des Gleichungssystems

Ax = b

erhält man, wenn man aus der Koe¢ zientenmatrix A m linear unabhängige Spaltenvek-toren auswählt (die Rangvoraussetzung garantiert, dass eine solche Kombination von Spal-tenvektoren existiert) und zu einer (regulären) Matrix B zusammenstellt. Im Weiterenwird zur Vereinfachung der Darstellung angenommen, dass gerade die ersten m Spal-tenvektoren linear unabhängig sind, wobei dies keine Einschränkung der Allgemeinheitbedeutet, denn durch eine Umnummerierung der Variablen kann dies immer erzwungenwerden. Damit erhält man

B =�a1 : : : am

�.

Die Matrix B wird Basismatrix genannt. Die übrigen Spaltenvektoren von A, die nichtin B enthalten sind, werden zur Matrix D zusammengefasst

D =�am+1 : : : an

�,

sodass für A geschrieben werden kann:

A =�B D

�Der Vektor x wird nun entsprechend der Zerlegung von A partitioniert zu

x =

�xBxD

�,

womit man für das Gleichungssystem schreiben kann

Ax =�B D

� � xBxD

�= BxB +DxD = b .

2

Page 25: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Die Komponenten des Vektors xB heißen Basisvariablen, die Komponenten von xDwerden Nichtbasisvariablen genannt. Setzt man nun

xD = 0

und löst obige Gleichung nach xB auf

xB = B�1b ,

dann heißt die so erzeugte Lösung des Gleichungssystems

x =

�xB0

�Basislösung. Erfüllt der Vektor xB die Nebenbedingung xB � 0, so ist die Basislösungzulässig. Ist mindestens eine Komponente von xB gleich Null, so wird die Basislösungdegeneriert genannt.

3.1 Fundamentalsatz der Linearen Programmierung

Gegeben sei ein Lineares Programm in Standardform, wobei A eine m � n Matrix mitm < n und Rang(A) = m ist. Dann gilt:

(1) Wenn es eine zulässige Lösung gibt, dann gibt es auch eine zulässige Basislösung.

(2) Wenn es eine optimale zulässige Lösung gibt, dann gibt es auch eine optimale zu-lässige Basislösung.

Beweis zu (1):Annahme: x sei eine zulässige Lösung, d.h.

a1x1 + a2x2 + : : :+ anxn = b und xi � 0 für i = 1; : : : ; n. (2)

Genau p Komponenten von x seien positiv. Zur Vereinfachung der Notation wirdangenommen, dass das gerade die ersten p Komponenten von x sind, dies kann durchgeeignete Umnummerierung der Komponenten immer erreicht werden, d.h.

a1x1 + a2x2 + : : :+ apxp = b (3)

Fall 1: Die Vektoren a1; a2; : : : ; ap sind linear unabhängig. Dies ist nur für p � mmöglich. Für p = m ist die Lösung bereits eine zulässige Basislösung. Für p < mkann man aus den verbleibenden n � p Spaltenvektoren der A Matrix m � p Vektorenheraus�nden und zu den Vektoren a1; a2; : : : ; ap hinzufügen, sodass insgesamt m linearunabhängige Spaltenvektoren vorhanden sind. Gibt man den Komponenten von x, dieden neu hinzugenommenen Spaltenvektoren zugeordenet sind, den Wert Null, so erhältman eine degenerierte zulässige Basislösung.

3

Page 26: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Fall 2: Die Vektoren a1; a2; : : : ; ap sind linear abhängig. Dann existiert ein Vektor

y :=

264 y1...yp

375 6= 0 ,sodass

a1y1 + a2y2 + : : :+ apyp = 0 (4)

gilt. Man beachte, dass in dieser verschwindenden Linearkombination der Vektorena1; a2; : : : ; ap mindestens ein yi positiv gewählt werden kann. Wenn man nun die miteiner Zahl " multiplizierte Gl.(4) von der Gl.(3) subtrahiert, so erhält man:

a1(x1 � "y1) + a2(x2 � "y2) + : : :+ ap(xp � "yp) = b (5)

Diese Gleichung gilt für alle Werte von ", sodass mit

~y :=

�y0

�der Vektor x � "~y wieder eine Lösung des Gleichungssystems ist. Dabei ist allerdingsnicht garantiert, dass xi � "yi � 0 für alle i und jeden Wert von " zutri¤t, d.h. x � "~ymuss nicht zulässig sein. Für " = 0 ergibt sich die ursprüngliche zulässige Lösung. Lässtman nun " von Null an wachsen, so werden jene Ausdrücke xi� "yi wachsen, bei welchenyi < 0 gilt, es werden jene xi� "yi konstant bleiben, für die yi = 0 zutri¤t und schließlichwerden jene Komponenten xi� "yi abnehmen, wo yi > 0 gilt (mindestens ein solcher Fallist vorhanden!). Für

" = mini

�xiyi

���� yi > 0�wird mindestens ein Ausdruck xi � "yi verschwinden, sodass man mit diesem Wert von "eine zulässige Lösung mit höchstens p�1 positiven Komponenten erzeugt. Man kann deneben geschilderten Prozess gegebenenfalls sooft wiederholen, bis man zu einer zulässigenLösung kommt, bei der die entsprechenden Spaltenvektoren vonA linear unabhängig sind.Der weitere Weg zu einer zulässigen Basislösung ist dann wie im Fall 1.

Beweis zu (2):Annahme: x sei eine optimale zulässige Lösung, d.h.

a1x1 + a2x2 + : : :+ anxn = b und xi � 0 für i = 1; : : : ; n und cTx ist minimal (6)

Genau p Komponenten von x seien positiv. Zur Vereinfachung der Notation wirdwiederum angenommen, dass das gerade die ersten p Komponenten von x sind, d.h.

a1x1 + a2x2 + : : :+ apxp = b

Fall 1: Die Vektoren a1; a2; : : : ; ap sind linear unabhängig. Beweis wie Fall 1 von (1).

4

Page 27: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Fall 2: Die Vektoren a1; a2; : : : ; ap sind linear abhängig. Beweis wie Fall 2 von (1) mitfolgendem Zusatz:

Damit der Vektor x� "~y eine optimale zulässige Lösung ist, mußgelten

cT~y = 0 .

Denn wäre cT~y 6= 0, so könnte man ein " �nden, sodass x � "~y zulässig bleibt undcT (x� "~y) < cTx gilt. Dies ist aber ein Widerspruch zur Annahme, dass x eine optimalezulässige Lösung ist.

Bei Linearen Programmen müssen demnach überhaupt nur Basislösungen untersucht wer-den, wodurch jedes Optimierungsproblem dieser Art in endlich vielen Rechenschrittengelöst werden kann. Wenn man allerdings bedenkt, dass die Anzahl der möglichen Ba-sislösungen mit der Größe des Optimierungsproblems stark ansteigt (die Anzahl derKombinationen vom m Spaltenvektoren aus der m� n Matrix A ist durch

�nm

�gegeben),

so wird klar, dass eine Lösung über die Ermittlung aller Basislösungen des Problems nichtpraktikabel ist.

3.2 Simplex Algorithmus

Der Durchbruch bei der Linearen Programmierung ist zweifellos G. Dantzig 1947 mit demsogenannten Simplex Algorithmus gelungen. Die zugrundeliegende Idee ist dabei rechteinfach: Ausgehend von einer zulässigen Basislösung werden neue zulässige Basislösun-gen bestimmt, wobei garantiert wird, dass mit jeder Iteration der Wert der Zielfunktionkleiner wird. Dieses Rechenverfahren ist mit gewissen Modi�kationen auch heute nochdie Standardmethode der Linearen Programmierung.

Zur Herleitung des Simplex Algorithmus wird angenommen, dass eine zulässige Basis-lösung gegeben ist. Mit den vorhin gemachten Vereinbarungen bezüglichg der Notationkann dafür geschrieben werden

�B D

� � xBxD

�= b,

bzw. durch Multiplikation der Gleichung mit B�1 erhält man (mit E wird die Einheits-matrix entsprechender Dimension bezeichnet)

�E B�1D

� � xBxD

�= B�1b.

Diese Darstellung wird kanonische Form des Gleichungssystems genannt. In Koe¢ zien-tendarstellung kann dafür geschrieben werden:

x1 +y1;m+1xm+1 + : : :+ +y1;nxn = y1;0x2 +y2;m+1xm+1 + : : :+ +y2;nxn = y2;0

. . ....

......

...xm +ym;m+1xm+1 + : : :+ +ym;nxn = ym;0

5

Page 28: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Die Koe¢ zienten yi;j sind die Elemente der Matrix B�1D, die Koe¢ zienten yi;0 sind dieElemete des Vektors B�1b.

1. Frage: Wie kann in einem Gleichungssystem in kanonischer Form eine Basisvariabledurch eine Nichtbasisvariable ersetzt werden?

Es soll also xp mit 1 � p � m durch xq mit m + 1 � q � n ersetzt werden. Dieswird am Beispiel p = 2 und q = m + 1 demonstriert. Da hierbei nur die Koe¢ zientendes Gleichungssystems und nicht die Gleichungen selbst von Bedeutung sind, wird zursogenannten Tableau - Schreibweise übergegangen:

x1 x2 : : : xm xm+1 : : : xn1 y1;m+1 : : : y1;n y1;0

1 y2;m+1 : : : y2;n y2;0. . .

......

......

1 ym;m+1 : : : ym;n ym;0

Damit dieser Variablentausch statt�ndet, müssen die Koe¢ zienten des Tableaus so ma-nipuliert werde, dass die Koe¢ zienten in der Spalte unter der Variablen xm+1 die Werte0; 1; 0; :::; 0 annehmen. Zu diesem Zweck muss zunächst die zweite Koe¢ zientenzeile desTableaus durch den Koe¢ zienten y2;m+1 dividiert werden, was allerdings nur unter derVoraussetzung y2;m+1 6= 0 möglich ist. Im allgemeinen Fall (Tausch von xp und xq) mussdemnach der Koe¢ zient yp;q verschieden von Null sein und nach der Division lauten dieneuen Koe¢ zienten y

0p;j der p-ten Zeile

y0

p;j =yp;jyp;q

für j = 0; : : : ; n. (7)

Sodann müssen geeignete Vielfache der zweiten Zeile (im allgemeinen Fall der p-ten Zeile)des Tableaus von allen übrigen Zeilen subtrahiert werden, damit die übrigen Elementeder (m+1)-ten Spalte (im allgemeinen Fall der q-ten Spalte) des Tableuas verschwinden.Dies führt zu den neuen Koe¢ zienten y

0i;j gemäßder Beziehung

y0

i;j = yi;j �yp;jyp;q

yi;q für i = 1; : : : ;m, i 6= p und j = 0; : : : ; n. (8)

Die Rechenvorschriften (7) und (8) werden Pivot-Opertationen genannt, der Koef-�zient yp;q heisst Pivot-Element. Durch die Pivot-Operationen werden die Koe¢ zientenunter allen übrigen Basisvariablen im Tableau nicht verändert. Abschließend sei daraufhingewiesen, dass die Pivot-Operationen auch in unveränderter Form beim Gauß�schenEliminationsverfahren zur Lösung linearer Gleichungssysteme zum Einsatz kommen.

2. Frage: Wie kann beim Übergang von einer Basislösung zu einer neuen sichergestelltwerden, dass die neue Basislösung ebenfalls zulässig ist?

Im Weiteren wird zur Vereinfachung der Herleitung angenommen, dass jede zulässigeBasislösung nicht degeneriert ist. Die 2. Frage läuft auf die Entscheidung hinaus, welcheVariable die Rolle als Basisvariable verlieren muss.

6

Page 29: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Annahme:

x =

�xB0

�sei eine zulässige Basislösung und nicht degeneriert, d.h. es gilt xi > 0 für i = 1; : : : ;mund

a1x1 + a2x2 + : : :+ amxm = b. (9)

Die Variable xq mit m+ 1 � q � n soll zu einer Basisvariablen gemacht werden bzw. derentsprechende Spaltenvektor aq soll in die Basis kommen. Dazu wird aq als Linearkombi-nation der augenblicklichen Basisvektoren dargestellt

aq = a1y1;q + a2y2;q + : : :+ amym;q. (10)

Nun wird die Gl.(10) mit " multipliziert und von Gl.(9) subtrahiert

a1(x1 � "y1;q) + a2(x2 � "y2;q) + : : :+ am(xm � "ym;q) + "aq = b. (11)

Da voraussetzungsgemäßxi > 0 gilt, ist durch Gl.(11) für hinreichen kleine Werte von" > 0 wieder eine zulässige Lösung gegeben. Allerdings ist das noch keine Basislösung.Für die spezielle Wahl

" = mini

�xiyi;q

���� yi;q > 0�verschwindet mindestens ein Ausdruck xi � "yi;q. Jener Index i, der zum kleinsten Wertfür " führt, legt fest, welche Variable xi ihre Rolle als Basisvariable verliert, bzw. welcherVektor ai die Basis verlassen muss. Falls bei diesem Schritt kein yi;q > 0 existiert, ist dasOptimierungsproblem unbeschränkt (" kann beliebig großgemacht werden, ohne dass dieLösung unzulässig wird).

3. Frage: Welcher Vektor soll in die Basis kommen, damit die neue Basislösung einenkleineren Wert der Zielfunktion liefert?

Von einer zulässigen Basislösung

x =

�xB0

�ausgehend, wird nun die Zielfunktion in Abhängigkeit der Nichtbasisvariablen angeben.Dazu wird eine entsprechende Zerlegung des Vektors c vorgenommen

cT =�cTB cTD

�;

sodass für die Zielfunktion geschrieben werden kann

z = cTBxB + cTDxD.

AusBxB +DxD = b

erhält manxB = B

�1b�B�1DxD

7

Page 30: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

und in die Zielfunktion eingesetzt liefert das:

z = cTBB�1b| {z }

=:z0

+ (cTD�cTBB�1D)| {z }=:rTD

xD

Die Größe z0 = cTBB�1b stellt den Wert der Zielfunktion für die gegebene Basislösung

dar. Der VektorrTD =

�rm+1 : : : rn

�beschreibt den Ein�uss der Nichtbasisvariablen auf die Zielfunktion, er wird Vektor derrelativen Kostenkoe¢ zienten genannt. Wenn nun in der gegebenen (nichtdegener-ierten) zulässigen Basislösung für irgendein j mit m+ 1 � j � n gilt

rj < 0,

dann gibt es eine zulässige Lösung mit einem Wert für die Zielfunktion

z < z0.

Wenn der entsprechende Spaltenvektor aj in die Basis eingetauscht werden kann, danngibt es eine neue zulässige Basislösung mit z < z0. Wenn aj nicht eingetauscht werdenkann, ist das Optimierungsproblem unbeschränkt und die Zielfunktion kann beliebig kleingemacht werden (z ! �1).

Optimalitätstheorem: Wenn für irgendeine zulässige Basislösung gilt

rD � 0 ,

dann ist die Basislösung optimal (Abbruchkriterium für den Simplex Algorithmus).

Für die e¢ ziente Durchführung des Simplex Algorithmus wird das sogenannte Simplex-Tableau eingeführt. Das Simplex-Tableau entspricht dem Tableau eines Gleichungssys-tems in kanonischer Form erweitert um eine Zeile mit den relativen Kostenkoe¢ zientenfür die Nichtbasisvariablen (die relativen Kostenkoe¢ zienten der Basisvariablen sind de-�nitiongsgemäßgleich Null) und dem Wert �z0.Die Begründung für die zusätzliche Zeile basiert auf einer Erweiterung der Gleichungs-nebenbedingungen um

cTx� z = 0 .Die neue Variable z bleibt vereinbarungsgemäßimmer Bassivariable. Da sie niemalsausgetauscht wird, kann die zugehörige Spalte aus dem Tableau entfernt werden. Dieswird in der folgenden Darstellung verdeutlicht:

Ax = bcTx� z = 0

Datentableau!�B D 0 bcTB cTD �1 0

�Entfernen von [0 �1]T!

�B D bcTB cTD 0

�Elimination von cTB!

�E B�1D B�1b0T cTD�cTBB�1D �cTBB�1b

8

Page 31: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Zusammenfassung des Simplex Algorithmus:

Gegeben ist eine zulässige (nichtdegenerierte) Basislösung und das zugehörige Simplex-Tableau:

x1 x2 : : : xm xm+1 : : : xn1 y1;m+1 : : : y1;n y1;0

1 y2;m+1 : : : y2;n y2;0. . .

......

...1 ym;m+1 : : : ym;n ym;0

rm+1 : : : rn �z0

1. Schritt:Wenn rj � 0 für alle j = m+ 1; : : : ; n gilt: STOP - die augenblickliche zulässige Basislö-sung ist optimal!

2. Schritt:Wähle ein q mit der Eigenschaft, dass rq < 0 gilt, um festzulegen, welcher Vektor aq indie Basis kommen soll.

3. Schritt:Berechne die Quotienten

yi;0yi;q

für yi;q > 0 i = 1; : : : ;m

Falls kein yi;q > 0: STOP - das Problem ist unbeschränkt!Andernfalls bestimme p als jenen Index i, der zum kleinsten Wert für yi;0

yi;qführt. (Dieser

Index legt fest, welcher Vektor die Basis verlassen muss.)

4. Schritt:Führe die Pivot-Operationen mit dem Pivot-Element yp;q im gesamten Simplex-Tableaudurch und gehe zurück zum 1. Schritt.

3.3 Ermittlung einer zulässigen Basislösung

Bisher wurde stets angenommen, dass eine zulässige Basislösung bekannt ist. ImWeiterenwird nun gezeigt, wie zu einem Linearen Programm eine zulässige Basislösung bestimmtwerden kann. Dazu wird zunächt der folgende Sonderfall betrachtet:

minxcTx

unter

Ax � bx � 0

Für den Fall, dass in diesem Problem

b � 0

9

Page 32: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

gilt, kann durch Einführung von Schlupfvariablen sehr leicht eine zulässige Basislösungangegeben werden. Aus

Ax+ y = b und y � 0folgt, dass �

xy

�=

�0b

�eine zulässige Basislösung für das entsprechende Lineare Programm in Standardform ist.

Aus diesem Sonderfall kann nun eine allgemein einsetzbare Vorgangsweise zur Ermitt-lung einer zulässigen Basislösung hergeleitet werden. Ausgehend von einem LinearenProgramm ist Standardform

minxcTx

unter

Ax = bx � 0

mit der Eigenschaft b � 0 (man beachte, dass dies in der Standardform keine Ein-schränkung der Allgemeinheit darstellt), wird ein geeignetes Ersatzproblem formuliert.Mit der De�nition des m-dimensionalen Vektors

1T :=�1 � � � 1

�lautet dieses:

minx;y

1Ty

unter

Ax+ y = bx � 0, y � 0

O¤ensichtlich ist der Vektor �xy

�=

�0b

�eine zulässige Basislösung des Ersatzproblems. Wenn nun das ursprüngliche Optimierung-sproblem eine zulässige Lösung besitzt, dann besitzt das Ersatzproblem eine optimaleLösung mit dem Zielfunktionswert Null und alle Variablen yi sind ebenfalls gleich Null,d.h. in der optimalen Lösung des Ersatzproblems ist kein yi eine Basisvariable. Darausfolgt aber, dass die optimale Lösung des Ersatzproblems (nach Streichen des Vektors y)eine zulässige Basislösung für das ursprüngliche Lineare Programm liefert. Die Lösungvon Linearen Programmen mit Hilfe des Simplex Algorithmus kann also in zwei Phasenerfolgen. In der ersten Phase wird mit Hilfe des Rechenverfahrens eine Startbasislösungermittelt, von der dann ausgehend in der zweiten Phase die optimale zulässige Lösungberechnet wird.

10

Page 33: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

3.4 Der revidierte Simplex Algorithmus

Man kann bei der Ermittlung der optimalen Lösung Linearer Programme noch e¢ zientervorgehen. Diese Verbesserung im Simplex Algorithmus wird revidierter Simplex Algorith-mus genannt. Der Ausgangspunkt für den revidierten Simplex ist wiederum eine zulässigeBasislösung des Linearen Programms (in Standardform).

Revidierter Simplex Algorithmus:

Geben ist B�1 und xB = B�1b einer zulässigen Basislösung.

1. Schritt:Berechne

rTD = cTD�cTBB�1D.

Wenn rD � 0 gilt: STOP - die augenblickliche Basislösung ist optimal!

2. Schritt:Entscheide, welcher Vektor aq in die Basis kommen soll (z.B. derjenige mit dem kleinstenrelativen Kostenkoe¢ zient). Berechne

yq = B�1aq,

um aq als Linearkombination der augenblicklichen Basisvektoren darzustellen.

3. Schritt:Wenn kein yi;q > 0 ist: STOP - das Problem ist unbeschränkt!Andernfalls berechne die Quotienten

yi;0yi;q

für yi;q > 0

und entscheide, welcher Vektor die Basis verlassen muss.

4. Schritt:Erneuere B�1 und die Basislösung B�1b durch die Pivot-Operationen angewandt auf dasreduzierte Tableau �

B�1 yq B�1b�

und gehe zurück zum 1. Schritt.

3.5 Dualität in der Linearen Programmierung

Wie im 1. Kapitel gezeigt wurde, kann zu jeder Parameteroptimierungsaufgabe einduales Problem formuliert werden. Zur Erinnerung werden hier nochmals die wesentlichenZusammenhänge angegeben.Gegeben ist das Parameteroptimierungsproblem

minxf(x)

unterg(x) = 0h(x) � 0

11

Page 34: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

mit x 2 Rn, g 2 Rm und h 2 Rp. Die zugehörige Lagrange Funktion ist de�niert durch

L(x;�;�) = f(x) + �Tg(x) + �Th(x)

und die duale Lagrange Funktion ist gegeben als

d(�;�) = infxL(x;�;�) und � � 0.

Das duale Optimierungsproblem lautet schließlich:

max�;�

d(�;�)

unter� � 0

Es wird nun das duale Optimierungsproblem zu einem Linearen Programm in Standard-form hergeleitet. Dazu wird das Lineare Programm angeschrieben als:

minxcTx

unter

�Ax+ b = 0�x � 0

Die zugehörige Lagrange Funktion lautet dann

L(x;�;�) = cTx+ �T (�Ax+ b)� �Tx

und für die duale Lagrange Funktion erhält man daraus

d(�;�) =

��Tb für cT � �TA� �T = 0T�1 sonst

� � 0 .

Somit ist das duale Optimierungsproblem durch

max��Tb

untercT � �TA� �T = 0T

� � 0

gegeben. Formt man die Nebenbedingungen in diesem Problem etwas um

�TA+ �T = cT

� � 0

und beachtet, dass � in der Zielfunktion des dualen Problems nicht vorkommt, so erkenntman, dass � die Rolle einer (vektoriellen) Schlupfvariablen annimmt. Damit können dieNebenbedingungen durch

�TA � cT

12

Page 35: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

ersetzt werden. In der folgenden Tabelle sind die zueinander dualen Optimierungsprob-leme dargestellt.

minxcTx

unterAx = b

x � 0

max��Tb

unter�TA � cT

(12)

Das zu einem Linearen Programm in Standardform duale Optimierungsproblem ist wiederein Lineares Programm allerdings nicht mehr in Standardform. Man nennt diese Formder Dualität daher unsymmetrische Dualität. Zur Herleitung der symmetrischenDualität wird von folgendem Linearen Programm ausgegangen:

minxcTx

unterAx � bx � 0

Dazu erhält man aus

L(x;�1;�2) = cTx+ �T1 (�Ax+ b)� �T2 x

und

d(�1;�2) =

��T1 b für c

T � �T1A� �T2 = 0T�1 sonst

�1 � 0, �2 � 0

das duale Problem:max�1�T1 b

unter�T1A+ �

T2 = c

T

�1 � 0, �2 � 0Der Vektor �2 kann wieder als Schlupfvariable interpretiert werden, wodurch mit derDe�nition � = �1 die symmetrische Dualität der beiden Optimierungsaufgaben

minxcTx

unterAx � b

x � 0

max��Tb

unter�TA � cT

� � 0

o¤enkundig wird.

13

Page 36: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Für die weiteren Überlegungen wird von einem Paar Linearer Programme in unsym-metrischer Dualität ausgegangen und für die dualen Variablen die Bezeichnung � gewählt

minxcTx

unterAx = b

x � 0

max��Tb

unter�TA � cT

(13)

Schwache Dualität:Wenn x und � zulässige Lösungen der entsprechenden Optimierungsprobleme (13) sind,dann gilt immer

�Tb � cTx.Beweis: Aus Ax = b und �TA � cT folgt mit x � 0

�T Ax|{z}b

� cTx.

Starke Dualität:Wenn eines der beiden dualen Probleme (13) eine optimale Lösung besitzt, so besitzt auchdas andere eine optimale Lösung und für die Zielfunktionswerte im Optimum gilt:

��Tb = cTx�.

Wenn eines der beiden Probleme unbeschränkt ist, dann besitzt das andere keine zulässigeLösung.

Berechnung der dualen optimalen Lösung:Es wird wieder ein unsymmetrisches Paar Linearer Programme (13) betrachtet undangenommen, dass

x =

�xB0

�die optimale zulässige Basislösung des primalen Problems ist. Dazu muss gelten

rTD = cTD�cTBB�1D � 0T ,

woraus die UngleichungcTBB

�1D � cTD (14)

folgt. Es wird nun behauptet, dass durch

�T = cTBB�1

die optimale Lösung des dualen Problems gegeben ist. Dazu ist zu zeigen, dass die beidenZielfunktionswerte gleich sind, was aber trivial ist

cTx = cTBxB = cTBB

�1b und �Tb = cTBB�1b.

14

Page 37: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Ausserdem ist noch nachzuweisen, dass dieser Vektor �T auch die Nebenbedingung desdualen Problems erfüllt. Es muss also gelten

�TA � cT .

Das tri¤t zu weil

�T�B D

�=��TB �TD

�=�cTB cTBB

�1D���cTB cTD

�wegen Gl.(14) gilt.

Wenn x und � die optimalen zulässigen Lösungen der zueinander dualen Linearen Pro-gramme (13) sind, dann gelten folgende Beziehungen:

Ax = b x � 0

�TA� cT � 0T

�Tb = cTx

Daraus entnimmt man(�TA� cT )x = 0,

wobei die Summanden auf der linken Seite gegeben sind durch die Ausdrücke

(�Tai � ci)xi für i = 1; : : : ; n .

Da diese Ausdrücke wegen der Zulässigkeit von x und � stets kleiner gleich Null sind,muss für die optimalen Lösungen gelten

(�Tai � ci)xi = 0 für i = 1; : : : ; n ,

was zu folgendem Satz führt:

Satz: Zwei zulässige Lösungen x und � des Paares (13) sind genau dann optimal, wenndie beiden Bedingungen

xi > 0 =) �Tai = ci

�Tai < ci =) xi = 0

für i = 1; : : : ; n erfüllt sind.

Zur Deutung der dualen Variablen:Es wird nun gezeigt, wie die dualen Variablen �T zur Emp�ndlichkeitsanalyse der op-timale Lösung herangezogen werden können. Dazu wird angenommen, dass Parameter-schwankungen in der rechten Seite der Gleichungsnebenbedingungen des primalen Prob-lems auftreten, d.h.

b! b+�b,

wobei �b eine hinreichend kleine Änderung darstellt (so klein, dass sich die optimaleBasis nicht ändert). Damit ergibt sich für die Lösung

xB = B�1b+B�1�b

15

Page 38: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

und für den Zielfunktionswert:

z = cTBxB = cTBB

�1b+ cTBB�1�b = z0 +�z

�z = �T�b

Das bedeutet, dass die dualen Variablen den Ein�uss der Parameterschwankungen �bauf den Wert der Zielfunktion gewichten.

Die Konsequenz der Sätze über die (starke) Dualität ist die, dass man bei LinearenProgrammen auswählen kann, welches der beiden dualen Probleme man lösen will.Die enorme Leistungsfähigkeit der zur Verfügung stehenden Rechner-Hardware und diegroßen Anstrengungen in der Verbesserung der Algorithmen haben dazu geführt, dassman heute Lineare Programme mit einigen zehntausend Variablen und einigen zehn-tausend Beschränkungen bereits auf einem handelsüblichen Personal Computer in weni-gen Minuten bis Stunden lösen kann. Viele Programmpakete (z.B. [3]) gehen dabei nichtvon einem Linearen Programm in Standardform aus, sondern benutzen die wesentlich�exiblere Form:

minxcTx

unter

bl � Ax � buxl � x � xu

Sind in dieser Form Gleichungsnebenbedingungen zu berücksichtigen, so werden dieentsprechenden Komponenten in bl und bu auf den selben Wert gesetzt. Für den Fall,dass gewisse Schranken nicht wirksam sind, erhalten die betre¤enden Komponenten vonbl, bu, xl bzw. xu einen Wert Inf oder � Inf (wobei für Inf eine große Zahl z.B. 1030vereinbart wird). Für ein Lineares Programm in Standardform (2) würde obige Form dieDaten

bl = bu = b xl = 0 xu = 1030:1

erfordern. Mit 1 wird hier ein Spaltenvektor bezeichnet, dessen Komponenten alle denWert Eins besitzen. Für weitergehende Informationen über die Lineare Programmierungsei auf die einschlägige Literatur (z.B. [1],[2]) verwiesen.

Literatur

[1] Dantzig G. B., Thapa M. N.: Linear Programming, 1 Introduction, Springer Verlag,1997

[2] Luenberger D. G.: Linear and Nonlinear Programmming, Addison-Wesley, 1984

[3] IBM Optimization Solutions and Library (OSL) Version 3, 2001,www6.software.ibm.com/sos

16

Page 39: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

4 Entwurf eines digitalen Filters mit Linearer Pro-grammierung

Im Folgenden wird gezeigt, wie man ein lineares zeitinvariantes digitales Filter mitendlicher Impulsantwort (FIR-Filter) durch den Einsatz der Linearen Programmierungentwerfen kann. Das Verhalten eines FIR-Filters n-ter Ordnung mit der Eingangsfolge(uk) und der Ausgangsfolge (yk) wird durch die z-Übertragungsfunktion (mit reellen Ko-e¢ zienten)

H(z) = h0 + h1z�1 + h2z

�2 + : : :+ hnz�n

beschrieben. Wirkt nun auf ein solches Filter eine Eingangsfolge der Form

uk = sin!kT mit 0 � ! < �

T;

wobei mit T die Abtastperiode des Filters bezeichnet wird, so besitzt das FIR-Filter imeingeschwungenen Zustand eine Ausgangsfolge

yk =��H(ej!T )�� sin(!kT + argH(ej!T )):

Die komplexe Größe H(ej!T ) wird Frequenzgang des Filters genannt. Es sei angemerkt,dass im Falle eines FIR-Filters n-ter Ordnung der Einschwingvorgang auf jeden Fall nachn Abtastschritten beendet ist.

In vielen Anwendungsfällen werden die gewünschten Übertragungseigenschaften des Fil-ters durch Anforderungen an den Frequenzgang H(ej!T ) formuliert. In diesem Beitragwird der Fall eines Tiefpass�lters behandelt, wobei folgende Spezi�kationen vorgegebenwerden: Im sogenannten Durchlassbereich mit festgelegter Bandbreite !B, d.h.

0 � ! � !B

soll mit einer vorgegebenen Schranke �1 > 1 gelten1:

1

�1���H(ej!T )�� � �1

Im sogenennten Sperrbereich (mit vorgegebenem Wert !S > !B)

!S � ! <�

T

lautet die Forderung an den Frequenzgang��H(ej!T )�� � �2;wobei es das Entwurfsziel ist, den Wert der Schranke �2 möglichst klein zu machen. ImBild 1 sind die Forderungen anschaulich dargestellt.

1Für die Formulierung der Forderungen wird üblicherweise der Betrag des Frequenzgangs in Dezibelangegeben. Dies wird aber in diesem Beitrag aus Gründen der einfacheren Darstellung nicht gemacht.

1

Page 40: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

ω

H

ωΒ

1

δ1

1/δ1

ωS

δ2

Ziel: δ2 möglichst klein

00

Bild 1. Forderungen an den Frequenzgang des Filters

Zusammenfassend lautet die Optimierungsaufgabe zum Entwurf des FIR-Filters: Beigegeben Werten für T; n; !B; !S und �1 bestimme man:

minh0;h1;:::;hn

�2

unter

1

�1���H(ej!T )�� � �1 für 0 � ! � !B

��H(ej!T )�� � �2 für !S � ! < �T

(1)

Wenn man bedenkt, dass��H(ej!T )�� auf nichtlineare Weise von den Filterkoe¢ zienten

h0; h1; : : : ; hn abhängt, so ist zu erwarten, dass eine Lösung dieser Aufgabe durch denEinsatz von Algorithmen der Nichtlinearen Programmierung erhebliche Schwierigkeitenbereitet. Wie die weiteren Ausführungen zeigen werden, gelingt es jedoch durch einigeleicht durchführbare Maßnahmen, den Filterentwurf in ein Problem der Linearen Pro-grammierung zurückzuführen und damit e¢ zient zu lösen.Es werden zunächst folgende Einschränkungen für das FIR-Filter vorgenommen:

� Die Ordnung des Filters ist geradzahlig, d.h.

n = 2N (N natürlich)

� Die Koe¢ zienten hk des FIR-Filters sind symmetrisch bezüglich hN , d.h.

hi = h2N�i für i = 0; : : : ; N � 1

Damit erhält man für die z-Übertragungsfunktion:

H(z) = h0 + h1z�1 + : : :+ hN�1z

�(N�1) + hNz�N + hN+1z

�(N+1) + : : :+ h2Nz�2N

= h0 + h1z�1 + : : :+ hN�1z

�(N�1) + hNz�N + hN�1z

�(N+1) + : : :+ h0z�2N

= z�N�h0(z

N + z�N) + h1(zN�1 + z�(N�1)) + : : :+ hN�1(z + z

�1) + hN�

2

Page 41: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Für den Frequenzgang ergibt sich daraus

H(ej!T ) = e�jN!T�h0(e

jN!T + e�jN!T ) + h1(ej(N�1)!T + e�j(N�1)!T ) + : : :

+hN�1(ej!T + e�j!T ) + hN

�= e�jN!T [2h0 cosN!T + 2h1 cos(N � 1)!T + : : :+ 2hN�1 cos!T + hN ]| {z }

=: ~H(!)

H(ej!T ) = e�jN!T ~H(!) ,

wobei folgende Beobachtungen von Bedeutung sind:

� Die Funktion ~H(!) ist reell!

� Es gilt ferner: ��H(ej!T )�� = j ~H(!)jargH(ej!T ) = �N!T + arg ~H(!)

Für den Winkel arg ~H(!) kommen nur die Werte 0 (für ~H(!) � 0) bzw. �� (für~H(!) < 0) in Frage, daher wird der Phasengang des Filters im Wesentlichen durchden Term �N!T bestimmt, weshalb ein FIR-Filter dieser Art auch Filter mit linearerPhase genannt wird. Es ist nun günstig, für die Berechnung von ~H(!) folgende Notationeinzuführen:

h :=

26664h0h1...hN

37775 a(!) :=

266642 cosN!T

...2 cos!T1

37775 ~H(!) = a(!)Th

Somit lautet die Optimierungsaufgabe (1) nunmehr:

minh�2

unter

1

�1� a(!)Th � �1 für 0 � ! � !B

��2 � a(!)Th � �2 für !S � ! <�

T

(2)

Während in der zweiten Nebenbedingung in (2) lediglich die entsprechende Betragsunglei-chung aus (1) durch zwei Ungleichungen ersetzt wurde, bedarf die erste Nebenbedingungim Optimierungsproblem (2) noch einer Erklärung. Man könnte zunächst der Ansichtsein, dass die ursprüngliche Forderung für den Durchlassbereich des Filters durch denAusschluss negativer Werte für ~H(!) in (2) zu restriktiv berücksichtigt wird. Um diesenEinwand zu entkräften, sei folgende Begründung angeführt: In der Praxis werden neben

3

Page 42: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

den Frequenzgangsspezi�kationen stets auch gewisse Eigenschaften des Filters im Zeit-bereich vorgegeben. Ein naheliegendes Entwurfsziel ist dabei die stationäre Genauigkeitdes Filters. Damit ist gemeint, dass das Filter eine konstante Eingangsfolge nach demAbklingen des Einschwingvorganges exakt am Ausgang reproduziert. Daraus folgt unmit-telbar die Bedingung:

~H(!)���!=0

!= 1 (3)

Fügt man diese Forderung zu den Entwurfszielen dazu, so wird klar, dass die ersteNebenbedingung in (2) auf Grund der Stetigkeit der Funktion ~H(!) keine unnötige Ein-schränkung bewirkt. Die stetige Funktion ~H(!) könnte im Durchlassbereich ohnehin nurpositive oder ausschließlich negative Werte besitzen.O¤ensichtlich ist das Optimierungsproblem (2) linear in den Variablen h und �2. Dadie Restriktionen aber in ganzen Intervallen [0; !B] bzw. [!S; �T ) der Kreisfrequenz !einzuhalten sind, ist die Aufgabe (2) ein sogenanntes semiin�nites Optimierungsprob-lem, d.h. eine Aufgabe mit endlich vielen Variablen aber unendlich vielen Nebenbedin-gungen. Um daraus ein Optimierungsproblem mit endlich vielen Restriktionen zu formen,ist es naheliegend, eine Frequenzdiskretisierung einzuführen, wodurch die Nebenbe-dingungen nur mehr an einer endlichen Anzahl von Frequenzstützstellen berücksichtigtwerden. Für die erforderliche Anzahlm der Frequenzstützstellen gilt folgende Faustformel

m � 15n;

wobei m1 Werte auf den Durchlassbereich und die restlichen m�m1 Werte auf den Sperr-bereich entfallen. Die Aufteilung der Stützstellenanzahl ist entsprechend der Längen derIntervalle [0; !B] bzw. [!S; �T ) vorzunehmen. Für die Frequenzstützstellen gilt somit

0 � !1 < !2 < : : : < !m1 � !B!S � !m1+1 < !m1+2 < : : : < !m <

T.

Somit lautet das Lineare Programm zum Filterentwurf (mit der Forderung (3)):

minh�2

unter

a(0)Th = 1

1

�1� a(!i)Th � �1 für i = 1; : : : ;m1

a(!k)Th��2 � 0 für k = m1 + 1; : : : ;m

0 � a(!k)Th+�2 für k = m1 + 1; : : : ;m

�2 � 0; h frei

(4)

4

Page 43: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Die Leistungsfähigkeit dieser Methode soll nun an einem Beispiel demonstriert werden,wobei folgende Daten vorgegeben sind:

T = 1; N = 10; !B = 0:12�; !S = 0:24�; �1 = 1:012; m = 300; m1 = 30

Die Lösung des zugehörigen linearen Programms wurde mit Hilfe der Funktion linprogaus der Optimization Toolbox von MATLAB [2] gewonnen. Für die Mindestdämpfungim Sperrbereich erhält man den Wert

�2 = 0:1297 = �17:74db.

Der Betragsgang des digitalen Filters ist im Bild 2 dargestellt.

0 0.5 1 1.5 2 2.5 3 3.5­50

­40

­30

­20

­10

0

10

0.05

0.10.15 0.2 0.25

0.30.35

0.4

­0.1

­0.05

0

0.05

0.1

0

ω

ω

( )j TdBH eω

Bild 2. Betrag des Frequenzgangs

Dem Bild 3, das die Antwort des Filters auf die Eingangsfolge (uk) = (1; 1; 1; : : :) zeigt,entnimmt man, dass auch die Forderung bezüglich der stationären Genauigkeit erfülltwird.

5

Page 44: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

0 5 10 15 20 25 30­0.2

0

0.2

0.4

0.6

0.8

1

1.2

k

(yk)

Bild 3. Sprungantwort des Filters

Der Vorteil dieser Filterentwurfsmethode ist darin zu sehen, dass sie sowohl Vorgaben imFrequenzbereich als auch Forderungen an das Zeitverhalten des Filters berücksichtigenkann und dabei größte Flexibilität aufweist: Alle Wünsche, die sich durch lineare Glei-chungen und/oder lineare Ungleichungen in den Optimierungsvariablen angeben lassen,können problemlos zur Entwurfsprozedur dazugenommen werden. So wäre es beispiels-weise sehr einfach möglich, das Über- bzw. Unterschwingen in der Sprungantwort desFilters unter einer vorgegebenen Schranke zu halten. Abschließend sei erwähnt, dass diehier vorgestellte Filterentwurfsmethode seit ca. 40 Jahren bekannt ist. Dies ist umsobemerkenswerter, wenn man den damaligen Entwicklungsstand auf dem Gebiet der Digi-talrechner bedenkt. Für weitere Informationen zu diesem Thema sei auf [1] verwiesen.

Literatur

[1] Parks T. W., Burrus C. S.: Digital Filter Design, Topics in Digital Signal Processing,John Wiley & Sons, 1987

[2] Optimization Toolbox for Use with MATLAB, Version 2.2, The MathWorks Inc., 2002

6

Page 45: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

5 Reglerentwurf mit Linearer Programmierung

In diesem Kapitel wird gezeigt, wie man ein leistungsfähiges Verfahren zur Synthese linea-rer zeitinvarianter Regelkreise unter Berücksichtigung sogenannter harter Beschränkungenfür gewisse Größen des Regelkreises auf der Grundlage der Linearen Programmierungentwickeln kann.

5.1 Formulierung des Entwurfsproblems

Um den mathematischen Aufwand bei der Darstellung der theoretischen Grundlagen desReglerentwurfsverfahrens möglichst gering zu halten, wird in diesem Kapitel ein einfacherEingrößenfestwertregelkreis betrachtet, wie er im Bild 1 dargestellt ist.

Regler Strecke

P(z)(uk) (yk)

R(z)

Fd(z)(dk)(dk)

~

Bild 1. Festwertregelkreis

Alle Größen in diesem Regelkreis werden als Folgen mit der gemeinsamen AbtastperiodeTa aufgefasst. Es wird angenommen, dass das Übertragungsverhalten der Regelstreckemit der Eingangsfolge (uk) und der Ausgangsfolge (yk) durch die z-Übertragungsfunk-tion P (z) ausreichend genau charakterisiert werden kann. Die externe Störgröße wird alsFolge (dk), die dem Ausgang der Regelstrecke überlagert ist, modelliert. Dabei wird davonausgegangen, dass (dk) selbst Ausgangsgröße eines gegebenen dynamischen Systems mitder Übertragungsfunktion Fd(z) und der Eingangsfolge ( ~dk) ist. Von der Folge ( ~dk) ist nurbekannt, dass ihre Werte dem Betrage nach niemals größer als Eins werden, was durchdie Beziehung für die l1-Norm der Folge ( ~dk)

k( ~dk)k1 = supk�0

j ~dkj � 1 (1)

beschrieben wird. Zur Vereinfachung der Herleitung wird vorerst angenommen, dassFd(z) BIBO-stabil ist. Erschwerend für die Reglerauslegung ist die Berücksichtigung einerharten Stellgrößenbeschränkung, d.h. es wird verlangt, dass die Werte der Stellfolge (uk)im Betrieb eine gegebene Schranke umax niemals überschreiten dürfen. Die Syntheseauf-gabe besteht nun darin, eine realisierbare z-Übertragungsfunktion R(z) für den Reglerzu �nden, die gewährleistet, dass die Werte der Ausgangsfolge (yk) dem Betrage nachfür alle im Rahmen von Gl.(1) erlaubten Folgen ( ~dk) möglichst klein bleiben. Selbstver-ständlich ist in diesem Syntheseziel die Gewährleistung der Stabilität des Regelkreises mitenthalten.

1

Page 46: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Zusammmenfassend lautet das Entwurfsproblem:Bei gegebenen Übertragungsfunktionen P (z) und Fd(z) und gegebener Stellgrößen-schranke umax ist eine realisierbare Reglerübertragungsfunktion R(z) so zu bestimmen,dass für alle Eingangsfolgen ( ~dk) mit der Eigenschaft

k( ~dk)k1 � 1

die Größek(yk)k1 = sup

k�0jykj

minimiert wird unter Einhaltung der Beschränkung

k(uk)k1 = supk�0

jukj � umax :

Zur Erläuterung der grundlegenden Prinzipien bei der Lösung dieser Aufgabenstellungsoll ein lineares, zeitinvariantes und BIBO-stabiles Abtastsystem mit der Eingangsfolge(vk) und der Ausgangsfolge (wk) betrachtet werden. Die Übertragungsfunktion des Ab-tastsystems werde mit G(z) bezeichnet. Es soll nun die Frage geklärt werden, wie großdieWerte der Ausgangsfolge (wk) dem Betrage nach im ungünstigsten Fall werden können,wenn die Werte der Eingangsfolge (vk) betragsmäßig beschränkt sind. Bezeichnet mandie Impulsantwort des Abtastsystems mit (gk), d.h.

(gk) = Z�1fG(z)g

so kann die Ausgangsfolge über die Faltungssumme

wk =kXi=0

givk�i

berechnet werden. Die l1-Norm der Folge (wk) läßt sich nun abschätzen [1] durch dieBeziehung

k(wk)k1 = supk�0

�����kXi=0

givk�i

����� � 1Xi=0

jgij!k(vk)k1 : (2)

Die Existenz der unendlichen Summe in dieser Gleichung ist für alle BIBO-stabilen Sys-teme gesichert, und der zugehörige Wert ist die sogenannte l1-Norm der Gewichtsfolge(gk)

k(gk)k1 =1Xi=0

jgij :

Wir gelangen so zum fundamentalen Zusammmenhang

k(wk)k1 � k(gk)k1k(vk)k1 ; (3)

2

Page 47: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

der jetzt unmittelbar zur Lösung der eingangs gestellten Entwurfsaufgabe herangezogenwerden kann. Es werden dazu nur noch die beiden Übertragungsfunktionen benötigt

y(z)~d(z)

= S(z) =Fd(z)

1 +R(z)P (z)(4)

u(z)~d(z)

= M(z) = � Fd(z)R(z)

1 +R(z)P (z); (5)

die sich auf Grund der Struktur des Festwertregelkreises im Bild 1 ergeben. Bezeichnetman ihre zugehörigen Impulsantworten mit (sk) bzw. (mk), so lautet das Syntheseproblemunter Berücksichtigung von Gl.(3):

Bestimme R(z) so, dass k(sk)k1 minimal wird, wobei zusätzlich die Neben-bedingung k(mk)k1 � umax einzuhalten ist.

Man könnte jetzt daran denken, diese Minimierungsaufgabe direkt in ein entsprechendesComputerprogramm umzusetzten und auf diese Weise ein rechnergestütztes Reglerent-wurfsverfahren zu realisieren. Dabei ergeben sich aber erhebliche Schwierigkeiten, da diebeiden Übertragungsfunktionen S(z) und M(z) auf eine für die Optimierung ungünstigeWeise von der Reglerübertragungsfunktion R(z) abhängen.

Eine drastische Vereinfachung der Aufgabe ergibt sich jedoch, wenn man die sogenann-te Faktorisierungsmethode [2] verwendet. Der Grundgedanke besteht dabei darin,Übertragungsfunktionen nicht wie üblich als Quotienten zweier Polynome sondern alsQuotienten zweier BIBO-stabiler gebrochen rationaler Funktionen anzuschreiben. Wirbezeichnen nun mit S die Menge aller BIBO-stabilen gebrochen rationalen Funktionenin z (d.h. gebrochen rationale Funktionen, deren Polstellen alle im Inneren des Einheit-skreises der komplexen z-Ebene liegen und mit der zusätzlichen Einschränkung, dass derGrad des Zählerpolynoms nicht größer als der Grad des Nennerpolynoms ist). Für dieStreckenübertragungsfunktion P (z) mit dem Zählerpolynom a(z) und dem Nennerpoly-nom b(z) ergibt sich demnach folgende Darstellung in faktorisierter Form

P (z) =a(z)

b(z)=

a(z)

(z � �)nb(z)

(z � �)n

j�j < 1 und n = maxfGrad(a(z)); Grad(b(z))g ;wobei wir weiterhin folgende Bezeichnungen verwenden

Z(z) :=a(z)

(z � �)n N(z) :=b(z)

(z � �)n : (6)

Die Menge S bildet mit den Operationen Addition und Multiplikation einen kommuta-tiven Ring. Man nennt zwei Elemente von S teilerfremd, wenn sie keine gemeinsamen Null-stellen am und ausserhalb des Einheitskreises der komplexen z-Ebene sowie für z !1 be-sitzen. Demzufolge sind Z(z) und N(z) genau dann teilerfremd, wenn die Polynome a(z)

3

Page 48: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

und b(z) keine gemeinsamen Wurzeln am und ausserhalb des Einheitskreises aufweisen.Zu den teilerfremden Funktionen Z(z) undN(z) existieren zwei weitere teilerfremde Funk-tionen X(z) und Y (z) aus S, sodass die sogenannte Bezout - Identität

Z(z)X(z) +N(z)Y (z) = 1 (7)

erfüllt wird. Die Anwendung der Faktorisierungsmethode liefert schließlich den be-merkenswerten Satz:

Jeder Regler, der den Regelkreis vom Bild 1 stabilisiert1, lässt sich durch

R(z) =X(z) +K(z)N(z)

Y (z)�K(z)Z(z) mit K(z) 2 S

darstellen.

(8)

Diese sogenannte Parametrisierung aller stabilisierenden Regler [3] bildet dieGrundlage für eine erfolgreiche rechnergestützte Lösung des Syntheseproblems. Um daszu erkennen, muss man lediglich die Übertragungsfunktionen S(z) und M(z) der Gln.(4)und (5) in faktorisierter Form darstellen. Unter Beachtung von (7) und (8) erhält man

S = (Y �KZ)NFd (9)

M = �(X +KN)NFd ; (10)

wobei zur Vereinfachung der Schreibweise die unabhängige Variable z in den Übertra-gungsfunktionen weggelassen wurde. Die Abhängigkeit der Übertragungsfunktionen Sund M vom neuen Entwurfsparameter K ist nun für die Optimierung wesentlich gün-stiger, als sie in der ursprünglichen Form (Gln.(4),(5)) von der Reglerübertragungsfunk-tion R gegeben war. Gleichzeitig ist auch das Stabilitätsproblem wesentlich entschärftworden, da für die (interne) Stabilität des Regelkreises lediglich K selbst stabil sein muss.

5.2 Lösung mit Linearer Programmierung

Es ist das Ziel der folgenden Überlegungen, die Syntheseaufgabe so darzustellen, dasssie mit Hilfe von Methoden der Linearen Programmierung gelöst werden kann. Dazuist eine einfache Vorbetrachtung notwendig, bei der es um die Frage geht, wie man dieImpulsantwort für eine Hintereinanderschaltung zweier BIBO-stabiler Abtastsysteme mitden z-Übertragungsfunktionen G(z) und H(z) angeben kann. Für die Impulsantwort (fk)des Gesamtsystems gilt o¤ensichtlich

(fk) = Z�1fG(z)H(z)g =

kXi=0

gihk�i

!; (11)

1Dabei ist die sogenannte interne Stabilität gemeint, bei der über die BIBO-Stabilität des Regelkreiseshinausgehend verlangt wird, dass auch alle inneren Größen des Regelkreises beschränkt bleiben, soferndie äußere Eingangsgröße beschränkt ist.

4

Page 49: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

wobei mit (gk) und (hk) die Impulsantworten von G(z) bzw. H(z) gemeint sind. DieFaltungssumme in dieser Beziehung lässt sich aber auch unter Verwendung der Matrizen-schreibweise angeben. Dazu führt man eine in�nite Matrix G ein, deren Spalten aus denElementen der Impulsantwort (gk) gebildet werden

G =

26666664g0 0 0 � � �g1 g0 0 � � �g2 g1 g0

. . .

g3 g2 g1. . .

......

.... . .

37777775 :

Außerdem werden die Elemente der Impulsantworten (hk) und (fk) zu in�niten Spal-tenvektoren h bzw. f zusammengefasst

h =

26664h0h1h2...

37775 ; f =

26664f0f1f2...

37775 :Damit lässt sich nun Gl.(11) als

f = Gh

anschreiben. Für die Charakterisierung eines BIBO-stabilen Abtastsystems stehen alsoinsgesamt vier mögliche Notationen zur Verfügung: die z-Übertragungsfunktion, die Im-pulsantwort als Folge, der in�nite Spaltenvektor der Impulsantwort und die in�nite Matrixspaltenweise aufgebaut aus der Impulsantwort.

Überträgt man die eben eingeführte Schreibweise auf die Darstellung der Impulsantwortenvon S(z) und M(z), so ist es zunächst zweckmäßig, folgende Abkürzungen für die Pro-dukte vorgegebener Übertragungsfunktionen einzuführen:

A(z) = Y (z)N(z)Fd(z)

B(z) = �Z(z)N(z)Fd(z)C(z) = �X(z)N(z)Fd(z)D(z) = �N(z)2Fd(z)

Damit erhält man für die interessierenden Übertragungsfunktionen des geschlossenenKreises die Darstellung

S(z) = A(z) +B(z)K(z)

M(z) = C(z) +D(z)K(z),

womit man für die Spaltenvektoren der zugehörigen Impulsantworten schreiben kann:

s = a+Bk (12)

m = c+Dk : (13)

5

Page 50: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Das Entwurfsproblem lässt sich damit folgendermaßen formulieren:

Bestimme einen (in�niten) Spaltenvektor k mit endlicher Norm kkk1 so, dasska+Bkk1

einen minimalen Wert unter Einhaltung der Nebenbedingungkc+Dkk1 � umax

annimmt.

Dabei wurde von der o¤ensichtlichen Äquivalenz zwischen der l1-Norm des Spaltenvektorsder Impulsantwort und der l1-Norm der Impulsantwort als Folge Gebrauch gemacht (vgl.Gl.(3)).

Für den Einsatz der Linearen Programmierung zur Lösung dieser Aufgabe stellt maneinen beliebigen in�niten Spaltenvektor x als Di¤erenz zweier nichtnegativer in�niterSpaltenvektoren x+ und x� dar, d.h.

x = x+ � x� mit x+i ; x�i � 0 :

Führt man noch einen in�niten Zeilenvektor 1T ein

1T := [1 1 1 : : :] ;

so gilt für die l1-Norm des Spaltenvektors x

kxk1 = 1Tx+ + 1Tx� ;womit man nun in der Lage ist, das Syntheseproblem als in�nites Lineares Programmanzugeben:

min 1T (s+ + s�)unter

s+ � s� �B(k+ � k�) = am+ �m� �D(k+ � k�) = c

1T (m+ +m�) � umax1T (k+ + k�) <1

s+; s�;m+;m�;k+;k� � 0

Dieses in�nite Lineare Programm kann durch endliche Lineare Programme mit vorgeb-barer Genauigkeit approximiert werden [4].

Auf einen Sonderfall soll hier näher eingegangen werden. Wählt man für den Parame-ter � in Gl.(6) den Wert 0, so sind Z und N Übertragungsfunktionen mit endlicherImpulsantwort (FIR-Funktionen). Dazu können aber stets auch Lösungen X und Y derBezout-Identität (7) gefunden werden, die ebenfalls eine endliche Impulsantwort besitzen.Unter der Annahme, dass der Nenner der Übertragungsfunktion Fd vollständig im Nennerder Streckenübertragungsfunktion P enthalten ist, sind die Übertragungsfunktionen S undM in den Gln.(9) und (10) genau dann FIR-Funktionen, wenn die ÜbertragungsfunktionK selbst als FIR-Funktion angesetzt wird. Für diesen Fall ergibt das Syntheseproblem di-rekt ein endliches Lineares Programm, das mit Hilfe geeigneter Software (z.B.[6]) e¢ zientgelöst werden kann.

6

Page 51: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

5.3 Reduktion der Reglerordnung

Das Ergebnis des hier vorgestellten Entwurfsverfahrens ist im Allgemeinen ein Reglerhoher Ordnung (typischerweise liegt die Ordnung im Bereich 50 bis 1000). Es ist daherzweckmäßig, geeignete Verfahren zur Reduktion der Reglerordnung einzusetzen, um denAufwand bei der Realisierung des Regelgesetzes zu senken bzw. das Entwurfsverfahrenüberhaupt erst praxistauglich zu machen. In der Literatur sind zu diesem Thema zahlrei-che Vorschläge zu �nden (siehe z.B. [5]). In diesem Abschnitt wird nun gezeigt, dass mandiese Aufgabe ebenfalls als ein Problem der Linearen Programmierung formulieren kann,und es wird damit eine gut geeignete Reduktionsmethode entwickelt.

Bezeichnet man das Zählerpolynom und das Nennerpolynom von R(z) mit zR(z) bzw.nR(z), so kann man unter Beachtung von Gl.(8) schreiben

R(z) =zR(z)

nR(z)=X(z) +K(z)N(z)

Y (z)�K(z)Z(z) (14)

Zusammen mit den Gln. (9) und (10) erhält man die Beziehung

S(z)zR(z) +M(z)nR(z) = 0: (15)

Im nächsten Schritt werden an Stelle der Polynome (hohen Grades) zR(z) und nR(z) FIR-Funktionen ZR(z) und NR(z) mit vorgegebener (niedriger) Ordnung r und unbekanntenKoe¢ zienten fi und gi eingeführt2

ZR(z) = f0 + f1z�1 + : : :+ fr�1z

�r+1 + frz�r (16)

NR(z) = 1 + g1z�1 + : : :+ gr�1z

�r+1 + grz�r (17)

und der ordnungsreduzierte Regler durch

R(z) =ZR(z)

NR(z)

dargestellt. Aus Gl.(15) erhält man dadurch die Beziehung

S(z)ZR(z) +M(z)NR(z) = (z): (18)

Die BIBO-stabile gebrochen rationale Funktion(z) auf der rechten Seite dieser Gleichungwird als Approximationsfehler aufgefasst. Die grundlegende Idee besteht jetzt darin, dieKoe¢ zienten fi und gi der FIR-Funktionen ZR(z) und NR(z) so zu bestimmen, dass diel1-Norm der Impulsantwort von (z) minimiert wird. Dazu werden zunächst folgendeVektoren de�niert

fT := [f0 f1 : : : fr]

gT := [1 g1 : : : gr]:

Unter der Annahme, dass S(z) und M(z) FIR-Funktionen der Ordnung p sind, werdenToeplitz-Matrizen S undM der Dimension (p+ r + 1)� (r + 1) mit den entsprechenden

2Man beachte, dass der Koe¢ zient g0 von vorherein mit Eins festgelegt wird.

7

Page 52: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Impulsantworten der beiden Funktionen erzeugt. Für die Impulsantwort von (z), welchedie Länge p + r + 1 besitzt, wird die Di¤erenz zweier nichtnegativer Vektoren + bzw. � eingeführt. Damit erhält man aus Gl.(18)

Sf +Mg = + � �,

womit das Lineare Programm zur Reglerordnungsreduktion lautet:

minimiere 1T� + + �

�unter

Sf +Mg = + � � + � 0; � � 0

Der Schwachpunkt der vorgeschlagenen Ordnungsreduktionsmethode besteht darin, dassdie Stabilität des Regelkreises mit dem Regler niedriger Ordnung nicht garantiert wird.Obwohl eine hinreichende Stabilitätsbedingung in das Lineare Programm aufgenommenwerden könnte (siehe [5]), wird von dieser Möglichkeit hier nicht Gebrauch gemacht. DiePraxis hat nämlich gezeigt, dass diese hinreichende Stabilitätsbedingung sehr restriktivist und zu unerwünscht hohen Ordnungen für den reduzierten Regler führt. Stattdessenwird das Lineare Programm wiederholt mit wachsender Ordnung r gelöst und dabei jedeLösung einer Stabilitätsprüfung unterzogen. Ausserdem werden jeweils die zugehörigenWerte der l1-Norm für die Impulsantworten (sk) und (mk) (mit dem reduzierten Regler)berechnet. Damit ist es möglich, denjenigen Regler auszuwählen, der einen vernünftigenKompromiss zwischen Regelgüte und Reglerordnung liefert.

5.4 Beispiel

Die Durchführung des Reglerentwurfes wird nun an einem konkreten Beispiel demonst-riert. Folgende Daten des Problems seien gegeben:

>> PTransfer function:4.887e-005 z^2 + 0.0001923 z + 4.845e-005-----------------------------------------

z^3 - 2.881 z^2 + 2.869 z - 0.988Sampling time: 0.1

>> FdTransfer function:0.01-----z - 1Sampling time: 0.1

>> umax =80

8

Page 53: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Im ersten Schritt sind aus der gegebenen Übertragungsfunktion P (z) der Regelstrecke dieBIBO-stabilen gebrochen rationalen Funktionen Z(z), N(z), X(z) und Y (z) zu bestim-men. Die dazu erforderlichen Berechnungen werden vorerst allgemein dargestellt. Für dieÜbertragungsfunktion P (z) wird ausführlich angeschrieben

P (z) =a(z)

b(z)=�0 + �1z + : : :+ �n�1z

n�1 + �nzn

�0 + �1z + : : :+ �n�1zn�1 + zn

.

Mit der Festlegung des Parameters � (unter Einhaltung der Bedingung j�j < 1) sind dieFunktionen Z(z) und N(z) bereits bestimmt

Z(z) =�0 + �1z + : : :+ �n�1z

n�1 + �nzn

(z � �)n

N(z) =�0 + �1z + : : :+ �n�1z

n�1 + zn

(z � �)n

Mehr Rechenaufwand hingegen erfordert die Ermittlung von X(z) und Y (z), sodass dieBezout-Identität

Z(z)X(z) +N(z)Y (z) � 1erfüllt wird. Der Ansatz für die Funktionen X(z) und Y (z) lautet nun

X(z) = 0 + 1z + : : :+ mz

m

(z � �)m

Y (z) =�0 + �1z + : : :+ �mz

m

(z � �)m

und in die Bezout-Identität eingesetzt ergibt dies die Gleichung

(�0 + �1z + : : :+ �nzn)( 0 + 1z + : : :+ mz

m)+

+(�0 + �1z + : : :+ �n�1zn�1 + zn)(�0 + �1z + : : :+ �mz

m) � (z � �)n+m.

Es ist zu beachten, dass die Anzahl der unbekannten Koe¢ zienten (das sind die i und�i) 2m + 2 beträgt und dass der Koe¢ zientenvergleich in dieser Identität insgesamt n +m + 1 Gleichungen liefert. Möchte man nun die gesuchten Koe¢ zienten damit eindeutigbestimmen, so muss o¤ensichtlich gelten

2m+ 2!= n+m+ 1,

woraus man für den Grad m die Bedingung erhält:

m = n� 1

Mit dieser Wahl für m und

(z � �)2n�1 = w0 + w1z + : : :+ w2n�2z2n�2 + z2n�1

9

Page 54: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

ergibt der Koe¢ zientenvergleich:

�0 0 + �0�0 = w0

�1 0 + �0 1 + �1�0 + �0�1 = w1

...

�n n�2 + �n�1 n�1 + �n�2 + �n�1�n�1 = w2n�2

�n n�1 + �n�1 = 1

Diese Gleichungen können in kompakter Matrix-Schreibweise zusammengefasst werdenzu: 2666666666666666666664

�0 0 : : : 0 �0 0 : : : 0

�1 �0. . .

... �1 �0. . .

...

�1. . . 0 �1

. . . 0... �0

... �0... �1

... �1

�n�1. . . �n�1

. . .

�n �n�1... 1 �n�1

...

0 �n. . . 0 1

. . ....

. . . . . . �n�1...

. . . . . . �n�10 : : : 0 �n 0 : : : 0 1

3777777777777777777775| {z }

=:H

26666666666666664

0 1...

n�2 n�1�0�1...

�n�2�n�1

37777777777777775=

266666666666666666664

w0w1w2

...

...

w2n�3w2n�21

377777777777777777775

:

Die aus den Koe¢ zienten der Polynome a(z) und b(z) aufgebaute 2n�2n Matrix H wirdResultante genannt. Sie ist genau dann regulär, wenn die Polynome a(z) und b(z)teilerfremd sind.

Im vorliegenden Beispiel ergibt die Faktorisierung mit dem Parameter

� = 0

folgende gebrochen rationale Funktionen:

>> ZTransfer function:4.887e-005 z^2 + 0.0001923 z + 4.845e-005-----------------------------------------

z^3

10

Page 55: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Sampling time: 0.1

>> NTransfer function:z^3 - 2.881 z^2 + 2.869 z - 0.988---------------------------------

z^3Sampling time: 0.1

>> XTransfer function:1.851e004 z^2 - 2.448e004 z + 9427----------------------------------

z^2Sampling time: 0.1

>> YTransfer function:z^2 + 1.976 z + 0.4623----------------------

z^2Sampling time: 0.1

Damit sind die Voraussetzungen für die Erstellung des Linearen Programms zum Reg-lerentwurf gegeben. Für den Reglerparameter K(z) wird dabei eine FIR-Funktion miteiner vorgegebenen Ordnung gewählt. Es zeigt sich, dass das Lineare Programm miteinem K der Ordnung 7 (die �Länge�des Vektors k ist 8) erstmals eine zulässige Lösungbesitzt. Im Bild 2 sind die erzielten Werte für jjSjj1 in Abhängigkeit von der Länge vonk dargestellt.

11

Page 56: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

5 10 15 20 25 30 35 40 45 500.042

0.044

0.046

0.048

0.05

0.052

0.054

0.056||s

|| 1

Länge von kBild 2. Ergebnisse des Reglerentwurfes

Wird beispielsweise die Länge von k gleich 10 gewählt, so erhält man als optimale Lösung

jjSjj1 = 0:047188

mit der zugehörigen Reglerübertragungsfunktion

>> RTransfer function:2442 z^12 + 1343 z^11 + 113.4 z^10 - 107.5 z^9

- 314.3 z^8 - 484.9 z^7 - 601.4 z^6 - 652 z^5- 180.1 z^4 + 305.5 z^3 + 752.5 z^2 + 548.5 z + 288.1

------------------------------------------------------------------------z^12 + 2.761 z^11 + 4.551 z^10 + 5.794 z^9

+ 6.282 z^8 + 6.004 z^7 + 5.086 z^6 + 3.773 z^5+ 2.382 z^4 + 1.225 z^3 + 0.4767 z^2 + 0.124 z + 0.01413

Sampling time: 0.1

Im nächsten Schritt soll nun dieser Regler 12. Ordnung durch einen Regler niedrigerOrdnung mit Hilfe der Methode aus dem Abschnitt 5.3 approximiert werden. Dazu wirddas Lineare Programm zur Reglerordnungsreduktion für einen reduzierten Regler 2: Ord-nung gelöst. Der Wert von jjSjj1 wird dabei geringfügig schlechter, er beträgt mit demreduzierten Regler

jjSjj1 = 0:0524.Die Übertragungsfunktion des reduzierten Reglers ist durch

12

Page 57: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

>> RrTransfer function:2552 z^2 - 4428 z + 2023------------------------z^2 + 0.4759 z + 0.2082Sampling time: 0.1

gegeben. Im Bild 3 sind die logarithmischen Frequenzkennlinien der Störübertragungs-funktion S(z) für den Regler 12: Ordnung (durchgehend) und den Regler 2: Ordnung(strichliert) dargestellt.

­60

­55

­50

­45

­40

­35

­30

­25

Mag

nitu

de (d

B)

0.1  1 10 100­180

­135

­90

­45

0

45

Phas

e (d

eg)

Frequency  (rad/sec)

Bild 3. Frequenzkennlinien von S(z)

Abschließend sei erwähnt, dass die hier vorgestellte Reglerentwurfsmethode noch erwei-tert werden kann. Es können selbstverständlich zusätzliche Forderungen, die sich durchlineare Gleichungen und/oder Ungleichungen in den Reglerparamtern anschreiben lassen,mitberücksichtigt werden. Die Erweiterung auf Reglerstrukturen mit mehr als einem Frei-heitsgrad sowie die Behandlung von Mehrgrößensystemen ist ebenfalls möglich. Allerdingssteigt im letztgenannten Fall der Rechenaufwand im Allgemeinen drastisch an, weshalbzur praktischen Durchführung zusätzliche rechentechnische Maßnahmen erforderlich sind.

Literatur

[1] C.A. Desoer, M. Vidyasagar: Feedback Systems: Input - Output Properties, AcademicPress, New York, 1975.

[2] M. Vidyasagar: Control System Synthesis: A Factorization Approach, MIT Press,Cambridge MA, 1985.

13

Page 58: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

[3] D.C. Youla, H.A. Jabr, J.J. Bongiorno: Modern Wiener - Hopf design of optimalcontrollers - Part II: The multivariable case, IEEE Trans. on Automatic Control, AC-21, 1976, pp. 319-338.

[4] M. A. Dahleh, I. J. Diaz-Bobillo: Control of Uncertain Systems - A Linear Program-ming Approach, Prentice Hall, New Jersey, 1995

[5] B.D.O. Anderson, Y. Liu: Controller Reduction: Concepts and Approaches, IEEETransactions on Automatic Control, Vol. 34, 1989, pp. 802-812.

[6] IBM Optimization Subroutine Library OSL �Guide and Reference, Release 2, 1991.

14

Page 59: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

6 Semide�nite Programmierung

In diesem Kapitel wird das Semide�nite Programm ausgehend vom einfachsten Typeines konvexen Optimierungsproblems dem Linearen Programm hergeleitet. Dabei istdas Lineare Programm in zweifacher Hinsicht von Bedeutung: Einerseits kann das Semi-de�nite Programm als Verallgemeinerung eines Linearen Programms auf matrixwertigeVariablen interpretiert werden und andererseits hat die Entwicklung von Algorithmen zurLösung Linearer Programme ganz wesentlich die derzeit für Semide�nite Programme zurVerfügung stehenden Rechenverfahren mitbestimmt.

In den folgenden Ausführungen wird der Begri¤ des Semide�niten Programms ausgehendvom Linearen Programm in Standardform

minxcTx

unter

Ax = bx � 0

durch eine formale Verallgemeinerung hergeleitet. Zu diesem Zweck wird das LineareProgramm nochmals unter Verwendung der Skalarproduktnotation für Vektoren, d.h. füry; z 2 Rn

hy; zi :=nXi=1

yizi = yTz

angeschrieben. Die Matrix A des Gleichungssystems wird dazu durch ihre Zeilenvektorendargestellt

A =

264 ~aT1...~aTm

375 ,

womit man für das Lineare Programm schreiben kann:

minxhc;xi

unterh~ai;xi = bi i = 1; : : : ;mx � 0

(1)

Aus dieser Darstellung erhält man unmittelbar ein Semide�nites Programm, wenn manalle Vektoren durch symmetrische n � n Matrizen ersetzt. Das Skalarprodukt für zweisymmetrische n�nMatrizenY;Zmit den Elementen yij, zij ist durch folgende Beziehung

hY;Zi :=nXi=1

nXj=1

yijzij = spur(YZ) (2)

1

Page 60: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

de�niert, womit man aus (1) folgende Optimierungsaufgabe erhält:

minXspur (CX)

unter

spur (AiX) = bi i = 1; : : : ;m

X � 0

(3)

Die symmetrischen Matrizen C und Ai (i = 1; : : : ;m) sind konstant und vorgegeben, die�Variable�des Problems ist die symmetrische Matrix X. Die Ungleichungsnebenbedin-gung in (3) bedarf allerdings einer neuen Interpretation. Hier ist nun gemeint, dass diesymmetrische n� n Matrix X positiv semide�nit ist, d.h.

uTXu � 0 für alle u 2 Rn

Würde man nämlich die Ungleichung als Forderung, dass die Elemente vonX nicht negativsind, deuten, so ließe sich die Aufgabe (3) wiederum als Lineares Programm anschreiben.Die Nebenbedingung nach positiver Semide�nitheit von X bringt nun nichtlineare Be-dingungen für die Elemente xij. Dies wird sofort klar, wenn man beispielsweise dasSylvester-Kriterium als notwendige und hinreichende Bedingung dafür anwendet.

Als nächstes soll die Frage geklärt werden, wie das zur Optimierungsaufgabe (3) dualeProblem de�niert ist. Zur De�nition der Lagrange Funktion, der dualen Lagrange Funk-tion und des dualen Optimierungsproblems für eine gegebene Parameteroptmierungsauf-gabe sei auf das Kapitel 1 verwiesen. Es muss lediglich beachtet werden, dass in derDe�nition der Lagrange Funktion an Stelle der Summen auch Skalarprodukte verwen-det werden können. Damit folgt unmittelbar, dass nunmehr der Vektor � durch einesymmetrische Matrix � zu ersetzen ist. Für die Lagrange Funktion ergibt dies schließlich

L(X;�;�) = spur (CX) +mXi=1

�i (bi � spur (AiX))� spur (�X) . (4)

Aufgrund der Eigenschaften des Skalarproduktes läßt sich diese Gleichung umformen zu:

L(X;�;�) = bT� + spur

(C���

mXi=1

�iAi)X

!Für die Lagrange´sche duale Funktion folgt daraus

d(�;�) = bT�+ infX

spur

(C���

mXi=1

�iAi)X

!!und � � 0 ,

wobei in diesem Fall � � 0 wiederum bedeutet, dass � positiv semide�nit ist. DieFunktion d(�;�) kann nun explizit angegeben werden durch:

d(�;�) =

8<: bT� für C���mPi=1

�iAi = 0 und � � 0

�1 sonst

2

Page 61: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Für die duale Optimierungsaufgabe gemäßGl. (3) erhält man schließlich

max�bT�

unter

C���mPi=1

�iAi = 0

� � 0

. (5)

In diesem Optimierungsproblem kommt der Matrix � die Rolle einer Schlupfvariablen zu,was gemeinsam mit der De�nition y := �� zu folgender Umformung verwendet werdenkann:

minybTy

unter

C+mPi=1

yiAi � 0(6)

In der regelungstechnischen Literatur wird vielfach die duale Optimierungsaufgabe (6) alsSemide�nites Programm bezeichnet. Die Nebenbedingung in (6) heißt lineare Matrix-ungleichung [1] (engl. Linear Matrix Inequality, abgekürzt LMI).

Um eine gewisse Einsicht zu gewinnen, soll folgende Aufgabe mit den beiden Opti-mierungsvariablen y1 und y2 als erstes Beispiel für ein Semide�nites Programm betrachtetwerden.

min y1 + y2unter266664

0 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1

377775+2666640 0 0 0 00 �2 0 0 00 0 0 0 00 0 0 0 �10 0 0 �1 0

377775 y1 +2666641 0 0 0 00 0 �1 0 00 �1 0 0 00 0 0 �1 00 0 0 0 0

377775 y2 � 0(7)

Im Bild 1 ist der zulässige Bereich in der y1-y2 Ebene dargestellt, er wird in diesem Beispieldurch die y1-Achse sowie durch zwei Parabeln begrenzt. Dies wird leichter ersichtlich,wenn man die Nebenbedingung kompakter in der Form266664

y2 0 0 0 00 1� 2y1 �y2 0 00 �y2 1 0 00 0 0 1� y2 �y10 0 0 �y1 1

377775 � 0anschreibt. Außerdem sind im Bild 1 die Linien konstanter Zielfunktionswerte y1+y2 = zeingetragen, die optimale Lösung ist selbstverständlich durch den Punkt y�1 = �1; y�2 = 0und den Funktionswert z� = �1 gegeben.

3

Page 62: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

­2 ­1.5 ­1 ­0.5 0 0.5 1 1.5

­1.5

­1

­0.5

0

0.5

1

1.5

z = ­1.5

z = ­1

z = ­0.5

z = 0

z = 0.5z = 1

 y*

y2

y1

Bild 1. Beispiel für ein semide�nites Programm

Im Weiteren wird zur einfacheren Darstellung einer linearen Matrixungleichung in denVariablen xT = [x1 : : : xm] und den gegebenen symmetrischen n � n Matrizen Fi (i =0; : : : ;m) folgende Notation eingeführt:

F(x) := F0 + F1x1 + F2x2 + : : :+ Fmxm

Weiters sei G(x) ebenfalls eine n�n Matrix, deren Elemente a¢ n in x sind. Die folgendeZusammenstellung enthält die wichtigsten Eigenschaften linearer Matrixungleichungen.

� Die Menge fx jF(x) � 0g ist konvex.

� F(x) � 0() �F(x) � 0

� F(x) � G(x) bedeutet de�nitionsgemäßF(x)�G(x) � 0

� F(x) � 0 und G(x) � 0()�F(x) 00 G(x)

�� 0

� F(x) > 0 bzw. F(x) < 0 wird strikte lineare Matrixungleichung genannt. Es istüblich, eine Optimierungsaufgabe mit einer linearen Zielfunktion und einer striktenLMI Nebenbedingung auch als Semide�nites Programm zu bezeichnen.

� T sei eine reguläre n � n Matrix, dann gilt: TTF(x)T � 0 () F(x) � 0(Kongruenz-Transformation)

� Schur Komplement: Für eine Matrix F, die sich aus Matrizen Q = QT , R = RT

und S in der Form F =

�Q SST R

�darstellen läßt, gilt:

F > 0() Q > 0 und R� STQ�1S > 0 bzw.

F > 0() R > 0 und Q� SR�1ST > 0

4

Page 63: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Gerade die letzten beiden Eigenschaften bieten häu�g die Möglichkeit, aus einer zunächstnichtlinearen Matrixungleichung eine lineare zu erzeugen (siehe z.B.[1],[5]). So zumBeispiel kann eine Normbeschränkung für F(x) mit Hilfe des Schur Komplements sehreinfach in eine LMI umgewandelt werden (mit �max wird dabei der größte Singulärwerteiner Matrix bezeichnet und E steht für eine Einheitsmatrix entsprechender Dimension):

kF(x)k2 = �max (F(x)) < 1() E� F(x)F(x) > 0

E� F(x)F(x) > 0()�

E F(x)F(x) E

�> 0

6.1 Erste regelungstechnische Anwendung

Als erstes Beispiel soll nun der Stabiltästnachweis der Ruhelage xR = 0 des linearenautonomen Systems

_x = Ax

betrachtet werden. Diese Aufgabe, die von A.M. Ljapunov vor mehr als 100 Jahrenerfolgreich gelöst wurde, brachte sicherlich die erste Anwendung linearer Matrizenunglei-chungen in der Regelungstechnik mit sich, ohne dass dieser Begri¤ damals schon bekanntwar. Ljapunov hat gezeigt, wie die Stabilitätsprüfung mit Hilfe einer verallgemeinertenEnergiefunktion - der sogenannten Ljapunov-Funktion - durchgeführt werden kann. Mansetzt dazu für die Ljapunov-Funktion eine quadratische Form

V (x) = xTPx

an. Für die zeitliche Ableitung von V (x) gilt damit:

_V (x) = xT (ATP+PA)x

Die Stabilitätsbedingung lautet dann: Die Ruhelage xR = 0 ist genau dann global as-ymptotisch stabil, wenn ein P > 0 existiert, sodaßATP+PA < 0 erfüllt wird. Die Suchenach einer geeigneten Matrix P kann unmittelbar als Semide�nites Programm formuliertwerden:

min tunter�

P 00 �ATP�PA

�+ Et � 0

(8)

E bezeichnet hier eine 2n� 2n Einheitsmatrix. Zunächst ist es noch nicht o¤ensichtlich,dass diese Optimierungsaufgabe von der Form (6) ist, sind doch die Optimierungsvariablenim aktuellen Fall die skalare Größe t sowie die symmetrische Matrix P. Es kann jedochsehr leicht gezeigt werden, dass die Nebenbedingung in (8) auf die gewohnte Form einerLMI gebracht werden kann. Für ein System mit zwei Zustandsgrößen beispielsweise kanndie Matrix P durch Verwendung geeigneter Basismatrizen Bi als

P =

�p11 p12p12 p22

�=

�1 00 0

�| {z }

B1

p11 +

�0 11 0

�| {z }

B2

p12 +

�0 00 1

�| {z }

B3

p22

5

Page 64: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

angeschrieben werden. Setzt man diese Darstellung in die Nebenbedingung von (8), einso erhält man�

B1 00 �ATB1 �B1A

�p11 +

�B2 00 �ATB2 �B2A

�p12+

+

�B3 00 �ATB3 �B3A

�p22 + Et � 0

womit die Ungleichung das gewünschte Aussehen annimmt. Schon dieses Beispielzeigt, dass die Erstellung Semide�niter Programme für regelungstechnische Anwendun-gen vielfach aufwändige Manipulationen mit Matrizen in Blockstruktur erfordert. Dafürstehen heute allerdings sehr ausgereifte rechentechnische Hilfsmittel zur Verfügung (siehez.B. [2],[3],[4],[6]). Die Lösung der Optimierungsaufgabe (8) kann selbstverständlich abge-brochen werden, sobald der Wert der Zielfunktion negativ wird. Der wirkliche Vorteildieses Ansatzes zur Stabilitätsprüfung kommt aber erst dann zum Tragen, wenn die Sys-temmatrix A nur ungenau bekannt oder gar zeitabhängig ist. Kann man nämlich dieSystemmatrix durch die konvexe Hülle gegebener (konstanter) Matrizen Ai einschließen,d.h.

A 2(�1A1 + �2A2 + : : :+ �kAk

����� �i � 0 i = 1; : : : ; k undkXi=1

�i = 1

),

so lautet das Optimierungsproblem zum Nachweis der Stabilität:

min tunter�

P 00 �AT

1P�PA1

�+ Et � 0

...�P 00 �AT

kP�PAk

�+ Et � 0

Es ist zu beachten, dass hier eine einzige Matrix P alle k Nebenbedingungen erfüllenmuss.

Literatur

[1] S. Boyd, L. El Ghaoui, E. Feron, V. Balakrishnan: Linear Matrix Inequalities inSystem and Control Theory, SIAM Studies in Applied Mathematics, Vol.15, 1994.

[2] P. Gahinet, A. Nemirovskii, A.J. Laub, M. Chilali: LMI Control Toolbox, The Math-Works Inc., Natick MA, 1995.

[3] L. El Ghaoui, F. Delebecque, R. Nikoukhah: LMITOOL: A User-Friendly Interface forLMI Optimization, 1995, erhältlich via ftp unter ftp.ensta.fr in pub/elghaoui/lmitool

6

Page 65: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

[4] Shao-Po Wu, S. Boyd: SDPSOL - A Parser/Solver for Semide�nite Programming andDeterminant Maximization Problems with Matrix Structure, 1996, erhältlich via ftpunter isl.stanford.edu in pub/boyd

[5] C.W. Scherer: Lineare Matrixungleichungen in der Theorie der robusten Regelung,Automatisierungstechnik, Vol.45, 1997, pp. 306-318.

[6] J. Löfberg: YALMIP : A Toolbox for Modeling and Optimization in MATLAB,Proceedings of the CACSD Conference, Taipei, Taiwan, 2004, zu beziehen vonhttp://control.ee.ethz.ch/~joloef/yalmip.php

7

Page 66: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

7 Reglerentwurf mit Semide�niter Programmierung

In diesem Kapitel wird der Einsatz der Semide�niten Programmierung zum Entwurf vonlinearen zeitinvarianten Regelkreisen gezeigt. Als Vorbetrachtung soll zunächst die Fragegeklärt werden, wie sich die Größe eines sogenannten energiebeschränkten Eingangssig-nales beim Durchgang durch ein stabiles Übertragungssystem verändert.

7.1 Analyse mit Hilfe von linearen Matrizenungleichungen

Dazu wird ein lineares, zeitinvariantes Übertragungssystem betrachtet, dessen mathema-tisches Modell durch

_x = Ax+ bu

y = cTx+ du

gegeben ist. Der Anfangszustand sei für die weiteren Betrachtungen durch x(0) = 0festgelegt. Vom Eingangssignal u wird angenommen, daßes energiebeschränkt ist, d.h.daßseine Norm der Ungleichung

kuk2 :=

0@ 1Z0

u2dt

1A 12

<1

genügt. Die zentrale Fragestellung lautet nun: Wie großkann die Energie des Ausgangssig-nales y, d. h.

kyk2 :=

0@ 1Z0

y2dt

1A 12

bei einem asymptotisch stabilen Übertragungssystem werden? Die Antwort ist durchfolgendes Lemma gegeben:

Lemma 1 Das System ist asymtotisch stabil und es gilt

kyk2 < kuk2

genau dann, wenn eine symmetrische Matrix P existiert, sodass die linearen Matrizenun-gleichungen

P > 0�ATP+PA+ ccT Pb+ cdbTP+ dcT d2 � 2

�< 0

erfüllt werden.

Im Folgenden wird eine Beweisskizze zu diesem Satz, der in der englischsprachigen Lit-eratur auch als bounded-real lemma [1] bezeichnet wird, angegeben. Man betrachtet

1

Page 67: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

zunächst die zweite LMI Bedingung und erzeugt die Ungleichung für die entsprechendequadratische Form

�xT u

� � ATP+PA+ ccT Pb+ cdbTP+ dcT d2 � 2

� �xu

�< 0 ,

was durch Ausmultiplizieren auf folgende Bedingung führt:

xT (ATP+PA)x+ 2xTPbu| {z }ddt(xTPx)

+ xTccTx+ 2xTcdu+ d2u2| {z }y2

� 2u2 < 0 .

Unter Beachtung des mathematischen Modells erhält man daraus, wie schon angedeutet

d

dt(xTPx) + y2 < 2u2 .

Integriert man diese Ungleichung, so erhält man bei Berücksichtigung des verschwinden-den Anfangszustands:

xT (�)Px(�) +

�Z0

y2dt < 2�Z0

u2dt

Aufgrund der asymptotischen Stabilität des Systems und der Annahme, daßkuk2beschränkt ist, folgt für den Zustandsvektor des Systems

lim�!1

x(�) = 0 ,

womit man schließlich aus obiger Ungleichung die gesuchte Abschätzung

1Z0

y2dt < 21Z0

u2dt

gewinnt.

Die Berechnung der kleinsten Schranke führt nun abermals auf ein Semide�nites Pro-gramm

min 2

unterP > 0�

ATP+PA+ ccT Pb+ cdbTP+ dcT d2 � 2

�< 0

(1)

Der optimale Wert � dieses Optimierungsproblems entspricht der sogenannten H1-Normdes Übertragungssystems, die für die Übertragungsfunktion des Systems

G(s) = cT (sE�A)�1b+ d

2

Page 68: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

erklärt istkGk1 := sup

!jG(j!)j = � .

Gerade die Möglichkeit, die H1-Norm über ein Semide�nites Programm zu berechnen,erö¤net neue Wege des Entwurfes von Regelkreisen, was im folgenden Abschnitt nähererläutert wird. In diesem Zusammenhang ist es noch erwähnenswert, daßes auch möglichist, andere Systemnormen durch lineare Matrixungleichungen zu erfassen. Der interes-sierte Leser sei dazu auf das Buch [1] bzw. den Beitrag [3] verwiesen.

7.2 Reglerentwurf

Den weiteren Betrachtungen sei folgender Regelkreis, wie er im Bild 1 dargestellt ist,zugrunde gelegt.

w

u y

eStrecke

Regler

Bild 1. Regelkreis

Die externe Eingangsgröße des Regelkreises (z.B. eine Störgröße oder die Führungsgröße)wird mit w bezeichnet, u ist die Stellgröße, die Ausgangsgröße e stellt die Regelgrößedar und im Vektor y sind die Meßgrößen, die für die Regelung zur Verfügung stehen,zusammengefasst. Der Block mit der Bezeichnung �Strecke�enthält i.A. neben dem zuregelnden System auch noch weitere dynamische Systeme, die entweder zur Signalmodel-lierung oder zur Frequenzgewichtung von Forderungen an das Gesamtsystem dienen. Fürdas System �Strecke� ist folgendes mathematische Modell gegeben, wobei die Ordnungdes Systems gleich n sei:

_x = Ax + bu + ~bw

y = Cx + ~dw (2)

e = cTe x+ deu+~dew

Zur Vereinfachung der Lösungsweges wird von vorne weg angenommen, dass die Streckekeinen direkten Pfad vom Eingang u zu den Meßgrößen y besitzt, was allerdings keinegrundsätzliche Einschränkung darstellt. Die Syntheseaufgabe besteht nun darin, einenRegler mit vorgegebener Struktur so festzulegen, dass das Gesamtsystem global asympto-tisch stabil ist und die H1-Norm der Übertragungsfunktion vom Eingang w zum Ausgange minimal wird. Für das Regelgesetz könnten dabei prinzipiell folgende Möglichkeiten inBetracht gezogen werden:

� statische Meßgrößenvektorrückführung

u = kTy (3)

3

Page 69: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Ein solches Regelgesetz ist i.A. schwierig zu berechnen, denn es lässt sich nicht mehrüber ein Semide�nites Programm ermitteln.

� statische Zustandsvektorrückführung

u = kTx (4)

Diese Variante lässt sich sehr einfach über ein Semide�nites Programm berechnen.Sie wird anschließend weiterverfolgt.

� dynamische Meßgrößenvektorrückführung

_xc = Acxc +Bcy (5)

u = cTc xc + dTc y

Für diese aufwändigere Reglerstruktur kann die Syntheseaufgabe auf ein Semidef-inites Programm zurückgeführt werden, wenn die Ordnung des Reglers gleich derStreckenordnung n gewählt wird (eine ausführliche Darstellung dazu ist in [2] zu�nden).

Von den eben beschriebenen Möglichkeiten wird jetzt die statische Zustandsvektorrück-führung herausgegri¤en und gezeigt, wie der Reglerentwurf im Einzelnen durchzuführenist. Für die mathematische Beschreibung des Gesamtsystems muss das Regelgesetz (4) indas mathematische Modell (2) eingesetzt werden:

_x = (A+ bkT )| {z }=:~A

x+ ~bw

e = (cTe + dekT )| {z }

=:~cT

x+ ~dew

Damit kann jetzt die Optimierungsaufgabe zum Reglerentwurf dem Problem (1)entsprechend unmittelbar angegeben werden.

min 2

unterP > 0�

~ATP+P~A+ ~c~cT P~b+ ~c ~de~bTP+ ~de~c

T ~d2e � 2�< 0

(6)

Leider ist die zweite Nebenbedingung dieser Optimierungsaufgabe keine lineare Ma-trizenungleichung in den Variablen P und k. Um dies zu erkennen, braucht man lediglichdie De�nitionen für ~A und ~c in den linken oberen Block der Matrix einzusetzen, was auf

(A+ bkT )TP+P(A+ bkT ) + (ce + dek)(cTe + k

Tde)

führt. Im Folgenden wird gezeigt, wie diese Nebenbedingung mit Hilfe des Schur Kom-plements und einer geeigneten Kongruenz-Transformation wieder auf eine LMI gebrachtwerden kann.

4

Page 70: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Aus den oben angeführten Eigenschaften des Schur Komplements geht hervor, dass diezweite Nebenbedingung äquivalent zu folgender Ungleichung

�W :=

24 �~ATP�P~A �P~b �~c�~bTP 2 � ~de�~cT � ~de 1

35 > 0ist. Als nächstes wird eine geeignete reguläre Transformationsmatrix T festgelegt, diesich aus

Q := P�1 > 0

auf folgende Weise ergibt:

T =

24 Q 0 00 1 00 0 1

35Aufgrund der Tatsache

TTWT < 0()W < 0

kann jetzt die zweite Nebenbedingung in (6) durch die Ungleichung TTWT < 0 ersetztwerden, was auf

TTWT =

24 QAT +AQ+QkbT + b(Qk)T ~b Qce + deQk

� � 2 ~de� � �1

35 < 0führt. In dieser Darstellung ergeben sich die durch � markierten Blöcke durch die Sym-metrie der Matrix. Nachwievor ist die Ungleichung nichtlinear in den Variablen des Prob-lems, das sind nunmehr die Matrix Q, der Vektor k und die skalare Größe . Allerdingslässt sich die Nichtlinearität durch die Substitution

m := Qk (7)

sehr einfach beseitigen, womit der Reglerentwurf durch Lösen des folgenden Semide�nitenProgramms durchgeführt werden kann:

min 2

unter

Q > 024 QAT +AQ+mbT + bmT ~b Qce + dem

� � 2 ~de� � �1

35 < 0(8)

Hat man die Optimierungsaufgabe erfolgreich gelöst, so ergibt sich der gesuchte Reglervek-tor k durch die Beziehung

k = Q�1m .

5

Page 71: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

7.3 Beispiel

Die Reglerentwurfsmethode soll nun am Beispiel eines 3-Tanksystems, wie es im Labordes Institutes für Regelungstechnik an der Technischen Universität Graz eingesetzt wird,demonstriert werden. Das Bild 2 zeigt die Anordnung schematisch.

u1 u2

zp1

zp2h1

h01

x1

h2

h3 x3

x2

h02

h03

Bild 2. 3-Tanksystem

Aus einem Basisbehälter kann über eine Pumpe Flüssigkeit in den obersten Behältergefördert werden, wobei die Spannung u1 als Stellgröße des Systems aufgefasst wird. Übereine zweite Pumpe (Spannung u2) kann ein zusätzlicher Zu�ußin den mittleren Behältererzeugt werden, was für das Beipiel als Störung interpretiert wird. Beide Pumpenspan-nungen dürfen die Schranke 5 Volt im Betrieb des Systems nicht überschreiten. DieFlüssigkeitshöhen in den drei Behältern werden indirekt über Drucksensoren meßtech-nisch erfasst und stehen für die Regelung zur Verfügung. Das mathematische Modelldieser Anordnung, das in [4] ausführlich hergeleitet wird, besteht aus drei nichtlinearenDi¤erentialgleichungen, wobei die Flüssigkeitshöhen (gemessen vom Ende des jeweiligenAuslaufrohres) als Zustandsgrößen verwendet werden:

_x1 = �k1px1 + zp1(u1)

_x2 = k1px1 � k2

px2 + zp2(u2) (9)

_x3 = k2px2 � k3

px3

Die Konstanten k1, k2 und k3 werden von der Geometrie der Behälter und dem hydraulis-chen Widerstand der Auslaufventile bestimmt. Sie können durch Auslaufversuche sehrleicht ermittelt werden [4]. Die Funktionen zp1(u1) und zp2(u2) sind nichtlineare Zusam-menhänge zur Beschreibung der Zu�üsse in Abhängigkeit der Pumpenspannungen. ZumReglerentwurf wird nun dieses Modell für kleine Auslenkungen um einen Gleichgewicht-szustand, bei dem die drei Behälter etwa zur Hälfte gefüllt sind, linearisiert. Dabei wird

6

Page 72: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

angenommen, dass nur die erste Pumpe (u1) einen konstanten Zu�uss erzeugt, die Span-nung u2 an der zweiten Pumpe sei Null. Für das linearisierte Modell ergibt sich damitdas Di¤erentialgleichungssystem (10), wobei die Abweichungen vom Gleichgewichtszus-tand mit einem vorangestellten � gekennzeichnet werden:

� _x =

24 �0:04 0 00:04 �0:04 00 0:04 �0:04

35�x+24 0:940

0

35�u1 +24 00:940

35u2 (10)

Als Regelgröße wird jetzt die Abweichung von der Gleichgewichtshöhe im dritten Be-hälter aufgefasst und die Spannung u2 übernimmt die Rolle der externen Eingangsgröße(Störgröße), d.h.

e = �x3

w = u2 .

Es soll dafür zunächst ein Zustandsregelgesetz

�u1 = kT�x

ermittelt werden, das die Auswirkungen der Störgröße auf die Regelgröße im Sinne derH1-Norm minimiert. Das Semide�nite Programm (8) wurde mit Hilfe der LMI ControlToolbox [5] unter Matlab gelöst, wobei folgende Resultate gewonnen wurden:

kT = [�36 � 2570 � 75985] = 0:011

Zur Ver�kation des Ergebnisses ist im Bild 4 die Betragskennlinie der Störübertragungs-funktion des geschlossenen Regelkreises H(s) = e(s)=w(s) dargestellt.

10­2 10­1 100 101 102­80

­70

­60

­50

­40

­30

­20

­10

0

Frequenz

Bet

rag 

in d

b

Bild 4. Betragskennlinie der Störübertragungsfunktion H(s)

7

Page 73: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Wenn man bedenkt, dass der Betrag der Spannung �u1 im Betrieb des Regelkreiseskeinesfalls den Wert 5 übersteigen darf und die Höhenabweichungen �xi in cm gemessendurchaus die Größenordnung 10 annehmen können, so wird klar, dass der so ermittelteZustandsregler völlig ungeeignet für den praktischen Einsatz ist. Hier tritt ein Problemzutage, das typisch für den Reglerentwurf mittels Optimierungsverfahren ist. Falls mannämlich bei der Formulierung des Optimierungsproblems nicht sorgsam darauf achtet,dass alle wesentlichen Beschränkungen des Systems miterfasst werden, läuft man Gefahr,unrealistische Ergebnisse zu produzieren.

7.4 Berücksichtigung von Beschränkungen

Im Folgenden wird nun gezeigt, wie der Reglerentwurf bei Hinzunahme einerBeschränkung durchgeführt werden kann. Zu diesem Zweck wird eine zusätzliche Aus-gangsgröße z der Regelstrecke de�niert. Das mathematische Modell (2) der Strecke istdadurch um eine weitere Ausgangsgleichung in der Form

z = cTz x+ dzu+~dzw

zu ergänzen. Das Ziel des Reglerentwurfes besteht jetzt darin, die Energieverstärkung(H1-Norm) des Kanals w ! e zu minimieren, wobei gleichzeitig die Energieverstärkungim Kanal w ! z eine vorgegebene Schranke zmax nicht überschreiten darf. Selbst-verständlich kann damit auch der besonders wichtige Fall der Stellgrößenbeschränkungerfasst werden, denn dazu ist lediglich z = u (d.h. cz = 0, dz = 1, ~dz = 0 ) zu setzen.Für den geschlossenen Regelkreis (mit dem Zustandsregler) erhält man damit folgendesmathematisches Modell:

_x = ~Ax+ ~bw

e = ~cTx+ ~dew (11)

z = ~cTz x+~dzw

Der Vektor ~cz ist durch die Gleichung

~cTz = cTz + dzk

T

festgelegt. Die erweiterte Optimierungsaufgabe ergibt sich aus (8), indem man dieentsprechenden LMI Bedingungen für die Beschränkung der Energieverstärkung desKanals w ! z hinzunimmt.

min 2

unterP > 0�

~ATP+P~A+ ~c~cT P~b+ ~c ~de~bTP+ ~de~c

T ~d2e � 2�< 0

S > 0�~ATS+ S~A+ ~cz~c

Tz S~b+ ~cz ~dz

~bTS+ ~dz~cTz

~d2z � z2max

�< 0

(12)

8

Page 74: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Zunächst scheint es, als ob die Erweiterung der Aufgabenstellung problemlos in das Op-timierungsproblem eingebaut werden könnte. Eine symmetrische n � n Matrix S trittals zusätzliche Optimierungsvariable auf und die Zahl der LMI Nebenbedingungen er-höht sich auf 4. Tatsächlich ergeben sich nun aber erhebliche Schwierigkeiten, denn dieVariablensubstitution (7) kann ja nur für eine der beiden Ljapunov Matrizen (P oder S)durchgeführt werden! Als Ausweg bietet sich die Möglichkeit an,

S = P (13)

zu setzen, wodurch allerdings von vornherein konservative Ergebnisse zu erwarten sind.Bei der praktischen Durchführung des Reglerentwurfes zeigt sich, dass die Einschränkung(13) so gravierend ist, dass in vielen Fällen die Optimierungsaufgabe unlösbar wird, selbstdann, wenn der Wert zmax sehr großgewählt wird. Um diese Schwierigkeiten wenigstenteilweise zu mildern, kann der Versuch gemacht werden, an Stelle von (13) die Beziehung

S = �P

zu verwenden, wobei der Skalierungsparameter � vor dem Lösen des Optimierungsprob-lems in geeigneter Weise festgelegt werden muss. Das Semide�nite Programm für dieerweiterte Reglersynthese lautet damit:

min 2

unter

Q > 024 QAT +AQ+mbT + bmT ~b Qce + dem

� � 2 ~de� � �1

35 < 024 �(QAT +AQ+mbT + bmT ) �~b Qcz + dzm

� �z2max ~dz� � �1

35 < 0

(14)

Für das Beispiel des 3-Tanksystems wird nun der Reglerentwurf unter Berücksichtigungeiner Stellgrößenbeschränkung, d.h. z = u mit einem Wert

zmax = 10

für die H1-Norm der entsprechenden Übertragungsfunktion Z(s) = u(s)=w(s) durchge-führt. Einige Lösungsversuche mit unterschiedlichenWerten für den Skalierungsparameter� ergeben, dass im vorliegenden Beispiel

� = 200

zum besten Ergebnis führt1. Der Reglervekor k bekommt nun eine sinnvolle �Größe�

kT = [�1:261 � 9:497 � 33:562] ,1Es wäre durchaus denkbar, den günstigsten Wert für den Parameter � durch eine übergeordnete,

eindimensionale Optimierung zu bestimmen.

9

Page 75: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

der Wert für verschlechtert sich allerdings, wie nicht anders zu erwarten war, auf

= 0:759 .

Zur Kontrolle sind die Betragskennlinien der beiden Übertragungsfunktionen H(s) undZ(s) des geschlossenen Regelkreises im Bild 5 dargestellt.

10­3 10­2 10­1 100 101­70

­60

­50

­40

­30

­20

­10

0

10

20

Frequenz

Bet

rag 

in d

b

|H|

|Z|

Bild 5. Betragskennlinien von H(s) und Z(s)

Alternative:Eine weitere Möglichkeit zur Berücksichtigung von Beschränkungen besteht in folgenderVorgangsweise: Man bilde aus der Regelgröße e und der mit einem Gewichtungsfaktor �multiplizierten Ausgangsgröße z eine vektorielle Regelgröße e, d.h.

e :=

�e�z

�und minimiere die Energieverstärkung von w ! e. Die Energie des vektorwertigen Signalse ist de�niert durch

kek2 =

0@ 1Z0

eTedt

1A 12

.

Für die Regelgröße ergibt sich folgende Darstellung

e =

�cTe�cTz

�x+

�de�dz

�u+

�~de� ~dz

�w .

De�niert man weiters

C� :=

�cTe�cTz

�d� :=

�de�dz

�~d� :=

�~de� ~dz

�,

so kann man für den geschlossenen Regelkreis schreiben:

_x = ~Ax+ ~bw

e = ~Cx+ ~d�w

10

Page 76: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Dabei ergibt sich ~C aus der Beziehung

~C := C� + d�kT .

Durch die Anwendung des Lemmas 1 und durch die oben beschriebene Kongruenztransfor-mation gelangt man schließlich zu folgendem Semide�niten Programm für den Reglerent-wurf:

min 2

unter

Q > 024 QAT +AQ+mbT + bmT ~b QCT� +md

T�

� � 2 ~dT�� � �E

35 < 0(15)

Der Vektor k für das Zustandsregelgesetz wird wiederum über

k = Q�1m

gewonnen.

Es wird nun diese Alternative auf das Beispiel des 3-Tanksystems angewandt, wobei auchin diesem Fall

z = u

gesetzt wird. Das Semide�nite Programm (15) wird nun für einigeWerte des Gewichtungs-faktors � gelöst. Für jedes Regelgesetz wird die H1-Norm der ÜbertragungsfunktionenH(s) = e(s)=w(s) und Z(s) = u(s)=w(s) des geschlossenen Regelkreises ermittelt. DasErgebnis dieser Vorgangsweise ist im Bild 6 dargestellt.

2 4 6 8 10 12 14 16 180

0.5

1

1.5

2

2.5

3

3.5

4

||Z||∞

||H|| ∞

ρ = 0.01ρ = 0.0186

ρ = 0.0372

ρ = 0.0741

ρ = 0.1479

ρ = 0.2951

ρ = 0.5888

ρ = 0.7762

Bild 6. Werte für kHk1 und kZk1 in Abhängigkeit des Gewichtungsfaktors �

11

Page 77: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Greift man den Fall � = 0:0741 heraus (dort ist der Wert für kZk1 etwa gleich großwiebei der Lösung des erweiterten Syntheseproblems mit Hilfe des Simide�niten Programms(14) mit zmax = 10), so lautet das zugehörige Resultat:

kT =��2:831 �22:222 �82:483

�kHk1 = 0:641 und kZk1 = 8:41

Anmerkung: Zur Vermeidung numerischer Probleme bei der Berechnung des Zustands-regelgesetzes über k = Q�1m wurde in den Semide�niten Programmen (14) und (15) anStelle der NebenbedingungQ > 0 die verschärfte LMIQ�0:05E > 0 verwendet. Dadurchwird verhindert, dass die Matrix Q zu �nahe an die Singularität�harankommt.

Abschließend sei erwähnt, dass die Semide�nite Programmierung derzeit die einzigeMöglichkeit darstellt, ein Reglerentwurfsproblem bestehend aus einemH1-Norm Gütekri-terium und einer H1-Norm Beschränkung direkt zu lösen. Ja sogar der Fall, dass manunterschiedliche Normen für die Formulierung der Syntheseziele verwendet, kann mit Hilfedieser Methode behandelt werden [2]. Ein Schwerpunkt zukünftiger Forschungsaktivitätenwird dabei zweifellos in der Beseitigung der unerwünschten Auswirkungen liegen, die durchdie Verwendung einer einzigen Ljapunov-Matrix bei mehreren Synthesezielen entstehen.

Literatur

[1] S. Boyd, L. El Ghaoui, E. Feron, V. Balakrishnan: Linear Matrix Inequalities inSystem and Control Theory, SIAM Studies in Applied Mathematics, Vol.15, 1994.

[2] C.W. Scherer, P. Gahinet, M. Chilali: Multiobjective Output-Feedback Control viaLMI Optimization , IEEE Transactions on Automatic Control, Vol.42, 1997, pp. 896-911.

[3] C.W. Scherer: Lineare Matrixungleichungen in der Theorie der robusten Regelung,Automatisierungstechnik, Vol.45, 1997, pp. 306-318.

[4] Unterlagen zu den Laborübungen aus Prozeßautomatisierung, Institut für Regelung-stechnik, Technische Universität Graz, 1999

[5] P. Gahinet, A. Nemirovskii, A.J. Laub, M. Chilali: LMI Control Toolbox, The Math-Works Inc., Natick MA, 1995.

12

Page 78: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

7 Einfuhrung in die Variationsrechnung

Die Variationsrechnung stellt eine klassische Methode aus dem Bereich der dynamischenOptimierung dar. Dieses Kapitel enthalt eine Einfuhrung dafur, soweit sie als Voraus-setzung fur die Behandlung regelungstechnisch relevanter Aufgabenstellungen erforderlichist.

7.1 Aufgabenstellung

Es wird zunachst das einfachst mogliche Problem der Variationsrechnung formuliert.

x(t)

x0

x1

t0 t1 t

x

Bild 1. Zur Definition des Variationsproblems

Gesucht ist eine (zweimal stetig differenzierbare) Funktion x(t) im Intervall [t0, t1] mitvorgegeben Randwerten x(t0) = x0 und x(t1) = x1, sodass fur eine gegebene (zweimalstetig nach allen Argumenten differenzierbare) Funktion L(x, x, t) der Ausdruck

J =

t1Zt0

L(x, x, t)dt

ein Extremum wird.Man beachte, J hangt vom Funktionsverlauf von x(t) im Intervall [t0, t1] ab. Eine solcheAbhangigkeit wird Funktional genannt und sehr haufig wird dafur die Notation J [x(t)]verwendet.

Definition:

Ein Funktional ist eine Vorschrift, die jeder Funktion aus einer bestimmten Menge(z.B. Menge der zweimal stetig differenzierbaren Funktionen) eine reelle Zahl zuordnet.

Beispiel: Bogenlange eines Funktionsstuckes

J =

t1Zt0

√1 + x2dt

1

Page 79: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Losungsweg:Annahme: x(t) sei jene Funktion, fur die J [x] ein Extremum (Minimum) wird. Es werdenjetzt Abweichungen von x(t) in der Form

x(t) = x(t) + εη(t)

betrachtet, wobei ε eine Zahl ist und fur die zweimal stetig differenzierbare Funktion η(t)die Randbedingungen η(t0) = η(t1) = 0 gelten.

x(t)

x0

x1

t0 t1 t

x

x(t)

Bild 2. Variation von x(t)

Fur den Wert des Funktionals erhalt man damit

J [x] =

t1Zt0

L(x,.x, t)dt =

t1Zt0

L (x+ εη, x+ εη, t) dt .

Die fundamentale Idee besteht nun darin, dass man diesen Ausdruck als Funktion derVariablen ε auffasst

F (ε) :=

t1Zt0

L (x+ εη, x+ εη, t) dt .

Damit x(t) zu einem Extremum fuhrt, muss die notwendige Bedingung gelten:

dF

¯ε=0

!= 0

dF

dε=

t1Zt0

̶L

∂x

dx

dε+

∂L

∂.x

d.x

!dt =

t1Zt0

µ∂L

∂xη +

∂L

∂.xη

¶dt

dF

¯ε=0

=

t1Zt0

µ∂L

∂xη +

∂L

∂xη

¶dt

!= 0

2

Page 80: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

η wird durch partielle Integration beseitigt:

t1Zt0

∂L

∂xηdt =

∂L

∂xη(t)

¯t1t0

−t1Zt0

d

dt

µ∂L

∂x

¶ηdt

Der Term ∂L∂xη(t)

¯t1t0verschwindet, weil η(t0) = η(t1) = 0 gilt.

dF

¯ε=0

=

t1Zt0

·∂L

∂x− d

dt

µ∂L

∂x

¶¸| {z }

ψ(t)

ηdt!= 0

Man steht nun vor der Frage, was aus dieser Bedingung fur die gesuchte Funktion x(t)folgt. Die Antwort gibt das

Fundamentallemma der Variationsrechnung:

Aus

t1Zt0

ψ (t) η (t) dt = 0 fur alle zweimal stetig differenzierbaren und am Rande

verschwindenden Funktionen η (t) folgt, falls ψ(t) stetig ist:

ψ (t) ≡ 0 im gesamten Intervall [t0, t1]

Beweis:

Annahme: Es gelte

t1Zt0

ψ (t) η (t) dt = 0 und die Funktion ψ (t) sei an irgend einer Stelle τ

im Intervall [t0, t1] positiv, d.h.

ψ (τ) > 0 t0 ≤ τ ≤ t1,dann gilt fur die stetige Funktion

ψ (t) > 0

auch in einer hinreichend kleinen Umgebung um τ , d.h. im Intervall τ 0 < t < τ 1. Fur diespezielle Wahl (man beachte, dass diese Funktion η (t) zweimal stetig differenzierbar ist)

η (t) =

½(t− τ 0)

4 (t− τ 1)4 im Intervall [τ 0, τ 1]

0 sonst

ergibt sich dannt1Zt0

ψ (t) η (t) dt > 0,

3

Page 81: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

was im Widerspruch zu obiger Annahme steht.

Daraus folgt die notwendige Bedingung fur ein Extremum des Funktionals:

∂L

∂x− d

dt

µ∂L

∂x

¶= 0 Euler Dgl.

Jede Losung x(t) der Euler Differentialgleichung wird Extremale des Variationsproblemsgenannt. Die Extremalen sind allerdings nur mogliche Kandidaten fur die Losung derVariationsaufgabe. Ihre Bestimmung hat sich ja nur auf eine notwendige Bedingunggestutzt. Obwohl prinzipiell auch eine hinreichende Bedingung fur ein Extremum einesFunktionals zur Verfugung steht, wird von dieser aber in der Praxis kaum Gebrauchgemacht. Statt dessen werden einfach die gefundenen Extremalen in das Funktionaleingesetzt und damit beurteilt, welche davon die gestellte Aufgabe lost.

Wichtig:Die Euler Dgl. ist eine gewohnliche Dgl. 2. Ordnung zur Bestimmung der gesuchtenFunktion x(t). Dies zeigt folgende Uberlegung, ausgehend von der Tatsache, dass folgendeFunktionen durch die Aufgabenstellung vorgegeben sind

L(x, x, t) . . . gegeben

∂L

∂x= g(x, x, t) . . . gegeben

∂L

∂x= f(x, x, t) . . . gegeben

In die Euler Dgl. eingesetzt, erhalt man:

g(x, x, t)− d

dtf(x, x, t) = 0

Die Bildung der totalen zeitl. Ableitung von f(x, x, t) liefert:

d

dtf(x, x, t) =

∂f

∂xx+

∂f

∂xx+

∂f

∂t

Man beachte, dass die Funktionen ∂f∂x, ∂f∂xund ∂f

∂tebenfalls gegeben sind. Damit wird klar,

dass

∂f

∂xx+

∂f

∂xx = g(x, x, t)− ∂f

∂t

eine gewohnliche Diffrentialgleichung 2. Ordnung fur die Funktion x(t) darstellt.

4

Page 82: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

7.2 Erweiterungen der Aufgabenstellung

7.2.1 Erweiterung auf Funktionale mit n gesuchten Funktionen

Gesucht sind die Funktionen x1(t), . . . , xn(t) zusammengefasst zum Spaltenvektor

x =

x1...xn

,sodass

J [x (t)] =

t1Zt0

L(x, x, t)dt

bei gegebenen Randbedingungen

x (t0) = x0

x (t1) = x1

extremal (minimal) wird.

Da die Funktionen x1(t), ..., xn(t) vollkommen unabhangig voneinander gewahlt werdenkonnen, folgt daraus, dass jede Funktion Losung einer entsprechenden Euler Dgl. seinmuss. Damit erhalt man die

Notwendige Bedingung:

∂L

∂xi− d

dt

µ∂L

∂xi

¶= 0 fur i = 1, . . . , n

bzw. in Vektorschreibweise:

∂L

∂x− d

dt

µ∂L

∂x

¶= 0

7.2.2 Freier Rand

Wir betrachten wieder ein Variationsproblem mit einer einzigen gesuchten Funktion x(t),wobei allerdings nur mehr der untere Rand durch x(t0) = x0 vorgegeben ist. Sowohl derWert t1 als auch der Wert x(t1) sind frei.

5

Page 83: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

x(t)

x0

x1

t0 t1 t

x

x(t)

t1+δt1

δx1δx|t1

x|t1δt1

Bild 3. Freier Rand

Es wird wieder angenommen, dass x(t) die optimale Funktion ist. Die Variationen dieserFunktion werden nun angeschrieben als

x(t) = x(t) + εη(t)| {z }=:δx

.

Fur die Anderung δx gilt nur noch

δx(t0) = 0.

Anderung im Funktional durch Variation von x und t1:

∆J =

t1+δt1Zt0

L (x+ δx, x+ δx, t) dt−t1Zt0

L (x, x, t) dt

=

t1+δt1Zt1

L (x+ δx, x+ δx, t) dt+

t1Zt0

[L (x+ δx, x+ δx, t)− L (x, x, t)] dt

∆J ≈ L (x, x, t)|t1 δt1 +t1Zt0

µ∂L

∂xδx+

∂L

∂xδx

¶dt

Terme hoherer Ordnung werden vernachlassigt; δx wird wieder durch partielle Integrationbeseitigt.

∆J ≈ L|t1 δt1 +∂L

∂xδx

¯t1t0

+

t1Zt0

·∂L

∂x− d

dt

µ∂L

∂x

¶¸| {z }

= 0Euler Dgl. muss auch

hier gelten!

δxdt

∆J ≈ L|t1 δt1 +∂L

∂xδx

¯t1

6

Page 84: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Fur δx|t1 gilt naherungsweise (siehe Bild 3):δx1 ≈ δx|t1 + x|t1 δt1 bzw. δx|t1 ≈ δx1 − x|t1 δt1

∆J ≈µL− x∂L

∂x

¶¯t1

δt1 +∂L

∂x

¯t1

δx1 wenn δt1 und δx1 hinreichend klein sind

Wenn x (t) eine Extremale sein soll, dann muss die sogenannte 1. Variation von ∆Jverschwinden. Man erhalt damit folgende notwendige Bedingungen:

∂L

∂x− d

dt

µ∂L

∂x

¶= 0

µL− x∂L

∂x

¶¯t1

δt1 +∂L

∂x

¯t1

δx1 = 0

Die zweite Bedingung wird verallgemeinerte Randbedingung genannt. Entsprechen-des gilt, falls auch der untere Rand frei ist.

Aus der verallgemeinerten Randbedingung folgt nun fur den Fall t1 und x (t1) frei:µL− x∂L

∂x

¶¯t1

= 0 und∂L

∂x

¯t1

= 0

7.2.3 Endpunkt auf vorgegebener Funktion y (t)

Anstelle des freien Randes von vorhin wird jetzt der Fall betrachtet, dass die gesuchteFunktion x (t) zum Zeitpunkt t1 auf einer vorgegebenen Funktion y (t) liegen muss, d.h.

x (t1)!= y (t1) .

Die Situation ist im Bild 4. dargestellt.

x(t)

x0

x1

t0 t1 t

x

x(t)

t1+δt1

δx1 y|t1δt1

y(t)

Bild 4. Randpunkt auf vorgegebener Funktion

7

Page 85: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Daraus entnimmt man, dass naherungsweise gilt:

δx1 ≈ y|t1 δt1In die verallgemeinerte Randbedingung eingesetztµ

L− x∂L∂x

¶¯t1

δt1 +∂L

∂xy

¯t1

δt1 = 0

erhalt man in diesem Fall folgende Randbedingungen:

·L+ (y − x) ∂L

∂x

¸¯t1

= 0

x (t1) = y (t1)

7.2.4 Berucksichtigung von Nebenbedingungen

Als letzte Erweiterung wird der wichtige Fall betrachtet, bei dem in einem Variationsprob-lem mit mehreren gesuchten Funktion Nebenbedingungen eingehalten werden mussen.Das wird zunachst am Beispiel mit 2 Funktionen x1 (t) , x2 (t) gezeigt.

Gegeben sei folgendes Variationsproblem:

J [x1, x2] =

t1Zt0

L (x1, x2, x1, x2, t) dt −→ Extremum

g (x1, x2, t) = 0 Nebenbedingung

Unter der Annahme, dass∂g

∂x26= 0 auf der Extremalen, kann die implizite Gleichung

g (x1, x2, t) = 0 nach x2 aufgelost werden

x2 = h (x1, t) .

Fur die Ableitung x2 folgt daraus

x2 =∂h

∂x1x1 +

∂h

∂t.

Damit kann die Aufgabe auf ein Variationsproblem mit einer gesuchten Funktion x1 (t)zuruckgefuhrt werden. Man erhalt auf diese Weise:

J =

t1Zt0

L

µx1, h (x1, t) , x1,

∂h

∂x1x1 +

∂h

∂t, t

¶| {z }

L(x1,,x1,t)

dt

8

Page 86: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Die Extremale muss die Euler Dgl. erfullen

∂L

∂x1− d

dt

̶L

∂x1

!= 0.

Man mochte nun die Aufgabe mit den ursprunglich gegebenen Funktionen losen, um sicheine im Allgemeinen komplizierte Ermittlung der Funktion L (x1, , x1, t) zu ersparen. Dazusind folgende Uberlegungen erforderlich:

∂L

∂x1=

∂L

∂x1+

∂L

∂x2

∂x2∂x1

+∂L

∂x2

∂x2∂x1

=∂L

∂x1+

∂L

∂x2

∂h

∂x1+

∂L

∂x2

µ∂2h

∂x21x1 +

∂2h

∂t∂x1

¶∂L

∂x1=

∂L

∂x1+

∂L

∂x2

∂x2∂x1

=∂L

∂x1+

∂L

∂x2

∂h

∂x1

d

dt

̶L

∂x1

!=d

dt

µ∂L

∂x1

¶+

∂h

∂x1

d

dt

µ∂L

∂x2

¶+

∂L

∂x2

µ∂2h

∂x21x1 +

∂2h

∂x1∂t

¶In die Euler Dgl. eingesetzt, erhalt man

∂L

∂x1+

∂L

∂x2

∂h

∂x1+

∂L

∂x2

µ∂2h

∂x21x1 +

∂2h

∂t∂x1

¶− d

dt

µ∂L

∂x1

¶−

− ∂h

∂x1

d

dt

µ∂L

∂x2

¶− ∂L

∂x2

µ∂2h

∂x21x1 +

∂2h

∂x1∂t

¶= 0

und daraus (unter Beachtung der Differenzierbarkeitseigenschaften von h (x1, t)):

∂L

∂x1+

∂L

∂x2

∂h

∂x1− d

dt

µ∂L

∂x1

¶− ∂h

∂x1

d

dt

µ∂L

∂x2

¶= 0 (1)

Fur die weitere Herleitung ist nun wesentlich, dass die Nebenbedingung eine Identitatin t darstellt, d.h. wenn man die Funktionen x1 (t) und x2 (t) in die Nebenbedingungg (x1 (t) , x2 (t) , t) = 0 einsetzt, muss diese fur alle Werte von t erfullt sein. Das gilt aberauch fur den nach x2 aufgelosten Zusammenhang, d.h. es gilt h (x1 (t) , t) − x2 (t) ≡ 0.Daraus folgt, dass auch die totalen zeitlichen Ableitungen dieser Identitaten verschwinden:

∂g

∂x1x1 +

∂g

∂x2x2 +

∂g

∂t= 0

∂h

∂x1x1 +

∂h

∂t− x2 = 0

Durch folgende Umformung der ersten Gleichungen

−∂g

∂x1∂g

∂x2

x1 −∂g

∂t∂g

∂x2

− x2 = 0

9

Page 87: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

liefert ein Vergleich der entsprechenden Ausdrucke:

∂h

∂x1= −

∂g

∂x1∂g

∂x2

und∂h

∂t= −

∂g

∂t∂g

∂x2

Damit lasst sich fur die Euler Dgl.(1) schreiben

∂L

∂x1− d

dt

µ∂L

∂x1

¶=

·∂L

∂x2− d

dt

µ∂L

∂x2

¶¸ ∂g

∂x1∂g

∂x2

,

bzw. nach Division der Dgl. durch∂g

∂x1gelangt man zu:

∂L

∂x1− d

dt

µ∂L

∂x1

¶∂g

∂x1| {z }=:−λ(t)

=

∂L

∂x2− d

dt

µ∂L

∂x2

¶∂g

∂x2| {z }=:−λ(t)

Beide Seiten dieser Beziehung stellen langs der Extremalen dieselbe Funktion −λ (t) dar,sodass man dafur gleichwertig schreiben kann:

∂L

∂x1+ λ (t)

∂g

∂x1− d

dt

µ∂L

∂x1

¶= 0

∂L

∂x2+ λ (t)

∂g

∂x2− d

dt

µ∂L

∂x2

¶= 0

Vereinfachung der Schreibweise durch Einfuhrung der Lagrange - Funktion:

L := L+ λ (t) g

Die Funktion λ (t) erhalt damit die Rolle eines Lagrange’schen Multiplikators. In kom-

pakter Schreibweise mit x =£x1 x2

¤Tlauten damit die notwendigen Bedingung fur die

Extremalen eines Variationsproblems mit einer Nebenbedingung:

∂L

∂x− d

dt

µ∂L

∂x

¶= 0

g(x, t) = 0

Die Vorgangsweise uber die Lagrange-Multiplikatoren ist auch dann noch moglich,wenn die Nebenbedingung in Form einer Differentialgleichung vorliegt. Dieser Fall ist

10

Page 88: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

besonders aus regelungstechnischer Sicht von großer Bedeutung.

Allgemeiner Fall:Gegeben ist ein Variationsproblem mit n gesuchten Funktionen zusammengefasst zumVektor

x =

x1...xn

.Man bestimme x(t) so, dass

J [x (t)] =

t1Zt0

L (x, x,t) dt −→ Extremum

unter Einhaltung der Nebenbedingung

g (x, x,t) = 0,

wobei diese aus m Differentialgleichungen besteht, d.h.

g =

g1...gm

.Mit dem Vektor

λT=£λ1 · · · λm

¤wird die Lagrange Funktion

L = L+ λT (t)g

gebildet und damit lauten die notwendigen Bedingungen:

∂L

∂x− d

dt

µ∂L

∂x

¶= 0

g (x, x,t) = 0

Das sind n+m Dgln. fur die gesuchten Funktionen x und λ.

Literatur

[1] J. C. Hsu, A. U. Mayer, Modern Control Principles and Applications, McGraw Hill,New York, 1968

11

Page 89: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

[2] M. Athans, P. L. Falb, Optimal Control, McGraw Hill, New York, 1966

[3] M. Papgeorgiou, Optimierung, Oldenbourg Verlag, Munchen, 1991

[4] O. Follinger, Optimierung dynamischer Systeme - eine Einfuhrung fur Ingenieure, R.Oldenbourg Verlag, Munchen, 1985

12

Page 90: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

9 Entwurf optimaler Steuerungen

Als Anwendung der Variationsrechnung auf regelungstechnische Aufgabenstellungen wirdin diesem Kapitel gezeigt, wie man für vorgegebene dynamische Systeme optimaleSteuerungen entwerfen kann.

9.1 Aufgabenstellung

Es wird von folgender Aufgabenstellung ausgegangen:

Gegeben ist das mathematische Modell eines dynamischen Systems (Strecke)

_x = f(x;u; t)

mit dem Zustandsvektor x 2 Rn und dem Stellgrößenvektor u 2 Rm und dem An-fangszustand

x(t0) = x0.

Gesucht ist der Vektor von Stellfunktionen u(t) im Intervall [t0; t1], sodass das Güte-funktional

J [u(t)] = S (x (t1) ; t1) +t1Rt0

L (x;u;t) dt

einen minimalen Wert annimmt.

In dieser Aufgabenstellung sind nun einige Aspekte enthalten, die in der Einführung zurVariationsrechnung im Kapitel 7 noch nicht vorgekommen sind.

(1) Neu ist die aus regelungstechnischer Sicht gegebene Trennung der Funktionen in dieZustandsgrößen und in die Stellgrößen. Allerdings kann man den Stellgrößenvektoru (t) formal zum Vektor der Zustandsgrößen dazugegeben

x :=

�xu

�n+m zu bestimmende Funktionen

J ist eigentlich ein Funktional von x, doch wenn u (t) bestimmt ist, dann liegt x (t)über das mathematische Modell der Strecke und über den gegebenen Anfangszus-tand ebenfalls fest.

(2) Neu ist auch die Erweiterung im Gütefunktional J um die sogenannte Endzu-standsbewertung

S (x (t1) ; t1) .

Eine solche ist in manchen Aufgabenstellungen zweckmäßig.

1

Page 91: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Beispiel: Ein Flugzeug soll in einem gegebenen Intervall [t0; t1] die maximaleFlughöhe erreichen Die Zustandsgröße x1 sei die Höhe des Flugzeuges über demErdboden. Dann lautet die Endzustandsberwertung:

S (x (t1)) = �x1 (t1)

Es wird nun gezeigt, dass die Endzustandsbewertung auch im Integral-Term des Güte-funktionals berücksichtigt werden kann. Dazu wird vorausgesetzt, dass S (x (t) ; t) zweimalstetig di¤erenzierbar nach allen Argumenten ist. Damit läßt sich schreiben:

S (x (t1) ; t1) =

t1Zt0

d

dtS (x (t) ; t) dt+ S (x (t0) ; t0)

d

dtS (x (t) ; t) =

@S

@x_x+

@S

@t

J [u] =

t1Zt0

�L (x;u;t) +

@S

@x_x+

@S

@t

�dt+ S (x (t0) ; t0)

Der Wert S (x (t0) ; t0) ist durch den vorgegebenen Anfangszustand x0 und den vorgegebe-nen Anfangszeitpunkt t0 festgelegt, sodass er aus dem Gütefunktional entfernt werdenkann. Das modi�zierte Gütefunktional lautet damit:

J [u] =

t1Zt0

�L (x;u;t) +

@S

@x_x+

@S

@t

�dt

Zur Lösung der Aufgabe wird zunächst die Lagrange Funktion eingeführt:

�L := L+@S

@x_x+

@S

@t+ �T (f � _x)

Damit erhält man die notwendigen Bedingungen für die 2n + m gesuchten Funktionenx (t), u (t), � (t):

@ �L

@x� d

dt

�@ �L

@ _x

�= 0T

_x� f(x;u; t) = 0Ersetzt man in der ersten Gleichung den Vektor x durch x und u, so erhält man zunächst

@ �L

@x=

�@ �L

@x

@ �L

@u

�und

@ �L

@ _x=

�@ �L

@ _x

@ �L

@ _u

�und damit die beiden Euler Dgln.

@ �L

@x� d

dt

�@ �L

@ _x

�= 0T (1)

@ �L

@u� d

dt

�@ �L

@ _u

�= 0T . (2)

2

Page 92: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Für die einzelnen Terme in diesen Gln. gilt:

@ �L

@x=

@L

@x+ _xT

@2S

@x2+@2S

@t@x+ �T

@f

@x@ �L

@u=

@L

@u+ �T

@f

@u@ �L

@ _x=

@S

@x� �T

@ �L

@ _u= 0T

d

dt

�@ �L

@ _x

�=

d

dt

�@S

@x

�� _�

T= _xT

@2S

@x2+@2S

@x@t� _�

T

d

dt

�@ �L

@ _u

�= 0T

In die Euler Dgl.(1) eingesetzt erhält man

@L

@x+ _xT

@2S

@x2+@2S

@t@x+ �T

@f

@x� _xT

@2S

@x2� @2S

@x@t+ _�

T= 0T ,

was sich schließlich zu

_� = ��@f

@x

�T��

�@L

@x

�Tvereinfachen läßt. Aus der Euler Dgl.(2) wird dadurch

0 =

�@f

@u

�T�+

�@L

@u

�T.

Zusammenfassend lauten die notwendigen Bedingungen für die gesuchten Funktionen:

_� = ��@f

@x

�T��

�@L

@x

�T

0 =

�@f

@u

�T�+

�@L

@u

�T_x = f

Randbedingung:x(t0) = x0

Verallgemeinerte Randbedingung:��L� @

�L

@ _x_x

�����t1

�t1 +@ �L

@ _x

����t1

�x1 = 0

3

Page 93: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

bzw.�L+

@S

@x_x+

@S

@t+ �T (f � _x)�

�@S

@x� �T

�_x

�����t1

�t1 +

�@S

@x� �T

�����t1

�x1 = 0,

was sich schließlich zu�L+

@S

@t+ �T f

�����t1

�t1 +

�@S

@x� �T

�����t1

�x1 = 0

zusammenfassen läßt.

Vereinfachung der Schreibweise durch Einführung der Hamilton-Funktion:

H (x;u;�; t) := L(x;u; t) + �T (t) f (x;u; t)

Damit kann für die notwendigen Bedingungen geschrieben werden:

_� = ��@H

@x

�T

0 =

�@H

@u

�T

_x =

�@H

@�

�T(3)

Randbedingungen:

x(t0) = x0�H +

@S

@t

�����t1

�t1 +

�@S

@x� �T

�����t1

�x1 = 0(4)

Zur Erläuterung der weiteren Vorgangsweise sei zunächst darauf hingewiesen, dass dierechten Seiten der Gln.(3) gegebene Funktionen sind:

��@H

@x

�T= g(x;u;�; t) (gegeben)

�@H

@u

�T= h(x;u;�; t) (gegeben)

�@H

@�

�T= f(x;u; t) (rechte Seite der Zustandsdgln., gegeben)

4

Page 94: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Für die Beziehungen (3) ergibt sich damit:

_� = g(x;u;�; t)

0 = h(x;u;�; t)

_x = f(x;u; t)

Das sind 2n Di¤erentialgleichungen 1. Ordnung und m algebraische Gleichungen. Fürden Fall, dass der Endzeitpunkt t1 vorgegeben ist, aber der Endzustand x(t1) jedoch freiist, lauten die Randbedingungen:

x(t0) = x0

�(t1) =

�@S

@x

�T �����t1

Dass eine Bestimmung der gesuchten Funktionen äußerst schwierig ist, wird klar,wenn man bedenkt, dass zu einer (numerischen) Integration der beiden Di¤erentialgle-ichungssysteme der Vektor u(t) bereits bekannt sein müsste! Um diese Schwierigkeiten zuumgehen, kann versucht werden, die algebraischen Gleichungen nach u aufzulösen, d.h.

0 = h(x;u;�; t) ! u = ~h(x;�; t).

Anschließend wird dieser Ausdruck für u in die Di¤erentialgleichungen eingesetzt:

_� = g(x; ~h(x;�; t);�; t) =: ~g(x;�; t)

_x = f(x; ~h(x;�; t); t) =: ~f(x;�; t)

Man beachte, dass diese beiden Di¤erentialgleichungssysteme im Allgemeinen verkoppeltsind, was ihre Lösung erheblich erschwert. Die Aufgabe

_� = ~g(x;�; t)

_x = ~f(x;�; t)

(5)

mit den Randbedingungen

x(t0) = x0

�(t1) =

�@S

@x

�T �����t1

heißt 2-Punkt-Randwertproblem. Die Lösung solcher Probleme kann beispielsweiseso erfolgen, dass mit einem Algorithmus aus dem Bereich der Parameteroptimierung die

5

Page 95: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

(unbekannten) Anfangswerte für den Lagrange-Multiplikator �(t0) so variiert werden, biseinmal eine Lösung gefunden wird, die die Randbedingung

�(t1) =

�@S

@x

�T �����t1

mit ausreichender Genauigkeit erfüllt. Man beachte, dass in jeder Iteration dieses Para-meteroptimierungsproblems das System von Dgln.(5) im Intervall [t0; t1] numerisch gelöstwerden muss.

9.2 Beispiel

Vorgegeben ist das mathematische Modell der Strecke in der Form

_x1 = x2

_x2 = � sin x1 + u

und der Anfangszustand

x(0) =

�12

�.

Gesucht ist die Stellfunktion u(t) im Intervall [0; 4], sodass das Gütefunktional

J [u] =

4Z0

�1

2

�x21 + x

22

�+ u2

�dt

minimal wird. Der Endzustand x(4) ist frei.

Die zugehörige Hamilton Funktion lautet:

H =1

2

�x21 + x

22

�+ u2 + �1x2 + �2 (� sin x1 + u)

Aus der notwendigen Bedingung

0 =@H

@u

erhält man in diesem Fallu = �1

2�2.

Dieser Ausdruck für u wird nun in die beiden notwendigen Bedingungen

_x =

�@H

@�

�T

_� = ��@H

@x

�T

6

Page 96: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

eingesetzt, was auf die Dgln.

_x1 = x2

_x2 = � sin x1 �1

2�2

_�1 = �x1 + �2 cosx1_�2 = �x2 � �1

führt. Für die Randbedingungen gilt im vorliegenden Beispiel:

x(0) =�1 2

�T�(4) = 0

Die Lösung dieses nichtlinearen 2-Punkt-Randwertproblems erfolgt nach der obengeschilderten Vorgangsweise über eine Parameteroptimierung der Startwerte �(0). AlsZielfunktion wird dabei

f(�1; �2) = �21(4) + �

22(4)

verwendet. Die Ergebnisse sind in den Bildern 1 und 2 dargestellt.

0 0.5 1 1.5 2 2.5 3 3.5 4­3

­2.5

­2

­1.5

­1

­0.5

0

0.5

1

1.5

2x1(t)

x2(t)u(t)

ZeitBild 1. Verlauf der Zustandsgrößen und der Stellgröße

7

Page 97: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

0 0.5 1 1.5 2 2.5 3 3.5 4­2

­1

0

1

2

3

4

5

6

λ1(t)

λ2(t)

ZeitBild 2. Verlauf der Lagrange Multiplikatoren

Literatur

[1] J. C. Hsu, A. U. Mayer, Modern Control Principles and Applications, McGraw Hill,New York, 1968

[2] M. Athans, P. L. Falb, Optimal Control, McGraw Hill, New York, 1966

[3] M. Papageorgiou, Optimierung, Oldenbourg Verlag, München, 1991

[4] O. Föllinger, Optimierung dynamischer Systeme - eine Einführung für Ingenieure, R.Oldenbourg Verlag, München, 1985

8

Page 98: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

10 Lineare Systeme mit quadratischen Gütekriterien

In diesem Kapitel wird ein für die Praxis sehr wichtiger Sonderfall des Entwurfes op-timaler Steuerungen behandelt, bei dem das resultierende 2-Punkt-Randwertproblem ingeschlossener Form gelöst werden kann. Dies hat zur Folge, dass an Stelle der Steuerungschließlich ein Regelgesetz als Lösung der Aufgabe angeben werden kann.

10.1 Aufgabenstellung

Vorgegeben ist das lineare mathematische Modell der Strecke

_x = A(t)x(t) +B(t)u(t)

und der Anfangszustandx(t0) = x0.

Gesucht ist der Vektor von Stellfunktionen u(t) im Intervall [t0; t1], sodass das Gütefunk-tional

J [u] =1

2xT (t1)Px(t1) +

1

2

t1Zt0

�xT (t)Q(t)x(t) + uT (t)R(t)u(t)

�dt

einen minimalen Wert annimmt. Der Endzeitpunkt t1 ist vorgegeben, jedoch der Endzu-stand x(t1) ist frei.

Man beachte, dass in dieses Funktional die Zustandsgrößen und die Stellgrößen überquadratische Formen eingehen. Durch die Minimierung dieses Ausdrucks sollen beimÜbergangsvorgang von x(t0) nach x(t1) sowohl die Zustandsgrößen als auch die Stell-größen möglichst �klein� gehalten werden. Um diesen Wunsch zu realisieren bzw. ausrechentechnischen Gründen, müssen die Bewertungsmatrizen in den quadratischen For-men folgende Voraussetzungen erfüllen:

P;Q(t) symmetrisch, positiv semide�nit (für alle t 2 [t0; t1] )R(t) symmetrisch, positiv de�nit (für alle t 2 [t0; t1] )

Für das mathematische Modell der Strecke selbst werden keinerlei einschränkende Vo-raussetzungen getro¤en.

Die Lösung des Problems erfolgt nun nach der üblichen Vorgangsweise über die HamiltonFunktion und die damit formulierbaren notwendigen Bedingungen (siehe Kapitel 8):

H =1

2xT (t)Q(t)x(t) +

1

2uT (t)R(t)u(t) + �T (t) [A(t)x(t) +B(t)u(t)]

0 =

�@H

@u

�T= R(t)u(t) +BT (t)�(t)

DaR(t) voraussetzungsgemäßpositiv de�nit ist, existiertR�1(t) für alle t 2 [t0; t1], sodassman für u(t) folgende Beziehung erhält:

1

Page 99: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

u(t) = �R�1(t)BT (t)�(t) (1)

Ferner gilt

_x =

�@H

@�

�T= A(t)x(t) +B(t)u(t)

_� = ��@H

@x

�T= �Q(t)x(t)�AT (t)� (t)

bzw. mit (1) �_x(t)_�(t)

�=

�A(t) �B(t)R�1(t)BT (t)�Q(t) �AT (t)

� �x(t)�(t)

�(2)

mit den Randbedingungen

x(t0) = x0�@S

@x� �T

�����t1

= 0 y �(t1) = Px(t1) (3)

Die Lösung des Systems von 2n linearen Dgln. 1:Ordnung (2) kann mit Hilfe der zuge-hörigen Transitionsmatrix �(t; t0) angegeben werden�

x(t)�(t)

�= �(t; t0)

�x(t0)�(t0)

�.

Für den Endzeitpunkt t1 gilt mit einer Partitionierung der Transitionsmatrix entsprechendder Dynamikmatrix von (2) und dem (variablen) Anfangszeitpunkt t0 = t�

x(t1)�(t1)

�=

��11(t1; t) �12(t1; t)

�21(t1; t) �22(t1; t)

� �x(t)�(t)

�. (4)

Für x(t1) kann daraus geschrieben werden

x(t1) = �11(t1; t)x(t) + �12(t1; t)�(t)

bzw. durch Multiplikation mit P erhält man die Beziehung

Px(t1) = P�11(t1; t)x(t) +P�12(t1; t)�(t). (5)

Aus der Randbedingung (3) und Gl.(4) folgt nun

Px(t1) = �(t1) = �21(t1; t)x(t) + �22(t1; t)�(t). (6)

Subtrahiert man (5) von (6), so erhält man die Gleichung

0 =h�21(t1; t)�P�11(t1; t)

ix(t) +

h�22(t1; t)�P�12(t1; t)

i�(t).

2

Page 100: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Es kann gezeigt werden (siehe Kalman [3]), dass die Matrix �22(t1; t) � P�12(t1; t) imgesamten Optimierungsintervall [t0; t1] regulär ist, sodass man obige Gleichung eindeutignach �(t) au�ösen kann

�(t) =h�22(t1; t)�P�12(t1; t)

i�1 hP�11(t1; t)� �21(t1; t)

i| {z }

=:K(t)

x(t).

Der Zusammenhang�(t) = K (t)x (t) (7)

kann nun in die Beziehung (1) eingesetzt werden, wodurch man das Zustandsregelgesetz

u (t) = �R�1 (t)BT (t)K (t)x (t) (8)

erhält. Man beachte, dass dieses Zustandsregelgesetz zwar linear aber zeitvariant ist(selbst dann, wenn die Matrizen R und B konstant sind).

Da die Berechnung vonK (t) aus den Transitionsmatrizen �ij äußerst mühsam ist, wird einalternativer Weg zur Berechnung des Zustandsreglers angegeben. Dazu wird der Zusam-menhang (7) nach der Zeit abgeleitet

_� = _Kx+K_x (9)

und für _x aus den Dgln.(2) geschrieben

_x = Ax�BR�1BT� =�A�BR�1BTK

�x.

In die Gl.(9) eingesetzt, erhält man

_� =h_K+K

�A�BR�1BTK

�ix.

Andererseits folgt aus den Dgln.(2) und der Gl.(7)

_� = Qx�AT� =��Q�ATK

�x.

Ein Vergleich der beiden Darstellungen für _� ergibt nun den Zusammenhang

_K+K�A�BR�1BTK

�= �Q�ATK

bzw. nach einer kleinen Umformung:

_K = �KA�ATK+KBR�1BTK�Q (10)

3

Page 101: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Diese Beziehung ist eine gewöhnliche nichtlineare Di¤erentialgleichung 1. Ordnung für dieBestimmung der Reglermatrix K (t). Sie wird in der Literatur alsMatrix Riccati Dif-ferentialgleichung bezeichnet. Wenn man noch die Randbedingung (3) berücksichtigt

� (t1) = Px (t1)� (t1) = K (t1)x (t1)[K (t1)�P]x (t1) = 0,

so folgt daraus für K (t) die Randbedingung:

K (t1) = P (11)

Ausgehend von der Randbedingung (11) kann die Matrix Riccati Dgl. rückwärtsinteg-rierend numerisch gelöst werden. Die Matrix K ist symmetrisch. Dies folgt aus derTatsache, dass durch Transponieren der Dgl.(10)

_KT = �ATKT �KT

A+KTBR�1BTKT �Q

für KT dieselbe Dgl. (10) gilt.

10.2 Beispiel

Vorgegeben sei das mathematische Modell der Strecke

_x =

�0 10 0

�x+

�01

�u,

der Anfangszustand

x(0) =

�21

�und das Gütefunktional

J [u] =1

2xT (3)

�1 00 2

�x(3) +

1

2

3Z0

(xT�2 11 4

�x+

1

2u2)dt.

Gesucht ist das zugehörige lineare Zustandsregelgesetz, das aus der Minimierung des Güte-funktionals resultiert. Dazu muss die Matrix Riccati Di¤erentialgleichung

_K = �KA�ATK+KBR�1BTK�Q

ausgehend vom Endwert

K(3) = P =

�1 00 2

�numerisch gelöst werden. Die Lösungsfunktionen sind im Bild 1 dargestellt (man beachte,dass die Matrix K symmetrisch ist).

4

Page 102: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

2

2.5

Zeit

k11(t)

k12(t)

k22(t)

Bild 1. Lösung der Riccati Dgl.

Damit läßt sich sodann das zeitvariante Regelgesetz angeben

u(t) = �2�0 1

�K(t)x(t).

Eine Simulation des geschlossenen Regelkreises zeigt das Bild 2.

0 0.5 1 1.5 2 2.5 3­8

­6

­4

­2

0

2

4

Zeit

x1(t)

x2(t)

u(t)

Bild 2. Simulation des geschlossenen Regelkreises

5

Page 103: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Wenn man den Aufwand beachtet, der zur Realisierung dieses zeitvarianten Regelgesetzeserforderlich ist, so wird klar, dass eine Suche nach Alternativen, die zu einem zeitinvari-anten Zustandsregelgesetz führen, aus praktischer Sicht sehr wichtig ist. Dies wird imfolgenden Abschnitt erläutert.

10.3 Zeitinvariante Zustandsregler

Es wird zunächst nochmals das vorangegangene Beispiel aufgegri¤en und das Verhaltender Lösung der Riccati Dgl. für ein verlängertes Optimierungsintervall [0; 20] untersucht.Im Bild 3 sind die Lösungsfunktionen für diesen Fall dargestellt.

0 2 4 6 8 10 12 14 16 18 200

0.5

1

1.5

2

2.5

Zeit

k11(t)

k12(t)

k22(t)

Bild 3. Lösung der Riccati Dgl. für das verlängerte Optimierungsintervall

Deutlich ist zu erkennen, dass sich die Lösungsfunktionen über einen grossen Teil des Opti-mierungsintervalls zunächst konstant verhalten und erst ganz am Ende auf die gefordertenEndwerte einlaufen. Dies legt nun folgende Modi�kation der Aufgabenstellung nahe: Manerstrecke das Optimierungsintervall ins Unendliche, d.h. t1 !1. In diesem Fall ist eineEndzustandsbewertung natürlich nicht mehr sinnvoll, d.h. es gilt P = 0. Vom mathema-tischen Modell der Strecke wird vorausgesetzt, dass es zeitinvariant ist, d.h. A und Bsind konstante Matrizen und auch die Bewertungsmatrizen im Gütefunktional sind kon-stant. Im Gegensatz zur Aufgabenstellung mit dem endlichen Optimierungsintervall ist esnun zwingend erforderlich, dass die Zustandsgrößen der Strecke vollständig steuerbarsind, andernfalls könnte die Existenz des Gütefunktionals gefährdet sein. Weiters wirddie Wahl der Bewertungsmatrix Q eingeschränkt, indem man verlangt, dass Q positivde�nit ist1. Zusammenfassend lautet die Aufgabenstellung nunmehr:

1Man kann auf diese Einschränkung verzichten. Dann allerdings muss gewährleistet werden, dass mitQ = CCT das Paar [A;C] vollständig detektierbar ist.

6

Page 104: Skriptum zur Vorlesung - JKU...Bild 2. Konvexe Funktion Der Graph der Funktion darf also niemals oberhalb der Verbindungsstrecke zweier beliebiger Punkte des Graphen verlaufen. Beispiele

Gegeben ist_x = Ax+Bu mit [A;B] steuerbar

x(0) = x0

und das zu minimierende Gütefunktional

J [u] =1

2

1Z0

�xTQx+ uTRu

�dt mit Q;R positiv de�nit.

Das zugehörige optimale konstante Zustandsregelgesetz lautet:

u = �R�1BT Kx

Dabei ist K eine positiv de�nitive Lösung der sogenannten algebraischen Riccati Glei-chung

0 = �KA�ATK+ KBR

�1BT K�Q.

Das mathematische Modell des geschlossenen Regelkreises

_x =hA�BR�1BT K

ix

ist global asymptotisch stabil.

Zur Lösung der algebraischen Riccati Gleichung stehen zahlreiche Algorithmen zur Verfü-gung (siehe z.B.[4]). Prinzipell kann auch von der Möglichkeit Gebrauch gemacht werden,die Riccati Di¤erentialgleichung ausgehend vom Randwert

K(t1) = 0

solange rückwärtsintegrierend (numerisch) zu lösen, bis die Lösung stationär wird.

Literatur

[1] B. D. O. Anderson, J. B. Moore, Optimal Control - Linear Quadratic Methods, Pren-tice Hall, New Jersey, 1990

[2] M. Athans, P. L. Falb, Optimal Control, McGraw Hill, New York, 1966

[3] R. E. Kalman, Contributions to the Theory of Optimal Control, Bol. Soc. Math. Mex.,Vol. 5, 1960, pp. 102-119

[4] A. Bunse-Gerstner, Computational Solution of the Algebraic Riccati Equation, Jour-nal of the Society of Instrument and Control Engineers (SICE), Vol. 38, 1996, pp.632-639

7