Programmation dynamique, Bellman
Transcription
Programmation dynamique, Bellman
Cours MAP434, Contrôle de modèles dynamiques Séance 7, 25 mai 2016 Programmation dynamique, Bellman I - Système LQ en temps discret par programmation dynamique. On considère le système linéaire en temps discret x(s + 1) = Ax(s) + Bu(s) pour t ≤ s ≤ T − 1, x(t) = x ∈ RN (1) où A est une matrice N × N , B est une matrice N × m, et la fonction valeur (T −1 ) X1 1 1 (Ru(s), u(s)) + (Qx(s), x(s)) + (Dx(T ), x(T )) , V (x, t) = min 2 2 2 u∈U (t) s=t où R est une matrice symétrique m×m dénie positive, Q et D sont des matrices symétriques N ×N semi-dénies positives. La classe de contrôles U(t) est donnée par des vecteurs discrets (u(s))t≤s≤T −1 tels que u(s) ∈ Rm pour t ≤ s ≤ T − 1. On pose V (x, T ) = 21 (Dx, x). 1. Ecrire l'équation de HamiltonJacobiBellman satisfaite par V (x, t), 0 ≤ t < T. Correction: On a pour tout x ∈ RN et tout 0 ≤ t < T , 1 (Ru, u) + (Qx, x) 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 n1 2 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 P (T ) = D, P (t) = Q + At P (t + 1)A − (B t P (t + 1)A)t (R + B t P (t + 1)B)−1 (B t P (t + 1)A), pour t < T . Calculer le contrôle optimal. Correction: Pour t = T le résultat est évident d'après les hypothèses sur la matrice D. Supposons qu'il est vrai pour t + 1 avec t < T . Alors, par l'équation HJB, il vient 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 (Fu, u) + (u, Ex) u∈R 2 2 1 avec F = R + B t P (t + 1)B, E = B t P (t + 1)A, en utilisant l'hypothèse de récurrence P (t+1) symétrique. Nous sommes ramenés à un problème de minimisation sans contrainte d'une fonctionnelle quadratique : la matrice F est symétrique dénie positive comme somme d'une matrice symétrique dénie positive R et d'une matrice symétrique semi-dénie positive B t P (t + 1)B d'après l'hypothèse de récurrence (P (t + 1) symétrique et semidénie positve). Nous sommes donc dans le cas fortement convexe : il existe un unique minimiseur u∗ caractérisé par l'égalité d'Euler : Fu∗ + Ex = 0, soit u∗ = −F −1 Ex = −(R + B t P (t + 1)B)−1 B t P (t + 1)Ax. Par suite, 1 ((Q + At P (t + 1)A)x, x) + 2 1 = ((Q + At P (t + 1)A)x, x) + 2 1 = ((Q + At P (t + 1)A)x, x) − 2 1 = (P (t)x, x), 2 V (x, t) = 1 (Fu∗ , u∗ ) + (u∗ , Ex) 2 1 (Ex, F −1 Ex) − (F −1 Ex, Ex) 2 1 t −1 (E F Ex, x) 2 avec la matrice P (t) donnée dans l'énoncé. Il est immédiat que cette matrice est bien symétrique. En revanche, pour démontrer qu'elle est semi-dénie positive, il faut réintroduire une variable auxiliaire (de fait le contrôle optimal) dénie par u = u∗ = −F −1 Ex pour retrouver l'expression initiale (P (t)x, x) = (Ru, u) + (Qx, x) + (P (t + 1)(Ax + Bu), Ax + Bu)) qui maintenant est une somme de termes quadratiques positifs, ce qui permet de conclure que P (t) est bien semi-dénie positive. (On voit au passage sur cette expression que la stricte positivité de la matrice P (t+1) n'est pas susante pour assurer le caractère déni positif de la matrice P (t) : il faut d'autres hypothèses sur Q ou A.) 3. On suppose que la matrice P (t + 1) est inversible. Montrer que P (t) est également donnée par l'équation suivante : P (T ) = D, P (t) = Q + At [BR−1 B t + P (t + 1)−1 ]−1 A. 2 Correction: De la question précédente, en notant u∗ le contrôle optimal, on a (P (t)x, x) = 2V (x, t) = ((Q + At P (t + 1)A)x, x) + (u∗ , Ex), qui se réécrit en posant y = Ax, en utilisant l'expression E = B t P (t + 1)A et la symétrie de P (t + 1) sous la forme (P (t)x, x) = (Qx, x)+(P (t+1)y, y)+(P (t+1)Bu∗ , y) = (Qx, x)+(P (t+1)(y+Bu∗ ), y). On veut chercher à exprimer P (t+1)(y+Bu∗ ) en fonction de y . La caractérisation du minimiseur u∗ s'écrit Ru∗ + B t P (t + 1)Bu∗ + B t P (t + 1)y = 0, soit u∗ = −R−1 B t P (t + 1)(y + Bu∗ ). Par suite, P (t + 1)Bu∗ = −P (t + 1)BR−1 B t P (t + 1)(y + Bu∗ ), et en ajoutant P (t + 1)y aux deux membres de l'égalité, il vient (Id + P (t + 1)BR−1 B t )P (t + 1)(y + Bu∗ ) = P (t + 1)y. Sous l'hypothèse d'inversibilité de P (t + 1), on a en multipliant à gauche par P (t + 1)−1 (P (t + 1)−1 + BR−1 B t )P (t + 1)(y + Bu∗ ) = y. La nouvelle matrice M = P (t + 1)−1 + BR−1 B t est symétrique dénie positive et donc inversible toujours sous l'hypothèse d'inversibilité de P (t + 1) et donc P (t + 1)(y + Bu∗ ) = M−1 y. En remplaçant dans l'expression précédente de (P (t)x, x), on obtient (P (t)x, x) = (Qx, x) + (M−1 y, y) = (Qx, x) + (M−1 Ax, Ax), et par suite l'expression demandée pour P (t). II - Système LQ : principe d'optimalité de Bellman discret et continu. On considère l'intervalle de temps [0, 1] découpé en N intervalles de longueur ∆t > 0 et on s'intéresse à minimiser la fonctionnelle J(U ) = N −1 1 2 1 X ∆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 , 3 avec y0 ∈ R donné. 1. On dénit la fonction valeur V (y, k), pour tout y ∈ R et 0 ≤ k ≤ N − 1, par V (y, k) = min (uk ···uN −1 )∈RN −k N −1 1 X 1 2 ∆t(yi2 + u2i ) + yN , 2 2 i=k avec (yk · · · yN ) ∈ RN −k+1 solution de k ≤ i ≤ N − 1, yi+1 = yi + ∆tui , pour la donnée initiale yk = y. Écrire 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 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 ) = 1 2 y . 2 1 Montrer que pour tout 0 ≤ k ≤ N , il existe µk ∈ R∗+ tel que V (y, k) = µk y 2 . 2 Donner µk en fonction de µk+1 et la commande optimale uk à l'instant k . 2. Correction: On procède par récurrence rétrograde. La propriété est vraie au 1 rang N avec µN = 1. Supposons que V (y, k + 1) = µk+1 y 2 . L'équation de 2 programmation dynamique au temps k devient : 1 1 2 2 2 V (y, k) = min ∆t(y + u ) + µk+1 (y + ∆tu) = min Jy,k (u). u∈R 2 u∈R 2 La fonctionnelle Jy,k (u) à minimiser sur R étant strictement convexe et dié0 rentiable, l'unique valeur du minimiseur uk est donnée par Jy,k (uk ) = 0 soit ∆tuk + ∆tµk+1 (y + ∆tuk ) = 0, soit uk = − µk+1 y . 1 + µk+1 ∆t 4 En remplaçant la valeur de uk dans V (y, k) on obtient " 2 # 2 1 µk+1 y y 1 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 posant µk = µ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 vers l'inni (N ∆t = 1). Ecrire les solutions de l'équation dynamique à l'ordre 1 : on montrera que µk = 1 + O(∆t), uk = −yk + O(∆t), yk = y0 e−k∆t + o(1), et on donnera la limite de l'optimum de la fonction de coût. Correction: Montrons par récurrence rétrograde que pour tout 0 ≤ k ≤ N , 1 ≤ µk ≤ 1 + (N − k)∆t2 (d'où µk ≤ 1 + ∆t). On a bien sûr µN = 1, et si l'hypothèse µk+1 + ∆t + µk+1 ∆t2 , il vient est vraie pour k + 1 ≤ N , en observant que µk = 1 + µk+1 ∆t µk ≥ 1 + ∆t + ∆t2 1 + ∆t + ∆t2 = . 1 + (1 + (N − k − 1)∆t2 )∆t 1 + ∆t + (N − k − 1)∆t3 Or k ≥ 0 donc (N − k − 1) ≤ N donc (N − k − 1)∆t3 ≤ N ∆t3 = ∆t2 . On en déduit que µk ≥ 1. Par ailleurs, µk ≤ 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 )), 5 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)). Par suite, pour tout 0 ≤ k ≤ N , −k −1 1 1 yk = y0 1 + + o(N −1 ) = y0 e−k ln(1+ N +o(N )) = y0 e−k∆t (1 + o(1)). N On a de plus uk = −yk + O(∆t). L'optimum de la fonction de coût converge vers 4. 1 2 y (car µ0 → 1). 2 0 Comparer avec le cas continu où la fonctionnelle à minimiser est Z 1 1 1 (y(t)2 + u(t)2 )dt + y(1)2 , J(u) = 2 2 0 pour u(t) ∈ R sous la contrainte d'état dy dt (t) = u(t) avec y(0) = y0 ∈ R donné. Correction: 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. En observant que δ = y−p vérie δ̇ = δ et δ(1) = 0, il vient y(t) = p(t) pour tout 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 autre possibilité est d'introduire la fonction valeur V (y, t) dans le domaine, et considérer l'équation d'HamiltonJacobiBellman ∂V (y, t) + H̃(y, t, ∇x V (y, t)) = 0, ∂t avec H̃(y, t, p) = inf u∈U 1 2 2 (y + u ) + p.u . 2 La condition en t = 1 s'écrit V (y, 1) = 6 1 2 y . 2 La fonctionnelle étant quadratique convexe, le minimum est atteint en u annulant 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 forme séparée : V (y, t) = L'équation devient 1 µ(t)y 2 . 2 µ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 permet d'obtenir l'équation diérentielle v v 00 = v, et donc be−t − aet . be−t + aet La condition initiale µ(1) = 1 donne a = 0, soit pour tout t ∈ [0, 1] µ(t) = µ(t) = 1. 1 On obtient alors la valeur de l'optimum V (y0 , 0) = y02 . La commande optimale 2 est donnée par 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 y0 = y(1) ∗ e. 5. Retrouver le résultat ci-dessus à l'aide du principe de Pontryaguine, et vérier que l'équation de Ricatti discrète est bien une approximation de l'équation continue. Correction: L'état adjoint vérie p0 = −y et p(1) = y(1), la commande étant égale à −p. On peut relier alors l'état adjoint à la fonction valeur par p(t) = −u(t) = ∇x V (y, t) = µ(t)y(t). 7 −v 0 p n'est rien d'autre que l'écriture de µ = v y et l'utilisation de u = −p dans l'équation d'état. De même, si on considère que µk est une approximation de µ(k∆t) on peut eectuer un développement limité de l'équation de Ricatti discrète Le changement de variable µ = µk = µk+1 + ∆t + µk+1 ∆t2 µk+1 = + ∆t > 0, 1 + µk+1 ∆t 1 + µk+1 ∆t 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. III - Tracé d'une voie de chemin de fer. On doit tracer une voie de chemin de fer du point 0 au point T dans un terrain valonné, l'altitude du terrain au point t ∈ [0, T ] étant z(t). La pente de la voie ne peut dépasser a. On note x(t) l'élévation de la voie au point t, et on suppose que x(0) = z(0). An de réduire les remblais et les excavations, on cherche u(t) telle que ẋ = u et |u(t)| ≤ a pour tout t ∈ [0, T ], de sorte à minimiser le critère 1 2 1. Z T (x(t) − z(t))2 dt. 0 Appliquer le principe du minimum. Correction: L'état adjoint p est déni par p(T ) = 0 et ṗ(t) = −(x̄(t) − z(t)) où x̄ est le tracé optimal. Le PMP consiste à dire que ū réalise le minimum de pu sur U = [−a, a]. Concrètement cela signie que Si p(t) = 0 alors ū(t) ∈ [−a, a] ; Si p(t) > 0 alors ū(t) = −a ; Si p(t) < 0 alors ū(t) = a. 2. Supposons que p(t) = 0 sur un intervalle I 0 : que sait-on de u(t) sur cet intervalle ? La restriction de x à I 0 s'appelle arc singulier. 8 Correction: Si p = 0 sur un intervalle, alors ṗ = 0 et donc x̄(t) = z(t) sur cet intervalle. Par suite, u(t) = ż(t) sur cet intervalle ; une condition nécessaire pour p = 0 sur un intervalle est que |ż(t)| ≤ a sur cet intervalle. 3. Pour un t ∈ (0, T ) donné, on suppose que p(t) > 0 et on dénit I + = ]α, β[ comme l'intervalle ouvert maximal contenant t sur lequel p(s) > 0 pour tout s ∈ I + . On suppose que 0 < α < β ≤ T . La restriction de x à I + s'appelle arc régulier. Quelle est la forme d'un tel arc ? Montrer que la trajectoire optimale Rβ x̄ est telle que α (z(t) − x̄(t))dt = 0. Comment s'interprète géométriquement cette condition ? Correction: Si p est strictement positif sur un intervalle alors u(t) = −a sur cet intervalle et donc ẋ = −a sur cet intervalle ; le tracé est donc ane. En outre, Z β Z β (z(t) − x̄(t))dt = ṗ(t)dt = p(β) − p(α) = 0, α α puisque (α, β) est l'intervalle maximal sur lequel p est strictement positif et p est continu (comme α > 0, on a donc α ∈ (0, T ) et p(α) = 0 ; en β , on conclut de même si β < T et on utilise que p(T ) = 0 sinon). La condition ci-dessus signie qu'il y a autant de remblais que d'excavations sur I + . 4. Déterminer le tracé optimal sur le terrain de la forme suivante : ( 0 si t ∈ [0, T3 ) ∪ ( 2T 3 , T ], z(t) = h > 0 si t ∈ ( T3 , 2T 3 ). Commenter la perte de symétrie de la solution pour h susamment grand. Correction: Supposons dans un premier temps que h est susamment petit. Dans ce cas, le tracé consistera en trois arcs singuliers sur lesquels x(t) est constant et de deux arcs réguliers pour monter et descendre du plateau. Par symétrie du problème, on cherche donc α et β avec 0 < α < T /3 < β < T /2 tels que x(t) = a(t − α) pour α ≤ t ≤ β , Z β (z(t) − x̄(t))dt = 0 et x(β) = h. α h h D'où a(β − α) = h et T3 − α = β − T3 et nalement α = T3 − 2a et β = T3 + 2a . T 1 Cette solution est valable si β ≤ 2 , i.e., si h ≤ 3 T a. Si h est plus grand mais pas trop grand, l'arc singulier du milieu va disparaître et on cherchera α avec 0 ≤ α ≤ T /3 tel que Z T 2 (z(t) − x̄(t))dt = 0. α 9 D'où T α= − 2 r Th . 3a C'est une solution valable si 1 3 T a < h ≤ T a. 3 4 Enn, si h est plus grand que 43 T a, la solution consisteraRen deux arcs réguα liers [0, α] et [α, T ]. Le premier arc ne vérie pas la condition 0 (z(t)− x̄(t))dt = 0 (car p(0) est diérent de zéro), et le deuxième ne vérie pas la condition x̄(T ) = z(T ) = 0. La solution n'est donc plus symétrique. Cette rupture de symétrie est due au fait qu'on a imposé que x(0) = z(0), alors qu'il faudra prévoir des remblais au terminus en t = T . An de calculer α, on écrit Z T (z(t) − x̄(t))dt = 0, α avec x̄(t) = 2αa − at, d'où ( 2T 3 − α)h = 1 a(T − α)(3α − T ). 2 Cette équation permet de déterminer α ; on notera que α → 2T 3 si h → ∞. La gure ci-dessous illustre les prols de x̄ (en haut) et de l'état adjoint p (en bas) pour h < 13 T a à gauche, h ∈ ( 13 T a, 34 T a) au centre et h > 34 T a à droite. 10
Documents pareils
Pontryaguine, Programmation dynamique, Bellman
= y0 e−k ln(1+ N +o(N )) = y0 e−k∆t (1 + o(1)).
yk = y0 1 +
N