Vous êtes sur la page 1sur 13

Compte rendu de TP Matlab

Apprentissage de Matlab via limplmentation de mthodes doptimisation



Par Henri-Franois Chadeisson,



Compte rendu de TP Matlab
Apprentissage de Matlab via limplmentation de mthodes doptimisation
Franois Chadeisson, Manuel Rolland et Mickal Mounier.

Apprentissage de Matlab via limplmentation de mthodes doptimisation

05/05/08


Compte rendu de TP Matlab

Page 2

Compte rendu de TP Matlab
Apprentissage de Matlab via limplmentation de mthodes doptimisation
Sommaire
1. DESCENTE DE GRADIENT ..................................................................3
a. Principe ..................................................................................... 3
b. Rsultats .................................................................................... 3
c. Conclusions ................................................................................. 5
2. METHODE DE NEWTON ....................................................................6
a. Principe ..................................................................................... 6
b. Rsultats .................................................................................... 6
c. Conclusions ................................................................................. 7
3. BFGS ....................................................................................7
a. Principe ..................................................................................... 7
b. Rsultats .................................................................................... 8
c. Conclusions ................................................................................. 8
4. ESSAIM DE PARTICULES ....................................................................9
a. Principe ..................................................................................... 9
b. Rsultats .................................................................................... 9
c. Conclusions ................................................................................ 13


Compte rendu de TP Matlab

Page 3

1. Descente de gradient
a. Principe
La descente de gradient est une mthode doptimisation trs simple o lon utilise la drive
(ou le gradient, en dimension > 1) dune fonction afin de trouver un extremum local. La
mthode repose sur la formule itrative :


On arrte litration lorsque le vecteur

ne varie plus . Soit donc quand


|


| .
Physiquement, dans le cas de la recherche de minima dune fonction de R
2
dans R, en
imaginant que le point soit une bille, cette mthode revient trouver la zone o
lacclration est minimale en se laissant guider par la pente de la surface.
Comment choisir ? Grossirement, dtermine la vitesse de descente de la pente, si on le
choisi trop gros on risque de sauter par-dessus lextrema. Mais si on le choisit trop petit la
convergence est lente. Une solution intressante est donc de le dcrmenter chaque
itration. Cette mthode nest pas satisfaisante car on fini par ne plus avancer du tout au
bout de plusieurs itrations (alors que lon est peut tre encore loin de lextrema). Une
solution plus approprie qui marche bien dans la pratique est de lincrmenter si


ou de le dcrmenter sinon.
b. Rsultats
Avec la fonction f(x) = x (fichier gradient.m ) :
Compte rendu de TP Matlab

Page 4


La mthode fonctionne bien car la pente est grande et la courbe simple.

Avec la fonction de Rosenbrock (fichier gradient2.m ) :
Compte rendu de TP Matlab

Page 5


Il faut choisir un compromis entre et . C'est--dire quil faut faire un compromis
entre vitesse de convergence et prcision (comme souvent). Un des meilleurs rsultats
que lon a pu obtenir (cf. capture dcran) est un extrema [0.9995 ; 0.9990] au bout
de 7900 itrations. Gnralement lon sarrte avant et le rsultat devient faux.
Certains points ont des positions tonnantes cause de laugmentation d certaines
itrations.

c. Conclusions
Cet algorithme naf fonctionne mais il converge excessivement lentement. De plus, il est trs
dpendant des rglages que lon peut faire : , et la faon dont ce dernier varie. Dans les
implmentations que nous avons faites ces rglages sont bien choisis. En revanche, si on les
Compte rendu de TP Matlab

Page 6

change il a de trs fortes chances que le minima trouv ne soit pas satisfaisant voir
totalement faux. Tout cela fait que dans la pratique cet algorithme est compltement
inutilisable.
2. Mthode de Newton
a. Principe
Lalgorithme est le suivant (avec

matrice Hessienne de la fonction) :


b. Rsultats
Voir le fichier newton.m .
Compte rendu de TP Matlab

Page 7


Cette mthode donne de trs bons rsultats car au bout de 6 itrations on arrive au point
[1;1] qui est le minima.
c. Conclusions
La mthode de Newton est infiniment plus efficace que la descente de gradient mais elle
ncessite le calcul de la matrice Hessienne (qui est de taille n, ce qui peut devenir vite un
problme).
3. BFGS
a. Principe
Compte rendu de TP Matlab

Page 8

Le principe de base est le mme que celui de la mthode de Newton part que lon
approxime la matrice Hessienne pour ne pas avoir la calculer.
b. Rsultats
Voir le fichier bfgs.m .

Le rsultat avec le BFGS est tonnant, il lui faut 103 itrations pour arriver au minima. La
diffrence avec Newton est consquente.
c. Conclusions
Compte rendu de TP Matlab

Page 9

Les rsultats nous paraissent surprenants car la mthode converge bizarrement. Cela doit tre
du lapproximation de la drive seconde (ici on na pas calculer la matrice Hessienne,
contrairement la mthode de Newton).
La mthode BFGS converge donc bien plus lentement que la mthode de Newton mais elle
savre intressante quand le calcul de la matrice Hessienne est compliqu ou long (dans des
espaces de grande dimension par exemple) ou voir impossible (fonction drivable quune
seule fois, cas pathologique).
4. Essaim de particules
a. Principe
On prend un ensemble de n-particules que lon rparti de manire alatoire et qui se
dplacent de manire alatoire sur la surface. Chaque particule est constamment attire par
son meilleur record et aussi par le record de la meilleure particule.
Le principe est tel que les particules balayent grossirement la surface et trouvent un
ensemble dextrema locaux. Elles bourdonnent autour pour essayer des les affiner. Au bout
de plusieurs itrations elles vont rejoindre le record de la meilleure particule afin daffiner
lextrema suppos global.
b. Rsultats
Voir le fichier essaim.m .
Compte rendu de TP Matlab

Page 10


Compte rendu de TP Matlab

Page 11


Compte rendu de TP Matlab

Page 12


Compte rendu de TP Matlab

Page 13


c. Conclusions
Parmi toutes les mthodes doptimisation vues, cest la seule qui est capable de trouver un
extremum global (de manire rapide de surplus). Nanmoins, la convergence est ici
metaheuristique, elle ne dpend pas dune proprit mathmatique ce qui ne la rend pas
infaillible. Dans notre implmentation, la convergence manque de prcision car les particules
se dplacent trop vite par-dessus le minimum global. Il reste donc encore un peu de
peaufinage faire.

Vous aimerez peut-être aussi