La théorie de la commande optimale permet de déterminer la commande d'un système qui minimise (ou maximise) un critère de performance, éventuellement sous des contraintes pouvant porter sur la commande ou sur l'état du système. Cette théorie est une généralisation du calcul des variations, et elle fait partie de la théorie du contrôle. Elle comporte deux volets : le principe du maximum (ou du minimum, suivant la manière dont on définit l'hamiltonien) dû à Lev Pontriaguine et à ses collaborateurs de l'institut de mathématiques Steklov[1], et l'équation de Hamilton-Jacobi-Bellman, généralisation de l'équation de Hamilton-Jacobi, et conséquence directe de la programmation dynamique initiée aux États-Unis par Richard Bellman[2]. La théorie de la commande optimale fait partie de l'automatique et des mathématiques appliquées (optimisation des processus). En tant que cette théorie généralise le calcul des variations, elle a également un champ d'application en physique mathématique, et les développements théoriques actuels rejoignent les mathématiques pures.
Historique
Les idées sous-jacentes au principe du maximum et à la programmation dynamique sont fort anciennes et ont été intimement liées dès leur préhistoire. Elles ont été développées de manière indépendante et pratiquement simultanée, vers le milieu des années 1950, et elles continuent aujourd’hui d’avoir de nombreuses connexions.
La programmation dynamique a pour origine le principe de Huygens pour la propagation de la lumière : c’est le fameux principe des « sources intermédiaires » qui interprète les phénomènes de réflexion et de réfraction en supposant la propagation d'ondelettes sphériques secondaires issues d'une onde sphérique principale ; le principe de Huygens est lui-même fondé sur le principe de Fermat qui postule que la lumière suit le trajet dont le temps de propagation est minimal.
Le principe du maximum est une généralisation des équations de Hamilton du calcul des variations. L'invention de celui-ci remonte à la résolution du problème de la courbe brachistochrone, posé par Jean Bernoulli en 1696 ; il s’agit également d’un problème de temps minimal (comme l’indique la racine grecque : « βραχιστος (brachistos) », « le plus court » ; « χρονος (chronos) », « temps »). Ce problème fut résolu tout d’abord par Jean Bernoulli lui-même (ainsi que d'autres savants, dont son frère Jacques Bernoulli, Leibniz et Newton) grâce à une analogie avec le problème de propagation de la lumière et l'application du principe de Huygens ; c’était en quelque sorte utiliser la programmation dynamique avant la lettre.
Euler, élève de Jean Bernoulli, a posé ensuite les premières bases du Calcul des variations, en réponse à la demande de son maître de systématiser sa solution. À cette occasion, il a ébauché à partir de considérations géométriques la méthode des « petites variations », méthode à laquelle Lagrange a donné, un peu plus tard, une forme analytique plus élégante[3].
Weierstrass, au milieu du xixe siècle, soit un siècle plus tard, définit la notion d'extremum fort et établit une condition nécessaire ainsi qu'une condition suffisante pour qu'il y ait un tel extremum.
Le principe du maximum est une généralisation de la condition nécessaire d'extremum fort de Weierstrass, obtenue en remplaçant l'hamiltonien par un pseudo-hamiltonien (voir infra). Ce principe avait déjà été entrevu par Constantin Carathéodory dès 1935 et plus précisément encore par Magnus Hestenes en 1950. Mais c'est sur la base des intuitions de Pontriaguine et sous sa direction que le principe du maximum, tel que nous l'entendons aujourd'hui, a été démontré tout d'abord pour les problèmes de temps minimal, puis dans le cas général par V. G. Boltyanskii, R. V. Gamkrelidze et L. I. Rozonoer entre 1955 et 1959. La mise en œuvre de la technique des « variations en aiguille », déjà utilisée par James McShane en 1939, est néanmoins due à Boltyanskii, qui a également montré que le principe du maximum n'était qu'une condition nécessaire d'optimalité, et qui a donné au principe du maximum la forme qu'il a prise dans le célèbre livre de Pontriaguine et ses collaborateurs, paru en russe en 1961[1],[4],[5]. Tandis que le quatrième auteur de ce livre, E. F. Michtchenko, a, quant à lui, résolu un problème statistique de commande optimale).
C'est à la suite de la contribution de Pontriaguine et ses collaborateurs que la variable de commande d'un système a été notée u, управление (upravlenie) signifiant commande en russe[6].
Les travaux récents ont permis de généraliser ces deux approches sans les modifier profondément ; ils se sont pour une bonne part tournés vers l'affaiblissement des conditions de différentiabilité dans le cadre de l'« analyse non lisse » initiée par Frank H. Clarke, en utilisant les « gradients généralisés » (ou « différentielles généralisées ») introduits par cet auteur [7],[8],[9]. Cela a conduit à envisager des commandes de nature plus générale que les fonctions continues par morceaux du théorème originel de Pontriaguine et ses collaborateurs : notamment des fonctions mesurables au sens de Lebesgue. Un autre type d'extension porte sur les systèmes à retard [10] et plus généralement de dimension infinie[11].
D'autre part, Boltyanskii a donné une « version faible » du principe du maximum pour les systèmes à temps discret après avoir développé à cette fin des techniques mathématiques spécifiques[12], mais on peut démontrer sans difficulté son résultat à partir des conditions de Karush, Kuhn et Tucker[13]. Sous certaines conditions de convexité, on retrouve toutefois un véritable principe du maximum pour ce type de systèmes[14].
Principe du maximum et programmation dynamique : différences et similitudes
Par nature, le principe du maximum de Pontriaguine est une condition nécessaire d’optimalité, tandis que la programmation dynamique fournit une condition suffisante. D’autre part, le principe du maximum donne comme solution une commande en boucle ouverte (fonction du temps) alors que la programmation dynamique conduit à une commande en boucle fermée (fonction de l’état du système).
Toutefois, la commande solution du principe du maximum peut, dans les cas favorables, être mise sous forme d’une commande en boucle fermée. Un des grands avantages du principe du maximum sur la programmation dynamique est une plus grande facilité de mise en œuvre, celle-ci, quand elle est appliquée aux systèmes à temps continu, impliquant la résolution d’une équation aux dérivées partielles (l’équation d'Hamilton-Jacobi-Bellman), tandis que celui-là se ramène à la résolution d’équations différentielles ordinaires (résolution qui est toutefois sérieusement compliquée par le fait que le problème est « aux deux bouts »).
La programmation dynamique s'applique aussi bien aux systèmes déterministes qu'aux systèmes stochastiques[2],[15], tandis que le principe du maximum ne s'applique (avec quelques exceptions[16]) qu'aux systèmes déterministes.
Néanmoins, une étape commune à ces approches est le maximisation du pseudo-hamiltonien sur l'ensemble des commandes admissibles. Comme Pontriaguine et ses collaborateurs l'ont eux-mêmes noté[1], le principe du maximum peut se déduire du théorème de Bellman, dont la démonstration est fort simple, si l'on fait des hypothèses de régularité suffisantes sur la « fonction de Bellman ». Ces hypothèses ne sont toutefois pas vérifiées dans les cas où le principe du maximum a tout son intérêt, et pour lesquels il a été conçu, par exemple dans celui de la « commande Bang-Bang ».
Système et critère
Nous considérons le problème de commande optimale sans contrainte sur l'état avec les hypothèses de différentiabilité habituelles. Le problème, ou plutôt sa solution, se complique considérablement en cas de contrainte sur l'état, car un des multiplicateurs de Lagrange est alors une mesure qui n'est pas absolument continue par rapport à la mesure de Lebesgue[17],[18]. Pour simplifier les notations, nous considérons le cas où l'instant initial et l'état initial sont fixés. Soit le système :
,

où
est un intervalle compact de la droite réelle contenant
et où
est une fonction continue de
dans
,
étant un espace de Banach (le lecteur peut supposer que
),
un ouvert de
, et
un espace topologique (le plus souvent, un sous-ensemble de
). La variable
est l'état et
est la commande (voir l'article Représentation d'état). La fonction
est supposée continûment différentiable pour tout
.
Soit le critère de performance

où le lagrangien
vérifie les mêmes conditions que
et
est continûment différentiable sur
.
Notions de commande admissible et d'optimum
Soit
une sous-variété différentiable de
[19], appelée variété finale. Nous dirons qu'une fonction
est admissible si elle est continue par morceaux et transfère le couple
de la condition initiale
à une condition finale
(avec
et
,
). L'ensemble des commandes admissibles est noté
. Les hypothèses impliquent que
est localement lipschitzienne, donc si
est admissible,
est absolument continue, et la notion de solution est donc classique (l'égalité
étant vérifiée presque partout au sens de Lebesgue).
Soit
, et désignons par
et
l'état et l'instant final correspondants. Soit
et
le sous-ensemble de
formé des commandes
vérifiant la condition suivante : l'état
et l'instant final
correspondants sont tels que
et
.
La commande
est dite optimale localement[20] s'il existe
tel que
, et optimale globalement si
.
Pour
petit, on peut considérer
comme un « petit voisinage » de
. On notera que dans un tel voisinage,
n'est pas nécessairement proche de
à chaque instant t. Si
est un sous-ensemble d'un espace vectoriel, une « petite variation » de u peut notamment être une variation
de grande amplitude mais de faible durée, de sorte qu'elle entraîne une « petite variation » de la fonction
. Cette formulation est identique à celle de Weierstrass, et indique que l'on recherche un « extremum fort » (un « extremum faible » serait obtenu avec uniquement des variations de u qui seraient de faible amplitude).
Pseudo-hamiltonien
On appelle pseudo-hamiltonien la fonction

(où
est le dual de
) définie par
.
(où
est le crochet de dualité).
Remarques
- Dans la grande majorité des applications,
.
- Néanmoins, on peut supposer que
est une variété différentielle (éventuellement banachique), le champ de vecteurs f étant tel que
appartient à l'espace tangent
;
appartient alors au fibré cotangent
, de sorte que dans le crochet
,
est dans l'espace cotangent
. Cette formulation est indispensable, par exemple, pour le calcul des géodésiques dans un espace de Riemann.
- Si l'on suppose que
est un sous-ensemble de
, on peut envisager des commandes admissibles plus générales que des fonctions continues par morceaux, par exemple, des fonctions mesurables au sens de Lebesgue. On peut alors remplacer
par
où
est une fonction de
dans l'ensemble des sous-ensembles de
(appelée « multifonction ») dont le graphe est
-mesurable, où
est la tribu de Lebesgue de
,
est la tribu borélienne de
, et
est la tribu engendrée par les ensembles
[8],[9].
Principe du maximum
Énoncé
Le dual de
est identifié avec
. On note
l'espace vectoriel des fonctions continues par morceaux de
dans
. Soit d'autre part les deux équations canoniques
,
.
Notons
l'espace tangent à la variété
au point
et
l'orthogonal de
dans
, c'est-à-dire l'ensemble des formes linéaires continues
telles que
. On appelle condition de transversalité la relation
.
Enfin, nous appellerons condition de non trivialité l'inégalité
.
On montre le résultat suivant[1],[21] :
Théorème de Pontriaguine-Boltyansky — Supposons
de codimension finie. Pour que la commande
soit optimale localement, il est nécessaire qu'il existe un état adjoint
et un multiplicateur de Lagrange
pour lesquels les deux équations canoniques, la condition de transversalité et la condition de non trivialité soient satisfaites, que la fonction
soit continue, et que le Principe du maximum
soit vérifié en tout point
auquel la commande
est continue. On a en tout point auquel
et
sont continues (donc sauf en un nombre fini de points)
et en particulier, si le pseudo-hamiltonien
ne dépend pas explicitement du temps,

.
La démonstration de ce théorème (avec
de dimension finie) occupe près de 40 pages dans l'ouvrage de Pontriaguine et ses collaborateurs[1]. Lorsque l'état final est astreint à appartenir à une sous-variété de
de codimension infinie, des variations en aiguille de la commande ne suffisent plus (elles ne donnent pas suffisamment de degrés de liberté) et un contre-exemple construit par Yu Vladimirovich Egorov en 1963 montre que le Principe du maximum est inexact. Il existe une extension du principe du maximum pour les systèmes semi-linéaires dont l'état est à valeurs dans un espace de Banach quelconque ; ce résultat est obtenu en utilisant des « variations diffuses » (« diffuse variations » ou « patch variations ») de la commande[22].
Une justification du théorème de Pontriaguine-Boltyansky est donnée plus loin, à partir du théorème de Bellman. Voir également l'utilisation du Lemme de Du Bois-Reymond généralisé lorsque
est un ouvert de
et qu'on ne fait que des « variations faibles » de la commande.
Remarque
Supposons que l'instant initial
et l'état initial
ne soient plus fixés, et qu'on ait seulement une condition initiale
où
est une sous-variété différentiable de
(variété initiale). On doit alors ajouter la condition de transversalité
.
Cas particuliers
Nous supposons maintenant que la variété
est de la forme
où
et
sont des sous-variétés de
et de
, respectivement. L'équation de transversalité s'écrit donc
- (a)
,
- (b)
.
Dans le cas d'un instant final libre, on a
, par conséquent
et (a) devient
- (a')

alors que dans le cas d'un instant final fixé,
et
, donc (a) est trivialement vérifiée. Dans les deux cas on a une équation: (a') dans le premier,
dans le second.
Dans le cas d'un état final libre, on a
, par conséquent
et (b) devient
- (b')

et la condition de non trivialité entraîne
. Dans le cas d'un état final fixé,
et
, donc (b) est trivialement vérifiée. Dans les deux cas on a n équations, si
est de dimension n : (b') dans le premier,
dans le second.
Commande Bang-Bang
Considérons maintenant le problème de commande en temps minimal. L'espace topologique
est le sous-ensemble de
défini par
. Le critère est
, ce qui est un cas particulier de l'expression donnée plus haut avec
et
. Le problème est évidemment à instant final libre, et il est à état final fixé:
. On suppose que
,
est un point d'équilibre et que le système est affine en la commande, donc de la forme indiquée avec
où
. Représentons
par la ligne d'éléments
et
par la matrice d'éléments
. Il vient
.
Si
, on a également
d'après (b'), ce qui contredit la condition de non trivialité; donc,
. Le Principe du maximum implique que
(resp.
) si
(resp. <0).
Cette commande toujours égale (dans le cas où elle a une seule composante) à sa valeur minimale ou à sa valeur maximale, avec des commutations. Dans le cas de systèmes linéaires d'ordre 2, on peut trouver des solutions explicites fondées sur le portrait de phase[1]. D'autre part, supposons le système linéaire stationnaire d'ordre
et commandable. Si les valeurs propres de la matrice d'état sont toutes réelles, le nombre de commutations est au plus égal à
. Si ces valeurs propres sont toutes dans le demi-plan gauche et 0 appartient à l'intérieur de
, la commande optimale existe et est unique[1].
Supposons que le système soit linéaire et de dimension finie, soit

où les fonctions
et
sont continues, et que les fonctions K et l du critère soient continûment différentiables. Supposons également que la variété
soit affine et que l'instant final
soit fixé. Supposons enfin que l'ensemble U et la fonction
soient convexes, ainsi que la fonction
pour tout
. Dans ce cas, les conditions de Pontriaguine avec
sont suffisantes pour que commande
soit optimale globalement. Si de plus la fonction
est convexe, strictement par rapport à u, alors il y a unicité de la commande optimale[13].
Programmation dynamique (cas déterministe)
Reprenons le problème de commande optimale, tel qu'il a été posé plus haut.
Équation de Hamilton-Jacobi-Bellman
D'après le principe général de la programmation dynamique, la commande optimale minimise sur
, pour tout
, le critère

avec
.
Désignons par
la valeur optimale de ce critère. En plus des hypothèses précédentes, nous supposons maintenant que les fonctions
et
sont continûment différentiables. Nous supposons également que
et supprimons cette variable des arguments de
, qui est donc maintenant une fonction
.
L'équation de Hamilton-Jacobi-Bellman est l'équation aux dérivées partielles
(HJB)::
avec pour condition aux limites
(CL)::
.
On dit que le pseudo-hamiltonien
est régulier si la fonction
admet un maximum unique sur U, atteint pour une valeur
de u. Dans ce cas, soit la commande en boucle fermée 