Professional Documents
Culture Documents
COMMANDE OPTIMALE
SELON LE PRINCIPE DU MAXIMUM
PAR ALGORITHME GNTIQUE
SOMMAIRE
I Introduction....................................................................................................................
p.4
p.5
p.5
p.6
p.7
p.7
p.8
p.9
Bibliographie..................................................................................................................... p.34
Remerciement ................................................................................................................... p.34
I Introduction
Le stage se droule lONERA (Office National dEtude et de Recherche Arospatiale),
dans le dpartement Prospective et Synthse (DPRS).
x = f ( x, t , u )
Pour un systme dynamique donn par une quation dtat du type
, le
u U
problme pos consiste dterminer la commande u qui rendra la trajectoire de x optimale
selon des critres de temps et/ou de consommation.
En effet, la connaissance de la commande optimale fournit des indications prcieuses
sur les performances que lon peut attendre du systme et permet dvaluer les rsultats
obtenus par le systme rel.
Par ailleurs, les algorithmes gntiques suscitent beaucoup dintrt au DPRS car ils
permettent dobtenir de faon efficace (mais sans garantie de latteindre1) un optimum global,
contrairement dautres mthodes plus conventionnelles qui ne fournissent gnralement
quun optimum local.
Ainsi, lobjectif de ce projet est de mettre en place une mthodologie permettant
dappliquer les algorithmes gntiques la recherche de la commande optimale.
Dans ce mmoire, aprs avoir dfini plus en dtail la problmatique de ltude, nous
verrons les diffrents problmes thoriques qui ont t abords, ou qui restent aborder,
comme la recherche de la commande optimale adjoint donn, la majoration du temps de
trajet optimal, ou encore la localisation dadjoints initiaux.
II Analyse de la problmatique
2.1 Principe du minimum de Pontryagin
x = f ( x, t , u )
Considrons un systme dfini par les quations dtat
. Lobjectif est de
u U
trouver
la
commande
qui
nous
permet
de
minimiser
une
fonction
cot
tF
J ( x, u ) = c( x(tF )) + g ( x, u , t )dt .
t0
x =
= H
x
(1)
Par ailleurs, le principe du minimum, mis en place par Lev Pontryagin dans les annes
1960, nous dit2 que la commande optimale u*, la trajectoire optimale x* et ladjoint associ
* vrifient
(2)
Ainsi, le systme dquations (1) nous permet de trouver une quation diffrentielle sur
, tandis que lquation (2) nous permet de trouver la commande optimale pour un tat et un
adjoint donns. Le problme se rsume donc trouver la valeur de ladjoint linstant initial
t0 .
Lobjectif de ce stage est dutiliser un algorithme gntique, afin de trouver cet adjoint
initial.
Le principe du minimum nous donne aussi des galits (les conditions de transversalit), que nous nutiliserons
pas.
Les algorithmes gntiques, que lon utilise pour trouver une solution un problme
doptimisation, sinspirent directement du principe de la slection naturelle de Darwin.
Au dpart, lalgorithme prend en entre une population de base (ici, une population
dadjoints), gnre alatoirement.
On obtient alors une nouvelle gnration par croisement (un lment fils contient
une combinaison des donnes de deux lments parents) et par mutation (une
partie de llment fils peut tre altre) des lments slectionns.
Afin dillustrer la mthodologie que nous allons mettre en place, nous mnerons les
calculs et les dmonstrations sur un systme relativement simple.
X
Xe
G
Y
Fp11
r
Fp12
A12
O
A21
l
Ye
A22
r
Fp 22
A11
Fp 21
R
Les tuyres sont situes en A11, A12, A21 et A22. Elles dlivrent respectivement un dbit
11, 12, 21, 22 en ergol et nous noterons Fp11 , Fp12 , Fp 21 et Fp 22 les forces de pousse
gnres.
Nous noterons :
, langle entre les vecteurs X et Xe
FP , la force de pousse
(3)
12 Ispg 0
Fp12 =
cos r
Fp 21 = 21Ispg 0
sin r
cos r
Fp 22 = 22 Ispg 0
sin r
( 22 21) sin r
(4)
MG 21 = GA21 FP 21 = 21Ispg 0(( R yG ) cos r + ( xG l ) sin r)
MG 22 = GA22 FP 22 = 22 Ispg 0((l xG ) sin r ( R + yG ) cos r)
Ainsi, le principe fondamental de la dynamique nous donne
Ispg 0 cos sin 11 + 12 ( 21 + 22) cos r
V =
= q
Ispg 0
(5)
tf
tant
une
matrice
t0
1 = Vx = 0
2 = H = 0
Vy
3 = H = ( 1 2 ) A '( )u
H
4 =
= 3
q
10
(6)
Comme il a t prcis plus haut, nous allons utiliser un algorithme gntique pour
trouver un adjoint initial permettant de dterminer la commande optimale. Les populations
dadjoints testes par lalgorithme gntique pourront tre values en :
11
Tout dabord, le systme tourne sur lui-mme afin de pointer vers ltat cible.
Etape 1
Etape 3
Etape 2
12
Ispg 0 11 + 12 ( 21 + 22) cos r
V =
( 22 21) sin r
M
Ispg 0
V est maximal pour 11 + 12 = . On a alors V =
.
M
Ispg 0
V V 0 =
t
M
Do
Ispg 0
V0 =
t 2
M
t2 =
Donc,
M V0
Ispg 0
(7)
11 + 12 ( 21 + 22) cos r = 0
,
21 = 22
11 + 12 + 21 + 22 =
Do
Posons qMax =
et 12 =
11 .
2(1 + cos r )
1 + cos r
Ispg 0
r cos r
cos r
(2r11 +
) , avec 11 [0;
].
J
cos r + 1
1 + cos r
Ispg 0 r cos r
Ispg 0 r cos r
q
J cos r + 1
J cos r + 1
Ispg 0 r cos r
.
J cos r + 1
13
(8)
Pour dterminer le temps minimal t1 ncessaire pour passer dun angle 0 un angle f,
nous allons supposer que q = qMax pour 0 t t1 , et
q = qMax
pour t1 t t1 (nous
3.5
2.5
1.5
theta(t)
q(t)
dq/dt
0.5
0
0
0.5
1.5
2.5
-0.5
-1
-1.5
t
et
Pour t=t1,
1
2
1
q0 2 1
qMax (t1 +
) + qMaxt12 + q 0t1
2
qMax
2
14
(9)
qMaxt12 + 2q 0t1 +
Do, lquation
1 q02
= 0
2 qMax
(10)
t1 =
2q 0 + 2q 0 2 + 4qMax
2qMax
q 0 + 2q 0 2 + 4qMax
q0
=
Donc, daprs la relation (9), t1 = 2t 1 +
qMax
qMax
Dans
le
cas,
o f 0 ,
on
peut
supposer
que q = qMax
pour
0 t t1 et
(11)
Remarque :
Dans le cas o q0=0 (ce qui arrive ncessairement dans la phase 3 de la
trajectoire), on a
t1 = 2
qMax
t1 =
t1 =
q 0 2 2qMax
q 0 2 2qMax
q 0 + 2q 0 2 + 4qMax
q 0 2q 0 2 4qMax
qMax
q 0 + 2q 0 2 + 4qMax
qMax
15
t1 =
t1 =
qMax
q 0 + 2q 0 2 4qMax
qMax
tf
q 0 2q 0 2 4qMax 1
qMax
16
M V0
Ispg 0
+2
2
qMax
(12)
(S1)
(13)
o a et K sont des vecteurs dpendant de ltat x et de ladjoint . Par ailleurs, la contrainte sur
la commande peut se mettre sous la forme
Au B
(14)
Comme Q est symtrique dfinie positive, la matrice peut tre mise sous la forme
Q=TTT, o T est une matrice triangulaire inversible (dcomposition de Cholesky). Ainsi, on a
u T Qu = u , Qu = u , T T Tu = Tu , Tu
avec la contrainte
AT 1v B
17
(15)
1
1
1
1
1
1
u a, u = (u a ) a, (u a ) + a = u a a
2
2
2
2
2
4
(16)
1
Ainsi, minimiser u a, u revient minimiser u a et u* peut donc tre vu comme la
2
1
projection de a sur lensemble U, dfini par U = {u , Au B} .
2
4.4 Retour au problme dorigine
u* = T 1v * ,
1 1 T
(T ) a sur lensemble U = {u , ATu B} et T
2
vrifie Q = T T T .
18
un + 1 = un h. proj ( gradf (un ))
(17)
gradf (u )
proj ( gradf (u ))
U
Nous allons montrer que, sous certaines conditions sur f, cette suite converge vers un
minimum local de f sur U.
On a
un + 1 un = un h. proj ( gradf (un)) un 1 + h proj ( gradf (un 1))
U
= (un un 1) h( proj ( gradf (un ))
U
proj ( gradf (un 1)))
(18)
Comme la projection orthogonale sur U est une application linaire, on peut crire
un + 1 un = un un 1 hP ( gradf (un) gradf (un 1)) , o P est la matrice reprsentant la
projection sur U.
Posons
et
u1 ( )
u ( ) = un 1 + (un un 1) =
u m ( )
g ( ) = gradf (u ( )) = gradf (un 1 + (un un 1)) , avec [ 0,1] .
19
On a
( gradf ) d (u 1 )
( gradf ) d (u m )
g '( ) =
+ ... +
u 1
d
u m
d
2 f d (u1 )
2 f
+
...
+
2
u1un
u1 d
g '( ) =
2
1
2
f d (u ) + ... + f
u1un d
un 2
du n 2 f
2 f
d u12
u1un
du
=
d
du n 2 f
2 f
d u1un
un 2
2 f
2 f
1 1
u1u m
u u
Ainsi, si Q =
2 f
f
m
1
u m u m
u u
Or, daprs le thorme des accroissements finis, il existe dans [0, 1] tel
que g (1) g (0) = g '( ) . On peut donc crire
un + 1 un = ( Id hPQ)(un un 1) Id hPQ un un 1
Cherchons une condition pour que Id hPQ soit strictement infrieur 1.
PQu
u
(Id-hPQ)u
20
(19)
La figure ci-dessus nous montre que sil existe h>0 tel que ( Id hPQ)u < u , alors,
ncessairement,
PQu , u > 0
(20)
Or, P reprsente une projection orthogonale et est donc une matrice symtrique. On a
alors,
PQu , u = Qu , Pu
Do, pour u U ,
PQu , u = Qu , u > 0
(21)
Autrement dit, pour avoir la relation ( Id hPQ)u < u , il faut que la matrice Q soit
dfinie positive, cest--dire que f soit convexe sur U.
Dans ces conditions, on peut crire un + 1 un k un un 1 . Ainsi, si p est positif, on a
un + p un un + p un + p 1 + un + p 1 un + p 2 + + un + 1 un
un + p un (k n + p 1 + k n + p 2 + + k n ) u1 u 0
un + p un
Do
On a alors
kn
u1 u 0
1 k
(22)
un + p un 0
n +
Remarque :
La formule (22) nous fournit un majorant de lerreur u un . Ainsi,
u un = O ( k n ) .
n +
21
Dans le cas o f est une projection, la matrice hessienne est constante et vaut 2Idn.
Lquation (19) nous donne alors un + 1 un = 1 2h un un 1 ,
pour h =
qui
sannule
1
. Le minimum de f est alors trouv ds la premire itration.
2
Ainsi, dans notre problme initial (optimiser lquation (13)), deux mthodes
soffrent nous : soit on cherche minimiser lHamiltonien tel quel et, dans ce
cas, la suite un convergera de faon plus ou moins rapide, soit on transforme le
problme en un problme de projection (ce qui implique de dcomposer la matrice
Q sous la forme Q=TTT et dinverser T) et, dans ce cas, la suite un trouve tout de
Pour que la suite un converge le plus vite possible, il faut que k 2 = ( Id hPQ)u soit le
2
k 2 = u + h 2 u , QP 2Qu 2h Pu , Qu
2
k 2 = u + h 2 u , QPQu 2hu , Qu
2
(23)
u , Qu
.
u , QPQu
(24)
Si min est la plus petite valeur propre de Q et max, la plus grande valeur propre de QPQ,
alors une valeur possible de h pourrait tre h =
min
.
max
u, Qu 2
u, QPQu
(25)
k< u
22
min 2
max
(26)
Si f est une fonction de classe C2, convexe sur U, la suite un dfinie par la relation
de rcurrence un + 1 = un h. proj ( gradf (un )) converge vers u , le minimum de f sur
U
U.
De plus, si h =
min
, o min est la plus petite valeur propre de Q, la matrice
max
hessienne de f et max est la plus grande valeur propre de QPQ, P tant la matrice
de
projection
orthogonale
sur
23
U,
alors
min 2
.
max
on
une
estimation
de
Nous allons tenter de chercher un minimum local dune fonction f convexe sur un
Au = B
ensemble U dfini par u U
(toute forme de contrainte linaire peut se mettre
u 0
Soit il existe un entier j partir duquel uj a une composante uj(i) ngative. Dans ce
cas, on adapte le paramtre h de telle faon que uj(i) soit nul. Si une nouvelle
itration nous fait encore sortir de U, on ajoute une contrainte uj(i)=0 : on a alors
A
A'u = B '
B
u U
, avec A ' =
et B ' = . On ritre alors
u 0
0 1 0
0
U0
u
Dans la pratique, lalgorithme a t compar avec les rsultats obtenus par la fonction
fmincon de Matlab : les rsultats sont identiques (aux arrondis numriques prs).
De plus, dans le cas dune fonction quadratique, la fonction nadmet quun minimum
global. Donc, cet algorithme nous permet dobtenir le minimum global de la fonction sur U.
Enfin, comme il a t dmontr dans le paragraphe prcdent, lalgorithme trouve bien
le point optimal en une itration lorsque f est une projection orthogonale.
24
On peut alors rechercher ladjoint initial dans une boule non nulle dont le rayon
est choisi arbitrairement.
Rappelons que, pour un adjoint donn, la commande optimale est une projection
orthogonale sur un ensemble born. Ainsi, il existe un ensemble born D tel que, pour toute
commande u0 possible, il existe un adjoint dans D dont la commande optimale associe est u0.
u(D)
Ensemble des
commandes
possibles
25
Ainsi, pour localiser les adjoints initiaux, une mthode possible est de :
Remarque : nous mnerons ici, titre dexemple, les calculs dans le cas particulier o Q est
la matrice identit.
De plus, f ( x, u ) = 0 u +
0
C
A( ) =
Ispg 0 cos
M sin
Ispg 0 cos
A( ) =
M sin
et o C est de la forme
0 0 0
0
0 0 0
0
x = Bu +
0
0 0 1
0 0 0
0
0 0 0
0 0 0
x , avec
0 0 1
0 0 0
cos( + r ) cos( r )
sin( + r ) sin( r )
C = ( c1 c 2 c3 c 4 ) .
avec la contrainte = (1 1 1 1) u = (1 1 1 1) T 1v = aT v .
26
1
1
Ainsi, si Pa est la matrice de projection sur lorthogonale de a, et si u 0 =
, on a
4 1
1
1
v = PaT 1T BT + u 0 ,
2
et
1
u = T 1 PaT 1T BT + T 1u 0
2
(27)
1
u = Pa B T + u 0
2
(28)
3
1
1
1
4
4
4
4
1
3
1
1
4
4
4
4 .
Pa =
1
3
1
1
4 4
4
4
1
3
1
1
4
4
4
4
et
On a alors
2 cos (1 + cos r )
2 sin (1 + cos r )
2 cos (1 + cos r )
2 sin (1 + cos r )
1
Ispg 0
PaBT =
2
8M 2 cos (1 + cos r ) 4sin sin r 2sin (1 + cos r ) + 4sin r cos
27
(29)
0 d1
0 d2
0 d3
0 d 4
On remarque que 3 nintervient pas dans le calcul de la commande. On peut donc fixer
arbitrairement la valeur de 30 (par exemple 30=1)
Des deux premires quations, on dduit que
4 =
u1 u 2
,
d1 d 2
1 cos + 2 sin =
et
(30)
d 1u 2 d 2u1
.
2(cos r + 1)(d 2 d 1)
2 cos 1 sin =
1
u1(d 2 + d 3) u 2(d 1 + d 3)
(u 3 +
),
4sin r
d 2 d1
do
1 + i 2 = ei (
d 1u 2 d 2u1
i
u1(d 2 + d 3) u 2(d 1 + d 3)
+
(u 3 +
))
2(cos r + 1)(d 2 d 1) 4 sin r
d 2 d1
8M
2 M 6M
([0; ] u 0) = [
;
] , on a
Ispg 0
Ispg 0 Ispg 0
[u ] [u ]
, et si on pose
d1 d 2
[a] =
[b] =
(31)
d 1[u ] d 2[u ]
2(cos r + 1)(d 2 d 1)
1
[u ](d 2 + d 3) [u ](d 1 + d 3)
([u ] +
),
4 sin r
d 2 d1
1 et 2 sont dans lenveloppe de [a] et [b] (cest--dire dans le plus petit intervalle
contenant a et b).
[[a ] [b]]
[[a ] [b]]
Finalement, pour rsumer, on a D = {1} .
[u ] [u ]
d1 d 2
28
D0
D
D
Dtf
= q
.
I
sp
g
0
2 = H
Vy
3 = H
4 = H
=0
=0
sin
Ispg 0
=
( 1 2 )
M
cos
sin
( 22 21)sin r
= 3
cos 0 1 cos
=
sin 1 0 sin
sin
.
cos
0 1
V
=
1
V
(
)
3 = ( 1 2 )
1
3 = 1Vy 2Vx
29
(32)
Ispg 0
3 12 + 2 2 V 12 + 2 2
On a alors
3 30 12 + 2 2
Do
30 12 + 2 2
30 12 + 2 2
30t
Ispg 0
t
M
Ispg 0
Ispg 0
t 3 30 + 12 + 2 2
t
M
M
Ispg 0
Ispg 0
t 4 30 + 12 + 2 2
t
M
M
1
Ispg 0 2
1
Ispg 0 2
12 + 2 2
t 4 40 30t +
12 + 2 2
t
2
M
2
M
30 t
1
Ispg 0 2
1
Ispg 0 2
12 + 2 2
t 4 40 30 t +
12 + 2 2
t
2
M
2
M
(33)
40
[u ] [u ]
1
Ispg 0 2
tf )[1;1]
+ ( 30 tf +
12 + 2 2
d1 d 2
2
M
(34)
Comme 1et 2 sont constants, ces deux composantes restent dans lintervalle calcul
prcdemment.
Par ailleurs, on remarque que lintervalle de recherche de 40 fait intervenir le temps de
trajet pour la trajectoire optimale. Or nous ne connaissons pas cette valeur. Nous pouvons
alors utiliser le majorant de tf que nous avons calcul dans le paragraphe III.
30
= 2.5
Isp = 300
M = 2500
J = 2000
l = 1.5
R =1
r = 0.5
r =
10
15
x0 =
0
0
[6.01;6.01]
[6.01; 6.01]
[6.01; 6.01]
[6.01;6.01]
.
Nous obtenons D =
et D 0 =
{1}
{1}
[3.40;3.40]
[1436.82;1436.82]
31
VI Conclusion
Finalement, comme nous avons pu le voir, lutilisation dun algorithme gntique pour
la recherche dadjoints initiaux peut soulever quelques problmes, auxquels on peut dors et
dj donner une mthode pour les rsoudre :
La recherche dun intervalle de temps sur lequel on intgre les quations diffrentielles
peut se faire en majorant le temps de trajet optimal, ce majorant se calculant en valuant le
temps de parcours ncessaire pour une trajectoire particulire (si une trajectoire nous permet
de nous retrouver dans un tat cible, son temps de parcours est forcment plus long que celui
de la trajectoire optimale).
La mthode de recherche de la commande optimale, lorsque ltat et ladjoint sont
donns est diffrente selon que lon cherche minimiser lnergie ncessaire ou non :
Si lnergie consomme est prise en compte, alors ladjoint initial se situe dans
un pav permettant de gnrer toutes les trajectoires possibles sur un intervalle
de temps fini.
32
Au moment o ce mmoire est rdig, le stage est encore loin dtre fini. Ainsi, nous
navons pas encore pu tester lalgorithme gntique (en effet, en parallle, je mets en place
une plateforme permettant de tester les rsultats obtenus).
Par ailleurs, il reste dfinir le critre de slection, cest--dire la fonction de la distance
minimale et du temps mis pour approcher au mieux ltat final.
Enfin, nous pourrons par la suite rflchir sur une mthode mixte de recherche de
ladjoint optimal. En effet, si les algorithmes gntiques convergent trs rapidement lors des
premires itrations, la vitesse de convergence ralentit trs vite par la suite. Ainsi, il pourrait
tre intressant de combiner un algorithme gntique (sur les premires itrations, afin de
localiser un optimum global dans une zone restreinte) avec une mthode doptimisation plus
classique (et plus rapide, mais qui ne donne gnralement quun optimum local).
33
Bibliographie
Boudarel, Delmas, Guichet, Commande Optimale des processus
P.Borne, G.Dauphin-Tanguy, J-P. Richard, F.Rotella, I.Zambettakis, Commande et
optimisation des processus , 1990
Remerciements
Frdric Damongeot et Bernard Sacleux pour mavoir encadr pendant ce stage
Toute lquipe au sein de laquelle je travaille pour son accueil.
34