You are on page 1of 34

LEROY Sbastien

Master 2 Recherche Systme Dynamique et Signaux

COMMANDE OPTIMALE
SELON LE PRINCIPE DU MAXIMUM
PAR ALGORITHME GNTIQUE

Rapport de stage du 1er Avril au 1er Aot 2008

SOMMAIRE

I Introduction....................................................................................................................

p.4

II Analyse de la problmatique .......................................................................................

p.5

2.1 Principe du minimum de Pontryagin ..................................................................

p.5

2.2 Fonctionnement des algorithmes gntiques ......................................................

p.6

2.3 Le systme tudi.................................................................................................

p.7

2.3.1 Prsentation du systme .............................................................................

p.7

2.3.2 Modlisation du systme ............................................................................

p.8

2.3.3 Expression de lHamiltonien ......................................................................

p.9

2.4 Mthodologie gnrale........................................................................................ p.11

III Recherche dun critre darrt.................................................................................. p.12


3.1 Ide gnrale ....................................................................................................... p.12
3.2 Calcul du temps de parcours en ligne droite ...................................................... p.13
3.3 Calcul du temps ncessaire pour la rotation ...................................................... p.13
3.4 Calcul dun majorant du temps optimal.............................................................. p.16

IV Optimisation dune fonction quadratique ................................................................ p.17


4.1 Le problme......................................................................................................... p.17
4.2 Simplification du problme ................................................................................. p.17
4.3 Rsolution du problme....................................................................................... p.18
4.4 Retour au problme dorigine ............................................................................. p.18
4.5 Rsultats prliminaires sur loptimisation .......................................................... p.19
4.6 Recherche du paramtre h optimal ..................................................................... p.22
4.7 Application la recherche doptimum sous contrainte linaire......................... p.24

V Problme de localisation des adjoints initiaux........................................................... p.25


5.1 Cas o seul le temps est optimis ........................................................................ p.25
5.2 Cas o le critre est une fonction quadratique de la commande ........................ p.25
5.2.1 Ide gnrale .............................................................................................. p.25
5.2.2 Recherche du domaine gnrateur............................................................. p.26
5.2.3 Prise en compte de lvolution de ladjoint ............................................... p.29
5.2.4 Rsultats obtenus........................................................................................ p.31

VI Conclusion ................................................................................................................... p.32

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.

La dmonstration de la convergence de lalgorithme gntique nest aujourdhui pas dmontre, son


comportement tant le rsultat dune dmarche fortement marque par une recherche alatoire de la solution.

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

On associe notre problme son Hamiltonien H, dfini (pour un problme de


minimisation) par H ( x, , u ) = g ( x, u , t ) + f ( x, u ), , tant un vecteur appel ladjoint du
systme.
On peut dmontrer que ltat et ladjoint vrifient les quations
H

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

H(x*, *, u*)= min H(x*, *, u) .


uU

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

2.2 Fonctionnement des algorithmes gntiques

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.

 Cette population est alors value selon un critre.


 Les meilleurs lments, cest--dire les lments qui ont obtenu la meilleure note
selon notre critre, sont slectionns, tandis que les bons sont mis de cts.

 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.

 Enfin, on ritre lalgorithme sur la nouvelle population.

2.3 Le systme tudi

Afin dillustrer la mthodologie que nous allons mettre en place, nous mnerons les
calculs et les dmonstrations sur un systme relativement simple.

2.3.1 Prsentation du systme

Considrons un systme propuls laide de quatre tuyres alimentes par de lergol :

 Deux tuyres, situes sur la base, permettant de propulser le systme vers


lavant.

 Deux tuyres latrales, permettant de propulser le systme vers larrire.

X
Xe
G
Y


Fp11
r


Fp12
A12
O

A21
l
Ye

A22
r


Fp 22

A11


Fp 21
R

On considre les repres :

 (O, X, Y), un repre galilen


 (O, Xe, Ye), un repre li au bus, O tant le centre du systme.
Nous noterons R, le rayon du systme et l, la distance selon Xe des tuyres latrales par
rapport la base.
De plus, nous supposerons que G, le centre dinertie, est dcal par rapport laxe du
bus et nous noterons (xG, yG) ses coordonnes.

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

 Isp, limpulsion spcifique de lergol


 M, la masse du systme
 
 J, le moment dinertie du systme en G dans la base ( Xe, Ye)

 g0, lacclration de la pesanteur en A.


 q, la vitesse angulaire du repre (A, Xe, Ye) par rapport (O, X, Y)
Enfin, nous supposerons que le dbit total des tuyres en ergol est constant et vaut :
= 11+12+21+22

(3)

2.3.2 Modlisation du systme


Commenons par exprimer les forces de pousse dans le repre li au bus :
 11Ispg 0
Fp11 =

 12 Ispg 0
Fp12 =


cos r
Fp 21 = 21Ispg 0

sin r


cos r
Fp 22 = 22 Ispg 0

sin r

Do, la force de pousse totale dans le repre (O, Xe, Ye)



11 + 12 ( 21 + 22) cos r
Fp = Ispg 0

( 22 21) sin r

Donc, dans le repre (O, X, Y), on a



cos
Fp = Ispg 0
sin

sin 11 + 12 ( 21 + 22) cos r

cos ( 22 21) sin r

(4)

Exprimons prsent les moments des forces de pousse en G :


MG11= (yG - r) 11Ispg0

MG12 = (yG + r)12Ispg0

 
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 =

M sin cos ( 22 21) sin r

= q

Ispg 0

q = J ( 11( yG r ) + 12( yG + r ) + 21( R yG ) cos r + 21( xG l ) sin r +

22(l xG )sin r 22( R + yG ) cos r )

(5)

2.3.3 Expression de lHamiltonien


Nous chercherons ici minimiser le temps de trajet de notre systme et/ou lnergie
tf

tf

dpense, cest--dire J ( x, u ) = dt , ou J ( x, u ) = (1 + uT Qu )dt ,


t0

tant

une

matrice

t0

symtrique dfinie positive.


Ainsi, lHamiltonien de notre systme vaut

 H ( x, u , ) = 1 + f ( x, u ), dans le cas o seul le temps de trajet est optimis


 H ( x, u , ) = 1 + u T Qu + f ( x, u ), dans le cas o lon cherche aussi optimiser
lnergie dpense.

Lquation (1) nous donne alors

1 = Vx = 0

2 = H = 0

Vy

3 = H = ( 1 2 ) A '( )u

H
4 =
= 3
q

10

(6)

2.4 Mthodologie gnrale


On remarque que le problme est trs diffrent selon que lon traite le cas ou seul le
temps de parcours est optimis, et le cas o lon prend en compte des critres nergtiques.
En effet, dans le premier cas, lHamiltonien est linaire en u et les contraintes sur la
commande sont linaires. Ainsi, le problme de minimisation de lHamiltonien pour un tat et
un adjoint donn peut se rsoudre laide dun algorithme comme le simplexe.
La linarit en u de lHamiltonien disparat dans le second cas. Il faudra donc mettre en
place une mthode permettant de minimiser lHamiltonien pour un tat et un adjoint donn.

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 :

 rsolvant numriquement les quations en x, , et u.


 en prenant comme critre une fonction de la distance minimale de notre systme
par rapport un tat cible3 et du temps mis pour sapprocher au mieux de cet
tat.
Cette mthodologie soulve quelques problmes.
En effet, nous devons tout dabord nous interroger sur lintervalle de temps sur lequel il
faut rsoudre les quations diffrentielles rgissant notre systme. De plus, il faut dfinir une
zone de recherche de ladjoint, afin de pouvoir initialiser lalgorithme gntique.

Pour la suite, nous supposerons que ltat final vaut 0.

11

III Recherche dun critre darrt


Comme nous lavons prcis dans le paragraphe prcdent, nous devons dfinir un
intervalle de temps sur lequel nous allons intgrer nos quations diffrentielles. Nous
pouvons, par exemple, rechercher un majorant du temps de trajet optimal.

3.1 Ide gnrale


Par dfinition de la trajectoire optimale, si une trajectoire T amne notre systme dans
ltat voulu, alors le temps de trajet de T sera plus long que le temps de trajet de la trajectoire
optimale. Ainsi, pour trouver un majorant de tf, il suffit de calculer le temps de trajet pour une
trajectoire particulire.
Considrons la trajectoire T qui se droule en trois temps :

Tout dabord, le systme tourne sur lui-mme afin de pointer vers ltat cible.

Puis le systme se dplace en ligne droite jusqu la vitesse nulle

Enfin, le systme tourne nouveau sur lui-mme jusqu avoir =0.

Etape 1

Etape 3
Etape 2

Calculons le temps ncessaire pour chaque tape.

12

3.2 Calcul du temps de parcours en ligne droite


On a


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

Ainsi, pour t=t2 (t2 tant le temps de parcours en ligne droite), on a


Ispg 0
V0 =
t 2
M
t2 =

Donc,


M V0
Ispg 0

(7)

3.3 Calcul du temps ncessaire pour la rotation


Commenons par calculer lacclration maximale que le systme peut obtenir en
rotation, tout en restant sur place.
Pour que le systme soit en rotation pure, il faut que

11 + 12 ( 21 + 22) cos r = 0

,
21 = 22
11 + 12 + 21 + 22 =

ce qui donne les relations 21 = 22 =

Dans ce cas, on a alors q =

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

supposerons dans un premier temps que f 0 ).

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

Si q0 est la vitesse de rotation du systme t=0, pour t = t1 , on a


1
2

(t1) = 1 = qMaxt12 + q 0t1 + 0


q(t1) = qMaxt1 + q 0

et
Pour t=t1,

1
2

f = qMax (t1 t1) 2 + q(t1)(t1 t1) + 1

De plus, pour t=t1, la vitesse de rotation doit tre nulle. Ainsi,

q(t 1) = 0 = qMax (t 1 t1) + q(t1)


1
1
On a alors f = qMax (t 1 t1) 2 + qMax (t1 t1) 2 + qMaxt12 + q 0t1 + 0
2
2
= f 0 =

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)

La rsolution de lquation (10) nous donne

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

q = qMax pour t1 t t1 . Un calcul similaire nous donne alors


q 0 + 2q 0 2 + 4qMax
q
0
t1 = 2t1 +
=
qMax
qMax

(11)

Remarque :
 Dans le cas o q0=0 (ce qui arrive ncessairement dans la phase 3 de la
trajectoire), on a

t1 = 2

qMax

 Si q 0 2 2qMax , alors t1 est ngatif. Il faut donc inverser les commandes. Le


calcul de t1 peut alors se rsumer dans le tableau

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

3.4 Calcul dun majorant du temps optimal


Finalement, si 1 et 2 sont les angles de rotation que le systme doit effectuer dans
la premire et la dernire phase de la trajectoire, on a

tf

q 0 2q 0 2 4qMax 1
qMax

16


M V0
Ispg 0

+2

2
qMax

(12)

IV Optimisation dune fonction quadratique.


4.1 Le problme
On cherche trouver la commande optimale u permettant de minimiser la fonction
f(u)=uTQu, o Q est une matrice symtrique dfinie positive. Rappelons que notre modle est
linaire en u et que, par ailleurs, la commande doit respecter la contrainte
u = u11 + u12 + u 21 + u 22

u11, u12, u 21, u 22 0

(S1)

Ainsi, lHamiltonien du problme peut se mettre sous la forme :


H (u ) = u T Qu < a, u > + K ,

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

4.2 Simplification du problme

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

De plus, comme K ne dpend pas de la commande, ce vecteur nintervient pas dans la


recherche de la commande optimale. Ainsi, si on pose
v=Tu,

le problme revient minimiser la fonction


f (v) = v, v a, T 1v = v, v (T 1 )T a, v ,

avec la contrainte

AT 1v B

Ainsi, dans un premier temps, nous allons tenter de rsoudre le problme


u * a, u* = min u a, u
Au B

17

(15)

4.3 Rsolution du problme

Il suffit de remarquer que


2

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

Avec les notations utilises plus haut, la commande optimale u* vrifie :

u* = T 1v * ,

o v* est la projection du vecteur

1 1 T
(T ) a sur lensemble U = {u , ATu B} et T
2

vrifie Q = T T T .

Ainsi, pour calculer la commande optimale, il faut pouvoir :

 Dterminer la projection dun vecteur sur lensemble U


 Dcomposer la matrice Q en un produit Q=TTT.
En ce qui concerne la dcomposition de Q, la dmonstration de la dcomposition de Cholesky
nous donne un algorithme.

18

4.5 Rsultats prliminaires sur loptimisation

Soit f : n une fonction de classe C2. On pose



proj ( grad ( x)) la projection du


f

gradient de f en x sur lensemble U dfini par U = {u , Au = 0} .


Considrons la suite un dfinie sur n par la relation de rcurrence :


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 =

est la matrice hessienne de f, on a g '( ) = Q(un un 1) .


2

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 +

Comme U est complet, la suite un converge vers un vecteur u , qui vrifie



h. proj ( gradf (u )) = 0 .
U

Donc, comme f est convexe, u minimise f sur U.

Remarque :
 La formule (22) nous fournit un majorant de lerreur u un . Ainsi,
u un = O ( k n ) .
n +

 Dans le cas dune fonction quadratique u u T Qu o Q est une matrice symtrique


dfinie positive, la matrice hessienne de f vaut 2Q. f est donc convexe.

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

suite une solution optimale.


4.6 Recherche du paramtre h optimal

Pour que la suite un converge le plus vite possible, il faut que k 2 = ( Id hPQ)u soit le
2

plus petit possible.


On a

k 2 = u + h 2 PQu , PQu 2hu , PQu


2

k 2 = u + h 2 u , QP 2Qu 2h Pu , Qu
2

k 2 = u + h 2 u , QPQu 2hu , Qu
2

Ainsi, k est minimal pour h =

(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

Pour la valeur optimale de h, on a alors k 2 = u


2

u, Qu 2
u, QPQu

(25)

Dans le pire des cas, u , Qu = min u et u , QPQu = max u . On a alors,


2

k< u

22

min 2
max

(26)

Finalement, pour rsumer,

 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

lerreur u un = O (k n ) , avec k < u


n +

23

U,

alors

min 2
.
max

on

une

estimation

de

4.7 Application la recherche doptimum sous contrainte linaire

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

sous cette forme).


Un algorithme possible doptimisation est de partir dun vecteur u0 de lensemble U et
de dfinir la suite un par la formule (17). Il y a alors deux possibilits :

 Soit la suite un converge vers un lment de U. Dans ce cas on a trouv un


minimum local.

 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

lalgorithme avec les nouvelles contraintes.

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

V Problme de localisation des adjoints initiaux


Pour que lalgorithme gntique puisse fonctionner efficacement, nous devons dfinir
une zone dans laquelle lalgorithme doit chercher les adjoints initiaux qui engendreront la
trajectoire optimale.
5.1 Cas o seul le temps est optimis

Dans ce cas, lHamiltonien vaut H ( x, , u ) = 1 + , f ( x, u ) , et donc, si h est un nombre


rel,
H ( x, h , u ) = 1 + h , f ( x, u ) .

Ainsi, et h donnent la mme commande optimale, et donc la mme trajectoire


optimale. Autrement dit, la norme de ladjoint initial na aucune importance.

On peut alors rechercher ladjoint initial dans une boule non nulle dont le rayon
est choisi arbitrairement.

5.2 Cas o le critre est une fonction quadratique de la commande


5.2.1 Ide gnrale

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 :

 Dterminer un domaine dadjoints D permettant de gnrer toutes les


commandes possibles.

 Prendre en compte lvolution de ladjoint au cours du temps afin que le


domaine dans lequel volue contienne D tout instant.

Remarque : nous mnerons ici, titre dexemple, les calculs dans le cas particulier o Q est
la matrice identit.

5.2.2 Recherche du domaine gnrateur

Pour trouver le domaine D, nous allons rsoudre formellement lquation u ( ) = u ,


u tant une commande vrifiant les contraintes.

Pour cela, commenons par donner quelques prcisions sur lexpression de la


commande en fonction de ladjoint.
Pour x et donns, on cherche minimiser u T Qu + 1 + f ( x, u ), .
0
A( )

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

sin 1 1 cos r cos r


cos 0 0 sin r sin r
cos
sin

cos( + r ) cos( r )

sin( + r ) sin( r )

C = ( c1 c 2 c3 c 4 ) .

Si lon pose Q = T T T et v = Tu , le problme revient minimiser


vT v + BT 1v, = vT v + T 1T BT , v ,

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

Dans le cas o Q=Id, on a

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

2 cos (1 + cos r ) + 4 sin sin r 2sin (1 + cos r ) 4 sin r cos


d1

d2
O d1, d2, d3 et d4 sont dfinis par = PaC T .
d3
d 4

u1

u2
8M
Ainsi, si on pose =
(u u 0) , vrifie les quations
u 3 Ispg 0

u4

2(1 + cos r )( 1 cos + 2 sin ) + d 1 4 = u1

2(1 + cos r )( 1 cos + 2 sin ) + d 2 4 = u 2


2(1 + cos r )( 1 cos + 2 sin ) + 4sin r ( 2 cos 1 sin ) + d 3 4 = u 3

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)

La troisime quation nous permet alors dobtenir

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

Comme les ui sont dans lintervalle [u ] =

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

5.2.3 Prise en compte de lvolution de ladjoint


Considrons D0, un pav de 4 , et posons Dt={ (t), (0) D0} . Pour que D0 permette
dobtenir toutes les trajectoires optimales possibles sur lintervalle de temps [0 ; tf], il faut
qu chaque instant t, Dt contienne D.

D0
D

D
Dtf

Pour dterminer D0, nous allons calculer un majorant de (tf)- 0 .


Rappelons que le systme est rgi par les quations dtat
 Ispg 0 cos sin 11 + 12 ( 21 + 22) cos r
V =

M sin cos ( 22 21) sin r

= q
.

I
sp
g
0

q = J ( 11( yG r ) + 12( yG + r ) + 21( R yG ) cos r + 21( xG l ) sin r +

22(l xG ) sin r 22( R + yG ) cos r )

De plus, ladjoint vrifie les quations


H
1 = Vx

2 = H

Vy

3 = H

4 = H

=0
=0
sin
Ispg 0
=
( 1 2 )
M
cos

cos 11 + 12 ( 21 + 22) cos r

sin
( 22 21)sin r

= 3

Ainsi, 1 et 2 sont constant.


sin
Par ailleurs, on remarque que
cos
Ainsi, on a

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)

Ainsi, on obtient le domaine de recherche pour 40 :

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

5.2.4 Rsultats obtenus

La mthode a t teste en Visual C++, avec les valeurs :

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

 Lorsque lon noptimise que le temps de trajet, un simple algorithme du


simplexe peut suffire.

 Si lon cherche aussi optimiser lnergie consomme, on peut appliquer la


mthode mise en place dans le paragraphe IV.
Enfin, la localisation de ladjoint initial dans une zone de recherche est aussi diffrente
selon les cas :

 Lorsque lnergie consomme nest pas prise en compte, on peut localiser


ladjoint initial dans une boule dont le rayon est choisi arbitrairement.

 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

You might also like