Cours Commande Optimale

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 138

Cours de Commande Optimale

Ahmed MAIDI

6 mai 2017
2
Table des matières

1 Introduction à la commande optimale 11


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Formulation du problème de commande optimale . . . . . . . . . . . . . . . . 12
1.2.1 Mise en équations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.2 Conditions terminales . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Contraintes instantanées et intégrales . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 Contraintes instantanées . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Contraintes intégrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Choix du critère d’optimalité (critère de performances) . . . . . . . . . . . . . 15
1.4.1 Principaux critères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.2 Commande en temps minimum . . . . . . . . . . . . . . . . . . . . . . 16
1.4.3 Commande terminale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.4 Commande à énergie minimale . . . . . . . . . . . . . . . . . . . . . . 17
1.4.5 Commande à consommation minimale . . . . . . . . . . . . . . . . . . 17
1.4.6 Poursuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.7 Régulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.8 Poursuite + Commande à énergie minimale . . . . . . . . . . . . . . . 18
1.4.9 Commande terminale + Poursuite + Commande à énergie minimale . . 18
1.5 Réalisation d’une commande optimale . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.1 Méthode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.2 Méthode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.3 Méthode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5.4 Méthode 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6 Synthèse d’une commande optimale . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Calcul des variations 21


2.1 Calcul des variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Recherche l’optimum d’une fonctionnelle . . . . . . . . . . . . . . . . . . . . . 22

3
4 TABLE DES MATIÈRES

2.2.1 Etat final fixé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


2.2.2 Etat final libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Application du calcul des variations à la commande optimale . . . . . . . . . . 26
2.4 Exemples d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

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

4 Principe du minimum de Pontryagin 45


4.1 Problème de commande optimale . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Principe du minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3 Exemple d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4 Détermination de la commande optimale sous forme d’un retour d’état . . . . 50
4.5 Résolution numérique des conditions de stationnarité . . . . . . . . . . . . . . 52

5 Commande Optimale des Systèmes Linéaires avec Critère Quadratique


(LQ) 53
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 Solution général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3 Résolution de l’équation de Ricatti . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4 Robustesse de la comande linéaire quadratique . . . . . . . . . . . . . . . . . . 59
5.5 Exemple d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6 Commande Linéaire Quadratique Gaussienne (LQG) 63


6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.2 Cas des systèmes à état non complètement accessible . . . . . . . . . . . . . . 63
6.3 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.4 Synthèse d’une commande LQG . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.4.1 Retour d’état optimale (LQR) . . . . . . . . . . . . . . . . . . . . . . . 65
6.4.2 Filtre de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.4.3 Commande LQG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.5 Synthèse de la commande LQG/LTR (Loop Transfert Recovery) . . . . . . . . 68
6.5.1 Hypothèses d’application . . . . . . . . . . . . . . . . . . . . . . . . . . 68
TABLE DES MATIÈRES 5

6.5.2 Recouvrement en entrée . . . . . . . . . . . . . . . . . . . . . . . . . . 68


6.5.3 Recouvrement en sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7 Exercices avec solutions 71


6 TABLE DES MATIÈRES
Liste des tableaux

3.1 Transfert en une seule étape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37


3.2 Transfert en deux étapes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3 Tableau récapitulatif pour un nombre d’étapes allant de 1 jusqu’à 6. . . . . . . 39

7.1 Commande optimale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

7
8 LISTE DES TABLEAUX
Table des figures

2.1 Trajectoires admissibles dans le cas d’un état final fixé. . . . . . . . . . . . . . 23


2.2 Trajectoires admissibles dans le cas d’un état final libre. . . . . . . . . . . . . 25

3.1 Principe d’optimalité de Bellman . . . . . . . . . . . . . . . . . . . . . . . . . 31


3.2 Equation fonctionnelle de Bellman. . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Transfert en une seule étape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4 Transfert en deux étapes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.1 Structure de la commande linéaire quadratique (LQ). . . . . . . . . . . . . . . 56


5.2 Lieu de Nyquist d’une commande LQ. . . . . . . . . . . . . . . . . . . . . . . 60

6.1 Observateur d’état. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64


6.2 Structure de la commande linéaire quadratique gaussienne (LQG). . . . . . . . 67

7.1 Circuit électrique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77


7.2 Trajectoire optimale x∗ (t). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

9
10 TABLE DES FIGURES
Chapitre 1

Introduction à la commande optimale

1.1 Introduction

Le problème général de la détermination d’une commande optimale d’un processus peut


se résumer comme suit : un processus étant donné et défini par son modèle, trouver parmi
les commandes admissibles celle qui permet à la fois :

1. De vérifier des conditions initiales et finales données ;

2. De satisfaire diverses contraintes imposées ;

3. D’optimiser un critère choisi.

Sous la forme mathématique, le problème de la commande optimale se résume comme


suit :
Soit le système dynamique décrit par l’équation d’état

ẋ(t) = f (x(t), u(t), t) (1.1)

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

u(t) ∈ U(t) (1.2)

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

Dans la suite, le coût minimal est noté :

Jmin = J ∗ (x) (1.4)

Remarque 1.1

1. Le temps t peut être absent de f , U et φ.


2. La durée totale (horizon) T = tf − t0 du changement d’état peut être imposée ou nom.
On distingue les quatre cas suivants :
— Horizon borné et imposé : l’instant final tf est imposé. La loi de commande optimale
dépend alors du temps restant τ = tf − t.
— Horizon borné, mais non imposé : l’instant final tf est imposé par une condition
supplémentaire intrinsèque au problème.
— Horizon glissant : l’instant restant τ conserve une valeur constante.
— Horizon infini : cas particulier de l’horizon glissant.
3. L’état final x (tf ) peut être imposé ou nom. S’il n’est pas imposé, il doit être défini
indirectement par la critère J.
4. Les contraintes sur les variables de commande et les variables d’état introduisent tou-
jours des complications. On peut parfois les remplacer par des conditions qui ne rompent
pas la continuité. Par exemple :
— Une condition telle que |xi (t)| ≤ V peut être approchée par l’introduction dans φ
 N
V
d’un terme , avec N = 20 par exemple ;
xi (t)
2
— Une saturation (cas des actionneurs) peut être approchée par la fonction y = arctg (u).
π

1.2 Formulation du problème de commande optimale

1.2.1 Mise en équations


Un système dynamique, ou processus, est caractérisé par trois ensembles de variables :
1.2. FORMULATION DU PROBLÈME DE COMMANDE OPTIMALE 13

1. Les variables de sortie, en général, sont directement accessibles et regroupées dans un


vecteur y de dimension r ;
2. Les variables de commande, regroupées dans un vecteur u de dimension m et dont le
choix permet d’agir sur l’évolution du processus ;
3. Les variables internes caractérisant l’état du processus à un instant donné, regroupées
dans un vecteur état x (t) de dimension n. L’instant courant est noté t > 0.

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 :

ẋ (t) = f (x (t) , u (t) , t) (1.5)


y (t) = g (x (t) , u (t) , t) (1.6)

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 :

ẋ (t) = A (t) x (t) + B (t) u (t)


y (t) = C (t) x (t) + D (t) u (t)

Dans cette écriture, il vient :

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.

1.2.2 Conditions terminales


Les conditions terminales caractérisent à la fois l’état initial, c’est-à-dire l’instant où on
commence à agir sur le processus, et l’état final, après action de la commande. Par convention,
l’instant initial est noté t0 et l’état initial x0 = x (t0 ). De même, l’instant final est noté tf et
l’état final xf = x (tf ). Les conditions initiale et finale x0 et xf prises aux instants respectifs
t0 et tf peuvent être fixées ou non.
14 CHAPITRE 1. INTRODUCTION À LA COMMANDE OPTIMALE

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 .

1.3 Contraintes instantanées et intégrales

1.3.1 Contraintes instantanées


Elles caractérisent en général les limitations physiques sur la commande ou sur l’état du
processus, par exemple la limitation d’un débit, d’une pression ou d’une température, ou
l’obligation pour un avion de rester dans un ”tube” de l’espace prédéfini (couloir). Ce type
de contraintes s’exprime par des inégalités de la forme :

q (x (t) , u (t) , t) ≤ 0, q ∈ ℜnq .

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

1.3.2 Contraintes intégrales


Elles sont le plus souvent liées à une limitation des ressources (par exemple un réservoir
contient une quantité limitée de produit à utiliser) ou à une limitation des résultats de nos
actions : le même réservoir ne peut pas être rempli au-delà de sa contenance ou il y a risque
de débordement. Ces contraintes s’expriment sous la forme :

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

placée par une contrainte égalité. En posant


h iT
2
w = w12 w22 ... wn2

, il vient :
Ztf Ztf
p (x (t) , u (t) , t) dt ≤ 0 ⇔ p (x (t) , u (t) , t) dt + w 2 = 0
t0 t0

1.4 Choix du critère d’optimalité (critère de perfor-


mances)
Le critère d’optimalité peut prendre en compte les valeurs initiale et finale de l’état du
processus, comme minimiser l’écart final par rapport à une consigne donnée, ou tenir compte
de l’ensemble des valeurs de l’état ou de la commande à chaque instant. Ce dernier cas appa-
raı̂t, par exemple, dans un problème de minimisation de l’écart par rapport à une trajectoire
donnée ou de minimisation de l’énergie totale consommée. La forme la plus générale du critère
à optimiser correspond à l’expression :

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.

1.4.1 Principaux critères


L’intérêt de la commande optimale découle de la nature même de sa définition : optimiser
un critère de notre choix, tout en satisfaisant des conditions de fonctionnement données et
des contraintes imposées.
La solution de certains problème peut s’en trouver simplifiée. Par exemple, si l’on désire
que x (t) s’approche de l’état désiré xd (t), on pourra introduire dans l’itégrande φ (x (t) , u (t) , t)
T 
de la critère (critère) un terme tel que x (t) − xd (t) M x (t) − xd (t) , Q étant une ma-

trice symétrique Q = QT définie positive (Q > 0).

1.4.2 Commande en temps minimum


Conduire le système d’un état initial x0 à l’état final xf en minimisant le temps. Comme
dans les problèmes de sécurité et la minimisation des coûts liés à la durée ; les applications
principales se rencontrent dans les domaines de la production continue, de l’espace, de la
défense et de la médecine.

Ztf
1 dt = tf − t0 = T, φ (x (t) , u (t) , t) = 1 (1.11)
t0

1.4.3 Commande terminale


Il s’agit de minimiser à l’instant final tf une certaine fonction des variables d’état.
 T  
J = x (tf ) − xd (tf ) S x (tf ) − xd (tf ) , H = HT ; H ≥ 0 (1.12)
| {z }
Partie terminale
1.4. CHOIX DU CRITÈRE D’OPTIMALITÉ (CRITÈRE DE PERFORMANCES) 17

1.4.4 Commande à énergie minimale

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

1.4.5 Commande à consommation minimale

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

pour un système monovariable, il vient :

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

1.4.8 Poursuite + Commande à énergie minimale

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

1.4.9 Commande terminale + Poursuite + Commande à énergie


minimale

 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 Réalisation d’une commande optimale


Il existe quatre méthodes fondamentales pour concevoir la loi de commande optimale

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.

1.6 Synthèse d’une commande optimale


En résumé la synthèse d’une loi de commande optimale passe par les étapes suivantes :
1. Modélisation du procédé à commander ;
2. Détermination des diverses contraintes à satisfaire (liées à la réalisation de la commande,
par exemple accélération limitée, débit borné, réservoir de capacité limitée ; ou liées aux
variables caractéristiques, par exemple saturation, la sécurité ; liées aux conditions de
départ et l’objectif à atteindre) ;
3. Choix étudié avec soin du critère à minimiser ;
4. Résolution du problème pour déterminer la loi de commande optimale u∗ (t) ;
5. Implémentation de la loi de commande.
20 CHAPITRE 1. INTRODUCTION À LA COMMANDE OPTIMALE
Chapitre 2

Calcul des variations

Ce chapitre aborde la résolution d’un problème de commande optimale en utilisant le


calcul des variations. L’idée consiste à transformer le problème de commande optimale à
un problème de calculs des variations puis on écrit les conditions de stationnarité. Ces der-
nières sont données sous forme d’un ensemble d’équations différentielles de second ordre. Leur
résolution permet de déterminer la commande optimale.

2.1 Calcul des variations


Une fonctionnelle J sur un espace vectoriel V est une application de V dans ℜ. Par
exemple, si x(t) est une fonction continue sur l’intervalle [t0 , tf ], l’application définie par
Z tf
J(x(t)) = x(t) dt (2.1)
t0

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

∆J(x(t)) = J(x(t) + δx(t)) − J(x(t)) (2.2)

Cette variation peut être écrite sous la forme suivante

∆J(x(t), δx(t)) = J(x(t), δx(t)) + g(x(t), δx(t)) kδx(t)k (2.3)

où δJ(x(t), δx(t)) est linéaire en δx(t).

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

Calculons la variation de cette fonctionnelle

∆J(x(t), δx(t)) = J(x(t) + δx(t)) − J(x(t)) (2.5)


Z 1 Z 1
2
= (x(t) + δx(t)) + x(t) + δx(t) dt − x2 (t) + x(t) dt (2.6)
0 0
Z 1
= [2 x(t) + 1] δx(t) + [δx(t)]2 dt (2.7)
0

Par conséquent, il vient


Z 1
δJ(x(t), δx(t) = [2 x(t) + 1] δx(t) dt (2.8)
0

Si x∗ (t) est un optimum de la fonctionnelle J(x(t)), alors on

δJ(x∗ (t), δx(t)) = 0 (2.9)

avec δx(t) est une variation admissible.

2.2 Recherche l’optimum d’une fonctionnelle

On désire déterminer l’optimum de la fonctionnelle suivante


Z tf
J(x(t)) = g(x(t), ẋ(t), t) dt (2.10)
t0

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

2.2.1 Etat final fixé

Dans ce cas, le problème est formulé comme suit


Z tf
J(x(t)) = g(x(t), ẋ(t), t) dt (2.11)
t0

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

∆J(x(t), δx(t)) = J(x(t) + δx(t)) − J(x(t)) (2.15)


Z tf Z tf
= g(x(t) + δx(t), ẋ(t) + δ ẋ(t), t) dt − g(x(t), ẋ(t), t) dt (2.16)
t0 t0
Z tf
= g(x(t) + δx(t), ẋ(t) + δ ẋ(t), t) − g(x(t), ẋ(t), t) dt (2.17)
t0

Le développement de Taylor à l’ordre 2 de g autour du point (x(t), δx(t)) donne

Z  " ∂g(x(t), ẋ(t), t)


#
tf
∂x(t)
∆J(x(t), δx(t)) = g(x(t), ẋ(t), t) + [δx(t), δ ẋ(t)] ∂g(x(t), ẋ(t), t) (2.18)
t0 ∂ ẋ(t)

+ O(2) − g(x(t), ẋ(t), t) dt (2.19)
Z tf
∂g(x(t), ẋ(t), t) ∂g(x(t), ẋ(t), t)
= δx(t) + δ ẋ(t) + O(2) dt (2.20)
t0 ∂x(t) ∂ ẋ(t)
(2.21)

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

L’intégration par partie de second terme donne


Z tf  tf Z tf
∂g(x(t), ẋ(t), t) ∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
δ ẋ(t) dt = δx(t) − δx(t) dt
t0 ∂ ẋ(t) ∂ ẋ(t) t0 t0 dt ∂x(t)
(2.22)
Z tf    tf
∂g(x(t), ẋ(t), t) ∂g(x(t), ẋ(t), t)
∆J(x(t), δx(t)) = dt + δx(t)
t0 ∂x(t) ∂ ẋ(t) t0
Z tf Z tf
d ∂g(x(t), ẋ(t), t)
− δx(t) dt + O(2) dt (2.23)
t0 dt ∂x(t) t0
 tf
∂g(x(t), ẋ(t), t)
= δx(t)
∂ ẋ(t) t0
Z tf    Z tf
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
+ − δx(t) dt + O(2) dt
t0 ∂x(t) dt ∂x(t) t0
(2.24)

Pour que x∗ (t) soit un optimum alors, la partie linéaire en δx(t) doit vérifier

δJ(x(t), δx(t)) = 0 (2.25)

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 ]

Par conséquent, on doit imposer


 
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0 (2.28)
∂ ẋ(t) dt ∂x(t)

Cette équation s’appelle équation d’Euler-Lagrange.


2.2. RECHERCHE L’OPTIMUM D’UNE FONCTIONNELLE 25

Ainsi, la solution du problème du calcul des variations (2.11)–(2.14) revient à résoudre


l’équation d’Euler-Lagrange avec les conditions aux limites
 
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0 (2.29)
∂ ẋ(t) dt ∂x(t)
x(t0 ) = x0 (2.30)
x(tf ) = tf (2.31)

2.2.2 Etat final libre

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

résoudre le problème à deux limites suivant


 
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0 (2.37)
∂ ẋ(t) dt ∂x(t)
x(t0 ) = x0 (2.38)
∂g(x(t), ẋ(t), t)
=0 (2.39)
∂ ẋ(t) t)tf

2.3 Application du calcul des variations à la commande


optimale

On considère le problème de la commande optimale suivant


Z tf
min J(u(t)) = φ(x(t), u(t), t) dt (2.40)
u(t) t0

sujet à : (2.41)
ẋ(t) = f (x(t), u(t), t) (2.42)
x(t0 ) = x0 (2.43)
x(tf ) = xf ou libre (2.44)

Pour appliquer le calcul des variations pour la résolution de ce problème de commande


optimale, on doit d’abord le transformer en un problème de calcul des variations. Ainsi, à
partir de l’équation du modèle (2.42), on doit tirer l’expression de la commande u(t) en
fonction de x(t) et ẋ(t), ce qui donne

u(t) = F (x(t), ẋ(t), t) (2.45)

puis en substituant cette expression dans le critère à minimiser (2.40), il vient


Z tf
J(u(t)) = g(x(t), F (x(t), u(t), t), t) dt (2.46)
t
Z 0tf
ˆ
J(x(t)) = g(x(t), ẋ(t), t) dt (2.47)
t0

donc le problème de commande optimale (2.40)–(2.44) se ramène au problème de calcul des


2.4. EXEMPLES D’APPLICATION 27

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)

2.4 Exemples d’application


Exemple 2.2
Soit le problème de commande optimale suivant
Z 2
min J(u(t)) = u2 (t) + 2 t x(t) dt (2.53)
u(t) 0

sujet à : (2.54)
ẋ(t) = u(t) (2.55)
x(0) = 1 (2.56)
x(2) = 5 (2.57)

A partir de l’équation d’état, on a u(t) = ẋ(t). En remplaçant cette expression de la


commande dans le critère, le problème de commande optimale prend la forme suivante
Z 2
ˆ
min J(x(t)) = ẋ2 (t) + 2 t x(t) dt (2.58)
x(t) 0

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)

La résolution de cette équation différentielle ordinaire donne

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

La trajectoire optimale est


t3 4
x∗ (t) = + t+1 (2.68)
6 3
et la commande optimale
t2 4
u∗ (t) = ẋ∗ (t) = + (2.69)
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)

avec les condition aux limites suivantes

x(0) = 1 (2.71)
∂g(x(t), ẋ(t), t)
= 0 ⇒ ẋ(2) = 0 (2.72)
∂ ẋ(t) t=2

La solution de l’équation d’Euler-Lagrange est

t3
x(t) = + c1 t + c2 (2.73)
6
2.4. EXEMPLES D’APPLICATION 29

En imposant les condition aux limites, il vient

x(0) = c2 = 1 (2.74)
4 3
ẋ(2) = + 2 c1 + 1 = 0 ⇒ c1 = − (2.75)
2 2

La trajectoire optimale est


t3 4
x∗ (t) = − t+1 (2.76)
6 3
et la commande optimale
t2 4
u∗ (t) = ẋ∗ (t) = − (2.77)
3 3
30 CHAPITRE 2. CALCUL DES VARIATIONS
Chapitre 3

Programmation dynamique

La programmation dynamique est une méthode de synthèse de lois de commande optimale


basées le principe d’optimalité de Bellman. Sous la sa forme discrète, ce principe conduit à la
l’équation fonctionnelle de Bellman tandis que sur sa forme continue, il conduit à l’équation
de Hamilton-Jacobi-Bellman.

3.1 Principe d’optimalité de Bellman


Si C est un point intermédiaire de la trajectoire optimale allant de l’état A à l’état B
(Figure 3.1), la portion terminale CB de cette trajectoire constitue la trajectoire optimale
reliant l’état intermédiaire C à l’état final B.

3.2 Équation fonctionnelle de Belman


Le principe de la programmation dynamique consiste essentiellement :

Figure 3.1: Principe d’optimalité de Bellman

31
32 CHAPITRE 3. PROGRAMMATION DYNAMIQUE

1. à décomposer le processus de durée T en Ne étapes de durées ∆t (T = Ne ∆t) ;


2. à immerger le problème particulier de la trajectoire optimale de x (0) à x (T ) (t0 =
0; tf = T )) en Ne étapes dans le problème de même nature, mais plus général, de la
trajectoire optimale de x (t) à x (T ) en k avec k = 1, 2, . . . , Ne .

3.2.1 Équation de transition (discrétisation du modèle continu)


Si nous désignons alors par x (k) l’état du système à l’instant (T − k ∆t), l’équation de
transition discrète du système est obtenue par discrétisation du modèle continu (1.1) en
utilisant la méthode d’Euler comme suit :

x (k − 1) − x(k)
= f (x (k) , u(k), k)
dt

Ce qui donne :

x(k + 1) = x(k) + f (x (k) , u(k), k) dt


x(k + 1) = F∆ (x(k), u(k), k) (3.1)

3.2.2 Discrétisation du critère de performance


La critère intégrale J donné par la relation (1.7) prend la forme :

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(k + 1) = F∆ (x(k), u(k), k) . (3.3)


3.2. ÉQUATION FONCTIONNELLE DE BELMAN 33

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 )

Figure 3.2: Equation fonctionnelle de Bellman.

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

Le coût total du processus considéré est (Figure 3.2)

J (x(k)) = φ∆ (x(k), u(k), k) + 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 :

J ∗ (x(k)) = min [φ∆ (x(k), u(k), k) + J ∗ (x(k − 1))]


u(k)

Comme x(k − 1) est la conséquence de l’application de la commande u(k), alors on peut


écrire :
J ∗ (x(k)) = min [φ∆ (x(k), u(k), k) + J ∗ (F∆ (x(k), u(k), k))] (3.4)
u(k)

A condition de connaitre J ∗ (k − 1), cette équation de récurrence permet de déterminer


u∗ (k) en fonction de l’état courant x(k) et du nombre k des étapes restantes.
L’équation donnée par la relation (3.4) est l’équation fonctionnelle de Bellman ou équa-
tion de la programmation dynamique. Dans cette équation, u(k) représente la première dé-
cision d’un processus à k étapes qui produit la variation ∆x(k) de x(k) (x(k − 1) = x(k) +
∆x(k)).
34 CHAPITRE 3. PROGRAMMATION DYNAMIQUE

x(0) ≡ x(tf )

u(1)
k=1
x(1) ≡ x(0)

Figure 3.3: Transfert en une seule étape.

Remarque 3.1

1. la résolution de cette équation peut se faire analytiquement ou numériquement,

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)

Déterminer analytiquement la loi de commande optimale.

D’après les donnée du problème φ∆ (u(k), u(k), k) = u2 (k).

— 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

Comme x(0) = 0, alors


x(1)
u(1) = −
∆t
3.2. ÉQUATION FONCTIONNELLE DE BELMAN 35

x(0) ≡ x(tf )

u(1)
k=1
x(1)

u(2)
k=2
x(2) ≡ x(0)

Figure 3.4: Transfert en deux étapes.

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 :

J ∗ (x(2)) = min [φ∆ (x(2), u(2), 2) + J ∗ (x(1))]


u(2)
 
= min u2 (2) + J ∗ (x(2) + u(2) ∆t)
u(2)
" #
2
(x(2) + u(2) ∆t)
= min u2 (2) +
u(2) ∆t2

Le crochet est minimale pour

(x(2) + u(2) ∆t) x(2)


u(2) + = 0 ⇒ u∗ (2) = −
∆t 2 ∆t
   2
x(2)
 2 x(2) + − ∆t
∗ x(2) 2 ∆t ∗ x2 (2)
J (x(2)) = − + ⇒ J (x(2)) =
2 ∆t ∆t2 2 ∆t2
— Pour k = 3 (transfert d’un état x(k) en trois étapes : Ne = 3)
36 CHAPITRE 3. PROGRAMMATION DYNAMIQUE

J ∗ (x(3)) = min [φ∆ (x(3), u(3), 3) + J ∗ (x(2))]


u(3)
 
= min u2 (3) + J ∗ (x(3) + u(3) ∆t)
u(3)
" #
2
(x(3) + u(3) ∆t)
= min u2 (3) +
u(3) 2 ∆t2

Le crochet est minimale pour

(x(3) + u(3) ∆t) x(3)


u(3) + = 0 ⇒ u∗ (3) = −
2 ∆t 3 ∆t
   2
x(3)
 2 x(3) + − ∆t
∗ x(3) 3 ∆t ∗ x2 (3)
J (x(3)) = − + ⇒ J (x(3)) =
3 ∆t 2 ∆t2 3 ∆t2
Ces résultats nous conduisent à supposer que

x(k − 1) x(k − 1)2


u(k − 1)∗ = − , J ∗ (x(k − 1)) =
(k − 1) ∆t (k − 1) ∆t2

Démontrons par récurrence que ce résultat est correcte.

— d’après le développement précédent pour k = 2 les formules sont vérifiées.


— supposons que les formules sont vérifiées pour k−1 et démontrons qu’elles sont vérifiées
pour k

J ∗ (x(k)) = min [φ∆ (x(k), u(k), k) + J ∗ (x(k − 1))]


u(k)
 
= min u2 (k) + J ∗ (x(k) + u(k) ∆t)
u(k)
" #
2
(x(k) + u(k) ∆t)
= min u2 (k) +
u(k) (k − 1) ∆t2

Le crochet est minimale pour

(x(k) + u(k) ∆t) x(k)


u(k) + = 0 ⇒ u∗ (k) = −
(k − 1) ∆t k ∆t
   2
x(k)
 2 x(k) + − ∆t
∗ x(k) k ∆t ∗ x2 (k)
J (x(k)) = − + ⇒ J (x(k)) =
k ∆t (k − 1) ∆t2 k ∆t2
3.2. ÉQUATION FONCTIONNELLE DE BELMAN 37

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 déterminer la solution numériquement, on propose de quantifier le temps, l’état et


la commande comme suit :
∆t = ∆x = ∆u = 1

— Pour k = 1, il n’y a pas de choix à effectuer, car on a

x(0) − x(1) ⇒ 0 − x(1) = u∗ (1) ∆t

et on peut écrire directement

∗ x(1) ∗ |x3 (1)|


u (1) = − , J (x(1)) =
∆t ∆t3

Les résultats dans ce cas sont résumés dans le Tableau 3.1

x(1) u(1) J (x (1)) = |x3 (1) |


1 −1 1
2 −2 8
3 −3 27
4 −4
.. .. Commande inadmissibles (u (1) > 3)
. .
10 −10

Table 3.1: Transfert en une seule étape.


38 CHAPITRE 3. PROGRAMMATION DYNAMIQUE

— Pour k = 2, l’équation de Belman s’écrit :


 
J ∗ (x(2) = min |u3(2)| + J ∗ (x(1))
u(2)
 
= min |u3(2)| + J ∗ (x(2) + u(2))
u(2)

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.

x(2) u(2) x(1) = x(2) + u(2) |u3 (2)| J(x(1)) J(x(2))


2 −1 1 1 1 2
−1 2 1 8 9
3
−2 1 8 1 9
−1 3 1 27 28
4 −2 2 8 8 16
−3 1 27 1 28
−1 4 Impossible
−2 3 8 27 35
5
−3 2 27 8 35
−4 1 64 1 65
−1 5 Impossible
−2 4 Impossible
6 −3 3 27 27 54
−4 2 64 8 72
−5 1 125 1 123

Table 3.2: Transfert en deux étapes.

— En continuant ainsi, on obtient finalement le Tableau 3.3 qui résume la commande


optimale et le coût minimal en fonction de x(k) et de k.

Pour l’état initial considéré x (0) = 10, on obtient les programmes en 4 étapes, 5 étapes
et 6 étapes comme suit :

— Programme pour 4 étapes


3.2. ÉQUATION FONCTIONNELLE DE BELMAN
x (k) u(1) J ∗ (1) u(2) J ∗ (2) u(3) J ∗ (3) u(4) J ∗ (4) u(5) J ∗ (5) u(6) J ∗ (6)
1 −1 1
2 −2 8 −1 2
3 −3 27 −1 9 −1 3
4 −2 16 −1 10 −1 4
5 −2 35 −1 17 −1 11 −1 5
6 −3 54 −2 24 −1 18 −1 12 −1 6
7 −2 43 −1 25 −1 19 −1 13
8 −2 62 −2 32 −1 26 −1 20
9 −3 81 −2 51 −1 33 −1 27
10 −2 70 −2 40 −1 34

Table 3.3: Tableau récapitulatif pour un nombre d’étapes allant de 1 jusqu’à 6.

39
40 CHAPITRE 3. PROGRAMMATION DYNAMIQUE

k x (k) u (k) φ∆ (x (k) , u (k) , k) = |u3 (k) |


4 10 −2 8
3 8 −2 8
2 6 −3 27
1 3 −3 27
0 0 0 70

— Programme pour 5 étapes

k x (k) u (k) φ∆ (x (k) , u (k) , k) = |u3 (k) |


5 10 −2 8
4 9 −2 8
3 7 −2 8
2 5 −2 8
1 3 −2 8
0 0 0 40

— Programme pour 6 étapes

k x (k) u (k) φ∆ (x (k) , u (k) , k) = |u3 (k) |


6 10 −1 1
5 9 −1 1
4 8 −2 8
3 6 −2 8
2 4 −2 8
1 2 −2 8
0 0 0 34

3.3 Equation d’Hamilton-Jacobi-Bellman


Soit le problème de commande optimale suivant :
Z tf
min J(u(t)) = ψ(x(tf ), tf ) + φ(x(t), u(t), t) dt (3.5)
u(t) t0

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

Désignons par J ∗ (x(t), t) la valeur du critère obtenue en appliquant la loi de commande


u∗ (t) pendant un horizon de commande [t, tf ] à partir de l’état initial x(t). On écrit
 Z tf 

J (x(t), t) = min ψ(x(tf ), tf ) + φ(x(t), u(t), t) dt (3.9)
u[t, tf ] (t) t

En considérant l’instant τ ∈ [t, tf ], on peut écrire


 Z τ Z tf 

J (x(t), t) = min ψ(x(tf ), tf ) + φ(x(t), u(t), t) dt + φ(x(t), u(t), t) dt (3.10)
u[t, tf ] (t) t τ
 Z τ Z tf 
= min min ψ(x(tf ), tf ) + φ(x(t), u(t), t) dt + φ(x(t), u(t), t) dt
u[t, τ ] (t) u[τ, tf ] (t) t τ

(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

En considérant τ = t + ∆t, il vient :


Z τ 
∗ ∗
J (x(t), t) = min φ(x(t), u(t), t) dt + J (x(t + ∆t), t + ∆t) (3.14)
u[t, t+∆t] (t) t

Comme Z τ
φ(x(t), u(t), t) dt ≈ φ(x(t), u(t), t) ∆t (3.15)
t

et en faisant le développement de Taylor, à l’ordre 1, du terme J ∗ (x(t + ∆t), t + ∆t), on a


h

J (x(t), t) = min φ(x(t), u(t), t) ∆t + J ∗ (x(t), t) + ∇x(t) J ∗ (x(t), t) ∆x(t) (3.16)
u[t, t+∆t](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)

En définissant la fonction d’Hamilton suivante



H x(t), ∇x(t) J ∗ (x(t), u(t), t = φ(x(t), u(t), t) + ∇x(t) J ∗ (x(t), t) ẋ(t) (3.23)

on peut écrire
J ∗ (x(t), t) 
− = min H x(t), ∇x(t) J ∗ (x(t), u(t), t (3.24)
∂t u(t)

La commande optimale est déterminée en utilisant la condition du premier ordre suivante



∇u(t) H x(t), ∇x(t) J ∗ (x(t), u(t), t = 0 (3.25)

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)

En remplaçant dans (3.24), on obtient l’équation aux dérivées partielles suivante

J ∗ (x(t), t) 
− = H ∗ x(t), ∇x(t) J ∗ (x(t), u(t), t (3.27)
∂t

appelée équation d’Hamilton-Jacobi-Bellman. Pour résoudre cette équation, on doit avoir


une condition aux limites. Ainsi, en posant t = tf dans le critère, il vient

J ∗ (x(tf ), tf ) = ψ(x(tf ), tf ) (3.28)


3.3. EQUATION D’HAMILTON-JACOBI-BELLMAN 43

Exemple 3.3

Donner l’équation d’Hamilton-Jacobi-Pontryagin correspondante au problème de com-


mande optimale suivant
Z 1
min J(u(t)) = x21 (1) + x22 (1) + x41 (t) + u2 (t) dt (3.29)
u(t) 0

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)

La fonction d’Hamilton est



H x(t), ∇x(t) J ∗ (x(t), u(t), t = g(x(t), u(t), t) + ∇x(t) J ∗ (x(t) f (x(t), u(t), t) (3.35)
∂J ∗ (x(t), t) ∂J ∗ (x(t), t)
= x41 (t) + u2 (t) + ẋ1 (t) + ẋ2 (t)
∂x1 (t) ∂x2 (t)
(3.36)
∂J ∗ (x(t), t)
= x41 (t) + u2 (t) + x2 (t)
∂x1 (t)
∂J ∗ (x(t), t)
+ (−2 x1 (t) − 3 x2 (t) + u(t)) (3.37)
∂x2 (t)

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)

et l’équation d’Hamilton-Jacobi-Bellman correspondante est


 2
J ∗ (x(t), t) 1 ∂J ∗ (x(t), t) ∂J ∗ (x(t), t) ∂J ∗ (x(t), t)
− = x41 (t)− + x2 (t)+ (−2 x1 (t) − 3 x2 (t))
∂t 4 ∂x2 (t) ∂x1 (t) ∂x2 (t)

avec la condition aux limites

J ∗ (x(1), 1) = x21 (1) + x22 (1) (3.40)

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

Principe du minimum de Pontryagin

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.

4.1 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)

qu’on peut écrire


Z tf
min J(u(t)) = ψ(x(tf ), tf ) + φ(x(t, u(t), t)) dt (4.3)
u(t) t0

sujet à :
f (x(t), u(t), t) − ẋ(t) = 0 (4.4)

45
46 CHAPITRE 4. PRINCIPE DU MINIMUM DE PONTRYAGIN

4.2 Principe du minimum


En appliquant la méthode de Lagrange, on introduit le vecteur des variables adjointes
λ(t), qui est de même dimension que le vecteur x(t), et le problème de commande optimale
se ramène à la résolution du problème suivant :

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 :

H(x(t), λ(t), u(t), t) = φ(x(t), u(t), t) + λT (t) f (x(t), u(t), t) (4.7)

et le problème à résoudre prend la forme suivante :


Z tf  
ˆ
J(u(t)) = ψ(x(tf ), tf ) + H(x(t), λ(t), u(t), t) − λT (t) ẋ(t) dt (4.8)
t0

Par intégration par partie de second terme de l’intégrale, il vient :


Z tf  Z tf 
tf
ˆ
J(u(t)) = ψ(x(tf ), tf )|ttf0 + H(x(t), λ(t), u(t), t) dt − λ (t) x(t) T
− T
λ̇ (t) x(t) dt
t0
t t0
Z 0tf Z tf
tf
= ψ(x(tf ), tf )|ttf0 + H(x(t), λ(t), u(t), t) dt − λT (t) x(t) t0
+ λ̇T (t) x(t) dt
t0 t0
(4.9)
Z tf h i
  tf
= ψ(x(tf ), tf ) − λT (t) x(t) t0
+ T
H(x(t), λ(t), u(t), t) + λ̇ (t) x(t) dt
t0
(4.10)

En utilisant le calcul des variations pour la minimisation du critère Jˆ, il vient

  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 déterminer la solution, on doit imposer δ Jˆ = 0 pour n’importe quelles variations


δx(t) et δu(t) ce qui donne

∇u(t) H(x(t), λ(t), u(t), t) = 0 (4.12)


λ̇(t) = −∇x(t) H(x(t), λt , u(t), t) (4.13)
ẋ(t) = +∇λ(t) H(x(t), λt , u(t), t) (4.14)

avec les conditions aux limites suivantes :


  tf
δxT (t) ∇x(t) ψ(x(t), t) − λ(t) t0
=0 (4.15)

Notons que l’équation (4.12) permet de déterminer l’expression de la loi de commande et


les équations (4.14) et (4.13) représentent les conditions de stationnarité ou d’optimalité que
la solution doit satisfaire pour quelle soit optimale.

Ainsi, si x(tf ) est libre, d’après (4.15), on doit imposer

λ(tf ) = ∇x (tf )ψ(x(tf ), tf ) (4.16)

Pour étudier la nature des solutions, il suffit d’étudier la matrice Hessienne suivante

∇2u(t) H(x(t), λ(t), u(t), t) (4.17)

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

4.3 Exemple d’application

Soit le problème de commande optimale suivant :


Z 1
1
min J(u(t)) = u2 (t) dt (4.18)
u(t) 2 0

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)

La fonction d’Hamilton est :

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

L’expression de la commande optimale (solution) est :

∇u(t) H(x(t), λ(t), u(t), t) = 0 ⇒ (4.26)


u(t) + λ2 (t) = 0 ⇒ (4.27)
u(t) = −λ2 (t) (4.28)

Les conditions de stationnarité sont déterminées comme suit :



 ∂H(x(t), λ(t), u(t), t)
 ẋ1 (t) =

∂λ1 (t)
ẋ(t) = ∇λ(t) H(x(t), λ(t), u(t), t) ⇒ (4.29)
 ∂H(x(t), λ(t), u(t), t)
 ẋ2 (t) =

∂λ2 (t)

 ∂H(x(t), λ(t), u(t), t)
 λ̇1 (t) = −

∂x1 (t)
λ̇(t) = −∇λ(t) H(x(t), λ(t), u(t), t) ⇒ (4.30)
 ∂H(x(t), λ(t), u(t), t)
 λ̇2 (t) = −

∂x2 (t)
4.3. EXEMPLE D’APPLICATION 49

ce qui donne

ẋ1 (t) = x1 (t) (4.31)


ẋ2 (t) = −x2 (t) + u(t) = −x2 (t) − λ2 (t) (4.32)
λ̇1 (t) = 0 (4.33)
λ̇2 (t) = λ2 (t) − λ1 (t) (4.34)
(4.35)

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)

La solution de cette dernière équation est :

λ2 (t) = c3 et + c4 (4.37)

En remplaçant cette solution dans l’équation (4.32), on obtient l’équation suivante :

ẋ2 (t) = −x2 (t) − c3 et − c4 (4.38)

dont la solution est


1
x2 (t) = − c4 et − c3 + c2 e−t (4.39)
2
et d’après l’équation (4.31), on a :

c3 t
ẋ1 (t) = − e − c4 + c2 e−t (4.40)
2

La solution de cette dernière équation est :

c3 t
x1 (t) = − e − c4 t − c2 e−t + c1 (4.41)
2

Pour déterminer les constantes c1 , c2 , c3 et c4 , on utilise les conditions terminales. Ainsi,


pour t = 0, on a :

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

dont la solution est :

c1 = 29, 7516; c2 = 86, 3098; c3 = −56, 5582; c4 = 29, 7516 (4.47)

Par conséquent, la loi de commande optimale est :

u∗ (t) = −λ∗2 (t) = −56, 5582 et − 29, 7516 (4.48)

4.4 Détermination de la commande optimale sous forme


d’un retour d’état
La solution générale des équations de Hamilton-Pontriaguine contient 2 n constantes
arbitraires, qu’il s’agit d’exprimer en fonction de l’état actuel et du temps restant. Commen-
çons par placer l’origine des temps à l’instant : t = 0. Si l’état courant x (0) est connu par
des mesures ou par une estimation, on a ainsi n relations entre les 2 n constantes.
Puisque l’instant présent a été pris comme origine des temps, l’instant final est donné par
tf . On connaı̂t alors, soit λ (tf ) si l’état final est libre, soit x (tf ) si l’état final est imposé. On
obtient ainsi n nouvelles relations entre les 2 n constantes.
Ces 2n relations permettent de calculer les 2 n constantes en fonction de x (0) (état cou-
rant) et de tf . On en déduit la commande optimale u∗ (0) à l’instant considéré en fonction
de x (0) et de tf . Ceci est vrai pour tout instant compris entre 0 et tf . Pour illustrer cette
approche considérons l’exemple ci-après.

Exemple 4.1
4.4. DÉTERMINATION DE LA COMMANDE OPTIMALE SOUS FORME D’UN RETOUR D’ÉTAT51

Soit le problème de commande optimale suivant :


Z T
min J(u(t)) = u2 (t) dt
0

sujet à :
ẋ1 (t) = x2 (t),
ẋ2 (t) = u(t)
x1 (T ) = x2 (T )

En utilisant la méthode du principe du minimum, il vient :

H(x(t), u(t), λ(t), t) = u2 (t) + λ1 x2 (t) + λ2 u(t),


∂H(x(t), u(t), λ(t), t) 1
= 2 u(t) + λ2 (t) = 0 ⇒ u∗ (t) = − λ2 (t)
∂u(t) 2
2
λ (t)
H ∗ (x(t), u(t), λ(t), t) = λ1 (t) x2 (t) − 2
4

Les équations de Hamilton-Pontriaguine sont données comme suit :

ẋ1 (t) = x2 (t), (4.49)


λ2 (t)
ẋ2 (t) = − = u∗ (t), (4.50)
2
λ̇1 (t) = 0, (4.51)
λ̇2 (t) = −λ1 (t) (4.52)

L’intégration de ces équations donne

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

4.5 Résolution numérique des conditions de stationna-


rité
Les conditions d’optimalité sont, en général, des équations différentielles ordinaires non
linéaires. La résolution analytique de ces dernières est possible dans certains cas simples (par
exemple dans le cas d’un critère quadratique et un système linéaire). Ainsi, pour déterminer
la solution de ces équations des méthodes numériques doivent être utilisées par exemple la
méthode de tir.
Chapitre 5

Commande Optimale des Systèmes


Linéaires avec Critère Quadratique
(LQ)

5.1 Introduction

Considérons le problème général de la poursuite dont le problème de la régulation consti-


tue un cas particulier. Désignons par xd (t) l’état désiré variable et définissons l’erreur de
poursuite :
e (t) = xd (t) − x (t) (5.1)

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

avec Q et R sont des matrices définies positives.

53
54CHAPITRE 5. COMMANDE OPTIMALE DES SYSTÈMES LINÉAIRES AVEC CRITÈRE QUADRAT

5.2 Solution général


L’Hamiltonien s’écrit :

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)

il est minimale pour :

∇u(t) H (x (t) , u (t) , λ (t) , t) = R u (t) + B T λ (t) = 0

La commande optimale est alors donnée par :

u∗ (t) = −R−1 B T λ (t) (5.7)

Les équations de Hamilton-Pontryagin s’écrivent :



λ̇ (t) = −AT λ (t) + Q e (t) = −AT λ (t) + Q xd (t) − x (t) (5.8)
ẋ (t) = A x (t) − B R−1 B T λ (t) = A x (t) − Sλ (t) (5.9)

avec S = B R−1 B T S T = S .
Sous forme matricielle :
" # " #" # " #
ẋ (t) A −S x (t) 0
= +Q
λ̇ (t) −Q −AT λ (t) xd (t)

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)

La matrice K (t) et le vecteur V (t) sont en général fonctions du temps. La dérivée de


λ (t) par rapport au temps nous donne :

λ̇ (t) = K (t) ẋ (t) + K̇ (t) x (t) − V̇ (t) (5.11)

En égalant les deux formes (5.8) et (5.11) de λ̇ (t), il vient :



K (t) ẋ (t) + K̇ (t) x (t) − V̇ (t) = −AT λ (t) + Q xd (t) − x (t) (5.12)
5.2. SOLUTION GÉNÉRAL 55

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,

K̇ (t) + K (t) A + AT K (t) − K (t) S K (t) + Q = 0



V̇ (t) + AT − K (t) S V (t) + Q xd (t) = 0 (5.16)

Ces équations définissent K (t) et V (t). La première équation est appelée équation ma-
tricielle de Ricatti. On obtient alors :

u∗ (t) = −R−1 B T (K (t) x (t) − V (t)) (5.17)

ẋ (t) = (A − S K (t)) x (t) + S V (t) (5.18)

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

Figure 5.1: Structure de la commande linéaire quadratique (LQ).


5.2. SOLUTION GÉNÉRAL 57

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

2. Introduction d’un terme de commande optimale : si le critère contient un terme de la


commande terminale, elle prend la forme

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 )

Les deux formes donne :

K (T ) = −H, V (T ) = H xd (t) (5.20)

3. Symétrie de la matrice K (t) : transposons l’équation matricielle de Ricatti, en tenant


compte que Q et S sont symétrique :
 T
K̇ T (t) + [K (t) A]T + AT K (t) − [K (t) S K (t)]T + QT = 0,
K̇ T (t) + AT K (t)T + K (t)T A − K (t)T S T K (t)T + QY = 0,
K̇ T (t) + AT K (t)T + K (t)T A − K (t)T S K (t)T + Q = 0

La matrice K (t) et sa transposée sont donc solutions de la même équation différentielle.


De plus H étant symétrique :

K (T ) = −H ⇒ [K (t)]T = − [H]T = −H.

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 :

[e (t)]T Q e (t) = [−C x (t)]T Q (−C x (t)) = x (t)T C T Q C x (t)

et
[e (T )]T H e (T ) = x (t)T C T H C x (t)

Il suffit donc, dans le calcul précédent, de remplacer les matrice Q et H par C T Q C et


C T H C. On a en particulier :

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 (t) = ax1 (t) + b u(t), xd1 (t) = e−t


2
φ (x(t), u(t), t) = x1 (t) − xd1 (t) + α u2 (t)

Ce problème est équivalent au problème suivant x2 (t) = xd1 (t) = e−t :

ẋ1 (t) = a x1 (t) + b u(t)


ẋ2 (t) = −x2 (t), x2 (0) = 1

φ (x(t), u(t), t) = (x1 (t) − x2 (t))2 + α u2 (t)

7. Forme du coût minimal : nous avons vu que

λ (t) = ∇x J ∗ = K (t) x (t) − V (t)


5.3. RÉSOLUTION DE L’ÉQUATION DE RICATTI 59

Il en résulte que le coût minimal J ∗ est de la forme :

1
J∗ = [x (t)]T K (t) x (t) − V (t) x (t) + K0 (5.21)
2

5.3 Résolution de l’équation de Ricatti


L’équation matricielle de Ricatti peut être résolue, soit analytiquement dans les cas
les plus simples, soit par intégration numérique en utilisant des méthodes numériques en
considérant l’intégration en temps inversé. Nous allons exposer une méthode de résolution
analytique.
La résolution de l’équation matricielle

Ẋ = 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 }

dont la solution est : " # " #


Y (t) Y (0)
= eÂt
Z (t) Z (0)

5.4 Robustesse de la comande linéaire quadratique


La commande linéaire quadratique assure une robustesse maximale, c’est-à-dire le régu-
lateur autorise les plus grandes erreurs de modélisation sur le système à commander. Le
transfert initial du système est

G(s) = C (s I − A)−1 B (5.25)


60CHAPITRE 5. COMMANDE OPTIMALE DES SYSTÈMES LINÉAIRES AVEC CRITÈRE QUADRAT

Im(j ω)

−1 0
Re(j ω)
1

L(j ω)

Figure 5.2: Lieu de Nyquist d’une commande LQ.

En faisant les multiplications algébriques sur l’équation de Riccati :


— ajout de s K − s K ;
T
— mulitplication à gauche par −B T ((s I + A)−1 ) ;
— mulitplication à droite par (s I − A)−1 B ;
— substituation de B T K par R L.
permettant d’aboutir à la relation :
 
GT (−s) Q G(s) + R = I + H T (−s) R [I + H(s)] (5.26)

En écrivant cette relation dans le domaine fréquentiel, en posant s = j ω et F ∗ (j ω) =


F T (−j ω), la remarque
∀ω, F ∗ (j ω) Q F (j ω) ≥ 0 (5.27)

impliqu’on a
∀ω, [I + F ∗ (j ω)] R [I + F (j ω)] ≥ R (5.28)

Dans le cas mono-entrée (R ∈ ℜ∗ ) conduit à :

∀ω, |1 + H(j ω)| ≥ 1 (5.29)

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

— une marge de phase supérieure à 60◦ ,


— une marge de module supérieure à 1.
Ainsi, la commande linéaire quadratique, lorsque l’état est complètement accessible, est
l’une des commandes les plus robustes. Dans le cas d’un état qui n’est pas complètement
accessible, il est nécessaire d’utiliser un observateur d’état afin d’estimer les variables non
directement mesurables, ce qui risque de diminuer la robustesse.

5.5 Exemple d’application


Soit le problème de commande optimale linéiare quadratique suivant :
Z ∞
1
min J(u(t)) = y T (t) y(t) + uT (t) u(t) dt (5.30)
u(t 2 0

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

Le problème de commande est un problème de régulation, alors pour déterminer la loi de


commande optimale on résout seulement l’équation de Riccati correspondante. Ainsi, comme
l’horizon de commande est infini (K̇(t) = 0), l’équation de Riccati est donnée comme suit :
" #" # " #" #T " #" #" #
k1 k2 0 1 0 0 k1 k2 k1 k2 0 0 k1 k2
+ −
k2 k3 0 1 1 1 k2 k3 k2 k3 0 1 k2 k3
" # " #
1 0 0 0
+ =
0 0 0 0

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 résolution de ce système d’équations donne les deux solutions possibles suivantes :


" √ # " √ #
− 3 1 3 1
K= √ , √ (5.37)
1 − 3+1 1 3+1

La première solution est refusée puisque la matrice K n’est pas définie positive. Par
conséquent, la commande optimale est :

u∗ (t) = R−1 B T K x(t) (5.38)


h √ i
= 1 3 + 1 x(t) (5.39)
√ 
= x1 (t) + 3 + 1 x2 (t) (5.40)
Chapitre 6

Commande Linéaire Quadratique


Gaussienne (LQG)

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

6.2 Cas des systèmes à état non complètement acces-


sible

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)

Figure 6.1: Observateur d’état.

6.3 Position du problème

Système théorique :

ẋ(t) = A x(t) + B u(t) (6.1)


y(t) = C x(t) (6.2)

Système réel :

ẋ (t) = A x (t) + B u (t) + Wd (t) (6.3)


ŷ (t) = C x̂ (t) + Wn (t) (6.4)

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)

Le problème de commande LQG est de déterminer la loi de commande optimale u∗ (t)


qui minimise le critère suivant :
 
 ZT   
1
J = E lim [x (t)]T Q x (t) + [u (t)]T R u (t) dt (6.8)
T →∞ T 
0
6.4. SYNTHÈSE D’UNE COMMANDE LQG 65

6.4 Synthèse d’une commande LQG

La solution du problème LQG est connue sous le nom du théorème de séparation. Ce


dernier consiste :

1. à déterminer la commande optimale pour le système déterministe avec critère quadra-


tique dans le cas de la régulation (LQR), c’est-à-dire Wd (t) et Wn (t) seront négligés.

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.

6.4.1 Retour d’état optimale (LQR)

Problème de commande :

ẋ (t) = A x (t) + B u (t) , x (0) = x0 (6.9)

ZT  
1 T T
J= [x (t)] Q x (t) + u (t) R u (t) dt (6.10)
2
0

La solution optimale est donnée comme suit :

u∗ (t) = −Kr (t) x (t) (6.11)

avec
Kr (t) = R−1 B T K (t) (6.12)

et K (t) est la solution de l’équation de Ricatti


66 CHAPITRE 6. COMMANDE LINÉAIRE QUADRATIQUE GAUSSIENNE (LQG)

6.4.2 Filtre de Kalman


Le problème de l’estimation consiste à déterminer le vecteur x̂ (t) qui est l’estimé de x (t)
à partir de ŷ (t) (Sorties mesurées). Ce problème est résolu au moyen de filtre de Kalman,
défini par les équations suivantes :

ẋ = A x̂ (t) + B u (t) + Kf (t) (y (t) − ŷ (t)) (6.13)


ẋ = A x̂ (t) + B u (t) + Kf (t) (y (t) − C x̂ (t)) (6.14)
n o
T
Le gain Kf (t) optimal, qui minimise E [x (t) − x̂ (t)] (x (t) − x̂ (t)) , est donné par :

Kf (t) = K̂ (t) C T V −1 (6.15)

où K̂ (t) est la solution de l’équation


 de Ricatti,
 associée au filtre de Kalman. La matrice
K̂ (t) est la solution permanente K̇ (t) = 0 de l’équation de Ricatti associée au problème
de commande, dit problème dual, suivant :

ẋ(t) = AT x (t) + C T u (t) (6.16)


y (t) = B T x (t) (6.17)

Z∞  
1
J= [x (t)]T W x (t) + [u (t)]T V u (t) dt (6.18)
2
0

dont l’équation de Ricatti correspondante est :

K̂ (t) AT + A K̂ (t) − K̂ (t) C T V −1 C K̂ (t) + B W B T = 0 (6.19)

6.4.3 Commande LQG


Le problème de commande LQG est de minimiser le critère (6.8). La structure de LQG
est illustrée par la Figure 6.2.
6.4. SYNTHÈSE D’UNE COMMANDE LQG
u(t) ẋ(t) 1 x(t)
xd (t) H B C y(t)
s

Système

+
Kf

ˆ
ẋ(t) 1 x̂(t)
B̂ Ĉ ŷ(t)
s

Filtre de Kalman

Commannde LQ

Figure 6.2: Structure de la commande linéaire quadratique gaussienne (LQG).

67
68 CHAPITRE 6. COMMANDE LINÉAIRE QUADRATIQUE GAUSSIENNE (LQG)

6.5 Synthèse de la commande LQG/LTR (Loop Trans-


fert Recovery)
L’objectif de la procédure de réglage LTR est de restaurer les marges de stabilité idéales
du retour d’état LQ (ou dualement du filtre de Kalman).

6.5.1 Hypothèses d’application


Le système strictement propre définit par la représentation d’état (A, B, C, D) vérifie :
— D = 0 (strictement propre),
— C (s I − A)−1 B à minimum de phase (pas de zéros instables),
— Nombre égal d’entrées et de sorties.

6.5.2 Recouvrement en entrée


La procédure de synthèse LQG/LTR consiste à :

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)
α→+∞

6.5.3 Recouvrement en sortie


1. Synthétiser, le filtre de Kalman en manipulant les covariances W et V à fin que le
transfert :
G (s) KLQG (s) = −C (s I − A)−1 Kf (6.22)

soit satisfaisant à la sortie du système.


2. Dans une seconde étape, à partir d’un réglage nominal Q0 et R0 du retour d’état LQ,
6.5. SYNTHÈSE DE LA COMMANDE LQG/LTR (LOOP TRANSFERT RECOVERY)69

on augmentera le paramètre α du nouveau réglage :

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

Exercices avec solutions

Exo 1. En utilisant le principe du minimum donner l’expression de la commande optimale


du problème suivant :

Z2
1
min J(u(t)) = x2 (t) dt
u(t) 2
0

sujet à : ẋ(t) = u(t)


|u(t)| ≥ α
x(0) = 1, x(2) = 1

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 :

ẋ1 (t) = x2 (t)


ẋ2 (t) = u(t)

71
72 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

qui minimise le critère

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.

Indication : la solution générale de l’équation différentielle x(4) (t) + x(t) = 0 est :



2 " √ ! √ !#
t 2 2
x(t) =e 2 c1 sin t + c2 cos t
2 2

2 " √ ! √ !#
− t 2 2
+e 2 c3 sin t + c4 cos t
2 2

Solution

1. Utilisation l’équation de Riccati :


" # " # " #
0 1 0 1 0
A= ,B= ,Q= ,R=1
0 0 1 0 0

Pour le problème de régulation, on a :

u(t) = −R−1 B T K x(t)

K est la solution de l’équation de Riccati. Comme A, B, Q et R sont constantes


et l’horizon de commande est infini, alors l’équation de Riccati est algébrique :
" #
0 0
AT K + K A − K B R−1 B T K + Q = ⇒
0 0
" #" # " # " # " #
0 0 a b a b 0 1 a b
+ −
1 0 b c b c 0 0 b c
" # " # " # " #
0 h i a b 1 0 0 0
0 1 + =
1 b c 0 0 0 0
73

" # " # " # " #


0 0 0 a b2 b c 1 0
+ − +
a b 0 b b c c2 0 0
" #
0 0
=
0 0

−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

+λ2 (t) ẋ2 (t)

1 2 
H(x(t), u(t), t) = x (t) + u2(t) + λ1 (t) x2 (t)
2
74 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

+λ2 (t) u(t)

∇u(t) H(x(t), u(t), t) = u(t) + λ2 (t) = 0

⇒ u∗ (t) = −λ2 (t)

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)

Pour la résolution des équations d’Hamilton, on procède de la manière sui-


vante :

ẍ1 (t) = ẋ2 (t) = −λ2 (t)


(3)
x1 (t) = −λ̇2 (t) = λ1 (t)
(4)
x1 (t) = −λ̇1 (t) = −x1 (t)
(4)
x1 (t) + x1 (t) = 0

La solution de cette équation (indication donnée dans l’épreuve) est :



2 " √ ! √ !#
t 2 2
x1 (t) = e 2 c1 sin t + c2 cos t
2 2

2 " √ ! √ !#
− t 2 2
+e 2 c3 sin t + c4 cos t
2 2
75

Comme c’est la régulation, pour t → +∞, on a x1 (+∞) = x2 (+∞), alors c1 = c2 = 0.


2 " √ ! √ !#
− t 2 2
x1 (t) = e 2 c3 sin t + c4 cos t
2 2

x2 (t) = ẋ1 (t) =



√ 2 " √ ! √ !#
2 − t 2 2
− e 2 c3 sin t + c4 cos t
2 2 2

√ 2 " √ ! √ !#
2 − t 2 2
+ e 2 c3 cos t − c4 sin t
2 2 2

√ 2 " √ !
2 − t 2
x2 (t) = e 2 −(c3 + c4 ) sin t
2 2
√ !#
2
+(c3 − c4 ) cos t
2

2 " √ !
1 − t 2
λ2 (t) = −ẋ2 (t) = e 2 −(c3 + c4 ) sin t
2 2
√ !#
2
+(c3 − c4 ) cos t
2

2 " √ !
1 − t 2
+ e 2 (c3 + c4) cos t
2 2
√ !#
2
+(c3 − c4 ) sin t
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

En posant u∗ (t) = k1 x1 (t) + k2 x2 (t) et en considérant les expressions de x1 (t), x2 (t)


et de u∗ (t), l’identification donne :


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)

Exo 3. Pour le circuit électrique de la figure ci-après, on désire déterminer la commande


optimale I ∗ (t) permettant de transférer le système d’un état initial à un état final,
à l’instant tf , caractérisé par une tension aux bornes de la capacité C de 1 V et
un courant de 0 A dans l’inductance L tout en minimisant la perte d’énergie par
effet Joule dans la résistance R. A l’instant t = 0 s, on ferme l’interrupteur T .

Formuler mathématiquement ce problème de commande.


77

I(t)

Source de courant L C

T
Interrupteur

Figure 7.1: Circuit électrique.

Solution
Variables caractéristiques :

u(t) ≡ I(t), x1 (t) ≡ IL (t), x2 (t) ≡ Uc (t)

Equations régissant le comportement dynamique du circuit électrique :

I(t) = IL (t) + IC (t)

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

Par conséquent, le problème de commande optimale est formulé comme suit :

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

Exo 4. Un problème de commande optimale est formulé comme suit :


Z 1
min J (u(t)) = u2 (t) dt,
u(t) 0

sujet à :

ẋ1 (t) = x2 (t),


ẋ2 (t) = u(t),
" #
1
x(0) = ,
1
" #
0
x(1) = .
0

En utilisant le principe du minimum, on demande de déterminer la commande opti-


male u∗ (t).
Solution
79

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

∇2u(t) H(x(t), u(t)) = 2 > 0 ⇒ Le problème admet un min.

λ22 (t) λ2 (t)


H ∗ (x(t), u∗ (t)) = + λ2 (t) x2 (t) − 2
4 2
λ22 (t)
= λ1 (t) x2 (t) −
4

É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)

Solution des équations d’Hamilton-Pontryagin

(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

donne la solution suivante :

⇒ C1 = 36 et C2 = 20

Par conséquent :

λ2 (t)
λ2 (t) = −36 t + 20 ⇒ u∗ (t) = −
2
u∗ (t) = 18 t − 10

Exo 5. Pour le problème de commande optimale suivant :


Z 1 h i
1 1
min J (u(t)) = x2 (1) + 2 2
x (t) + u (t) dt,
u(t) 2 2 0

sujet à :
ẋ(t) = −2 x(t) + u(t),

Déterminer la commande optimale u∗ (t) en utilisant le principe du minimum.


Solution

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)

∇2u(t) H(x(t), u(t)) = 1 > 0. Le problème admet un min.


x2 (t) λ2 (t)
∗ ∗
H (x(t), u (t)) = + − 2 λ(t) x(t) − λ2 (t)
2 2
x2 (t) λ2 (t)
H ∗ (x(t), u∗ (t)) = − − 2 λ(t) x(t)
2 2
81

É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

   
1 β 1 β
ā = 1− ; b̄ = 1+
2 α 2 α
82 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

" #
At Φ11 (t) Φ12 (t)
e =
Φ21 (t) Φ22 (t)

x(t) = Φ11 (t) x(0) + Φ12 (t) λ(0)


λ(t) = Φ21 (t) x(0) + Φ22 (t) λ(0)

Etat final libre ⇒ λ(1) = ∇x(t) r0 t=1


= x(1)

λ(1) = x(1) ⇒ Φ11 (1) x(0) + Φ12 (1) λ(0)

= Φ21 (1) x(0) + Φ22 (1) λ(0)

⇒ [Φ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 ]

1 −α t
— Φ22 (1) − Φ12 (1) = a eα t + b e−α t − [e − eα t ]

 
Φ11 (1) − Φ21 (1)
u(0) = −λ(0) = − x(0)
Φ22 (1) − Φ12 (1)

Chaque instant t peut être assimilé à l’instant initial 0, alors


 
Φ11 (1) − Φ21 (1)
u(t) = − x(t)
Φ22 (1) − Φ12 (1)
   
1 1 − β αt 1 β − 1 −α t
+ e + + e
2 2α 2 2α
u(t) = −     x(t)
1 β + 1 αt 1 β + 1 −α t
+ e + − e
2 2α 2 2α

α= 5 et β = 2.

Exo 6. Pour le problème de commande optimale suivant :


Z +∞ h i
1
min J (u(t)) = ρ2 x21 (t) + u2 (t) dt, avec ρ > 0,
u(t) 2 0
83

sujet à :

ẋ1 (t) = x2 (t),


ẋ2 (t) = u(t),

1. donner et résoudre l’équation de Riccati correspondante,

2. déduire la commande optimale u∗ (t),

3. analyser la stabilité du système en boucle fermée en fonction de ρ,

4. déduire la nature de régime transitoire du système, et la marge de phase en


boucle fermée.

Solution

(a) t → +∞ ⇒ K̇ = 0 (horizon infini)

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)

La solution de l’équation de Riccati est :


" √ #
ρ 2ρ ρ
K= √
ρ 2ρ

(b) Commande optimale


u∗ (t) = −R−1 B T K x(t)
i ρ√2 ρ
" #" #
h ρ x1 (t)
=− 0 1 √
ρ 2ρ x2 (t)
h p i
u∗ (t) = − ρ x1 (t) + 2 ρ x2 (t)

(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 ρ

Valeurs propres de ABF sont :


" #
λ −1
λ I − ABF = √
ρ λ+ 2ρ
p
det (λ I − ABF ) = λ2 + 2ρλ + ρ = 0
85
√ √
2ρ 2ρ
λ1 = (−1 + j) ; λ2 = (−1 − j)
2 2

a = 2 ρ > 0 ⇒ Le système est stable ∀ρ.

(d) Les racines en boucle fermée sont complexes, la réponse du système est apério-
dique (oscillatoire).

(e) La commande LQ garantie une marge de phase ≥ 60◦ .

Exo 7. Soit le problème de commande optimale défini par :


Z tf h i
1 d
2 2
min J (u(t)) = x(t) − x (t) + u (t) dt
u(t) 2 ti

sujet à :

ẋ(t) = −x(t) + u(t),


x(0) = x0 ,
xd (t) = e−t .

Montrer qu’on peut ramener ce problème de poursuite à un problème de régulation.

Solution

Pour transformer le problème de poursuite en un problème de régulation, on doit


éliminer du critère xd1 (t). Pour cela, on utilise le changement de variable suivant :

x1 (t) = x(t) et x2 (t) = e−t = xd (t)

Par conséquent,
ẋ1 (t) = ẋ(t)

ẋ2 (t) = −e−t ⇒ ẋ2 (t) = −x2 (t) avec x2 (0) = 1.

Le problème de commande optimale prend la forme suivante :

Ztf  
1
J(u(t)) = (x1 (t) − x2 (t))2 + u2 (t) dt
2
ti
86 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

sujet à :

ẋ1 (t) = −x1 (t) + u(t)


ẋ2 (t) = −x2 (t)
x1 (0) = x0
x2 (0) = 1

Le critère peut être mis sous la forme suivante :

Ztf
1 
J(u(t)) = x21 (t) − 2 x1 (t) x2 (t) + x22 (t) + u2 (t) dt
2
ti

Ztf h h " #" #


1 i 1 −2 x1 (t)
J(u(t)) = x1 (t) x2 (t)
2 0 1 x2 (t)
ti
i
+ u2 (t) dt
Ztf
1
= [x(t) − xd ]T Q [x(t) − xd ]dt
2
ti

" # " # " #


0 x1 (t) 1 −2
xd = , x(t) = , Q=
0 x2 (t) 0 1

Exo 8. Soit le problème de commande optimale suivant :


Z 2 p
min J(u(t)) = 1 + u2 (t) dt
u(t) 0

sujet à :
ẋ(t) = u(t)
x(0) = +1
x(2) = −1

En utilisant le concept de calcul des variations, on demande


1. de donner, sans démonstration, l’équation d’Euler-Lagrange associée et les
conditions aux limites,
2. de déduire la loi de commande optimale u∗ (t).
87

Solution

Le problème équivalent au problème de commande optimale à résoudre par le calcul


des variations est :
Z 2 p
ˆ
min J(x(t)) = 1 + ẋ2 (t) dt
x(t) 0

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)

— Conditions aux limites : état finale libre

x(0) = +1
x(2) = −1

2. Loi de commande optimale u∗ (t). L’équation d’Euler-Lagrange correspon-


dante aux problème est :

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

⇒ ẍ(t) = 0 ⇒ ẋ(t) = c1 ⇒ x(t) = c1 t + c2 = 0

Déterminons les constantes c1 and c2 en utilisant les conditions aux limites

x(0) = 1 ⇒ c2 = 1

x(2) = −1 ⇒ 2 c1 + 1 = −1 ⇒ c1 = −1
88 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

Le commande optimale est


u∗ (t) = ẋ(t) = −1

Exo 9. En utilisant la méthode du principe du minimum, déterminer la loi de commande


optimale u∗ (t) pour le problème formulé comme suit :
Z 1  
1
min J(u(t)) = x(1) + x (t) + u2 (t)
2
dt
u(t) 0 4
sujet à :
ẋ(t) = u(t)
x(0) = 0

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

Expression de la commande optimale :

∂H(x(t), u(t)) u(t)


= + λ(t) = 0 ⇒ u(t) = −2 λ(t)
∂u 2

Équations canoniques d’Hamilton-Pontryagin

∂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ésolution des équations canoniques d’Hamilton

(7.16) ⇒ λ̈(t) = −2 ẋ(t) = 4 λ(t) ⇒ λ̈(t) − 4 λ(t) = 0

r 2 − 4 = 0 ⇒ r = ±2
89

La solution est :

λ(t) = c1 e−2 t + c2 e+2 t


x(t) = c1 e−2 t − c2 e+2 t

Déterminons les constantes c1 et c2

x(0) = 0 ⇒ x(0) = c1 − c2 = 0 ⇒ c1 = c2

L’état final est libre, alors d’après le critère on a :

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

Exo 10. Pour le système dynamique suivant :

ẋ(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

en utilisant l’équation de Riccati.


Solution
L’horizon de commande est fini, alors l’équation de Riccati sera une équation dif-
férentielle.

Ṗ (t) + P (t) A + AT P (t) − P (t) B T R−1 B P (t) + Q = 0


90 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

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 ) α

Par identification, il vient :

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

Exo 11. Soit la fonctionnelle


Z tf 
J(x(t)) = g x1 (t), x2 (t), . . . , xn (t), ẋ1 (t), ẋ2 (t), . . . , ẋn (t) dt
ti

où xi (t) (i = 1, . . . , n) sont des fonctions continues et de dérivées continues.

En utilisant, la théorie de calcul des variations, démontrer les conditions à vérifier


pour que x∗i (t) (i = 1, . . . , n) soit un optimum relatif pour J(x(t)) dans le cas des
conditions terminales fixes, c’est-à-dire

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

En utilisant la formule de Taylor en

x1 (t), . . . , xn (t), ẋ1 (t), . . . , ẋn (t)

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)

Comme x(ti ) et x(tf ) sont fixes, alors

δxi (ti ) = δxi (tf ) = 0


92 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

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

Exo 12. Soit le problème de commande optimale suivant :


Z 1  
min J(u(t)) = t u(t) + u2 (t) dt
u(t) 0

sujet à :
ẋ(t) = u(t)
x(0) = 1
x(1) = 1

1. Mettre le problème de commande optimale sous forme d’un problème de calcul


des variations,
2. Donner, sans démonstration, l’équation d’Euler-Lagrange associée au pro-
blème et les conditions aux limites,
3. Déduire la loi de commande optimale u∗ (t).
Solution
1. Problème de calcul des variations est :
Z 1  
ˆ
min J(x(t)) = t ẋ(t) + ẋ2 (t) dt
x(t) 0

sujet à :
x(0) = 1
x(1) = 1

2. Équation d’Euler-Lagrangeet conditions aux limites


93

— Équation d’Euler-Lagrange
 
∂g(x(t), ẋ(t), t) d ∂g(x(t), ẋ(t), t)
− =0
∂x(t) dt ∂ ẋ(t)

— Conditions aux limites : état finale fixe

x(0) = 1
x(1) = 1

3. Loi de commande optimale u∗ (t). L’équation d’Euler-Lagrange correspon-


dante aux problème est :

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

Déterminons les constantes c1 et c2 en utilisant les conditions aux limites

x(0) = 1 ⇒ c2 = 1

1 1
x(1) = 1 ⇒ − + c1 + 1 = 1 ⇒ c1 =
4 4

Le commande optimale est

t 1
u∗ (t) = ẋ(t) = − +
2 4

Exo 13. Soit le système continu du premier ordre défini par l’équation différentielle :

ẋ(t) = x(t) + u(t)

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. Écrire le Hamiltonien de ce problème.


2. Écrire les équations d’optimalité (les équations d’Hamilton-Pontriaguine).
3. Intégrer les équations différentielles du système adjoint et du système en fonc-
tion de x0 et de l’état initial du vecteur adjoint λ(0) = λ0 .
4. En considérant la condition terminale, déterminer la relation qui lie λ0 à x0 .
5. Déterminer la commande optimale en boucle fermée.
Solution
1. Hamiltonien

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. Équations d’optimalité (équations d’Hamilton-Pontryagin).

λ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)

3. Intégration des équations d’Hamilton-Pontryagin

λ̇(t) = −λ(t) ⇒ λ(t) = λ0 e−t

ẋ(t) = x(t) − λ(t) ⇒ ẋ(t) = x(t) − λ0 e−t ⇒ ẋ(t) − x(t) = −λ0 e−t

La résolution de cette équation donne

1
x(t) = λ0 (e−t − et ) + x0 et
2
95

4. Relation qui lie λ0 à x0

Condition de transversalité terminale :


 
1 2
∂ x (tf )
2
λ(tf ) = ⇒ λ(tf ) = x(tf )
∂x(tf )

Cette condition permet d’écrire

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

5. Commande optimale en boucle fermée

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

Exo 14. On désire résoudre, en utilisant l’équation fonctionnelle de Bellman, le problème


suivant :
Z tf  
min J(u(t)) = x(t) + u2 (t) dt
u(t) t0

sujet à :
ẋ(t) = x(t) + u(t) + 1
x(t0 ) = 4
x(tf ) = 0
|u(t)| ≤ 7

Déterminer numériquement la commande optimale u∗(t) permettant de réaliser ce


transfert en deux étapes. Pour le processus de discrétisation, on considère les quan-
tums ∆x(t) = ∆u(t) = 1 pour les grandeurs x(t) et u(t). Pour la période d’échan-
tillonnage, on prend ∆t = 1.

Solution
96 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

Le problème sous la forme discrète est :

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

x(1) u∗ (1) J ∗ (x(1), 1)


1 −3 10
2 −5 27
3 −7 52
— N =2:

En utilisant l’équation fonctionnelle de Belman, il vient :


 
J ∗ (x(2), 2) = min x(2) + u2 (2) + J ∗ (x(1), 1)
u(2)

En résumé, on a :

x u∗ (1) J ∗ (1) u∗ (2) J ∗ (2)


1 −3 10 − −
2 −5 27 −4 28
3 −7 52 −6 49
4 − − −7 80

La commande optimale u∗ (k) pour transférer le système de l’état initial x(t0 ) = 4 à


l’état final x(tf ) = 0 est :
97

k x(k) u∗ (k) x (k) + [u∗ (k)]2


2 4 −7 53
1 2 −5 27
0 0 0 80

Exo 15. Considérons les problèmes de commande optimale suivants :

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

1. En utilisant le principe du minimum, déterminer la loi de commande optimale


u∗ (t), pour chaque problème, et

2. Déduire la trajectoire optimale x∗ (t).

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)

La deuxième équation donne λ(t) = t + c0 . Comme la partie terminale est


nulle, alors
λ(2) = 0 ⇒ 2 + c0 = 0 ⇒ c0 = −2
t
— Commande optimale u∗ (t) = − + 1
2
2. Trajectoire optimale x∗ (t)
D’après le modèle du système, il vient :

∗ ∗ t ∗ t2
ẋ (t) = u (t) = − + 1 ⇒ x (t) = − + t + c1
2 4

Comme x(0) = 0, alors c1 = 0.

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 :

∂H(x(t), λ(t), u(t)) u(t)


=p + λ(t) = 0
∂u(t) 1 + u2 (t)

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

— Commande optimale u∗ (t) = 0

(a) Trajectoire optimale x∗ (t)

D’après le modèle du système, il vient :

ẋ∗ (t) = u∗ (t) = 0 ⇒ x∗ (t) = c1

Comme x(0) = α, alors c1 = α.

x∗ (t) = α

Exo 16. Comment peut-on transformer le problème de commande optimale suivant


Z tf
min J(u(t)) = g (u(t)) dt
u(t) 0

sujet à :
ẋ(t) = f (x(t), u(t))
x(0) = x0 , x(tf ) = xf

en un problème d’optimisation statique.

Solution

Le problème de la commande optimal revient à chercher u∗ (t) sous sa forme continue.


En discrétisant le problème, on cherche à déterminer u∗ (k ∆t) ≡ u(k) avec ∆t est
la période d’échantillonnage. Ainsi, en discrétisant le problème, l’équation d’état
(discrétisée par la méthode d’Euler) prend la forme :

x(k + 1) = x(k) + ∆t f (x(k), u(k))


100 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

tf
Ainsi, pour k = 0, . . . , n avec ∆t = , il vient
n+1

x(1) = x(0) + ∆t f (x(0), u(0)) = ψ1 (u(0))


x(2) = x(1) + ∆t f (x(1), u(1))
= x(0) + ∆t f (x(0), u(0)) + ∆t f (x(0) + ∆t f (x(0), u(0)), u(1))
= ψ2 (u(0), u(1))
..
.
x(n + 1) = ψn (u(0), u(1), . . . , u(n)) = x(tf )

Comme x(0) = α, on peut écrire :

x(tf ) = ψn (α, u(1), . . . , u(n))

ou encore
x(tf ) = xf = ψ( u(1), . . . , u(n))

Cette dernière équation représente la contrainte à vérifier qui est du type égalité.

Pour la discrétisation du critère par la méthode des trapèzes, on obtient


" n−1
#
∆t X
J(u∗ (k)) = g(u(0)) + g(u(n)) + 2 g(u(j)) = φ(u(0), u(1), . . . , u(n))
2 j=1

Ainsi, en désignant par

u∗ (0) = y1 , u∗(1) = y2 , . . . , u∗ (n∆t) = yn

on peut écrire le problème de commande optimale sous forme du problème d’opti-


misation statique suivant :

min φ(y)
y

sujet à :
ψ(y) − xf = 0

où y = (y1 , . . . , yn )T est le vecteur de variable de décision.


101

Exo 17. Déterminer la solution du problème de commande optimale suivant


Z 2  
min J(u(t)) = 12 t x(t) + u2 (t) dt
u(t) 0

sujet à :
ẋ(t) = u(t)
x(0) = 0
x(2) = 8

en utilisant les deux approches suivantes

1. Calcul des variations,

2. Principe du minimum de Pontryagin.

Solution

1. Calcul des variations

Le problème de calcul des variations correspondant au problème de commande


optimale est
Z 2  
min J(u(t)) = 12 t x(t) + ẋ2 (t) dt
u(t) 0

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)

avec les conditions aux limites x(0) = 0 et x(2) = 8.


102 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

La solution de l’équation d’Euler-Lagrange donne

6 t − ẍ(t) ⇒ ẍ(t) = 6 t ⇒ ẋ(t) = 3 t2 + c1 ⇒ x(t) = t3 + c1 t + c2 (7.20)

Les constantes c1 et c2 sont déterminées en utilisant les conditions aux limites

x(0) = c2 = 0
x(2) = 8 + 2 c1 + c2 = 8 ⇒ 8 + 2 c1 + 0 = 8 ⇒ c1 = 0

La solution du problème est


x∗ (t) = t3

et la commande optimale est

u∗ (t) = ẋ∗ (t) ⇒ u∗ (t) = 3 t2

2. Principe du minimum de Pontryagin

Fonction d’Hamilton

H(x(t), u(t), λ(t), t) = g(x(t), u(t), t) + λ(t) ẋ(t)


= 12 t x(t) + u2 (t) + λ(t) u(t)

Commande optimale

∂H(x(t), u(t), λ(t), t) λ(t)


= 2 u(t) + λ(t) = 0 ⇒ u∗ (t) = −
∂u(t) 2

É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

λ̇(t) = −12 t ⇒ λ(t) = −6 t2 + c1


λ(t) c1 c1
ẋ(t) = − = 3 t2 − ⇒ x(t) = t3 − t + c2
2 2 2

Détermination des constantes c1 et c2 en utilisant les conditions aux limites

x(0) = c2 = 0
c1 c1
x(2) = 8 − + c2 = 8 ⇒ 8 − + 0 = 8 ⇒ c1 = 0
2 2

La commande optimale est

λ(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 à :

ẋ1 (t) = x2 (t)


ẋ2 (t) = x1 (t) + u(t)
" #
0
x(0) =
0
" #
2
x(2) =
1

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

∇u(t) H(x(t), u(t), λ(t)) = −(x1 (t) + u(t)) + λ2 (t) = 0



u∗ (t) = −x1 (t) + λ2 (t)

H ∗ = H(x(t), u∗ (t), λ(t))


1
= − (x1 (t) − x1 (t) + λ2 (t))2
2
+λ1 (t) x2 (t) + λ2 (t) (x1 (t) − x1 (t) + λ2 (t))

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

En imposant les conditions terminales, il vient :

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

Ce qui donne la commande optimale suivante :

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

Indication : la solution générale de l’équation différentielle ordinaire p̈(t)−p(t) = 0


est :
p(t) = α et + β e−t

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

∇u(t) H(x(t), u(t), λ(t)) = −u(t) + λ1 (t) = 0



u∗ (t) = λ1 (t)

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)

En dérivant l’équation (7.26), il vient :

λ̈1 (t) = ẋ1 (t)


107

et d’après (7.25), on aura

λ̈1 (t) = λ1 (t) ⇒ λ̈1 (t) − λ1 (t) = 0

La solution de cette équation différentielle est (indication donnée dans l’épreuve) :

λ1 (t) = α et + β e−t

Pour déterminer les constantes α et β, on utilise les conditions terminales. D’après


(7.8), on a
x1 (t) = λ̇1 (t) ⇒ x1 (t) = α et − β e−t

En imposant les conditions terminales, il vient :

Pour t = 0 :
x1 (0) = α − β = 1

Pour t = 2 (état final libre λ1 (1/2) = 0) :

λ1 (1/2) = α e1/2 + β e−1/2 = 0

La résolution du système d’équation :

α−β = 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

Exo 20. Transformer le problème de commande optimale suivant à un problème d’optimisa-


tion : Z 1
min u2 (t) dt
u(t) 0
108 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

sujet à :

ẋ(t) = −x(t) + u(t)


x(0) = 0

Solution

Pour transformer le problème de commande optimale à un problème d’optimisation,


on doit discrétiser le critère et le système en considérant une période d’échantillon-
nage ∆t, ce qui donne :
Z 1 N
X −1
u2 (t) dt = ∆t u2 (k); N = 1/∆t
0 k=0

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

Introduisons le vecteur de variables de décision suivant :


   
X1 u(0)
   
 X2   u(1) 
X = . =
   .. 
.
 .   .


Xn u(N − 1)

la fonction objectif prend la forme suivante :

f (X) = X12 + X22 + . . . + Xn2

Pour la contrainte on aura :

x(1) = (1 − ∆t) x(0) +∆t u(0) = ∆tX1


|{z}
0
x(2) = (1 − ∆t) x(1) + ∆t u(1) = (1 − ∆t) ∆t X1 + ∆tX2
..
.
(7.27)
109

En suivant les itérations, on peut montrer que :

i
X
x(i) = (1 − ∆t)j−1 ∆t Xi−j+1 ; i = 1, . . . , N
j=1

Pour i = N, on aura donc :

N
X
x(N) − (1 − ∆t)j−1 ∆t XN −j+1 = 0
j=1

qu’on peut mettre sous la forme suivante :

g(X) = x(N) − ḡ(X) = 0

Cette contrainte du type égalité doit être respectée.

En résumé le problème d’optimisation est comme suit :

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

Exo 21. Déterminer, en utilisant la méthode du principe du minimum dePontryagin, la


solution du problème de commande optimale formulé comme suit :
110 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

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

— Expression de la commande optimale

∂H(x(t), u(t), λ(t))


= u(t) + λ2 (t) = 0 ⇒ u(t) = −λ2 (t)
∂u(t)

— 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

— Équations d’Hamilton-Pontryagin (conditions de stationnarités)

∂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

— Détermination des constantes en utilisant les conditions terminales


— Pour t = 0, on a

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

Exo 22. La commande optimale, déterminée en utilisant l’équation fonctionnelle de Belman,


permettant de transférer l’état d’un système dynamique d’un état initial x(t0 ) = x0
à l’état final x(tf ) = 0 est résumée dans le Tableau 7.1.

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

x(k − 1) = α x(k) + u(k)

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 :

— Etat initial est x(t0 ) = 9,


— Première commande optimale : u(t) = −2,
— Nombre d’étapes est N = 4.
2. La première commande appliquée u(4) = −2 transfert le système de l’état initial
x (k) u(1) J ∗ (1) u(2) J ∗ (2) u(3) J ∗ (3) u(4) J ∗ (4) u(5) J ∗ (5) u(6) J ∗ (6)
1 −1 1
2 −2 8 −1 2
3 −3 27 −1 9 −1 3
4 −2 16 −1 10 −1 4
5 −2 35 −1 17 −1 11 −1 5
6 −3 54 −2 24 −1 18 −1 12 −1 6
7 −2 43 −1 25 −1 19 −1 13
8 −2 62 −2 32 −1 26 −1 20
9 −3 81 −2 51 −1 33 −1 27
10 −2 70 −2 40 −1 34

Table 7.1: Commande optimale.

113
114 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

x(4) = 9 à l’état x(3) = 7, alors

x(3) − u(4) 7 − (−2)


x(3) = α x(4) + u(4) ⇒ α = = =1
x(4) 9

3. Commande optimale en 5 étapes pour transférer l’état du système de x(5) = 10


à x(0e ) = 0 en présence d’une perturbation de +3 apparaissant après 3 étapes.
La commande est résumée dans la table suivante :

k x (k) u (k)
5 10 −2
4 8 −2
3 6 −2
2 4 + 3 (Perturbation) Pas de commande optimale

On constate que l’effet de la perturbation ramène le système à l’état x(2) = 7.


Comme il reste 2 étapes, d’après la Tableau 7.1, il est impossible de trans-
férer l’état de système en deux étapes de l’état x(2) = 7, c’est-à-dire 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

Exo 23. En utilisant l’équation d’Euler-Lagrange, déterminer la solution du problème de


115

commande optimale suivant :

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

Indication : la solution générale de l’équation différentielle ordinaire p̈(t)−α p(t) =


0 est :
√ √
αt αt
p(t) = c1 e− + c2 e

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)

avec les conditions aux limites x(0) = 1 et x(1) = 1.

La solution de l’équation d’Euler-Lagrange est donnée comme suit


√ √
2t 2t
x(t) = c1 e− + c2 e (7.38)
116 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

Les constantes c1 et c2 sont déterminées en utilisant les conditions aux limites

x(0) = c1 + c2 = 1
√ √
2 2
x(1) = c1 e− + c2 e =1

Déterminons les constantes c1 et c2 . La première équation donne

c1 + c2 = 1 ⇒ c2 = 1 − c1

en substituant dans la deuxième équation, il vient :



2

− 2
 √
2 e −1
c1 e + 1 − c1 e = 1 ⇒ c1 = √ √ (7.39)
e 2 − e− 2

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−

et la commande optimale est

u∗ (t) =ẋ∗ (t) + x∗ (t)


√ ! √ !
√ −1
e 2 √
2t
√ 1 − e− 2 √
= 2 √ √ e − 2 √ √ e− 2 t
e 2 − e− 2 e 2 − e− 2
√ ! √ !
2 − 2
e −1 √ 1−e √
+ √ √ e 2t + √ √ e− 2 t
e 2 − e− 2 e 2 − e− 2
√ √
2t 2t
= − 0, 33321 e + 0, 47215 e−
117

Exo 24. Soit le problème de commande optimale suivant :

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

Déterminer l’expression de la commande optimale en utilisant le principe du mini-


mum.

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

— Expression de la commande optimale

∂H(x(t), u(t), λ(t))


= u(t) + λ2 (t) = 0 ⇒ u(t) = −λ2 (t)
∂u(t)

— 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

— Équations d’Hamilton-Pontryagin (conditions de stationnarités)

∂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

— Détermination des constantes en utilisant les conditions terminales


— Pour t = 0, on a

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

— Pour t = 1, on a un état final libre

∂ψ(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

Exo 25. Soit le problème de commande optimale suivant :

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

Étudier l’existence de la solution en fonction des valeurs des paramètres α et β.


Solution
— Le critère est quadratique, on doit avoir α ≥ 0 et β > 0.
— D’après le principe du minimum, comme le problème est une maximisation, l’exis-
tence de la solution impose d’avoir

∂ 2 H(x(t), u(t), λ(t))


<0
∂u2 (t)

On a
1 
H(x(t), u(t), λ(t)) = α x2 (t) + β u2 (t) + λ(t) u(t)
2
ce qui donne

∂H(x(t), u(t), λ(t))


= β u(t) + λ(t)
∂u(t)
∂ 2 H(x(t), u(t), λ(t))

∂u2 (t)

par conséquent on doit avoir


β<0

On conclut que le problème n’admet pas de solution quelques soient les valeurs
de α et β.

Exo 26. Soit le problème de commande linéaire quadratique (LQ) suivant :


Z ∞
1
min J(u(t)) = 6 x2 (t) + u2 (t) dt
u(t) 2 0

sujet à :
1
ẋ(t) = − x(t) + u(t)
2
120 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

1. identifier les différentes matrices du problème (A, B, Q et R),

2. donner, sans démonstration, l’expression de la commande optimale u∗ (t),

3. donner l’équation de Riccati correspondante,

4. déduire la commande optimale u∗ (t).

Solution

1. Identification des matrices du problème :

1
A = − , B = 1, Q = 6, R = 1
2

2. Expression de la commande optimale : on a un problème de régulation, par


conséquent :
u∗ (t) = −R−1 B T K x(t)

avec K solution de l’équation de Riccati du problème.

3. Équation de Riccati : comme l’horizon de commande est infinie et les matrices


du modèle et de pondérations du critère sont constantes, alors l’équation de
Riccati est algébrique dont la forme est :

AT K + K A − K B R−1 B T K + Q = 0

par conséquent,
−K 2 − K + 6 = 0

4. Commande optimale u∗ (t) : l’équation de Riccati obtenue en 2 admet deux


solutions K = 2 et K = −3. La solution à retenir doit être définie positive,
c’est-à-dire K = 2. Par conséquent la commande optimale est :

u∗ (t) = −2 x(t)

Exo 27. On désire déterminer, en utilisant le principe du minimum, la solution du problème


121

de commande optimale suivant :


Z tf
min J(u(t)) = (q − x(t))2 + u2 (t) dt, (q est une constante)
u(t) 0

sujet à :
ẋ(t) = −a x(t) + u(t)
x(0) = 0
x(tf ) = q

1. donner la fonction d’Hamilton correspondante au problème,

2. déterminer l’expression de la commande optimale u∗ (t),

3. écrire les équations d’Hamilton-Pontryagine,

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 :

• f (x) = sinh(g(x)) ⇒ f ′ (x) = g ′ (x) cosh(g(x)),


• f (x) = cosh(g(x)) ⇒ f ′ (x) = g ′ (x) sinh(g(x)),
• sinh(0) = 0 et cosh(0) = 1.

5. sachant que la solution de l’équation différentielle ẍ(t) − α2 x(t) + β = 0 est

β
x(t) = A sinh(α t) + B cosh(α t) + ,
α2

déduire la commande optimale u∗ (t).

Solution

1. Fonction d’Hamilton :

H(x(t), u(t), λ(t), t) = g(x(t), u(t), t) + λ(t) ẋ(t)


= (q − x(t))2 + u2 (t) + λ(t) (−a x(t) + u(t))
122 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

2. Expression de la commande optimale :

∂H(x(t), u(t), λ(t), t) λ(t)


= 2 u(t) + λ(t) = 0 ⇒ u∗ (t) = −
∂u(t) 2

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)

4. Détermination de l’équation différentielle : en dérivant l’équation (7.47), il vient

λ̇(t)
ẍ(t) = −a ẋ(t) −
2

en substituant λ̇(t) par son expression donnée par (7.48), on obtient


 
2 (q − x(t)) + a λ(t)
ẍ(t) = −a ẋ(t) −
2
λ(t)
= −a ẋ(t) − (q − x(t)) − a (7.49)
2

De l’équation (7.47), on a

λ(t)
= −ẋ(t) − a x(t)
2

La substitution de cette expression dans (7.49) donne l’équation différentielle


suivante :
ẍ(t) = −a ẋ(t) − (q − x(t)) + a ẋ(t) + a2 x(t)

qu’on peut arranger comme suit :

ẍ(t) − (1 + a2 ) x(t) + q = 0 (7.50)

5. Commande optimale : en posant α = (1 + a2 ), la solution de l’équation diffé-


rentielle (7.50) est :

q
x(t) = A sinh(α t) + B cosh(α t) +
α2
123

d’après le modèle du système, on

u∗ (t) = ẋ∗ (t) + a x∗ (t)

On doit d’abord déterminer les constantes A et B en utilisant les conditions


terminales. Ainsi,

— Pour t = 0, on a x(0) = 0, alors

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 )

La trajectoire optimale est :


 
∗ a2 + cosh(α tf ) q
x (t) = q sinh(α t) + (1 − cosh(α t))
α2 sinh(α tf ) α2

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.

1. Déterminer la trajectoire optimale x∗ (t) si x(1) = 0,


2. Évaluer la valeur du critère J ∗ = J(x∗ (t)).

Solution
— Trajectoire optimale :

Le problème posé est un problème de calcul des variations. Pour déterminer la


trajectoire optimale, on utilise l’équation d’Euler-Lagrange. De la fonctionnelle
à minimiser, il vient :

1
g(x(t), ẋ(t)) = ẋ2 (t) + x(t)
2

L’équation d’Euler-Lagrange correspondante est :


 
∂g(x(t), ẋ(t)) d ∂g(x(t), ẋ(t))
− =0
∂x(t) dt ∂ ẋ(t)
d 
1− ẋ(t) = 0
dt
1 − ẍ(t) = 0

L’intégration de cette équation donne :

ẋ(t) = t + c1
t2
x(t) = + c1 t + c2
2

En utilisant les conditions terminales x(0) = 1 et x(1) = 0, on détermine les


constantes c1 et c2 comme suit :

— 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

Par conséquent la trajectoire optimale :

t2 3
x∗ (t) = − t+1
2 2

— Valeur du critère J ∗ = J(x∗ (t)) :

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

Exo 29. Soit le problème de commande optimale suivant :


Z 1
min J(u(t)) = u2 (t) dt
u(t) 0

sujet à :
ẋ(t) = a x(t) + u(t)

En utilisant le principe du minimum de Pontryagin, déterminer la commande op-


timale u∗ (t) pour les conditions terminales suivantes :

1. x(0) = 1,

2. x(0) = 1, x(1) = 0.

Solution
— Fonction d’Hamilton

H(x(t), u(t), λ(t), t) = u2 (t) + λ(t) (a x(t) + u(t)) (7.51)


126 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

— Expression de la loi de commande

∂H(x(t), u(t), λ(t), t) λ(t)


= 2 u(t) + λ(t) = 0 ⇒ u(t) = −
∂u(t) 2

— Optimum de la 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)

La solution de l’équation différentielle (7.53) est :

λ(t) = c1 e−a t , (c1 est une constante d’intégration)

En remplaçant dans l’équation (7.52), il vient :

c1 e−a t
ẋ(t) = a x(t) −
2

Pour résoudre cette équation non homogène, on utilise la méthode de la variation


de la constante. On commence par la résolution de l’équation différentielle en
ignorant la partie non homogène, c’est-à-dire :

ẋ(t) = a x(t) ⇒ x(t) = k ea t

La solution de l’équation différentielle non homogène est de la forme x(t) =


k(t) ea t . En remplaçant dans cette équation, il vient :

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

Dans ce cas la commande optimale est :

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

Dans ce cas la commande optimale est :

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

1. Donner la nature de l’état final x(1),

2. Déterminer l’équation d’Euler-Lagrange correspondante au problème,


128 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

3. Déduire et représenter graphiquement la solution du problème,

4. Calculer la valeur optimale du critère.

Solution

1. Nature de l’état final x(1) : fixe (imposé).

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

avec les conditions terminales x(0) = 1, x(1) = 2.

3. Solution du problème et sa représentation graphique :

— Solution du problème :

ẍ(t) = 0 ⇒ ẋ(t) = c1 ⇒ x(t) = c1 t + c2

Les constantes c1 et c2 sont déterminées en utilisant les conditions aux li-


mites. Ainsi,

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

Par conséquent la solution du problème est : x∗ (t) = t + 1.

— Représentation graphique de la solution :


129

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

Figure 7.2: Trajectoire optimale x∗ (t).

4. Calculer la valeur optimale du critère.

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

1. Déduire parmi ces matrices la solution du problème. Argumenter.

2. Donner, sans démonstration, l’expression générale d’une commande linéaire


quadratique (cas de la régulation),

3. Sachant que la matrice de pondération, du terme d’énergie du critère à optimi-


130 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

ser, R = 1 et la matrice de commande du système est :


" #
0
B=
1

Déduire la loi de commande optimale.


Solution

1. La solution de Riccati est symétrique définie positive. Par conséquent, la


seule matrice vérifiant ces conditions est la matrice K3 (K1 symétrique mais
définie négative et K2 n’est pas symétrique).

2. Expression générale d’une commande linéaire quadratique (cas de la régu-


lation) :
u∗ (t) = −R−1 B T K x(t)

3. Loi de commande
" #
0
R = 1, B= , K = K3
1

u∗ (t) = −R−1 B T K x(t)


i √2 1
" #
h
= −1 0 1 √ x(t)
1 2

= −x1 (t) − 2 x2 (t)

(a) Considérons le problème de commande optimale suivant :


Z tf
1 
min J(u(t)) = 3 x2 (t) + u2(t) dt
u(t) 2 0

sujet à :
ẋ(t) = x(t) + u(t)
x(0) = x0
x(tf ) libre

1. En utilisant le principe du minimum, déterminer la solution du problème


de commande optimale,
131

2. Montrer que, pour tf → +∞, la commande optimale prend la forme sui-


vante (retour d’état) :
u(t) = F x(t)

3. Déduire le gain F du retour d’état.

Indication : la solution générale de l’équation différentielle ordinaire ÿ(t) −


α2 y(t) = 0 est :
y(t) = c1 e−α t + c2 eα t

Solution

1. Commande optimale

— Hamiltonien

H(x(t), u(t), p(t)) = ϕ(x(t), u(t), t) + p(t) ẋ(t)


1 3
= u2 (t) + x2 (t) + (u(t) + x(t)) p(t)
2 2

— Expression de la commande optimale

∂H(x(t), u(t), p(t))


= u(t) + p(t) = 0 ⇒ u(t) = −p(t)
∂u(t)

— Hamiltonien optimal

1 3
H ∗ (x(t), p(t)) = − p2 (t) + p(t) x(t) + x2 (t)
2 2

— Équations Hamilton-Pontryagin (conditions de stationnarité)

∂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)

(7.54) ⇒ ẍ(t) = −ṗ(t) + ẋ(t) (7.56)

En remplaçant ẋ(t) et ṗ(t) par leurs expressions données respectivement par


(7.54) et (7.55) dans (7.56), il vient :
132 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

ẍ(t) = − [−p(t) − 3 x(t)] − p(t) + x(t) = p(t) + 3 x(t) − p(t) + x(t)


= 4 x(t)

D’où l’équation différentielle suivante :

ẍ(t) − 4 x(t) = 0

La solution générale de cette équation différentielle est :

x(t) = c1 e−2 t + c2 e2 t

et l’équation (7.54), donne

p(t) = x(t) − ẋ(t)


 
= c1 e−2 t + c2 e2 t − −2 c1 e−2 t + 2 c2 e2 t
= c1 e−2 t + c2 e2 t + 2 c1 e−2 t − 2 c2 e2 t
= 3 c1 e−2 t − c2 e2 t

— Détermination des constantes en utilisant les conditions terminales

— Pour t = 0, on a

x(0) = x0 ⇒ x(0) = c1 e−2 ×0 + c2 e2 ×0 = x0 ⇒ c1 + c2 = x0 (7.57)

— Pour t = tf (état final libre), 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)

A partir de l’équation (7.57), on a c1 = x0 − c2 . En remplaçant c1 par


son expression dans (7.58), on obtient :

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

2. Commande optimale sous la forme u(t) = F x(t)


On a pour t ⇒ +∞ :

lim x(t) = lim c1 (tf ) e−2 t + lim c2 (tf ) e2 t


tf →+∞ t→+∞ t→+∞

lim u(t) = lim −p(t) = −3 lim c1 (tf ) e−2 t + lim c2 (tf ) e2 t


tf →+∞ tf →+∞ t→+∞ t→+∞

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 :

lim x(t) = x0 e−2 t


tf →+∞

lim u(t) = −3 x0 e−2 t = −3 lim x(t) (7.59)


tf →+∞ tf →+∞

En conclusion, d’après la relation (7.59), pour tf → +∞, on a u(t) = F x(t)

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

Exo 32. Déterminer, en utilisant l’équation d’Euler-Lagrange, la solution du problème du


calcul des variations suivant :

Z 1
min J(u(t)) = (ẋ(t) + 1)2 dt
u(t) 0

sujet à : x(0) = 1, x(1) libre

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

La résolution de l’équation d’Euler-Lagrange donne

ẍ(t) = 0 ⇒ ẋ(t) = c1 ⇒ x(t) = c1 t + c2

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

— Pour t = 1, on a (état final libre) :

∂g(x(t), ẋ(t), t)
= 2 (1 + ẋ(t))|t=1 = 0
∂ ẋ(t) t=1

= 2 (1 + c1 ) = 0 ⇒ c1 = −1
135

La solution du problème de calcul des variations est : x∗ (t) = −t + 1.

Exo 33. Soit le problème de commande linéaire quadratique (LQ) suivant :

Z +∞
min J(u(t)) = 2 x2 (t) + 0, 25 u2(t) dt
u(t) 0

sujet à : ẋ(t) = x(t) + u(t)

Résoudre le problème en utilisant l’équation de Riccati.

Solution

L’identification des matrices du problème de commande optimale donne :

A = 1, B = 1, Q = 2, R = 0, 25

L’expression de la loi de commande optimale dans le cas d’une commande linéaire


quadratique (cas de la régulation) est de la forme

u∗ (t) = −R−1 B T K x(t)

où K est la solution de l’équation de Riccati.

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

La solution de l’équation de Riccati doit être définie positive, par conséquent la


solution à retenir est K = 1 et la commande optimale est :

u∗ (t) = −4 x(t)
136 CHAPITRE 7. EXERCICES AVEC SOLUTIONS

Exo 34. Soit le problème de commande optimale suivant :

Ztf

min J u(t) = u2 (t) dt
u(t)
0

sujet à : ẋ(t) = −a x(t) + u(t), a 6= 0


x(0) = x0 , x(tf ) = 0

1. En utilisant le principe du minimum, déterminer l’expression de la commande


optimale u(t) en fonction de x0 , a, t et tf ,

2. Déduire l’expression de la trajectoire optimale de l’état x(t) en fonction de x0 ,


a, t et tf ,

3. La commande optimale, obtenue en 1, peut être écrite sous la forme suivante :

u(t) = F (a, t, T ) x(t)

Déterminer l’expression de F (a, t, T ).

Solution

1. Commande optimale

— Hamiltonien

H(x(t), u(t), p(t)) = ψ(x(t), u(t), t) + p(t) ẋ(t)


= u2 (t) + p(t) (−a x(t) + u(t))

— Expression de la commande optimale

∂H(x(t), u(t), p(t)) 1


= 2 u(t) + p(t) = 0 ⇒ u(t) = − p(t)
∂u(t) 2

— Hamilton optimal

1
H ∗ (x(t), p(t)) = −a p(t) x(t) − p2 (t)
4
137

— Équations d’Hamilton-Pontryagin (conditions de stationnarité)

∂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)

— Résolution des équations d’Hamilton-Pontryagin

(7.61) ⇒ p(t) = c1 ea t

En remplaçant l’expression de ṗ(t) dans (7.60), il vient :

c1 a t
ẋ(t) = −a x(t) − e (7.62)
2

Pour résoudre cette dernière équation, on utilise la méthode de variation de


la constante. Ainsi, en ignorant la partie non homogène de l’équation (7.62),
on a :

ẋ(t) = −a x(t)

La solution de cette équation est x(t) = k e−a t . Par conséquent, la solu-


tion de l’équation (7.62) est de la forme x(t) = k(t) e−a t (on fait varier la
constante k). En substituant cette solution dans l’équation (7.62), il vient :

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

— Détermination des constantes en utilisant les conditions terminales


— Pour t = 0, on a

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

2. L’expression de la trajectoire optimale est :

∗ x0 (ea(tf −t) − ea (t−tf ) )


x (t) =
ea tf − e−a 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

x0 (ea(tf −t) − ea (t−tf ) )


ea tf − e−a tf
2 a ea (t−tf )
= − a(t −t)
(e f − ea (t−tf ) )
2a
=
1 − e2 a (tf −t)

Vous aimerez peut-être aussi