Professional Documents
Culture Documents
par
Professeur Titulaire
1
1 Introduction
L’optimisation dynamique a pour objet l’optimisation d’une fonctionnelle J(x) où x est une fonction
d’un intervalle [0, T ] vers R, représentant l’évolution d’une variable donnée au cours du temps. De
tels problèmes sont fréquents dans la modélisation en économie, comme en témoigne l’exemple
suivant définissant le modèle de consommation-épargne :
Exemple 1.1 - Le modèle de consommation-épargne s’intéresse aux choix d’un ménage concer-
nant la répartition de ses revenus entre épargne et consommation. Il suppose qu’elle est faite en
optimisant la satisfaction à la fois instantanée et à venir de la consommation du ménage. On
désigne par s(t) le flux de salaire (supposé donné), à l’instant t, que le ménage partage en flux de
consommation c(t) et flux d’épargne e(t); on a donc : s(t) = c(t) + e(t). On suppose que la richesse
du ménage x(t) évolue de la façon suivante : sa valeur marginale est la somme du flux d’intérêt et
du flux d’épargne :
x0 (t) = rx(t) + e(t),
où r est le taux d’escompte financier. D’où l’expression suivante pour la consommation du ménage,
en fonction, cette fois, du flux de salaire et de la richesse :
La satisfaction procurée à chaque instant t par la consommation c(t) s’apprécie au travers d’une
fonction d’utilité U , et l’utilité actuelle de cette même consommation c(t) s’en déduit par une
formule d’actualisation à un taux δ dit taux d’escompte psychologique :
e (t) = e−δt U (c(t)).
U
2 L’équation d’Euler-Lagrange
Soit une fonction
g: [0, T ] × R × R → R
(t, x, u) 7 → g(t, x, u)
2
une fonction de classe C 1 . Pour toute fonction x : [0, T ] → R de classe C 2 , on pose
Z T
J(x) := g (t, x(t), x0 (t)) dt (3)
0
et on veut déterminer la fonction x∗ qui optimise J(x). La condition du premier ordre est alors
fournie par l’équation d’Euler-Lagrange donnée dans le théorème suivant :
Théorème 2.1 - Si x∗ est une fonction de classe C 2 qui optimise J(x) parmi toutes les fonctions
x : [0, T ] → R de classe C 2 satisfaisant
x(0) = x0 , x(T ) = xT ,
Ce théorème fournit une condition nécessaire pour un optimum de la fonctionnelle J. Une condition
suffisante est donnée dans le théorème suivant :
Exemple 2.1 - On reprend l’exemple 1.1; la fonctionnelle donnée en (2) s’écrit sous la forme
définie en (3) avec g(t, x, u) = e−δt U (s(t) + rx − u). On a donc :
∂g
(t, x, u) = re−δt U 0 (s(t) + rx − u)
∂x
et
∂g
(t, x, u) = −e−δt U 0 (s(t) + rx − u).
∂u
Ainsi, en utilisant (1), il vient :
∂g
(t, x(t), x0 (t)) = re−δt U 0 (s(t) + rx(t) − x0 (t)) = re−δt U 0 (c(t)),
∂x
∂g
(t, x(t), x0 (t)) = −e−δt U 0 (s(t) + rx(t) − x0 (t)) = −e−δt U 0 (c(t))
∂u
et
d ∂g 0 d −δt 0
−e U (c(t)) = δe−δt U 0 (c(t)) − e−δt c0 (t)U 00 (c(t)).
(t, x(t), x (t)) =
dt ∂u dt
La consommation optimale c∗ vérifie donc l’équation (4) qui, dans ce cas, devient :
3
c’est-à-dire :
d
(ln(U 0 (c(t)))) = δ − r.
dt
On obtient alors la formule
U 0 (c∗ (t)) = Ke(δ−r)t
où K > 0 est une constante. Cette formule peut s’expliciter et permettre la détermination de
c∗ si la fonction d’utilité U est donnée. Par exemple, si U (x) = ln(x), on a U 0 (x) = 1/x, d’où
c∗ (t) = Ce(r−δ)t avec C > 0.
√
Exemple 2.2 - Trouvons la fonction x de classe C 2 telle que x(0) = 0 et x(1) = 2 sinh( 2/2) − 1
et qui minimise la fonctionnelle
Z 1
J(x) = x(t)2 + 2(x0 (t))2 + 2x(t)x0 (t) + 2tx(t) + 3t2 dt.
0
On a donc :
∂g ∂g
(t, x, u) = 2x + 2u + 2t et (t, x, u) = 4u + 2x.
∂x ∂u
Ainsi,
∂g ∂g
(t, x(t), x0 (t)) = 2x(t) + 2x0 (t) + 2t, (t, x(t), x0 (t)) = 4x0 (t) + 2x(t)
∂x ∂u
et
d ∂g d
(t, x(t), x0 (t)) = {4x0 (t) + 2x(t)} = 4x00 (t) + 2x0 (t).
dt ∂u dt
La fonction optimale x∗ vérifie donc l’équation (4) qui, dans ce cas, devient : 2x00 (t) − x(t) = t. Il
s’agit d’une équation différentielle du
√ second ordre à coefficients constants; la solution, correspon-
dant à x∗ (0) = 0 et x∗ (1) = 2 sinh( 2/2) − 1 est donnée par :
√ !
∗ 2
x (t) = 2 sinh t − t.
2
Pour montrer que cette solution correspond à un minimum de J, il suffit de montrer que, pour
t ∈ [0, 1], la fonction gt (x, u) = g(t, x, u) = x2 + 2u2 + 2x u + 2t x + 3t2 est convexe. Sa hessienne
est 2
∂ gt ∂ 2 gt
∂x 2 ∂x∂u 2 2
H= = .
∂ 2 gt ∂ 2 gt 2 4
∂x∂u ∂u 2
Les mineurs principaux diagonaux de H sont D1 = 2 > 0, D2 = 4 > 0. Ils sont tous strictement
positifs; par conséquent, gt est strictement convexe et x∗ est l’unique minimum global.
4
3 Principe du maximum de Pontryagin
Comme l’équation d’Euler-Lagrange, le principe du maximum de Pontryagin est une méthode
pour trouver des candidats optima d’une fonctionnelle J; toutefois, l’optimum recherché ici est
une variable de contrôle u(t) et la valeur de la fonctionnelle ne dépend pas seulement de u, mais
aussi de la réponse xu d’un système dynamique controlé par u; il s’agit donc de la recherche d’un
optimum sous contrainte. Posons
Z T
J(u) := g(t, x(t), u(t)) dt + k(x(T )) (5)
0
Définition 3.1 - On appelle Hamiltonien associé au problème défini en (5) et (6), la fonction :
Théorème 3.1 - Soit U un sous-ensemble de R; si l’application u∗ : [0, T ] → U est tel que J(u∗ )
soit maximal, alors, pour t ∈ [0, T ], on a
où x∗ est la solution de (6) correspondant à u∗ , et λ∗ désigne la solution du système adjoint (7)
correspondant à x = x∗ et u = u∗ .
Remarque 3.1 - Si la fonction v 7→ H(t, λ∗ (t), x∗ (t), v) est de classe C 1 , l’équation (8) devient :
∂H
((t, λ∗ (t), x∗ (t), u∗ (t)) = 0. (9)
∂u
Exemple 3.1 - (Exercice de l’examen de l’année 2011-2012 ). L’évolution du revenu x(t) d’une
entreprise est modélisée par l’équation différentielle :
3
x0 (t) = −2x(t) + u(t), x(0) = x0 , (10)
2
5
où u(t) représente l’investissement au temps t, et vérifie la contrainte 0 ≤ u(t) ≤ a. Soit T > ln(3)/2
un réel. On cherche à déterminer la politique optimale permettant de maximiser la quantité
Z T
x(t) − u(t) dt + x(T ).
0
−λ0 = −2λ + 1
.
λ(T ) = 1
On obtient ainsi une équation différentielle facile à résoudre, dont la solution est donnée par :
1 1 2(t−T )
λ∗ (t) = + e .
2 2
L’utilisation du principe du maximum de Pontryagin permet de déterminer l’investissement optimal
u∗ qui vérifie :
∗ ∗ ∗ ∗ ∗ 3 ∗ ∗ ∗
H(t, λ (t), x (t), u (t)) = max {H(t, λ (t), x (t), v)} = max λ (t) − 1 v + x (t) (−2λ (t) + 1) .
0≤v≤a 0≤v≤a 2
La fonction à maximiser étant linéaire, le résultat dépend du signe de 23 λ∗ (t)−1; puisque 32 λ∗ (t) ≥ 1
équivaut à t ≥ T − ln(3)/2 , on obtient
ln(3)
a si T− 2 ≤t≤T
∗
u (t) = .
ln(3)
0 si 0≤t<T − 2