polymic3

Upload: lotfi-mrad

Post on 12-Jul-2015

817 views

Category:

Documents


1 download

TRANSCRIPT

DPARTEMENT STPI3ME ANNE MICIntroduction lOptimisation NumriqueAude Rondepierre & Sbastien TordeuxAnne 2009-2010Table des matiresIntroduction 51 Formulation et analyse dun problme doptimisation 71.1 Notions de minimum, maximum, inmum, supremum . . . . . . . . . . . . . . . 71.2 Description dun problme doptimisation . . . . . . . . . . . . . . . . . . . . . 81.2.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.2 Ensemble des contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3 Convexit et optimisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3.1 lments danalyse convexe . . . . . . . . . . . . . . . . . . . . . . . . 121.3.2 Rsultats dunicit en optimisation convexe . . . . . . . . . . . . . . . . 142 Optimisation numrique sans contraintes 152.1 Condition sufsante dexistence dun point minimum. . . . . . . . . . . . . . . 152.2 Conditions doptimalit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3 Gnralits sur les algorithmes de descente . . . . . . . . . . . . . . . . . . . . 182.3.1 Notion de direction de descente . . . . . . . . . . . . . . . . . . . . . . 182.3.2 Algorithme de descente modle . . . . . . . . . . . . . . . . . . . . . . 202.3.3 Convergence et vitesse de convergence . . . . . . . . . . . . . . . . . . 222.4 Premiers algorithmes de descente . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.1 Algorithmes de gradient pas xe/pas optimal . . . . . . . . . . . . . . 232.4.2 Mthode de Newton locale. . . . . . . . . . . . . . . . . . . . . . . . . 272.4.3 Mthode de Gauss-Newton . . . . . . . . . . . . . . . . . . . . . . . . . 293 Introduction loptimisation sous contraintes 313.1 Condition sufsante dexistence dun point minimum. . . . . . . . . . . . . . . 313.2 Conditions doptimalit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.3 Algorithme du gradient projet . . . . . . . . . . . . . . . . . . . . . . . . . . . 34A Complments 39A.1 Rappels de calcul diffrentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39A.1.1 Diffrentiabilit et gradient . . . . . . . . . . . . . . . . . . . . . . . . . 39A.1.2 Drives dordre suprieur . . . . . . . . . . . . . . . . . . . . . . . . . 39A.1.3 Formules de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40A.2 Quelques dmonstrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4234 TABLE DES MATIRESA.2.1 Mthode de Gauss-Newton pour la rsolution des problmes de moindrescarrs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42IntroductionTout problme doptimisation comporte une tape essentielle : la modlisation mathmatique.Elle consiste en trois tapes :1. Identication des variables de dcisions (souvent dsignes par un vecteurx Rndansce cours) : ce sont les paramtres sur lesquels lutilisateur peut agir pour faire voluer lesystme considr.2. Dnition dune fonction cot (appele fonction objectif) permettant dvaluer ltat dusystme (ex : rendement, performance,. . . ).3. Description des contraintes imposes aux variables de dcision.Le problme doptimisation consiste alors dterminer les variables de dcision conduisant auxmeilleures conditions de fonctionnement du systme (ce qui revient minimiser ou maximiserla fonction cot), tout en respectant les contraintes dutilisation dnies ltape 3.Dans ce cours, nous nous intressons aux mthodes numriques pour loptimisation continue,diffrentiable et non linaire.Lepremierchapitretraitedesnotionsmathmatiquesfondamentalesmatriseravantdesintresser la rsolution proprement parler de tout problme doptimisation : la descriptionmathmatique dun problme doptimisation, la notion de solution locale et quelques lmentsdanalyse convexe.Dans les chapitres suivants, nous entrons dans le vif du sujet en nous intressant la rsolu-tion de problmes doptimisation sans contrainte (cf chapitre 2), puis avec contraintes (cf chapitre3). Pour chacun de ses problmes nous tenterons de rpondre aux questions suivantes :1. Existe-t-il une solution (mme locale) du problme considr ? si oui, a-t-on unicit ?2. Comment la caractriser ? (cf conditions doptimalit).3. Comment la calculer ? Quel type dalgorithme choisir ?5Chapitre 1Formulation et analyse dun problmedoptimisation1.1 Notions de minimum, maximum, inmum, supremumOn distinguera les notions de minimum et de maximum des notions dinnimum et de su-premum. Cesnotionssontdesprrequispourlesdmonstrationsdesrsultatsdexistenceetdunicit dextrema dune fonction donne.Dnition 1.1 (Minorant/Majorant) Soit E un sous-ensemble de R.m R , + est un minorant de E ssix E m x.M R , + est un majorant de E ssix E M x.Dnition 1.2 (Inmum/Supremum) Soit E R.Linmum inf(E) R , + de E est le plus grand des minorants.Le supremum sup(E) R , + de E est le plus petit des majorants. On note aussiinfxE(x) et supxE(x).Dnition-Proposition 1.1 (Suite minimisante/Suite maximisante) Soit E R, E ,= .Il existe (xn)n une suite dlments de E telle quelimn+xn= inf(E)et une suite (yn)n dlments de E telle quelimn+yn= sup(E).La suite (xn)n est une suite minimisante et (yn)n une suite maximisante de E.78 1.2. Description dun problme doptimisationPreuve. Comme E ,= , ncessairement : inf(E) R et sup(E) R +.1er cas : inf (E) R. Comme inf(E) est le plus grand des minorants de E, alors quel que soitn N, inf(E) + 1/n nest pas un minorant de E. Il existe donc un lment xn E tel quexn inf(E) + 1/n.Cette suite(xn) dlments deEvrieinf(E) xn inf(E) + 1/n et admet doncinf(E)comme limite.2nd cas : inf (E)= . E admet seulement comme minorant. Par consquent pour toutn N, il existe xn E tel quexn n.La suitexn ainsi construite converge vers . La construction de la suite(yn) est laisse enexercice. Dnition 1.3 (Minimum, maximum) Soit E R. Un inmumest un minimumsi inf(E) E.Un supremum est un maximum si sup(E) E.Dans ce cas, on notemin(E) = inf(E) et max(E) = sup(E).1.2 Description dun problme doptimisation1.2.1 FormulationOn considre le problme doptimisation suivant :minxRnf(x) sous la contrainte : x X. (1.1)o X est un sous-ensemble de Rn. La fonction f:X Rn R, appele fonction objectif, estsuppose au moins diffrentiable. Lensemble X est appel ensemble des contraintes.Le problme (1.1) est dit ralisable si X ,= .Un cas frquent en optimisation est celui o X est dni par des galits et des ingalits :X= x Rn: h(x) = 0, g(x) 0o h: Rn Rpet g: Rn Rqsont supposes continues. Lcriture h(x)=0 reprsente pcontraintes dgalit :hi(x) = 0, i = 1, . . . , p,et de mme g(x) 0 reprsente q contraintes dingalits :gi(x) 0, i = 1, . . . , q.Dans ce cas, on dit quil sagit dun problme doptimisation n variables de dcisions,pcontraintes dgalits et q contraintes dingalits.Rsoudre le problme (1.1) revient chercher des points de minimum local (ou global, cestencore mieux !) au sens de la dnition suivante :Chapitre 1. Formulation et analyse dun problme doptimisation 9Dnition 1.4 (Minimum local/Minimum global) Soit f: X RnR une fonctionnelle.x Rnest un point de minimum local de f sur X six X et r > 0 [ y X B(x, r), f(x)f(y). (1.2)On dit alors que f(x) est un minimum local de f sur X.x Rnest un point de minimum global de f sur X ssix X et y X, f(x)f(y). (1.3)On dit alors que f(x) est un minimum global de f sur X.Les notions de maximum local et global sont dnies de faon tout fait similaire. En fait, onpeut facilement dmontrer que les problmes (avec ou sans contraintes) :minxf(x) et maxxf(x)sont quivalents dans le sens o ils ont mme ensemble de solutions et :minxf(x) = maxxf(x) ou encore maxxf(x) = minxf(x).Ainsi la recherche dun maximum pouvant se ramener la recherche dun minimum, nous por-terons une attention plus particulire la recherche du minimum.5 0 5 100.00.51.01.52.02.53.03.5Maximum localMaximum globalMinimum localFIG. 1.1 f: x 3 ex2+ e(x3)2: exemples de minima et maxima locaux/globaux10 1.2. Description dun problme doptimisation10 8 6 4 2 0 2 4 6 8 101.00.80.60.40.20.00.20.40.60.81.0FIG. 1.2 Fonction f: x cos(x) : innit de minima et maxima globaux.50 40 30 20 10 0 10 20 30 40 50504030201001020304050FIG. 1.3 Fonction f:x x cos(x) : innit de minima et maxima locaux mais aucun mini-mum ou maximum global.Chapitre 1. Formulation et analyse dun problme doptimisation 111.2.2 Ensemble des contraintesCommenons cette section par quelques notions lmentaires de topologie dans Rn.Dnition 1.5 (Ensemble ouvert) Soit O Rn. Lensemble O est ouvert si pour tout x O, ilexiste une boule ouverte B(x, r) =_y Rn[ |y x| < r_ de centre x et de rayon r telle que :B(x, r) 0Exemple 1.2.1 1. Les ensembles et Rnsont ouverts.2. Les boules ouvertes sont des ouverts.3. Les intervalles de la forme ]a, b[, a < b +, sont des ouverts de R.Dnition 1.6 (Ensemble ferm) Soit F Rn. Lensemble Fest un ferm si son complmen-taire est un ouvert.Exemple 1.2.21. Les ensembles et Rnsont ferms, leurs complmentaires respectifs tant Rnet .2. Les intervalles de la forme [a, b], < a < b < +, sont des ferms de R.Proposition 1.1Soit F Rn. Fest un ferm si et seulement si toute suite convergente dl-ments de Fadmet une limite dans F.Preuve. () SupposonsFferm. Soit(xn)nNune suite dlments deFqui converge versx Rn. On note O le complmentaire de F. Supposons par labsurde que x 0.Comme O est ouvert, il existe r > 0 tel que : B(x, r) O. Or (xn)nN converge vers x do :N N, n N, |xnx| < r,Ceci implique xn B(x, r) O et donc xn O partir dun certain rang, ce qui est impossiblecar xn Fquel que soit n N par dnition.() Supposons que toute suite convergente de F admet une limite dans F. Montrons que O,le complmentaire de F, est ouvert.Par labsurde, supposonsqueOnesoit pasouvert, i.e. : il existex Otel que: r >0, B(x, r) , O. Autrement dit :r > 0 B(x, r) F ,= .Pour r =1n+1, nous construisons une suite (xn)nN dlments de F telle quexn B(x,1n + 1).Ceci peut tre traduit en |xn x| 1n+1. Il suit que xn converge vers x. Comme Fest ferm,x F, ce qui est impossible car x O. Revenons maintenant la caractrisation de lensemble des contraintes dans le cas de contraintesdgalit et/ou dingalit.Proposition 1.2Soient g: RnRqet h : RnRpdeux fonctions continues.X= x Rn: h(x) = 0, g(x) 0 est un ensemble ferm de Rn.X= x Rn: g(x) < 0 est un ouvert de Rn.12 1.3. Convexit et optimisation1.3 Convexit et optimisationLes problmes dont les donnes sont convexes, constituent une classe importante en optimi-sation, car frquemment rencontrs dans les applications et la base de nombreuses mthodesdveloppes pour des problmes plus gnraux.1.3.1 lments danalyse convexeDnition 1.7 (Ensemble convexe) Soit C Rn. Lensemble C est convexe ssi(x, y) C2, ]0, 1[, x + (1 )y C,cest--dire, si x et y sont deux lments de C alors le segment qui relie x y est inclus dans C.Exemple. Rnest convexe.Dnition 1.8 (Fonction convexe/strictement convexe) Soit C Rnconvexe et f: C R.f est convexe ssi(x, y) C2, ]0, 1[, f(x + (1 )y)f(x) + (1 )f(y).f est strictement convexe ssi(x, y) C2, x ,= y, ]0, 1[, f(x + (1 )y) < f(x) + (1 )f(y).Thorme 1.1Soit C Rnconvexe et f: C R diffrentiable. La fonction f est convexe ssi :(x, y) C2, f(y) f(x) +f(x), y x), (1.4)ou de faon quivalente, ssi :(x, y) C2, f(y) f(x), y x) 0. (1.5)Preuve. Soit (x, y) C2. Par convexit de f, on a donc pour tout t ]0, 1[ :f((1 t)x + ty) (1 t)f(x) + tf(y) = f(x) + t(f(y) f(x)),soit :f(x + t(y x)) f(x)t f(y) f(x). En passant la limite pour t 0+, il suit (1.4).Rciproquement, on applique (1.4) tx + (1 t)y et x, puis tx + (1 t)y et y, do :f(x) f(tx + (1 t)y) + (1 t) f(tx + (1 t)y), y x)f(y) f(tx + (1 t)y) t f(tx + (1 t)y), y x)En combinant ces deux ingalits, on obtient : tf(x) + (1 t)f(y) f(tx + (1 t)y), et doncla convexit de f.En changeant les rles de x et y dans (1.4), puis en sommant les deux ingalits obtenues,on dmontre sans problme que (1.4) implique (1.5). Pour montrer la rciproque, on introduit : : t [0, 1] tf(x) + (1 t)f(y) f(tx + (1 t)y),et on montre que est positive sur [0, 1]. Dmonstration laisse en exercice (on pourra tracer letableau de variation de sur [0, 1]). Chapitre 1. Formulation et analyse dun problme doptimisation 13Remarque 1.1Si fest strictement monotone i.e. si les ingalits (1.4) et (1.5) sont strictespour x ,= y, alors f est strictement convexe.Si de plus, la fonctionnelle f est deux fois diffrentiable, on a alors une caractrisation dordredeux de la convexit via la Hessienne.Thorme 1.2Soit f: RnR une fonctionnelle de classe (2.Si la hessienne H[f](x) de f est une matrice symtrique dnie positive pour tout x Rn, alorsf est strictement convexe.Si H[f](x) est une matrice symtrique semidnie positive pour tout x Rn, alors f est convexe.Pour montrer ce rsultat nous avons besoin du lemme technique suivant.Lemme 1.1Soit f (2([0, 1]).Si f(2)(x) > 0, alors f() < (1 )f(0) + f(1) pour ]0, 1[.Si f(2)(x) 0, alors f() (1 )f(0) + f(1).Preuve. Commef(2)(x) >0 (resp. ) pour0 x 1, f

est strictement croissante (resp.croissante) et par consquentf() f(0) =_0f

(t)dt < f

() (resp.),f(1) f() =_1f

(t)dt > (1 )f

() (resp.).En groupant ces deux ingalits, nous tironsf() f(0) et x solution du problme (P). 2.2 Conditions doptimalitThorme 2.2 (Conditions ncessaires doptimalit locale) Soit f: Rn R une applicationdiffrentiable. Si x

Rnralise un minimum local (resp. maximum local) de f, alors :f(x

) = 0 (CN doptimalit du 1erordre)Si, de plus, f est deux fois diffrentiable dans un voisinage ouvert de x

, alors :H[f](x

) semidnie positive (CN doptimalit du 2ndordre)(resp. H[f](x

) semidnie ngative)Chapitre 2. Optimisation numrique sans contraintes 17Preuve. Soit h Rn, h ,=0. Pour s assez petit, on dnit : s R f(x

+ sh). admetdonc un minimum local en s = 0, do :

(0) = f(x

)

h = 0. Ceci tant vrai pour tout h, onen dduit : f(x

) = 0.Supposons maintenant f deux fois diffrentiable. On crit le dveloppement de Taylor dordre2 de la fonction . Comme f(x

) = 0, on obtient :f(x

+ sh) f(x

) =s22 h

H[f](x

)h + o(s2).soit : s22 h

H[f](x

)h+o(s2) 0 puisque x

est un point de minimum local de f. Aprs divisionpar s2, on fait tendre s vers 0 et on obtient : h

H[f](x

)h 0. La condition du premier ordre joue un rle central en optimisation numrique : elle permetde slectionner un certain nombre de points candidats tre des extrema locaux, appels pointscritiques ou points stationnaires. Parmi eux, gurent des minima locaux, des maxima locauxet dautres qui ne sont ni lun, ni lautre, appels points selle.Dnition 2.2 (Points critiques) Soitf : RnR une application diffrentiable. Tout pointx Rnvriant :f(x) = 0,est appel point critique (ou point stationnaire) de f.Mais attention ! Les conditions du thorme 2.2 ne sont que ncessaires : tout point o legradient est nul nest pas ncessairement un extremum. En effet, la fonctionnelle : f: x R x3admet en x = 0 un point de drive nulle, qui nest pas un extremum mme local de f.Thorme 2.3 (Condition Sufsante doptimalit locale) Soit Ounouvert deRn. Soit f :RnR une application suppose de classe C2sur O. Si x O vrie :f( x) = 0 et H[f]( x) symtrique, dnie positive (resp. dnie ngative)Alors x est un point de minimum local (resp. maximum local) de f.Remarque 2.11. Comme f est de classe C2, par le thorme de Schwarz, il nest pas ncessaire de vrierque la matrice hessienne H[f] est symtrique.2. Dun point de vue gomtrique, la condition du second ordre :H[f]( x) dnie positive,revient dire que f est localement convexe en x

, i.e. convexe dans un voisinage ouvert dex

. En pratique, elle est difcile vrier systmatiquement car elle ncessite de calculerles drives secondes et dtudier les valeurs propres de la matrice hessienne.Sidepluslafonctionnelleoptimiserestconvexeoustrictementconvexe, enappliquantlethorme 1.3 au convexe C= Rn, on obtient :Thorme 2.4 (Condition Sufsante doptimalit globale) Soit f: Rn R une applicationdiffrentiable et x un point critique de f.i. Si f est convexe, alors x est un point de minimum global de f.ii. Si f est strictement convexe, alors x est lunique point de minimum global de f.18 2.3. Gnralits sur les algorithmes de descente2.3 Gnralits sur les algorithmes de descentePartant dun point x0 arbitrairement choisi, un algorithme de descente va chercher gnrerune suite ditrs (xk)kN telle que :k N, f(xk+1) f(xk).Commenons par dnir plus prcisment la notion de descente.2.3.1 Notion de direction de descenteLe gradient joue un rle essentiel en optimisation. Dans le cadre des mthodes doptimisation,il sera galement important danalyser le comportement de la fonction objectif dans certainesdirections. Commenons pour cela par rappeler le concept de drive directionnelle :Dnition 2.3Soit f: RnR une application continue. Soit x Rnet d Rn.La drive directionnelle de f en x dans la direction d est dnie par :df(x; d) :=limt0+f(x + td) f(x)t,si cette limite existe.Proposition 2.2Si fest diffrentiable en un point x Rn, alors pour tout d ,=0, fadmet unedrive dans la direction d en x et :df(x; d) = Df(x)(d) = f(x)

d.On rappelle que la rciproque est fausse ! La drivabilit selon tout vecteur en x nimpliquepas ncessairement la diffrentiabilit de f en x.La drive directionnelle donne des informations sur la pente de la fonction dans la directiond, tout comme la drive donne des informations sur la pente des fonctions une variable. Enparticulier,si df(x; d) > 0 alors f est croissante dans la direction d.si df(x; d) < 0 alors f est dcroissante dans la direction d.Dans ce dernier cas, on dira que d est une direction de descente de f.Dnition 2.4 (Direction de descente) Soient f: Rn R et x Rn. Le vecteur d Rnestune direction de descente pour f partir du point x si t f(x + td) est dcroissante en t = 0,cest--dire sil existe > 0 tel que :t ]0, ], f(x + td) < f(x). (2.3)Chapitre 2. Optimisation numrique sans contraintes 190.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.002468101214161820d1 = f(1, 1)d3 =_ 11_d2 =_13_(t)=f(x+tdi)FIG. 2.1 Allure de la fonction f: x 12x21+2x22 au point x = (1, 1)

dans plusieurs directions.Proposition 2.3Soient f: Rn R diffrentiable et x Rntel que : f(x) ,=0. Le vecteurd Rnest une direction de descente pour f partir du point x ssi la drive directionnelle def en x dans la direction d vrie :df(x; d) = f(x)

d < 0. (2.4)De plus pour tout < 1, il existe > 0 tel que :t ]0, ], f(x + td) < f(x) + tf(x)

d. (2.5)Autrement dit, la relation (2.5) nous dit que la dcroissance de la fonction objectif fen fai-sant un pas de taille t dans la direction d, est dau moins le pas fois une fraction de la pente.Preuve de la proposition 2.3. Soit d une direction de descente de fen x, soit : f(x)

d 0, il existe > 0 tel que si [t[ , alors [(t)[ < . Do :t ]0, ], f(x + td) f(x) = t_f(x)

d + (t) < t_f(x)

d + = 0.On dmontre de la mme faon lingalit (2.5), en choisissant : =( 1)f(x)

d dans ladnition de Landau, et < 1. 20 2.3. Gnralits sur les algorithmes de descenteParmi toutes les directions de descente existant en un pointx donn, une des plus remar-quables est celle o la pente est la plus forte, cest--dire selon le gradient. Pour le dmontrer, ilsuft de comparer les drives directionnelles :Thorme 2.5 (Direction de plus forte descente) Soit f: RnR une fonction diffrentiable.Soit x Rn. Alors pour toute direction d de norme constante gale |d| = |f(x)|, on a :(f(x))

f(x) d

f(x), (2.6)La direction d

= f(x) est appele direction de plus forte descente.Preuve. Soit d Rnune direction quelconque de norme : |d| = |f(x)|. On a alors :(d)

f(x) | d||f(x)| daprs lingalit de Cauchy-Schwarz |f(x)|2= f(x)

f(x) puisque |d| = |f(x)|.On en dduit donc (2.6). Sans surprise, si loppos du gradient correspond la plus forte descente, le gradient corres-pond, lui, la plus forte pente :Corollaire 2.1Le vecteur f(x) est appele direction de plus forte pente de f au point x Rn.On remarquera que si x

est un point de minimumlocal de f, alors il nexiste aucune directionde descente pour f au point x

.Exercice 2.3.1Retrouver les conditions ncessaires doptimalit du thorme 2.2 en utilisant lanotion de direction de descente.2.3.2 Algorithme de descente modlePartant dun point x0 arbitrairement choisi, un algorithme de descente va chercher gnrerune suite ditrs (xk)kN telle que :k N, f(xk+1) f(xk)Daprs la caractrisation de la descente (cf proposition 2.3), il sagit donc chaque itration k,de trouver un point xk+1 dans une direction d vriant : f(xk)

d < 0.Le schma gnral dun algorithme de descente est le suivant :ALGORITHME DE DESCENTE MODLE.Donnes: f : RnRsupposeaumoinsdiffrentiable, x0pointinitialarbitrairementchoisi.Sortie: une approximation de la solution du problme :minxRnf(x).1. k := 02. Tant que test de convergence non satisfait,Chapitre 2. Optimisation numrique sans contraintes 21(a) Trouver une direction de descente dk telle que : f(xk)

dk< 0.(b) Recherche linaire : Choisir un pas sk> 0 faire dans cette direction et tel que :f(xk + skdk) < f(xk).(c) Mise jour : xk+1= xk + skdk ; k := k + 1 ;3. Retourner xk.Oracle/Boite noire. Pour obtenir le prochain itr, lalgorithme aura besoin dinformations surla fonction objectif f: la valeur numrique de fen un point donn x, et souvent galement legradient f(x). Ces informations sont fournies en boite noire, i.e. par un sous-programmeindpendant de lalgorithme doptimisation choisi : routine de calcul du gradient par diffrencesnieslorsquecelui-cinestpascalculableexplicitement,ousimulateurrenvoyantlesvaleursnumriques f(x) et f(x) sans formule mathmatique explicite par exemple.Test de convergence/Test darrt. Soit x

un point de minimum local du critre f optimiser.Supposons que lon choisisse comme test darrt dans lalgorithme de descente modle, le critreidal : xk=x

. Dans un monde idal (i.e. en supposant tous les calculs exacts et la capacitde calcul illimite), soit lalgorithme sarrte aprs un nombre ni ditrations, soit il construit(thoriquement) une suite innie x1, x2, . . . , xk, . . . de points de Rnqui converge vers x

.En pratique, un test darrt devra tre choisi pour garantir que lalgorithme sarrte toujoursaprs un nombre ni ditrations et que le dernier point calcul soit sufsamment proche de x

.Soit > 0 la prcision demande. Plusieurs critres sont notre disposition : tout dabord (etcest le plus naturel), un critre doptimalit bas sur les conditions ncessaires doptimalit dupremier ordre prsentes dans la section 2.2 : on teste si|f(xk)| < , (2.7)auquel cas lalgorithme sarrte et fournit litr courant xk comme solution.En pratique, le test doptimalit nest pas toujours satisfait et on devra faire appel dautrescritres (fonds sur lexprience du numrique) :Stagnation de la solution : |xk+1xk| < |xk|.Stagnation de la valeur courante : |f(xk+1) f(xk)| < [f(xk)[.Nombre ditrations dpassant un seuil x lavance : k < IterMax.et gnralement une combinaison de ces critres :Critre darrt = Test doptimalit satisfaitOU (Stagnation de la valeur courante & Stagnation de la solution)OU Nombre ditrations maximum autoris dpass.En pratique, on prfrera travailler avec les erreurs relatives plutt quavec les erreurs abso-lues, trop dpendantes de lchelle.22 2.3. Gnralits sur les algorithmes de descente2.3.3 Convergence et vitesse de convergencetudier la convergence dun algorithme, cest tudier la convergence de la suite des itrsgnrs par lalgorithme. Un algorithme de descente selon le modle prcdent, est dit convergentsi la suite de ses itrs (xk)kN converge vers un point limite x

, solution du problme :minxRnf(x).De plus, la convergence est dite locale si elle na lieu que pour des points initiauxx0 dans unvoisinage de x

. Sinon elle est dite globale.En pratique, le but dun algorithme doptimisation ne sera que de trouver un point critique(i.e. un point vriant la condition doptimalit du premier ordre : f(x

)=0). On introduitalors la notion de convergence globale dun algorithme doptimisation :Dnition 2.5Soit un algorithme itratif qui gnre une suite (xk)kN dans Rnan de rsoudrele problme :minxRnf(x),o f: RnR est une application de classe C1. Lalgorithme est dit globalement convergent siquel que soit le point initial x0 Rn,limk+|f(xk)| = 0.Cette proprit garantit que le critre darrt |f(xk)| ? sera satisfait partir dun certainrang quelle que soit la prcision > 0 demande.Il est bien entendu trs important de garantir la convergence dun algorithme sous certaineshypothses, mais la vitesse de convergence et la complexit sont galement des facteurs prendreen compte lors de la conception ou de lutilisation dun algorithme ; en effet, on a tout intrt ceque la mthode choisie soit la fois rapide, prcise et stable. Pour cela, on introduit les notionsde vitesse (ou taux) de convergence qui mesurent lvolution de lerreur commise |xk x

|.Dnition 2.6Soit (xk)kN une suite ditrs gnrs par un algorithme convergent donn. Onnotex

lalimitedelasuite(xk)kNetonsuppose: kN, xk,=x

(sinonlalgorithmeconvergerait en un nombre ni ditrations). La convergence de lalgorithme est dite :linaire si lerreur ek= |xk x

| dcrot linairement i.e. sil existe ]0, 1[ tel que :limk+|xk+1x

||xk x

|= .superlinaire silimk+|xk+1x

||xk x

|= 0.dordre p sil existe 0 tel que :limk+|xk+1x

||xk x

|p= .En particulier, si p=2, la convergence est dite quadratique (grosso modo partir duncertain rang, le nombre de chiffres signicatifs exacts double chaque itration).Chapitre 2. Optimisation numrique sans contraintes 23Bien entendu, on a intrt ce que la convergence dun algorithme soit la plus leve possiblean de converger vers la solution en un minimum ditrations pour une prcision donne.Exemple 2.3.1La fonction f:x x3 6x + 1 admet un minimum local sur R en x

=2.Partant dune approximation grossire x0= 2 de x

, comparons plusieurs algorithmes de calculapproch de x

avec 5 chiffres signicatifs exacts :Soit lalgorithme xk+1=xk (x2k 2). Vrier que pour 0 0 prcision demande.Sortie: une approximation x

de la solution de : f(x) = 0.1. k := 0 ;2. Tant que critre darrt non satisfait,(a) Direction de descente : dk= f(xk)/|f(xk)|.(b) Recherche linaire : trouver un pas sk tel que : f(xk + skdk) < f(xk).(c) xk+1= xk skf(xk)|f(xk)| ; k := k + 1 ;3. Retourner xk.Il reste maintenant dnir une stratgie de recherche linaire pour le calcul du pas. Noustudions ici en premire approche une mthode pas optimal, puis une pas xe.Mthode de plus profonde descente (Steepest descent)Une ide naturelle consiste suivre la direction de plus forte descente et faire un pas quirendelafonctionminimiserlapluspetitepossibledanscettedirection. Cettemthodeestappelemthodedegradientpasoptimalouencore mthode de plus profonde descente.Ltape 2(a) de lalgorithme de descente de gradient est alors remplace par :RECHERCHE LINAIRE EXACTE.2. (a) Calculer un pas optimal sk solution de : mins>0f(xk + sdk).La mthode de plus profonde descente est une sorte didalisation : dune part, nous ne savonspas en pratique calculer de faon exacte un point minimumsk de lobjectif dans une directiondonne et le problme nest en gnral pas trivial. Dautre part, la rsolution du problme deminimisation unidimensionnel de ltape 2 (a), mme de faon approche, cote cher en tempsde calcul. Pour ces raisons, on peut lui prfrer parfois lalgorithme de gradient pas constant.Algorithme de gradient pas xeLideesttrssimple:onimposeunefoispourtouteslatailledupaseffectuselonladirection de descente calcule chaque itration. Les itrations 2 (a) et (b) de lalgorithme dedescente de gradient sont alors remplaces par :xk+1= xk sf(xk)|f(xk)|.La question est alors : comment choisir un pas qui garantisse la convergence de lalgorithme ?Chapitre 2. Optimisation numrique sans contraintes 25Quelques observations numriques. On souhaite minimiser f: (x, y) R212x2+72y2,en utilisant les algorithmes de descente de gradient pas xe et pas optimal.Commenons par analyser le problme de minimisation : dune part, la fonction fest deuxfois diffrentiable sur R2et strictement convexe. Dautre part, le point (0, 0) vrie les conditionssufsantes doptimalit du thorme 2.4. Donc (0, 0) est lunique point de minimum global de f.Soit Xk=(xk, yk) R2litr courant tel que : f(xk, yk) ,=0. Calculons par la mthodede plus profonde descente, litr suivant :Direction de plus forte descente : dk= f(Xk) =_xk7yk_.Calcul du pas optimal sk solution, si elle existe, du problme une dimension :mins>0f(Xk + sdk) = mins>012x2k(1 s)2+72y2k(1 7s)2.La solution se calcule de faon immdiate : sk= (x2k + 72y2k)/(x2k + 73y2k).A chaque itration, la mthode gnre donc le point : xk+1= xk +x2k + 72y2kx2k + 73y2k_xk7yk_.Appliquons maintenant ces deux mthodes partir du pointx0=(7, 1.5). Leurs compor-tements sont illustrs par la gure 2.2 et les itrations sont dcrites dans les tableaux 2.1 et 2.2FIG. 2.2 Itrations des algos de gradient pas xe et optimal, gnres partir du point (7, 1.5).26 2.4. Premiers algorithmes de descentek f(xk, yk) |f(xk, yk)|2skxkyk0 32.375 10.547512 7 1.51 16.925373 7.9786973 0.1940299 5.641791 0.53731342 8.8484403 6.5973298 0.3513514 3.6595401 0.78418723 4.6258889 3.5448339 0.1940299 2.9494801 0.28090294 2.4183752 3.4490276 0.3513514 1.9131763 0.40996635 1.2643059 1.8532089 0.1940299 1.541963 0.1468536..................40 1.751e10 2.9343653 1050.3513514 1.63 1050.35 10541 9.155e 11 1.5725775 1050.1940299 1.31 1050.12 10542 4.786e 11 1.536522 1050.3513514 0.85 1050.18 10543 2.502e 11 0.8292768 1050.1940299 0.69 1050.07 105..................76 1.268e 20 0.2523886 1090.3513514 0.14 1090.03 10977 6.630e 21 0.1303840 1090.1940299 0.11 1090.01 10978 3.466e 21 0.1303840 1090.3513514 0.72 10100.16 101079 1.812e 21 0.6989278 10100.1940299 0.58 10100.05 1010TAB. 2.1 Itrations de la mthode de plus profonde descente. Le critre doptimalit est satisfaiten 43 itrations pour une prcision = 105et en 79 itrations si = 1010.pas 0.325 0.25 0.125 0.05 0.01Nb ditrations DV 49 101 263 1340TAB. 2.2 Nombres ditrations de lalgorithme de gradient pas xe pour approcher luniqueargument minimum de f 105prs, en fonction du pas choisi - Point initial : x0= (7, 1.5).Cet exemple met en vidence la lenteur de la mthode de plus profonde descente, caractrisepar le comportement en zigzag des itrs. Essayons de comprendre do vient ce phnomne.A litration k + 1, lalgorithme de plus profonde descente minimise :s R f(xk sf(xk)). Lobjectif f tant suppos diffrentiable, la fonction est drivable sur R de drive :

(s) = f(xk)

f(xk sf(xk)).Soit sk le pas optimal calcul ; ncessairement sk vrie :

(sk) = 0, soit :f(xk)

f(xk skf(xk)) = 0.Le point xk+1= xk skf(xk) vrie donc : f(xk)

f(xk+1) = 0.Deux directions de descente successives calcules par lalgorithme de plus profonde des-cente sont orthogonales ce que traduisent les zigzags des itrs, observs sur la gure 2.2.Enn, les donnes du tableau 2.2 illustrent limportance du choix du pas dans lalgorithmede pas xe : un pas bien choisi donne des rsultats comparables ceux obtenus par la plusprofonde descente, un pas plus petit attnue les zigzag des itrs mais augmente signicativementle nombre ditrations et enn, un pas trop grand fait diverger la mthode.Chapitre 2. Optimisation numrique sans contraintes 272.4.2 Mthode de Newton localePourconstruirelesmthodesdegradient, nousavonsremplacfparsonapproximationlinaire au voisinage de litr courant. Nous avons vu que ces mthodes ne sont pas trs perfor-mantes, en partie parce quelles ne tiennent pas compte de la courbure qui est une informationde second ordre.PrincipeSupposons maintenant que f est de classe C2et remplaons f au voisinage de litr courantxk par son dveloppement de Taylor de second ordre :f(y) q(y) = f(xk) +f(xk)

(y xk) +12(y xk)

H[f](xk)(y xk),o la valeur f(xk), le gradient f(xk) et la matrice hessienne H[f](xk) sont donns par notreoracle (boite noire).On choisit alors comme pointxk+1le minimum de la quadratiqueqlorsquil existe et estunique, ce qui nest le cas que si H[f](xk) est dnie positive. Or le minimum de q est ralispar xk+1 solution de : q(xk+1) = 0, soit :f(xk) + H[f](xk)(xk+1xk) = 0,ou encore, en supposant que H[f](xk) est dnie positive :xk+1= xk H[f](xk)1f(xk). (2.8)Onreconnatdanslaformule(2.8)lesitrationsdelamthodedeNewtonvueencoursdanalyse numrique, applique ici la rsolution de lquation : f(x)=0. La mthode nedoit cependant jamais tre applique en utilisant une inversion de la matrice Hessienne (qui peuttre de trs grande taille et mal conditionne) mais plutt en utilisant :xk+1= xk + dko dk est lunique solution du systme linaire :H[f](xk)dk= f(xk).dk est appele direction de Newton.Cette mthode est bien dnie si chaque itration, la matrice hessienne H[f](xk) est dniepositive : ceci est vrai en particulier au voisinage de la solution x

cherche si on suppose queH[f](x

) est dnie positive (par continuit de H[f]).28 2.4. Premiers algorithmes de descenteAlgorithmeMTHODE DE NEWTON LOCALE.Donnes: f : RnR de classeC2,x0 premire approximation de la solution cherche, > 0 prcision demande.Sortie: une approximation x

de la solution.1. k := 0 ;2. Tant que |f(xk)| > ,(a) Calculer dk solution du systme : H[f](xk)dk= f(xk) ;(b) xk+1= xk + dk ;(c) k := k + 1 ;3. Retourner xk ;Remarque 2.2Deux observations importantes :1. La mthode de Newton est un algorithme de descente pas xe gal 1.2. Si la fonctionnelle fest quadratique, strictement convexe, alors lalgorithme converge enune itration.Exercice 2.4.1Dmontrer les deux assertions de la remarque 2.2.Convergence de la mthode de Newton localeLalgorithme hrite des proprits de lalgorithme de Newton vu en cours danalyse num-rique pour la rsolution des quations non linaires :Proposition 2.4Soit f de classe C3et x

un point de minimum local de f. On suppose en outreque la matrice Hessienne H[f](x

) est dnie positive.1. Il existe un voisinage 1

de x

tel que si x0 1

, alors la suite des itrs (xk)kN gnrs partir de x0 par la mthode de Newton locale, converge vers x

.2. La convergence est au moins quadratique.La mthode peut diverger si le point initial nest pas sufsamment proche dun point de mi-nimum local, et elle nest pas dnie si les matricesH[f](xk) ne sont pas dnies positives.Utilise dans le cadre de loptimisation, la mthode de Newton locale prsente un autre incon-vnient : la solution identie la n de lalgorithme nest pas forcment un point de minimumlocal, mais uniquement un point critique de f.Chapitre 2. Optimisation numrique sans contraintes 292.4.3 Mthode de Gauss-NewtonSi maintenant Fdsigne une application de Rndans Rm, avec par exemple m>n, le sys-tme dquations F(x) = 0 na gnralement pas de solutions. Le problme de moindres carrsassoci Fconsiste rechercher x tel quer(x) = min_r(x) =12m

i=1Fi(x)2=12|F(x)|22, x Rn_. (2.9)De tels problmes se rencontrent frquemment dans le cadre de lidentication de paramtres.Les variables xi sont les n paramtres dun modle physique non linaire. On effectue m>nmesures, et on cherche les xi qui permettent dajuster au mieux ce modle aux mesures.La solution de (2.9) est caractrise par r(x) = 0. Pour appliquer la mthode de Newton,on doit rsoudre des systmes de la formeHr(x) d = r(x) _JF(x)TJF(x) +m

i=1Fi(x) HFi(x)_d = JF(x)TF(x), (2.10)o JF(x)= F(x)

=[F1(x) . . . Fm(x)]

dsigne la matrice Jacobienne de Fen x. Lescalculs permettant dobtenir la relation (2.10) sont dtaills en annexe.La matrice Hessienne Hr(x) de r(x) a une expression assez complique. Cependant le termem

i=1Fi(x) HFi(x) est tel que lorsque le rsidu |F(x)| devient petit, cest--dire lorsque lon serapproche de la solution, il devient lui mme ngligeable.La mthode de Gauss-Newton consiste remplacer (2.10) par :JF(x)

JF(x)d = JF(x)

F(x). (2.11)ALGORITHME DE GAUSS-NEWTON.Donnes: Ffonction diffrentiable, x0 point initial, > 0 prcision demande.Sortie: une approximation de la solution du problme de moindres carrs :minxRnr(x) =12F(x)

F(x)..1. k := 0 ;2. Tant que ,(a) Calcul dune direction de recherche : calculer dk+1 solution de :JF(x)TJF(x) d = JF(x)

F(x).(b) xk+1= xk + dk+1 ;(c) k := k + 1 ;3. Retourner sk.30 2.4. Premiers algorithmes de descenteApplication aux moindres carrs linaires. Dans le cas o la fonction Fest linaire, i.e. :F(x) = Ax b, avec A Mn,p(R),on obtient : JF(x) = A, et lquation de Gauss-Newton (2.11) devient : A

Adk+1= A

(Axkb). Comme dk+1= xk+1xk, on obtient :A

Axk+1= A

bet ceci quel quesoit xk. Onreconnat ici lesystmedquationsnormalesduproblmedemoindres carrs linaire :minxRn12|Ax b|22, (2.12)On rappelle que daprs le thorme 2.4 du cours danalyse numrique, x

est solution du pro-blme (2.12) si et seulement si x

vrie les quations normales : A

Ax=A

b. De plus si Aest de rang plein, x

est lunique solution de (2.12).Ceci signie donc que la mthode de Gauss-Newton identie la solution en une seule itrationlorsque la fonction Fest linaire.Exercice 2.4.2Soit F : R3Rnune application dnie par :Fi(x0,x1,x2) = cix0x1ex2 ti, i = 1, . . . , n.1. Calculer Fi et H[Fi].2. En dduire : Jr et Hr o r =12F(x)

F(x).Chapitre 3Introduction loptimisation souscontraintesCe chapitre est une courte introduction loptimisation sous contrainte. On sintresse larsolution de problmes doptimisation de la forme :min f(x) s.c. x X, (3.1)o X est un sous-ensemble non vide de Rn.TERMINOLOGIE :Lensemble X est appel ensemble ou domaine des contraintes.Tout point x Rnvriant : x X, est appel point admissible du problme (3.1).Chercherunesolutionduproblmeaveccontraintes(3.1)revientchercherunpointdeminimum local de f dans lensemble des points admissibles.3.1 Condition sufsante dexistence dun point minimumLa premire question est celle de lexistence du point de minimum global de la fonctionfsur C. Il existe principalement deux thormes qui permettent de rpondre cette question. Lepremier afrme lexistence dun point de minimum lorsque lensemble des contraintes est fermborn. Le second est son quivalent pour les ensembles de contraintes ferms mais non borns.Thorme 3.1 (Thorme de Weierstrass) SoitXun compact (i.e. un ferm born) non videde Rnet f: X RnR une application continue sur X.Alorsfest borne et atteint ses bornes. Autrement dit, il existex Xpoint de minimumglobal de f sur X i.e. :y X, f(x) f(y).Preuve. Introduisons limage directe de X par ff(X) =_f(y) y X_.3132 3.1. Condition sufsante dexistence dun point minimumConsidrons une suite minimisante dans f(X), cest--dire une suite de (xn)nN dlments deX telle quef(xn) infyXf(y).CommeXestfermborn,ilexisteunesous-suiteextraite(x(n))nNquiconvergeversunx X. Cette suite extraite vriex(n) x et f(x(n)) infyXf(y).Or f est continue, do par unicit de la limite, il suitf(x) = infyXf(y) avec x X,et f ralise son minimum sur X. Thorme 3.2Soient F un ferm non vide de Rnet f: F RnRune application continueinnie linni. Alors f admet un point de minimum sur F. Autrement dit, il existe x F tel quey F, f(x) f(y).Preuve. (i) DnissonsKcompact. CommeF,= , nous avons :inf(F) R . SoitA R, tel que A >infyFf(y). Comme f est innie linni, il existe R1> 0 tel que pour y Rn|y| > R1= f(y) > A.De plus Fest non vide : il existe donc R2> 0 tel queB(0, R2) F ,= .Choisissons R = max(R1, R2)|y| > R = f(y) > A et B(0, R) F ,= .On introduit alors : K=B(0, R) F. Lensemble K est un compact non vide car il est born(|y| R) et ferm (intersection de deux ferms).(ii) Minimisons fsur K. Comme fest continue et K est compact, fatteint son minimum surK, cest--direx K [ f(x) =infyKf(y), (3.2)(iii) Montrons que minimiser sur K revient minimiser sur F. Dune part, nous avonsinfyFf(y) =inf_infyKf(y); infyF\Kf(y)_.Dautre part, pour z Fet z/ K, on a :|z| R, soit :f(z) > A >infyFf(y)Par consquent : infyF f(y) < infyF\Kf(y). Il suitinfyFf(y) = infyKf(y)et daprs (3.2) il vient : x K F [ f(x) =infyFf(y). Chapitre 3. Introduction loptimisation sous contraintes 333.2 Conditions doptimalitLcriture des conditions doptimalit en prsence de contraintes est base sur la mme in-tuition que dans le cas sans contraintes, savoir quil est impossible de descendre partir dunminimum. Toutefois les conditions doptimalit vues au chapitre 2 ne sont plus valables commele montre lexemple suivant.Exemple 3.2.1Soit le problme :Minimiser f(x) = x2, x Rn, sous la contrainte : x 1.La solution de ce problme est : x = 1, et pourtant : f

(1) = 2 ,= 0.Dans le cas o le domaine des contraintes est convexe, on a la condition ncessaire doptima-lit locale suivante :Thorme 3.3 (Condition ncessaire doptimalit locale) Soit f: Rn R une fonction dif-frentiable et X un convexe ferm, non vide de Rn. Soit x

Rnun point de minimum local duproblme :minxRnf(x) sous la contrainte : x X.Alors, pour tout x X, f(x

)

(x x

) 0.Preuve. Soit x X. Par convexit de X, x

+(xx

) est un lment de X pour tout [0, 1],do : [0, 1], f(x

+ (x x

)) f(x

)puisque x

est un point de minimum local de fsur X. On divise ensuite par (>0) et on faittendre vers 0+. Rappelons que dans le cas convexe (i.e. si f est en plus convexe) alors la condition prcdentedevient ncessaire et sufsante.Une autre approche : notion de direction admissible Une difcult importante en optimi-sation sous contrainte consiste savoir se dplacer dans lensemble des contraintes, i.e. tantdonne une direction de recherche comment garantir que lon reste dans lensembleC. Pourcela, on introduit la notion de direction admissible.Dnition 3.1 (Direction admissible) Soit x Rnun point admissible du problme (3.1).Une direction d Rnsera dite admissible en x sil existe > 0 tel que x+sd soit admissiblequel que soit s ]0, ].Dans le cas particulier o le domaine des contraintes est convexe, dterminer une directiondadmissible en x revient dterminer un point admissible y, diffrent de x : d=y x est alorsune direction admissible. En effet, quel que soit [0, 1],x + d=(1 )x + y est unecombinaison convexe dlments du convexe X, et donc un lment de X.34 3.3. Algorithme du gradient projetAutre preuve du thorme 3.3. Raisonnons par labsurde. Supposons quil existe un point x X tel que :f(x

)

(x x

) < 0.Daprs la dnition 2.4 vue au chapitre 2, d=x x

est donc une direction de descente de fau point x

. En utilisant la caractrisation donne par la proposition 2.3 : il existe > 0 tel que :s ]0, ], f(x

+ sd) < f(x

).Or : x

X. De plus, d = x x

dnit une direction admissible du problme (3.1). Donc pourtout s ]0, min(, 1)], x

+ sd est un point admissible de (3.1).

3.3 Algorithme du gradient projetConstruisons maintenant un algorithme de rsolution du problme :Minimiser f(x), x Rn, sous la contrainte : x X, (3.3)dans le cas o X est un sous-ensemble convexe ferm non vide de Rn.La mthode du gradient projet sinspire des mthodes de gradient dcrites dans le chapitreprcdent. Lide de base consiste suivre la direction de plus profonde descente, comme dansle cas sans contrainte :xk+1= xk skf(xk)o sk> 0 est choisi de sorte que : f(xk + skdk) < f(xk). Toutefois, si xk X, rien ne garantitque xk+1 appartienne galement X. Ds que lon obtient un point non admissible, on projettecelui-ci sur lensemble de contraintes X.Projection sur un convexe. Soit X un convexe ferm, non vide de Rn. La projection dun pointx Rnsur X, note pX(x), est obtenue comme solution du problme doptimisation suivant :Minimiser12|x y|22sous la contrainte : y X (3.4)La fonctionnelle : y Rn12|x y|22 tant convexe et f(y) = y x, le thorme 3.3 nousdonne une condition ncessaire et sufsante pour que x

= pX(x) soit solution de (3.4) :y X, (x

x)

(y x

) 0. (3.5)On remarque en particulier que si x X, alors ncessairement : x

= x.Chapitre 3. Introduction loptimisation sous contraintes 35Principe de lalgorithme. Soit xklitrcourant. Ongnrelitrationsuivantelepointadmissible :yk= pX (xk skf(xk))o pX dsigne loprateur de projection sur lensemble X. Avant daller plus loin, vrions quela direction dk= yk xk, si elle est non nulle, est bien une direction de descente de f en xk.Lemme 3.1Soit f: Rn R suppose diffrentiable et X Rnun convexe ferm, non vide.Notons xk litr courant et :d(s) = pX (xk sf(xk)) xk, s > 0Si d(s) est non nulle, alors d(s) est une direction de descente pour tout s > 0.Preuve. Soit s > 0 x. Supposons : d(s) = pX (xk sf(xk))xk ,= 0. Il sagit de dmontrerque d(s) est une direction de descente de f en xk, autrement dit que f(xk)

d(s) < 0.Daprs la caractrisation (3.5) de la projection sur un convexe, on peut crire :y X,_pX (xk sf(xk)) (xk sf(xk))_

_y pX (xk sf(xk))_ 0,Do, pour tout y X : _d(s) + sf(xk)_

_y xk d(s)_ 0. Puisque xk X, on choisity= xk, soit :_d(s) + sf(xk)_

d(s) 0, ou encore : f(xk)

d(s) 1sd(s)

d(s) 0.Par hypothse, d(s) ,= 0 ce qui implique : f(xk)

d(s) < 0. Remarque 3.1La direction d(s) possde les proprits suivantes :1. Si d(s)=0, alors : pX (xk sf(xk))=xk. Cela signie simplement que la directionchoisie par lalgorithme de gradient est orthogonale lensemble X des contraintes en xk.Le point xk est alors un point stationnaire car la condition ncessaire doptimalit (3.3)est satisfaite.2. Supposons d(s) ,=0. Alors xk et pX(xk sf(xk)) sont des points admissibles du pro-blme (3.3). La convexit de X nous garantit alors : [0, 1], xk + d(s) X.ALGORITHME DU GRADIENT PROJET.Donnes: f, pX un oprateur de projection sur X, x0 premire approximation de la solutioncherche, > 0 prcision demande.Sortie: une approximation x

de la solution.1. k := 0 ;2. Tant que critre darrt non satisfait,36 3.3. Algorithme du gradient projet(a) Projection sur X : yk= pX (xk sf(xk))o s est le pas calcul par la mthode de gradient choisie (s = 1 par exemple) ;(b) Direction de descente : dk= yk xk ;(c) Recherche linaire : trouver un pas k tel que : f(xk + kdk) < f(xk) ;(d) xk+1= xk + kdk ; k := k + 1 ;3. Retourner xk.Il est important de remarquer que le calcul ltape 2(a) du projet sur X, peut parfois treaussi difcile que le problme initial. En effet yk est obtenu en rsolvant le problme :minyRn12|xk sf(xk) y|22s.c. x X.Il sagit donc de rsoudre un problme doptimisation sur un convexe, avec une fonction objectifconvexe. Lorsque le domaine X des contraintes est simple (contraintes de bornes en particulier),cestfaisable. Dsquelescontraintesnesontpasdescontraintesdebornes, lecalculdelaprojection devient beaucoup plus dlicat.Exemple 3.3.1On veut rsoudre par une mthode de gradient projet le problme suivant :min(x,y)R2f(x, y) =12x2+72y2s.c. x + y= 1.Le domaine des contraintesX= (x, y) R2/ x + y =1 est un convexe ferm. Pourlavoir rsolu au chapitre 2, on sait que le problme hors contrainte admet un minimum globalen (0, 0). Cependant (0, 0) ne satisfait pas la contrainte, ce nest donc pas un point admissibledu problme avec contrainte.An de mettre en oeuvre lalgorithme de gradient projet, il nous faut choisir les mthodesde calcul des pas sk et k aux tapes 2(a) et 2(c) de notre algorithme :tape 2(a) : on choisit une mthode de gradient pour le calcul du pas sk.tape 2(c) : en premire approche, on choisit un pas xe k= 1, ce qui implique : xk+1=yk= pX(xk sf(xk)).Le comportement numrique de la mthode de gradient projet ainsi dnie, est illustr parla gure 3.1 et le tableau 3.1 des itrations. On observe une convergence de la suite ditrsgnrs partir du point x0= (4, 5.5) vers le point (0.875, 0.125).Vrions analytiquement ce rsultat. On cherche un point (x, y) R2vriant la contrainte :y= 1 + x et minimisant f, ce qui revient minimiser sans contrainte lapplication :f: x f(x, 1 + x) = 4x2+ 7x +72.Remarquons que fest strictement convexe ; daprs le thorme 2.3 appliqu au pointx

=(78, 18) = (0.875, 0.125), f admet un point de minimum global en x

.Chapitre 3. Introduction loptimisation sous contraintes 37FIG. 3.1 Itrations successives (avant et aprs projection) de lalgorithme du gradient projet -exemple 3.3.1 partir du point (4, 5.5)k xkxk skf(xk) |dk| = |yk xk|0 [ 4 5.5] [ 3.4232925 0.0508095 ] 4.34720971 [ 1.1862415 2.1862415 ] [ 1.0159064 0.0112495 ] 1.67430582 [ 0.0023285 1.0023285 ] [ 0.0019958 9.462e 08 ] 0.70898853 [ 0.4990021 0.5009979 ] [ 0.4264826 0.0086691 ] 0.30910994 [ 0.7175758 0.2824242 ] [ 0.6037028 0.0313035 ] 0.14131865 [ 0.8175032 0.1824968 ] [ 0.6619890 0.0605186 ] 0.06187276 [ 0.8612538 0.1387462 ] [ 0.6636631 0.0840740 ] 0.01783997 [ 0.8738685 0.1261315 ] [ 0.6570769 0.0929058 ] 0.00158798 [ 0.8749913 0.1250087 ] [ 0.6562565 0.0937435 ] 0.00001239 [ 0.875 0.125 ] [ 0.65625 0.09375 ] 7.301e 10TAB. 3.1 Itrations de la mthode du gradient projet : on note yk=pX(xk skf(xk)). Lecritre darrt |dk| < est satisfait en 10 itrations pour une prcision = 105.Annexe AComplmentsA.1 Rappels de calcul diffrentielA.1.1 Diffrentiabilit et gradientDnition A.1Soit J: Rn R une fonctionnelle. J est diffrentiable au point x ssi il existeJ(x) Rnet h (h, x) vriantJ(x + h) = J(x) + [J(x)]

h+ |h| (h, x), h Rn, (A.1)avec(h, x)h00. (A.2)Lorsquil existe, le gradient peut tre exprim laide des drives partiellesJ(x) =__x1J(x)x2J(x)

xnJ(x)__. (A.3)Dnition A.2Soit J: RnR une fonctionnelle. J est de classe C1.J est diffrentiable au point x,chacune des composantes de J est continue.A.1.2 Drives dordre suprieurDnition A.3On dit que J: RnR est deux fois diffrentiable au point x RnssiJ est diffrentiable ;chacune des composantes de J est diffrentiable.Dnition A.4Soit J: RnR deux fois diffrentiable. La Hessienne de J dnie laide deses drives partielles dordre 2H[J](x) =[ijJ(x)]1i,jn. (A.4)3940 A.1. Rappels de calcul diffrentielDnition A.5Une fonctionnelle J: RnR est de classe (2ssiJ est deux fois diffrentiable ;chacune des composantes de H[J] est continue.Thorme A.1(de Schwarz) Soit J: RnR une fonctionnelle de classe (2.La matrice H[J](x), x Rn, est symtrique.A.1.3 Formules de TaylorPour une fonction f : R R, les formules de Taylor scriventf(x + h) = f(x) + hf

(x) +h22f

(x) + . . . +hnn!f(n](x) +O(hn+1). (A.5)La drive f

(x) au point x dnit le terme linaire de ce dveloppement, h f

(x) h.La drive f

(x) dnit le terme quadratique de ce dveloppement, h 12 hf

(x) h.g(h) = O(hp) ___a > 0, M> 0, [h[ < a g(h)hp M:g(h) tend vers 0 avec h aussi vite que hp.g(h) = o(hp) ___limh0g(h)hp= 0,g(h) tend vers 0 avec h plus vite que hpPour une fonction f : RpR, les formules de Taylor scriventf(x + h) = f(x) +p

j=1hj xjf(x) +12p

j=1p

k=1hj hk 2xj xkf(x) +O(|h3|),= f(x) +p

j=1hj xjf(x) +12p

j=1hjp

k=1hk 2xk xjf(x) +O(|h3|),Jf(x) = Matrice Jacobienne =_x1f(x), . . . , xpf(x) = (f(x))T.Le gradient de f est le vecteur transpos de sa matrice jacobienne.Hf(x) = Matrice Hessienne =_2xi xjf(x)_1i,jp Mp(R). Elle est symtrique.f(x + h) = f(x) + Jf(x) h +12 hTHf(x) h +O(|h3|). (A.6)La notation AB dsigne le produit matriciel. Dans le cas du produit dune matrice lignepar une matrice colonne, on peut utiliser une notation de produit scalaire de deux matrices(vecteurs) colonnes(A.6) f(x + h) = f(x) +f(x),h) +12 Hf(x) h,h) +O(|h3|). (A.7)Chapitre A. Complments 41Pour une fonction f : RpRn, les formules de Taylor scriventf(x + h) = f(x) + Lf(h) +12 Qf(h) +O(|h3|). (A.8)x,h Rpet f(x) Rn: (A.8) est une galit dans Rn. Lf(h) dsigne un terme (vecteurde Rn) linaire en h, Qf(h) dsigne un terme quadratique en h. Pour les expliciter, on peutcrire une formule de type (A.6) pour chaque composante fi de f ; pour 1 i n,fi(x + h) = fi(x) + Jfi(x) h +12 hTHfi(x) h +O(|h3|).En rassemblant toutes les lignes et suivant les rgles du produit matrice-vecteur, on obtientLf(h) = Jf(x) h avecJf(x) = Matrice Jacobienne =__Jf1(x). . .. . .Jfn(x)__ Mn,p(R).Pour chaque i, le terme quadratique du dveloppement de fi est donn par12 hTHfi(x) h.En rassemblant toutes les lignes et en factorisant h droite, on obtient :__hTHf1(x) h. . .. . .hTHfn(x) h__=__p

k=1hk 2xk x1f1(x) . . .p

k=1hk 2xk xpf1(x). . . . . .. . . . . .p

k=1hk 2xk x1fn(x) . . .p

k=1hk 2xk xpfn(x)____h1. . .. . .hp__. (A.9)On a obtenu une expression de Qf(h) qui permet dcrire (A.8) sous la formef(x + h) = f(x) +__Jf1(x). . .. . .Jfn(x)__h +12__hTHf1(x). . .. . .hTHfn(x)__h +O(|h3|).42 A.2. Quelques dmonstrationsA.2 Quelques dmonstrationsA.2.1 Mthode de Gauss-Newton pour la rsolution des problmes de moindrescarrsProblme de moindres carrsF : RpRn, n > p : F(x) =__F1(x1,. . . ,xp). . .. . .Fn(x1,. . . ,xp)__.r(x) =12 |F(x)|2=12 F(x), F(x)).On cherche x= argmin r(x) r(x) = min_12n

i=1F2i (x), x Rp_.Utilisation de la mthode de NewtonCondition ncessaire doptimalit du premier ordre : r(x) = 0.Rsolution par la mthode de Newton : pour k 0,x(k+1)= x(k)_Hr(x(k))_1r(x(k)). (A.10)Calcul de r(x) : on peut le faire en identiant de la partie linaire dun dveloppement auvoisinage de x :2 r(x + h) = F(x + h),F(x + h)) ,= F(x) + JF(x) h +O(|h|2),F(x) + JF(x) h +O(|h|2), ) ,= F(x),F(x)) +F(x),JF(x) h) +JF(x) h,F(x)) +O(|h|2).Comme en dimension 1, on assimile les termes qui seront au moins O(|h|2) :F(x), O(|h|2)_+ JF(x) h,JF(x) h) + . . . = O(|h|2).Pour A Mn,p(R), x Rnet y Rp, on a x,Ay) =ATx,y_ :r(x + h) = r(x) +JF(x)TF(x),h_+O(|h|2).Par identication,r(x) = JF(x)TF(x). (A.11)Chapitre A. Complments 43Calcul de r(x) : on peut le faire en calculant les drives partielles :Pour tout i, 1 i p,xi r(x) = xi_12n

j=1F2j (x)_ =n

j=1(xiFj(x)) Fj(x).En prenant en compte toute les lignes,__x1r(x). . .xpr(x)__ =__x1F1(x) . . . x1Fn(x). . . . . .xpF1(x) . . . xpFn(x)____F1(x). . .Fn(x)__ =n

j=1(Fj)Fj= JTFF.Calcul de Hr(x) : on peut le faire par identication de la partie quadratique dun dvelop-pement au voisinage de x :r(x + h) =12_F(x) + JF(x) h +12Qr(h) +O(|h|3),F(x) + JF(x) h +12QF(h) +O(|h|3),_,= r(x) +r(x),h) +12 JF(x) h,JF(x) h) . . .. . . +14 F(x),QF(h)) +14 QF(h),F(x)) +O(|h|3),(A.12)La partie quadratique de (A.12) sidentie selonHr(x) h,h) =JF(x)TJF(x) h,h_+12 F(x),QF(h))Suivant (A.9), F(x),QF(h)) =_n

i=1Fi(x) hTHFi(x)_h, doHr= JTFJF+n

i=1FiHFi. (A.13)Calcul de Hr(x) : on peut le faire en drivant r(x) : r =n

j=1(Fj)Fj.On utilise la rgle de drivation dun produit : (r)

=n

j=1_HFj Fj + (Fj) JFj_.JFj= (Fj)T, etn

j=1(Fj)(Fj)T=_ F1. . . Fn__FT1

FTn__ = JTFJF.Calcul deHr(x) : on peut laborieusement le faire en calculant les drives partielles se-condes ; on ne le fait pas.