Étude théorique de la solution d’un problème générique de commande optimale
Conditions d’optimalité en l’absence de contraintes sur l’état
On peut qualifier la solution optimale de (PO) par des conditions d’optimalité, conditions nécessaires pour qu’une trajectoire soit optimale, ou fasse partie des candidats retenus pour une trajectoire optimale. On se place dans un premier temps dans le cas du problème (PO), sans contrainte sur l’état. Définissons tout d’abord l’Hamiltonien H associé au problème (PO), sous sa forme générale H(x,u,t, p) = L(x,u,t) + p(t)f(x,u,t),où H est défini ∀u ∈ U, p étant le multiplicateur de Lagrange (ou état adjoint) associé à la contrainte d’égalité x˙(t) = f(x,u,t).
Conditions d’optimalité
Les conditions d’optimalité du problème (PO) s’écrivent x˙(t) = ∂H ∂p (x ∗ ,u ∗ ,t, p ∗ ) (2.3a) p˙(t) = − ∂H ∂x (x ∗ ,u ∗ ,t, p ∗ ) (2.3b) x(0) = x0, p(T) = ∂φ ∂x ¯ ¯ ¯ t=T (2.3c) u ∗ (t) = argmin u∈U H(x,u,t, p). (2.3d) Ces conditions d’optimalité définissent donc des conditions que doit remplir la solution du problème (PO). Dans le cas où l’état final est fixé, tel que x(T) = x(0) = x0, alors la condition d’optimalité (2.3c) est remplacée par x(0) = x0, x(T) = x0.
Principe de Pontryagin
Le principe de Pontryagin énonce que si u ∗ ∈ U est une commande optimale, alors H(x ∗ ,u ∗ , p ∗ ,t) ≤ H(x ∗ ,u, p ∗ ,t), ∀u ∈ U, ∀t ∈ [0,T], (2.5) où x ∗ (t) et p ∗ (t) sont respectivement l’état et l’état adjoint optimaux. Cette propriété correspond à la condition d’optimalité (2.3d), et donne une condition locale d’optimalité d’une trajectoire (x,t).
Justification des conditions d’optimalité
Les conditions d’optimalité du problème peuvent se retrouver en ré-écrivant (2.1) sous une forme différente. On considère tout d’abord que u ∈ R (pas de contraintes sur la commande). On adjoint l’équation différentielle de (2.1) à J à l’aide d’un multiplicateur p(t) Jˆ(u) = Z T 0 £ L(x(t),u(t),t)+ p(t)(f(x,u,t)−x˙) ¤ dt +φ(x(T),T). (2.6) En intégrant par partie le membre de droite de (2.6), et en utilisant la définition de l’Hamiltonien, on obtient Jˆ(u) = −p(T)x(T)+ p(0)x(0)+ Z T 0 £ H(x,u,t, p)+ p˙(t)x(t) ¤ dt +φ(x(T),T). (2.7) On considère maintenant une petite variation δu du vecteur u(t), ainsi qu’une variation δx du vecteur x(t), menant à une variation de Jˆ, avec pour temps initial et final t = 0 et t = T. δJˆ(u) = [p(t)δx] t=0 + ·µ ∂φ ∂x − p(t) ¶ δx ¸ t=T + Z T 0 ·µ ∂H(x,u,t, p) ∂x + p˙(t) ¶ δx+ ∂H(x,u,t, p) ∂u δu ¸ dt (2.8) 32 2.2 Conditions d’optimalité en présence de contraintes sur l’état Si la commande u ∗ (t) est optimale, alors une variation telle que u(t) = u ∗ (t) + δu(t) engendre au premier ordre une variation nulle de Jˆ. Nous énonçons donc par la suite les conditions pour annuler les termes de δJˆ. Le premier terme [pδx] t=0 est directement nul, étant donné que l’état initial x(t = 0) est imposé. L’annulation du second terme constitue la condition sur la valeur finale du multiplicateur, donnée par l’équation (2.3c) p(T) = ∂φ ∂x ¯ ¯ ¯ t=T . (2.9) Le troisième terme de droite de (2.8) s’annule si p˙(t) = − ∂H ∂x (x ∗ ,u ∗ ,t, p ∗ ), (2.10) ce qui constitue la condition d’optimalité donnée par (2.3b). Enfin, à l’optimum, δJˆ(u ∗ ) = 0 pour une variation arbitraire δu. Cette propriété implique forcément ∂H ∂u (x ∗ ,u ∗ ,t, p ∗ ) = 0, 0 ≤ t ≤ T. (2.11) On notera que cette condition est plus faible que celle donnée par (2.3d). Néanmoins, le lecteur peut se référer à [Pontryagin et al., 1974] pour une démonstration plus complète. Ces conditions sont utilisées dans les méthodes de tir et en particulier dans l’algorithme SCOP, présenté dans la section (3.4). Remarque 2.1.1. On notera qu’en présence de contraintes sur la commande u, la précédente justification utilisant l’équation (2.11) n’a plus de sens. Le principe de Pontryagin reste néanmoins valide même pour des commandes u ∈ U discrètes ou non-differentiables, auquel cas on cherchera u ∗ tel que u ∗ = argmin u∈U H(x,u,t, p). (2.12) Remarque 2.1.2. Dans le cas d’une contrainte d’égalité sur x(T), telle que x(T) = x0, la fonction φ n’apparaît plus dans (2.1), (2.6), (2.7) et (2.8). De plus, le terme [p(t)δx] t=T devient forcément nul, étant donné que x(T) est imposé. Ainsi, la condition (2.9) disparaît, au profit de la condition x(T) = x0.