Algorithmic Differentiation

Bei vielen technischen Problemstellungen benötigt man für eine differenzierbare Funktion nicht nur die Funktionswerte, sondern auch Werte ihrer Ableitungen. Ein typisches Anwendungsbeispiel sind Optimierungsaufgaben. In vielen Fällen kann man die gewünschten Ableitung mit Computer-Algebra-Software symbolisch berechnen. Benötigt man höhere Ableitungen, dann wächst die Größe der entstehenden Ausdrücke in der Regel exponentiell an. Alternativ kann man Ableitungen numerisch mit Differenzenquotienten berechnen. Die Genauigkeit der Ableitung hängt maßgeblch von der gewählten Schrittweite ab. Selbst bei einer optimalen Schrittweite verliert die so gewählte Ableitung gegenüber dem Funktionswert an Genauigkeit.

Beim algorithmischen oder automatischen Differenzieren (AD) muss die zu differenzierende Funktion als Algorithmus in einer geeigneten Programmiersprache vorliegen. Die Ableitung wird ähnlich wie beim symbolischen Differenzieren durch systematisches Anwenden der Ableitungsregeln bestimmt. Allerdings werden die Zwischenergebnisse nicht als symbolischer Teilausdruck weitergereicht, sondern als Gleitkommazahl. Im Programmpaket ADOL-C wird das algorithmische Differenzieren mit Hilfe von Operatorüberladung implementiert.

Buchveröffentlichungen:

Lie-Derivatives

Allgemein sind Lie-Ableitungen für Tensorfelder definiert und können als Ableitungen entlang der Lösung dynamischer Systeme interpretiert werden. In der nichtlinearen Regelungstechnik benötigt man je nach Anwendung Lie-Ableitungen von Skalar-, Vektor- und Kovektorfeldern.

Verschiedene Arten von Lie-Ableitungen

Veröffentlichungen:

Reglerentwurf mit Automatischem Differenzieren

Beim Reglerentwurf mittels exakter Eingangs-Ausgangs-Linearisierung benötigt man mehrfache und eine gemischte Lie-Ableitung eines Skalarfeldes. Die zugehörigen Funktionswerte dieser Lie-Ableitungen lassen sich sehr leicht mit Hilfe des algorithmischen Differenzierens bestimmen.

Exakte Linearisierung durch Rückführung

Veröffentlichungen:

Beobachterentwurf mit Automatischem Differenzieren

Die Beobachtbarkeitsmatrix nichtlinearer Systeme besteht aus Gradienten von Lie-Ableitungen des Skalarfeldes der Ausgangsabbildung. Alternativ kann man die Zeilen der Beobachtbarkeitsmatrix auch als Lie-Ableitungen eines speziellen Kovektorfeldes, nämlich des Gradienten der Ausgangsabbildung, auffassen. Beim erweiterten Luenberger-Beobachter sind zusätzlich mehrfache Lie-Klammern erforderlich. Erfahrungsgemäß treten dabei deutlich kompliziertere Ausdrücke als beim Reglerentwurf auf. Tatsächlich ist bereits bei moderat komplizierten Systemen die symbolische Berechnung der Beobachterverstärkung zu aufwendig, die Berechnung mit algorithmischem Differenzieren dagegen ohne Probleme durchführbar.

Veröffentlichungen: