• Aucun résultat trouvé

II.2 Mise en oeuvre pratique de la m´ethode des vecteurs singuliers non-

II.2.3 Algorithme de minimisation sous contrainte

Nous avons vu dans le chapitre pr´ec´edent que la m´ethode des vecteurs singuliers non-lin´eaires se r´eduisait `a la r´esolution d’un probl`eme classique d’optimisation non-

lin´eaire de type :

x∗ tel que f (x∗) = max

x∈R,kxk=E0 f (x) = min x∈R,c(x)=kxk−E0=0 1 f (x) (II.4) avec ∇xf (x) connu.

La r´esolution de ce type de probl`eme n´ecessite la prise en compte des contraintes mat´erielles suivantes :

– Le temps CPU n´ecessaire devait ˆetre raisonnable. Pour une m´ethode it´erative, il est `a peu pr`es proportionnel au nombre d’it´erations effectu´ees par la m´ethode avant de converger. En effet, l’efficacit´e de nombreuses m´ethodes diminue de fa¸con importante avec la dimension du probl`eme.

– La m´emoire utilis´ee. Certains algorithmes utilisent des matrices de travail de dimension n2 (en prenant n = 107, ceci ´equivaudrait `a un espace m´emoire de

l’ordre du To bien ´evidemment indisponible sur un calculateur de bureau.) L’assimilation variationelle d’observations recourt aussi `a l’utilisation d’algorithmes d’optimisation adapt´es `a des probl`emes de grande dimension. Cependant ces pro- bl`emes math´ematiques sont non-contraints et s’appliquent principalement `a des formes quadratiques ce qui ne permet pas l’utilisation des mˆemes algorithmes. De grands progr`es ont ´et´e effectu´es au cours des vingt derni`eres ann´ees dans le domaine de l’optimisation non-contraintes, citons entre autres Le Dimet and Talagrand (1986) qui montr`erent la viabilit´e en termes de coˆut num´erique des m´ethodes d’optimisation non-lin´eaires pour l’assimilation d’observations, Navon and Legler (1987) qui com- par`erent l’efficacit´e des diff´erents m´ethodes `a gradient-conjugu´e pour difff´erentes applications m´et´eorologiques et plus r´ecemment les travaux de Zou et al. (1993) sur les performances de diff´erentes m´ethodes quasi-newtoniennes `a m´emoire limit´ee. La m´ethode quasi-newtonienne fond´ee sur la variante L-BFGS de Liu and Nocedal (1988) s’av`ere d’apr`es eux ˆetre la plus efficace.

L’algorithme ayant donn´e pour les probl`emes que nous avons consid´er´e les r´e- sultats les plus satisfaisants est IPOPT (W¨achter and Biegler, 2006) qui est un algorithme de point int´erieur `a recherche lin´eaire bas´e sur une m´ethode BFGS quasi- newtonienne. L’utilisation pratique de cet algorithme n´ecessitant de nombreux r´e- glages afin d’obtenir une convergence rapide, nous allons en pr´eciser les grandes lignes du fonctionnement sans toutefois traiter le cadre th´eorique de la convergence de la m´ethode. Le lecteur int´eress´e pourra se r´ef´erer `a W¨achter and Biegler (2006) pour de plus amples d´etails.

Les conditions d’optimalit´e de premier ordre (conditions d’annulation de la d´e- riv´ee premi`ere) s’´ecrivent pour la solution x∗ du probl`eme d’optimisation (II.4) :

∇f(x∗) + λ∇c(x∗) = 0 (II.5) c(x∗) = 0 (II.6) o`u λ est le multiplicateur de Lagrange associ´e `a la contrainte c.

Etant donn´e (xk, λk) les valeurs de la variable et du multiplicateur de Lagrange

`a la k-i`eme it´eration, l’algorithme va chercher les variables suivantes (xk+1, λk+1)

48II.2 Mise en oeuvre pratique de la m´ethode des vecteurs singuliers non-lin´eaires.

dans la direction (dx

k+1, dλk+1) obtenue par lin´earisation de (II.5) et (II.6) autour de

(xk, λk) :  Wk ∇c(xk) ∇c(xk)T 0   dx k dλ k  = −  ∇f(xk) + λk∇c(xk) c(xk)  (II.7)

o`u Wk est la hessienne du lagrangien du probl`eme f + λc : Wk = ∂x∂xf (xk) +

λ∂x∂xc(xk)

Le syst`eme II.7 est r´esolu `a l’aide d’un solveur lin´eaire. Une fois la direction (dx k, dλk)

calcul´ee, il reste `a d´eterminer la longueur du pas αk ∈ [01] telle que xk+1 = xk+αkdxk.

Afin qu’une valeur de α soit accept´ee, au moins l’une des deux conditions sui- vantes doit ˆetre v´erifi´ee :

1.

|c(xk+1)| ≤ (1 − γc)|c(xk)| (II.8)

avec γc ∈ [01]. Cette condition impose `a la contrainte de diminuer d’un facteur

(1 − γc) entre les it´erations k et (k+1).

2.

f (xk+1) ≤ f(xk) − γf|c(xk)| (II.9)

avec γf ∈ [01] afin d’imposer `a la fonction de coˆut de diminuer.

Si αk ne satisfait aucune de ces deux conditions, alors les valeurs des pas (α2k,α4k,

....) sont essay´ees jusqu’`a atteindre une longueur critique αc auquel cas l’algorithme

a recours `a une proc´edure de “restoration” qui vise `a minimiser la contrainte jusqu’`a ce que la condition II.8 soit v´erifi´ee afin de pouvoir passer `a l’it´eration suivante en r´esolvant le probl`eme suivant :

min

x tel que c(x)=0 k x − xk k 2

2 (II.10)

La direction de recherche ˜dx

k correspondant `a ce probl`eme est ajout´ee `a dxk et la

proc´edure de restoration est it´er´ee jusqu’`a ce que (II.8) soit v´erifi´ee.

Une fois le nouveau point xk d´etermin´e l’algorithme recherche `a nouveau une

direction de descente jusqu’`a ce que la condition d’arrˆet suffisante soit v´erifi´ee :

ǫopt = max {k ∇f(x)) + λk∇c(xk) k∞, α k c(x) k∞} < ǫstop (II.11)

o`u ǫstop est un param`etre fourni par l’utilisateur id´ealement de l’ordre de la pr´ecision

machine.

En pratique, la m´ethode de Newton utilis´ee pour d´eterminer la direction de descente de l’algorithme requiert l’expression de la hessienne du lagrangien Wk qui

n’est pas fournie explicitement par l’utilisateur et qui ne peut non plus ˆetre stock´ee explicitement pour des raisons de m´emoire. La hessienne est estim´ee `a partir de la m´ethode BFGS de Liu and Nocedal (1988) qui approxime cette derni`ere grˆace `a une proc´edure it´erative ne n´ecessitant que le stockage de vecteurs.

Initialisation

L’algorithme a-t-il converg´e ?

Non

Sortie

Oui

Calcul de la direction de descente

d

k

Recherche lin´eaire : calcul de la taille du pas

α

k

Test des conditions II.9 ou II.8

Oui

Non

α

k

=

α2k

Fig. II.3 – Sch´ema simplifi´e de l’algorithme de minimisation sous contraintes utilis´e