Vous êtes sur la page 1sur 22

Faculté de technologie

Commande
Optimale

1.0

Dr. Merah Abdelkader

05/02/2017
Légende

 Entrée du glossaire

 Abréviation
Table des
matières

I - Chapitre III : L'application de calcul variationnel pour


résoudre le problème de commande optimale 5

A. Calcul des variations......................................................................................5


1. Introduction.....................................................................................................................5

B. Extrema d'une fonctionnelle...........................................................................6


1. Le problème d'extremum d'un fonctionnel sans contraintes.....................................................6
2. Le problème d'extremum d'un fonctionnel avec contraintes (Problème de commande optimale
d'un système dynamique).....................................................................................................12

Glossaire 27

3
Chapitre III :
I-

I
L'application de
calcul
variationnel pour
résoudre le
problème de
commande
optimale

Calcul des variations 5


Extrema d'une fonctionnelle 6

A. Calcul des variations

1. Introduction

Le calcul des variations est une des façons d'aborder le problème de la


commande optimale. Ce dernier consiste à rechercher une commande u appliquée
au système qui minimise un critère J donné.

5
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale

B. Extrema d'une fonctionnelle

1. Le problème d'extremum d'un fonctionnel sans


contraintes

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 :

ΔJ ( x(t ), δx (t ))=J (x (t)+ δx(t))−J ( x (t ))


2
∂J 1∂ J 2 o
= δx(t )+ δ x(t )+ , , , avec δx(t )=x (t )−x (t )
∂x 2 ∂ x2
2
=δJ +δ J +, , ,

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

La variation de J due à une variation δx de x (t) et δ ẋ de ẋ (t) peut s'écrire :


tf
ΔJ =∫t [ F ( x (t)+δx(t) , ẋ (t)+δ ẋ (t ) , t)− F ( x(t), ẋ (t ) , t) ] dt
0

=∫t
tf

0 ( ∂∂ Fx δx(t)+ ∂∂ Fẋ δ ẋ (t)+o [( δx) ,( ẋ (t)) ]) dt


2 2

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

C'est une équation différentielle de deuxième dégrée, sa solution est :


l'équation caractéristique
2 r1 −r 2 t −t
r −1=0⇒ r 1 =1ou r 2=−1 ⇒ x (t)=k 1 e + k 2 e ⇒ x (t)=k 1 e + k 2 e

D'après la condition initiale et finale

x(0)=0 ⇒ x(0)=k 1 + k 2 =0⇒ k 1=−k 2


1 −1
x (1)=1⇒ x (1)=k 1 e+ k 2 e−1 =1⇒ k 1 e−k 1 e −1=1 ⇒ k 1= −1
et k 2= −1
e +e e +e
1 1
⇒ x o (t)= −1
et − −1
e −t
e +e e+ e

Simulation sur mupad (Matlab)

Simulateur
Simulation sur mupad (Matlab)

9
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale

Simulation sur mupad

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

D'après la condition initiale :

x (0)=0⇒ c 2=0

x (1) est sans contrainte (libre), on utilise la première condition de transversalité

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

c 1=0 trajectoire extremum x o (t )=0, J =0 on a un minimum local


−2 o −2 4
c 1= trajectoire extremum x (t )= t , J = on a un maximum local
3 3 27

Simulateur
Simulation sur mupad (Matlab)

11
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale

2. Le problème d'extremum d'un fonctionnel avec


contraintes (Problème de commande optimale d'un
système dynamique)

Maintenant on discute sur le problème de commande optimale d'un système


dynamique ou la trajectoire extremum doit satisfaire l'équation d'état de système
Considérant le système suivant :

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

Trouver une commande optimale U o (t) et trajectoire optimale X o (t) satisfaisant


les équations d'état de sorte que l'indice de performance J soit minimisé.
Au-dessous de la discussion, le temps initial t 0 et l'état initial X ( 0)=0 sont
considérés comme étant spécifiés, et le temps final peut inclure certaines instances
comme suit :
 t f est spécifié et X ( t f ) est libre.
 t f est libre et X (t f ) est sous contraintes.

12
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale

a) Temps final spécifié et état final libre

L'équation Ẋ = f ( X (t ), U (t ) ,t) est réécrite au format de contrainte comme suit :

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

Trouver la commande optimale , de sorte que l'indice de performance


2 2
J =∫0 u (t )dt est minimisé.
Solution
Ici, x (0) et x (1) sont spécifiés, donc nous n'avons pas besoin de condition de

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

L'équation adjointe (costate) et l'équation de commande sont données par :

∂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

D'après l'équation d'état, on a:

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

En remplaçant x 1 (2)=0, x 2 (2)=0 dans les deux équations précédentes, on


obtient :

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

On peut aussi tracer les trajectoires des états de système et la commande

% 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

Les réponses optimales de x1, x2 et u

17
Chapitre III : L'application de calcul variationnel pour résoudre le problème de commande
optimale

Les réponses optimales de x1, x2 dans le plan de phase

b) Temps final libre et état final sous contraires

On suppose que l'état final X ( t f ) satisfaire la contrainte suivante :

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

Alors, J a est réécrit comme suit :


t0
J =θ [ X (t f ) ,t f ] +∫t [ H ( X (t), U (t) , λ(t) , t)−λ T Ẋ ] dt
f

Formule 33

Finalement on aura les équations suivantes :


Équation costate (adjointe)

∂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

Équation de détermination de temps final

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

En comparant avec le cas ou t f est fixe, on a ajouté une seule équation


∂θ
H (t f )=− o
. Selon cette équation, on peut trouver le temps final t f =t f
∂tf

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

Les équations canoniques et l'équation de la commande sont données par :

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

θ [ X (t f ), t f ]=Ø [ X (t f ), t f ]+v T G [ X (t f ), t f ]=t f + v x (t f )

L'équation du détermination de temps final

∂θ ∂φ ∂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

On Remplace u=−λ dans l'équation précédente on obtient :


1 2
λ (t f )−λ 2 (t f )+1=0 ⇒ λ (t f )= √ 2
2

Puisque λ̇=0 ⇒ λ(t )=λ(t f )= √ 2


o
Alors la commande optimale u (t)=−√ 2
De l'équation canonique ẋ=u=−λ on obtient

x (t )=−√ 2 t+ c on ' a x (0)=1 alors x o (t)=−√ 2 t +1

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

On peut aussi tracer les trajectoires des états de système et la commande

%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

calcul des variations


En mathématiques, et plus précisément en analyse fonctionnelle, le calcul des
variations (ou calcul variationnel) est un ensemble de méthodes permettant de
minimiser une fonctionnelle

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

Vous aimerez peut-être aussi