Master MAF2 Année Universitaire 2019/2020
Travaux Dirigés
Contrôle Optimal
Série 1
Exercice I.
On considère dans R2 le système suivant contrôlé par u = (u1 , u2 ) :
∂x(t)
∂t = ax(t) + by(t) + u1 (t)
(S) ∂y(t)
= cx(t) + dy(t) + u2 (t)
∂t
x(0) = y(0) = 0
Soient α ≥ 0, β ≥ 0, λ > 0 et µ > 0; on considère le coût
1 RT
C(u) = [αx2 (t) + βy 2 (t) + λu21 (t) + µu22 (t)]dt.
2 0
a) Montrer que le système (S) est contrôlable.
b) Ecrire les équations permettant de trouver u1 et u2 correspondant à la solution optimum.
Le système (S) est un système “Prédateurs et proies” que l’on essaie de contrôler.
Application numérique : a = b = c = 1, d = −1 ; α = 1, β = 2, λ = µ = 1.
c) Calculer alors (u1 , u2 ) et la trajectoire optimum associée.
Exercice II.
Considérons le système dans R2
x0(t) = y(t)
y0(t) = 2y(t) + u(t), |u| ≤ 1
Travaux Dirigés Contrôle Optimal/Série 1 2019-2020
On se pose le problème de relier en temps minimal le point origine (0, 0) à tout point (a, 0), où a ∈ R. Sans
perte de généralité on peut supposer que a > 0.
1) Vérifier que le système est contrôlable.
2) Ecrire les équations permettant de trouver le vecteur adjoint p = (p1 , p2 ) et le contrôle u correspondant à
la solution optimum. Déduire que le contôle a au plus une commutation.
3) Soit (x, y) la solution du système
x0(t) = y(t)
(S1 ) y 0 (t) = 2y(t) + 1
x(0) = y(0) = 0
et Γ1 sa représentation graphique.
Trouver cette solution et dissiner une parie de Γ1 .
4) Soit (x, y) la solution du système
x0(t) = y(t)
(S−1 ) y 0 (t) = 2y(t) − 1
(x(0), y(0)) ∈ Γ1
et Γ−1 sa représentation graphique.
Trouver cette solution et dissiner une partie de Γ−1 en précisant sa tangente au point (x(0), y(0)).
5) Expliquer comment une trajectoire optimum de (S) peut joindre les deux points (0, 0) et (a, 0).(a > 0).
Exercice III.
Dans sa phase finale la manoeuvre d’alunissage peut être modélisée (après de grandes simplification) par
l’équation :
(1) h00 (t) = m−1 u(t), t ≥ 0,
où h(t) est l’altitude à l’instant t, m la masse de l’engin, et u la somme (normalisèe) des forces extérieures
supposée vérifier à tout instant u(t) ∈ [−1, 1]. Le problème est d’emmener l’engin à vitesse et altitude nulles
en un temps minimal.
On notera v = h0 la vitesse, et (vo, ho) = (v(0), h(0)) la condition initiale.
2
Travaux Dirigés Contrôle Optimal/Série 1 2019-2020
1) Ecrire le problème de contrôle optimal. Est ce que le système est commandable ?
2) Expliquer pourquoi le problème a une solution unique et écrire les conditions d’optimalité en utilisant
l’équation adjointe et la condition d’extermalité pour u. (Le contrôle optimal et le temps optimal seront
désignés respectivement par u et T ).
3) Montrer que l’état adjoint ne pourrait pas s’annuler sur tout l’intervalle [0, T ].
4) En déduir que le contrôle optimal vérifie :
u(t) ∈ {−1, 1}
et u change de signe au plus 1 fois.
1 2
5) Montrer que si u ≡ 1 sur [0, T ]., alors la trajectoire atteint la cible si et seulement si v0 = T , et h0 = − T .
2
Supposons maintenant que u = 1 sur [0, T ]., sous quelle condition sur v0 , h0 , la trajectoire optimale
atteint-elle la cible ?
6) Donner la synthèse de la solution optimale.
3
Travaux Dirigés Contrôle Optimal/Série 1 2019-2020
Solutions des Exercices
Série 1
Exercice I.
0
x (t) = ax(t) + by(t) + u1 (t)
(S) y 0 (t) = cx(t) + dy(t) + u2 (t)
x(0) = y(0) = 0
a b 1 0 1 0 a b
a) Les matrices A = , B=I= , La matrice de Kalman C = [B, AB] =
c d 0 1 0 1 c d
est de rang 2. Donc le système est contrôlable.
b) En utilisant les notations du cours on a
1/2 0 λ/2 0
Q = 0, W = , U= .
0 1 0 µ/2
Donc l’état adjoint est donné par (p = (p1 , p2 ) , X = (x, y)),
p0 (t) = −pA + X T W, p(T ) = 0,
1
p01 (t) = −ap1 (t) − cp2 (t) + x(t)
2
p0 (t) = −bp1 (t) + dp2 (t) + y(t)
2
p1 (T ) = p2 (T ) = 0
Le contrôle est donné par
2/λ 0 p1
u = (u1 , u2 ) = U −1 B T pT = u1 (t) = (2/λ)p1 , u2 (t) = (2/µ)p2 (t).
0 2/µ p2
On remarque que le vecteur adjoint p dépent de l’état (x, y), donc pour trouver p on doit résoudre un système
d’ordre 4 qui permet de calculer à la fois (x, y) et (p1 , p2 ).
En regroupant les deux systèmes relativement à (x, y) et (p1 , p2 ) on a :
0
x (t) = ax(t) + by(t) + (2/λ)p1
y 0 (t) = cx(t) + dy(t) + (2/µ)p2 (t)
x(0) = y(0) = 0
0 1 avec les conditions
p 1 (t) = −ap 1 (t) − cp 2 (t) + x(t) p1 (T ) = p2 (T ) = 0
0 2
y (t) = −bp1 (t) + dp2 (t) + y(t)
4
Travaux Dirigés Contrôle Optimal/Série 1 2019-2020
c) Application numérique
a = b = c = 1, d = −1 ; α = 1, β = 2, λ = µ = 1.
Alors le dernier système devient
0
x (t) = x(t) + y(t) + 2p1
y 0 (t) = x(t) − y(t) + 2p2 (t)
x(0) = y(0) = 0
(S 0 ) 1 ,
p01 (t) = x(t) − p1 (t) − p2 (t)+ p1 (T ) = p2 (T ) = 0
2
y 0 (t) = y(t) − p1 (t) + p2 (t)+
Ecriture matricielle :
x 1 1 2 0
y 1 −1 0 2
Y =
p1 , E = 1/2
0 −1 −1
p2 0 1 −1 1
alors (S 0 ) s’écrit
00 0 x(0) = y(0) = 0
(S ) F = EF et avec les conditions
p1 (T ) = p2 (T ) = 0
Pour touver F on dispose de deux façons.
• Utiliser la résolvante.
• Diagonaliser E pour aboutir à une séparation des inconnues.
Utilisons cette dernière méthode et diagonalisons E. Le polynome caractéristique de E est
PE (λ) = (1 + λ)2 (1 − λ)2 + 5(1 + λ)(1 − λ) + 6 = (1 − λ2 )2 + 5(1 − λ2 ) + 6.
On pose X = 1−λ2 et on a PE (λ) = X 2 +5X +6. Pour touver λ on résout d’abord X 2 +5X +6 = 0 pour avoir
√
deux racines X1 = 2 et X2 = 3, puis on résout 1 − λ2 = Xi ce qui donne en fin λ1 = −2, λ2 = 2, λ3 = − 3
√
et λ4 = 3.
Si on disigne par D la matrice diagonnale formée de valeurs propres et K la matrice formée par le vecteurs
propres (matrice de passage) on aura E = K −1 DK et le système (S 00 ) s’écrit (KF )0 = DKF. Si on pose
Z = (z1 , z2 , z3 , z4 ) = KF on aura un système dont les inconnus sont indépendants à savoir
5
Travaux Dirigés Contrôle Optimal/Série 1 2019-2020
z10 = −2z1 ⇒ z1 (t) = z1 (0) exp(−2t),
z20 = 2z2 ⇒ z2 (t) = z2 (0) exp(2t),
√ √
z30 = − 3z3 ⇒ z3 (t) = z3 (0) exp(− 3t),
√ √
z40 = 3z4 ⇒ z4 (t) = z4 (0) exp( 3t),
Connaissant Z on peut avoir F par la relation F = KZ. Ce qui permet de résoudre complètement le pro-
blème.
Exercice II.
Considérons le système dans R2
x0(t) = y(t)
y0(t) = 2y(t) + u(t), |u| ≤ 1
1) Ce système est un système de contrôle avec contrainte, on étudie donc les trajecoires issues d’un point
(x0 , y0 ) et joignant l’origine (0, 0). pour cela on effectue le changement de variable z1 (t) = x(T − t), z2 (t) =
y(T − t), alors z = (z1 , z2 ) vérifie le système
z10 (t) = −x0 (T − t) = −y(T − t) = −z2 (t),
z20 (t) = −y 0 (T − t) = −2y(T − t) − u(t) = −z2 (t) − u(t)
⇔ z 0 (t) = Az(t) + Bu
0 0 −1 0 0
A = , B = .
0 −2 −1
0 0 1
Les valeurs propres de A sont négatives ou nulles et la matrice de Kalman C = est de rang 2,
−1 2
donc le système est contrôlable.
2) On revient au premier système, on pose l’équation adjointe p(t) = (p1 (t), p2 (t))
p01 (t) = 0
p0(t) = −Ap(t) ⇔
p02 (t) = −p1 − 2p2
6
Travaux Dirigés Contrôle Optimal/Série 1 2019-2020
On a p1 (t) est constant , p1 () = p1 . La solution de la deuxième équation est donnée par la méthode habituelle,
p1 2p2 (0) + p1
équation linéaire avec second membre p2 (t) = K exp(−2t) − .K = .
2 2
Le calcul du contrôle u passe par la formule
p(t)Bu(t) = max p(t)Bv.
|v|≤1
p1 0 p1 p1
Or p(t)B = (p1 , K exp(−2t) − ) = K exp(−2t) − , donc max p(t)Bv = K exp(−2t) − .
2 1 2 |v|≤1 2
p1
Donc u(t) = signe(K exp(−2t) − ) = ±1.
2
P2 est une fonction strictement monotone, si elle s’annulle c’est au plus une seule fois donc u admet au plus
une commutation.
3) On considère le système : x0 (t) = y(t) , y 0 (t) = 2y(t) + 1 , x(0) = y(0) = 0. La solution de ce système est
x(t) = 1 exp(2t) − 1 t − 1
4 2 4
1 1
y(t) = exp(2t) −
2 2
On a (x0 (0), y 0 (0)) = (0, 1) donc la tangent à Γ1 en (0, 0) est verticale, puisque exp(2t) est plus forte que t/2,
Γ1 restera dans le premier rectangle x ≥ 0, y ≥ 0.
4) On considère le système : x0 (t) = y(t) , y 0 (t) = 2y(t) − 1 , (x(0), y(0)) ∈ Γ1 . la solution de ce système est
x(t) = k exp(2t) + 1 t + l
2 2 , k, l ∈ R
1
y(t) = k exp(2t) +
2
On a (x(0), y(0)) ∈ Γ1 donc x(0), y(0) > 0 ⇒ x0 (0) > 0, par contre pour y 0 (0) on a
1 1 1
y 0 (0) = 0 si y(0) = , y 0 (0) < 0 si y(0) < et y 0 (0) > 0 si y(0) > .
2 2 2
1
y < on a x croissant et y décroissant
2
1
En résumé y > on a x croissant et y croissant
2
y = on a x croissant et y stationnaire = 1 .
1
2 2
5) Une trajectoire optimum issue du point (0, 0) et joint le point (a, 0) doit suivre dans une première étape
1
la courbe Γ1 jusqu’à un point (x0 , y0 ) avec y0 < puis suivre une courbe Γ−1 pour arriver au point (a, 0).
2
7
Travaux Dirigés Contrôle Optimal/Série 1 2019-2020
Exercice III.
(1) h00 (t) = m−1 u(t), t ≥ 0,
où h(t) est l’altitude à l’instant t, m la masse de l’engin, et u(t) ∈ [−1, 1]. Le problème est d’emmener l’engin
à vitesse et altitude nulles en un temps minimal.
On notera v = h0 la vitesse, et (vo, ho) = (v(0), h(0)) la condition initiale.
0 0 1 0
1) X = (h, v) vérifie le système X (t) = AX(t) + Bu(t) où A = , B = . Les valeurs
0 0 1/m
0 1/m
propres de A sont nulles et la matrice de Kalman C = est de rang 2, donc le système est
1/m 0
contôlable.
2) Le problème a une solution unique, car à tout contrôle optimal correspond une trajectoire unique issue
d’une point M0 .
L’état adjoint est p0 = (p01 , p02 ) = −pA dont la solution est p1 = k une constante et p2 = −kt + l , l ∈ R.
La condition d’extremalité pBu = max pBv
|v|≤1
0 1
pBv = (k, −kt + l) v= (−kt + l)v
1/m m
1
On déduit que u(t) = signe (−kt + l) = signe(−kt + l) = ±1.
m
On note par la suite u le contrôle optimal et T le temps minimal correspondant.
3) L’état adjoint p(t) = (k, −kt + l) ne peut pas s’annulet sur [0, T ], si ∃t0 ∈ [0, T ] tel que p(t0 ) = 0 alors on
aura k = 0 puis l = 0 dona p = 0 ⇒ u = 0 pas de contrôle.
En fait en phase finale le vecteur adjoit ne s’annule pas, car si c’est le cas il y aurrait une commutation et on
passera d’un état de freinage à un état d’accélération ce qui n’est pas admis.
4) D’après la formule d’extremalité pBu = max pBv on a u = ±1 donc u ∈ {−1, 1} , d’aprè l’expression de
|v|≤1
p2 qui est l’équation d’une droite on déduit que si u commutte, il ne peut commuter qu’une seule fois.
Mais d’après la question 3), p ne s’annule pas donc u ne peut prendre qu’une seule valeur u = 1 ou bien
u = −1.
8
Travaux Dirigés Contrôle Optimal/Série 1 2019-2020
5) Soit u = −1 on suppose m = 1 ⇒ h00 (t) = −1 on a alors
v(t) = h0 (t) = −t + v0
h(y) = − 21 t2 + v0 t + h0
1
De la relation v(T ) = h(T ) = 0 on a v0 = T et h0 = − T.
2
Dans la suite on suppose u = 1 ⇒ h00 (t) = 1 on a alors
v(t) = h0 (t) = t + v0
h(y) = 21 t2 + v0 t + h0
1
De la relation v(T ) = h(T ) = 0 on a v0 = −T et h0 = T.
2
1
6) A l’instant t = 0, l’engin commence à freiner, sa vitesse est alors T et sa position est h0 = − T ce qui
2
correspond au contrôle u = −1 (u = 1 ne convient pas), il n’y a pas de commutation car p ne s’annule pas
d’où l’équation du mouvement est
1
h(t) = − 21 t2 + T t − T 2 .
2