Algebraiczne równanie Riccatiego
Algebraiczne równanie Riccatiego jest rodzajem równania nieliniowego, które powstaje w kontekście problemów optymalnego sterowania nieskończonego horyzontu w czasie ciągłym lub dyskretnym .
Typowe równanie algebraiczne Riccatiego jest podobne do jednego z poniższych:
algebraiczne równanie Riccatiego w czasie ciągłym (CARE):
lub algebraiczne równanie Riccatiego w czasie dyskretnym (DARE):
P jest nieznaną macierzą symetryczną n na n , a A , B , Q , R są znanymi macierzami współczynników rzeczywistych .
Chociaż generalnie to równanie może mieć wiele rozwiązań, zwykle określa się, że chcemy otrzymać jedyne rozwiązanie stabilizujące, jeśli takie rozwiązanie istnieje.
Pochodzenie nazwy
Równania te otrzymały nazwę Riccati ze względu na ich związek z równaniem różniczkowym Riccatiego . Rzeczywiście, CARE jest weryfikowane przez niezmienne w czasie rozwiązania powiązanego równania różniczkowego Riccatiego o wartościach macierzowych. Jeśli chodzi o DARE, jest ona weryfikowana przez niezmienne w czasie rozwiązania macierzowego równania różniczkowego Riccatiego (będącego analogiem równania różniczkowego Riccatiego w kontekście czasu dyskretnego LQR).
Kontekst algebraicznego równania Riccatiego w czasie dyskretnym
sterowania optymalnego o nieskończonym horyzoncie zależy nam na wartości jakiejś zmiennej będącej przedmiotem zainteresowania arbitralnie w odległej przyszłości i należy optymalnie wybrać wartość zmiennej sterowanej już teraz, wiedząc, że zawsze będziemy zachowywać się optymalnie w przyszły. Optymalne aktualne wartości zmiennych kontrolnych problemu w dowolnym momencie można znaleźć za pomocą rozwiązania równania Riccatiego i bieżących obserwacji ewoluujących zmiennych stanu. W przypadku wielu zmiennych stanu i wielu zmiennych kontrolnych równanie Riccatiego będzie macierzowym .
Algebraiczne równanie Riccatiego określa rozwiązanie problemu regulatora liniowego-kwadratowego (LQR) o nieskończonym horyzoncie i niezmiennego w czasie problemu liniowego-kwadratowo-gaussowskiego (LQG) o nieskończonym horyzoncie. Są to dwa najbardziej fundamentalne problemy w teorii sterowania .
Typową specyfikacją problemu liniowego sterowania kwadratowego w czasie dyskretnym jest minimalizacja
podlega równaniu stanu
gdzie y jest wektorem zmiennych stanu n × 1, u jest wektorem zmiennych sterujących k × 1, A jest macierzą przejścia stanu n × n , B jest macierzą n × k mnożników kontrolnych, Q ( n × n ) jest symetryczną dodatnią macierzą kosztów stanu półokreślonego , a R ( k × k ) jest symetryczną dodatnią macierzą kosztów kontroli określonej.
Indukcję wsteczną w czasie można wykorzystać do uzyskania za każdym razem optymalnego rozwiązania kontrolnego,
z symetryczną dodatnią określoną macierzą kosztu wykonania P ewoluującą wstecz w czasie od
które jest znane jako dynamiczne równanie Riccatiego w czasie dyskretnym tego problemu. Charakterystykę stanu stacjonarnego P , istotną dla problemu nieskończonego horyzontu, w którym T dąży do nieskończoności, można znaleźć, powtarzając wielokrotnie równanie dynamiczne, aż do zbieżności; wówczas P charakteryzuje się usunięciem indeksów dolnych czasu z równania dynamicznego.
Rozwiązanie
Zwykle rozwiązujący próbują znaleźć unikalne rozwiązanie stabilizujące, jeśli takie rozwiązanie istnieje. Rozwiązanie jest stabilizujące, jeśli użycie go do sterowania powiązanym systemem LQR powoduje, że system zamkniętej pętli jest stabilny.
Dla CARE kontrola jest
a macierz transferu stanu w pętli zamkniętej to
który jest stabilny wtedy i tylko wtedy, gdy wszystkie jego wartości własne mają ściśle ujemną część rzeczywistą.
Dla DARE kontrola jest
a macierz transferu stanu w pętli zamkniętej to
który jest stabilny wtedy i tylko wtedy, gdy wszystkie jego wartości własne mieszczą się ściśle w okręgu jednostkowym płaszczyzny zespolonej.
Rozwiązanie algebraicznego równania Riccatiego można uzyskać przez faktoryzację macierzy lub iterację równania Riccatiego. Jeden typ iteracji można uzyskać w przypadku czasu dyskretnego za pomocą dynamicznego równania Riccatiego, które pojawia się w problemie skończonego horyzontu: w tym drugim typie problemu każda iteracja wartości macierzy jest istotna dla optymalnego wyboru w każdym okresie, który jest skończoną odległością w czasie od końcowego okresu, a jeśli jest iterowana nieskończenie daleko wstecz w czasie, zbiega się do określonej macierzy, która jest istotna dla optymalnego wyboru nieskończonej długości czasu przed końcowym okresem - to znaczy, kiedy istnieje nieskończony horyzont.
Możliwe jest również znalezienie rozwiązania poprzez znalezienie rozkładu własnego większego systemu. Dla CARE definiujemy macierz Hamiltona
Ponieważ , jeśli nie ma żadnych wartości własnych na osi urojonej, to dokładnie połowa jego wartości własnych ma ujemną część rzeczywistą. Jeśli oznaczymy której kolumny tworzą podstawę odpowiedniej podprzestrzeni, w notacji blokowo
Następnie
jest rozwiązaniem równania Riccatiego; wartości _ _
W przypadku DARE, gdy , definiujemy macierz symplektyczną
Ponieważ , jeśli nie ma żadnych wartości własnych na okręgu jednostkowym, to dokładnie połowa jego wartości własnych znajduje się wewnątrz okręgu jednostkowego. Jeśli oznaczymy której kolumny tworzą podstawę odpowiedniej podprzestrzeni, w notacji blokowo
gdzie i wynikają z rozkładu
Następnie
jest rozwiązaniem równania Riccatiego; ponadto wartości własne są własne które znajdują się wewnątrz okręgu jednostkowego.
Zobacz też
- Petera Lancastera; Leiba Rodman (1995), Algebraiczne równania Riccatiego , Oxford University Press , s. 504, ISBN 0-19-853795-6
- Alan J. Laub, Metoda Schura do rozwiązywania algebraicznych równań Riccatiego
Linki zewnętrzne
- CARE solver pomoc przybornika MATLAB Control.
- DARE solver pomoc przybornika MATLAB Control.
- Solver CARE online dla macierzy o dowolnej wielkości.
- Solvery CARE i DARE w Pythonie.
- Funkcja Mathematica do rozwiązywania algebraicznego równania Riccatiego w czasie ciągłym.
- Funkcja Mathematica do rozwiązywania algebraicznego równania Riccatiego w czasie dyskretnym.