Master MAF2 Année Universitaire 2020/2021
Travaux Dirigés
Contrôle Optimal
Série 1
Exercice I.
On considère l’équation
dx(t)
= u(t), x(0) = x0 .
dt
On suppose x0 donné pour t = 0, et u ∈ L2 ([0, T ], R) et on veut minimiser le coût donné par l’expression
Z T
x2 (s) + u2 (s) ds.
C(u) =
0
a) Montrer que ce problème admet une solution unique.
b) Trouver le vecteur adjoint p, le contrôle optimal u, la trajectoire correspondante x et calculer le coût C(u).
c) On pose p(t) = E(t)x(t).
Trouver le problème vérifié par E (équation et condition à la limite) et calculer sa solution.
Déduir le conrôle optimum u.
On considère l’équation avec la condition d’optimalité
Z T
C2 (u) = ((x(t) − 1)2 + u2 (t))dt.
0
Travaux Dirigés Contrôle Optimal/Série 3 2020-2021
d) Proposer une méthode pour déterminer l’état adjoint et le contrôle minimisant le coût ainsi que la trajec-
toire correspondante.
Exercice II.
On considère le système contrôlé
x = Ax + Bu, x(0) = x0
où x ∈ C 0 (R+ ; Rd ), A est une matrice d × d, u(t) ∈ Rm un contrôle (dépendant du temps) et B une
matrice d × m.
1) u(t) étant donné , calculer la solution de cette équation en utilisant la méthode de la variation de la
constante. et déduire que l’on peut supposer x0 = 0.
Dans la suite on suppose x0 = 0. On dit que le système est contrôlable ou commandable si pour tout
T > 0, pour tous points x0 , xT ∈ Rd , on peut trouver u : [0, T ] −→ Rm qui engendre une trajectoire x(t)
avec x(0) = 0 et x(T ) = xT .
2) Montrer que si c’est le cas, alors nécessairement le rang de la matrice "de Kalman" d × (md), K =
[B, AB, ...., Ad−1 B] est d.
3) On introduit la matrice d × d
Z T
GT = exp((T − s)A)BB t exp((T − s)At )ds.
0
Montrer que si la matrice GT est inversible, le système peut être contrôlé.
4) Montrer que si la matrice de Kalman K est de rang d, GT est inversible.
5) Montrer que la commande : u : s −→ B t exp((T − s)At )G−1 xT est optimale parmi les contrôles qui
Z T
2
amènent 0 à xT , pour le coût C : u −→ C(u) = ku(s)k ds (c’est même l’unique commande optimale
0
pour ce coût).
Exercice III.
On considère le système dynamique
2
Travaux Dirigés Contrôle Optimal/Série 3 2020-2021
x00 (t) + 2x0 (t) + x(t) = u(t), t ≥ 0
(S1 )
x(0) = x0 , x0 (0) = v0
associé au critère
1 RT
J(x, u) = [α(x(t))2 + β(x0 (t))2 + u2 (t)]dt
2 0
avec α ≥ 0 et β ≥ 0 et
1 RT
J(u) = [α(xu (t))2 + β(x0u (t))2 + u2 (t)]dt
2 0
où xu désigne la solution de (S1 ) correspondante au contrôle u.
1) Mettre l’équation sous la forme d’un système noté (S2 ), en posant X = (x, x0 ) = (x, y).
2) Montrer que le problème de contrôle
min{J(u); u ∈ L2 (0, T )}
admet une solution unique.
On note p1 , p1 les composantes de l’état adjoint p.
3) Donner l’équation de l’état adjoint.
4) Exprimer la commande en fonction de l’état et de l’état adjoint grâce au principe de Pontryagin.
5) On pose p(t) = X T (t)F (t) avec X(t) solution de (S2 ).
Trouver l’équation différentielle vérifiée par F , (équation de Riccati).
3
Travaux Dirigés Contrôle Optimal/Série 3 2020-2021
Solutions des Exercices
Série 1
Exercice I.
a) On a A = [0], B = [1], Q = 0, W = [1] et U = [1]. On constate que W ≥ 0 et U est coercive, donc le
système admet une solution optimale unique.
b) Le vecteur adjoint est solution du problème
p0 (t) = x(t)W = x(t)
et u(t) = U −1 B T p(t) = p(t)
p(T ) = 0
On a alors
00
x0 (t) = u(t) = p(t)
x (t) = p0 (t) = x(t)
⇒
x(0) = x0 , x0 (T ) = 0 x(0) = x0 , x0 (T ) = 0
La solution de ce système est
x(t) = aet + be−t
x(0) = a + b = x0 et x0 (T ) = aeT − be−T = 0
x0 e2T
⇒a= 2T
et b = x0 .
1+e 1 + e2T
x0
On pose k = et on a
1 + e2T
x(t) = k(et + e2T e−t ) , u(t) = p(t) = k(et − e2T e−t )
x2 (t) + u2 (t) = k 2 (2e2t + 2e4T e−2t )
RT T
2(e2t + e4T e−2t )dt = k 2 e2t − e4T e−2t 0 = k 2 e4T − 1 .
⇒ C(u) = k 2 0
c) On pose p(t) = E(t)x(t)
4
Travaux Dirigés Contrôle Optimal/Série 3 2020-2021
p0 (t) = x(t) = E 0 (t)x(t) + E(t)x0 (t) = E 0 (t)x(t) + E(t)u(t) = E 0 (t)x(t) + E 2 (t)x(t).
Puisque x est non nulle on a E 0 (t) = 1 − E 2 (t) et E(T ) = 0, c’est une équation à variables séparables
E 0 (t) E0 E0
1
= + = 1.
1 − E 2 (t) 2 1+E 1−E
On intègre sur [t, T ]
T
E 0 (t) 1 − E(t)
Z
1 T 1
T −t= = [(log(|1 + E|) − log(|1 − E|))]t = log
t 1 − E 2 (t) 2 2 1 + E(t)
1 − E(t) 1 − exp(2(T − t))
= exp(2(T − t)) ⇔ E(t) =
1 + E(t) 1 + exp(2(T − t))
1 − exp(2(T − t)) e2t − e2T
p(t) = u(t) = x(t) = 2t x(t).
1 + exp(2(T − t)) e + e2T
D’où l’équation vérifiée par x(t)
e2t − e2T
x0 (t) = x(t) = f (t)x(t)
e2t + e2T
R R
t t
⇒ x(t) = x0 exp 0
f (s)ds ⇒ u(t) = x0 f (t) exp 0 f (s)ds .
d) On pose z(t) = x(t) − 1 On déduit alors que z vérifie exactement le même problème vérifié par x avec la
condition initiale z(0) = x0 − 1.
Exercice II.
1) La solution de l’équation sans second membre , avec u = 0
x0 (t) − Ax(t) = 0
On multiplie par exp(−tA) :
0
exp(−tA)x0 (t) − A exp(tA)x(t) = (exp(−tA)x(t)) = 0.
5
Travaux Dirigés Contrôle Optimal/Série 3 2020-2021
En intégrant entre 0 et t on a exp(−tA)x(t) − x0 = 0 donc x(t) = exp(tA)x0 .
Variation de la constante. On pose par conséquent x(t) = exp(tA)y(t) (⇔ y(t) = exp(−tA)x(t)), On a alors
y(0) = x0 et
y 0 (t) = exp(−tA)x0 (t) − A exp(−tA)x(t)
= exp(−tA)(Ax(t) + Bu(t)) − A exp(−tA)x(t)
= exp(−tA)Bu(t).
Z t
Donc y(t) = x0 + exp(−sA)Bu(s)ds et donc on a :
0
Z t
x(t) = exp(tA)x0 + exp((t − s) A)Bu(s)ds.
0
e(t) = x(t) − exp(tA)x0 alors on aura x
Si on pose x e(0) = 0, de plus
x0 (t) = x
e0 (t) + A exp(tA)x0 = Ax(t) + Bu(t) = A(e
x(t) + exp(tA)x0 ) + Bu(t).
D’où l’on déduit en fin que
e0 (t) = Ae
x x(t) + Bu(t) et x
e(0) = 0.
2) Supposons le système commandable de 0 à tout xT ; alors, il existe u qui amène une solution x(t) de 0 en
xT . On fait donc l’hypothèse que pour tout xT ∈ Rd , on peut trouver u(t) tel que
Z T
x(T ) = exp((T − s)A)Bu(s)ds = xT
0
+∞
! +∞
Z T
X
n 1 n
X
xT = A B (T − s) Bu(s)ds = An Bvn ,
n=0
n! 0 n=0
avec vn quelconque puisque u est quelconque.
Mais on sait que pour n ≥ d, An est combinaison linéaire des Ai , 0 ≤ i ≤ d−1, donc l’expression précedante
devient
6
Travaux Dirigés Contrôle Optimal/Série 3 2020-2021
d−1
X
An Bvn = xT .
n=0
On déduit que la matrice de Kalman est surjective ⇒rang(K) = d.
Z T
3) On suppose GT = exp((T − s)A)B(B t exp((T − s)At ))ds est inversible.
0
D’après ce qui précede il suffit de choisir u(s) = B t exp((T − s)At )y avec y ∈ Rd est choisi tel que GT y = xT
⇔ y = G−1
T xT .
Z T
d
4) Il suffit de montrer que ker(GT ) = {0}. Soit v ∈ R tel que GT v = 0, donc vGT v = 0 = v t exp((T −
t
Z T 0
2
s)A)BB t exp((T − s)At )vds = v t exp((T − s)A)B ds et par conséquent pour tout s, v t exp((T −
0
s)A)B = 0. Soit pour tout s ∈ [0, T ] :
X (T − s)n n X (T − s)n
vt A B = v t B + (T − s) vt An B = 0.
n! n!
n≥0 n≥1
En prenant s = T, on voit que v t B = 0. En divisant le reste par (T − s) et on prend s = T on voit que
v t AB = 0. Ainsi par récurrence on conclut que v t An B = 0 pour tout n, donc le rang de K est strictement
plus petit que d si v 6= 0, (l’image de K est orthogonale à v).
5) On va démontrer que pour tout contrôle v qui permet de joindre 0 à xT on a C(v) ≥ C(u), on pose
v = u + h et soit xv la trajectoire associée, c’est à dire ∀t ∈ [0, T ]
Z t
xv (t) = exp((t − s)A)B(u + h)ds
0
Z t Z t
= exp((t − s)A)B(u)ds + exp((t − s)A)B(h)ds
0 0
= xu (t) + xh (t).
Comme xv (T ) = xu (T ) + xh (T ) = xT et xv (T ) = xu (0) + xh (0) on déduit que
xh (T ) = xh (0) = 0.
7
Travaux Dirigés Contrôle Optimal/Série 3 2020-2021
Calculons C(v)
Z T Z T
2
C(v) = C(u + h) = ku + hk2 ds = hu + h, u + hids
0 0
Z T
= C(u) + C(h) + 2 hu, hids
0
Z T
= C(u) + C(h) + 2 hB t exp((T − s)At )G−1 xT , hids
0
Z T
= C(u) + C(h) + 2hG−1 xT , exp((T − s)A)Bh(s)dsi
0
= C(u) + C(h) + 2hG−1 xT , xh (T )i = C(u) + C(h)
Donc C(v) ≥ C(u) et même C(v) > C(u) si h 6= 0 (⇔ v 6= u), d’où l’unicité.
Exercice III.
0 0 00 x(t)
1) On pose x (t) = y(t) , y (t) = x (t) = −x(t) − 2y(t) + u(t) , et X(t) = .
y(t)
On obtient alors
0
0 x(t) 0 1 x(t) 0
(S2 ) X (t) = = + u(t).
y(t) −1 −2 y(t) 1
0 1 0
On a donc A = et B = .
−1 −2 1
1 α 0 1
2) D’après les notation du cours, on a Q = 0, W = et U = .
2 0 β 2
Z T Z T
T
Le problème admet une solution unique car les hypothèses, X(s) W X(s)ds ≥ 0 et u(s)T U u(s)ds ≥
Z T 0 0
1
C u(s)T u(s)ds (pour toute constante C non nulle comprise entre 0 et ) sont satisfaites.
0 2
3) L’équation adjointe est donnée par :
p0 (t) = [p01 (t) p02 (t)] = −pA + X T (t)W , p(T ) = −X T (T )Q = 0
α
0
p0 (t) = −[p1 , p2 ]
0 1
+ [x , y] 2 = [p2 + α x , −p1 + 2p2 + β y].
−1 −2 β 2 2
0
2
On a alors le système
0
x (t) = y(t) 0 0 1 0 0
x (t) x(t) 0
0
y (t) = −x(t) − 2y(t) + u(t) −1 −2 0 0
y 0 (t)
α α y(t) 1
p01 (t) = + x(t) + p2 (t) ⇔
p01 (t)
= 0 0 1 p1 (t) +
u(t).
0
2 2
β p02 (t) β
p2 (t) 0
0
p2 (t) = y − p1 + 2p2 ] 0 −1 2
2 2
8
Travaux Dirigés Contrôle Optimal/Série 3 2020-2021
4) On utilise la formule du cours
−1 T T p1
u(t) = U .B .p(t) = 2 [0 , 1] = 2p2 .
p2
5) Si on pose p(t) = X T F (t) on a
0
p0 = X T F 0 + X T F = X T F 0 + (AX + Bu)T F = X T F 0 + (AX + B2B T p(t)T )T F = X T F 0 + X T AT F + 2P BB T F
= X T F 0 + X T AT F + 2X T F BB T F.
De l’autre coté on a
p0 = −pA + X T (t)W = −X T F (t)A + X T (t)W .
On déduit donc
X T F 0 + X T AT F + 2X T F BB T F = −X T F A + X T W .
Comme X n’est pas une solution triviale on déduit
F 0 + AT F + 2F BB T F = −F A + W
⇒ F 0 + F A + AT F + 2F BB T F = W .