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