Vous êtes sur la page 1sur 37

Chapitre 8

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

— Les équations non linéaires ;


— L’optimisation non différentiable ;
— L’optimisation globale.
L’optimisation déterministe, continue contrainte est de 6 types :
— L’optimisation non différentiable ;
— L’optimisation globale ;
— Programmation non linéaire ;
— Optimisation de réseau ;
— Optimisation bornée ;
— L’optimisation contrainte linéairement.
La programmation non linéaire est de 4 sortes :
— Programmation semi-définie ;
— Programmation semi-indéfinie ;
— Programmation mathématique avec contraintes d’équilibre ;
— Programmation non linéaire entière mixte.
L’optimisation bornée donne l’optimisation sans dérivées et l’optimisation linéaire-
ment contrainte peut être soit de la programmation quadratique, soit de la program-
mation linéaire.
Quant à la programmation non linéaire semi-définie, elle peut être de la programma-
tion conique de second ordre ou de la programmation quadratique.
En mettant donc de côté l’optimisation à objectif multiple, l’optimisation à un seul
objectif ou à une seule fonction-objectif est soit une optimisation déterministe, soit
une optimisation incertaine. Elle est déterministe lorsque les données du problème
donné sont connues avec précision. Lorsque ces données sont incertaines, plus parti-
culièrement lorsque ces données concernent le futur, l’optimisation est incertaine.
Lorsque l’optimisation est incertaine, elle peut être soit de la programmation sto-
chastique, soit de l’optimisation robuste. L’optimisation stochastique traite le pro-
blème posé en termes probabilistes. L’optimisation robuste, plus récente, recourt aux
ensembles mathématiques.
L’optimisation déterministe, elle, est soit continue, soit discrète, selon la nature
des variables concernées. L’optimisation discrète peut être soit une programmation
entière, soit une programmation combinatoire. La programmation entière est un type
particulier de programmation linéaire. La programmation combinatoire traite des
problèmes du genre de celui du vendeur voyageur et de problèmes de management
relatifs aux stocks.
L’optimisation déterministe continue est le type d’optimisation qui a connu le plus
de développement et de ramifications. Elle peut être contrainte ou non contrainte,
linéaire ou non linéaire . . .
L’une des distinctions de types d’optimisation qui intéresse le plus l’économiste
nous semble être la distinction entre l’optimisation à un instant donné, l’optimisa-
tion statique, et l’optimisation d’une fonction variant dans le temps, l’optimisation
dynamique.
La programmation linéaire est statique et fait l’objet d’un cours dispensé parfois
en licence de sciences économiques et de gestion. L’optimisation mathématique conti-
nue statique fait l’objet du cours d’analyse mathématique dispensé en licence. Mais,
Méthodes mathématiques avancées 261

souvent, l’enseignent en sciences économiques et de gestion, se contente de l’optimi-


sation d’une fonction à une seule variable et, parfois à plusieurs variables, sans ou
avec une ou plusieurs contraintes d’égalités. Les cours ne vont jamais au-delà, vers
des contraintes d’inégalités, par exemple.
L’objet du chapitre présent est l’optimisation dynamique. Le calcul des variations
ou calcul variationnel, le principe du minimum de Pontriaguine et la programmation
dynamique sont les trois grandes formulations de la théorie de la commande optimale,
du contrôle optimal ou de l’optimisation dynamique.
Le calcul variationnel peut être utilisé pour résoudre toutes sortes de problèmes
d’optimisation dynamique. Le principe de Pontriaguine et la programmation dyna-
mique de Bellman peuvent être considérés comme des extensions du calcul variation-
nel.
Ce calcul des variations a pour origine le principe de Pierre Fermat selon lequel
la lumière suit le trajet dont le temps de propagation est minimal. L’origine, non
seulement du calcul variationnel, mais aussi du calcul différentiel classique se trouve
dans les travaux de Fermat et, notamment, dans sa méthode présentée dans “ de
maximis minimis " communiquée à ses confrères au Parlement de Borderaux, en
1629, soit 13 ans avant la naissance de Newton auquel on accorde classiquement la
paternité du calcul différentiel, 17 ans avant la naissance de Leibnitz, cet autre père
du calcul différentiel et de ses méthodes passées à la postérité. Toutefois, les premières
bases du calcul variationnel ont été posées par Euler et Newton avec leur résolution
du problème de la brachistochrone posé en 1696 par J. Bernoulli. Il appartiendra,
par la suite, à Lagrange de donner à ce calcul la forme analytique qui nous a été
transmise.

8.2 Introduction au calcul variationnel 1


En économie, le problème statique d’optimisation consiste à trouver la valeur x⇤
de x qui maximise (ou minimise) une fonction F (x) donnée. Par exemple, il s’agira
de trouver le niveau de production x⇤ qui maximise le profit F (x) engendré par la
production et la vente de x unités de produit :

max F (x) (8.1)


x 0

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

1. Cette introduction s’inspire largement de la 1ère partie de l’ouvrage de Kamien et Schwartz.


262 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel

F (x1 , x2 , . . . , xn ) étant la fonction de profit.


On peut généraliser (8.1) au cas de temps discret multipériode pour trouver le
niveau de production xt du produit à produire et vendre à chaque période t. Il s’agira
de :

max F (t, xt ) (8.2)


xt 0,t=1,2,...,T

La solution optimale de ce problème (8.2) est un ensemble de T nombres, x⇤1 , x⇤2 , . . . ,


x⇤T . Comme le produit de chaque période est le seul à influencer le profit de cette
période, le problème (8.2) se réduit à une suite de problèmes statiques. Il s’agira de
trouver pour chaque période le niveau de production x⇤t qui maximisera son profit
F (xt ). Les T conditions nécessaires de premier ordre sont des conditions séparées.
Cela peut être généralisé au cas de plusieurs produits (variables).
Le problème d’optimisation ne devient réellement dynamique que lorsque le ni-
veau de production d’aujourd’hui détermine non seulement le profit d’aujourd’hui,
mais aussi les profits des périodes à venir.
À titre d’exemple, si le profit d’aujourd’hui dépend du niveau de production
d’aujourd’hui et du niveau de production xt de l’an dernier, ou de la période passée,
xt 1 (à cause du coût d’augmentation ou de réduction de l’équipement nécessaire,
par exemple), on a :
T
X
max F (t, xt , xt 1) (8.3)
xt 0,t=1,2,...,T
t=1

Avec xt = x0 à spécifier pour t = 0. Les conditions nécessaires de premier ordre ne


sont plus séparées. Elles constituent un système d’équations simultanées.
L’équivalent du problème (8.2) pour le temps continu est :
Z T
max F (t, x(t))dt (8.4)
x(t) 0 0

La solution de ce problème dynamique est une fonction x⇤ (t), 0  t  T , qui


donne le produit optimal à chaque point t du temps. À vrai dire, ce problème n’est
pas encore réellement dynamique, dans la mesure où, comme dans (8.2), le niveau
de production de chaque période est le seul à déterminer le profit de cette période
et il ne détermine pas le profit d’autres périodes.
L’équivalent, en temps continu, de (8.3) est moins évident car en temps continu,
la notion de période précédente est peu claire. Le taux de variation dans le temps du
produit correspond à la dérivée par rapport au temps du produit. Le problème peut
ainsi être formulé comme suit :
Z T
max F (t, x(t), x0 (t))dt
x(t) 0,x(0)=x0 0

C’est là la formulation d’un problème d’optimisation dynamique. Comme cela


a été vu, il existe trois méthodes de résolution de ce problème type d’optimisation
dynamique : la méthode du calcul variationnel, la méthode du contrôle optimal ou du
Méthodes mathématiques avancées 263

principe du minimum de Pontriaguine et la méthode de la programmation dynamique


de Richard Bellman.
Le reste de ce chapitre sera consacré au calcul variationnel, analogue au calcul
différentiel et intégral classique. Cette méthode est utilisable lorsque les fonctions dé-
crivant le problème sont dérivables et que l’optimum se situe strictement à l’intérieur
de la région faisable.
Les trois questions d’existence, de conditions nécessaires et de conditions suf-
fisantes de l’optimum qui se posent en calcul classique ont leurs équivalentes en
optimisation dynamique. L’accent sera mis sur les conditions nécessaires et, dans
une moindre mesure, sur les conditions suffisantes.

8.3 Exemples de problèmes d’optimisation dynamique pou-


vant être traités par le calcul variationnel 2
Exemple 3.1 :
Une entreprise reçoit une commande de n entités de produit à livrer à l’instant T .
Elle désire établir un calendrier de production de manière à remplir son engagement
pour T au coût minimal, tenant compte du fait que le coût unitaire de production est
dans une relation linéaire positive avec le taux de production et que le coût unitaire
de stockage pour une unité de temps est constant.
Si x(t) est le stock de produit t, on a x(0) = 0 et on doit avoir x(T ) = n. x(t) est
égal à la production cumulée jusqu’à T . Le taux de variation du stock est le taux de
dx
variation de la production = x0 (t).
dt
À l’instant t, le coût total de l’activité de l’entreprise est égal à la somme du coût
de production et du coût de stockage.
Le coût de stockage est : b x(t)
Le coût de production est : [a x0 (t)] x0 (t) = a [x0 (t)]2
Le coût total est : a [x0 (t)]2 + b x(t)
Il s’agit donc pour l’entreprise de minimiser le coût total cumulé dans le temps de 0
àT :
Z T h ⇥ i
⇤2
min a x0 (t) + b x(t) dt
x(0)=0,x(T )=n,x0 (t) 0 0

L’entreprise peut penser à adopter un plan de production régulier qui consiste à


n
produire à un taux uniforme x0 (t) = . Et comme à t :
T
Z t Z t h n it
n nt
x(t) = x0 (t) dt = dt = t =
0 0 T T 0 T

2. Exemples empruntés à Dynamic Optimisation de M. I. Kamien et N. L. Schwartz, North-


Holland, 2de Edition, Partie I, Section 1ère
264 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel

Le coût total pour t de 0 à T est :

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

Cela est faisable, mais cela ne minimise pas nécessairement le coût.

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

K 0 correspond à la variation du stock de capital.


Le problème du pays consiste à chercher à maximiser l’utilité procurée par la consom-
mation à travers le temps en choisissant la part de produit à consacrer à l’investis-
sement à chaque moment t. Il s’agit de déterminer K 0 qui
Z T Z T ⇥ ⇤
maximise U [C(t)] dt = U F (K(t)) K 0 (t) dt
0 0

Sous contrainte K(0) = K0 , K(T ) 0

U étant supposée doublement dérivable, croissante et concave.


Mais, comme le capital se déprécie dans le temps et si le taux de dépréciation est
constant, il faut réinvestir b K(t) pour maintenir le stock de capital, d’où F (K) =
C + K 0 + bK.
Et si la satisfaction de demain est moins désirée que la satisfaction immédiate,
alors il faut actualiser à un taux d’escompte r toutes les satisfactions futures. Fina-
lement, le problème devient :
Z T ⇥ ⇤
maximiser e rt
U F (K(t)) K 0 (t) bK(t) dt
0

Sous contrainte K(0) = K0 , K(T ) 0


Méthodes mathématiques avancées 265

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

s.c. K(0) = K0 , K(T ) 0

où K = K(T ) et K 0 = K 0 (t). (I = K 0 + bK)


Le capital, dans ce problème, peut être considéré comme capital humain et C(I)
comme coût d’éducation et de formation. K peut aussi être considéré comme le
stock de goodwill d’une entreprise, C(I) comme dépense en publicité et promotion
pour renforcer le goodwill. K peut également être considéré comme stock de bien
d’équipement durable loué à d’autres et C(I) est alors le coût de production. K peut
enfin être vu comme le capital santé et C(I) correspond alors aux dépenses de santé
et de couverture médicale.

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

s.c. x(a) = A, x(b) = B


266 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel

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

Exemple 3.6 : (la brachistochrone)


Il s’agit de trouver le chemin y(x) dans le plan x, y à emprunter par une particule
de masse m propulsée par la force de gravité d’un point initial (x0 , y0 ) à un point
final (x1 , y1 ) de manière à minimiser
R la durée de temps pour faire le trajet indiqué.
La durée du trajet est T = dt.
ds ds ds
dt = = , v étant la vitesse de la particule v = et ds est une “courte”
ds/dt v dt
distance sur le chemin de la particule.
On sait que
p dy
(ds)2 = (dx)2 + (dy)2 ) ds = 1 + y 02 dx où y0 = .
dx
On suppose que la particule ne gagne et ne perd pas d’énergie tout au long de son
v2
trajet. Cela signifie que son énergie cinétique, m = = mgy, son énergie potentielle
2
à tout point de son chemin, où mg est le poids de la particule et g est l’accélération
de gravité. On suppose que la vitesse initiale de la particule est nulle. Il s’ensuit que
p
v = 2gy. En procédant aux substitutions nécessaires, on obtient qu’il faut
Z x1  1/2
1 + y 02 dx
min
x0 y (2g)1/2
Z p
ds p
(puisque T à minimiser est dt et dt = et ds = 1 + y 02 dx et v = 2gy.
v
Méthodes mathématiques avancées 267

C’est là le problème dont la résolution a déclenché le développement du calcul


variationnel. Comme on le voit, il s’agit d’un problème de physique. Cependant, les
problèmes posés par les exemples 1 à 3 précédents sont des problèmes économiques,
mais de nature mathématique similaire.

8.4 Résolution de l’exemple 3.1


Rappelons qu’il s’agit de planifier la production dans le temps de manière à
minimiser le coût et à pouvoir exécuter la commande de n unités, c’est-à-dire
Z T
⇥ 0 ⇤
min a(x (t))2 + bx(t) dt
0

s.c. x(0) = 0, x(T ) = n et x0 (t) 0

Si le coût de stockage est nul, le problème devient :


Z T
⇥ 0 ⇤
min a(x (t))2 dt
0

s.c. x(0) = 0, x(T ) = n et x0 (t) 0

Si l’on raisonne en temps discret, en divisant le temps T en T /k segments de temps


de durées k égales, la fonction x(t) peut être approchée par la ligne polygonale y
faite de segments correspondant aux segments de temps :

(0, 0), (k, y1 ), (2k, y2 ), . . . , (T, n)

Les variables de décision sont les niveaux de stocks y1 , y2 , . . . , yT /k 1 . Le taux de


x yi yi 1
variation x0 (t) est approché par = . Il s’agit donc de trouver yi , i =
t k
1, . . . , Tk 1 de manière à :
T /k 
X yi yi 1
2
min k avec y0 = 0 et yT /k = n
k
i=1
268 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel

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

) (yi yi 1 ) (yi+1 yi ) = 0 ) (yi yi 1 ) = (yi+1 yi )


Les écarts successifs doivent donc être égaux. Cela veut dire que le taux de variation
du stock doit être constant. Ce qui revient à dire que les yi doivent se situer sur une
ligne droite entre (O, 0) et (T, n).
Pour retourner au temps continu, il faut faire tendre k vers 0 et donc le nombre
T
de segments vers l’infini.
k
Le raisonnement précédent, en temps discret, reste valable quant à la solution
du problème d’optimisation qu’il suggère : un taux de variation de production et
de stock constant : x(t) = tn T , puisque x (t) = T
0 n
0. Ce chemin est faisable. Il
faut maintenant montrer que c’est le chemin optimal, c’est-à-dire qu’il correspond
au moindre coût.
Considérons un autre chemin z(t) satisfaisant les conditions z(0) = 0 et z(T ) = n.
Posons h(t) = z(t) x(t). On a nécessairement h(0) = h(T ) = 0, puisque z(t) et x(t)
coïncident au point initial et au point terminal.
Comme x(t) = tn T , on a
tn tn n
h(t) = z(t) ) z(t) = h(t) + ) z 0 (t) = h0 (t) +
T T T
et la différence de coûts entre les deux chemins z et x est :
Z T Z T ✓h ◆
0 2 0 2 0 n i2 h n i2
[z (t)] [x (t)] dt = h (t) + dt
0 0 T T
Z T ✓ ◆
0 2 n2 2n 0 n2
= h (t) + 2 + h (t) dt
0 T T T2
Z T ✓ ◆
0 2 2n 0
= h (t) + h (t) dt
0 T
Z T Z
0 2 2n T 0
= h (t) dt + h (t) dt
0 T 0
Z T
2 2n
= h0 (t) dt + [h(t)]T0
0 T
Z T
2 2n
= h0 (t) dt + ⇥0 (h(T ) = h(0) = 0)
0 T
Z T
2
= h0 (t) dt 0
0
Méthodes mathématiques avancées 269

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.

8.5 L’équation d’Euler


Reprenons la formulation générale du problème d’optimisation dynamique :
Z t1
max F (t, x(t), x0 (t)) dt (8.5)
x(t) t0
s.c. x(t0 ) = x0 et x(t1 ) = x1

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 x⇤ maximise (8.5), la fonction g doit avoir son maximum à a = 0. Cela


implique que g 0 (0) = 0 (condition nécessaire de premier ordre). Pour calculer g 0 (a),
appliquons le théorème des fonctions composées 3 (chain rule) à l’intégrand de (8.6)

dF t, x⇤ (t) + a h(t), x⇤ 0 (t) + a h0 (t) /da = Fx h(t) + Fx0 h0 (t)

Et appliquons la règle de Leibnitz 4 pour dériver sous l’intégrale :


Z t1 Z t1
⇥ ⇤ ⇥ ⇤
g 0 (a) = Fa t, x⇤ (t), x⇤ 0 (t) da = Fx h(t) + Fx0 h0 (t) dt
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 :

Fx = Fx0 t + Fx0 x x0 + Fx0 x0 x00 t0  t  t1

Une autre forme de l’équation d’Euler est :


Z t1
F x0 = Fx s, x⇤ (s), x⇤ 0 (s) ds + c
t0

Cette forme est appelée l’équation de du Bois-Reymond.


Si l’on a : Fx0 (t, x, x0 ) = p(t) et si Fx0 x0 6= 0, x0 peut être exprimée comme une
fonction de t, x et p. Une nouvelle fonction, le Hamiltonien, peut être ainsi définie :

H(t, x, p) = F (t, x, x0 ) + p x0

(p correspond au moment généralisé en physique. En économie, il correspond à un


prix fantôme (shadow), ou un prix virtuel ou fictif).
La différentielle totale du Hamiltonien est :

dH = Ft dt Fx dx Fx0 dx0 + pdx0 + x0 dp = Ft dt Fx dx + x0 dp


| {z }
=0

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 Applications de l’équation d’Euler


8.6.1 Application 1
Reprenons l’exemple 3.1 ci-dessus avec b = 0, coût de stockage nul et a = 1. Il
s’agissait de
Z T
2
min x0 (t) dt
x(t) 0
s.c. x(0) = 0 et x(T ) = n
L’intégrand est F (t, x, x0 ) = x0 2 et Fx0 = 2x0✓
. Comme F ◆ne dépend pas de x, on a
dFx0
Fx = 0. L’équation d’Euler est donc 0 = 2x00 Fx =
dt
2x00 (t) = 0 ) x00 (t) = 0 ) x0 (t) = cte = c1 ) x(t) = c1 t + c2
Les constantes c1 et c2 sont déterminées à partir des conditions de bornes :
x(0) = 0 ) x(0) = c1 ⇥ 0 + c2 = 0 ) c2 = 0
n
x(T ) = n ) x(T ) = c1 ⇥ T + 0 = n ) c1 =
T
Finalement
n
x(t) = t 0tT
T
Voilà donc la solution déjà trouvée au problème.

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

c1 et c2 deux constantes non négatives.

Fx = c 2 , et Fx 0 = 2 c 1 x 0

L’équation d’Euler est

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

D’où la solution est


✓ ◆
c2 2 n c2 T c2 t(t T ) nt
x(t) = t + t= +
4c1 T 4c1 4c1 T
x0 (t) 0?
c2 t n c2 T n c2 T c2 T 2
x0 (t) = + 0 ) > ) n
2c1 T 4c1 T 4c1 4c1
x(t) est la solution, si cette condition est vérifiée, c’est-à-dire si n est suffisamment
grand.

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

L’équation d’Euler est :


Z
dFx0 d 2x0 c1 e rt
Fx = , c2 e rt
= ) c2 e rt
dt = 2x0 c1 e rt
dt dt
Ou encore
d 2x0 c1 e rt
= 2x0 c1 ( r)e rt
+2x00 c1 e rt
= Fx = c 2 e rt
) r2x0 c1 +2x00 c1 = c2
dt
d’où,
c2
x00 = rx0 +
2c1
c2
En faisant le changement de variable y = x0 , soit y 0 = x00 , on obtient y 0 = ry +
2c1
soit une équation différentielle de premier ordre avec des coefficients constants. La
solution est 5 :
c2
y = k1 ert = x0
2rc1
ert c2 t
x(t) = k1 + k2 (k1 et k2 constantes d’intégration)
r 2rc1
k1 e0 k1 k1
x(0) = 0 = 0 + k2 = + k2 ) k2 =
r r r
✓ ◆
k1 erT c2 T k1 erT c2 T k1 erT 1 c2 T
x(T ) = n = + k2 = = k1
r 2rc1 r 2rc1 r r r 2rc1
5. Cf. chapitre des équations différentielles ordinaires
Méthodes mathématiques avancées 275

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

g 00 (x0 ) x00 = rg 0 (x0 ) + c2 (8.8)

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)

) rU 0 (C) C 0 U 00 (C) = iU 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

) C(t) = e(i r) t+c1


= e(i r) t
⇥ e c1 et C(0) = 1 ⇥ ec1

) C(t) = C(0) ⇥ e(i r) t

Ainsi,
C(t) = iK(t) K 0 (t) = C(0)e(i r) t

En posant K(t) = y, on obtient

iy y 0 = f (t) = C(0) e(i r) t

Multiplions les deux côtés par e it , on obtient

ie it
y e it
y 0 = C(0) e rt
) ie it
y+e it
y0 = C(0) e rt

Le côté gauche de l’égalité est la dérivée de y e it par rapport à t, d’où


it Z
d ye rt it rt 1 rt
= C(0) e ) ye = C(0) e dt = C(0) e + c2
dt r
1
) y = K(t) = C(0) e(i r) t
+ c2 ei t
r
Or
8
> 1 1
< à t = 0, on a :
> K(0) = K0 = C(0) + c2 ) c2 = K0
r r
C(0)

>
> 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

8.7 Résolution de l’équation d’Euler dans des cas parti-


culiers
5 cas particuliers sont étudiés dans cette section :
- Cas où F = F (t, x0 )
- Cas où F = F (x, x0 )
- Cas où F = F (t, x)
- Cas où F = F (x0 )
- Cas où F = A(t, x) + B(t, x)x0 linéaire en x0

8.7.1 Cas où F ne dépend que de t et x0


F = F (t, x0 )
Dans ce cas,
@F (t, x0 )
Fx = 0, et Fx 0 =
@x0
L’équation d’Euler devient :
dFx0
= Fx = 0 ) Fx0 = constante
dt
On obtient ainsi une équation différentielle de 1er ordre en (t, x0 ). Elle correspond à
la 1ère intégrale de l’équation d’Euler.

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 .

8.7.2 Cas où F ne dépend que de x et x0 (et pas de t)


F = F (x, x0 )
dFx0
est la dérivée totale par rapport à t, Fx0 est la dérivée partielle de F par rapport
dt
dFx0
à x0 . Cette dérivée partielle ne dépend pas de t. Dans le cas général, F (t, x, x0 ),
dt
varie totalement à la suite d’une variation de t du fait de la variation de t, mais aussi
des variations de x et de x0 :
dFx0 @Fx0 dt @Fx0 dx @Fx0 dx0
= Fx0 t + Fx0 x x0 + Fx0 x0 x00 = ⇥ + ⇥ + 0

dt @t dt @x dt @x dt
d (F x 0 Fx 0 )
Calculons .
dt
d (F x 0 Fx 0 ) dF d (x0 Fx0 )
=
dt dt dt

@F dt @F dx0 @F dx dFx0
= ⇥ + 0⇥ + ⇥ x00 Fx0 x0
@t dt @x dt @x dt dt
dFx0
= Ft + x00 Fx0 + x0 Fx x00 Fx0 x0
dt
dFx0
= F t + x 0 Fx x0
dt
✓ ◆
0 dFx0
= Ft + x Fx
dt
= Ft + x 0 ⇥ 0 (Équation d’Euler)

= 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

s.c. x(t0 ) = x0 et x(t1 ) = x1 .

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.

8.7.3 Cas où F ne dépend que de x0


F = F (x0 )
On a vu plus haut que
dFx0
= Fx0 t + Fx0 x x0 + Fx0 x0 x00
dt
Comme F ne dépend ni de t, ni de x, cette égalité se réduit à Fx0 x0 ⇥ x00 = 0 puisque
dFx0
= Fx0 t = Fx0 x x0 = 0. Ainsi,
dt
Fx0 x0 ⇥ x00 = 0 pour tout t0 < t < t1 ) Fx0 x0 = 0 ou x00 = 0

Si Fx0 x0 = 0 ) x0 (t) = C te ) Fx0 = 0


Si x00 = 0 ) x0 (t) = c1 (Constante) ) x(t) = c1 t + c2 .
Dans ce cas, si F (x0 ) est linéaire

F (x0 ) = a + bx0 ) Fx0 x0 ⇥ x00 ⌘ 0 8x(t).

Si F (x0 ) n’est pas linéaire, alors x(t) est linéaire en t.

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 .

8.7.4 Cas où F = F (t, x)


dFx0
Dans ce cas Fx0 = 0 et l’équation d’Euler devient Fx = = 0.
dt
Fx = 0 implique qu’il faut optimiser pour chaque t. Cela veut dire que le problème
dynamique est dégénérescent. En fait, le problème n’est pas dynamique puisque x(t)
n’affecte pas F (t + h, x) mais seulement F (t, x).

8.7.5 Cas où F est linéaire en x0


F = A(t, x) + B(t, x) ⇥ x0
Dans ce cas
dFx0
Fx0 = B(t, x), = Bt (t, x) + Bx (t, x) ⇥ x0 et F x = Ax + B x x 0
dt
282 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel

L’équation d’Euler devient :

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 :

Ptx ⌘ Ax , Pxt ⌘ Bt et Ptx ⌘ Pxt


dP
Comme = Pt + Px x0 on a
dt
dP
= A + B x0 = F (t, x, x0 )
dt
L’intégrand est donc égal à la dérivée totale de P (par rapport à t) d’où :
Z t1 Z t1
dP
0
F (t, x, x )dt = dt = [P (t, x)]tt10 = P (t1 , x(t1 )) P (t0 , x(t0 ))
t0 t0 dt

= 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 :

F (t, x, x0 ) = x0 (t), s.c. x(t0 ) = x0 et x(t1 ) = x1

L’intégrand est linéaire en x0 .


dFx0
Fx = 0, Fx 0 = 1 ) =0
dt
L’équation d’Euler est 0 = 0 une identité 8x(t)
Z t1 Z t1
x0 (t) dt = d x(t) = [x(t)]tt10 = x1 x0
t0 t0

L’intégrale ne dépend pas de x(t). Elle ne dépend que des points terminaux.

Exemple 2 : Supposons que le coût de production à minimiser à travers le temps


soit linéaire en x0 (t) :

F (t, x, x0 ) = c1 x0 + c2 x s.c. x(0) = 0 et x(T ) = n.


Méthodes mathématiques avancées 283

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

Le coût total de production sera c1 n indépendamment du plan ou du calendrier


de production. Tous les plans faisables sont bons. Si c2 > 0, il faut juste respecter
les conditions aux bords, mais on ne peut pas en savoir plus sur le plan de production.

Exemple 3 : Soit

F (t, x, x0 ) = t x x0 s.c. x(0) = 0 et x(T ) = n.

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.

Ce résultat ne se vérifie que si x(0) = x(T ) = 0 ) n = 0. En effet


Z T Z T " #T Z  2 T
T
0 0 x2 x2 tx x2
t x x dt = (t)(x x dt) = (t) ⇥ dt = t =0
0 0 u dv u 2 0 2 2 2 0
v 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

Si a = r, l’équation d’Euler est une identité et l’intégrand est une différentielle


exacte :
Z t1
0 rt 0
⇥ ⇤t
F (t, x, x ) = e (x rx) et e rt (x0 rx) dt = xe rt t10 = x1 e rt1 x0 e rt0
t0
284 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel

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

(maximisation du profit actualisé sur (0, T )).


p(t) est le prix d’une unité d’output, c(t) est le coût unitaire de l’investissement brut,
K(t) le stock de capital, f (K(t)) est la fonction de production.
⇥ ⇤
F (t, K, K 0 ) = e rt
p(t)f (K(t)) c(t)(K 0 + bK)
⇥ ⇤
et FK = e rt p.f 0 (K) c b et FK 0 = e rt
( c)

L’équation d’Euler est :


⇥ ⇤ d c(t)e rt
e rt
p.f 0 (K) cb = = c0 (t)e rt
c(t)( r)e rt
= [rc(t) c0 (t)]e rt
dt
Ce qui implique
p.f 0 (K) c b = rc c0
Cette égalité est une équation statique pour K(t) qu’on peut résoudre (si f (K) est
explicitée) en fonction de p, c, b, r et c0 . Ensuite, il faudra vérifier les conditions aux
bords. L’équation signifie que le stock de capital doit être choisi de manière à ce que
la valeur du produit marginal du capital à tout t, soit égale au coût de son utilisation

p f 0 (K) = (r + b)c(t) c0 (t)

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

8.8 Conditions de second ordre


Pour une fonction réelle d’une seule variable, la condition nécessaire de 1er ordre
est f 0 (x⇤ ) = 0. Cette condition nous donne le point stationnaire x⇤ . La condition de
second ordre d’un minimum estf 00 (x⇤ ) > 0 et celle d’un maximum est f 00 (x⇤ ) < 0.
Z t1
En calcul variationnel, min ou max F (t, x, x0 ) dt s.c. x(t0 ) = x0 et x(t1 ) = x1 , a
t0
dFx0
pour condition nécessaire de premier ordre, l’équation d’Euler-Lagrange = Fx .
dt
Quelles en sont les conditions de second ordre ? C’est ce qu’on va voir dans cette
section.
On cherche à
Z t1
max F (t, x(t), x0 (t)) dt s.c. x(t0 ) = x0 et x(t1 ) = x1 (8.12)
x(t) t0

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

Posons y = x⇤ + ah et donc y 0 = x⇤ 0 + ah0 . D’où


Z t1 Z t1 ✓ ◆
@F (t, y, y 0 ) @F @y @F @y 0
g 0 (a) = dt = · + · dt
t0 @a t0 @y @a @y 0 @a
Z t1
= Fy · h + Fy0 · h0 dt
t0

Lorsque a = 0, y = x⇤ et donc :
Z t1
0
g (0) = Fx h + Fx0 h0 dt = 0
t0

L’intégrale ci-dessus est appelée première variation. La seconde variation est :


Z t1
00 @ (Fx h + Fx0 h0 )
g (a) = dt
t0 @a
286 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel

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 ).

8.9 Problème isopérimétrique


Jusqu’à présent, nous avons considéré l’optimisation d’une intégrale sous condi-
tions aux bornes (ou aux bords). Dans cette section, il s’agit d’optimiser une intégrale
sous une contrainte d’intégrale :
Z t1
max F (t, x, x0 ) dt (8.14)
x(t) t0
Z t1
s.c. G(t, x, x0 )dt = c, x(t0 ) = x0 et x(t1 ) = x1 (8.15)
t0

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

La condition nécessaire pour que x maximise l’intégrand augmenté (8.16), entre


crochets, est qu’il vérifie l’équation d’Euler -Lagrange :
dFx0
Fx 0 = 0 ) = 0, Fx = e rt
P 0 (x)
dt
L’équation d’Euler : Fx = e rt P 0 (x) = 0 ) e rt P 0 (x) =
(la valeur actuelle du profit marginal accumulé est constante et égale à ).
Pour revenir à (8.14) et (8.15) ci-dessus, on a :
Z t1
max F (t, x, x0 ) dt (8.14)
x(t) t0
Z t1
s.c. G(t, x, x0 )dt = c, x(t0 ) = x0 et x(t1 ) = x1 (8.15)
t0
Z t1 Z t1
0 0
L(t, x, x , ) = F (t, x, x ) dt G(t, x, x0 )dt c
t0 t0
Z t1
⇥ ⇤
= F (t, x, x0 ) dt G(t, x, x0 ) dt + c (8.17)
t0

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

L’intégrand augmenté est L = [x0 (t)]2 x(t), on a :

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ù

x(t) = 6(n 1)t2 + (6n 4)t

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

L’équation d’Euler devient :

✓ ⇣ ⌘ ◆
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

x(t) trouvé doit satisfaire la contrainte :

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.

8.10 Cas où le point final n’est pas spécifié


Z t1
Il s’agit de maximiser ou minimiser F t, x, x0 dt sous la seule contrainte de
t0
x(t0 ) = x0 . (x(t1 ) est donc libre).
Il s’agit de maximiser (ou minimiser) l’intégrale de F (t, x, x0 ) de t0 à t1 , sachant
que x(t0 ) = x0 . Sur l’axe des t, on sait qu’on doit aller de t0 à t1 . Dans le plan, on
doit aller de (t0 , x0 ) jusqu’à la verticale t = t1 . Mais à quel point sur la verticale, on
ne sait pas. Le problème est donc : quel est le chemin optimal pour aller du point
(t0 , x0 ) à la verticale t = t1 ?
Supposons que x(t) soit optimale et que x(t) + h(t) soit une fonction admissible.
D’où : x(t0 ) + h(t0 ) = x0 ) h(t0 ) = 0. Quant à h(t1 ), elle peut être nulle, négative
ou positive.
Considérons la famille des courbes admissibles x(t) + ah(t) avec x(t) et h(t) déter-
minés. La valeur de l’intégrale dépend alors de a :
Z t1 Z t1
0
g(a) = F t, y, y dt = F t, x + ah, x0 + ah0 dt
t0 t0

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

Si l’on pose Fx0 = u et = dv, on obtient :


h0 dt
Z t1 Z t1 ✓ ◆ Z t1 ✓ ◆
0 t1 dFx0 dFx0
Fx0 h dt = Fx0 h|t0 h dt = Fx0 h|t1 h dt
t0 t0 dt t0 dt
puisque Fx0 h(t0 ) = 0. Ainsi,
Z t1 
0 dFx0
g (0) = h Fx + dt + Fx0 h|t1 = 0
t0 dt
Comme x(t) vérifie l’équation d’Euler, le crochet est nul. Pour que g 0 (0) soit nul, il
faut avoir h(t1 ) = 0 et
Fx0 t1 , x(t1 ), x0 (t1 ) ⇥ h(t1 ) = 0
Pour que cela soit nul pour tout h admissible, il faut que
Fx0 t1 , x(t1 ), x0 (t1 ) = 0 si x1 est libre.
Finalement, pour que x(t) soit la solution optimale, il faut que
1. x(t) vérifie l’équation d’Euler
2. x(t) vérifie x(t0 ) = x0
3. x(t) vérifie la condition de transversalité Fx0 (t1 , x(t1 ), x0 (t1 )) = 0
4. x(t) vérifie pour le maximum la condition de Legendre de second ordre
Fx0 x0 (t, x(t), x0 (t))  0

Exemple 1 : Trouvons la plus courte distance entre x(a) = A et la droite t = b.


Nous avons déjà vu que la distance à minimiser est l’intégrale de petites distances
ds allant du point initial au point final dont on ne connait dans l’espace (t, x) que
l’abscisse t1 .
292 Chapitre 8. Introduction à l’optimisation dynamique : Calcul variationnel

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 .

La condition de transversabilité lorsque le point final n’est pas spécifié est :


1 1/2 x0
Fx0 = 0, Fx 0 = 1 + x0 2x0 = p = 0 ) x0 = 0
2 1+x 0 2

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

8.11 Cas où l’horizon est libre


Z t1
C’est le cas où l’on a à minimiser ou maximiser F t, x, x0 dt sous la seule
t0
condition x(t0 ) = x0 .
On suppose que F est continue et 2 fois dérivable. Supposons qu’avec t1 , x⇤ (t) pour
t0  t  t1 est la solution optimale de notre problème. Considérons x(t), t0 
t  t1 + t1 avec t1 petit. x(t) et x⇤ (t) satisfont x(t0 ) = x0 . Elles sont supposées
continues et dérivables.
Si t1 > 0, on pourra étendre x⇤ (t) sur l’intervalle [t1 , t1 + t1 ]
Si t1 < 0, on pourra étendre x(t) sur l’intervalle [t1 + t1 , t1 ]
Posons h(t) = x(t) x⇤ (t) t0  t  max(t1 , t1 + t). Pour t0 , on a x⇤ (t0 ) = x(t0 ) =
x0 par hypothèse, ceci implique h(t0 ) = 0.
Définissons la distance entre x et x⇤ par :

kx x⇤ k = max|h(t)| + max|h0 (t)| + | t1 | + |x(t1 + t1 ) x⇤ (t1 )|


t t
Méthodes mathématiques avancées 293

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

Rappelons la règle de Leibniz :


R b(x,y)
k(x, y) = a f (x, y, z) dz
Z b(x,y)
@k(x, y) @f (x, y, z) @b(x, y)
) = dz + f (x, y, b(x, y))
@x a @x @x

Dans g(a), t correspond à z, a correspond à x, x et x0 à y, t1 + a t1 = b(x, y). Sa


dérivée partielle par rapport à a est t1 . D’où :
Z t1 +a t1
0 ⇤ ⇤0
g (a) = F t1 , x (t1 ), x (t1 ) t1 + Fx h + Fx0 h0 dt
t0

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 :

x(t) = x⇤ 0 (t1 ) ⇥ t + x(t1 ) x⇤ 0 (t1 ) ⇥ t1

x vaut sur cette droite à t1 + t1 :

x(t1 + t1 ) = x⇤ 0 (t1 ) ⇥ [t1 + t1 ] + x(t1 ) x⇤ 0 (t1 ) ⇥ t1

x1 ' x(t1 + t1 ) x⇤ (t1 )


= x⇤ 0 (t1 ) ⇥ [t1 + t1 ] + x(t1 ) x⇤ (t1 ) x⇤ 0 (t1 ) ⇥ t1
= x⇤ 0 (t1 ) ⇥ t1 + x⇤ 0 (t1 ) ⇥ t1 + x(t1 ) x⇤ (t1 ) x⇤ 0 (t1 ) ⇥ t1
= x(t1 ) x⇤ 0 (t1 ) + x⇤ 0 (t1 ) ⇥ t1
= h(t1 ) + x⇤ 0 (t1 ) ⇥ t1
D’où :
h(t1 ) ' x1 x⇤ 0 (t1 ) ⇥ t1
Nous avons là une valeur approximative de h(t1 ). Substituons à h(t1 ) sa valeur dans
l’expression de g 0 (0) ci-dessus. Il vient :
Z t1 ✓ ◆
dFx0 ⇥ ⇤
0
g (0) = Fx h dt+Fx0 (t1 ) x1 x⇤ 0 (t1 ) t1 +F (t1 , x⇤ (t1 ), x⇤ 0 (t1 )) t1 = 0
t0 dt
Z t1 ✓ ◆
0 dFx0
g (0) = Fx h dt + Fx0 (t1 ) x1 + F x0 Fx0 (t1 ) t1 = 0
t0 dt
L’intégrand est nul puisque l’équation d’Euler doit être vérifiée. D’où : Fx0 (t1 ) x1 +
(F x0 Fx0 )(t1 ) t1 = 0.
L’analyse de cette condition nous conduit, dans les différents sous-cas relatifs à la
borne finale, aux conditions nécessiares suivantes pour l’optimisation du problème :
Z t1
max ou min F t, x(t), x0 (t) dt
t0
sous x(t0 ) = x0

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 aux bornes :


— x(t0 ) = x0 ;
— Si x(t1 ) est donné, alors x(t1 ) = x1 est connu ;
— Si t1 est fixé, alors t1 est connu.
Méthodes mathématiques avancées 295

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 .

8.12 Cas de point final sous contrainte


On se contente de voir ici le seul cas de contrainte d’égalité. Pour la contrainte
d’inégalité, il vaut mieux recourir aux méthodes du contrôle optimal.
Le problème d’optimisation est ainsi :
Z t1
max ou min F (t, x, x0 ) dt
t0
s.c. x(t0 ) = x0 et R(t1 ) = x1

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 .

Vous aimerez peut-être aussi