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

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...

Plus en détail