Cours Commande Optimale
Cours Commande Optimale
Cours Commande Optimale
Ahmed MAIDI
6 mai 2017
2
Table des matières
3
4 TABLE DES MATIÈRES
3 Programmation dynamique 31
3.1 Principe d’optimalité de Bellman . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Équation fonctionnelle de Belman . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.1 Équation de transition (discrétisation du modèle continu) . . . . . . . . 32
3.2.2 Discrétisation du critère de performance . . . . . . . . . . . . . . . . . 32
3.3 Equation d’Hamilton-Jacobi-Bellman . . . . . . . . . . . . . . . . . . . . . . . 40
7
8 LISTE DES TABLEAUX
Table des figures
9
10 TABLE DES FIGURES
Chapitre 1
1.1 Introduction
Cette équation est en général non linéaire. De plus le vecteur de commande doit appartenir
à un certain ensemble de vecteurs de commande admissibles
Une forme courante de ces contraintes est que les variables de commande ne peuvent
dépasser en modules des valeurs imposées.
11
12 CHAPITRE 1. INTRODUCTION À LA COMMANDE OPTIMALE
Dans ces conditions, on désire conduire le système d’un état initial x(t0 ) à un état final
x(tf ) tout en minimisant la critère
Ztf
J = ψ(x(tf ), tf ) + φ (x (t) , u (t) , t) dt (1.3)
t0
Remarque 1.1
Dans une modélisation de l’évolution du processus, ces diverses variables sont liées par
une équation d’état le plus souvent explicitée sous la forme :
où x (t) ∈ ℜn , u ∈ ℜm , y ∈ ℜr et t ∈ ζ ⊂ ℜ+ .
Dans le cas linéaire variants, les relations (1.5) et (1.6) se simplifient sous la forme :
A (t) : ζ → ℜn×n
B (t) : ζ → ℜn×m
C (t) : ζ → ℜr×n
D (t) : ζ → ℜr×m
Dans le cas invariants, les matrices A (t) , B (t) , C (t) et D (t) sont constantes. Notons
que le modèle d’état est le plus utilisé pour la synthèse d’une loi de commande optimale sous
la forme d’un retour d’état.
Le cas le plus simple correspond à un changement de consigne (par exemple, faire évoluer
la pression d’un réservoir d’une valeur P0 = P1 à la valeur Pf = P2 ) ou plus généralement à
un changement d’état parfaitement défini. Les conditions terminales s’écrivent alors : x(t0 ) =
x0 , x(tf ) = xf .
On peut également avoir des contraintes de type égalités, comme faire varier la puissance
fournie par une centrale tout en maintenant la tension constante ou faire évoluer un train qui
doit nécessairement rester sur ses rails. Les contraintes inégalités peuvent se ramener à des
contraintes égalités en introduisant des variables supplémentaires. En effet en notant
h iT
2
v = v12 v22 ... vn2
il vient :
q (x (t) , u (t) , t) ≤ 0 ⇔ q (x (t) , u (t) , t) + v 2 = 0
Ztf
p (x (t) , u (t) , t) dt ≤ 0, p ∈ ℜnp
t0
Comme dans le cas des contraintes instantanées, une contrainte inégalité peut être rem-
1.4. CHOIX DU CRITÈRE D’OPTIMALITÉ (CRITÈRE DE PERFORMANCES) 15
, il vient :
Ztf Ztf
p (x (t) , u (t) , t) dt ≤ 0 ⇔ p (x (t) , u (t) , t) dt + w 2 = 0
t0 t0
Ztf
J = ψ (x(tf ), tf ) + φ (x (t) , u (t) , t) dt (1.7)
| {z }
Partie terminale t0
ψ (xf , tf ) est appelée partie terminale, permet la prise en compte dans le critère la prise en
compte des états final. Suivant la forme du critère (1.7), on distingue :
1. Problème de Mayer :
J = ψ (xf , tf ) (1.8)
2. Problème de Lagrange :
Ztf
J= φ (x (t) , u (t) , t) dt (1.9)
t0
3. Problème de Bolza :
Ztf
J = ψ (xf , tf ) + φ (x (t) , u (t) , t) dt (1.10)
t0
Remarque 1.2
16 CHAPITRE 1. INTRODUCTION À LA COMMANDE OPTIMALE
1. Nous supposons, dans la suite, l’optimisation décrite sous forme d’une minimisation
(maximiser revient à minimiser l’opposé).
2. Le choix du critère est très important et une commande qui minimise un critère donné
n’est pas nécessairement intéressante si le critère est mal choisi ou ne tient pas compte
des contraintes physiques imposées au système.
3. D’un point de vue pratique, l’existence de la partie terminale ψ (x(tf ), tf ) conduit à des
conditions, dites conditions de transversalité, de prise en compte en général complexe.
C’est pourquoi il est préférable, lorsque cela ne nuit pas à la qualité du résultat recherché,
de choisir ψ (x(tf ), tf ) = 0.
Ztf
1 dt = tf − t0 = T, φ (x (t) , u (t) , t) = 1 (1.11)
t0
Conduire le système d’un état initial x0 à l’état final xf en minimisant l’effort de com-
mande.
Ztf
J= [u (t)]T R u (t) dt, R = RT ; R > 0 (1.13)
t0
Concerne surtout les processus de production continue, dont on veut diminuer les coûts
de fonctionnement.
Ztf "X
m
#
J= βi |ui (t)| dt, βi ≥ 0 (1.14)
t0 i=1
Ztf
J= |u (t)| dt, β = 1.
t0
1.4.6 Poursuite
Il s’agit de maintenir l’état x (t) du système très proche de l’état désiré xd (t) dans l’in-
tervalle de temps [t0 , tf ].
Ztf
T
J= x (t) − xd (t) Q x (t) − xd (t) dt, Q = QT ; Q ≥ 0 (1.15)
t0
1.4.7 Régulation
C’est un cas particulier de la poursuite, dans ce cas nous avons xd (t) = 0 avec t ∈ [t0 , tf ].
Ztf
J= [x (t)]T Q x (t) dt, Q = QT ; Q ≥ 0 (1.16)
t0
A partir de ces critère d’optimisation de base, on peut former d’autres critères à minimiser
selon les objectifs désirés.
18 CHAPITRE 1. INTRODUCTION À LA COMMANDE OPTIMALE
Ztf Ztf
T
J= x (t) − xd (t) Q x (t) − xd (t) dt + [u (t)]T R u (t) dt
t0 t0
Ztf
T
= x (t) − xd (t) Q x (t) − xd (t) + [u (t)]T R u (t) dt
t0
T
J = x (tf ) − xd (tf ) H x (tf ) − xd (tf )
Ztf
T
+ x (t) − xd (t) Q x (t) − xd (t) + [u (t)]T R u (t) dt
t0
1.5.1 Méthode 1
On peut chercher tout d’abord la loi de commande optimale u∗ (t) en fonction du temps
et l’imposer au système considéré. Ainsi, le système de commande résultant est en boucle
ouverte, alors il est sensible aux perturbations. Une telle commande est acceptable pour un
système à forte inertie fonctionnant pendant une durée relativement courte, de telle sorte que
les perturbations ne produisent pas d’écarts supérieurs aux erreurs tolérées.
1.5.2 Méthode 2
A partir de la loi de commande optimale u∗ (t), on détermine la trajectoire optimale x∗ (t)
et on l’impose au système au moyen de boucles d’asservissement. Le système asservi obtenu
est capable de s’opposer efficacement aux perturbations. Cependant, après une perturbation,
on rejoint, par le jeu des asservissements, la trajectoire nominale, au lieu de suivre la trajec-
1.6. SYNTHÈSE D’UNE COMMANDE OPTIMALE 19
toire optimale passant par le point perturbé. Cet inconvénient peut être rédhibitoire dans le
cas des perturbations importantes.
1.5.3 Méthode 3
On construit un système de commande comprenant à la fois des boucles de réaction et
des chaı̂nes d’action directe.
1.5.4 Méthode 4
La meilleure méthode consiste à déterminer la commande optimale u∗ (t) en fonction de
l’état présent x (t), supposé mesurable (système observable), et du temps restant τ = T − t :
u∗ (t) = F (x (t) , τ ). On obtient ainsi un système asservi avec réactions à partir de toutes les
variables d’état t horloge interne.
1. Dans certain cas, notamment pour un système invariant travaillant en horizon glissant
ou infini, la loi de commande optimale est indépendante du temps, u∗ (t) = F (x (t)).
2. Dans les cas simple, la loi de commande optimale u∗ (t) = F (x (t) , τ ) peut être en-
gendrée au moyen des générateurs de fonctions. Sinon, elle doit être mémorisée sous
forme des tables numériques constituant un catalogue de trajectoires optimales cou-
vrant la portion de l’espace d’état où risque de se trouver le point figuratif à la suite
des perturbations les plus fortes que le système est appelé à subir.
3. L’existence d’une loi de commande satisfaisant un objectif donné suppose que le pro-
cessus est commandable et observable, hypothèse qui sera faite implicitement de façon
systématique.
est une fonctionnelle sur l’espace des fonctions continues sur [t0 , tf ].
Si x(t) et x(t)+δx(t) sont des fonctions pour lesquelles la fonctionnelle J(x(t)) est définie,
la variation de J(x(t)) notée ∆J est
Exemple 2.1
21
22 CHAPITRE 2. CALCUL DES VARIATIONS
Soit la fonctionnelle Z 1
J(x(t)) = x2 (t) + x(t) dt (2.4)
0
La recherche de cet optimum dépend de la nature de l’état final x(tf ). On suppose que
g ∈ C 2 ([t0 , tf ]) et x(t) est une trajectoire optimale.
2.2. RECHERCHE L’OPTIMUM D’UNE FONCTIONNELLE 23
sujet à : (2.12)
x(t0 ) = x0 (2.13)
x(tf ) = xf (2.14)
Les trajectoires admissibles sont représentées sur la Figure 2.1. Le calcul de la variation
de J donne
x(t)
x(tf ) = xf
x(t0 ) = x0
t0 tf t
Figure 2.1: Trajectoires admissibles dans le cas d’un état final fixé.
24 CHAPITRE 2. CALCUL DES VARIATIONS
Pour que x∗ (t) soit un optimum alors, la partie linéaire en δx(t) doit vérifier
alors
tf Z tf
∂g(x(t), ẋ(t), t) ∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
δx(t) + − δx(t) dt = 0
∂ ẋ(t) t0 t0 ∂ ẋ(t) dt ∂x(t)
(2.26)
Comme le premier terme est nulle car δx(t0 ) = δx(tf ) = 0. Pour que le second terme soit
nulle, d’après le lemme suivant
Lemme 2.1
Si h(t) est une fonction continue sur l’intervalle [t0 , tf ] et si
Z tf
h(t) δx(t) dt = 0 (2.27)
t0
pour toute fonction δx(t) continue sur [t0 , tf ], alors h est identiquement nulle sur [t0 , tf ]
Dans ce cas, le problème de calcul des variations est formulée comme suit
Z tf
J(x(t)) = g(x(t), ẋ(t), t) dt (2.32)
t0
sujet à : (2.33)
x(t0 ) = x0 (2.34)
x(tf ) libre (2.35)
La Figure 2.2 donne les trajectoires admissibles dans ce cas. En faisant le même déve-
loppement que précédemment, on aboutit à la variation (2.26). Pour que cette dernière soit
nulle, il faut que les deux termes soit nuls. Pour que le premier terme soit nulle, comme x(t0 )
est fixe, alors δx(t0 ) = 0. Mais comme x(tf ) est libre, alors δx(tf ) 6= 0, alors on doit imposer
∂g(x(t), ẋ(t), t)
= 0 pour t = tf (2.36)
∂ ẋ(t)
Pour annuler le deuxième terme, il suffit de vérifier l’équation d’Euler-Lagrange (2.28)
associée au problème.
En résumé, la résolution du problème de calcul des variations (2.32)–(2.35) revient à
x(t)
x(t0 ) = x0
t0 tf t
Figure 2.2: Trajectoires admissibles dans le cas d’un état final libre.
26 CHAPITRE 2. CALCUL DES VARIATIONS
sujet à : (2.41)
ẋ(t) = f (x(t), u(t), t) (2.42)
x(t0 ) = x0 (2.43)
x(tf ) = xf ou libre (2.44)
variations suivant
Z tf
ˆ
J(x(t)) = g(x(t), ẋ(t), t) dt (2.48)
t0
sujet à : (2.49)
x(t0 ) = x0 (2.50)
x(tf ) = xf ou libre (2.51)
Selon la nature de l’état final, on doit résoudre l’équation d’Euler-Lagrange avec les
conditions aux limites associées pour déterminer la trajectoire optimale x∗ (t) (solution du
problème de calcul des variations), puis on déduit la loi de commande à partir (2.45) comme
suit
u∗ (t) = F (x∗ (t), ẋ∗ (t), t) (2.52)
sujet à : (2.54)
ẋ(t) = u(t) (2.55)
x(0) = 1 (2.56)
x(2) = 5 (2.57)
sujet à : (2.59)
x(0) = 1 (2.60)
x(2) = 5 (2.61)
qui représente un problème de calcul des variations avec un état final fixe. Pour déterminer la
solution de ce problème, on doit résoudre l’équation d’Euler-Lagrange avec les conditions
28 CHAPITRE 2. CALCUL DES VARIATIONS
aux limites fixées. D’après le problème, on a g(x(t), ẋ(t), t) = ẋ2 (t) + t x(t), alors l’équation
d’Euler-Lagrange correspondante est
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0 (2.62)
∂ ẋ(t) dt ∂x(t)
d
2 t − (2 ẋ(t)) = 0 (2.63)
dt
−t + ẍ(t) = 0 (2.64)
t3
x(t) = + c1 t + c2 (2.65)
6
Pour déterminer les constantes c1 et c2 , on impose les conditions aux limites, ce qui donne
x(0) = c2 = 1 (2.66)
4 4
x(2) = + 2 c1 + 1 = 5 ⇒ c1 = (2.67)
3 3
Exemple 2.3
On reprend le même exemple mais on considère que l’état final libre. Dans ce cas, on doit
résoudre l’équation d’Euler-Lagrange
ẍ(t) = t (2.70)
x(0) = 1 (2.71)
∂g(x(t), ẋ(t), t)
= 0 ⇒ ẋ(2) = 0 (2.72)
∂ ẋ(t) t=2
t3
x(t) = + c1 t + c2 (2.73)
6
2.4. EXEMPLES D’APPLICATION 29
x(0) = c2 = 1 (2.74)
4 3
ẋ(2) = + 2 c1 + 1 = 0 ⇒ c1 = − (2.75)
2 2
Programmation dynamique
31
32 CHAPITRE 3. PROGRAMMATION DYNAMIQUE
x (k − 1) − x(k)
= f (x (k) , u(k), k)
dt
Ce qui donne :
Ne
X
J = ψ (Ne ∆t) + φ (x (k) , u(k), k) ∆t.
k=1
Ne
X
J = ψ∆ (Ne ) + φ∆ (x (k) , u(k), k) . (3.2)
k=1
Désignons par J ∗ (x(k)) le coût minimal de x (k) à x (0) en k étapes et considérons que
ψ∆ (Ne ) = 0.
Supposons alors connue la fonction J ∗ (x(k − 1)) et cherchons à déterminer J ∗ (x(k)). Si
nous quantifions les variables de commande comme nous avons quantifié le temps, nous avons
à partir de l’état x (k), et compte tenu des contraintes sur les variables d’état et de commande,
le choix entre un nombre fini de vecteurs de commande. Faisons, pendant les premières des
k étapes restantes, u(k). Cette première étape nous coûte donc φ∆ (x(k), u(k), k) . D’autres
part, elle conduit au nouvel état :
x(tf ) ≡ x(0)
J ∗ (x(k − 1))
u(k − 1)
k−1
d
u(k) r (x(k), u(k), k)
k
x(0) ≡ x(Ne )
Ce nouvel état, qui résulte de l’application de u(k) pendant la première étape, conduit à
son tour à x (0) en k − 1 étapes, avec le coût minimal
J ∗ (x(k − 1))
Il est clair que le coût minimal recherché J ∗ (x(k)) est le minimum de J (x(k)) par rapport
à u(k) ∈ U, ce qui s’écrit :
x(0) ≡ x(tf )
u(1)
k=1
x(1) ≡ x(0)
Remarque 3.1
2. par interpolation linéaire, on peut avoir une approximation pour les points intermé-
diaires entre deux valeurs quantifiées.
Exemple 3.1
Cas d’une solution analytique : soit le problème de commande optimale
Ne
X
min J(x(k)) = u2 (k)
u(k)
k=1
àujet à :
x(k − 1) = x(k) + u(k) dt
x(0) = 0 (état final)
— Pour k = 1 (Figure 3.3) : transfert d’un état x(k) en une seule étape (Ne = 1)
x(0) − x(1)
x(0) − x(1) = u∗ (1) ∆t ⇒ u∗ (1) =
∆t
x(0) ≡ x(tf )
u(1)
k=1
x(1)
u(2)
k=2
x(2) ≡ x(0)
et
1
X x2 (1)
∗
J (x(1)) = [u∗ (k)]2 =
k=1
∆t2
— Pour k = 2 (Figure 3.4) : transfert d’un état x(k) en deux étapes (Ne = 2).
En utilisant l’équation fonctionnelle de Bellman, il vient :
Ainsi, les formules obtenues sont correctes. Par conséquent, la loi de commande opti-
male est :
x(k)
u∗ (k) = −
k ∆t
Exemple 3.2
Cas d’une solution numérique : soit le problème de commande optimale
Ne
X
min J(x(k)) = |u3 (k)|
u(k)
k=1
sujet à :
x(k − 1) = x(k) + u(k) dt
x(Ne ) = 10 (état initial)
x(0) = 0 (état final)
|u(k)| ≤ 3
Pour calculer J ∗ (2) à partir de J ∗ (1), il suffit de calculer le crochet pour toutes les
valeurs possibles de u(2) et de conserver la valeur de u(2) correspondant au minimum.
Quand deux valeurs de u(2) donneront la même valeur de J(2), nous conserverons la
plus faible en amplitude. Ce calcul est donné par le Tableau 3.2.
Pour l’état initial considéré x (0) = 10, on obtient les programmes en 4 étapes, 5 étapes
et 6 étapes comme suit :
39
40 CHAPITRE 3. PROGRAMMATION DYNAMIQUE
sujet à : (3.6)
ẋ(t) = f (x(t), u(t), t) (3.7)
x(t0 ) = x0 (3.8)
3.3. EQUATION D’HAMILTON-JACOBI-BELLMAN 41
(3.11)
Z τ Z tf
= min φ(x(t), u(t), t) dt + min ψ(x(tf ), tf ) + φ(x(t), u(t), t)
u[t, τ ] (t) t u[τ, tf ] (t) τ
| {z }
J ∗ (x(τ ), τ )
(3.12)
Z τ
= min φ(x(t), u(t), t) dt + J ∗ (x(τ ), τ ) (3.13)
u[t, τ ] (t) t
Comme Z τ
φ(x(t), u(t), t) dt ≈ φ(x(t), u(t), t) ∆t (3.15)
t
J ∗ (x(t), t) i
+ ∆t + O(2) (3.17)
∂t
42 CHAPITRE 3. PROGRAMMATION DYNAMIQUE
alors
∗ J ∗ (x(t), t)
0 = min φ(x(t), u(t), t) ∆t + ∇x(t) J (x(t), t) ∆x(t) + ∆t
u[t, t+∆t](t) ∂t
(3.18)
∆x(t) J (x(t), t)
∗
0 = min φ(x(t), u(t), t) + ∇x(t) J ∗ (x(t), t) + (3.19)
u[t, t+∆t](t) ∆t ∂t
J ∗ (x(t), t) ∗ ∆x(t)
− = min φ(x(t), u(t), t) + ∇x(t) J (x(t), t) (3.20)
∂t u[t, t+∆t](t) ∆t
Pour ∆t −→ 0,
∆x(t)
lim = ẋ(t) = f (x(t, u(t), t)) (3.21)
∆t−→0 ∆t
et
J ∗ (x(t), t)
− = min φ(x(t), u(t), t) + ∇x(t) J ∗ (x(t), t) ẋ(t) (3.22)
∂t u(t)
on peut écrire
J ∗ (x(t), t)
− = min H x(t), ∇x(t) J ∗ (x(t), u(t), t (3.24)
∂t u(t)
Par conséquent,
H ∗ x(t), ∇x(t) J ∗ (x(t), u(t), t = min H x(t), ∇x(t) J ∗ (x(t), u(t), t (3.26)
u(t)
J ∗ (x(t), t)
− = H ∗ x(t), ∇x(t) J ∗ (x(t), u(t), t (3.27)
∂t
Exemple 3.3
sujet à : (3.30)
ẋ1 (t) = x2 (t) (3.31)
ẋ2 (t) = −2 x1 (t) − 3 x2 (t) + u(t) (3.32)
x1 (0) = 1 (3.33)
x2 (0) = 0 (3.34)
et
∇u(t) H x(t), ∇x(t) J ∗ (x(t), u(t), t = 0 ⇒
∂J ∗ (x(t), t)
2 u∗(t) + =0⇒
∂x2 (t)
∂J ∗ (x(t), t)
u∗ (t) = −
2 ∂x2 (t)
44 CHAPITRE 3. PROGRAMMATION DYNAMIQUE
Ce qui donne
2
∗ ∗
4 1 ∂J ∗ (x(t), t) ∂J ∗ (x(t), t)
H x(t), ∇x(t) J (x(t), u(t), t = x1 (t) + − + x2 (t)
4 ∂x2 (t) ∂x1 (t)
∂J ∗ (x(t), t) ∂J ∗ (x(t), t)
+ −2 x1 (t) − 3 x2 (t) − (3.38)
∂x2 (t) 2 ∂x2 (t)
2
4 1 ∂J ∗ (x(t), t) ∂J ∗ (x(t), t)
= x1 (t) − + x2 (t)
4 ∂x2 (t) ∂x1 (t)
∂J ∗ (x(t), t)
+ (−2 x1 (t) − 3 x2 (t)) (3.39)
∂x2 (t)
Remarque 3.2
La résolution de l’équation aux dérivées partielles d’Hamilton-Jacobi-Bellman est très
difficile à résoudre analytiquement. Des méthodes numériques doivent être appliquées.
Chapitre 4
La méthode de calcul des variations constitue une méthode générale pour l’étude des
optimums d’une fonctionnelle. Dans ce chapitre, on présentera une autre méthode élégante
facilitant davantage la détermination de la loi de commande optimale. Cette méthode est le
principe du minimum de Pontryagin. Cette méthode élégante est basée sur le calcul des
variations et conduit à une solution générale du problème de commande optimale.
Dans ce qui suit, on s’intéresse au problème de commande optimale formulé comme suit :
Z tf
min J(u(t)) = ψ(x(tf ), tf ) + φ(x(t, u(t), t)) dt (4.1)
u(t) t0
sujet à :
ẋ(t) = f (x(t), u(t), t) (4.2)
sujet à :
f (x(t), u(t), t) − ẋ(t) = 0 (4.4)
45
46 CHAPITRE 4. PRINCIPE DU MINIMUM DE PONTRYAGIN
Z tf Z tf
ˆ
J(u(t)) = ψ(x(tf ), tf ) + φ(x(t, u(t), t)) dt + λT (t) [ẋ(t) − f (x(t), u(t), t)] dt (4.5)
t t0
Z 0tf
= ψ(x(tf ), tf ) + φ(x(t, u(t), t)) + λT (t) [f (x(t), u(t), t) − ẋ(t)] dt (4.6)
t0
ˆ on définit la fonction
Pour simplifier l’étude de la minimisation de nouveau critère J,
d’Hamilton (appelée aussi Hamiltonien) comme duit :
t
δ Jˆ = δxT (t) ∇x(t) ψ(x(t), t) − λ(t) tf0
Z tf h i
+ δxT (t) ∇x(t) H(x(t), λt , u(t), t) + λ̇(t) + δuT (t) ∇u(t) H(x(t), λ(t), u(t), t) dt
t0
(4.11)
4.2. PRINCIPE DU MINIMUM 47
Pour étudier la nature des solutions, il suffit d’étudier la matrice Hessienne suivante
Dans le cas de l’existence de plusieurs solutions, on doit évaluer le critère pour les diffé-
rentes solutions trouvées et de prendre celle qui donne une valeur minimale pour le critère.
48 CHAPITRE 4. PRINCIPE DU MINIMUM DE PONTRYAGIN
sujet à :
ẋ1 (t) = x2 (t) (4.19)
ẋ2 (t) = −x2 (t) + u(t) (4.20)
x1 (0) = 0 (4.21)
x2 (0) = 0 (4.22)
x1 (1) = 4 (4.23)
x2 (1) = 2 (4.24)
1 2
H(x(t), λ(t), u(t), t) = u (t) + λ1 (t) x2 (t) − λ2 (t) x2 (t) + λ2 (t) u(t) (4.25)
2
ce qui donne
L’équation (4.33) donne λ1 (t) = c4 , en substituant cette dernière expression dans (4.34),
on obtient :
λ̇2 (t) = λ2 (t) − c4 (4.36)
λ2 (t) = c3 et + c4 (4.37)
c3 t
ẋ1 (t) = − e − c4 + c2 e−t (4.40)
2
c3 t
x1 (t) = − e − c4 t − c2 e−t + c1 (4.41)
2
c3
x1 (0) = − − c2 + c1 = 0 (4.42)
2
c4
x2 (0) = − − c3 + c2 = 0 (4.43)
2
50 CHAPITRE 4. PRINCIPE DU MINIMUM DE PONTRYAGIN
et pour t = 1
c3
x1 (1) = − e − c4 − c2 e−1 + c1 = 4 (4.44)
2
c4
x2 (1) = − e − c3 + c2 e−1 = 2 (4.45)
2
Ces équations algébriques peuvent s’écrire sous la forme matricielle comme suit :
1
1 −1 − 0
2 c1 0
1
0 1 −1 − c2
0
e 2
=
4 (4.46)
1 −e−1 − −1 c3
2 e
c4 2
0 e−1
−1 −
2
Exemple 4.1
4.4. DÉTERMINATION DE LA COMMANDE OPTIMALE SOUS FORME D’UN RETOUR D’ÉTAT51
sujet à :
ẋ1 (t) = x2 (t),
ẋ2 (t) = u(t)
x1 (T ) = x2 (T )
λ1 (t) = a, (4.53)
−λ2 (t) = a t + b = 2 u∗ (t), (4.54)
a
2 x2 (t) = t2 + b t + c, (4.55)
2
a 3 b 2
2 x1 (t) = t + t + c t + d. (4.56)
6 2
52 CHAPITRE 4. PRINCIPE DU MINIMUM DE PONTRYAGIN
— Pour t = 0, il vient :
2 u (0) = b, (4.57)
2 x2 (0) = c, (4.58)
2 x1 (0) = d (4.59)
— Pour t = T , on obtient :
a
0 = 2 x2 (T ) = T 2 + b T + 2 x2 (0) , (4.60)
2
a 3 b 2
0 = 2 x1 (T ) = T + T + c T + 2 x1 (0) (4.61)
6 2
Comme u∗ (0) ne dépend que de b, il suffit d’éliminer a entre les deux dernières équa-
tions ce qui donne
2 1 1 1
0 = bT − + 2 x2 (0) θ − 1 − 2 x1 (0), (4.62)
3 2 3
b 4
0 = − T 2 − T x2 (0) − 2 x1 (0) (4.63)
6 3
d’où
6 4
u∗ (0) = − 2
x1 (0) − x2 (0)
T T
Notons que chaque instant t peut être assimilé à l’instant initiale, donc la loi de com-
mande optimale est :
6 4
u∗ (t) = −
2
x1 (t) − x2 (t)
T T
Cette loi de commande contient deux facteurs de gain croissant indéfiniment quand le
temps tend vers zéro. Pratiquement, on introduit des saturations.
5.1 Introduction
et le système suivant :
ẋ (t) = A x (t) + B u (t) (5.2)
et le critère
ZT h i
1 T T
J= [e (t)] Q e (t) + [u (t)] R u (t) dt (5.3)
2
0
53
54CHAPITRE 5. COMMANDE OPTIMALE DES SYSTÈMES LINÉAIRES AVEC CRITÈRE QUADRAT
1h i
H (x (t) , u (t) , λ (t) , t) = [e (t)]T Q e (t) + [u (t)]T R u (t) + [λ (t)]T ẋ (t) (5.4)
2
1h i
H (x (t) , u (t) , λ (t) , t) = [e (t)]T Q e (t) + [u (t)]T R u (t) (5.5)
2
+ [λ (t)]T (A x (t) + B u (t)) (5.6)
On considère que les vecteurs x (t) et λ (t) sont liés par une transformation linéaire de la
forme :
λ (t) = K (t) x (t) − V (t) (5.10)
En remplaçant ẋ (t) et λ (t) par leurs expressions (5.9) et (5.10) respectivement, l’équation
(5.12) devient :
K (t) A x (t) − S(K (t) x (t) − V (t)) + K̇ (t) x (t) − V̇ (t) = −AT (K (t) x (t) − V (t))
| {z }
P (t)
+ Q xd (t) − x (t) (5.13)
Exprimons le fait que cette égalité doit être satisfaite quelque soit x (t), il vient :
K (t) A x (t) − K (t) S K (t) x (t) + K (t) S V (t) + K̇ (t) x (t) − V̇ (t) =
− AT K x (t) + AT V (t) + Q xd (t) − Qx (t) (5.14)
K̇ (t) + K (t) A + AT K (t) − K (t) S K (t) + Q x (t)
− V̇ (t) + K (t) S − AT V (t) − Q xd (t) = 0 (5.15)
Alors,
Ces équations définissent K (t) et V (t). La première équation est appelée équation ma-
tricielle de Ricatti. On obtient alors :
x (t) intervient dans l’expression de u∗ (t), ce qui permet d’avoir la commande optimale sous
forme d’un retour d’état.
On remarque que K (t) et V (t) ne dépendent pas de l’état du système, alors la loi de com-
mande trouvée est optimale quelque soient les conditions initiales. La structure du système
de commande est conforme au schéma fonctionnel de la Figure 5.1.
56CHAPITRE 5. COMMANDE OPTIMALE DES SYSTÈMES LINÉAIRES AVEC CRITÈRE QUADRAT
u(t) ẋ(t) 1 x(t)
xd (t) H B C y(t)
s
Système
Commannde LQ
Remarque 5.1
1. Pour intégrer les équations, il faut disposer de conditions aux limites. Si comme nous
l’avons supposé, l’état final est libre, on λ (t) = 0 et, par la suite :
V (t) = 0, V (t) = 0
ZT
1 1
J = [e (T )]T H e (T ) + T T
[e (T )] Q e (T ) + [u (t)] R u (t) dt (5.19)
2 2
0
dans ces conditions, on conserve l’Hamiltonien (5.4), les conditions terminales de-
viennent
1 T
λ (T ) = ∇x [e (T )] H e (T ) = H xd (t) − H x (T )
2
Mais d’autres part :
λ (T ) = K (T ) x (T ) − V (T )
Ainsi, K (t) et [K (t)]T satisfont la même équation différentielle avec la même condition
terminale. Elles sont donc égales et K (t) est symétrique.
58CHAPITRE 5. COMMANDE OPTIMALE DES SYSTÈMES LINÉAIRES AVEC CRITÈRE QUADRAT
4. Problème de régulation : Dans ce cas xd (t) = 0 et, par la suite, V (t) = 0. L’équation
en V (t) disparait et il ne reste plus que l’équation de Ricatti en K (t).
De plus, si on remplace l’erreur par e = −C x (t), il vient :
et
[e (T )]T H e (T ) = x (t)T C T H C x (t)
K (T ) = −C T H C
5. Problème de régulation pour un système invariant avec un horizon infini : si les matrices
A, B, Q et R sont constantes et si T est infini, la loi de commande est invariante,
puisque chaque instant est identique à l’instant suivant. Il en résulte qu el matrice K (t)
est constante et que K̇ (t) = 0. L’équation de Ricatti devient un système d’équations
algébriques dont la résolution fournit les coefficients de retour d’état constants (la contre
réaction). En pratique, il est plus facile de rechercher la limite de K (t) quand t tend
vers l’infini.
6. Problème de poursuite se ramenant à des problèmes de régulation. Ce cas se présente
toutes les fois que l’état désiré peut être remplacé par des variables d’état supplémen-
taires. Par exemple, soit le problème définit par :
1
J∗ = [x (t)]T K (t) x (t) − V (t) x (t) + K0 (5.21)
2
Ẋ = A X + X B + X C X + D (5.22)
dans laquelle les matrices A, B, C et D peuvent être variables, est équivalente à celle du
système linéaire
Ẏ = −B Y − C Z (5.23)
Ż = D Y + A Z (5.24)
avec X = Z Y −1 .
Sous forme matricielle, on a
" # " #" #
Ẏ −B −C Y
=
Ż D A Z
| {z }
Â
Im(j ω)
−1 0
Re(j ω)
1
L(j ω)
impliqu’on a
∀ω, [I + F ∗ (j ω)] R [I + F (j ω)] ≥ R (5.28)
Comme |1 + H(j ω)| est la distance qui sépare un point du lieu de Nyquist de H(j ω)
du point (−1, 0). Cette inégalité se traduit donc par la forme graphique de la Figure 5.2.
Le lieu de Nyquist étant en dehors du cercle unité, on conclut que la commande linéaire
quadratique, indépendamment du choix des paramètres Q et R, garantit :
— une marge de gain supérieure à 1/2,
5.5. EXEMPLE D’APPLICATION 61
sujet à :
" # " #
0 1 0
ẋ(t) = x(t) + (5.31)
0 1 1
h i
y(t) = 1 0 x(t) (5.32)
D’après le problème, on a
" # " #
0 1 0
A= , B= , Q = 1, R=1 (5.33)
0 1 1
Ce qui donne
−k22 + 1 = 0 (5.34)
k1 − k2 k3 + k2 = 0 (5.35)
2 k2 − k32 + 2 k3 = 0 (5.36)
62CHAPITRE 5. COMMANDE OPTIMALE DES SYSTÈMES LINÉAIRES AVEC CRITÈRE QUADRAT
La première solution est refusée puisque la matrice K n’est pas définie positive. Par
conséquent, la commande optimale est :
6.1 Introduction
Dans le cas de la commande LQ, la loi de commande est basée sur la représentation
d’état du système. La difficulté de mesurer l’état x(t) et le bruit font que l’on préfère utiliser
la commande LQG. Cette dernière est bien adaptée lorsque l’état du système n’est pas
directement mesurable ou que les mesures sont affectées par le bruit et la synthèse de cette
commande prend en compte les propriétés statistiques des perturbations sans affecter la
stabilité.
Dans le cas où le système n’est pas à état complètement accessible, mais seulement détec-
table, c’est-à-dire lorsque les pôles non observables sont à partie réelle strictement négative, il
est nécessaire, pour implanter, une régulation par retour d’état, d’utiliser un estimateur (ob-
servateur, filtre). L’observateur est un système dynamique, dont les entrées sont constituées
de l’entrée et de la sortie du système à commander, et qui a pour fonction de reconstruire,
tout au moins asymptotiquement, l’état du système (Figure 6.1).
63
64 CHAPITRE 6. COMMANDE LINÉAIRE QUADRATIQUE GAUSSIENNE (LQG)
u(t)
Observateur x̂(t)
y(t)
Système théorique :
Système réel :
où Wd (t) est le vecteur de perturbations, Wn (t) est le vecteur de bruits de mesure, ŷ (t) est
le vecteur de sorties mesurées.
Wd (t) et Wn (t) sont des bruits blancs gaussiens et non corrélés. Leurs fonction d’inter-
corrélation sont nulles, tandis que leurs fonctions d’auto-corrélation se réduisent à des impul-
sions de Dirac, c’est-à-dire :
n o
E Wd (t) Wd (τ )T = W δ (t − τ ) (6.5)
n o
T
E Wn (t) Wn (τ ) = V δ (t − τ ) (6.6)
et n o n o
T T
E Wd (t) Wn (τ ) = 0, E Wn (t) Wd (τ ) =0 (6.7)
2. puis à déterminer un estimateur pour l’état x soit x̂de telle sorte que :
n o
E [x (t) − x̂ (t)]T (x − x̂)
est minimale. L’observateur d’état optimale est donnée par le filtre de Kalman (il est
indépendant de Q et R).
3. la solution recherché pour le problème de LQG est obtenue en remplaçant x (t) par
x̂ (t) dans la loi de commande obtenue dans la première étape.
Ainsi, le problème de LQG et sa solution peuvent être séparés en deux étapes distinctes,
comme le montre la Figure 6.2.
Problème de commande :
ZT
1 T T
J= [x (t)] Q x (t) + u (t) R u (t) dt (6.10)
2
0
avec
Kr (t) = R−1 B T K (t) (6.12)
Z∞
1
J= [x (t)]T W x (t) + [u (t)]T V u (t) dt (6.18)
2
0
Système
+
Kf
−
ˆ
ẋ(t) 1 x̂(t)
B̂ Ĉ ŷ(t)
s
Â
Filtre de Kalman
Commannde LQ
67
68 CHAPITRE 6. COMMANDE LINÉAIRE QUADRATIQUE GAUSSIENNE (LQG)
1. Synthétiser, dans une première étape, le correcteur LQ par un choix approprié des
pondérations Q et R obéissant aux exigences du cahier des charges,
2. Dans une seconde étape, à partir d’un réglage nominal W0 et V0 du filtre de Kalman,
on augmentera le paramètre α du nouveau réglage :
W = W0 + α B B T , V = V0 (6.20)
jusqu’à ce que le transfert de boucle KLQG (s) G (s) du correcteur LQG, recouvre sur
une bande de fréquences suffisamment large, le transfert de boucle de retour d’état LQ,
c’est-à-dire
lim KLQG (s) G (s) = −Kr (s I − A)−1 B (6.21)
α→+∞
Q = Q0 + α B B T , R = R0 (6.23)
jusqu’à ce que le transfert de boucle G (s) KLQG (s) du correcteur LQG, recouvre sur
une bande de fréquences suffisamment large, le transfert de boucle de filtre de Kalman,
c’est-à-dire
lim G (s) KLQG (s) = −C (s I − A)−1 Kf (6.24)
α→+∞
70 CHAPITRE 6. COMMANDE LINÉAIRE QUADRATIQUE GAUSSIENNE (LQG)
Chapitre 7
Z2
1
min J(u(t)) = x2 (t) dt
u(t) 2
0
Solution
Hamiltonien
1 1
H(x(t), u(t), t) = x2 (t) + λ(t) ẋ(t) = x2 (t) + λ(t) u(t)
2 2
∂H(x(t), u(t), t)
= λ(t) = 0 ⇒ u∗ (t) = −α signe (λ(t))
∂u(t)
Exo 2. Déterminer la commande optimale u∗ (t) sous forme d’un retour d’état, c’est-à-dire
u∗ (t) = k1 x1 (t) + k2 x2 (t), pour le système de second ordre suivant :
71
72 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Z+∞
1 2
J(u(t)) = x1 (t) + u2 (t) dt
2
0
en utilisant :
1. l’équation de Riccati.
2. la fonction d’Hamilton.
Solution
−b2 + 1 = 0 (7.1)
a − bc = 0 (7.2)
2 b − c2 = 0 (7.3)
(7.1) ⇒ b = ±1
√
(7.3) ⇒ c = ± 2 ⇒ b = 1
√
(7.2) ⇒ a = ± 2
(7.4)
√
a = − 2 est rejetée car la matrice K solution de l’équation de Riccati n’est
√
pas définie positive, alors c = 2. Par conséquent, la solution de l’équation de
Riccati est : " √ #
2 1
K= √
1 2
et la commande optimale est :
" √ #" #
h i 2 1 x1 (t)
u(t) = − 0 1 √
1 2 x2 (t)
√
u(t) = −x1 (t) − 2 x2 (t)
2. Utilisation de l’Hamiltonian :
1 2
H(x(t), u(t), t) = x (t) + u2(t) + λ1 (t) ẋ1 (t)
2
1 2
H(x(t), u(t), t) = x (t) + u2(t) + λ1 (t) x2 (t)
2
74 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
1 2
H ∗ (x(t), u∗ (t), t) = x1 (t) + λ22 (t)
2
+λ1 (t) x2 (t) − λ22 (t)
1 2 1
= x1 (t) − λ22 (t) + λ22 (t) x2 (t)
2 2
Équations d’Hamilton-Pontryagin
∂H ∗ (x(t), u∗ (t), t)
ẋ1 (t) = = x2 (t)
∂λ1 (t)
∂H ∗ (x(t), u∗ (t), t)
ẋ2 (t) = = −λ2 (t)
∂λ2 (t)
∂H ∗ (x(t), u∗ (t), t)
λ̇1 (t) = − = −x1 (t)
∂x1 (t)
∂H ∗ (x(t), u∗ (t), t)
λ̇2 (t) = − = −λ1 (t)
∂x2 (t)
√
2 " √ ! √ !#
− t 2 2
x1 (t) = e 2 c3 sin t + c4 cos t
2 2
√
2 " √ !
− t 2
λ2 (t) = e 2 −c4 sin t
2
√ !#
2
+c3 cos t
2
76 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Alors √
2 " √ !
− t 2
u∗ (t) = −λ2 (t) = e 2 c4 sin t
2
√ !#
2
−c3 cos t
2
√
2 " √! √ !#
− t 2 2
e 2 c4 sin t − c3 cos t =
2 2
√
2
k1 |{z} +k2
2
√
2 " √ ! √ !#
− t 2 2
e 2 −(c3 + c4 ) sin t + (c3 − c4 ) cos t
2 2
Ce qui conduit à : √
2
k 1 c3 − k 2 (c3 + c4 ) = c4
2
√
2
k 1 c4 + k 2 (c3 − c4 ) = −c3
2
La résolution de ce systèmes d’équations donne :
√
k1 = −1 et k2 = − 2
Par conséquent,
√
u∗ (t) = −x1 (t) − 2 x2 (t)
I(t)
Source de courant L C
T
Interrupteur
Solution
Variables caractéristiques :
dIL (t)
UC (t) = L
dt
dUc(t)
IC (t) = C
dt
On a :
dIL (t) 1 1
ẋ1 (t) = = UC (t) = x2 (t)
dt L L
dUC (t) 1 1
ẋ2 (t) = = IC (t) = [u(t) − x1 (t)]
dt C C
Ce qui donne le modèle d’état suivant :
1
ẋ1 (t) = x2 (t)
L
1
ẋ2 (t) = [u(t) − x1 (t)]
C
Conditions terminales :
" # " #
IL (0) 0
x(0) = =
UC (0) 0
" # " #
IL (tf ) 0
x(tf ) = = (7.5)
UC (tf ) 1
78 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Le problème consiste à minimiser l’énergie dissipée par effet Joule donnée comme
suit :
Ztf Ztf
E(t) = R I 2 (t) dt = R u2 (t) dt
0 0
Ztf
min J(u(t)) = R u2 (t) dt
u(t)
0
sujet à :
1
ẋ1 (t) = x2 (t)
L
1
ẋ2 (t) = [u(t) − x1 (t)]
"C #
0
x(0) =
0
" #
0
x(tf ) =
1
sujet à :
Hamiltonien
H(x(t), u(t)) = u2 + λ1 (t) x2 (t) + λ2 (t) u(t)
λ2 (t)
∇u(t) H(x(t), u(t)) = 2 u(t) + λ2 (t) ⇒ u∗ (t) = −
2
Équations d’Hamilton-Pontryagin
∂H ∗ (x(t), u∗ (t))
ẋ1 (t) = + = x2 (t) (7.6)
∂λ1 (t)
∂H ∗ (x(t), u∗ (t) λ2 (t)
ẋ2 (t) = + =− (7.7)
∂λ2 (t) 2
∂H (x(t), u (t))
∗ ∗
λ̇1 (t) = − =0 (7.8)
∂x1 (t)
∂H ∗ (x(t), u∗ (t))
λ̇2 (t) = − = −λ1 (t) (7.9)
∂x2 (t)
(7.8) ⇒ λ1 (t) = C1
(7.9) ⇒ λ̇2 (t) = −C1 ⇒ λ2 (t) = −C1 t + C2
C1 C2 C1 2 C2
(7.7) ⇒ ẋ2 (t) = t− ⇒ x2 (t) = t − t + C3
2 2 4 2
C1 2 C2
(7.6) ⇒ ẋ1 (t) = t − t + C3
4 2
C1 3 C2 2
⇒ x1 (t) = t − t + C3 t + C4
12 4
Conditions terminales
Pour t = 0 :
x1 (0) = 1 ⇒ C4 = 1
x2 (0) = 1 ⇒ C3 = 1
80 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Pout t = 1 :
C1 C2
x1 (1) = − +2=0
12 4
C1 C2
x2 (1) = − +1=0
4 2
La résolution du système d’équation suivant :
C1 C2
− +2=0
12 4
C1 C2
− +1=0
4 2
⇒ C1 = 36 et C2 = 20
Par conséquent :
λ2 (t)
λ2 (t) = −36 t + 20 ⇒ u∗ (t) = −
2
u∗ (t) = 18 t − 10
sujet à :
ẋ(t) = −2 x(t) + u(t),
1
H(x(t), u(t)) = (x2 (t) + u2 (t)) + λ(t) (−2 x(t) + u(t))
2
∇u(t) H(x(t), u(t)) = u(t) + λ(t) ⇒ u∗ (t) = −λ(t)
Équations d’Hamilton-Pontryagin
∂H ∗ (x(t), u∗ (t))
ẋ(t) = + = −2 x(t) − λ(t) (7.10)
∂λ
∂H ∗ (x(t), u∗ (t))
λ̇(t) = − = −(x(t) − 2 λ(t)) (7.11)
∂x(t)
" # " #" #
ẋ(t) −2 −1 x(t)
=
λ̇(t) −1 2 λ(t)
| {z }
A
" # "
#
x(t) x(0)
⇒ = eA t
λ(t) λ(0)
eA t = L−1 [s I − A]−1
" #
s+2 1
sI −A =
1 s−2
" #
−1 1 s − 2 −1
⇒ [s I − A] = 2
s −5 −1 s + 2
Posons α2 = 5
1 1 1 1
— 2 = −
s − α2 2α s− α s+α
s+β a b as + aα + bs − bα
— 2 2
= − =
s −α s−α s+α s2 − α 2
(a + b) s + (a − b) α a+b=1
= ⇒
s2 − α 2 a−b= β
α
β 1 β
⇒ 2a = 1+ ⇒ a = 1+
α 2 α
1 β 1 β
b= 1−a⇒ b=1− − ⇒b= 1−
2 2α 2 α
L−1 ([s I − A]−1 ) =
αt −α t1 −α t αt
ā e + b̄ e 2α
(e −e )
1
(e−α t − eα t ) a e−α t + b eα t
2α
1 β 1 β
ā = 1− ; b̄ = 1+
2 α 2 α
82 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
" #
At Φ11 (t) Φ12 (t)
e =
Φ21 (t) Φ22 (t)
⇒ [Φ11 (1) − Φ21 (1)] x(0) = [Φ22 (1) − Φ12 (1)] λ(0)
Φ11 (1) − Φ21 (1)
λ(0) = x(0)
Φ22 (1) − Φ12 (1)
1 −α t
— Φ11 (1) − Φ21 (1) = ā eα t + b̄ e−α t − [e − eα t ]
2α
1 −α t
— Φ22 (1) − Φ12 (1) = a eα t + b e−α t − [e − eα t ]
2α
Φ11 (1) − Φ21 (1)
u(0) = −λ(0) = − x(0)
Φ22 (1) − Φ12 (1)
sujet à :
Solution
AT K + K A − K S K + Q = 0, S = B R−1 B T
" # " # " #
0 1 0 ρ2 0
A= ,B= ,Q= ,R=1
0 0 1 0 0
" # " # " #
0 h i 0 0 a b
S= 0 1 = ,K =
1 0 1 b c
" #" # " #" # " #
0 0 a b a b 0 1 a b
+ −
1 0 b c b c 0 0 b c
" #" # " # " #
0 0 a b ρ2 0 0 0
+ =
0 1 b c 0 0 0 0
" # " # " #" #
0 0 0 a 0 b a b
+ −
a b 0 b 0 c b c
" # " #
ρ2 0 0 0
+ =
0 0 0 0
" # " # " # " #
0 a b2 b c ρ2 0 0 0
− + =
a 2b b c c2 0 0 0 0
84 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
−b2 + ρ2 = 0 (7.12)
a − bc = 0 (7.13)
2 b − c2 = 0 (7.14)
(7.12) ⇒ b2 = ρ2 ⇒ b = ρ (ρ > 0)
p
(7.14) ⇒ c2 = 2 b = 2 ρ ⇒ c = ± 2 ρ
p
(7.13) ⇒ a = b c ⇒ a = ρ 2 ρ, (K > 0 ⇒ a > 0)
(c) Stabilité
ẋ(t) = A x(t) + B u(t) ⇒ ẋ(t) = (A − S K) x(t)
| {z }
ABF
" # " #" √ #
0 1 0 0 ρ 2ρ ρ
ABF = − √
0 0 0 1 ρ 2ρ
" #
01
= √
−ρ − 2 ρ
(d) Les racines en boucle fermée sont complexes, la réponse du système est apério-
dique (oscillatoire).
sujet à :
Solution
Par conséquent,
ẋ1 (t) = ẋ(t)
Ztf
1
J(u(t)) = (x1 (t) − x2 (t))2 + u2 (t) dt
2
ti
86 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
sujet à :
Ztf
1
J(u(t)) = x21 (t) − 2 x1 (t) x2 (t) + x22 (t) + u2 (t) dt
2
ti
sujet à :
ẋ(t) = u(t)
x(0) = +1
x(2) = −1
Solution
sujet à :
x(0) = +1
x(2) = −1
1. — Équation d’Euler-Lagrange
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0
∂x(t) dt ∂ ẋ(t)
x(0) = +1
x(2) = −1
p ẋ(t) ẍ(t)
! ẍ(t) 1 + ẋ2 (t) − ẋ(t) p
d ẋ(t) 1 + ẋ2 (t)
0− p =
dt 1 + ẋ2 (t) 1 + ẋ2 (t)
ẍ(t) (1 + ẋ2 (t)) − ẋ2 (t) ẍ(t)
=
(1 + ẋ2 (t))3/2
ẍ(t)
= =0
(1 + ẋ2 (t))3/2
x(0) = 1 ⇒ c2 = 1
x(2) = −1 ⇒ 2 c1 + 1 = −1 ⇒ c1 = −1
88 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Solution
— Partie terminale : h(x(tf ), tf ) = x(1)
1 2
— Partie intégrale : g(x(t), u(t)) = x2 (t) + u (t)
4
Fonction d’Hamilton
1 2
H(x(t), u(t)) = x2 (t) + u (t) + λ(t) ẋ(t)
4
1
= x2 (t) + u2 (t) + λ(t) u(t)
4
∂H(x(t), u(t))
ẋ(t) = = −2 λ(t) (7.15)
∂λ(t)
∂H(x(t), u(t))
λ̇(t) = − = −2 x(t) (7.16)
∂x(t)
r 2 − 4 = 0 ⇒ r = ±2
89
La solution est :
x(0) = 0 ⇒ x(0) = c1 − c2 = 0 ⇒ c1 = c2
dh(x(tf ), tf )
λ(tf ) = = 1 ⇒ λ(t) = c1 e−2 + c2 e+2 = 1
dx(tf )
1
⇒ c1 e−2 + c1 e+2 = 1 ⇒ c1 =
e−2 + e+2
1
⇒ c2 =
e−2 + e+2
La loi de commande optimale est
e−2 t + e+2 t
u(t) = −2
e−2 + e+2
ẋ(t) = u(t)
x(ti ) = xi
on demande de déterminer la loi de commande optimale u∗ (t), sous forme d’un retour
d’état, qui minimise le critère suivant :
Z tf
1 2 1
J(u(t)) = x (tf ) + u2(t) dt ; α>0
2α 2 ti
Comme A = 0, B = 1, Q = 0 R = 1, alors
Ṗ (t) − P 2 (t) = 0
Ṗ (t) 1 1
2
=1⇒− = t + c ⇒ P (t) = −
P (t) P (t) t+c
1 2
d x (tf )
dh(x(tf ), tf ) 2α 1
On λ(tf ) = P (tf ) x(tf ) = = = x(tf )
dx(tf ) dx(tf ) α
1 1 1
P (tf ) = ⇒ =− ⇒ tf + c = −α ⇒ c = −(α + tf )
α α tf + c
Donc
1
P (t) =
α + tf − t
La loi de commande
∗ −1 T 1
u (t) = −R B P (t) x(t) = − x(t)
α + tf − t
x(ti ) = xi
x(tf ) = xf
Solution
L’accroissement ∆J est
91
Z tf
∆J = g x1 (t) + δx1 (t), x2 (t) + δx2 (t), . . . , xn (t) + δxn (t),
ti
ẋ1 (t) + δ ẋ1 (t), ẋ2 (t) + δ ẋ2 (t), . . . , ẋn (t) + δ ẋn (t)
− g x1 (t), x2 (t), . . . , xn (t), ẋ1 (t), ẋ2 (t), . . . , ẋn (t) dt
on obtient
Z tf n n
X ∂g(x(t), ẋ(t)) X ∂g(x(t), ẋ(t))
∆J = δxi (t) + δ ẋi (t)
ti i=1
∂xi (t) i=1
∂ ẋi (t)
n
X
+ [Termes d’ordre supérieures à δxi (t) et δ ẋi (t)] dt
i=1
où
x1 (t) ẋ1 (t)
x2 (t) ẋ (t)
x(t) = et ẋ(t) = 2.
.. .
. .
xn (t) ẋn (t)
En utilisant une intégration par partie des intégrales contenant δ ẋi (t), on obtient la
variation suivante :
n tf
X ∂g(x(t), ẋ(t))
δJ = δxi (t)
i=1
∂ ẋi (t) ti
Z tf Xn
∂g(x(t), ẋ(t)) d ∂g(x(t), ẋ(t))
+ − δxi (t) dt
ti i=1 ∂xi (t) dt ∂ ẋi (t)
Z tf n
X ∂g(x(t), ẋ(t)) d ∂g(x(t), ẋ(t))
δJ = − δxi (t) dt
ti i=1
∂x i (t) dt ∂ ẋi (t)
A l’optimum, la variation δJ doit être nulle, alors les conditions à vérifier sont :
∂g(x(t), ẋ(t)) d ∂g(x(t), ẋ(t))
− =0 ; i = 1, . . . , n
∂xi (t) dt ∂ ẋi (t)
avec les conditions terminales
x(ti ) = xi , x(tf ) = xf
sujet à :
ẋ(t) = u(t)
x(0) = 1
x(1) = 1
sujet à :
x(0) = 1
x(1) = 1
— Équation d’Euler-Lagrange
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0
∂x(t) dt ∂ ẋ(t)
x(0) = 1
x(1) = 1
d
0− t + 2 ẋ(t) = 0
dt
1 + 2 ẍ(t) = 0
1
ẍ(t) = −
2
t t2
⇒ ẋ(t) = − + c1 ⇒ x(t) = − + c1 t + c2
2 4
x(0) = 1 ⇒ c2 = 1
1 1
x(1) = 1 ⇒ − + c1 + 1 = 1 ⇒ c1 =
4 4
t 1
u∗ (t) = ẋ(t) = − +
2 4
Exo 13. Soit le système continu du premier ordre défini par l’équation différentielle :
que l’on désire amener au bout d’un temps tf donné, d’un état initial x(0) = x0
donné à un état final libre, en minimisant l’énergie de la commande. Pour réaliser
cet objectif, on considère le critère à minimiser :
94 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Ztf
1 1
J (u(t)) = x2 (tf ) + u2 (t) dt
2 2
0
1
H(x(t), u(t)) = u2 (t) + λ(t) (x(t) + u(t))
2
∂H(x(t), u(t))
= u(t) + λ(t) = 0 ⇒ u∗ (t) = −λ(t)
∂u(t)
λ2 (t) λ2 (t)
H ∗ (x(t), u∗ (t)) = + λ(t) (x(t) − λ(t)) = λ(t) x(t) −
2 2
∂H ∗ (x(t), u∗ (t))
ẋ(t) = = x(t) − λ(t)
∂λ(t)
∂H ∗ (x(t), u∗ (t))
λ̇(t) = − = −λ(t)
∂x(t)
ẋ(t) = x(t) − λ(t) ⇒ ẋ(t) = x(t) − λ0 e−t ⇒ ẋ(t) − x(t) = −λ0 e−t
1
x(t) = λ0 (e−t − et ) + x0 et
2
95
1 1
x(tf ) = λ0 (e−tf − etf ) + x0 etf ⇒ λ0 e−tf = λ0 (e−tf − etf ) + x0 etf
2 2
1 2 x0 etf
⇒ λ0 (e−tf + etf ) = x0 etf ⇒ λ0 = −tf
2 e + etf
La commande optimale u∗ (t) = −λ∗ (t) = −λ0 e−t . Comme λ0 est exprimée en
fonction x0 , par conséquent à chaque instant τ entre 0 et tf , l’état x(t) peut être
assumé comme l’instant initial, donc la commande optimale en boucle fermée
est :
2 e−t
u∗ (t) = x(t)
e−2 tf + 1
sujet à :
ẋ(t) = x(t) + u(t) + 1
x(t0 ) = 4
x(tf ) = 0
|u(t)| ≤ 7
Solution
96 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
N
X
min J(u(k)) = x(k) + u2 (k) ∆t
u(k)
k=0
sujet à :
x(k − 1) = x(k) + x(k) + u(k) + 1 ∆t
x(N) = 4
x(0e ) = 0
|u(k)| ≤ 7
— N =1:
∗
0 = 2 x(1) + u(1) + 1 ⇒ u (1) = − 2 x(1) + 1
et
J ∗ (x(1), 1) = 4 x2 (1) + 5 x(1) + 1
En résumé, on a :
Problème 1.
Z 2
min J(u(t)) = − x(t) − u2 (t) dt
u(t) 0
sujet à :
ẋ(t) = u(t), x(0) = 0, x(2) est libre
Problème 2.
Z tf p
min J(u(t)) = 1 + u2(t) dt
u(t) 0
sujet à :
ẋ(t) = u(t), x(0) = α, x(tf ) est libre
Solution
Problème 1.
1. Commande optimale :
— Hamiltonien : H(x(t), λ(t), u(t)) = u2 (t) − x(t) + λ(t) u(t)
∂H(x(t), λ(t), u(t)
— Expression de la loi de commande : = 2 u(t) + λ(t) =
∂u(t)
λ(t)
0 ⇒ u(t) = −
2
— Équations d’Hamilton-Pontryagin :
98 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
∂H ∗ (x(t), λ(t)) λ(t)
λ 2
(t) ẋ(t) =
=−
∂λ(t) 2
H ∗ (x(t), λ(t)) = −x(t) − ⇒
4 ∂H ∗
(x(t), λ(t))
λ̇(t) = −
=1
∂x(t)
∗ ∗ t ∗ t2
ẋ (t) = u (t) = − + 1 ⇒ x (t) = − + t + c1
2 4
t2
x∗ (t) = − +t
4
Problème 2.
1. Commande optimale :
p
— Hamiltonien : H(x(t), λ(t), u(t)) = 1 + u2 (t) + λ(t) u(t)
— Expression de la loi de commande :
u2 (t)
⇒ 2
= λ2 (t) ⇒ u2 (t) (1 − λ2 (t)) = λ2 (t) ⇒
1 + u (t)
λ2 (t)
u2 (t) = avec λ2 (t) 6= 1
1 − λ2 (t)
— Équations d’Hamilton-Pontryagin :
1 λ2 (t)
H ∗ (x(t), λ(t)) = p ±p
1 − λ2 (t) 1 − λ2 (t)
99
∂H ∗ (x(t), λ(t)) λ(t)
ẋ(t) = = ±p
∂λ(t) 1 − λ2 (t)
⇒
∂H (x(t), λ(t))
∗
λ̇(t) = −
=0
∂x(t)
La deuxième équation donne λ(t) = c0 . Comme la partie terminale est nulle,
alors
λ(tf ) = 0 ⇒ c0 = 0
x∗ (t) = α
sujet à :
ẋ(t) = f (x(t), u(t))
x(0) = x0 , x(tf ) = xf
Solution
tf
Ainsi, pour k = 0, . . . , n avec ∆t = , il vient
n+1
ou encore
x(tf ) = xf = ψ( u(1), . . . , u(n))
Cette dernière équation représente la contrainte à vérifier qui est du type égalité.
min φ(y)
y
sujet à :
ψ(y) − xf = 0
sujet à :
ẋ(t) = u(t)
x(0) = 0
x(2) = 8
Solution
sujet à :
x(0) = 0
x(2) = 8
Comme l’état final est fixe, la solution du problème est déterminée en résolvant
l’équation d’Euler-Lagrange suivante
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0 (7.17)
∂x(t) dt ∂ ẋ(t)
d
12 t − 2 ẋ(t) = 0 (7.18)
dt
6 t − ẍ(t) = 0 (7.19)
x(0) = c2 = 0
x(2) = 8 + 2 c1 + c2 = 8 ⇒ 8 + 2 c1 + 0 = 8 ⇒ c1 = 0
Fonction d’Hamilton
Commande optimale
Équations d’Hamilton-Pontryagin
∗ λ2 (t)
H (x(t), λ(t), t) = 12 t x(t) −
4
∂H ∗ (x(t), λ(t), t) λ(t)
ẋ(t) = =−
∂λ(t) 2
∂H (x(t), λ(t), t)
∗
λ̇(t) = − = −12 t
∂x(t)
103
x(0) = c2 = 0
c1 c1
x(2) = 8 − + c2 = 8 ⇒ 8 − + 0 = 8 ⇒ c1 = 0
2 2
λ(t) 6 t2
u∗ (t) = − = = 3 t2
2 2
Exo 18. En utilisant le principe du minimum, déterminer la loi de commande optimale u∗ (t)
pour le problème suivant :
Z2
1 2
max J u(t) = x1 (t) + u(t) dt
u(t) 2
0
sujet à :
Solution
Z2
1 2
max J u(t) = x1 (t) + u(t) dt
u(t) 2
0
⇒
Z2
1
2
min J u(t) = − x1 (t) + u(t) dt
u(t) 2
0
104 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Hamiltonien
n
X
H (x(t), u(t), λ(t)) = L (x(t), u(t)) + λi (t) ẋi (t)
i=1
1
= − (x1 (t) + u(t))2 + λ1 (t) ẋ1 (t)
2
+λ2 (t) ẋ2 (t)
1
= − (x1 (t) + u(t))2 + λ1 (t) x2 (t)
2
+λ2 (t) x1 (t) + u(t)
Commande optimale
1
H ∗ = H(x(t), u∗(t), λ(t)) = λ2 (t)2 + λ1 (t) x2 (t)
2
Équations d’Hamilton-Pontryagin
∂H ∗
ẋ1 (t) = = x2 (t) (7.21)
∂λ1 (t)
∂H ∗
ẋ2 (t) = = λ2 (t) (7.22)
∂λ2 (t)
∂H ∗
λ̇1 (t) = − =0 (7.23)
∂x1 (t)
∂H ∗
λ̇2 (t) = − = −λ1 (t) (7.24)
∂x2 (t)
(7.23) ⇒ λ1 (t) = C1
(7.24) ⇒ λ2 (t) = −C1 t + C2
105
C1 2
(7.22) ⇒ x2 (t) = − t + C2 t + C3
2 ,
C1 3 C2 2
(7.21) ⇒ x1 (t) = − t + t + C3 t + C4
6 , 2
Pour t = 0 :
x1 (0) = C4 = 0
x2 (0) = C3 = 0
Pour t = 2 :
4
x1 (2) = − C1 + 2 C2 = 2
3
x1 (2) = −2 C1 + 2 C2 = 1
3
⇒ C1 = et C2 = 2
2
3 1
u∗ (t) = 2 − t − t2 + t3
2 4
Exo 19. En utilisant le principe du minimum, déterminer la loi de commande optimale u∗ (t)
pour le problème suivant :
Z0,5
1
max J u(t) = x2 (t) + u2 (t) dt
u(t) 2
0
sujet à :
ẋ(t) = u(t)
x(0) = 1
Solution
106 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Z1/2
1 2
max J u(t) = x1 (t) + u2 (t) dt
u(t) 2
0
⇒
Z1/2
1
min J u(t) = − x21 (t) + u2 (t) dt
u(t) 2
0
Hamiltonien
n
X
H (x(t), u(t), λ(t)) = L (x(t), u(t)) + λi (t) ẋi (t)
i=1
1
= − (x21 (t) + u2 (t)) + λ1 (t) ẋ1 (t)
2
1
= − (x21 (t) + u2 (t)) + λ1 (t) u(t)
2
Commande optimale
1 2
H ∗ (x(t), u∗ (t), λ(t)) = − x1 (t) + λ21 (t) + λ21 (t)
2
1 1
= − x21 (t) + λ21 (t)
2 2
Équations d’Hamilton-Pontryagin
∂H ∗
ẋ1 (t) = = λ1 (t) (7.25)
∂λ1 (t)
∂H ∗
λ̇1 (t) = − = x1 (t) (7.26)
∂x1 (t)
λ1 (t) = α et + β e−t
Pour t = 0 :
x1 (0) = α − β = 1
α−β = 1
α e1/2 + β e−1/2 = 0
donne :
1 e
α= ; α=−
1+e e+1
Ce qui donne la commande optimale suivante :
∗ 1 t e
u (t) = λ1 (t) = e − e−t
1+e e+1
sujet à :
Solution
et
x(k + 1) − x(k)
ẋ(t) = −x(t) + u(t) ⇒ = −x(k) + u(k)
∆t
x(k + 1) = (1 − ∆t) x(k) + ∆t u(k); k = 0, . . . , N − 1
i
X
x(i) = (1 − ∆t)j−1 ∆t Xi−j+1 ; i = 1, . . . , N
j=1
N
X
x(N) − (1 − ∆t)j−1 ∆t XN −j+1 = 0
j=1
min f (X) = X T X
X
sujet à :
ḡ(X) − x(N) = 0
Evidemment pour résoudre ce problème, on doit spécifier l’état final x(t = 1) ≡ x(N).
Z 1
1
min J(u(t)) = u2 (t) dt
u(t) 2 0
sujet à :
ẋ1 (t) = x2 (t)
ẋ2 (t) = u(t)
x1 (0) = 1
x2 (0) = 1
x1 (1) = 0
x2 (1) = 0
Solution
— Hamiltonien
1
H(x(t), u(t), λ(t)) = u2 (t) + λ1 (t) ẋ1 (t) + λ2 (t) ẋ2 (t)
2
1
= u2 (t) + λ1 (t) x1 (t) + λ2 (t) u(t)
2
— Hamilton optimal
1
H ∗ (x(t), λ(t)) = u2 (t) + λ1 (t) ẋ1 (t) + λ2 (t) ẋ2 (t)
2
1
= λ22 (t) + λ1 (t) x2 (t) − λ22 (t)
2
1
= − λ22 (t) + λ1 (t) x2 (t)
2
111
∂H ∗ (x(t), λ(t))
ẋ1 (t) = = x2 (t) (7.28)
∂λ1 (t)
∂H ∗ (x(t), λ(t))
ẋ2 (t) = = −λ2 (t) (7.29)
∂λ2 (t)
∂H ∗ (x(t), λ(t))
λ̇1 (t) = − =0 (7.30)
∂x1 (t)
∂H ∗ (x(t), λ(t))
λ̇2 (t) = − = −λ1 (t) (7.31)
∂x2 (t)
(7.30) ⇒ λ1 (t) = c1
(7.31) ⇒ λ2 (t) = −c1 t + c2
t2
(7.29) ⇒ x2 (t) = c1 − c2 t + c3
2
t3 t2
(7.28) ⇒ x1 (t) = c1 − c2 + c3 t + c4
6 2
03 02
x1 (0) = 1 ⇒ x1 (0) = c1 − c2 + c3 × 0 + c4 = 1 ⇒ c4 = 1
6 2
02
x2 (0) = 1 ⇒ x2 (0) = c1 − c2 × 0 + c3 = 1 ⇒ c3 = 1
2
— Pour t = 1, on a
13 12 1 1
x1 (1) = 0 ⇒ x1 (0) = c1 − c2 + 1 × 1 + 1 = 0 ⇒ c1 − c2 + 2 = 0
6 2 6 2
(7.32)
12 1
x2 (1) = 0 ⇒ x2 (0) = c1 − c2 × 1 + 1 = 0 ⇒ c1 − c2 + 1 = 0 (7.33)
2 2
c1
A partir de l’équation (7.33), on a c2 = +1. En substituant cette expression
2
de c2 dans l’équation (7.32), il vient
c1 c1 1 c1 3
− − + 2 ⇒ − + = 0 ⇒ c1 = 18
6 4 2 12 2
112 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
et
c1
c2 = + 1 ⇒ c2 = 10
2
— Commande optimale
u∗ (t) = −λ∗2 (t) = 18 t − 10
1. le coût optimal pour un transfert réalisé est J ∗ (x(t0 )) = 51. Donner l’état initial
x(t0 ), la première commande optimale appliquée et le nombre d’étapes considéré
pour réaliser ce transfert.
2. le modèle discret du système est
où k est l’indice de nombre d’étapes restantes. Sachant que la première com-
mande optimale ramène le système à l’état x = 7. Déterminer la valeur du
paramètre α.
3. peut-on transférer le système de l’état initial x(t0 ) = 10 en 5 étapes sachant
qu’après 3 étapes, une perturbation de +3 affecte le système. Argumenter.
4. on considère le même problème de la question 3 mais le nombre d’étapes n’est
pas imposé. Peut-on réaliser le transfert tout en rejetant l’effet de la perturba-
tion. Expliquer.
Solution
1. Comme le transfert réalisé est optimal et le coût total est de 51. D’après le
Tableau résumant la commande optimale, il y a un seul transfert optimal dont
le coût est de 51. A partir de la table, on déduit que :
113
114 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
k x (k) u (k)
5 10 −2
4 8 −2
3 6 −2
2 4 + 3 (Perturbation) Pas de commande optimale
4. Comme le nombre d’étapes n’est pas imposé, pour transférer l’état du système
de l’état initial x(t0 ) = 10 à l’état final x(tf ) = 0 tout en rejetant l’effet de
la perturbation, plusieurs solutions sont possibles. D’après le Tableau 7.1, le
transfert de l’état du système de x = 7 à l’état x(tf ) = 0 peut se faire en 5,
en 4 et en 3 étapes mais le transfert dont le coût est faible et le transfert en 5
étapes. La commande optimale est résumée dans la table ci-après.
x (k) u (k)
10 −2
8 −2
6 −2
4 + 3 (Perturbation) −1
6 −1
5 −2
3 −3
0 0
Z1
min J u(t) = x2 (t) + u2 (t) dt
u(t)
0
sujet à :
ẋ(t) = −x(t) + u(t)
x(0) = 1, x(1) = 1
Solution
Le problème de calcul des variations correspondant au problème de commande op-
timale est
Z 1
2
ˆ
min J(x(t)) = x (t) + (ẋ(t) + x(t))2 dt
x(t) 0
sujet à :
x(0) = 1
x(1) = 1
Comme l’état final est fixe, la solution du problème est déterminée en résolvant
l’équation d’Euler-Lagrange suivante
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0 (7.34)
∂x(t) dt ∂ ẋ(t)
d
2 ẋ(t) + 4 x(t) − 2 ẋ(t) + x(t) = 0 (7.35)
dt
ẋ(t) + 2 x(t) − ẍ(t) − ẋ(t) = 0 (7.36)
ẍ(t) − 2 x(t) = 0 (7.37)
x(0) = c1 + c2 = 1
√ √
2 2
x(1) = c1 e− + c2 e =1
c1 + c2 = 1 ⇒ c2 = 1 − c1
par conséquent √
1 − e− 2
c2 = √ √
e 2 − e− 2
La solution du problème est
√ ! √ !
2
e −1 √
2t 1 − e− 2 √
2t
x∗ (t) = √ √ e + √ √ e−
e − e− 2
2 e 2 − e− 2
√ √
2t 2t
= 0, 80443 e + 0, 19557 e−
1h i 1h i 1 Z2
min J u(t) = x1 (2) − 4 + x2 (2) − 2 + u2(t) dt
u(t) 2 2 2
0
sujet à :
ẋ1 (t) = x2 (t)
ẋ2 (t) = u(t)
x1 (0) = 1, x2 (0) = 2
x1 (2) et x2 (2) sont libres
Solution
— Hamiltonien
1
H(x(t), u(t), λ(t)) = u2 (t) + λ1 (t) ẋ1 (t) + λ2 (t) ẋ2 (t)
2
1
= u2 (t) + λ1 (t) x2 (t) + λ2 (t) u(t)
2
— Hamilton optimal
1
H ∗ (x(t), λ(t)) = u2 (t) + λ1 (t) ẋ1 (t) + λ2 (t) ẋ2 (t)
2
1
= λ22 (t) + λ1 (t) x2 (t) − λ22 (t)
2
1
= − λ22 (t) + λ1 (t) x2 (t)
2
118 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
∂H ∗ (x(t), λ(t))
ẋ1 (t) = = x2 (t) (7.40)
∂λ1 (t)
∂H ∗ (x(t), λ(t))
ẋ2 (t) = = −λ2 (t) (7.41)
∂λ2 (t)
∂H ∗ (x(t), λ(t))
λ̇1 (t) = − =0 (7.42)
∂x1 (t)
∂H ∗ (x(t), λ(t))
λ̇2 (t) = − = −λ1 (t) (7.43)
∂x2 (t)
(7.42) ⇒ λ1 (t) = c1
(7.43) ⇒ λ2 (t) = −c1 t + c2
t2
(7.41) ⇒ x2 (t) = c1 − c2 t + c3
2
t3 t2
(7.40) ⇒ x1 (t) = c1 − c2 + c3 t + c4
6 2
03 02
x1 (0) = 1 ⇒ x1 (0) = c1 − c2 + c3 × 0 + c4 = 1 ⇒ c4 = 1
6 2
02
x2 (0) = 2 ⇒ x2 (0) = c1 − c2 × 0 + c3 = 1 ⇒ c3 = 2
2
∂ψ(x(tf ), tf ) 1 1 1
λ1 (2) = = ⇒ λ1 (2) = c1 = ⇒ c1 = (7.44)
∂x1 (t) 2 2 2
∂ψ(x(tf ), tf ) 1 1
λ2 (2) = = ⇒ λ2 (2) = −c1 t + c2 = (7.45)
∂λ2 (t) 2 2
1 3
⇒ −1 + c2 = ⇒ c2 = (7.46)
2 2
— Commande optimale
1 3
u∗ (t) = −λ∗2 (t) = − t +
2 2
119
Z1
1
max J u(t) = α x2 (t) + β u2 (t) dt
u(t) 2
0
sujet à :
ẋ(t) = u(t)
x(0) = 1 et x(1) est libre
On a
1
H(x(t), u(t), λ(t)) = α x2 (t) + β u2 (t) + λ(t) u(t)
2
ce qui donne
On conclut que le problème n’admet pas de solution quelques soient les valeurs
de α et β.
sujet à :
1
ẋ(t) = − x(t) + u(t)
2
120 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Solution
1
A = − , B = 1, Q = 6, R = 1
2
AT K + K A − K B R−1 B T K + Q = 0
par conséquent,
−K 2 − K + 6 = 0
u∗ (t) = −2 x(t)
sujet à :
ẋ(t) = −a x(t) + u(t)
x(0) = 0
x(tf ) = q
4. en éliminant le vecteur des variables adjointes λ(t), montrer que la résolution des
équations d’Hamilton-Pontryagine se ramène à la résolution de l’équation
différentielle ordinaire suivante :
ẍ(t) − (1 + a2 ) x(t) + q = 0
Indication :
β
x(t) = A sinh(α t) + B cosh(α t) + ,
α2
Solution
1. Fonction d’Hamilton :
3. Équations d’Hamilton-Pontryagin :
λ2 (t)
H ∗ (x(t), λ(t), t) = (q − x(t))2 − a λ(t) x(t) −
4
∂H ∗ (x(t), λ(t), t) λ(t)
ẋ(t) = + = −a x(t) − (7.47)
∂λ(t) 2
∂H (x(t), λ(t), t)
∗
λ̇(t) = − = 2 (q − x(t)) + a λ(t) (7.48)
∂x(t)
λ̇(t)
ẍ(t) = −a ẋ(t) −
2
De l’équation (7.47), on a
λ(t)
= −ẋ(t) − a x(t)
2
q
x(t) = A sinh(α t) + B cosh(α t) +
α2
123
q q q
x(0) = A sinh(α 0) + B cosh(α 0) + = 0 ⇒ B + = 0 ⇒ B = −
α2 α2 α2
— Pour t = tf , on a x(tf ) = q
q q
x(tf ) = A sinh(α tf ) − 2
cosh(α tf ) + 2 = q
α α
q q
q− 2
+ 2 cosh(α tf )
⇒A= α α
sinh(α tf )
Comme α2 = 1 + a2 , on peut écrire
α2 − 1 + cosh(α tf )
A=q
α2 sinh(α tf )
2
a + cosh(α tf )
=q
α2 sinh(α tf )
et
∗ a2 + cosh(α tf ) q
ẋ (t) = q cosh(α t) − sinh(α t)
α sinh(α tf ) α
et la commande optimale est :
∗ a3 + a cosh(α tf ) 1
u (t) = q − sinh(α t)
α2 sinh(α tf ) α
2
a + cosh(α tf ) a aq
+q − 2 cosh(α t) + 2
α sinh(α tf ) α α
124 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Exo 28. Le coût d’un procédé chimique est donné par la fonctionnelle suivante :
Z1
1 2
J(x(t)) = ẋ (t) + x(t) dt
2
0
avec x(0) = 1.
Solution
— Trajectoire optimale :
1
g(x(t), ẋ(t)) = ẋ2 (t) + x(t)
2
ẋ(t) = t + c1
t2
x(t) = + c1 t + c2
2
— Pour t = 0, on a x(0) = 1 ⇒ c2 = 1,
1 3
— Pour t = 1, on a x(1) = 0 ⇒ + c1 + 1 = 0 ⇒ c1 = − .
2 2
125
t2 3
x∗ (t) = − t+1
2 2
J ∗ = J(x∗ (t))
Z1 " 2 #
1 3 t2 3
= t− + − t + 1 dt
2 2 2 2
0
Z1
t2 3 9 t2 3
= − t + + − t + 1 dt
2 2 8 2 2
0
Z1
2 17
= t − 3t+ dt
8
0
1
t3 3 2 17 23
= − t + t =
3 2 8 0 24
sujet à :
ẋ(t) = a x(t) + u(t)
1. x(0) = 1,
2. x(0) = 1, x(1) = 0.
Solution
— Fonction d’Hamilton
λ2 (t)
H ∗ = H| λ(t) = − + a x(t) λ(t)
u(t)=−
4
2
— Équations d’Hamilton-Pontryagin
∂H ∗ λ(t)
ẋ(t) = = a x(t) − (7.52)
∂λ(t) 2
∂H ∗
λ̇(t) = − = −a λ(t) (7.53)
∂x(t)
c1 e−a t
ẋ(t) = a x(t) −
2
c1 e−a t c1
k̇(t) ea t + a k(t) ea t = a k(t) ea t − ⇒ k̇(t) = − e−2 a t
2 2
c1 −2 a t
⇒ k(t) = e + c2
4a
Par conséquent :
c c1 −a t
1
x(t) = e−2 a t + c2 ea t = e + c2 ea t
4a 4a
127
— Commande optimale
• Pour x(0) = 1, on a un état final libre. Les conditions aux limites sont :
c1 −a 0 c1
x(0) = 1 ⇒ e + c2 ea 0 ⇒ + c2 = 1,
4a 4a
∂ψ(x(1), 1)
λ(1) = ⇒ c1 ea 1 = 0
∂x(1)
(partie terminale dans le critère ψ(x(1), 1) = 0) ⇒ c1 = 0
u∗ (t) = 0
• Pour x(0) = 1 et x(1) = 0, on a un état fixe. Les conditions aux limites sont :
c1 −a 0 c1
x(0) = 1 ⇒ e + c2 ea 0 = 1 ⇒ + c2 = 1,
4a 4a
c1 −a 1 c1 −a
x(1) = 0 ⇒ e + c2 ea 1 = 0 ⇒ e + c2 ea = 0.
4a 4a
2 a e2 a 1
La résolution de ces deux équations, donne c1 = 2 a
et c2 = − 2 a .
e −1 e −1
2 a ea t
u∗ (t) =
1 − e2 a
Exo 30. Soit le problème du calcul des variations suivant :
Z 1
min J(x(t)) = ẋ2 (t) + 1 dt
x(t) 0
sujet à :
x(0) = 1
x(1) = 2
Solution
2. Équation d’Euler-Lagrange :
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0
∂x(t) dt ∂ ẋ(t)
d
0− 2 1 + ẋ(t) = 0
dt
−2 ẍ(t) = 0
ẍ(t) = 0
— Solution du problème :
Pour t = 0, on a x(0) = c1 × 0 + c2 = 1 ⇒ c2 = 1
Pour t = 1, on a x(1) = c1 × 1 + c2 = c1 + 1 = 2 ⇒ c1 = 1
2.5
2.0
1.5
x (t)
∗
1.0
0.5
0.0
−0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2
Z 1
∗ ∗
J = J(x ) = [1 + ẋ∗ (t)] dt
Z0 1
= [1 + (t + 1)′ ] dt
0
Z 1
= [1 + 1] dt = 2
0
Exo 31. La solution de l’équation Riccati d’un problème de commande optimale linéaire
quadratique (LQ) est l’une des matrices suivantes :
" √ # " # " √ #
− 2 1 2 1 2 1
K1 = √ , K2 = et K3 = √ ,
1 2 2 3 1 2
3. Loi de commande
" #
0
R = 1, B= , K = K3
1
sujet à :
ẋ(t) = x(t) + u(t)
x(0) = x0
x(tf ) libre
Solution
1. Commande optimale
— Hamiltonien
— Hamiltonien optimal
1 3
H ∗ (x(t), p(t)) = − p2 (t) + p(t) x(t) + x2 (t)
2 2
∂H ∗ (x(t), p(t))
ẋ(t) = = −p(t) + x(t) (7.54)
∂p(t)
∂H ∗ (x(t), p(t))
ṗ(t) = − = −p(t) − 3 x(t) (7.55)
∂x(t)
ẍ(t) − 4 x(t) = 0
x(t) = c1 e−2 t + c2 e2 t
— Pour t = 0, on a
∂(ψ(x(tf ), tf ))
p(tf ) = ⇒ p(tf ) = 0 ⇒ p(tf ) = 3 c1 e−2 tf − c2 e2 tf = 0
∂x(tf )
(7.58)
3 x0 e−2 tf
3 (x0 − c2 ) e−2 tf − c2 e2 tf = 0 ⇒ c2 =
e2 tf + 3 e−2 tf
133
Par conséquent,
3 x0 e−2 tf x0 e2 tf
c1 = x0 − c2 = x0 − ⇒ c 1 =
e2 tf + 3 e−2 tf e2 tf + 3 e−2 tf
— Commande optimale
∗ ∗ x0 e2 tf −2 t 3 x0 e−2 tf 2t
u (t) = −p (t) = − 3 e − e
e2 tf + 3 e−2 tf e2 tf + 3 e−2 tf
3 x0
= (e2 (t−tf ) − e2 (tf −t) )
e2 tf + 3 e−2 tf
Comme
x0 e2 tf
lim c1 (tf ) = lim = x0
t→+∞ t→+∞ e2 tf + 3 e−2 tf
3 x0 e−2 tf
lim c2 (tf ) = lim =0
t→+∞ t→+∞ e2 tf + 3 e−2 tf
Par conséquent :
3. Expression de F :
A partir de (7.59), on déduit que
lim u(t)
tf →+∞
F =
lim x(t)
tf →+∞
−3 x0 e−2 t
= ⇒ F = −3
x0 e−2 t
134 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Z 1
min J(u(t)) = (ẋ(t) + 1)2 dt
u(t) 0
Solution
Équation d’Euler-Lagrange :
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0
∂x(t) dt ∂ ẋ(t)
d
0− 2 1 + ẋ(t) = 0
dt
−2 ẍ(t) = 0
ẍ(t) = 0
Comme l’état final est libre, les conditions terminales sont données comme suit :
x(0) = 1
∂g(x(t), ẋ(t), t)
=0
∂ ẋ(t) t=1
Les constantes c1 et c2 sont déterminées en utilisant les conditions aux limites. Ainsi,
— Pour t = 0, on a
x(0) = c1 × 0 + c2 = 1 ⇒ c2 = 1
∂g(x(t), ẋ(t), t)
= 2 (1 + ẋ(t))|t=1 = 0
∂ ẋ(t) t=1
= 2 (1 + c1 ) = 0 ⇒ c1 = −1
135
Z +∞
min J(u(t)) = 2 x2 (t) + 0, 25 u2(t) dt
u(t) 0
Solution
A = 1, B = 1, Q = 2, R = 0, 25
Comme l’horizon de commande est infini, l’équation de Riccati est algébrique. Elle
est donnée comme suit :
AT K + K A − K B R−1 B T K + Q = 0
par conséquent,
1
2 K − 4 K 2 + 2 = 0 ⇒ −2 K 2 + K + 1 = 0 ⇒ K = 1 et K = −
2
u∗ (t) = −4 x(t)
136 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
Ztf
min J u(t) = u2 (t) dt
u(t)
0
Solution
1. Commande optimale
— Hamiltonien
— Hamilton optimal
1
H ∗ (x(t), p(t)) = −a p(t) x(t) − p2 (t)
4
137
∂H ∗ (x(t), p(t)) 1
ẋ(t) = = −a x(t) − p(t) (7.60)
∂p(t) 2
∂H (x(t), p(t))
∗
ṗ(t) = − = −[−a p(t)] = a p(t) (7.61)
∂x(t)
(7.61) ⇒ p(t) = c1 ea t
c1 a t
ẋ(t) = −a x(t) − e (7.62)
2
ẋ(t) = −a x(t)
c1 a t c1
k̇(t) e−a t − a k(t) e−a t = −a k(t) e−a t − e ⇒ k̇(t) = − e2 a t
2 2
c1 2 a t
⇒ k(t) = − e + c2
4a
D’où la solution de l’équation (7.62)
c1 a t
x(t) = − e + c2 e−a t
4a
c1 a ×0 c1
x(0) = x0 ⇒ − e + c2 e−a ×0 = x0 ⇒ − + c2 = x0 (7.63)
24 4a
138 CHAPITRE 7. EXERCICES AVEC SOLUTIONS
— Pour t = tf , on a
c1 a tf
x(tf ) = 0 ⇒ − e + c2 e−a tf = 0 (7.64)
4a
c1
A partir de l’équation (7.63), on a c2 = x0 + . En remplaçant c2 par
4a
son expression dans (7.64), on obtient :
c1 a tf c1 −a tf 4 a x0 e−a tf
− e + x0 + e = 0 ⇒ c1 = a tf
4a 4a e − e−a tf
Par conséquent,
4 a x0 e−a tf x0 ea tf
c2 = x0 + ⇒ c 2 =
4 a (ea tf − e−a tf ) ea tf − e−a tf
— Commande optimale
1 c1 2 a x0 e−a tf a t 2 a x0 ea (t−tf )
u∗ (t) = − p∗ (t) = − ea t = − a tf e = −a tf
2 2 e − e−a tf e − ea tf
3. Détermination de F (a, t, T ) :
u∗ (t)
F (a, t, T ) =
x∗ (t)
2 a x0
tf − ea tf
ea (t−tf )
= e −a