Académique Documents
Professionnel Documents
Culture Documents
Chap8 Introduction A L Optimisation Dynamique
Chap8 Introduction A L Optimisation Dynamique
Introduction à l’optimisation
dynamique : Calcul variationnel
8.1 Introduction
Le grand mathématicien suisse Leonhard Euler (1707 - 1783) écrit dans son livre
“ Methodus Inveniendi Lineas Curvas ” ce qui peut être rendu en français par : “
Il n y a rien de tout ce qui se passe dans l’univers où la règle du maximum ou du
minimum n’apparaît pas ”.
Euler affirme par là que la problématique de l’optimisation, c’est-à-dire de la
recherche du maximum ou du minimum, est universelle.
Optimiser, c’est traiter mathématiquement le problème de prise de décision qui
se passe dans la plupart des sciences, en ingénierie, économie, finance, management,
statistiques . . .
L’optimisation mathématique, également appelée programmation mathématique
se divise en un grand nombre de branches et de sous-branches. Le projet NEOS,
administré par l’université américaine de Wisconsin-Madison, propose un arbre de
ces branches et sous branches de l’optimisation
(neos-guide.org/optimisation-Guide).
Selon la taxonomie proposée, l’optimisation se divise en trois grandes branches :
— L’optimisation à objectifs multiples ;
— L’optimisation déterministe ;
— L’optimisation incertaine.
L’optimisation incertaine se subdivise en optimisation stochastique et optimisation
robuste.
L’optimisation déterministe se divise en optimisation continue et optimisation dis-
crète.
L’optimisation discrète est de deux sortes : entière et combinatoire.
L’optimisation continue peut être contrainte ou sans contrainte.
L’optimisation déterministe, continue et non contrainte est de 4 types :
— Les moindres carrés non linéaires ;
259
260 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
La solution du problème est un nombre x⇤ . Si F (x) est une fonction définie, x⇤ peut
être déterminé avec précision. Si F est continue et dérivable, x⇤ satisfait la condition
nécessaire de premier ordre F 0 (x⇤ ) = 0. En cas de fonction de plusieurs variables
F (x1 , x2 , . . . , xn ) comme fonction de profit, par exemple, dépendant des niveaux de
production de n produits différents, la solution est un ensemble de n nombres x⇤1 ,
x⇤2 , . . . , x⇤n , représentant les n niveaux de production à produire et à vendre pour
maximiser le profit :
max F (x1 , x2 , . . . , xn )
xi 0,i=1,2,...,n
Z T ⇣ ⌘ 2 T
n 2 nt n nt2
a +b dt = a 2 t + b
0 T T T 2T 0
n2 nT 2
= a T +b
T2 2T
n2 nT
= a +b
T 2
Exemple 3.2 :
Le stock de capital d’un pays à t est K(t). Avec ce stock de capital, la produc-
tion est réalisée au taux F (K). La fonction de production F est supposée continue
et dérivable deux fois et concave. Le produit obtenu peut être consommé procurant
une satisfaction immédiate, comme il peut être réinvesti pour augmenter le stock de
capital et la production future.
✓ ◆
0 0 dK
Le produit F (K) = consommation C(t) + investissement K K =
dt
Exemple 3.3 :
P (K) est le temps de profit pouvant être obtenu à l’aide du stock de capital
productif K. Si F (K) est l’output obtenu avec et que p est le prix du marché, on a :
P (K) = pF (K). Si P et F sont doublement dérivables, croissantes et concaves et si le
taux de dépréciation du capital est constant b (K 0 = I bK, I étant l’investissement
brut) et si C(I) est le coût de l’investissement additionnel, avec C, fonction croissante
et convexe et si les biens d’investissement ont un prix constant c, alors C(I) = cI, le
problème est de maximiser la valeur d’aujourd’hui du flux des profits nets pour une
période T :
Z T
⇥ ⇤
max e rt U P (K) C(K 0 + bK) dt
0
Exemple 3.4 :
Trouver la plus courte distance dans le plan entre les points (a, A) et (b, B).
Dans
p le plan (t, x), une distance ds est, en vertu du théorème de Pythagore : ds =
dt + dx2
2
s ✓ ◆ s ✓ ◆2
dx2 dx p
ds = dt2 1 + = dt 1+ = dt 1 + x0 (t)2
dt2 dt
Il s’agit donc de :
Z b
1/2
min 1 + [x0 (t)]2 dt
a
Exemple 3.5 :
Trouver dans un plan la surface maximum pouvant être contenue à l’intérieur
d’une courbe de longueur L et d’une droite (0, t)
Il faut trouver
Z la forme de la courbe. On sait que la surface sous la courbe d’équation
T
x(t) est x(t) dt. C’est elle qu’il faut maximiser sous contrainte :
0
Z T
1/2
1 + [x0 (t)]2 dt = L, x(0) = 0, et x(T ) = 0
0
Pour trouver le minimum de cette quantité dépendant des yi , annulons les dérivées
partielles par rapport aux yi :
PT /k h yi yi 1 i2 PT /k
Q = i=1 k k = k1 i=1 (yi yi 1 )2
⇥ ⇤
= k1 (y1 y0 )2 + (y2 y1 )2 + . . . , +(yT /k yT /k 1 )2
@Q 1
= [2(yi yi 1 ) 2(yi+1 yi )] = 0
@yi k
Donc la différence de coûts entre z(t) et x(t) est positive. Cela veut dire que le coût
du chemin de z est supérieur ou égal au coût du chemin x. Donc x(t) est la solution
optimale.
F est supposée être continue en t, x et x0 et avoir des dérivées partielles continues par
rapport à x et à x0 , x0 = dx dt . F est considérée comme une fonction de 3 variables
indépendantes t, x et x0 .
Nous cherchons donc x(t) vérifiant les conditions des points terminaux (initial et
final) et maximisant l’intégrale ci-dessus.
Supposons que x⇤ (t) maximise (8.5), x(t) une autre fonction admissible. Défi-
nissons la différence entre les deux chemins : h(t) = x(t) x⇤ (t). Comme x et x⇤
vérifient les conditions des points terminaux (elles passent toutes les deux par x0 et
x1 ), h(t0 ) = h(t1 ) = 0.
La déviation ou l’écart h est admissible, si x = x⇤ + h est admissible, et pour
tout a, y(t) = x⇤ (t) + a h(t) sera aussi admissible, car x⇤ est admissible et h(t0 ) =
h(t1 ) = 0.
x⇤ et h donnés, calculons (8.5) pour y(t) fonction du paramètre a. le résultat sera
une fonction de a, g(a) par exemple :
Z t1 Z t1
g(a) = 0
F (t, y(t), y (t)) dt = F t, x⇤ (t) + a h(t), x⇤ 0 (t) + a h0 (t) dt (8.6)
t0 t0
Comme g 0 (0) = 0 on a :
Z t1 ⇥ ⇤
Fx h(t) + Fx0 h0 (t) dt = 0
t0
0 ⇥ 0 0 ⇤
3. (g ✓Z ◆ ⇥
f ) (a) = g (f (a)) Z fy1 (a)
y1
d
4. f (x, y) dy = fx (x, y) dy
dx y0 y0
270 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
Z t1
Calculons Fx0 h0 (t) dt en intégrant par parties, Fx0 = u et h0 (t)dt = dv
t0
Z t1 Z t1 Z t1
Fx0 h0 (t) dt = u dv = u v v du
t0 t0 t0
Z t1
dFx0
= [Fx0 h(t)]tt10 h(t) dt (Fx0 supposée dérivable)
t0 dt
Z t1
dFx0
= 0 h(t) dt (h(t1 ) = h(t0 ) = 0)
t0 dt
D’où
Z t1 Z t1 Z t1 ✓ ◆
0 dFx0 dFx0
g (0) = 0 = Fx h(t) dt h(t) dt = Fx h(t) dt
t0 t0 dt t0 dt
Ceci est
Z tvrai 8h nulle aux points terminaux, continue et dérivable.
1
Si g(t) h(t) dt = 0 8h(t) alors g(t) = 0.
t0
D’où,
dFx0
Fx =0 ) Fx t, x⇤ (t), x⇤ 0 (t) = dFx0 t, x⇤ , x⇤ 0 / dt (8.7)
dt
C’est cela l’équation d’Euler. Il s’agit d’une généralisation de la condition nécessaire
de premier ordre f 0 (x) = 0 pour x donnant le maximum de f (x) du calcul classique.
dFx0
(Ainsi, si = 0 alors Fx = 0 condition nécessaire de premier ordre).
dt Z t1
Supposons qu’on a : g(t) h(t) dt = 0 8h(t) continue et dérivable et vérifiant
t0
h(t1 ) = h(t0 ) = 0 et que g(t) 6= 0 ou, disons g(t) > 0. Posons
⇢
(t a)(b t) a t b
h(t) =
0 t ailleurs sur [t1 , t2 ]
Z t1 Z a Z b Z t1
g(t) h(t) dt = g(t) h(t) dt + g(t) h(t) dt + g(t) h(t) dt
t0 t0 a b
Z b
= 0+ g(t) (t a)(b t) dt + 0
a
Z b
Comme g(t) > 0 et que t a > 0 et que b t > 0 pour a t b alors g(t) (t
Z a
t1
a)(b t) dt > 0. Or on a : g(t) h(t) dt = 0. Donc g(t) ne peut être > 0.
t0
Pour g(t) < 0, on aboutit aussi à la contradiction de la même manière en construi-
sant h(t). D’où g(t) = 0.
L’équation d’Euler doit être vérifiée comme condition d’optimalité de x⇤ (t) dans
le problème (8.5) pour tout t dans l’intervalle [t0 , t1 ].
Méthodes mathématiques avancées 271
Notons aussi Fx0 est une fonction de t, x et x0 et que dFx0 /dt est la dérivée totale
par rapport à t. La variation totale de Fx0 lorsque t varie est égale au total de la
variation de Fx0 due à t, à x et à x0 , puisque x et x0 sont elles-mêmes des fonctions
de t :
dFx0 /dt = Fx0 t + Fx0 x x0 + Fx0 x0 x00
L’équation d’Euler peut ainsi être réécrite :
H(t, x, p) = F (t, x, x0 ) + p x0
Ce qui implique :
@H @H
= Fx et = x0
@x @p
Si x(t) vérifie l’équation d’Euler (8.7) ci-dessus, alors :
dFx0 dp
Fx = = = p0
dt dt
@H @H
p0 = et x0 =
@x @p
Ces deux équations différentielles de premier ordre sont appelées la forme canonique
de l’équation d’Euler. Le Hamiltonien joue un rôle important dans la théorie du
contrôle optimal de Pontriaguine.
Les solutions de l’équation d’Euler sont appelées extrémales (extremals). En ana-
lyse classique, les extrémales correspondent aux points stationnaires. La résolution
d’un problème de calcul variationnel, d’optimisation dynamique, consiste donc à
trouver les extrémales, puis parmi ces dernières, le chemin optimum.
272 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
8.6.2 Application 2
Trouvons les extrémales de
Z 1
[x0 (t)]2 + 10 t x(t) dt
0
s.c. x(0) = 1 et x(1) = 2
C’est le même problème économique avec T = 1, n = 2 et un coût de stockage égal
à 10 t x(t).
2
F (t, x, x0 ) = x0 + 10 t x
dFx0
Fx = 10 t, Fx0 = 2x0 , = 2x00
dt
L’équation d’Euler est
dFx0 5 5
Fx = , 10 t = 2x00 ) x00 = 5t ) x0 = t2 + c1 ) x = t3 + c1 t + c2
dt 2 6
Pour déterminer c1 et c2 :
5
x(0) = 1 ) ⇥ 03 + c 1 ⇥ 0 + c 2 = 1 ) c 2 = 1
6
5 5 1
x(1) = 2 ) ⇥ 13 + c 1 ⇥ 1 + 1 = 2 ) c 1 = 2 1 =
6 6 6
D’où
5 1
x(t) = t3 + t + 1
6 6
Méthodes mathématiques avancées 273
8.6.3 Application 3
Trouvons les extrémales de
Z t1
t x0 (t) + [x0 (t)]2 dt
t0
s.c. x(t0 ) = x0 et x(t1 ) = x1
2
F (t, x, x0 ) = t x0 + x0
dFx0
Fx = 0, Fx0 = t + 2x0 , = 1 + 2x00
dt
L’équation d’Euler est
dFx0 t + c1 1 c1
Fx = , 1 + 2x00 = 0 ) t + 2x0 = c1 ) x0 = = t+
dt 2 2 2
1 c1
) x(t) = t2 + t + c2
4 2
Pour trouver c1 et c2 , on a :
1 c1
x(t0 ) = x0 ) x0 = t20 + t0 + c 2
4 2
1 c1
x(t1 ) = x1 ) x1 = t21 + t1 + c 2
4 2
Les deux équations nous permettent de déterminer c1 et c2 .
8.6.4 Application 4
Reconsidérons l’exemple 3.1 avec un coût de stockage non nul. Il s’agit alors de
Z T ⇣ ⌘
2
min c1 x0 (t) + c2 x(t) dt
x(t) 0
s.c. x(0) = 0, x(T ) = n et x0 (t) 0
Fx = c 2 , et Fx 0 = 2 c 1 x 0
d(2 c1 x0 ) c2 c2 c2 2
= 2 c1 x00 = c2 ) x00 = ) x0 = t + c3 ) x(t) = t + c3 t + c4
dt 2c1 2c1 4c1
Les constantes d’intégration c3 et c4 sont déterminées en considérant les conditions
limites
c2
x(0) = 0 ) x(0) = ⇥ 0 + c3 ⇥ 0 + c4 = 0 ) c4 = 0
4c1
✓ ◆
c2 2 1 c2 2 n c2 T
x(T ) = n ) x(T ) = ⇥ T + c3 ⇥ T = n ) c3 = n T =
4c1 T 4c1 T 4c1
274 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
8.6.5 Application 5
Reprenons l’exemple précédent en y introduisant une actualisation au taux continu
r. Il s’agit de :
Z T h i
2
min e rt c1 x0 + c2 x dt
x(t) 0
s.c. x(0) = 0 et x(T ) = n
Nous devons aussi avoir x0 (t) 0 pour que le problème ait un sens en économie.
h i
2
F (t, x, x0 ) = e rt c1 x0 + c2 x ) Fx = c2 e rt et Fx0 = 2x0 c1 e rt
D’où,
c2 T nr c2 T c2 T c2 T
n+ + nr + n+
2rc1 r 2rc1 2c1 2rc1
k1 = rt = rt = rt et k2 =
e 1 e 1 e 1 1 ert
r r r
Finalement
c2 T c2 T
nr + n+
2c1 ert c2 t 2rc1
x(t) = +
ert 1 r 2rc1 1 ert
8.6.6 Application 6
Supposons que le coût de production est une fonction croissante, monotone et
convexe du taux de production x0 , g(x0 ), g(0) = 0, g 0 0, g 00 > 0 pour x 0.
Le problème devient :
Z T ⇥ ⇤
min e rt
g(x0 ), c2 x dt
x(t) 0
sous conditions limites x(0) = 0 et x(T ) = n
⇥ ⇤
F (t, x, x0 ) = e rt g(x0 ), c2 x ) Fx = c 2 e rt
et Fx 0 = e rt 0
g (x0 )
L’équation d’Euler est
d e rt g 0 (x0 )
dFx0 rt
Fx = , = c2 e
dt dt
rt 0
re g (x0 ) + e rt 00
g (x0 ) ⇥ x00 = c2 e rt
) rg 0 (x0 ) + g 00 (x0 ) ⇥ x00 = c2
La partie droite de cette de cette égalité est non négative, g 00 (x0 ) 0, d’où x00 >
0. Donc x est croissante avec t jusqu’à T , lorsqu’on aura accumulé les n unités
0
commandées.
Par ailleurs, l’égalité (8.8) ci-dessus montre que x00 est une fonction croissante de r
et c2 (coût de stockage).
8.6.7 Application 7
Un individu cherche à déterminer le taux de consommation à chaque moment
qui va maximiser le flux de son utilité actualisé, durant un intervalle de temps T .
L’utilité de la consommation au moment de t est U (C(t)), fonction croissante et
concave (utilité marginale décroissante) : u0 > 0 et u00 < 0. Le taux d’actualisation
est r. L’objectif de cet individu est donc :
Z T
rt
max e U (C(t)) dt (8.9)
x(t) 0
276 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
L’individu considéré a, comme revenu, un salaire !(t) exogène en plus des intérêts
iK procurés par la détention du capital K(t). L’individu peut emprunter (K <
0) ou louer (K > 0) au taux i. Le capital peut être vendu ou acheté à un prix
unitaire. Ce revenu à t composé de !(t) est iK(t) est alloué à la consommation et à
l’investissement K 0 (t) :
!(t) + iK(t) = C(t) + K 0 (t) (8.10)
Le capital initial K(0) = K0 et le capital final est K(T ) = KT . De (8.10), on tire :
C(t) = !(t) + iK(t) K 0 (t)
i et ! sont donnés. On remplace C(t) par cette expression dans (8.9). On obtient :
Z T
max e rt U !(t) + iK(t) K 0 (t) dt
K(t) 0
s.c. K(0) = K0 et K(T ) = KT
L’intégrand est alors F (t, K, K 0 ) avec x = K(t) et x0 = K 0 (t).
Fx = FK = ie rt
U 0 !(t) + iK(t) K 0 (t)
✓ ◆
rt 0 @F @F @C @C
= ie U (C) = ⇥ ; =i
@K @C @K @K
Fx 0 = FK 0 = 1e rt
U 0 (C)
L’équation d’Euler
⇥ rt U 0 (C)
⇤
dFx0 rt 0 d e
Fx = , ie U (C) =
dt dt
) re rt
U 0 (C) e rt
U 00 (C)C 0 = ie rt
U 0 (C)
) U 00 C 0 = (i r)U 0
U 00 C 0
) =i r
U0
Donc
U 00 C 0
= i r (8.11)
U0
En effet,
rt U 0 (C)
⇥ rt
⇤
d e d e d [U 0 (C)]
= ⇥ U 0 (C) e rt
⇥
dt dt dt
dU 0 (C(t)) dC(t)
= re rt
U 0 (C) e rt
⇥ ⇥
dC(t) dt
= re rt
U 0 (C) e rt
U 00 (C) ⇥ C 0 (t)
Méthodes mathématiques avancées 277
Le résultat (8.11) ci-dessus signifie que le taux de variation de l’utilité marginale est
proportionnel à (i r).
U 00 C 0 U 00
Si i > r, on a > 0, comme > 0 par hypothèse, C 0 > 0. D’où la
U0 U0
consommation doit être croissante à travers le temps (si i > r) pour maximiser
l’utilité, r étant le taux d’impatience.
Si l’on pose U (C) = ln C, !(t) = 0 et KT = 0, K(0) = K, on obtient : C(t) =
iK(t) K 0 (t).
d(ln C) 1 d( 1 ) 1
Lorsque U (C) = ln(C), on a U 0 (C) = = et U 00 (C) = C = 2 .
dC C dC C
Et (8.11) devient
( C12 )C 0 C0
= i r ) =i r
( C1 ) C
Z Z
C0 C0
=i r ) dt = (i r) dt
C C
) ln C = (i r) t + c1 ; c1 est la constante d’intégration
Ainsi,
C(t) = iK(t) K 0 (t) = C(0)e(i r) t
ie it
y e it
y 0 = C(0) e rt
) ie it
y+e it
y0 = C(0) e rt
>
> 1 1
: à t = T, on a : K(T ) = 0 = C(0)e(i r) T
+ K0 C(0)
r r
1 (i r) T 1 K0
) 0 = C(0) e + K0 ) C(0) = 1
r r r 1 e(i r) T
278 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
Finalement
" #
1 K0 1 K0
K(t) = 1 ⇥ (i r) T
⇥ e(i r) t
+e it
K0 ⇥ 1
r
r
1 e r r 1 e(i r) T
it 1 e rt
K(t) = e K0 1
1 e rT
Et donc
e(i r) t
C(t) = r K0 rT
1 e
Exemple :
Z t1 ⇣ ⌘
2
max 3x0 tx0 dt
x(t) t0
s.c. x(t0 ) = x0 et x(t1 ) = x1
2
F (t, x0 ) = 3x0 tx0 , Fx = 0 et Fx 0 = 3 2tx0
Équation d’Euler :
d(3 2tx0 ) c1 3
= 0 ) d(3 2tx0 ) = 0 ) 3 2tx0 = c1 ) tx0 =
dt 2
c1 3
c1 3
) x0 = 2
)x= ln(t) + c2
t 2
Méthodes mathématiques avancées 279
Or 8
> c1 3
>
< x(t0 ) = x0 ) x0 = ln(t0 ) + c2
2
>
: x(t1 ) = x1 ) x1 = c1 3 ln(t1 ) + c2
>
2
Ces deux équations permettent de déterminer les constantes d’intégration c1 et c2 .
= Ft
D’où
x 0 Fx 0 )
d (F
= Ft ) d F x0 Fx0 = Ft dt
dt
Lorsque F ne dépend pas de t, Ft = 0 et donc :
d F x 0 Fx 0 = 0 ) F x0 Fx0 = constante
D’où, dans ce cas de F = F (x, x0 ), il faut résoudre cette équation différentielle de pre-
Z t1
mier ordre F x Fx0 = constante, pour déterminer x(t) qui maximise
0 F (x, x0 ) dt
t0
280 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
Exemple : La brachistochrone
Nous avons vu au 3.6 que le problème consistait à
Z x1 " #1/2
1 1 + y02
min 1/2
dx
x(t) x0 (2g) y
" #1/2
0 1 1 + y02
F (y, y ) = p ⇥
2g y
On est bien dans le cas N 2 où F ne dépend pas de t (ici x), mais seulement de y et
y 0 . D’où : F y 0 Fy0 = C te .
Calculons Fy0 .
2 " # 1/2 3
0 2 0
1 1 1+y y
Fy 0 = p 4 ⇥2 5
2g 2 y y
" # 2 " # 1/2 3
0 2 1/2 0 2 0
1 1+y 1 1 1+y 2y 5
F y 0 Fy 0 = p y0 p 4 ⇥
2g y 2g 2 y y
2" #1/2 2 " # 1/2 3 3
1 4 1 + y02 4 1 + y 02 y 0 2 55
= p ⇥
2g y y y
2⇣ ⌘1/2 3
02
1 6 1+y y 1/2 y02 7
= p 4 ⇥ 5
2g y 1/2 1 + y02
1/2 y
" #
1 1 + y02 y02
= p
2g y 1/2 1 + y 0 2 1/2 1 + y02
1/2 1/2
y
1 1
= p
2g y 1/2 1 + y 0 2 1/2
1 h ⇣ 2
⌘i 1/2
= p y 1 + y0
2g
= constante
Ainsi,
2 2 c
y(1 + y 0 ) = constante c ) y 0 = 1
y
r
c y dy
) y0 = =
y dx
r
dx y
) =
dy c y
r
y
) dx = dy
c y
Méthodes mathématiques avancées 281
D’où ✓r ◆
y p
x = c arcsin cy y 2 + C te
c
C’est là l’équation d’une cycloïde.
Exemple déjà vu :
Z t1
2 x0
min x0 e dt s.c. x(t0 ) = x0 et x(t1 ) = x1
t0
On est dans le cas 7.3 avec F (x0 ) non linéaire, d’où x(t) doit être de la forme x(t) =
c1 t + c2 et les conditions aux bords permettent de déterminer c1 et c2 en fonction de
t0 , t1 , x0 et x1 .
Ax + B x x 0 = B t + B x x 0 ) Ax = B t
Cette égalité n’est pas une équation différentielle (elle ne comporte pas x0 ou ses
dérivées). Elle peut être considérée comme une fonction implicite pour x en terme
de t. Si x(t) satisfait les conditions aux bords, elle est une solution optimale.
Par contre si Ax ⌘ Bt pour n’importe quel x(t), alors il existe une fonction P (t, x)
telle que Pt ⌘ A, Px ⌘ B, dans ce cas :
= P (t1 , x1 ) P (t0 , x0 )
La valeur de l’intégrale ne dépend donc que des points terminaux et le chemin entre
les deux n’importe pas pour l’optimum : tout chemin faisable est optimal.
C’est comme si l’on a à maximiser (en fonction de x) une fonction constante. N’im-
porte quel x fait l’affaire.
Dans ce cas N 5, l’équation d’Euler est une identité.
Exemple 1 :
L’intégrale ne dépend pas de x(t). Elle ne dépend que des points terminaux.
Dans ce cas
dFx0
Fx = c 2 et Fx0 = c1
=0 )
dt
et l’équation d’Euler est : c2 = 0. Dans le cas où c2 > 0 (coût de stockage), il n’y
a pas de calendrier de production optimal. Mais si c2 = 0, n’importe quel plan de
production sera optimal.
Z T
c2 = 0 ) c1 x0 dt = [c1 x(t)]T0 = c1 [x(T ) x(0)] = c1 n
0
Exemple 3 : Soit
Dans ce cas
dFx0
Fx = t x 0 et Fx0 = t x ) = x + t x0 (t x = u v)
dt
L’équation d’Euler est
x + t x0 = t x0 ) x(t) = 0.
, n=0
Exemple 4 :
Z t1
e rt
(x0 ax) dt s.c. x(t0 ) = 0 et x(t1 ) = x1 .
t0
Dans ce cas
dFx0
F (t, x, x0 ) = e rt
(x0 ax), Fx = ae rt
et Fx0 = e rt
) = re rt
dt
L’équation d’Euler est :
rt rt
ae = re , a=r
valeur ne dépendant pas de x(t) pour t0 < t < t1 . Entre t0 et t1 , tout x(t) est bon.
Si a 6= r, l’équation d’Euler ne peut pas être satisfaite, pas d’optimum.
Exemple 5 :
Z T ⇥ ⇤
max e rt
p(t) f (K(t)) c(t)(K 0 + bK) dt s.c. K(0) = K0 et K(T ) = KT .
0
Exemple 6 : soit
Z 1
2
(x0 2xx0 + 10tx) dt sous x(0) = 1 et x(1) = 2
0
Dans ce cas,
dFx0
Fx = 2x0 + 10t, Fx0 = 2x0 2x et = 2x00 2x0
dt
L’équation d’Euler est :
5 5
2x0 + 10t = 2x00 2x0 ) x00 (t) = 5t ) x0 (t) = t2 + c1 ) x(t) = t3 + c1 t + c2
2 6
Or ⇢
x(0) = 1 ) 1 = c2
x(1) = 2 ) 2 = 56 + c1 + 1 ) c1 = 1
6
D’où,
5 1
x(t) = t3 + t + 1
6 6
Méthodes mathématiques avancées 285
F est supposé deux fois différentiable pour ses trois arguments t, x et x0 . Supposons
que x⇤ (t) maximise (8.12).
Pour une fonction donnée h(t) admissible, on définit :
Z t1
g(a) = F (t, x⇤ + ah, x⇤ 0 + ah0 ) dt
t0
Z t1
Lorsque a = 0, g(0) = F (t, x⇤ , x⇤ 0 ) dt correspondant au maximum de (8.12).
t0
Comme g(0) est le maximum, on doit avoir g 0 (0) = 0 (condition nécessaire de premier
ordre).
Z
0 dg(a) t1
@F (t, x⇤ + ah, x⇤ 0 + ah0 )
g (a) = = dt (Règle de Leibniz)
da t0 @a
Lorsque a = 0, y = x⇤ et donc :
Z t1
0
g (0) = Fx h + Fx0 h0 dt = 0
t0
avec a = 0, on a :
Z t1 h i
00 2
g (0) = Fxx h2 + 2Fxx0 hh0 + Fx0 x0 h0 dt (8.13)
t0
Comme g 0 (0) = 0 maximise g(a), g 00 (0) doit être négative pour tout h(t) admissible.
L’intégrand de (8.13) est une forme quadratique en h et h0 . Cette forme quadratique
est non-positive si les coefficients sont les dérivées partielles secondes d’une fonction
concave en (x, x0 ) . D’où le résultat que pour maximiser (8.12), F doit être concave
en (x, x0 ) et x⇤ (t) doit vérifier l’équation d’Euler.
La concavité de F en (x, x0 ) est remplacée, dans le cas général, par la condition de
Legendre suivante :
Fx0 x0 (t, x⇤ (t), x⇤ 0 (t)) 0
Pour le minimum, il faut prendre le signe d’inégalité opposé, ce qui correspond à la
convexité de F en (x, x0 ).
F et G sont fonctions continues et dérivables deux fois, c est un nombre réel donné.
Nous avons déjà vu des exemples de ce problème. L’appellation isopérimétrique pro-
vient de l’exemple où l’on avait à maximiser l’aire entourée par une courbe de péri-
mètre fixe donné. Z Z
T T
rt
L’exemple déjà vu de max e P (x) dt sous contrainte : x(t) dt = n, est un
0 0
exemple de problème isopérimétrique. La contrainte isopérimétrique
Z peut être trans-
t
formée en condition de points terminaux en posant y(t) = x(s) ds comme produit
0
accumulé jusqu’à t. Donc y 0 (t) = x(t). Dans ce cas, dans l’intégrale à maximiser, il
Z T
faut substituer y à x et la contrainte
0 x(t) dt = n devient y(0) = 0 et y(T ) = n.
0
Le problème est que dans le cas général, la transformation de la contrainte isopéri-
métrique en conditions aux bords n’est pas toujours simple. On peut alors utiliser la
technique du multiplicateur de Lagrange, en ajoutant à l’objectif, la contrainte (= 0)
multipliée par le multiplicateur de Lagrange :
Z T ✓Z T ◆ Z T
rt
⇥ rt
⇤
L = e P (x) dt xdt n = e P (x) x dt + n (8.16)
0 0 0
Méthodes mathématiques avancées 287
L’intégrale (8.14) atteint son maximum pour x, lorsque (8.17) l’atteint pour le même
x et déterminé pour que (8.15) soit vérifiée.
Pour (8.17), l’équation d’Euler est :
d (Fx0 G x0 )
Fx Gx =
dt
x⇤ qui maximise (8.14) sous la contrainte (8.15), n’est pas une extrémale de l’intégrale-
contrainte, sinon on ne pourrait pas déterminer et x⇤ qui satisfont (8.14) et (8.15).
Exemple 1 :
Z 1 Z 1
⇥ 0
⇤2
min x (t) dt sous c. x(t) dt = n, x(0) = 0 et x(1) = 2
0 0
dLx0
Lx = , Lx0 = +2x0 , = 2x00
dt
L’équation d’Euler est alors :
dLx0
Lx = , 2x00 = ) 2x00 + = 0 ) 2x00 = ) x00 = ) x0 = t + c1
dt 2 2
) x(t) = t2 + c 1 t + c 2
4
or (
x(0) = 0 ) c2 = 0
x(1) = 2 ) + c1 = 2 ) c1 = 2 +
4 4
288 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
La contrainte
Z 1 Z 1 ✓ ◆
2
x(t) dt = n ) t + 2+ t dt = n
0 0 4 4
1
8+ 2 8+
) t3 + t = + =n
12 8 0 12 8
2 + 3(8 + )
) =n
24
) 2 + 24 + 3 = 24n
) = 24(n 1)
) c1 = 2 + 6(n 1) = 6n 4
D’où
Exemple 2 :
Z T Z T ⇣ ⌘
2 1/2
max x dt sous c. 1 + x0 dt = n, x(0) = 0 et x(T ) = 0
0 0
⇣ ⌘1/2
L’intégrand augmenté est L = x 1 + x0 2 , on a :
1 ⇣ 2
⌘ 1/2 ⇣
2
⌘ 1/2
Lx = 1, L x0 = 1 + x0 ⇥ 2x0 = x0 1 + x0
2
✓ ⇣ ⌘ ◆
d 0 02
1/2
1= x 1+x
dt
Méthodes mathématiques avancées 289
✓ ⇣ ⌘ ◆ ✓ ⇣ ⌘ ◆
d 2 1/2 2 1/2
1= x0 1 + x0 , d x0 1 + x0 = dt
dt
⇣ ⌘ 1/2
2
, x0 1 + x0 =t+k
x0
, p =t+k
1 + x0 2
2 x0 2
, p = (t + k)2
0 2
1+x
2 02 2
, x = (t + k)2 + (t + k)2 x0
⇥ ⇤ 2
, 2
(t + k)2 x0 = (t + k)2
2 (t + k)2
, x0 = 2 (t + k)2
t+k
, x0 = p
2 (t + k)2
Faisons le changement de variable
2 du
u= (t + k)2 ) = 2(t + k)
dt
Donc
1 du 1 du
x0 = pdt ) x0 dt = p
2 u 2 u
Z Z Z
0 du 1
) x dt = p = p du
2 u 2 u
p
) x(t) = u+c
p
) x(t) = 2 (t + k)2 + c
or p p
⇢ 2
x(0) = 0 ) 0 = p k2 + c ) c = 2 kp2
x(T ) = 0 ) 0 = 2 2
(T + k) + c ) c = 2 (T + k)2
D’où
2 T
k2 = 2
(T + k)2 ) k 2 = (T + k)2 ) k =
p 2
On a trouvé ci-dessus x = 2 (t + k)2 + c. On en tire :
p
x c= 2 (t + k)2 ) (x c)2 = 2
(t + k)2 ) (x c)2 + (t + k)2 = 2
s ✓ ◆2
T
) = (x c)2 + t
2
290 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
Z Z " #1/2
T ⇣ ⌘1/2 T T 2
02 t 2
1+x dt = n ) 1+ 2 dt = n
0 0 2 t T2
2 " #T 3
T
t
) 4 arcsin 2 5=n
0
Appelons la solution optimale x⇤ (t). Comme elle satisfait la contrainte, on a donc la
valeur optimale dépendant de n :
Z t1 Z t1
⇤0
⇥ ⇤
Vn = F t, x , x ⇤
dt = F t, x⇤ , x⇤ 0 G t, x⇤ , x⇤ 0 dt + n
t0 t0
Z t1
La contrainte étant G(t, x, x0 ) dt = n.
t0
Z t1
dL⇤ d( n) dL⇤
V (n) = L⇤ dt + n et V 0 (n) = + = +
t0 dn dn dn
dL⇤
Comme = 0, on a : V 0 (n) = .
dn
Le multiplicateur de Lagrange L correspond donc à la valeur marginale du paramètre
n : c’est le taux de variation de l’optimum à la suite d’une variation de n.
où y = x + ah, y 0 = x0 + ah0
Méthodes mathématiques avancées 291
Puisque x(t) est la solution optimale, g(a) est maximum ou minimum lorsque a = 0
ou y = x, donc
Z t1
⇥ ⇤
g 0 (0) = 0 ) g 0 (0) = Fx h + Fx0 h0 dt = 0
t0
Dans la figure ci-dessus, on voit que (ds)2 = (dt)2 + (dx)2 . Cela donne :
✓ ◆2 q q
(ds)2 dx 02
=1+ = 1 + x (t) ) ds = 1 + x dt = 1 + x0 2 (t)dt.
0 2 2
dt2 dt
Z bp
La distance à minimiser est ainsi : 1 + x0 2 dt s.c. x(a) = A. Dans ce cas F (x0 ) =
p a
1 + x0 2 . L’intégrand F = F (x0 ) implique que la forme de la solution est donc ;
x(t) = c1 t + c2 .
D’où ⇢
x0 (b) = 0 = c1
x(a) = A = c1 a + c2 ) c2 = A
Donc, x(t) = A pour a t b.
La ligne recherchée qui minimise la distance entre (a, A) et la verticale t = b est
la droite horizontale x = A. La condition de Legendre du minimum Fx0 x0 > 0 est
satisfaite, puisque
p p
1 + x 0 2 x 0 Fx 0 1 + x0 2
Fx 0 x 0 = = >0 puisque Fx0 = 0
1 + x0 2 1 + x0 2
Les deux fonctions x⇤ et x sont proches si à chaque point du domaine étendu, leurs
valeurs sont proches, leurs pentes sont similaires et si leurs points terminaux sont
proches. C’est ce qu’exprime la distance définie ci-dessus.
Définissons Z t1 +a t1
g(a) = F t, x⇤ + ah, x⇤ 0 + ah0 dt
t0
La fonction g atteind son optimum à a = 0, donc g 0 (0) = 0 est nécessaire.
Z
0
t1 +a t1 @F t, x⇤ + ah, x⇤ 0 + ah0
g (a) = dt
t0 @a
Pour a = 0, on a :
Z t1
0 ⇤ ⇤0
g (0) = 0 = F t1 , x (t1 ), x (t1 ) t1 + (Fx h + Fx0 h0 ) dt
t0
Intégrons le second terme par parties (rappel : h(t0 ) = 0). On obtient : g 0 (0) = 0
Z t1 ✓ ◆
⇤ ⇤0 ⇤ ⇤0 dFx0
F t1 , x (t1 ), x (t1 ) t1 +Fx0 t1 , x (t1 ), x (t1 ) ⇥h(t1 )+ Fx + h dt = 0
t0 dt
294 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel
La différence des valeurs des deux fonctions x et x⇤ à leurs points finals respectifs
est : x1 ⌘ x(t1 + t1 ) x⇤ (t1 ).
On peut extrapoler pour déterminer x(t1 + t1 ) en tirant une droite à partir du point
(t1 , x(t1 )) et ayant pour pente x⇤ 0 (t1 ) : l’équation de cette droite est donc :
Conditions nécessaires :
dFx0
— L’équation d’Euler-Lagrange doit être vérifiée : Fx = pour t0 t t1 ;
dt
— La condition de Legendre de second ordre doit être vérifée :
• pour le maximum : Fx0 x0 0 pour tout t, t0 t t1 ;
• pour le minimum : Fx0 x0 0 pour tout t, t0 t t1 .
Conditions de transversalité :
— Si x(t1 ) est libre, alors on doit avoir : Fx0 = 0 à t1 ;
— Si t1 est libre, alors on doit avoir : F x0 Fx0 = 0 à t1 ;
— Si x(t1 ) et t1 sont tous les deux libres, alors on doit avoir : Fx0 = 0 et F = 0
à t1 .
R est une fonction dérivable, x1 doit se situer sur la courbe de R(t). Si t1 varie de
t1 , la valeur finale de x1 variera de R0 (t1 ) t1 :
x1
R0 (t1 ) =
t1
Nous avons établi dans la section précédente (11) que pour trouver l’optimum dans
le cas général, on doit avoir :
x1
Fx0 (t1 ) x1 + (F x00 Fx0 (t1 ) ⇥ t1 = 0 ) Fx0 (t1 ) + (F x0 Fx0 )(t1 ) = 0
t1
) Fx0 (t1 ) ⇥ R0 (t1 ) + (F x0 Fx0 )(t1 ) = 0
⇥ ⇤
) F (t1 ) + Fx0 (t1 ) R0 (t1 ) x0 = 0
La condition de l’optimum dans ce cas précis, de point final sous contrainte d’égalité
est donc
F + Fx0 (R0 x0 ) = 0 à t1
Condition à ajouter aux conditions d’Euler, de Legendre et de x(t0 ) = x0 .