Pontryaguine, Programmation dynamique, Bellman
Transcription
Pontryaguine, Programmation dynamique, Bellman
Cours MAP434, Contrôle de modèles dynamiques Séance 7, 27 mai 2015 Pontryaguine, Programmation dynamique, Bellman I - Commande linéaire quadratique en temps discret par programmation dynamique On considère le système linéaire en temps discret x(s + 1) = Ax(s) + Bu(s) t ≤ s ≤ T − 1, x(t) = x ∈ RN (1) N × N , B est une matrice N × m ; et la fonction valeur (T −1 ) X1 1 1 V (x, t) = min (Ru(s), u(s)) + (Qx(s), x(s)) + (Dx(T ), x(T )) 2 2 2 u∈U (t) s=t où A pour est une matrice R est une matrice symétrique m×m dénie positive, Q et D sont des matrices N ×N semi-dénies positives. La classe de contrôles U(t) est donnée m par des processus discrets (u(s))t≤s≤T −1 tels que u(s) ∈ R pour t ≤ s ≤ T − 1. 1 On pose V (x, T ) = (Dx, x). 2 1. Ecrire l'équation de Hamilton-Jacobi-Bellman satisfaite par V . où symétriques Correction: n1 1 (Ru, u) + (Qx, x) 2 2 T −1 o X 1 1 1 (Ru(s), u(s)) + (Qx(s), x(s)) + (Dx(T ), x(T )) + min 2 2 2 u∈U (t+1) s=t+1 n1 o 1 = minm (Ru, u) + (Qx, x) + V (Ax + Bu, t + 1) u∈R 2 2 V (x, t) = minm u∈R 2. Montrer par récurrence (rétrograde) que V (x, t) = 12 (P (t)x, x) où P (t) est une matrice symétrique semi-dénie positive dénie par l'équation (de Riccati discrète) P (T ) = D, P (t) = Q + At P (t + 1)A − (At P (t + 1)B)(R + B t P (t + 1)B)−1 (At P (t + 1)B)t pour t < T. Calculer le contrôle optimal. Correction: Pour t = T le résultat est évident. Supposons qu'il est vrai pour t < T . Alors par l'équation HJB, n1 o 1 1 V (x, t) = minm (Ru, u) + (Qx, x) + (P (t + 1)(Ax + Bu), Ax + Bu) u∈R 2 2 2 n1 o 1 = ((Q + At P (t + 1)A)x, x) + minm ((R + B t P (t + 1)B)u, u) + (At P (t + 1)Bu, x) . u∈R 2 2 t+1 avec 1 u La valeur optimale de est donnée par u∗ = −(R + B t P (t + 1)B)−1 B t P (t + 1)Ax et alors 1 1 ((Q + At P (t + 1)A)x, x) − (B t P (t + 1)Ax, (R + B t P (t + 1)B)−1 B t P (t + 1)Ax) 2 2 1 = (P (t)x, x) 2 V (x, t) = avec la matrice P (t) donnée dans l'énoncé. On vérie que cette matrice est bien symétrique et qu'elle est semi-dénie positive (on pourrait montrer par récurrence rétrograde qu'elle est dénie positive si 3. Montrer que P (t) l'est). est également donnée par l'équation suivante : P (T ) = D, Correction: D P (t) = Q + At [BR−1 B t + P (t + 1)−1 ]−1 A De la question précédente, P (t) = Q + At [P (t + 1) − P(t + 1)B(R + B t P (t + 1)B)−1 B t P (t + 1)]A. Par ailleurs, (P (t + 1) − P(t + 1)B(R + B t P (t + 1)B)−1 B t P (t + 1))(BR−1 B t + P (t + 1)−1 ) = I + P (t + 1)[BR−1 B t − B(R + B t P (t + 1)B)−1 B t P (t + 1)BR−1 B t − B(R + B t P (t + 1)B)−1 B t ] = I + P (t + 1)[B(R + B t P (t + 1)B)−1 B t − B(R + B t P (t + 1)B)−1 B t ] = I. II - Temps d'arrivée. On considère un système commandable ẋ = Ax + Bu, x(0) = x0 x0 donné en x = 0 en un temps T̄ < +∞ avec un contrôle u ∈ B(0, 1) presque partout (i.e., kuk ≤ 1). On choisit un temps T > T̄ . On introduit le problème pénalisé, pour n ≥ 2, et sans contrainte sur u, et on suppose de plus qu'on peut aller du point T Z minm Cn (u) := u∈R 1. |u(t)|n dt + 0 Z T tanh nkx(t)k2 dt. 0 Appliquer le principe de Pontryaguine, déterminer l'équation de l'état adjoint p(t) à l'optimum et exprimer u en fonction de 2 p (à n xé). Correction: Pour une variation u + εv, on a une trajectoire x + εy Ay + Bv , y(0) = 0 T Z n−2 |u(t)| Cn (u+εv) = Cn (u)+εn Z u(t)v(t)dt+2ε 0 En introduisant p(t) T Z avec ẏ = et 0 avec 0 p(T ) = 0, T nx(t) · y(t) dt+o(ε) cosh (nkx(t)k2 ) on remarque que d (p · y)dt = p(T ) · y(T ) − p(0) · y(0) = 0 dt d'où Cn (u + εv) − Cn (u) =n ε T Z |u|n−2 uvdt 0 Z T +2 0 et si p nx · y + ṗ · y + p · (Ay + Bv)dt + o(1) cosh (nkxk2 ) résout ṗ = −AT p − nx , cosh (nkxk2 ) p(T ) = 0 on obtient Cn (u + εv) − Cn (u) = ε La commande u 1/n + 1/n0 = 1 (n0 → 1 2. On veut faire tendre T 0 > Tf , x0 0 existe u amène il (n|u|n−2 u + 2B T p)vdt. 0 1/(n−1) 0 2 |B T p(t)|n −2 B T p(t) n où u T à l'optimum est alors u(t) = tel que Z quand n → ∞). n vers l'inni. On considère u ∈ B(0, 1) p.p. et Tf < T 0 en temps Tf (et u ≡ 0 pour t > Tf ). Montrer que si 0 0 qui amène x0 en 0 en temps T et tel que supt |u (t)| < 1. en Correction: Comme 0=e Tf A Z Tf x0 + e(Tf −t)A Bu(t)dt 0 on a, si ε>0 est petit Z xε := −ε Tf e (Tf −t)A Tf A Bu(t)dt = e 0 Z x0 + 0 3 Tf e(Tf −t)A B(1 − ε)u(t)dt (1 − ε)u T . Par ailleurs, (A, B) étant comR Tf f (T −t)A mandable, il existe v qui amène x1 := − e f Bu(t)dt = eTf A x0 en 0 en 0 0 temps T − Tf . Donc, puisque xε = εx1 , donc x0 amène 0 0 = e(T xε en −Tf )A en temps Z T 0 −Tf e(T xε + 0 −Tf −t)A Bεvdt 0 εv amène xε en 0. Si ε est assez petit, ε|v| ≤ 1 − ε. En posant alors u0 (t) = (1 − ε)u(t) pour t ≤ Tf et u0 (t) = εv(t − Tf ) pour Tf < t ≤ T 0 , et u0 (t) = 0 pour t > T 0 , on répond à la question. Observons que par construction u0 pourrait 00 00 arriver en 0 une première fois en T ≤ Tf , mais qu'on aura toujours T → Tf quand ε → 0. i.e., 3. Montrer que si u, Tf est comme à la question précédente et un est optimal dans la première question, alors lim sup Cn (un ) ≤ Tf . n→∞ Correction: Soit T 0 > Tf u0 et comme à la question 2. : par dénition, on a Cn (un ) ≤ Cn (u0 ). Remarquons que Z T |u0 |n dt ≤ 0 quand n → ∞. Par ailleurs, Z lim sup n t ≥ T 0 , x0 (t) = 0 0 tendre T vers Tf . car si faire 4. T →0 (1 + ε)n T tanh nkx0 (t)k2 dt ≤ T 0 0 et donc cette expression vaut zéro. Il sut ensuite de un → û On admet que (à une sous-suite près), tout v (régulière, ou dans T Z Z un (t)v(t)dt → 0 4.a. faiblement au sens où pour Lq , q > 1), T û(t)v(t)dt. 0 Que peut-on dire des trajectoires xn associées à un ? Correction: xn (t) = etA x0 + Z t e(t−s)A Bun (s)ds → etA x0 + 0 Z 0 4 t e(t−s)A B û(s)ds par convergence faible, donc 4.b. xn → x̂ la solution du système avec commande û. û(t) ∈ B(0, 1) pour presque tout temps (on étudiera {t : |un (t)| > ρ} pour ρ > 1 xé, et on essaiera ensuite RT l'inégalité de Hölder, ûvdt pour v bornée). 0 (dicile) Montrer que d'abord les ensembles d'estimer, à l'aide de Correction: On a vu que Cn (un ) était uniformément bornée. En particulier T Z |un |n dt ≤ C < +∞ 0 notamment si Enρ = {|un | > ρ}, avec ρ > 1, |Enρ | ≤ Cρ−n → 0. v En particulier, pour toute T Z Z T un vdt ≤ ρ 0 bornée, en utilisant Hölder, Z |v|dt + un vdt ρ En 0 T Z ≤ρ n→∞ n |v|dt + |un | dt 0 Il vient quand (comme Z n0 → 1 ) T T Z |v|dt 0 k≥2 Z 0 v = ûχ{ρ<|û|≤k} , Z |û|2 dt ≤ ρ entier, {k≥|û|>ρ} ce qui n'est possible que si S k≥2 {k ≥ |û| > ρ} a aussi on en déduit |û| ≤ 1 p.p. 4.c En déduire que 1/n0 0 |v|n dt . ρ En 0 ûvdt ≤ ρ et en prenant, pour !1/n Z T Z |û|dt {k≥|û|>ρ} {k ≥ |û| > ρ} a mesure nulle. Donc {|û| > ρ} = ρ > 1, mesure nulle. Comme ceci est vrai pour tout Cn (un ) → Tf le plus petit temps d'arrivée en û ? dans la boule unité. Que peut-on dire de 0 avec contrôle Formellement, que devient la rela- tion liant la commande et l'état adjoint ? Correction: Remarquons d'abord que xn → x̂ ponctuellement donc (par exemple par le théorème de Lebesgue) Z Cn (un ) ≥ T 2 tanh nkxn (t)k Z dt → χ{kx̂(t)k>0} dt. 0 0 5 T Or ceci est nécessairement plus grand que Tf . lim supn Cn (un ) ≤ Tf . Enn, on a donc Cn (un ) → Tf . Donc Par ailleurs, par la question 3., T Z χ{kx̂(t)k>0} dt = Tf 0 et le contrôle û réalise le temps d'arrivée minimal en 0. On avait : 0 un (t) = |B T pn (t)|n −2 B T pn (t), comme n0 → 1 on retrouve (FORMELLEMENT, en réalité, sans preuve supplé- mentaire, la limite n'est que faible et on ne peut pas armer ce qui suit) u(t) = p La limite de l'équation pour masse de Dirac B T p(t) . |B T p(t)| est plus dicile à interpréter... (ṗ = AT p+ une Tf ?) III - Principe d'optimalité de Bellman discret et continu pour la commande linéaire quadratique On considère l'intervalle de temps ∆t > 0 [0, 1] découpé en N intervalles de longueur et on s'intéresse à minimiser la fonctionnelle N −1 1 X 1 2 J(U ) = ∆t(yi2 + u2i ) + yN 2 i=0 2 pour U = (u0 · · · uN −1 ) ∈ RN sous la contrainte d'état 0≤i≤N −1 yi+1 = yi + ∆tui avec 1. y0 ∈ R donné. On dénit la fonction valeur V (y, k) = avec V (y, k) min (uk ···uN −1 )∈RN −k (yk · · · yN ) ∈ RN −k+1 pour tout y∈R et 0≤k ≤N −1 : N −1 1 X 1 2 ∆t(yi2 + u2i ) + yN 2 2 i=k solution de k ≤i≤N −1 yi+1 = yi + ∆tui pour la donnée initiale yk = y Ecrire l'équation de programmation dynamique discrète vériée par V Correction: On applique le principe d'optimalité de Bellman : si on applique au temps k la commande uk = u, l'état au temps 6 k+1 vaudra yk+1 = y + ∆tu et le chemin optimal restant donnera la valeur V (y + ∆tu, k + 1), on obtient l'équation rétrograde 1 V (y, k) = min ∆t(y 2 + u2 ) + V (y + ∆tu, k + 1) u∈R 2 avec pour condition initiale V (y, N ) = 2. 1 2 y . 2 1 0 ≤ k ≤ N , il existe µk ∈ R∗+ tel que V (y, k) = µk y 2 . 2 de µk+1 ainsi que la commande optimale uk à l'instant Montrer que pour tout Donner µk en fonction k. Correction: rang N avec On procède par récurrence rétrograde. La propriété est vraie au µN = 1. V (y, k + 1) = Supposons que programmation dynamique au temps k devient : 1 µk+1 y 2 . 2 L'équation de 1 1 2 2 2 V (y, k) = min ∆t(y + u ) + µk+1 (y + ∆tu) = min Jy,k (u) u∈R u∈R 2 2 La fonctionnelle Jy,k (u) à minimiser sur rentiable, l'unique valeur du minimiseur R étant strictement convexe et dié0 uk est donnée par Jy,k (uk ) = 0 soit ∆tuk + ∆tµk+1 (y + ∆tuk ) = 0 soit uk = − V (y, k) on obtient " 2 # 2 1 µk+1 y 1 y 2 V (y, k) = ∆t y + + µk+1 2 1 + µk+1 ∆t 2 1 + µk+1 ∆t 2 ∆tµk+1 + µk+1 1 2 1 2 µk+1 = y ∆t + = y ∆t + 2 (1 + µk+1 ∆t)2 2 1 + µk+1 ∆t En remplaçant la valeur de uk µk+1 y . 1 + µk+1 ∆t En posant µk = et de y dans µk+1 + ∆t > 0 1 + µk+1 ∆t on obtient la propriété demandée. 3. On fait tendre ∆t vers 0 ou de manière équivalente N 1). Ecrire les solutions de l'équation dynamique à l'ordre µk = 1 + O(∆t), yk ≈ y0 e−k∆t , et on donnera la limite de 7 vers l'inni (N ∆t = 1 : on montrera que l'optimum. Correction: 0 ≤ k ≤ N, 1 ≤ µk ≤ 1 + ∆t). On a bien sûr µN = 1, et si l'hypothèse µk+1 + ∆t + µk+1 ∆t2 est vraie pour k + 1 ≤ N , en observant que µk = , il vient 1 + µk+1 ∆t Montrons par récurrence rétrograde que pour tout µk ≤ 1 + (N − k)∆t2 µk ≥ Or k≥0 1 + ∆t + ∆t2 1 + ∆t + ∆t2 . = 2 1 + (1 + (N − k − 1)∆t )∆t 1 + ∆t + (N − k − 1)∆t3 (N − k − 1) ≤ N µk ≥ 1. Par ailleurs, donc déduit que µk ≤ (d'où (N − k − 1)∆t3 ≤ N ∆t3 = ∆t2 . donc On en 1 + (N − k − 1)∆t2 + ∆t + (1 + (N − k − 1)∆t2 )∆t2 1 + ∆t N − k + (N − k − 1)∆t2 = 1 + ∆t2 1 + ∆t 1 + (1 − 1/(N − k))∆t2 ≤ 1 + (N − k)∆t2 . = 1 + (N − k)∆t2 1 + ∆t En outre, la relation reliant yk yk+1 à s'écrit yk+1 = yk + ∆tuk = yk − ∆t µk+1 yk 1 + µk+1 ∆t yk . 1 + µk+1 ∆t = On déduit alors des estimations sur µk+1 que yk = yk+1 (1 + µk+1 ∆t) = yk+1 (1 + ∆t + O(∆t2 )) et donc y0 = yN 1+ 1 +O N 1 N2 N = yN e N ln(1 + 1 + o(N −1 )) N = yN e(1 + o(1)) 0 ≤ k ≤ N, −k −1 1 1 −1 + o(N ) = y0 e−k ln(1+ N +o(N )) = y0 e−k∆t (1 + o(1)). yk = y0 1 + N Par suite, pour tout On a de plus uk = −yk + O(∆t) 1 2 y 2 0 L'optimum converge alors vers 4. (car µ0 → 1). Comparer avec le cas continu où la fonctionnelle à minimiser est 1 J(u) = 2 Z 1 (y(t)2 + u(t)2 ) + 0 8 1 y(1)2 2 pour u(t) ∈ R sous la contrainte d'état dy (t) = u(t) dt avec y(0) = y0 ∈ R Correction: donné. On peut utiliser le principe du minimum de Pontryaguine qui nous permet d'écrire la condition nécessaire et susante (par convexité) à l'aide de l'état adjoint sous la forme ẏ = u, y(0) = y0 , ṗ = −y, p(1) = y(1), u = −p. Ce qui donne u = −y , P (t) = 1 p = y = y0 e−t , la commande optimale sous forme de feedback et l'équation de Riccati (on retrouve que Ṗ = P 2 − 1, P (1) = 1 dont la solution est p = y ). Une autre possibilité est d'introduire la fonction valeur V (y, t) dans le do- maine, et considérer l'équation d'Hamilton-Jacobi-Bellman ∂V (y, t) + H̃(y, t, ∇x V (y, t)) = 0 ∂t avec H̃(y, t, p) = inf u∈U La condition en t=1 1 2 2 (y + u ) + p.u 2 s'écrit V (y, 1) = 1 2 y 2 La fonctionnelle étant quadratique convexe, le minimum est atteint en lant le gradient de la fonctionnelle, soit u+p=0 et H̃(y, t, p) = 1 2 (y − p2 ) 2 L'équation HJB devient 1 ∂V (y, t) + (y(t)2 − |∇x V (y, t)|2 ) = 0 ∂t 2 On cherche la solution sous la forme séparée des variables V (y, t) = 9 1 µ(t)y 2 2 u annu- L'équation devient µ0 (t)y 2 + y 2 − µ(t)2 y 2 = 0 et on obtient l'équation de Ricatti sur µ(t) µ0 (t) − µ(t)2 + 1 = 0 Le changement de variable µ= linéaire −v 0 v permet d'obtenir l'équation diérentielle v 00 = v, et donc µ(t) = et la condition initiale µ(1) = 1 be−t − aet be−t + aet donne a=0 soit pour tout t ∈ [0, 1] µ(t) = 1 On obtient alors la valeur de l'optimum V (y0 , 0) = est donnée par 1 2 y . La commande optimale 2 0 u(t) = −∇x V (y, t) = −y(t), et donc l'équation diérentielle sur l'état y 0 (t) = u(t) = −y(t) donne y(t) = y0 e−t , si bien que 5. y0 = y(1) ∗ e. Retrouver le résultat ci-dessus à l'aide du principe de Pontryaguine, et véri- er que l'équation de Ricatti discrète est bien une approximation de l'équation continue. Correction: L'état adjoint vérie p0 = −y égale à −p. et p(1) = y(1), la commande étant On peut relier alors l'état adjoint à la fonction valeur par p(t) = −u(t) = ∇x V (y, t) = µ(t)y(t) Le changement de variable et l'utilisation de µk u = −p µ= −v 0 v n'est rien d'autre que l'écriture de p y dans l'équation d'état. De même, si on considère que est une approximation de µ(k∆t) on peut eectuer un développement limité de l'équation de Ricatti discrète µk = µ= µk+1 + ∆t + µk+1 ∆t2 µk+1 = + ∆t > 0 1 + µk+1 ∆t 1 + µk+1 ∆t 10 en écrivant µk+1 = µk + µ0 (tk )∆t + o(∆t) avec tk = k∆t. On obtient µk + µ0 (tk )∆t + o(∆t) 1 + ∆t(µk + µ0 (tk )∆t + o(∆t)) = ∆t + (µk + µ0 (tk )∆t + o(∆t))(1 − ∆tµk + o(∆t)) µk = ∆t + = µk + ∆t(1 + µ0 (tk ) − µ2k ) + o(∆t). L'équation de Ricatti discrète est bien une approximation de l'équation continue 1 + µ0 (tk ) − µ2 (tk ) = 0. 11
Documents pareils
Programmation dynamique, Bellman
t. Ce qui donne p = y = y0 e−t , la commande optimale sous forme de feedback
u = −y , et l'équation de Riccati Ṗ = P 2 − 1, P (1) = 1 dont la solution est
P (t) = 1 (on retrouve que p = y ).
Une a...