• Aucun résultat trouvé

M´ethode de programmation quadratique successive

4.2 Aspects algorithmiques

4.2.3 M´ethode de programmation quadratique successive

On trouve les premi`eres traces de la m´ethode SQP dans [156]. Cependant, il faut at-tendre le milieu des ann´ees 70 pour voir le d´eveloppement de cette m´ethode (voir [124], [86], [87], [131], [129], [130]). Dans cette section, on d´ecrit la m´ethode de programmation quadratique successive (SQP : “Sequential Quadratic Programming”) appliqu´ee `a la mi-nimisation du probl`eme (P ). S’apparentant aux algorithmes newtoniens, la m´ethode SQP est actuellement l’une des m´ethodes les plus efficaces pour r´esoudre les probl`emes d’opti-misation non-lin´eaires. Elle consiste `a transformer la r´esolution d’un probl`eme d’optimi-sation non-lin´eaire en la r´esolution d’une suite de probl`emes d’optimid’optimi-sation quadratique. Ceux-ci sont obtenus par lin´earisation des conditions d’optimalit´e (4.2) au point (xk, λk)

courant. Le syst`eme d’optimalit´e lin´earis´e a pour inconnues le d´eplacement (d, µ) `a ap-porter `a (xk, λk) :          Mkd + A>kµ = −∇xLk (ck)E + (Ak)Ed = 0, (ck)I+ (Ak)Id ≤ 0 (λk+ µ)I ≥ 0 (λk+ µ)>I(ck)I+ (λk)>I(Ak)Id = 0, (4.8)

avec les notations ck := c(xk) ((ck)E := cE(xk) et (ck)I := cI(xk)), Ak = c0(xk) la

matrice jacobienne de c, ∇xLk := ∇xL(P )(xk, λk) et Mk := ∇2xxL(P )(xk, λk) le hessien

du lagrangien en (xk, λk). On peut obtenir `a partir du syst`eme (4.8) un probl`eme plus facilement r´esoluble en ajoutant le terme (µ)>I(Ak)Id dans la derni`ere ´equation (ce terme

est n´egligeable lorsque le d´eplacement (d, µ) est petit, ce qui est le cas lorsque (xk, λk) est

proche d’une solution de (P )). Sur ce syst`eme lin´earis´e modifi´e, on r´ealise le changement de variable λQP := λk+ µ, ce qui nous donne :

         Mkd + A>kλQP = −∇fk (ck)E + (Ak)Ed = 0, (ck)I+ (Ak)Id ≤ 0 (λQP)I ≥ 0 (λQP)>I((ck)I+ (Ak)Id) = 0, (4.9)

o`u ∇fk = ∇f (xk) est le gradient de f en xk. On peut facilement v´erifier que le syst`eme (4.9) est le syst`eme d’optimalit´e du probl`eme quadratique suivant :

     mind∇f (xk)>d +1 2d>Mkd cE(xk) + (Ak)Ed = 0 cI(xk) + (Ak)Id ≤ 0. (4.10)

Remarques 4.2.2

1. Les contraintes de (4.10) s’obtiennent en lin´earisant les contraintes de (P ) en xk.

2. La fonction objectif de (4.10) est hybride, avec le gradient de f pour la partie

lin´eaire et le hessien du lagrangien pour la partie quadratique. 3. Rappellons que le lagrangien de (P ) s’´ecrit

L(P )(x, λ) = f (x) + λ>c(x).

La matrice Mkest ´egale au hessien du Lagrangien c’est `a dire :

Mk= ∇2xxf (x) + λ>2 xxc(x).

On remarque dans cette derni`ere ´equation que le calcul de Mk fait intervenir

deux termes diff´erents qui sont le hessien de f et la courbure des contraintes. Une cons´equence directe de cette observation est que dans le cas de contraintes lin´eaires

(∇2

xxc(x) = 0) le hessien du lagrangien est ´egal au hessien de f .

D´efinition 4.2.3 Le probl`eme d’optimisation (4.10) est appell´e Probl`eme Quadratique

Tangent (PQT) de (P ) en xk.

La m´ethode SQP consiste alors `a produire une suite de points {(xk, λk)} qui converge

vers une solution primale-duale (x, λ) de (P ). En chaque point (xk, λk), on recherche

une solution primale-duale (dk, λQPk ) du probl`eme quadratique tangent (4.10). Une fois cette solution obtenue il ne reste plus qu’`a calculer le nouveau point (xk+1, λk+1) par :

xk+1 = xk+ dk et λk+1 = λQPk .

Plus g´en´eralement, on parlera de m´ethode SQP, lorsque la matrice Mk d´efinie dans le PQT (4.10) est seulement une approximation du hessien du lagrangien (Mk ≈ ∇2

xxL(P )(xk, λk)). Il est normal de choisir pour Mkune matrice sym´etrique (semi) d´efinie positive. On peut utiliser l’algorithme SQP local suivant pour r´esoudre (P ) :

Section 4.2 101

Data : Un it´er´e initial est donn´e : (x1, λ1). begin

k = 1.

Calculer c(x1), ∇f (x1) et A(x1). while (4.2) n’est pas satisfaite do

Calculer Mket trouver une solution primale-duale de (4.10), i.e., une solution (dk, λQPk ) de (4.9).

Calculer le nouveau point :

xk+1 = xk+ dk et λk+1= λQPk .

Calculer c(xk), ∇f (xk) et A(xk).

Accroˆıtre k de 1 : k := k + 1.

endw end

Algorithme II.1 Algorithme SQP local

Nous noterons que la r´esolution de (4.9) est l’´etape coˆuteuse de l’algorithme SQP. Ainsi, il est important de pouvoir r´esoudre ce probl`eme en un temps raisonnable pour valider le choix de l’utilisation de la m´ethode SQP par rapport aux autres m´ethodes en-visageables (m´ethode de p´enalisation dans la section 4.2.1, m´ethode de PI dans la sec-tion4.2.4).

Le th´eor`eme suivant, repris du th´eor`eme 13.2 de [18], donne un r´esultat standard de convergence local de la m´ethode SQP.

Th´eor`eme 4.2.4 Supposons que f et c sont de classe C2 dans un voisinage d’un point

stationnaire x de (P ) avec λ un multiplicateur de Lagrange associ´e. Supposons aussi

que la condition de compl´ementarit´e stricte est v´erifi´ee (voir d´efinition 4.1.12) et que

(x, (λ)E∪I

0) est un point stationnaire r´egulier (voir remarque 1. de4.2.5) du probl`eme avec contraintes d’´egalit´e

(PE∪I∗ 0) ( minxf (x) ci(x) = 0, i ∈ E ∪ I0 , (4.11)

Consid´erons l’algorithme SQP local (voir algorithme II.1), dans lequel dk est un point

stationnaire de norme minimale du probl`eme quadratique tangent (4.10). Alors, il existe

un voisinage V de (x, λ) tel que, si le premier it´er´e (x1, λ1) ∈ V :

(i) l’algorithme SQP local est bien d´efini et il g´en`ere une suite {(xk, λk)} qui

converge superlin´eairement vers (x, λ) ;

(ii) les contraintes actives du probl`eme quadratique tangent (4.10) sont celles du

probl`eme (P ) ;

(iii) si, en plus, f et c sont de classe C2,1 dans un voisinage de x, la convergence de

Remarques 4.2.5

1. Soit K la matrice d´efinie par

K :=  (LE∪I 0) (AE∪I 0)> (AE∪I∗ 0) 0  , o`u (AE∪I 0) = (cE∪I 0)0(x) et (LE∪I 0) = ∇2xxL(PE∪I∗ 0)(x, λ). Un point

station-naire de (4.11) est dit r´egulier si K n’est pas singuli`ere (voir proposition 12.1 et

d´efinition 12.2 de [18]).

2. La propri´et´e (ii) du th´eor`eme (4.2.4) est connue sous le nom de propri´et´e

d’identification finie des contraintes actives de l’algorithme SQP. Il est

souhai-table que la m´ethode de r´esolution du probl`eme quadratique tangent (4.10) utilis´ee

dans l’algorithme SQP tire parti de cette propri´et´e.

De nombreux codes SQP ont ´et´e d´evelopp´es, voici ci-dessous les plus connus : * NPSOL, pour les probl`emes de taille moyenne (voir [71])

* SNOPT, pour les probl`emes de grande taille creux (voir [70]) * NLPQL (voir [139])

Nous noterons que, par comparaison avec d’autres type de m´ethode (m´ethode de p´enalisation o`u de LA), la m´ethode SQP demande en g´en´eral moins d’´evaluation de la fonction coˆut (voir [123, chapitre 15]). Plus pr´ecisement, elle demande en g´en´eral moins d’´evaluations de la fonction coˆut par rapport `a une m´ethode de points int´erieurs (voir section 3.1 de l’article de la partieIII). Cependant, chaque r´esolution de probl`eme qua-dratique tangent est plus coˆuteuse `a effectuer que la r´esolution des syst`emes lin´eaires provenant des m´ethodes de p´enalisation o`u de LA.