Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
net/publication/337305272
CITATIONS READS
0 1,214
1 author:
Mohammed Belkheiri
Université Amar Telidji Laghouat
91 PUBLICATIONS 314 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Extremum Seeking and P&O Control Strategies for Achieving the Maximum Power for a PV Array: Artificial Intelligence in Renewable Energetic Systems View project
test insulation materials in power systems with the application of artificial intelligence like LS-SVM for more optimization View project
All content following this page was uploaded by Mohammed Belkheiri on 16 November 2019.
AVANCEE
Contrôle optimale et prédictif
0
UNIVERSITE AMAR TELIDJI LAGHOUAT
Faculté de Technologie
Département d’électronique
Laboratoire de Télécommunications, signaux et systèmes
Polycopie de Cours
Commande avancée
Contrôle optimale et prédictif
Mater 2 Automatique
Novembre 2019
2
Chapitre 1 -I Introduction à la Commande Optimale
Introduction :
Dans ce premier chapitre, on présente les concepts de base derrière l'optimisation dynamique et la
commande optimale et on donne un bref historique sur le calcul des variations.
Le contrôle optimal est une approche de conception des régulateurs des systèmes par la recherche de
meilleures lois de commande possibles par rapport à un indice de performance donné. La théorie de la
commande optimale a commencé à se développer juste après la seconde guerre mondiale. Le résultat
principal de cette période a été la théorie de Wiener-Kolmogorov qui traite des systèmes SISO linéaires
avec bruit gaussien. Une théorie plus générale a commencé à émerger dans les années 1950 et 60. En
1957 Bellman a publié son livre sur la programmation dynamique. En 1960 Kalman a publié son
généralisation multivariée des Wiener-Kolmogorov et en 1962 Pontryagin et al publié le principe
maximale En 1965, Isaacs a publié son livre sur les jeux différentiels.
1
𝑦(𝑡) = 𝐶 𝑥(𝑡) + 𝐷 𝑢(𝑡) 𝑦(𝑡) = 𝑔( 𝑥(𝑡), 𝑢(𝑡))
Dans la conception des lois de commande par les méthodes classiques on s'intéresse généralement à la
réponse du système à une entrée donnée (échelon ou rampe), caractérisée par le temps de montée, le
temps d'établissement, le pic de dépassement, et la précision en régime permanent, et la réponse en
fréquence du système caractérisée par des marges de gain et de phase, et la bande passante.
En théorie de commande avancée, le problème de commande optimale consiste à trouver une commande
qui entraîne le système dynamique d'atteindre un objectif ou de suivre une variable d'état(ou trajectoire)
et en même temps d'optimiser un indice de performance qui peut prendre plusieurs formes, comme décrit
ci-dessous.
2
𝑡𝑓
𝐽 = 𝑆(𝑥(𝑡𝑓 ), 𝑡𝑓 ) + ∫ 𝑉(𝑥(𝑡), 𝑢(𝑡), 𝑡)𝑑𝑡
𝑡𝑂
où R est une matrice définie positive, et Q et F sont des matrices semi-définie positives, respectivement.
Notez que les matrices Q et R peuvent être variables dans le temps.
La forme particulière de l'indice de performance ci-dessus est appelée forme quadratique (en termes
d'états et contrôles).
Les problèmes qui se posent dans la commande optimale sont classés en fonction de la structure de
l'indice de performance J. Si l’IP contient la fonction de coût terminal S(x (t), u (t), t) seulement, il est
appelé le problème Mayer, si le IP(1.3.9) a seulement le terme de coût intégrale il est appelé le problème
de Lagrange, et le problème est de type Bolza si l'IP contient à la fois le terme de coût terminal et le terme
de coût intégrale.
Il existe de nombreuses autres formes de fonctions de coût en fonction de nos spécifications de
performance.
Toutefois, les indices de performance mentionnés ci-dessus (avec des formes quadratiques) conduisent à
des résultats très élégants dans les systèmes de contrôle optimal.
Contraintes :
Les contraintes caractérisent en général les limitations physiques sur la commande (les actionneurs) 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 :
𝑢− ≤ 𝑢(𝑡) ≤ 𝑢+ et𝑥 − ≤ 𝑥(𝑡) ≤ 𝑥 +
3
Chapitre 1 -II Calcul des variations et la commande optimale
2.1 Historique
Le calcul des variations est né en 1696, avec le problème de la courbe brachistochrone, posé par
Jean Bernoulli où la recherche d’une courbe brachistochrone consiste à résoudre un problème de temps
minimal (comme l’indique la racine grecque : « βραχιστος (brachistos) », « le plus court » ; « χρονος
(chronos) », « temps »). Il s'agissait de trouver la forme de la brachistochrone, c'est-à-dire la courbe
reliant deux points fixés A et B, le long de laquelle un solide tombant sous l'effet de la gravité partant de
A arrive le plus vite en B. Ce problème fut résolu par plusieurs physiciens et mathématiciens : Jean et
Jacques Bernoulli, Gottfried Wilhelm Leibniz, Isaac Newton, Guillaume François Antoine de l'Hôpital et
Ehrenfried Walther von Tschirnhaus. Le calcul des variations a connu un profond renouveau dans les
années 1950 avec le développement de la théorie de la commande optimale, sous l'impulsion de Lev
Pontriaguine et Richard Bellman. Le formalisme de Pontryagin et de Bellman est une extension et une
amélioration du formalisme hamiltonien classique, et clarifie la formulation de Carathéodory.
b) Fonctionnelle : Une quantité variable dépond sur une fonction dénoté par : J = J (f (t)).
Une fonction f à valeurs réelles dont le domaine est l'ensemble des fonctions réelles {y(x)} est connue
comme une fonctionnelle (ou fonctionnelle d'une seule variable indépendante). Ainsi, le domaine de
définition de la fonction est un ensemble de fonctions admissibles. Dans les fonctions ordinaires les
valeurs des variables indépendantes sont des nombres. Tandis qu'avec des fonctionnelles, les valeurs des
variables indépendantes sont des fonctions. Le terme « fonctionnelle » désigne simplement les fonctions
qui en prennent d'autres fonctions comme argument
Exemple 2.1: Soit 𝑣(𝑡) = 2𝑡 2 + 1,
1 1 5
𝐽(𝑣(𝑡)) = ∫0 𝑣(𝑡)𝑑𝑡 = ∫0 (2𝑡 2 + 1)𝑑𝑡 = 3 (2.1)
4
Dans cet exemple v(t) est une fonction de t ; et la fonctionnelle J est une fonction de v(t)
𝑡
Si v(t) est la vitesse d'un véhicule alors 𝐽(𝑣(𝑡)) = ∫𝑡 𝑓 𝑣(𝑡)𝑑𝑡 représente le chemin parcouru par ce
0
véhicule.
5
Figure 2.2 Interprétation géométrique de 𝛿𝐽 et ∆𝐽
𝑡
Exemple 2.2 : Soit la fonctionnelle 𝐽(𝑥(𝑡)) = ∫𝑡 𝑓 (2𝑥 2 (𝑡) + 3𝑥(𝑡) + 4) 𝑑𝑡
0
La (première) variation de J est
𝑡𝑓
𝜕 ∫𝑡 (2𝑥 2 (𝑡)+3𝑥(𝑡)+4) 𝑑𝑡 𝑡
𝛿𝐽=( 0
) 𝛿(𝑥) = ∫𝑡 𝑓 (4𝑥(𝑡) + 3)𝛿(𝑥) 𝑑𝑡
𝜕𝑥 0
∗
Définition 2.2.2: La fonctionnelle J(x(t)) possède un extrémum (minimum ou maximum) relatif pour la
fonction𝑥 ∗ (𝑡)si, pour toute fonction x “assez proche” de 𝑥 ∗ (ou bien s'il existe un paramètre positif 𝜀 > 0
sachant que : (∀𝑡 ∈ Ω| |𝑥(𝑡) − 𝑥 ∗ (𝑡)| < 𝜀) , l'incrément de J conserve la même signe. c.à.d.
si ∆𝐽 = 𝐽(𝑥(𝑡)) − 𝐽(𝑥 ∗ (𝑡)) ≥ 0 alors 𝐽(𝑥 ∗ ) est un minimum relatif local ; et
si ∆𝐽 = 𝐽(𝑥(𝑡)) − 𝐽(𝑥 ∗ (𝑡)) ≤ 0 alors 𝐽(𝑥 ∗ ) est un maximum relatif local.
Si ces relations sont valables pour 𝜀 arbitrairement large alors 𝐽(𝑥 ∗ ) est un optimum global.
6
2.3 Problèmes fondamentaux du calcul des variations
Figure 2.3: Problème de base : 𝑥 ∗ (𝑡) représente une trajectoire optimale, en supposant qu’elle existe, vis-
à vis du critère choisi
Soit 𝑥(𝑡) une fonction scalaire avec les premières dérivées continues (le cas vectoriel peut être traité
similairement). Le problème est de trouver la fonction optimale 𝑥 ∗ (𝑡) dont la fonctionnelle,
𝑡
𝐽(𝑥(𝑡)) = ∫𝑡 𝑓 𝑉(𝑥(𝑡), 𝑥̇ (𝑡), 𝑡)𝑑𝑡 possède un optimum relatif.
𝑂
On suppose que la fonction à intégrer V possède une première et deuxième dérivées partielles continues
par rapport à tous ses arguments ; 𝑡0 et 𝑡𝑓 sont fixes (a priori) et les points extrêmes sont fixés, c.à.d.
𝑥(𝑡 = 𝑡0 ) = 𝑥0 ; 𝑥(𝑡 = 𝑡𝑓 ) = 𝑥𝑓
Lemme 1 : Soit g une fonction réelle continue sur l'intervalle [𝑡𝑂 , 𝑡𝑓 ], telle que
𝑡𝑓
∫ 𝑔(𝑡)𝛿𝑥(𝑡)𝑑𝑡 = 0
𝑡𝑂
Pour toute fonction 𝛿𝑥(𝑡)de classe C1 alors la fonction𝑔(𝑡)doit être nulle partout sur l'intervalle [𝑡𝑂 , 𝑡𝑓 ].
8
Étape 6: l’Equation d'Euler-Lagrange:
En appliquant le lemme précédent, une condition nécessaire pour que 𝑥 ∗ (𝑡)soit un optimal de la
fonctionnelle J est:
1 𝑡𝑓
2
𝜕2𝑉 𝑑 𝜕2𝑉 2 𝜕2𝑉 2
𝛿 𝐽 = ∫ {[( 2 ) − ( ) ] (𝛿𝑥(𝑡)) + ( 2 ) (𝛿𝑥̇ (𝑡)) } 𝑑𝑡
2 𝑡0 𝜕𝑥 ∗ 𝑑𝑡 𝜕𝑥𝜕𝑥̇ ∗ 𝜕𝑥̇ ∗
Selon le théorème fondamental de calcul des variations, la condition suffisante pour un minimum est que
𝛿 2 𝐽 > 0. Ceci, pour des valeurs arbitraires de 𝛿𝑥(𝑡) et 𝛿𝑥̇ (𝑡), implique que:
𝜕2 𝑉 𝑑 𝜕2 𝑉 𝜕2 𝑉
(𝜕𝑥 2 ) − 𝑑𝑡 (𝜕𝑥𝜕𝑥̇ ) > 0, (𝜕𝑥̇ 2 ) > 0
∗ ∗ ∗
Pour le max, les signes sont inversés.
2.6 Propriétés et différentes formes de l'équation d'Euler-Lagrange :
L'équation d'Euler-Lagrange peut être écrite dans de nombreuses formes :
9
𝑑𝑉𝑥̇
=0 𝑉𝑥 −
𝑑𝑡
𝜕𝑉 𝜕𝑉
avec 𝑉𝑥 = 𝜕𝑥 = 𝑉𝑥 (𝑥 ∗ (𝑡), 𝑥̇ ∗ (𝑡), 𝑡) et 𝑉𝑥̇ = 𝜕𝑥̇ = 𝑉𝑥̇ (𝑥 ∗ (𝑡), 𝑥̇ ∗ (𝑡), 𝑡)
Puisque V est une fonction de trois arguments 𝑥 ∗ (𝑡), 𝑥̇ ∗ (𝑡), et t, et que 𝑥 ∗ (𝑡), 𝑥̇ ∗ (𝑡) sont des fonctions de t,
nous obtenons
𝑑 𝜕𝑉 𝑑 𝜕𝑉(𝑥 ∗ (𝑡),𝑥̇ ∗ (𝑡),𝑡)
( ) = 𝑑𝑡 ( ),
𝑑𝑡 𝜕𝑥̇ ∗ 𝜕𝑥̇ ∗
𝑑 𝜕2 𝑉 𝜕2 𝑉 𝜕2 𝑉
= 𝑑𝑡 (𝜕𝑥𝜕𝑥̇ 𝑑𝑥 + 𝜕𝑥̇ 𝜕𝑥̇ 𝑑𝑥̇ + 𝜕𝑡𝜕𝑥̇ 𝑑𝑡 ) ,
∗
𝜕 2𝑉 𝑑𝑥 𝜕 2𝑉 𝑑2𝑥 𝜕 2𝑉
=( ) ( ) +( ) ( 2) + ( )
𝜕𝑥𝜕𝑥̇ ∗ 𝑑𝑡 ∗ 𝜕𝑥̇ 𝜕𝑥̇ ∗ 𝑑𝑡 ∗ 𝜕𝑡𝜕𝑥̇ ∗
= 𝑉𝑥𝑥̇ 𝑥̇ ∗ (𝑡) + 𝑉𝑥̇ 𝑥̇ 𝑥̈ ∗ (𝑡) + 𝑉𝑡𝑥̇ .
En combinant les équations ci-dessus, nous obtenons une forme alternative de l'équation d’EL :
𝑉𝑥 − 𝑉𝑡𝑥̇ − 𝑉𝑥𝑥̇ 𝑥̇ ∗ (𝑡) − 𝑉𝑥̇ 𝑥̇ 𝑥̈ ∗ (𝑡) = 0.
𝑑
2- La présence de et/ou 𝑥̇ ∗ (𝑡) dans l'équation d’EL signifie que c'est une équation différentielle.
𝑑𝑡
𝜕𝑉(𝑥 ∗ (𝑡),𝑥̇ ∗ (𝑡),𝑡)
3- Dans l'équation d’EL, le terme est en général une fonction de𝑥 ∗ (𝑡), 𝑥̇ ∗ (𝑡), et t. Ainsi,
𝜕𝑥̇
lorsque cette fonction est différenciée par rapport à t, le terme 𝑥̈ ∗ (𝑡) peut être présent. Cela signifie que
l'équation différentielle est en général de second ordre. Cela se manifeste également à partir de la forme
alternative de l'équation EL.
4- Il peut aussi y avoir dans l’équation d’EL des termes des produits ou des puissances de 𝑥̈ ∗ (𝑡), 𝑥̇ ∗ (𝑡) et
𝑥 ∗ (𝑡), et dans ce cas la, l'équation différentielle devient non linéaire.
5- La présence explicite de t dans les arguments indique que les coefficients peuvent être variables dans le
temps.
6- Les conditions au point initial (t=to) et au point terminal (t = tf) conduit à un problème aux limites.
Ainsi, l'équation d'Euler-Lagrange est, en général, une équation différentielle ordinaire, de second ordre
non linéaire variant dans le temps, à valeur limite à deux points. La solution de ce problème non linéaire
est tout à fait une tâche formidable et fait souvent en utilisant des techniques numériques. Ceci est le prix
que nous payons pour exiger une performance optimale !
La conformité de l'équation d'Euler-Lagrange est seulement une condition nécessaire à l'optimum.
L’optimal peut parfois donner soit un maximum ou un minimum ; tout comme les points d'inflexion où le
dérivé disparaît dans le calcul différentiel. Toutefois, si l'équation d'Euler-Lagrange n’est pas satisfaite
pour toutes fonctions, cela indique que l'optimum n’existe pas pour cette fonctionnelle.
Cas 1 : V dépend de 𝒙̇ ∗ (𝒕) et t. Autrement dit 𝑉 = 𝑉(𝑥̇ ∗ (𝑡), 𝑡). Alors l’équation𝑉𝑥 = 0. L’équation
𝑑𝑉𝑥̇
d’Euler-Lagrange devient = 0 . Dans ce cas l’´equation d’Euler-Lagrange se réduit à
𝑑𝑡
𝜕𝑉(𝑥̇ ∗ (𝑡), 𝑡)
𝑉𝑥̇ = =𝐶
𝜕𝑥̇
où𝐶 est une constante d'intégration.
10
Cas 2 : V dépend de 𝒙̇ ∗ (𝒕) seulement. c.à.d. 𝑉 = 𝑉(𝑥̇ ∗ (𝑡)) et 𝑉𝑥 = 0. L’équation d’Euler-Lagrange
𝑑𝑉𝑥̇
prend la forme =0
𝑑𝑡
𝑑𝑉𝑥̇
= 0 → 𝑉𝑥̇ = 𝐶
𝑑𝑡
Dont la solution est une ligne droite𝑥̇ ∗ (𝑡) = 𝐶1 → 𝑥 ∗ (𝑡) = 𝐶1 𝑡 + 𝐶2 .
Cas 3 : 𝑽 dépend de 𝒙∗ (𝒕) et 𝒙̇ ∗ (𝒕) c.à.d. 𝑉 = 𝑉(𝑥 ∗ (𝑡), 𝑥̇ ∗ (𝑡)) et 𝑉𝑡𝑥̇ = 0)et𝑉𝑥 = 0
En utilisant l’autre forme de l'équation d'Euler-Lagrange, nous obtenons
𝑉𝑥 − 𝑉𝑥𝑥̇ 𝑥̇ ∗ (𝑡) − 𝑉𝑥̇ 𝑥̇ 𝑥̈ ∗ (𝑡) = 0.
En multipliant l'équation précédente par 𝑥̇ ∗ (𝑡), on obtient 𝑥̇ ∗ (𝑡)[𝑉𝑥 − 𝑉𝑥𝑥̇ 𝑥̇ ∗ (𝑡) − 𝑉𝑥̇ 𝑥̇ 𝑥̈ ∗ (𝑡)] = 0.
Cela peut être réécrite comme :
𝑑
[𝑉 − 𝑥̇ ∗ (𝑡)𝑉𝑥̇ ] = 0 → 𝑉 − 𝑥̇ ∗ (𝑡)𝑉𝑥̇ = 𝐶
𝑑𝑡
Cette dernière équation 𝑉 − 𝑥̇ ∗ (𝑡)𝑉𝑥̇ = 𝐶 peut être résolue à l'aide de la méthode de séparation des
variables.
Cas 4 : 𝑽 dépend de 𝒙(𝒕) et 𝒕 c.à.d. 𝑉 = 𝑉(𝑥(𝑡), 𝑡) et 𝑉𝑥̇ = 0) Dans ce cas la, l'équation d'Euler
Lagrange deviendra
𝜕𝑉(𝑥 ∗ (𝑡), 𝑡)
=0
𝜕𝑥
La solution de cette équation ne contient aucune constantes arbitraires et dans ce cas elle ne satisfait pas
les conditions aux limites 𝑥(𝑡0 ) et 𝑥(𝑡𝑓 ) alors elle ne possède aucune solution en général sauf dans des
cas très rares.
11
2𝜋𝑑 2
𝐴(𝑑, ℎ) = + 𝜋𝑑ℎ = 𝐴0
4
L'objectif est de maximiser 𝑉(𝑑, ℎ) gardant 𝐴(𝑑, ℎ) = 𝐴0 avec 𝐴0 est une constante donnée ;
a) La Méthode directe :
On élimine une variable (h) par exemple de l'équation de volume on utilisant la formule de surface,
𝐴0 𝑑
ℎ= −
𝜋𝑑 2
Le volume en fonction de d :
𝑉(𝑑, ℎ) = 𝜋𝑑 2 ℎ/4.
𝐴0 𝑑 𝜋𝑑3
𝑉(𝑑) = −
4 8
La dérivée partielle de V(d) par rapport d s'annule au point optimal :
𝐴0 3𝜋𝑑 2
− =0
4 8
2𝐴 2𝐴
𝑑∗ = √ 3𝜋0 et ℎ∗ = √ 3𝜋0
Alors le volume sera maximisé si la hauteur est choisie égale au diamètre.
Pour trouver les valeurs optimales qui satisfaites les deux conditions précédentes, g(x1,x2)=0 et
On traite un des deux variables par exemple x1 comme une variable indépendante et x2 devient une
variable dépendante
On va choisir
13
Prenons dx1 comme différentielle indépendante et dx2 dépendante
A partir du Lagrangien
En résumé, l'optimum d'une fonction f(x1,x2) soumis à la contrainte d'égalité g(x1,x2)=0 est équivalent à
un optimum de la fonction augmentée L(x1,x2, )= f(x1,x2)+.g(x1,x2) comme si les variables x1, x2 et
sont considérés indépendantes.
Généralisation :
On considère l'extremum d'une fonction à plusieurs variables
Min/Max
Soumis à des contraintes d'égalité :
14
Chapitre 2 : L’approche Variationelle pour la résolution du problème de contrôle optimal des
systèmes dynamiques
On considère le problème de contrôle optimal de Bolza où l’indice de performance a une forme générale
contenant un terme de coût terminal (final) plus le terme intégral.
𝑡𝑓
𝐽(𝑢(𝑡)) = 𝑆(𝑥(𝑡𝑓 ), 𝑡𝑓 ) + ∫ 𝑉(𝑥(𝑡), 𝑢(𝑡), 𝑡)𝑑𝑡
𝑡𝑂
avec les conditions aux limites : 𝒙(𝒕𝟎 ) = 𝒙𝟎 , 𝒙(𝒕𝐟 ) libre et/ou 𝒕𝐟 libre
Avant d’abord de présenter la procédure de Pontryagin pour résoudre ce problème, on peut écrire :
𝒕𝒇
𝒅𝑺(𝒙(𝒕), 𝒕)
∫ 𝒅𝒕 = 𝑺(𝒙(𝒕𝒇 ), 𝒕𝒇 ) − 𝑺(𝒙(𝒕𝟎 ), 𝒕𝟎 )
𝒕𝑶 𝒅𝒕
𝑡𝑓
𝒅𝑆(𝒙(𝒕), 𝒕)
𝑱(𝒖(𝒕)) = 𝑱𝟐 (𝒖(𝒕)) + 𝑆(𝑥(𝑡0 ), 𝑡0 ) = ∫ [𝑉(𝑥(𝑡), 𝑢(𝑡), 𝑡) + ] 𝑑𝑡 + 𝑆(𝑥(𝑡𝟎 ), 𝑡𝟎 )
𝑡𝑂 𝒅𝒕
Puisque 𝑺(𝒙(𝒕𝟎 ), 𝒕𝟎 )est une quantité fixe alors les 2 problèmes avec les indices de performance J et J2
sont équivalents. L’essentielle est de trouver la commande optimale u*(t).
𝒅[𝑺(𝒙(𝒕), 𝒕)] 𝒅𝑺 𝐓 𝒅𝑺
= ( ) 𝒙̇ (𝒕) +
𝒅𝒕 𝒅𝒙 𝒅𝒕
15
2.2 Solution du problème : Pour résoudre ce problème on va suivre les étapes suivantes :
𝒕𝒇
𝒅𝑺(𝒙∗ (𝒕), 𝒕)
𝑱(𝒖∗ (𝒕)) = ∫ [𝑽(𝒙∗ (𝒕), 𝒖∗ (𝒕), 𝒕) + ] 𝒅𝒕
𝒕𝑶 𝒅𝒕
On considère des variations autour des valeurs optimales x*(t) et u*(t) exprimées par :
𝒕𝒇 +𝜹𝒕𝒇
𝒅𝑺
𝑱(𝒖(𝒕)) = ∫ [𝑽(𝒙∗ (𝒕) + 𝜹𝒙(𝒕), 𝒖∗ (𝒕) + 𝜹𝒖(𝒕), 𝒕) + ] 𝒅𝒕
𝒕𝑶 𝒅𝒕
Figure 2.2 Système à temps final (terminal) libre et état final libre
16
𝒕𝒇 𝒅𝑺 𝐓 ∗
∗ (𝒕), ∗ (𝒕),
𝒅𝑺
∗ (𝒕)) 𝑽(𝒙 𝒖 𝒕) + ( ) 𝒙̇ (𝒕) + ( )
𝑱𝒂 (𝒖 =∫ [ 𝒅𝒙 ∗ 𝒅𝒕 ∗ ] 𝒅𝒕
𝒕𝑶
+𝝀(𝒕)𝐓 (𝒇(𝒙∗ (𝒕) + 𝜹𝒙(𝒕), 𝒖∗ (𝒕) + 𝜹𝒖(𝒕), 𝒕) − 𝒙̇ ∗ (𝒕))
Etape 4 : Lagrangien
𝒅𝑺 𝐓 𝒅𝑺
𝓛𝜹 = 𝑽(𝒙∗ (𝒕) + 𝜹𝒙(𝒕), 𝒖∗ (𝒕) + 𝜹𝒖(𝒕), 𝒕) + ( ) [𝒙̇ ∗ (𝒕) + 𝜹𝒙̇ (𝒕)] + ( )
𝒅𝒙 ∗ 𝒅𝒕 ∗
𝐓 (𝒇(𝒙∗ (𝒕), ∗ (𝒕), ∗ (𝒕)
+𝝀(𝒕) 𝒖 𝒕) − 𝒙̇ − 𝜹𝒙̇ (𝒕))
𝒕𝒇 +𝜹𝒕𝒇
∗ (𝒕)) [𝓛(𝒙∗ (𝒕), 𝒖∗ (𝒕), 𝝀(𝒕), 𝒕)]𝒅𝒕
𝑱𝒂 (𝒖 =∫
𝒕𝑶
𝒕𝒇 +𝜹𝒕𝒇 𝒕𝒇 𝜹𝒕𝒇
𝜹 𝜹
𝑱𝒂 (𝒖(𝒕)) = ∫ 𝓛 𝒅𝒕 = ∫ 𝓛 𝒅𝒕 + ∫ 𝓛𝜹 𝒅𝒕
𝒕𝑶 𝒕𝑶 𝒕𝒇
𝜹𝒕𝒇
∫ 𝓛𝜹 𝒅𝒕 ≅ 𝓛𝜹 |𝒕𝒇 𝜹𝒕𝒇
𝒕𝒇
𝐓 𝐓 𝐓
𝝏𝓛 𝝏𝓛 𝝏𝓛
≅ {𝓛 + ( ) 𝜹𝒙(𝒕) + ( ) 𝜹𝒙̇ (𝒕) + ( ) 𝜹𝒖(𝒕)} |𝒕𝒇 𝜹𝒕𝒇
𝝏𝒙 ∗ 𝝏𝒙̇ ∗ 𝝏𝒖 ∗
≅ 𝓛|𝒕𝒇 𝜹𝒕𝒇
17
• Etape 5 : Première Variation
𝒕𝒇
∆𝑱 = ∫ (𝓛𝜹 − 𝓛)𝒅𝒕 + 𝓛|𝒕𝒇 𝜹𝒕𝒇
𝒕𝑶
𝝏𝓛 𝐓
𝒕𝒇
𝝏𝓛 𝐓 𝝏𝓛 𝐓
𝜹𝑱 = ∫ (( ) 𝜹𝒙(𝒕) + ( ) 𝜹𝒙̇ (𝒕) + ( ) 𝜹𝒖(𝒕)) 𝒅𝒕 + 𝓛|𝒕𝒇 𝜹𝒕𝒇
𝒕𝑶 𝝏𝒙 ∗ 𝝏𝒙̇ ∗ 𝝏𝒖 ∗
𝒕𝒇 𝒕𝒇
𝐓
𝝏𝓛 𝝏𝓛 𝐓 𝒅(𝜹𝒙(𝒕))
∫ ( ) 𝜹𝒙̇ (𝒕)𝒅𝒕 = ∫ ( ) 𝒅𝒕
𝝏𝒙̇ ∗ 𝝏𝒙̇ ∗ 𝒅𝒕
𝒕𝟎 𝒕𝟎
𝒕𝒇
𝐓
𝝏𝓛 𝒕𝒇 𝒅 𝝏𝓛 𝐓
= ( ) 𝜹𝒙(𝒕)|𝒕𝟎 − ∫ ( ) 𝜹𝒙(𝒕)𝒅𝒕
𝝏𝒙̇ ∗ 𝒅𝒕 𝝏𝒙̇ ∗
𝒕𝟎
Puisque 𝒙(𝒕𝟎 ) est imposé alors 𝜹𝒙(𝒕𝟎 ) d'où la première variation s’écrit :
𝒕𝒇
𝝏𝓛 𝐓 𝒅 𝝏𝓛 𝐓 𝝏𝓛 𝐓 𝝏𝓛 𝐓 𝒕
𝜹𝑱 = ∫ ([( ) − ( ) ] 𝜹𝒙(𝒕) + ( ) 𝜹𝒖(𝒕)) 𝒅𝒕 + 𝓛|𝒕𝒇 𝜹𝒕𝒇 + ( ) 𝜹𝒙(𝒕)|𝒕𝒇𝟎
𝒕𝑶 𝝏𝒙 ∗ 𝒅𝒕 𝝏𝒙̇ ∗ 𝝏𝒖 ∗ 𝝏𝒙̇ ∗
Selon le théorème fondamental de calcul des variations, la première variation s’annule pour avoir
un extremum. 𝜹𝑱 = 𝟎.
𝝏𝓛 𝒅 𝝏𝓛
( ) − ( ) = 𝟎,
𝝏𝒙 ∗ 𝒅𝒕 𝝏𝒙̇ ∗
𝝏𝓛
( ) =𝟎,
𝝏𝒖 ∗
Et
𝝏𝓛
( ) =𝟎
𝝏𝝀 ∗
18
En plus, dans un système de contrôle typique ; u(t) est la variation de commande indépendante et x(t)
est la variation d’état dépendante.
𝝏𝓛 𝐓 𝒕
𝓛|𝒕𝒇 𝜹𝒕𝒇 + ( ) 𝜹𝒙(𝒕)|𝒕𝒇𝟎 = 𝟎
𝝏𝒙̇ ∗
𝜹𝒙𝒇 − 𝜹𝒙(𝒕𝒇 )
𝒙̇ ∗ (𝒕) + 𝜹𝒙̇ (𝒕) ≈
𝜹𝒕𝒇
d'où
Alors
𝝏𝓛 𝐓
∗
𝝏𝓛 𝐓
(𝓛 − ( ) 𝒙̇ (𝒕)) |𝒕𝒇 𝜹𝒕𝒇 + ( ) 𝜹𝒙(𝒕)|𝒕𝒇 = 𝟎
𝝏𝒙̇ ∗ 𝝏𝒙̇ ∗
19
Etape 7 : Hamiltonien
𝒅𝑺 𝐓 ∗ 𝒅𝑺
𝓛(𝒙∗ (𝒕), 𝒖∗ (𝒕), 𝝀(𝒕), 𝒕) = 𝓗∗ (𝒙∗ (𝒕), 𝒖∗ (𝒕), 𝝀∗ (𝒕), 𝒕) + ( ) 𝒙̇ (𝒕) + ( ) − 𝝀(𝒕)𝐓 𝒙̇ ∗ (𝒕)
𝒅𝒙 ∗ 𝒅𝒕 ∗
𝝏𝓛 𝝏𝓗
( ) =𝟎
𝝏𝒖 ∗
→( 𝝏𝒖 ) =𝟎,
∗
𝝏𝓛 𝝏𝓗
( ) =𝟎
𝝏𝝀 ∗
→ ( 𝝏𝝀 ) = 𝒙̇ ∗ (𝒕)
∗
𝐓
𝝏𝓗 𝝏𝟐 𝑺 ∗ (𝒕)+
𝝏𝟐 𝑺 𝒅 𝝏𝑺 𝐓
( ) +( 𝟐 ) 𝒙̇ ( ) − {( ) − 𝝀∗ (𝒕)} = 𝟎, →
𝝏𝒙 ∗ 𝝏 𝒙 ∗
𝝏𝒙𝝏𝒕 ∗ 𝒅𝒕 𝝏𝒙 ∗
𝐓 𝐓
𝝏𝓗 𝝏𝟐 𝑺 𝝏𝟐 𝑺 𝝏𝟐 𝑺 𝝏𝟐 𝑺
( ) +( 𝟐 ) 𝒙̇ ∗ (𝒕)+
( ) − {( 𝟐 ) 𝒙̇ ∗ (𝒕)+
( ) − 𝝀̇∗ (𝒕)} = 𝟎
𝝏𝒙 ∗ 𝝏 𝒙 ∗
𝝏𝒙𝝏𝒕 ∗ 𝝏 𝒙 ∗
𝝏𝒙𝝏𝒕 ∗
𝝏𝓗
( ) = −𝝀̇∗ (𝒕)
𝝏𝒙 ∗
𝐓
𝝏𝑺 𝝏𝑺
[𝑯∗ + ] 𝜹𝒕𝒇 + [( ) − 𝝀∗ (𝒕)] 𝜹𝒙𝒇 = 𝟎
𝝏𝒕 𝒕𝒇 𝝏𝒙 ∗ 𝒕𝒇
20
Pour la condition de transversalité on distingue les trois cas suivants
Type (a) Horizon fini : temps final fixe et état final fixe :
Puisque 𝒕𝒇 et 𝒙(𝒕𝒇 ) sont imposés et fixe à priori, alors (𝜹𝒕𝒇 =0 et 𝜹𝒙𝒇 =0) dans la dernière relation :
Puisque 𝒕𝒇 est libre et 𝒙(𝒕𝒇 )est fixe à priori, alors (𝜹𝒕𝒇 arbitraire et 𝜹𝒙𝒇 =0) dans la dernière relation :
𝝏𝑺
[𝑯∗ + ] =𝟎
𝝏𝒕 𝒕𝒇
Puisque 𝒕𝒇 est fixe à priori et 𝒙(𝒕𝒇 )est libre, alors (𝜹𝒕𝒇 =0 ) et 𝜹𝒙𝒇 est arbitraire dans la dernière relation :
21
𝝏𝑺
𝝀∗ (𝒕) = ( )
𝝏𝒙 ∗ 𝒕𝒇
𝒕𝒇
𝟐
𝝏𝟐 𝓗 𝟐 𝝏𝟐 𝓗 𝟐 𝝏𝟐 𝓗
𝜹 𝑱 = ∫ ( 𝟐 (𝜹𝒙(𝒕)) + (𝜹𝒖(𝒕)) + 𝟐 (𝜹𝒖(𝒕)𝜹𝒙(𝒕))) 𝒅𝒕
𝒕𝑶 𝝏𝒙 𝝏𝒖𝟐 𝝏𝒖𝝏𝒙
∗
𝝏𝟐 𝓗 𝝏𝟐 𝓗
𝒕𝒇
= ∫ [𝜹𝒙𝐓 (𝒕) 𝜹𝒖𝐓 (𝒕)] 𝝏𝒙
𝟐 𝝏𝒖𝝏𝒙 [ 𝜹𝒙(𝒕) ] 𝒅𝒕
𝒕𝑶 𝝏 𝓗 𝝏𝟐 𝓗 𝜹𝒖(𝒕)
𝟐
[𝝏𝒖𝝏𝒙 𝝏𝒖𝟐 ] ∗
𝝏𝟐 𝓗 𝝏𝟐 𝓗
𝝏𝒙𝟐 𝝏𝒖𝝏𝒙
𝝏𝟐 𝓗 𝝏𝟐 𝓗
[𝝏𝒖𝝏𝒙 𝝏𝒖𝟐 ]∗
𝒙̇ 𝟏 = 𝒙𝟐
𝒙̇ 𝟐 = 𝒖
1
𝐽(𝑢(𝑡)) = ∫ [𝑢2 (𝑡)] 𝑑𝑡
0
Avec x(0) = 1 et x(1) = 0
Démontrer que le contrôle optimal est :
4𝑒 2𝑡
𝑢∗ (𝑡) = −
𝑒4 − 1
Exercice 2 : Un système est décrit par
où a> 0 et a2 <4b.
La variable de contrôle est soumise à la contrainte|𝑢(𝑡)| ≤ 𝑘. Elle doit être choisie pour que le système
atteigne l'état 𝒛(𝑇)=0, 𝒛̇ (𝒕) = 0 en un minimum de temps. Démontrer que le contrôle optimal est donné
par:
𝑢∗ (𝑡) = 𝑘 sign 𝑝(𝑡)
où p(·) est une fonction périodique.
La variable de contrôle sans contrainte u (·) doit être choisie de façon à minimiser l'indice de performance
1
𝐽(𝑢(𝑡)) = ∫ [3𝑥 2 (𝑡) + 𝑢2 (𝑡)] 𝑑𝑡
0
tout en transférant le système de x(0) = 0 à x(1) = 1.
Montrer que le contrôle optimal est donnée par :
3𝑒 4𝑡 3−𝑒 −4𝑡
𝑢∗ (𝑡) = −
𝑒 4 − 𝑒 −4
1 1 𝒕𝒇
𝐽 = 𝑐[𝑥(𝑡𝑓 ]2 + ∫ 𝑢2 (𝑡) 𝑑𝑡
2 2 𝒕𝑶
où x, u; u sont des variables scalaires et a; b; et c sont des constantes. Calculez analytiquement la loi de
commande optimale u* qui minimise J.
23
Chapitre 3 Contrôle linéaire optimal quadratique
Linear Quadratic Optimal Control
Dans ce chapitre, nous présentons la commande optimale des systèmes linéaires ayant un indice de
performance quadratique. Ce qui nous amène au régulateur linéaire quadratique du système (LQR) qui
traite le problème de régulation de (l’état ou la sortie) et Poursuite (Tracking problem).
𝟏 𝟏
𝓗∗ = 𝒙(𝒕)𝑻 𝑸𝒙(𝒕) + 𝒖(𝒕)𝑻 𝑹𝒖(𝒕) + 𝝀(𝒕)𝐓 [𝑨𝒙(𝒕) + 𝑩𝒖(𝒕)]
𝟐 𝟐
𝝏ℋ
Etape 2 : on cherche u*(t) à l'aide de condition c1 : ( 𝝏𝒖 ) = 0
∗
On a
𝝏 1
{ 𝑢(𝑡)𝑇 𝑹𝑢(𝑡)} = 𝑹𝑢(𝑡)
𝝏𝒖 2
Et
𝝏
{𝜆(𝑡)T 𝐵𝒖(𝒕)} = 𝐵 T 𝜆(𝑡)
𝝏𝒖
𝝏ℋ
( ) = 0 → 𝑹𝑢(𝑡) + 𝐵 T 𝜆(𝑡) = 0
𝝏𝒖 ∗
D'où
𝑢∗ (𝑡) = −𝑅 −1 𝐵 T 𝜆∗ (𝑡)
24
T
𝜕𝑆 𝜕𝑆
[𝐻 ∗ + ] 𝛿𝑡𝑓 + [( ) − 𝜆∗ (𝑡)] 𝛿𝑥𝑓 = 0
𝜕𝑡 𝑡𝑓 𝜕𝑥 ∗ 𝑡𝑓
Puisque tf est spécifie et xf est libre alors les conditions de transversalité prennent :
T
𝜕𝑆
[( ) − 𝜆∗ (𝑡)] = 0
𝜕𝑥 ∗ 𝑡𝑓
D'où
𝜕 𝑇
𝜆∗ (𝑡𝑓 ) ={𝑥(𝑡𝑓 ) 𝑭𝑥(𝑡𝑓 )} = 𝐹𝑥 ∗ (𝑡𝑓 )
𝜕𝑥
On peut représenter le système complet composé de l'équation d'état et l'équation d'état auxiliaire par le
schéma bloque suivant :
𝝏𝟐 𝓗 𝝏𝟐 𝓗
𝟐
𝛑 = 𝝏𝒙 𝝏𝒖𝝏𝒙
𝝏 𝓗 𝝏𝟐 𝓗
𝟐
[𝝏𝒖𝝏𝒙 𝝏𝒖𝟐 ]∗
𝑸 𝟎
𝛑=[ ]
𝟎 𝑹
R est définie positive, et Q est semi-définie positive, alors la matrice précédente 𝛑 est seulement semi-
définie positive.
26
Résumé LQR : Soit un système Linéaire variant dans le temps :
𝑇 1 𝑡𝑓
𝐽(𝑢(𝑡)) = 𝑥(𝑡𝑓 ) 𝑭𝑥(𝑡𝑓 ) + ∫ [𝑥(𝑡)𝑇 𝑸𝑥(𝑡) + 𝑢(𝑡)𝑇 𝑹𝑢(𝑡)]𝑑𝑡
2 𝑡𝑂
où K(t) est appelé le gain de Kalman et P(t) est une matrice symétrique définie positive obtenue par la
solution de l’équation différentielle matricielle de Riccati :
27
Exercices :
Exercice 1 :
Considérons le problème de contrôle optimal scalaire d'énergie minimale :
T
min J (0) 12 u 2 (t )dt
0
T
J (to ) ( x12 2 x22 0.4u 2 )dt
to
u(t ) k1 x1 (t ) k2 x2 (t )
x1 x2
x2 x3
x3 u
où L u(t ) L , utiliser le principe minimum pour montrer que le signal de commande optimal qui
amène le système d'une condition initiale donnée à se reposer en un temps minimal est de la forme:
u(t ) L sgn( 21 at 2 bt c)
28
Exercice 5 : Soit le système de second ordre :
𝑥̇ 1 = 𝑥2
𝑥̇ 2 = 2𝑥1 − 𝑥2 + 𝑢
Exercice 6 :
Considère le système :
𝑥̇ 1 = 𝑥2
𝑥̇ 2 = −𝑎𝑥2 + 𝑢
pour a> 0 et |𝑢(𝑡)| ≤ 1
Le système doit être transféré à l'origine x(tf) = 0 tout en minimisant l'indice de performance
𝑡𝑓
𝐽(𝑢(𝑡)) = ∫ [𝛾 + |𝑢(𝑡)|] 𝑑𝑡
𝑡0
Exercice 7 :
Considérez le problème de la minimisation :
2
𝐽(𝑢(𝑡)) = ‖𝑥(𝑡𝑓 )‖
pour le système
𝑥̇ (𝑡) = 𝐴𝑥(𝑡) + 𝐵𝑢(𝑡)
avec x(0) = x0 et tf fixe.
où 𝑥(𝑡) ∈ ℝ𝑛 et 𝑢(𝑡) ∈ ℝ avec les contraintes |𝑢(𝑡)| ≤ 1
Montrer que le contrôle optimal pour Jmin> 0 est de type bang-bang.
Quelles sont les trajectoires optimales pour le problème du double-intégrateur ? Dessiner ces trajectoires à
la main ou par simulateur Matlab en réglant A et B pour correspondre à la dynamique d'un double
intégrateur en 2D.
29
Chapitre 4 : Commande Linéaire Quadratique Gaussienne
Filtre de Kalman - Commande LQG
30
Partie 2 : Commande prédictive (Model Predictive Control)
La stratégie de MPC a été découverte et réinventée à plusieurs reprises. Les approches à horizon fini ont
été utilisées dans les années 1960 et 1970 pour définir des méthodes de calcul pour des problèmes de
contrôle optimaux sans solution de forme fermée.
Le contrôle prédictif est réapparu dans le contexte totalement différent du contrôle des processus
industriels dans les années 1980 afin d'exploiter les améliorations constantes apportées aux ressources
informatiques pour améliorer les performances. Plus récemment, cette approche a été utilisée comme
technique générale pour dériver des contrôleurs de stabilisation pour des systèmes avec contraints. Dans
le même temps, la disponibilité d'ordinateurs plus rapides et l'amélioration de l'efficacité de calcul des
contrôleurs prédictifs (y compris les schémas MPC robustes et non linéaires) ont élargi sa gamme
d'applications pour inclure les systèmes d'échantillonnage rapide.
1.1 Prédiction : La réponse future du système sera prédite par un modèle en général non-linéaire.
On simule le comportement de système sur un horizon de prédiction de fenêtre de N pas.
On utilise le vecteur uk qui représente la séquence d’entrée avec le modèle pour prédire le vecteur d'état
prédit xk / évalué à l'instant k
• Un modèle :
𝑥𝑘+1 = 𝑓(𝑥𝑘 , 𝑥𝑘 ) = 𝐴 𝑥𝑘 + 𝐵 𝑢𝑘 pour 𝑘=1, ….N-1. (eq1)
Pour une séquence prédite à l’instant k, on construit les deux vecteurs :
𝑢0/𝑘
𝑥1/𝑘
𝑢1/𝑘
𝒖𝒌 = [ ⋮ ] Modèle de l'équation 1 𝑥2/𝑘
𝒙𝒌 = [ ⋮ ]
𝑢𝑁−1/𝑘
𝑥𝑁/𝑘
31
1.2 Optimisation en ligne :
Minimisez le critère :
𝑁
𝐽𝑘 = ∑ 𝑙𝑖 (𝑥𝑖/𝑘 , 𝑢𝑖/𝑘 )
𝑖=0
Résolvez numériquement le problème d’optimisation pour déterminer la séquence d'entrée optimale :
𝒖∗𝑘 = arg 𝑢𝑘 min 𝐽𝑘
1.3 Mise en œuvre :
∗
• Applique le premier l'élément de 𝒖∗𝑘 comme commande au système alors : 𝑢𝑘 = 𝑢𝑘/𝑘
• Répétez l'optimisation (étape 1 et 2) à chaque instant d'échantillonnage k = 0, 1, ….
• Horizon fini:
𝑢0/𝑘 𝑥1/𝑘
𝑢1/𝑘 𝑥2/𝑘
A l'instant k on a 𝒖𝒌 = [ ⋮ ], 𝒙𝒌 = [ ⋮ ]
𝑢𝑁−1/𝑘 𝑥𝑁/𝑘
𝑢1/𝑘+1 𝑥2/𝑘+1
𝑢2/𝑘+1 𝑥3/𝑘+1
A l'instant k+1 on a 𝒖𝒌+𝟏 = [ ⋮ ], 𝒙𝒌+𝟏 = [ ⋮ ]
𝑢𝑁/𝑘+1 𝑥𝑁+1/𝑘+1
Exemple :
Minimiser :
33
Les avantages de la commande MPC :
• Modèles flexibles multi-variables, linéaire ou non linéaire, déterministe, stochastique ou floue
• Gère les contraintes sur les entrées et états de contrôle par exemple. limites de l'actionneur,
sécurité, environnementales et économiques
• Contrôle approximativement optimal.
Les Inconvénients
• Nécessite une optimisation en ligne
• Grand calcul pour les systèmes non linéaires et incertains.
𝑥0/𝑘 = 𝑥𝑘
𝑥1/𝑘 = 𝐴 𝑥𝑘 + 𝐵 𝑢0/𝑘
𝑥2/𝑘 = 𝐴 𝑥1/𝑘 + 𝐵 𝑢1/𝑘 = 𝐴(𝐴 𝑥𝑘 + 𝐵 𝑢0/𝑘 ) + 𝐵 𝑢1/𝑘
𝐵 0 ⋯ 0 𝐴
𝑪 = [ 𝐴𝐵 𝐵 ⋯ 0 ], 𝓜 = [ 𝐴2 ]
⋮ ⋮ ⋱ ⋮ ⋮
𝑁−1
𝐴𝑁−1 𝐵 𝐴𝑁−2
𝐵 ⋯ 𝐵 𝐴
Ou 𝑥𝑖/𝑘 = 𝐴𝑖 𝑥𝑘 + 𝑪𝒊 𝐔𝒌 ; ligne i de C
34
avec Q𝑏 = diag {𝑄, … . , 𝑄, 𝑃} et R 𝑏 = diag {𝑅, … . , 𝑅, 𝑅}
Q𝑏 , R 𝑏 sont des matrices blocks diagonales composées des matrices de pondérations Q,R
Démonstration (TD) :
𝑁−1
𝑇 𝑇 𝑇
𝐽𝑘 = ∑(𝑥𝑖/𝑘 𝑄𝑥𝑖/𝑘 + 𝑢𝑖/𝑘 𝑅 𝑢𝑖/𝑘 ) + 𝑥𝑁/𝑘 𝑃 𝑥𝑁/𝑘
𝑖=0
𝑄 𝑥1/𝑘
𝑇 𝑇 𝑇 ⋱ ⋮
= 𝑥0/𝑘 𝑄 𝑥0/𝑘 + [𝑥1/𝑘 ⋯ 𝑥𝑁/𝑘 ][ ][ ]
𝑄 ⋮
𝑥𝑁/𝑘
𝑃
𝑅 𝑢0/𝑘
𝑇 𝑇 ⋱ ⋮
+ [𝑢0/𝑘 ⋯ 𝑢𝑁−1/𝑘 ][ ][ ]
⋱ ⋮
𝑅 𝑢𝑁−1/𝑘
Alors
𝑱𝒌 = 𝒙𝑻𝒌 𝑸𝒙𝒌 + 𝐱 𝒌𝑻 𝑸 𝐱 𝒌 + 𝐮𝑻𝒌 𝐑𝐮𝒌
𝐐𝒃 = 𝐝𝐢𝐚𝐠 {𝑄, … . , 𝑄, 𝑃}
𝐑 𝒃 = 𝐝𝐢𝐚𝐠 {𝑅, … . , 𝑅, 𝑅}
On utilise le modèle de prédiction dans l'indice de performance :
𝐱 𝒌 = 𝓜𝑥𝑘 + 𝑪𝐮𝒌
On aura
𝐽𝑘 = 𝑥𝑘𝑇 𝑄𝑥𝑘 + (𝓜𝑥𝑘 + 𝑪𝐮𝒌 )𝑇 ⃗𝐐 ⃗ (𝓜𝑥𝑘 + 𝑪𝐮𝒌 ) + 𝐮𝑇𝑘 𝐑
⃗⃗ 𝐮𝒌
𝐽𝑘 = 𝑥𝑘𝑇 𝑄𝑥𝑘 + (𝓜𝑥𝑘 + 𝑪𝐮𝒌 )𝑇 𝐐 ⃗⃗ (𝓜𝑥𝑘 + 𝑪𝐮𝒌 ) + 𝐮𝑇𝑘 𝐑
⃗⃗ 𝐮𝒌
⃗⃗ (𝓜𝑥𝑘 + 𝑪𝐮𝒌 ) + 𝐮𝑇𝑘 𝐑
𝐽𝑘 = 𝑥𝑘𝑇 𝑄𝑥𝑘 + [𝑥𝑘𝑇 𝓜𝑇 + 𝐮𝑇𝑘 𝑪𝑇 ]𝐐 ⃗⃗ 𝐮𝒌
⃗⃗ 𝓜𝑥𝑘 + 𝑥𝑘𝑇 𝓜𝑇 𝐐
𝐽𝑘 = 𝑥𝑘𝑇 𝑄𝑥𝑘 + 𝑥𝑘𝑇 𝓜𝑇 𝐐 ⃗⃗ 𝑪𝐮𝒌 + 𝐮𝑇𝑘 𝑪𝑇 𝐐
⃗⃗ 𝓜𝑥𝑘 + 𝐮𝑇𝑘 𝑪𝑇 𝐐
⃗⃗ 𝑪𝐮𝒌 + 𝐮𝑇𝑘 𝐑
⃗⃗ 𝐮𝒌
= 𝑥𝑘𝑇 (𝑄 + 𝓜𝑇 ⃗𝐐⃗ 𝓜)𝑥𝑘 + 𝑥𝑘𝑇 𝓜𝑇 ⃗𝐐
⃗ 𝑪𝐮𝒌 + 𝐮𝑇𝑘 𝑪𝑇 ⃗𝐐
⃗ 𝓜𝑥𝑘 + 𝐮𝑇𝑘 (𝐑
⃗⃗ + 𝑪𝑇 ⃗𝐐
⃗ 𝑪)𝐮𝒌
𝑇
⃗⃗ 𝓜)𝑥𝑘 + 𝑥𝑘𝑇 𝓜𝑇 𝐐
= 𝑥𝑘𝑇 (𝑄 + 𝓜𝑇 𝐐 ⃗⃗ 𝑪𝐮𝒌 + (𝐮𝑇𝑘 𝑪𝑇 𝐐
⃗⃗ 𝓜𝑥𝑘 ) + 𝐮𝑇𝑘 (𝐑 ⃗⃗ 𝑪)𝐮𝒌
⃗⃗ + 𝑪𝑇 𝐐
35
Résolution de problème commande MPC :
On suppose que notre système est modélisé par un système Linéaire discret et on a aucunes contraintes
sur l'état le vecteur d’état et sur la commande :
On applique la première condition d'optimalité sur la variable manipulée (la commande u) à l'instant k
𝜕𝐽𝑘
=0
𝜕𝐔𝑘
𝐽𝑘 = 𝑥𝑘𝑇 𝑮 𝑥𝑘 + 2𝑥𝑘𝑇 𝐹 𝑇 𝐔𝑘 +𝐔𝑘𝑇 H𝐔𝒌
𝜕𝐽𝑘
= 2(𝑥𝑘𝑇 𝐹 𝑇 )𝑇 + 2𝐇 𝐮𝒌
𝜕𝐮𝑘
𝜕𝐽𝑘
= 2𝐹𝑥𝑘 + 2𝐇 𝐮𝒌 = 𝟎
𝜕𝐮𝑘
Alors
𝐮𝒌 = −(𝐇)−𝟏 𝐹𝑥𝑘 =−𝑲 𝑥𝑘
On applique la première colonne de uk
u𝑘 = −[𝑰 𝟎 … 𝟎](𝐇)−𝟏 𝐹𝑥𝑘
La condition suffisante pour que J* et u* implique que la 2ème condition doit être vérifiée :
𝜕 2 𝐽𝑘
=2𝐇 > 0
𝜕 2 𝐮𝑘
𝑅 > 0 et 𝑄, 𝑃 ≥ 0 𝑜𝑢
𝐻 = 𝐶 𝑇 𝐐𝐶 + 𝐑 > 𝟎 si{
𝑅≥0 et 𝑄, 𝑃 > 0 et 𝐶 a un rang complet ↔ (𝐴, 𝐵) 𝑐𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑏𝑙𝑒
Pour que une trajectoire x0*, x1*,. . . , x N*soit optimal, la trajectoire partant de
tout point intermédiaire xj*, c'est-à-dire xj*, xj+1*,. . . , xN*, 0 ≤ j ≤ N - 1, doit être
optimale.
Supposons que l'itinéraire le plus rapide entre Tamanraset et Alger passe par Laghouat. Le principe
d'optimalité formalise le fait évident que la portion de l'itinéraire reliant Laghouat à Alger est également
l'itinéraire le plus rapide pour un trajet qui part de Laghouat et se termine à Alger.
36
1 𝑇
𝐽𝑁 = 𝑥𝑁 𝑃𝑁 𝑥𝑁 = 𝐽𝑁∗
2
Maintenant on met 𝑘 = 𝑁 − 1 alors
1 𝑇 𝑇
1
𝐽𝑁−1 = (𝑥𝑁−1 𝑄𝑁−1 𝑥𝑁−1 + 𝑢𝑁−1 𝑅𝑁−1 𝑢𝑁−1 ) + 𝑥𝑁𝑇 𝑆𝑁 𝑥𝑁
2 2
1 𝑇 𝑇
= (𝑥𝑁−1 𝑄𝑁−1 𝑥𝑁−1 + 𝑢𝑁−1 𝑅𝑁−1 𝑢𝑁−1 ) + 𝐽𝑁∗
2
Selon le principe d'optimalité de Bellman, on cherche 𝑢𝑁−1pour JN-1, qui peut être réécrit comme
1 𝑇 1 𝑇
𝐽𝑁−1 = 𝑥𝑁−1 𝑄𝑁−1 𝑥𝑁−1 + 𝑢𝑁−1 𝑅𝑁−1 𝑢𝑁−1
2 2
1
+ (𝐴𝑁−1 𝑥𝑁−1 + 𝐵𝑁−1 𝑢𝑁−1 )𝑇 𝑃𝑁 (𝐴𝑁−1 𝑥𝑁−1 + 𝐵𝑁−1 𝑢𝑁−1 )
2
Puisqu'il n'y a pas de contrainte sur l’entrée, le minimum est donc trouvé par:
𝜕𝐽𝑁−1
= 𝑅𝑁−1 𝑢𝑁−1 + 𝐵𝑁−1 𝑇 𝑃𝑁 (𝐴𝑁−1 𝑥𝑁−1 + 𝐵𝑁−1 𝑢𝑁−1 ) = 0
𝜕𝑢𝑁−1
−1
ce qui donne 𝑢𝑁−1 = −(𝐵𝑁−1 𝑇 𝑃𝑁 𝐵𝑁−1 + 𝑅𝑁−1 ) 𝐵𝑁−1 𝑇 𝑃𝑁 𝐴𝑁−1 𝑥𝑁−1
−1
Si on pose : 𝐾𝑁−1 = (𝐵𝑁−1 𝑇 𝑃𝑁 𝐵𝑁−1 + 𝑅𝑁−1 ) 𝐵𝑁−1 𝑇 𝑃𝑁 𝐴𝑁−1
On peut réécrire
𝑢𝑁−1 = −𝐾𝑁−1 𝑥𝑁−1
Le coût optimal pour aller de k = N-1 est trouvée par la substitution du contrôle optimal dans
l'expression de 𝐽𝑁−1 :
1 𝑇
∗
𝐽𝑁−1 = 𝑥𝑁−1 [(𝐴𝑁−1 − 𝐵𝑁−1 𝐾𝑁−1 )𝑇 𝑃𝑁 (𝐴𝑁−1 − 𝐵𝑁−1 𝐾𝑁−1 )+𝐾𝑁−1 𝑇 𝑅𝑁−1 𝐾𝑁−1 + 𝑄𝑁−1 ]𝑥𝑁−1
2
Si on définit
𝑃𝑁−1 = (𝐴𝑁−1 − 𝐵𝑁−1 𝐾𝑁−1 )𝑇 𝑃𝑁 (𝐴𝑁−1 − 𝐵𝑁−1 𝐾𝑁−1 )+𝐾𝑁−1 𝑇 𝑅𝑁−1 𝐾𝑁−1 + 𝑄𝑁−1
Alors:
∗
1 𝑇
𝐽𝑁−1 = 𝑥𝑁−1 𝑃𝑁−1 𝑥𝑁−1
2
1
Pour 𝑘 = 𝑁 𝐽𝑁 = 2 𝑥𝑁𝑇 𝑃𝑁 𝑥𝑁 = 𝐽𝑁∗
1
𝑇 𝑇 1
Pour 𝑘 = 𝑁 − 1 𝐽𝑁−1 = 2 (𝑥𝑁−1 𝑄𝑁−1 𝑥𝑁−1 + 𝑢𝑁−1 𝑅𝑁−1 𝑢𝑁−1 ) + 2 𝑥𝑁𝑇 𝑃𝑁 𝑥𝑁
1 𝑇 𝑇 𝑇 1
Pour 𝑘 = 𝑁 − 2 𝐽𝑁−2 = 2 (𝑥𝑁−2 𝑄𝑁−2 𝑥𝑁−2 + 𝑢𝑁−2 𝑅𝑁−2 𝑢𝑁−2 ) + 2 𝑥𝑁−1 𝑃𝑁−1 𝑥𝑁−1
La structure du problème est la même. Pour obtenir u N-2 * il faut remplacer N-1 par N-2.
Si nous continuons de décrémenter k et appliquer le principe d'optimalité, le résultat pour k = N-1, ..., 1,
0 est:
−1
𝑢𝑘 = −𝐾𝑘 𝑥𝑘 ; 𝐾𝑘 = (𝐵𝑘 𝑇 𝑃𝑘+1 𝐵𝑘 + 𝑅𝑘 ) 𝐵𝑘 𝑇 𝑃𝑘+1 𝐴𝑘 Le Gain de Kalman
𝑃𝑘 = (𝐴𝑘 − 𝐵𝑘 𝐾𝑘 )𝑇 𝑃𝑘+1 (𝐴𝑘 − 𝐵𝑘 𝐾𝑘 )+𝐾𝑘 𝑇 𝑅𝑘 𝐾𝑘 + 𝑄𝑘 Equation de différence de Ricatti
Ou 𝑃𝑘 = 𝐴𝑘 𝑇 𝑃𝑘+1 𝐴𝑘 + 𝑄𝑘 − 𝐴𝑘 𝑇 𝑃𝑘+1 𝐵𝑘 𝐾𝑘 Equation de différence de Ricatti
1
𝐽𝑘∗ = 2 𝑥𝑘𝑇 𝑃𝑘 𝑥𝑘 le coût optimal
37
L’algorithme de calcule de commande MPC :
Pour k= N-1 :-1 : 0
−1
𝐾𝑘 = (𝐵𝑘 𝑇 𝑃𝑘+1 𝐵𝑘 + 𝑅𝑘 ) 𝐵𝑘 𝑇 𝑃𝑘+1 𝐴𝑘
𝑢𝑘 = −𝐾𝑘 𝑥𝑘
𝑃𝑘 = 𝐴𝑘 𝑇 𝑃𝑘+1 𝐴𝑘 + 𝑄𝑘 − 𝐴𝑘 𝑇 𝑃𝑘+1 𝐵𝑘 𝐾𝑘
Fin
Allpiquez u0
∆𝑥𝑖+1 𝐴 0 ∆𝑥𝑖 𝐵
𝑥𝑎 (𝑖 + 1) = ( )[ 𝐼𝑝 ] ( 𝑦𝑖 ) + [𝐶𝐵 ] ∆𝑢𝑖
𝑦𝑖+1 𝐶𝐴
…..
38
Exemple :
Exemple d'application Ex MPC1: Soit le système LTI discrétisée qui sera commandé sur l'horizon N=4.
1.1 2 0
𝐴=[ ],𝐵 = [ ] , et 𝐶 = [−1 1]
0 0.95 0.079
Solution :
𝐱 𝒌 = 𝓜𝑥𝑘 + 𝑪𝐮𝒌
[nb,mb]=size(B)
Cp=[];
for i=1 :N
Cpi=[zeros(nb,N-i)];
for j=0:i-1
Cpi=[A^j*B Cpi]
end
Cp=[Cp;Cpi]
end
Qp=[];
Rp=[];
for i=1:N-1
Qp = blkdiag(Qp,Q);
39
Rp = blkdiag(Rp,R);
end
Qp=blkdiag(Qp,P)
Rp = blkdiag(Rp,R)
H=Cp'*Qp*Cp+Rp
% Le Gain MPC
Kp=-inv(H)*F
K=Kp(1,:)
Resultat :
1.1000 2.0000
𝐴 0 0.9500
1.2100 4.1000
𝓜 = [𝐴2 ] =
0 0.9025
𝐴3 1.3310 6.3150
[ 0 0.8574]
0.0000 0.0000 0.0000 0.0000
0.0790 0.0000 0.0000 0.0000
𝐵 0 0 0 0.1580 0.0000 0.0000 0.0000
𝐴𝐵 𝐵 0 0
𝑪=[ 2 ] 𝑪 = 0.0750 0.0790 0.0000 0.0000
𝐴 𝐵 𝐴𝐵 𝐵 0 0.3239 0.1580 0.0000 0.0000
𝐴3 𝐵 𝐴2 𝐵 𝐴𝐵 𝐵 0.0713 0.0750 0.0790 0.0000
0.4989 0.3239 0.1580 0.0000
[ 0.0677 0.0713 0.0750 0.0790]
0.9809 4.9440
𝐹 = [ 0.3847 2.1822 ]
0.0163 0.2197
−0.1157 −0.6199
7.5892 22.7765
𝐺=[ ]
22.7765 103.6836
𝐮𝒌 ∗ = −(𝐇)−𝟏 𝐹𝑥𝑘 =−𝑲 𝑥𝑘
40
N=1 N=2 N=3 N=4 N=10
K= [5.35 5.11] [1.23 −3.92] [−3.79 −16.92] [−4.3 −18.62] [−4.35 −18.68]
𝜆(𝐴 + 𝐵𝐾) = [0.29 2.15] [1.37 0.37] [0.36 ∓ 0.21𝑖] [0.29 ∓ 0.17𝑖] [0.29 ∓ 0.16𝑖]
Simulations:
41
Commentaire : Les réponses en boucle prédites et fermé sont différentes pour N petit
42
Exercices :
Exercice 1 :
Soit le système linéaire discrétisé :
𝑥 (𝑘 + 1) 1 0.1 𝑥1 (𝑘) 0.0
( 1 )=[ ]( ) + [ ] 𝑢(𝑘)
𝑥2 (𝑘 + 1) 0 2.0 𝑥2 (𝑘) 0.5
𝑥1 (𝑘)
𝑦(𝑘) = [1 0] ( )
𝑥2 (𝑘)
Ce système sera contrôlé par une loi de commande prédictive MPC afin de minimiser l'indice de
performance :
𝑁−1
2 2 2
𝐽(𝑘) = ∑(𝑦𝑖/𝑘 + 𝑟𝑢𝑖/𝑘 ) + 𝑦𝑁/𝑘 , 𝑟=1
𝑖=0
Montrer que le vecteur d'état prédit peut être écrit sous la forme :
𝑇
𝐱 𝒌 = 𝓜𝑥𝑘 + 𝑪𝐮𝒌 avec 𝒖(𝑘) = [𝑢0/𝑘 … 𝑢𝑁−1/𝑘 ]
et évaluer C et M pour un horizon de N = 3.
Pour N = 3, déterminer les matrices H, F et G
𝐽𝑘 = 𝐮𝑇𝑘 𝐻𝐮𝒌 + 2𝑥𝑘𝑇 𝐹 𝑇 𝐮𝑘 + 𝑥𝑘𝑇 𝐺 𝑥𝒌
Donner des expressions pour les dérivées 𝜕𝐽𝑘 /𝜕𝑢𝑖/𝑘 pour i = 0, 1, 2.
Par conséquent, vérifiez que le gradient de J est
∇𝐮𝒌 𝐽𝑘 = 2𝐻𝐮𝒌 + 2𝐹 𝑥𝑘
.
Exercice 2 :
(a). Pour le modèle et l'indice de performance donné à l'exercice 1. Montrer que la loi de contrôle
prédictive pour N = 3 est un simple retour d’Etat linéaire :
𝐮𝒌 = 𝐾 𝑥𝑘 et 𝐾 = [−0.1948 0.1168]
Par conséquent montrer que le système en boucle fermée est instable.
(b) Ecrire du code Matlab pour évaluer Ci pour i = 1,. . . , N, et pour déterminer H et F pour horizon de
prédiction donné N. Montrer que la loi de contrôle prédictive ne stabilise pas le système si N <6.
43
Quelles sont les meilleurs modèles pour la commande prédictive ?
Modèle sous forme matricielle ‘sans et avec perturbation’ :
A- Perturbation de sortie
𝒅𝑘+1 = 𝒅𝑘 + 𝒗𝑘 et 𝒚𝑘 = 𝑪𝒙𝑘 + 𝑫 𝒖𝑘 + 𝒅𝑘
𝒙𝑘+1
𝒁𝑘+1 = (𝒅 ) = 𝑨 ̃ 𝒁𝑘 + 𝑩
̃ 𝒖𝑘
𝑘+1
̃ 𝒁𝑘 + 𝑫 𝒖𝑘 + 𝒗𝑘
𝒚𝑘 = 𝑪
̃ = (𝑨
𝑨
𝟎 ̃ 𝑩 ̃ = (𝑪 𝑰)
) , 𝑩 = ( ), et 𝑪
𝟎 𝑰 𝟎
𝒙𝑘+1
𝒁𝑘+1 = (𝒅 )
𝑘+1
̃ 𝒁𝑘 + 𝑫 𝒖𝑘 + 𝒗𝑘
𝒚𝑘 = 𝑪
̃ = (𝑨
𝑨
𝑭 ̃ 𝑩 ̃ = ( 𝑪 𝟎)
) , 𝑩 = ( ), et 𝑪
𝟎 𝑰 𝟎
̃ 𝒁𝑘 + 𝑩
𝒁𝑘+1 = 𝑨 ̃ 𝒖𝑘
C- Modèle augmenté
• Intégration systématique de l'action intégrale aux modèles d'états :
Problème :
Avec une valeur de consigne zéro, le retour d'état de stabilisation typique de la forme
uk = −K xk
Il ne donnera pas de contrôle sans de décalage en présence de perturbations non nulles.
Une forme alternative de Feedback : Le retour d'état typique n'inclut pas l'action intégrale. On montre
dans cette section une méthode par laquelle cette limitation peut être surmontée :
Considérons maintenant une forme alternative de retours d'État :
𝒖 = − 𝑲(𝒙𝑘 − 𝒙𝑠𝑠 ) + 𝒖𝑠𝑠
Où xss, uss sont des estimations des valeurs d'état stationnaire de l'état et de l'entrée donnant un
poursuite parfait (sans aucun erreur statique). Sous l'hypothèse que xss, uss sont cohérents, alors
pour dk fixes, une telle loi de contrôle entraînera nécessairement :
44
Commande MPC avec contraintes :
Le but de MPC est clairement de ne pas émuler le contrôleur LQ-optimal sans contraintes, qui
après tout est simplement une loi de rétroaction linéaire qui peut être calculée en ligne en utilisant
la connaissance du modèle de système. Le véritable avantage de MPC réside dans sa capacité à
déterminer des lois de rétroaction non linéaires qui sont optimales pour les systèmes sous
contraintes par des calculs numériques qui sont effectués en ligne (c'est-à-dire entre les
échantillons).
Dans cette section, nous discuterons des contraintes opérationnelles fréquemment rencontrées
dans la conception des systèmes de contrôle.
Ces contraintes opérationnelles sont présentées comme des inégalités linéaires du contrôle et des
variables d'état du système
45
𝑢𝑚𝑖𝑛 ≤ 𝑢 ≤ 𝑢𝑚𝑎𝑥 et/ou ∆𝑢𝑚𝑖𝑛 ≤ ∆𝑢 = 𝑢𝑘 − 𝑢𝑘−1 ≤ ∆𝑢𝑚𝑎𝑥
Les contraintes d'entrée résultent généralement des limites d'actionneur, par ex. saturation en d.c.
couple moteurs et saturation du débit dans les vannes.
𝑥 𝑚𝑖𝑛 ≤ 𝑥 ≤ 𝑥 𝑚𝑎𝑥
46
Idée principale :
𝑇
𝑥𝑁/𝑘 ∈ 𝝌𝒇 la contrainte finale et 𝑥0/𝑘 = 𝑥𝑘
Les valeurs de P et 𝝌𝒇 sont choisies pour simuler un horizon infini.
2- Pour k> N, où il n'y a pas de contraintes actives : LQR sans contrainte à partir de l'état xN
∞
𝑇 𝑇
𝐽∗ (𝑥) = ∑(𝑥𝑖/𝑘 𝑄𝑥𝑖/𝑘 + 𝑢𝑖/𝑘 𝑅 𝑢𝑖/𝑘 )
𝑖=𝑁
sachat que 𝑥𝑖+1/𝑘 = 𝐴 𝑥𝑖/𝑘 + 𝐵 𝑢𝑖/𝑘 L
Nous lions la queue de l'horizon infini coûte de N à 1 en utilisant la loi de contrôle LQR:
𝑢 = 𝐾𝑙𝑞𝑟 𝑥
𝑥𝑁𝑇 𝑃 𝑥𝑁 est le coût de l'horizon infini correspondant
P est la solution de l'équation algébrique de Riccati en temps discret
Choix de N tel que la satisfaction des contraintes soit garantie?
Toutes les contraintes d'entrée et d'état sont satisfaites pour le système en boucle fermée utilisant
𝑇
la loi de contrôle LQR pour 𝑥𝑁/𝑘 ∈ 𝝌𝒇
Le l'ensemble terminal 𝝌𝒇 est souvent défini par des contraintes linéaires ou quadratiques
La borne tient dans l'ensemble terminal et est utilisée comme coût terminal
47
Le l'ensemble terminal 𝝌𝒇 définit la contrainte de terminal
où E, F, M et γ sont des matrices et des vecteurs de dimensions compatibles. Les variable de décision sont
regroupées dans le vecteur z .
Sans perte de généralité, E est supposé symétrique et positif défini.
𝑁−1
𝑇 𝑇 𝑇
min ∑(𝑥𝑖/𝑘 𝑄𝑥𝑖/𝑘 + 𝑢𝑖/𝑘 𝑅 𝑢𝑖/𝑘 ) + 𝑥𝑁/𝑘 𝑃 𝑥𝑁/𝑘
𝑢
𝑖=0
sachant que : 𝑥𝑖/𝑘 ∈ 𝕏 𝑖 ∈ {1, … , 𝑁 − 1} et 𝑥𝑁/𝑘 ∈ 𝒳𝑓
𝑢𝑖/𝑘 ∈ 𝕌 𝑖 ∈ {1, … , 𝑁 − 1}
𝑥𝑖+1/𝑘 = 𝐴𝑥𝑖/𝑘 + 𝐵𝑢𝑖/𝑘
48
On génère les matrices E, G et H et les vecteurs g et h à partir du problème d'optimisation :
𝑭 𝟎 𝒇
𝑭 𝟎 𝒇
⋱ ⋱ ⋮
𝑭 𝟎 𝒇
𝑭𝒇 𝟎 𝒈 ≔ 𝒇𝒇
𝑮≔ …
𝟎 𝑴 𝒎
𝟎 𝑴 𝒎
⋱ ⋱ ⋮
𝟎 𝑴 𝒎
[ 𝟎 𝑴] [𝒎]
49
Multiplicateur de Lagrange
On commence d'abord par la solution du problème avec contraintes d'égalités :
1
min 𝐽 = 𝑧 T 𝐸𝑧 + 𝑧 T 𝐹
2
Soumis aux contraintes
𝐺𝑧 = 𝑔
∂ℒ
= 𝐺𝑧 − 𝑔 = 0
∂𝜆
La solution de ce problème est donnée par :
𝜆∗ = −(𝐺𝐸 −1 𝐺 𝑇 )−1 (𝑔 + 𝐺𝐸 −1 𝐹)
𝑧 ∗ = −𝐸 −1 (𝐺 T 𝜆 + 𝐹)
𝑧 ∗ = −𝐸 −1 𝐹 − 𝐸 −1 𝐺 T 𝜆 = 𝑧 ∗0 − 𝐸 −1 𝐺 T 𝜆
où le premier terme 𝑧 ∗0 est la solution optimale globale qui donnera un minimum de la fonction de
coût d'origine J sans contraintes, et le second terme est un terme de correction dû aux contraintes
d'égalité.
Exemple 1 : Minimisez
1
min 𝐽 = 𝑧 T 𝐸𝑧 + 𝑧 T 𝐹
2
Soumis aux contraintes
𝑧1 + 𝑧2 +𝑧3 = 1
3𝑧1 − 2𝑧2 − 3𝑧3 = 1
1 0 0 −2
où 𝐸 = [0 1 0] ; 𝐹 = [−3]
0 0 1 −1
Solution :
La solution du problème sans la prise en compte des contraintes est donnée par :
1 0 0 −1 −2 2
∗0 −1
𝑧 = −𝐸 𝐹 = − [0 1 0] [−3] = [3]
0 0 1 −1 1
50
𝑧1
1 1 1 𝑧 1
[ ] [ 2] = [ ]
3 −2 −3 𝑧 1
3
Alors
1 1 1 1
𝐺=[ ] et 𝑔 = [ ]
3 −2 −3 1
3 −2 −6
𝐺𝐸 −1 𝐺 𝑇 = [ ] ; 𝐺𝐸 −1 𝐹 = [ ]
−2 22 3
1.6452
𝜆∗ = −(𝐺𝐸 −1 𝐺 𝑇 )−1 (𝑔 + 𝐺𝐸 −1 𝐹) = [ ]
−0.0323
2 1 3 0.4516
1.6452
𝑧 ∗ = 𝑧 ∗0 − 𝐸 −1 𝐺 T 𝜆 = [3] − [1 −2] [ ] = [ 1.2903 ]
−0.0323
1 1 −3 −0.7419
Exemple 2 : Dans cet exemple, nous examinons ce qui se passe à la solution optimale lorsque les
contraintes linéaires soient dépendantes.
Nous supposons que la fonction objective
1
𝐽 = 𝑧 T 𝐸𝑧 + 𝑧 T 𝐹
2
Soumis aux contraintes
𝑧1 + 𝑧2 = 1
2𝑧1 + 2𝑧2 = 6
1 0 −2
où 𝐸 = [ ];𝐹 = [ ]
0 1 −2
En utilisant la représentation graphique des contraintes d'égalité, nous pouvons démontrer qu'il n'y
a pas de solution possible de z1 et z2 qui satisfera les contraintes d'égalité. En outre, nous pouvons
2 4
démontrer que la matrice 𝐺𝐸 −1 𝐺 𝑇 = [ ]n'est pas inversible.
4 8
51
Exemple 3. Dans cet exemple, nous montrerons comment le nombre de contraintes d'égalité est
également un problème dans la solution optimale sous contrainte. Encore une fois, nous utilisons
la même fonction objective que dans l'exemple 1 où :
1 0 0 −2
𝐸 = [0 1 0] ; 𝐹 = [−3]
0 0 1 −1
mais nous ajoutons une contrainte supplémentaire aux contraintes d'origine afin que
𝑧1 + 𝑧2 +𝑧3 = 1
3𝑧1 − 2𝑧2 − 3𝑧3 = 1
𝑧1 − 3𝑧2 + 2𝑧3 = 1
En résumé, afin de trouver la solution contrainte optimale, les contraintes d'égalité linéaire doivent
être linéairement indépendantes.
De plus, le nombre de contraintes d'égalité doit être inférieur ou égal au nombre de variables de
décision (c'est-à-dire, z). Si le nombre de contraintes d'égalité est égal au nombre de variables de
décision, la seule solution réalisable est celle qui satisfait les contraintes et il n'y a pas de variable
supplémentaire en u qui puisse être utilisée pour optimiser la fonction objectif d'origine.
Si le nombre de contraintes d'égalité est supérieur au nombre de variables de décision, alors il n'y
a pas de solution réalisable pour satisfaire les contraintes. Alternativement, la situation est
appelée irréalisable.
Dans la minimisation avec des contraintes d'inégalité, le nombre de contraintes pourrait être plus
grand que le nombre de variables de décision.
Nous introduisons les conditions de Kuhn-Tucker, qui définissent les contraintes actives et
inactives en termes de multiplicateurs de Lagrange.
𝐸𝑧 + 𝐹 + 𝐺 T 𝜆 = 0
𝐺𝑧 − 𝑔 ≤ 0
T (𝐺𝑧
𝜆 − 𝑔) = 0
𝜆≥0
52
où le vecteur λ contient les multiplicateurs de Lagrange.
Ces conditions peuvent être exprimées sous une forme plus simple en termes d'ensemble de
contraintes actives.
Soit Sact l'ensemble d'index des contraintes actives. Alors, les conditions nécessaires deviennent :
𝐸𝑧 + 𝐹 + ∑ 𝜆𝑖 𝐺𝑖 T = 0
𝑖∈𝑆𝑎𝑐𝑡
𝐺𝑖 𝑧 − 𝑔𝑖 = 0 pour 𝑖 ∈ 𝑆𝑎𝑐𝑡
𝐺𝑖 𝑧 − 𝑔𝑖 < 0 pour 𝑖 ∉ 𝑆𝑎𝑐𝑡
𝜆𝑖 ≥ 0 pour 𝑖 ∈ 𝑆𝑎𝑐𝑡
𝜆𝑖 = 0 pour 𝑖 ∉ 𝑆𝑎𝑐𝑡
La contrainte 𝐺𝑖 𝑧 − 𝑔𝑖 = 0 signifie qu'il s'agit d'une contrainte d'égalité, d'où une contrainte
active.
En revanche, 𝐺𝑖 𝑧 − 𝑔𝑖 < 0 signifie que la contrainte est satisfaite, c'est donc une contrainte
inactive.
Pour une contrainte active, le multiplicateur de Lagrange correspondant est non négatif, tandis que
le multiplicateur de Lagrange est nul si la contrainte est inactive. Il est clair que si l'ensemble actif
était connu au paravent, le problème initial pourrait être remplacé par le problème correspondant
ayant uniquement des contraintes d'égalité. Explicitement, en supposant que Gact et λact sont
donnés, la solution optimale a la forme fermée :
−1
𝜆𝑎𝑐𝑡 ∗ = −(𝐺𝑎𝑐𝑡 𝐸 −1 𝐺𝑎𝑐𝑡 T ) (𝑔𝑎𝑐𝑡 + 𝐺𝑎𝑐𝑡 𝐸 −1 𝐹)
𝑧 ∗ = −𝐸 −1 (𝐺𝑎𝑐𝑡 T 𝜆𝑎𝑐𝑡 + 𝐹)
Exemple 4 Dans l'exemple 2, nous avons montré que lors de l'optimisation avec des contraintes
d'égalité, si les contraintes sont dépendantes, alors il n'y a pas de solution réalisable.
Dans cet exemple, nous examinons ce qui se passe à la solution optimale si ces contraintes sont
des contraintes d'inégalité.
Nous supposons que la fonction objective :
1
𝐽 = 𝑧 T 𝐸𝑧 + 𝑧 T 𝐹
2
1 0 −2
où 𝐸 = [ ];𝐹 = [ ]
0 1 −2
Soumis aux contraintes
𝑧1 + 𝑧2 ≤ 1
2𝑧1 + 2𝑧2 ≤ 6
Solution. C'est clair que l'ensemble des variables qui vérifie la première inégalité 𝑧1 + 𝑧2 ≤ 1
satisfaire la deuxième inégalité 2𝑧1 + 2𝑧2 ≤ 6.
Ceci est illustré à la figure 2.5. Ainsi, la contrainte (𝑧1 + 𝑧2 ≤ 1) est une contrainte active, alors
que la contrainte (2𝑧1 + 2𝑧2 ≤ 6) est une contrainte inactive.
Nous trouvons l'optimum sous contrainte en minimisant J sujet à la contrainte d'égalité : 𝑧1 + 𝑧2 =
53
1 qui est 𝑧1 = 0.5 et 𝑧2 = 0.5. Nous vérifions qu'en effet avec cet ensemble de valeurs de 𝑧2 et
𝑧2 =, l'inégalité (2𝑧1 + 2𝑧2 ≤ 6) est vérifiée.
L'idée de base est de définir à chaque étape un ensemble de contraintes, appelées ensemble de
travail, qui doit être traité comme l'ensemble actif.
L'ensemble de travail est choisi pour être un sous-ensemble des contraintes qui sont réellement
actives au point courant, et donc le point courant est réalisable (faisable) pour l'ensemble de
travail.
L'algorithme continue ensuite à se déplacer sur la surface définie par l'ensemble de contraintes de
travail vers un point amélioré.
À chaque étape de la méthode de jeu actif, un problème de contrainte d'égalité est résolu. Si tous
les multiplicateurs de Lagrange λi ≥ 0, alors le point est une solution locale au problème original.
Si, d'autre part, il existe un λi <0, alors la valeur de la fonction objective peut être diminuée en
relâchant la contrainte i (c'est-à-dire en la supprimant de l'équation de contrainte).
Au cours de la minimisation, il est nécessaire de surveiller les valeurs des autres contraintes pour
s'assurer qu'elles ne sont pas violées, puisque tous les points définis par l'algorithme doivent être
réalisables.
Il arrive souvent que lors d'un déplacement sur la surface de travail, une nouvelle limite de
contrainte soit rencontrée.
54
Il est nécessaire d'ajouter cette contrainte à l'ensemble de travail, puis de procéder à la
surface de travail redéfinie.
55
Exemple 5 Nous utilisons la fonction objective
1
𝐽 = 𝑧 T 𝐸𝑧 + 𝑧 T 𝐹
2
où :
1 0 0 −2
𝐸 = [0 1 0] ; 𝐹 = [−3]
0 0 1 −1
mais nous ajoutons une contrainte supplémentaire aux contraintes d'origine afin que
𝑧1 + 𝑧2 +𝑧3 ≤ 1
3𝑧1 − 2𝑧2 − 3𝑧3 ≤ 1
𝑧1 − 3𝑧2 + 2𝑧3 ≤ 1
Solution : La solution admissible des contraintes d'égalité (2.49) existe, c'est la solution des
équations linéaires :
𝑧1 + 𝑧2 +𝑧3 = 1
3𝑧1 − 2𝑧2 − 3𝑧3 = 1
𝑧1 − 3𝑧2 + 2𝑧3 = 1
Ainsi, les trois contraintes d'égalité sont considérées comme le premier ensemble de travail.
Nous calculons le multiplicateur de Lagrange pour les trois contraintes qui donne :
1.6873
∗ −1 T )−1 (𝑔 −1
𝜆 = −(𝐺𝐸 𝐺 + 𝐺𝐸 𝐹) = [ 0.0309 ]
−0.4352
Il est clair que le troisième élément de λ est négatif. Par conséquent, la troisième contrainte 𝑧1 −
3𝑧2 + 2𝑧3 = 1 est une contrainte inactive et sera supprimée de l'équation de l'ensemble des
contraintes.
Nous prenons les deux premières contraintes comme contraintes actives, et résolvons à nouveau le
problème d'optimisation en minimisant.
1
𝐽 = 𝑧 T 𝐸𝑧 + 𝑧 T 𝐹
2
Sous contraintes 𝑧1 + 𝑧2 +𝑧3 = 1
3𝑧1 − 2𝑧2 − 3𝑧3 = 1
Ce problème est identique au problème donné dans l'exemple 1. Nous résolvons ce problème de
contrainte d'égalité, en obtenant comme avant
1.6452
𝜆∗ = [ ]
−0.0323
Clairement, le deuxième élément de λ est négatif. Nous éliminons la deuxième contrainte et
résolvons le problème d'optimisation.
1
= 𝑧 T 𝐸𝑧 + 𝑧 T 𝐹
2
Sous contraintes 𝑧1 + 𝑧2 +𝑧3 = 1
Une fois de plus, nous résolvons ce problème d'optimisation contrainte par l'égalité, et obtenons
λ = 5/3, conduisant à x = [0,3333 1,3333 -0,6667]T Clairement, la solution optimale x satisfait la
contrainte d'égalité. Nous vérifions également si les autres contraintes d'inégalité (2.49) sont satisfaites.
Ils sont tous en effet satisfaits.
56
Remarques et commentaires :
1. Dans le cas des contraintes d'égalité, le nombre maximal de contraintes d'égalité est égal au
nombre de variables de décision. Dans cet exemple, il est 3, et la seule solution possible x est de
satisfaire les contraintes d'égalité (voir (2.50)).
En revanche, dans le cas de contraintes d'inégalité, le nombre de contraintes d'inégalité peut être
supérieur au nombre de variables de décision, tant qu'elles ne sont pas toutes actives.
Dans cet exemple, une seule contrainte devient active, de sorte qu'elle devient une contrainte
d'égalité. Une fois la solution optimale trouvée contre cette contrainte active, le reste des inégalités
est automatiquement satisfait.
2. Il est clair qu'une procédure itérative est nécessaire pour résoudre le problème d'optimisation
avec des contraintes d'inégalité, car nous ne savions pas quelles contraintes deviendraient des
contraintes actives. Si l'ensemble actif pouvait être identifié à l'avance, alors la procédure itérative
serait raccourcie.
3. Notez que les conditions pour les contraintes d'inégalité sont plus relâchées que dans le cas des
contraintes d'égalité imposées. Par exemple, le nombre de contraintes peut être supérieur au
nombre de variables de décision, et l'ensemble des contraintes d'inégalité peut être linéairement
dépendant. Cependant, ces relaxations ne sont permises qu'au point que les contraintes actives
doivent être linéairement indépendantes et que le nombre de contraintes actives doit être inférieur
ou égal au nombre de variables de décision.
57
B. Méthode Primal-Dual
La famille des méthodes actives appartient au groupe des méthodes primales, où les solutions sont
basées sur les variables de décision (aussi appelées variables primaires dans la littérature). Dans
les méthodes d'ensemble actif, les contraintes actives doivent être identifiées avec les variables de
décision optimales. S'il y a beaucoup de contraintes, la charge de calcul est assez importante. De
plus, la programmation d'une méthode active n'est pas une tâche simple, comme nous l'avons
illustré dans l'exemple 5.
Une méthode "duale" peut être utilisée systématiquement pour identifier les contraintes qui ne
sont pas actives. Ils peuvent ensuite être éliminés dans la solution. Les multiplicateurs de
Lagrange sont appelés «dual» dans la littérature d'optimisation. Cette méthode conduira à des
procédures de programmation très simples pour trouver des solutions optimales de problèmes de
minimisation sous contraints.
Le problème dual du problème primal original est dérivé comme suit. En supposant la faisabilité
(c'est-à-dire, il y a un z tel que Gz <g), le problème primal est équivalent à :
1
max min 𝐽 = [2 𝑧 𝑇 𝐸𝑧 + 𝑧 𝑇 𝐹 + 𝜆T (𝐺𝑧 − 𝑔)]
𝜆≥0 𝑧
La minimisation sur z est sans contrainte. Elle est atteinte par
𝑧 ∗ = −𝐸 −1 (𝐺 T 𝜆 + 𝐹)
En remplaçant 𝑧 ∗ dans (𝐽), le problème dual est réécrit comme :
1 1
max [− 2 𝜆T 𝐻𝜆 − 𝜆𝑇 𝐾 − 2 𝐹 T 𝐸 −1 𝐹] (2.54)
𝜆≥0
1 1
min [2 𝜆T 𝐻𝜆 + 𝜆𝑇 𝐾 + 2 𝑔T 𝐸 −1 𝑔] (2.53)
𝜆≥0
Notez que le problème dual peut être plus facile à résoudre que le problème primal car les
contraintes sont plus simples (voir la procédure de programmation quadratique de Hildreth dans la
section suivante).
L'ensemble des multiplicateurs optimaux de Lagrange qui minimisent la fonction objective dual :
1 1
𝐽 = 𝜆T 𝐻𝜆 + 𝜆𝑇 𝐾 + 𝑔T 𝐸 −1 𝑔
2 2
soumis à λ ≥ 0, sont désignés par 𝜆𝑎𝑐𝑡 , et les contraintes correspondantes sont décrites par 𝐻𝑎𝑐𝑡 et
𝑔𝑎𝑐𝑡 . Avec les valeurs de 𝜆𝑎𝑐𝑡 et 𝐻𝑎𝑐𝑡 , le vecteur variable primal z est obtenu par :
𝑧 ∗ = −𝐸 −1 𝐹 − 𝐸 −1 𝐺𝑎𝑐𝑡 T 𝜆𝑎𝑐𝑡
où les contraintes sont traitées comme des contraintes d'égalité dans le calcul.
58
Algorithme de programmation quadratique de Hildreth:
Un algorithme simple, appelé procédure de programmation quadratique de Hildreth, a été proposé
pour résoudre ce problème dual.
Cet algorithme est basé sur l'ajustement, d’une manière itérative, des i composantes de λ afin de
minimiser la fonction objectif.
Partant d’une condition initiale donnée des composantes 𝜆0𝑖 on détermine à l’itération m +1 les
nouvelles composantes 𝜆𝑚+1
𝑖 par les expressions suivantes :
𝜆𝑚+1
𝑖 = max(0, 𝑤𝑖𝑚+1 ),
𝑖−1 𝑛
1
𝑤𝑖𝑚+1 = − (𝑘𝑖 + ∑ ℎ𝑖𝑗 𝜆𝑗𝑚+1 + ∑ ℎ𝑖𝑗 𝜆𝑗𝑚 )
ℎ𝑖𝑖
𝑗=1 𝑗=𝑖+1
vecteur 𝐾 = 𝑔 + 𝐺𝐸 −1 𝐹 .
Si la contrainte i est inactive, on a ∀𝑚, 𝜆𝑚+1
𝑖 = 0 et si la contrainte i est active on a ∀𝑚, 𝜆𝑚+1
𝑖 ≠
0.
La condition d’arrêt de l’algorithme marque la convergence du vecteur des paramètres λ vers sa
valeur optimale 𝜆∗ et correspond explicitement à ∀𝑚, 𝜆𝑚+1 𝑖 = 𝜆𝑚𝑖 .
Si une de ces conditions n’est pas vérifiée, m convergera vers un nombre d’itération limite 𝑚 =
𝑚𝑚𝑎𝑥 préalablement défini au sein de l’algorithme.
On peut dire que l’algorithme de programmation quadratique de Hildreth est basé sur une
méthode de recherche élément par élément et ne requiert aucune procédure d’inversion de matrice.
59
60
Programmation quadratique de Hildreth sous Matlab
function z=QPhild(E,F,G,g);
% Solution de problem Prog Quad par la methode Hildreth
% Min J=1/2 z^T E z+F z*=?? ;
% Sous Contraintes ;
% Gz <= g
%
% z la solution
[n1,m1]=size(G); %% n1 nombre de ligne de G = nombre de contraintes
z=-E\F;
kk=0;
for i=1:n1
if (G (i,:)*z>g(i)) kk=kk+1; %% verification de non violation de
chaque contraintes
%else
%kk=kk+0;
end
end
if (kk==0)
return;
end
P=G*(E\ G');
d=( G *(E\F)+g);
[n,m]=size(d);
x_ini=zeros(n,m);
lambda=x_ini;
al=10;
for km=1:38
% Trouver les éléments dans le vecteur de solution un par un
% km pourrait être plus grand si le multiplicateur de Lagranger
% a un taux de convergence lent.
lambda_p=lambda;
for i=1:n
w= P(i,:)*lambda-P(i,i)*lambda(i,1);
w=w+d(i,1);
la=-w/P(i,i);
lambda(i,1)=max(0,la);
end
al=(lambda-lambda_p)'*(lambda-lambda_p);
if (al<10e-8); break; end
end
z=-E\F -E\G'*lambda;
61
Exemple 6 : Minimiser la fonction objectif
1
𝐽 = 𝑧1 2 + 𝑧2 2 − 𝑧1 𝑧2 − 𝑧1
2
Sous contraintes
0 ≤ 𝑧1 , 0 ≤ 𝑧2 et 3𝑧1 + 2𝑧2 ≤ 4
Ecrire le problème sous forme standard, puis trouvez son dual et utilisez l'algorithme de Hildreth pour
trouvez la solution optimale.
Exemple 7: Minimiser
1 1
𝐽= (𝑧1 − 2)2 + (𝑧2 − 2)2
2 2
62
63
64
Série d'exercices :
Exercice 1 :
Supposons que l'ensemble des contraintes est défini par
z1 ≥ 0 , z2 ≥ 0 𝑧1 + 𝑧2 ≤ 3 2𝑧1 − 𝑧2 ≤ 4 et 𝑧2 ≤ 2
On cherche à minimiser la fonction objective
3 1
𝐽 = 𝑧1 2 + 𝑧2 2 + 𝑧1 𝑧2 − 15𝑧1 − 7𝑧2
2 2
1. Trouver le minimum de la fonction objective J sans contraintes.
2. Combien de contraintes sont violées avec cette solution optimale globale ?
3. Tracez les contraintes d'inégalité linéaires sur le plan (z1, z2), marquez également la solution
optimale globale dans le plan. À partir de ce graphique, devinez les contraintes actives pour ce
problème d'optimisation sous contrainte. Validez votre estimation en traitant les contraintes
actives comme des contraintes d'égalité.
4. Si votre estimation initiale n'est pas correcte, prenez une autre supposition sur les contraintes
actives jusqu'à ce que la validation montre que vous avez correctement trouvé l'ensemble des
contraintes actives.
Exercice 2 :
Continuez à partir de l'exercice 1. Trouvez le minimum de J sous contraintes en utilisant la
méthode de Hildreth et comparez avec la réponse que vous avez obtenue dans l'exercice 1.
Exercice 4 :
Un contrôleur prédictif minimise l'indice de performance prédit :
∞
2 2
𝐽𝑘 = ∑(𝑦𝑖/𝑘 + 𝑢𝑖/𝑘 )
𝑖=0
à chaque instant - k soumis à des contraintes d'entrée : −1 ≤ 𝑢𝑖/𝑘 ≤ 2 pour 𝑖 ≥ 0. La sortie du système y
est liée à l'entrée u via 𝑥𝑘+1 = 𝐴𝑥𝑘 + 𝐵𝑢𝑘 , 𝑦𝑘 = 𝐶𝑥𝑘
−2 1 1
𝐴=[ ] , 𝐵 = [ ] 𝐶 = [1 1 ]
0 1 1
a. Pourquoi l'optimisation MPC est-elle répétée, à k = 0, 1, 2,... au lieu d'une seule fois, à k = 0 ?
b. Si la loi de retour d'état du mode 2 est 𝑢𝑘 = [2 −1]𝑥𝑘 , montrez que
65
∞
2 2 𝑇 13 −1
𝐽𝑘 = ∑(𝑦𝑖/𝑘 + 𝑢𝑖/𝑘 ) + 𝑥𝑁/𝑘 [ ]𝑥
−1 2 𝑁/𝑘
𝑖=0
où N est la longueur de l'horizon de prédiction du mode 1.
c. Montrer que les contraintes :
−1 ≤ 𝑢𝑖/𝑘 ≤ 2, 𝑖 = 0,1,2 … 𝑁 + 1
assurent que les prédictions satisfont −1 ≤ 𝑢𝑖/𝑘 ≤ 2 pour 𝑖 ≥ 0
d. Dériver une borne sur 𝐽𝑘+1 ∗ −𝐽𝑘 ∗ , par conséquent montrer que ∑∞ 2 2
𝑘=0(𝑦𝑘 + 𝑢𝑘 ) ≤ 𝐽0 le long des
trajectoires du système en boucle fermée.
e. Le système en boucle fermée est-il stable ? Expliquez votre réponse.
Exercice 5.
a. Expliquer la fonction des contraintes terminales dans une stratégie de contrôle prédictif pour un
système avec des contraintes d'entrée ou d'état. Définir deux propriétés principales qui doivent être
satisfaites par un ensemble de contraintes de terminal.
b. Un système discret a le modèle d'espace d'état suivant :
0.3 −0.9 0.5
𝑥𝑘+1 = 𝐴𝑥𝑘 + 𝐵𝑢𝑘 𝐴=[ ],𝐵 = [ ]
−0.4 −2.1 1
avec les contraintes :
𝑥
|𝑥1 + 𝑥2 | ≤ 1, |𝑥1 − 𝑥2 | ≤ 1, 𝑥 = [𝑥1 ]
2
Si la loi de retour d'état terminal est 𝑢𝑘 = [0.4 1.8]𝑥𝑘 ,
Décrire une procédure pour déterminer le plus grand ensemble de contraintes terminales dans le
cas d'un gain de rétroaction général K.
c. Quelles sont les principales considérations qui régissent le choix de l'horizon de prédiction N ?
66