Académique Documents
Professionnel Documents
Culture Documents
Commande
Optimale
1.0
05/02/2017
Légende
Entrée du glossaire
Abréviation
Table des
matières
Glossaire 27
3
Chapitre III :
I-
I
L'application de
calcul
variationnel pour
résoudre le
problème de
commande
optimale
1. Introduction
5
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
a) Cas scalaire
Soit J (x (t)) une fonctionnelle de x (t) (supposé scalaire pour simplifier les
expressions). La variation de J due à une variation δ x( t) de x (t) en utilisant le
développement en série de Taylor peut s'écrire :
Formule 1
2
Ou δJ et δ J sont dites première et seconde variations de J .
On dira que la fonctionnelle J possède un extremum relatif pour la fonction x o (t )
si, pour toute fonction x “assez proche” de x o , δJ =0 , Une condition suffisante
pour avoir un minimum ou un maximum est donnée par le signe de δ 2 J .
Si δ 2 J <0 on a un maximum, si δ 2 J >0 on a un minimum.
Soit J (x (t) , ẋ (t)) une fonctionnelle ou x (t) (supposé scalaire pour simplifier les
expressions).
tf
J =∫t F ( x(t), ẋ (t ) , t) dt
0
=∫t
tf
Formule 2
Avec o [(δx) 2
,( ẋ (t )) ] est le terme d'ordre supérieur
2
( ∂F ∂F
) ( ∂F
) ∂F
( )
tf t t
δJ =∫t δ ẋ (t ) dt=∫t δx(t) dt+∫t
f f
δx (t)+ δ ẋ (t) dt
0 ∂x ∂ ẋ 0 ∂x ∂ ẋ 0
Formule 3
En appliquant la formule d'intégration par parties de deuxième terme
6
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
tf tf tf ∂F
∫t 0
UdV =[ UV ] t −∫t VdU , 0
0
U=
∂ ẋ
, V =δx
tf
∫t
tf
0 ( ∂F
∂ ẋ
δ ẋ( t) dt= ) [
∂F
∂ ẋ t
t
δ x −∫t ] 0
f
0
δx
d ∂F
dt ∂ ẋ( )dt
Formule 4
En remplaçant l'équation ci-dessus dans l'équation de δJ , on obtient :
tf tf
δJ =∫t
tf
0 (( ∂F
∂x )
δx(t) −δx
d ∂F
dt ∂ ẋ ( )) [ dt+
∂F
∂ ẋ t
t
δ x =∫t] (( ) ( ))
0
f
0
∂F
∂x
−
d ∂F
dt ∂ ẋ
δx(t )dt+ [ ∂F
∂ ẋ
δx ]
t0
Formule 5
La condition nécessaire pour l'existence d'un extremum δJ =0
tf
δJ =0⇒ ∫t
(( ) ( ))
tf
0
∂F
∂x
−
d ∂F
dt ∂ ẋ
δx (t)dt + [ ∂F
∂ ẋ
δ x =0
t
] 0
tf
∫ (( ) ( )) ∂F d ∂F
[ ∂F
]
tf
⇒ − δx (t)dt=0 et δ x =0
t0 ∂x dt ∂ ẋ ∂ ẋ t 0
Formule 6
Si le premier terme égale à zéro alors on a :
( ) ( )
∂F
∂x
−
d ∂F
dt ∂ ẋ
=0
Formule 7
Finalement on tombe sur cette équation différentielle très importante, c'est
l'équation Euler-Lagrange, c'est la condition pour que la fonctionnelle J soit
extrémale.
Pour que le deuxième terme de la formule (35 (cf. Formule p 7)) soit nul, il faut
considérer deux cas :
Les deux points départ et d'arrivée sont fixes :
x (t 0)=x 0 , x (t f )=x f ne change pas, alors : δx(t 0 )=δx(t f )=0
Le deuxième terme de la formule (35 (cf. Formule p 7)) est réécrit comme suit :
tf
[ ∂F
∂ ẋ
δx =
t
∂F
] ([ ]
∂ ẋ 0 t =t f
) ([ ]
δ x (t f ) −
∂F
∂ ẋ t=t 0
δ x ( t0 )
)
Formule 8
Si δx(t 0 )=δx(t f )=0 , évidemment, la formule (37 (cf. Formule p 7)) est
naturellement nulle.
Point de départ et point d'arrivée sont libres
x (t 0) et x (t f ) peuvent changer, donc, δx( t 0 )≠0 et δx(t f )≠0 et changent d'une
façon indépendante.
7
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
Si le deuxième terme de l'équation (35 (cf. Formule p 7)) est égal à zéro, alors
nous avons :
tf
[ ∂F
∂ ẋ ]
δ x =0⇒
t 0
([ ]∂F
∂ ẋ t=t f
δ x(t f ) =0
) et
([ ]∂F
∂ ẋ t =t 0
)
δ x (t 0)=0
Formule 9
Alors
[ ]
∂F
∂ ẋ t=t 0
=0
Formule 10
[ ]
∂F
∂ ẋ t=t f
=0
Formule 11
Les deux derniers formules (39 (cf. Formule p 8)) (40 (cf. Formule p 8)) sont
appelées les conditions de transversalité
Si le deux points terminaux sont spécifiés, ces conditions de transversalité ne sont
pas nécessaires.
Si x (t 0) est spécifiée, l'équation (39 (cf. Formule p 8)) n'est pas nécessaire.
Si x (t f ) est spécifiée, l'équation (40 (cf. Formule p 8)) n'est pas nécessaire.
b) Cas vectoriel
On peut étendre les formules de la fonction scalaire x (t) au vecteur X (t)
Soit J ( X (t )) une fonctionnelle
tf
∫t 0
F ( X (t) , Ẋ (t ), t)dt
Formule 12
Avec X (t)=[ x 1 (t), x 2(t), , , , , x n (t ) ] , Ẋ (t )=[ ẋ 1 (t), x˙2 (t), , , , , ẋ n (t) ]
La variation de fonctionnelle s'écrit comme suit :
[ ( )]
tf
tf
δJ =∫t δX
0
T ∂F d ∂F
−
∂ X dt ∂ Ẋ
dt+ δX
T
[ ]
∂F
∂ Ẋ t0
Formule 13
Et l'équation d'Euler-Lagrange vectorielle est s'écrit comme suit :
∂ F d ∂F
−
∂ X dt ∂ Ẋ
=0
( )
Formule 14
T T
Avec
∂F
∂X
=
∂F ∂F
,
∂ x1 ∂ x2[,, , ,,
∂F
∂ xn ] et
∂F
∂ Ẋ
=
[
∂F ∂F
,
∂ ẋ 1 ∂ ẋ 2
,, ,, ,
∂F
∂ x˙n ]
La condition de transversalité (points de départ et d'arrivée sont libres) est
8
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
∂F
=0 pour t=t 0 et t=t f
∂X
Exemple
1 2 2
Trouver la trajectoire extrême telle que la fonctionnelle J =∫ 0 ( x + ẋ ) dt est
minimisée
Condition aux limites :
x (0 )=0
x (1)=1
Solution
Il s'agit d'un problème de point de départ et d'arrivée fixes
2 2
F =( x + ẋ )
L'équation D'Euler-Lagrange
∂F d ∂F
−
( )
∂ x dt ∂ ẋ
d
=0 ⇒ 2x− (2 ẋ )=0 ⇒ ẍ−x=0
dt
Simulateur
Simulation sur mupad (Matlab)
9
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
Exemple
1 2 3
Trouver la trajectoire extrême telle que la fonctionnelle J =∫ 0 ( ẋ + ẋ )dt est
minimisée
Condition aux limites :
x (0)=0 et x (1) sans contrainte
Solution
Il s'agit d'un problème de point de départ fixe et point d'arrivé libre
L'équation d'Euler-Lagrange est :
∂F d ∂F
− ( )
∂ x dt ∂ ẋ
2
d
=0 ⇒− ( 2 ẋ +3 ẋ 2 )=0
dt
⇒ (2 ẋ+3 ẋ )=c1 ⇒ ẋ =c 1
⇒ x (t)=c 1 t +c 2
x (0)=0⇒ c 2=0
10
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
∂F
( )t=1 =(2 ẋ +3 ẋ 2 )t=1=0
∂ ẋ
⇒2c 1+ 3c21 =0
−2
c 1=0 ou c 1=
3
Simulateur
Simulation sur mupad (Matlab)
11
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
Ẋ = f ( X (t ), U (t ) ,t)
Formule 15
T T
Avec X ( t)=[ x 1 (t), x 2(t), , , , , x n (t) ] , U (t )=[ u1 (t ) , u 2 (t) , , , , , u m (t) ]
Ici, U (t) n'est pas borné, dans le cas ou est borné bien nous ne pouvons pas
utiliser le calcul variationnel pour résoudre le problème, il existe d'autres méthodes
comme le principe minimum ou la programmation dynamique
L'indice de performance
t0
J =Ø [ X ( t f ), t f ] +∫t F ( X (t), U (t) ,t ) dt
f
Formule 16
12
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
f ( X (t ), U (t ) ,t )− Ẋ =0
Formule 17
Être similaire à la fonction extrema avec contraintes, nous introduisons le vecteur
T
de multiplicateur de Lagrange : λ(t)=[ λ1 (t ), λ2 (t), , , , , λ n (t) ] , ce vecteur est en
fonction de temps
tf
J a=Ø [ X (t f ) , t f ] +∫t { F ( X , U , t)+ λ (t) ( f ( X , U , t)− Ẋ ) } dt
T
0
Formule 18
Alors l'extremum de la fonctionnel avec contraintes est transformé en extremum
d'un fonctionnel augmenté sans contraintes.
La fonction scalaire suivante est appelée hamiltonien
T
H ( X , U , λ ,t )=F ( X ,U , t)+ λ f (X ,U ,t )
Formule 19
Alors J a est réécrit comme suit :
tf T
J a=Ø [ X (t f ) , t f ] +∫t { H ( X ,U , λ , t)−λ (t) Ẋ } dt
0
Formule 20
Après l'application de l'intégration par parties, nous obtenons :
T T tf T
J a=Ø [ X (t f ) , t f ]− λ (t)(t f ) X (t f )+ λ (t )(t 0) X (t 0 )+∫t { H ( X , U , λ , t)+ λ (t) Ẋ } dt
0
Formule 21
Nous supposons que δX (t) et δU (t) sont les variations à X o (t) et U o (t)
Puisque X (t f ) est libre, Alors nous considérons toujours δX ( t f )≠0 .
δJ a =δX T (t f )
∂Ø
∂ X (t f )
t
f
0 [ (
−δX T ( t f ) λ(t f )+∫t δX T
∂H
∂X
+ λ̇+δU T
∂H
∂U )] dt
Formule 22
La condition nécessaire pour que J a est minimum est que la variation δJ a soit
nulle
D'après les équations (49 (cf. Formule p 13)), (50 (cf. Formule p 13)) et (51 (cf.
Formule p 13)), on obtient
Équation costate (adjointe)
∂H
λ̇=−
∂X
Formule 23
Équation d'état
13
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
∂H
Ẋ =
∂λ
Formule 24
Équation de commande
∂H
=0
∂U
Formule 25
Condition de transversalité
∂Ø
λ( t f )=
∂ X (t f )
Formule 26
Les équations (52 (cf. Formule p 13))-(53 (cf. Formule p 14)) sont les conditions
nécessaires pour un extremum de fonctionnel . A partir de ces équations, nous
obtenons les solutions optimales.
Les équations (52) et (53) sont connues sous le nom équations canoniques de
Hamilton.
Si U (t) a une limite et prendre la valeur optimale dans les limites, nous n'utilisons
pas l'équation (54 (cf. Formule p 14)), mais nous pouvons utiliser le principe
minimum pour la résoudre.
Si X ( t f ) est fixe, alors δx(t f )=0 dans ce cas la, on n'a pas besoin de la condition
de transversalité, c'est-à-dire l'équation (55 (cf. Formule p 14)).
Attention
Le vecteur multiplicateur de Lagrange est en fonction de temps . Ceci est différent
du précédent . Dans la commande optimale, ce vecteur est connu sous le nom
vecteur ou variable adjoint.
Exemple
On considère le système suivant :
ẋ 1 =x 2 (t )
ẋ 2 =u (t )
avec
x1 (0)=1, x 2 (0)=1
x 1 (2)=0, x 2(2)=0
14
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
transversalité
T
H ( X , U , λ , t )=F ( X , U , t )+ λ f ( X ,U ,t )
1 2,
F ( X ,U ,t )= u
2
Ẋ = f ( X , U ,t)⇒ 1 2
{
ẋ =x (t )
ẋ 2 =u ( t ) }
Hamiltonien est donné par :
1
H = u 2 + λ1 x 2 + λ 2 u
2
∂H
λ̇1 =− =0 ⇒ λ 1=c1
∂ x1
∂H
λ̇2 =− =−λ 1 ⇒ λ2 =−c 1 t+ c 2
∂ x2
∂H
=u +λ 2=0 ⇒ u=−λ 2 =c 1 t−c 2
∂u
1
ẋ 2 =u (t )=c 1 t−c 2 on' a x 2 (0)=1 alors x 2= c 1 t 2−c 2 t+1
2
1 1
ẋ1 =x 2 (t ) on' a x 1 (0)=1 alors x 1 ( t )= c 1 t 3 − c 2 t 2 +t +1
6 2
2c 1−2c2 t+1=0
4
c −2c 2 +3=0
3 1
7
Alors c 1=3, c 2=
2
Finalement
15
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
1 7
x 1 ( t )= t 3 − t 2 +t +1
o
2 4
o 3 2 7
x 2 (t)= t − t+1
2 2
7
u=3t−
2
Simulateur
Simulation sur Matlab
clear, clc
% The first step is to form the Hamiltonian and apply
necessary conditions for% optimality. With MATLAB, this can
be done as follows:
% State equations
syms x1 x2 p1 p2 u H t;
Dx1 = x2;
Dx2 = u;
% Cost function inside the integral
syms g;
g = u^2;
% Hamiltonian
H = g + p1*Dx1 + p2*Dx2;
% Costate equations
Dp1 = -diff(H,x1);
Dp2 = -diff(H,x2);% solve for control u
Du = diff(H,u); % differentiates a symbolic expression
sol_u = solve(Du, 'u'); % gives symbolic solution to
algebraic equations.
% Substitute u to state equations
Dx2 = subs(Dx2, u, sol_u);
% convert symbolic objects to strings for using 'dsolve'
eq1 = strcat('Dx1=',char(Dx1))
eq2 = strcat('Dx2=',char(Dx2))
eq3 = strcat('Dp1=',char(Dp1))
eq4 = strcat('Dp2=',char(Dp2))
% initial condition
inits='x1(0)=1,x2(0)=1,x1(2)=0,x2(2)=0';
% dslove system
[p1,p2,x1,x2] = dsolve(eq1,eq2,eq3,eq4,inits)
u=diff(x2,t)
Résultats
p1 =6
p2 =7 - 6*t
x1 =t^3/2 - (7*t^2)/4 + t + 1
x2 =(3*t^2)/2 - (7*t)/2 + 1
u =3*t - 7/2
% plot
t = linspace(0,2,20);
16
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
x1 = eval(vectorize(x1));
x2 = eval(vectorize(x2));
u = eval(vectorize(u));
figure(1)
plot(t,x1,t,x2,t,u,'LineWidth',4),grid
legend('x1','x2','u')
figure(2)
plot(x1,x2,'LineWidth',4),grid
17
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
G [ X (t f ) , t f ]=0
Formule 27
Avec
[ ]
G1 [ X (t f ) , t f ]
G= G2 [ X (t f ), t f ]
, ,, ,
Gq [ X (t f ), t f ]
Formule 28
L'indice de performance
t0
J =Ø [ X ( t f ), t f ] +∫t F ( X (t), U (t) ,t ) dt
f
Formule 29
Nous introduisons le vecteur de multiplicateur de Lagrange de démentions (n)
T
λ(t)=[ λ1 (t ), λ2 (t), , , , , λ n (t) ] et multiplicateur de Lagrange de démentions (q)
T
v (t )=[ v 1 (t) , v 2 (t), , , , , v q (t) ]
18
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
tf
J a=Ø [ X (t f ) , t f ] +v G [ X (t f ) ,t f ]++∫t { H ( X , U , λ , t)+ λ (t ) [ f (X (t ) , U (t), t)− Ẋ ] } dt
T T
0
Formule 30
On introduit le Hamiltonien
T
H ( X , U , λ ,t )=F ( X ,U , t)+ λ f (X ,U ,t )
Formule 31
Avec
T
θ [ X (t f ), t f ]=Ø [ X (t f ), t f ]+ v G [ X (t f ), t f ]
Formule 32
Formule 33
∂H
λ̇=−
∂X
Formule 34
Équation d'état
∂H
Ẋ =
∂λ
Formule 35
Équation de commande
∂H
=0
∂U
Formule 36
Condition de transversalité
T
∂θ ∂Ø ∂G
λ(t f )= = + v
∂ X (t f ) ∂ X (t f ) ∂ X (t f )
Formule 37
19
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
∂θ ∂Ø ∂ GT
H (t f )=− =− + v
∂tf ∂t f ∂ t f
Formule 38
Exemple
On considère le système suivant :
ẋ=u avec x( 0)=1
t f est libre et x (t f )=0
o
Trouver la commande optimale u (t) , de sorte que l'indice de performance
1 tf 2
2∫ 0
J =t f + u dt est minimisé.
Solution
C'est le cas ou t f est libre, état final x (t f )=0 fixe et satisfaire la contrainte
suivante G[ X (t f ) ,t f ]= x( t f )=0
Hamiltonien est donnée par :
1
H = u 2 + λu
2
∂H
ẋ= =u
∂λ
∂H
λ̇=− =0
∂x
∂H
=u + λ=0 ⇒ u=−λ
∂u
Puisque les conditions aux limites sont spécifiées, nous n'avons pas besoin
d'équation de transversalité
∂θ ∂φ ∂G T 1
H ( t f )=− =− − ν =−1 ⇒ u 2 (t f )+ λ( t f )u (t f )=−1
∂t f ∂t f ∂t f 2
20
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
1
On remplace la condition de l'état final x o (t of )=0 ⇒−√ 2 t of +1=0 ⇒ t of =
√2
Simulateur
Simulation sur Matlab
% Hamiltonian
H = g + p*Dx;
% Costate equations
Dp = -diff(H,x);
% solve for control u
Du = diff(H,u); % differentiates a symbolic expression
sol_u = solve(Du, 'u'); % gives symbolic solution to
algebraic equations.
% Substitute u to state equations
Dx = subs(Dx, u, sol_u);
% convert symbolic objects to strings for using 'dsolve'
eq1 = strcat('Dx=',char(Dx));
eq2 = strcat('Dp=',char(Dp));
Hr = 0.5*(u^2)+p*u;
ur=solve(Hr == -1);
inits='x(0)=1,p(0)=sqrt(2)';
[p,x] = dsolve(eq1,eq2,inits)
u=diff(x,t)
tf=solve(x==0)
Résultats
p =2^(1/2)
x =1 - 2^(1/2)*t
u =-2^(1/2)
tf =2^(1/2)/2
%plot
t = linspace(0,double(tf),20);
x = eval(vectorize(x));u = ones(1,length(t))*u;
figure(1)
plot(t,x,t,u,'LineWidth',4),grid
legend('x','u')
21
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale
Les réponses de x et u
22
Glossaire
conditions de transversalité
Les conditions de transversalité sont utilisée dans le cas de problèmes à extrémités
variables
Euler-Lagrange
L'équation d'Euler-Lagrange est un résultat mathématique qui joue un rôle
fondamental dans le calcul des variations. On retrouve cette équation dans de
nombreux problèmes réels de minimisation. Elle est nommée d'après Leonhard
Euler et Joseph-Louis Lagrange.
hamiltonien
L'opérateur de Hamilton, opérateur hamiltonien ou tout simplement hamiltonien est
un opérateur mathématique possédant de nombreuses applications dans divers
domaines de la Physique.
série de Taylor
En mathématiques, et plus précisément en analyse, la série de Taylor d'une
fonction f (au voisinage d'un point a), appelée aussi le développement en série de
Taylor de f, est une série entière construite à partir de f et de ses dérivées
successives en a.
23