Optimisation Quadratique - UMA
Transcription
Optimisation Quadratique - UMA
Optimisation Quadratique Hasnaa Zidani ENSTA ParisTech, UMA (pièce 2.4.26) [email protected] H. Zidani Cours AO101 - Optimisation quadratique 1 / 70 Parcours de l’optimisation l’ENSTA: ä 1ère année: Optimisation quadratique ä 2e année (SIM): Optimisation différentiable (et recherche opérationnelle) ä 3e année: Master en optimisation optimisation dynamique optimisation en nombre entier optimisation de grands systèmes Applications, ... H. Zidani Cours AO101 - Optimisation quadratique 2 / 70 Motivation. Optimiser des systèmes complexes afin d’obtenir la meilleure performance, tout en satisfaisant des contraintes de faisabilité (contraintes physiques, économiques, ...) ã planification de missions aérospatiales ã optimisation d’un portefeuille financier ã couverture optimale d’un réseau (réseau de téléphonie, énergie, ...) ã optimisation de forme (forme d’une bouteille, d’un aile d’avion, d’un pont, ... etc) H. Zidani Cours AO101 - Optimisation quadratique 3 / 70 Problèmes d’optimisation ... partout! ä En physique, l’optimisation apparaı̂t dans la modélisation de différents systèmes (biologie, mécanique, ..) ou dans l’identification de processus d’évolution. ä Dans les secteurs socio-économiques, elle fournit un moyen mathématique rigoureux pour l’aide à la décision. Outils mathématiques: permettent d’étudier l’existence et la caractérisation de solution(s) optimale(s) (propriétés qualitatives). Analyse algorithmique et numérique: approximation de solution optimale. Stabilité et analyse de convergence. H. Zidani Cours AO101 - Optimisation quadratique 4 / 70 Intérêt et Applications ä Les problèmes d’optimisation interviennent dans la modélisation de nombreux problèmes rencontrés par l’ingénieur, le physicien, le chercheur. ä Applications: économie et gestion, finance, automatique et robotique, trafic aérien, restauration d’images numérisées, gestion d’energie, ... etc H. Zidani Cours AO101 - Optimisation quadratique 5 / 70 Optimisation de trajectoire: Lanceur Ariane 5 (Cnes) • Vol depuis Kourou jusqu’à l’orbite GTO (orbite de transfert vers la géostationnaire) • Equation de la trajectoire: (r, v) ∈ R3 × R3 , dr =v dt − − → − → dmv → = P + FT (r, v, u, α, γ) − FD (r, v, u, α, γ) dt dm = Φ(m, t) dt u ∈ R: module de la poussée, α: l’angle de vol, γ: l’angle de gı̂te. • Contraintes sur la trajectoire: Flux thermique Critère: maximisation de la charge utile (m(t) = MEr + M2B + ME 1 + MC + Mcu ). H. Zidani Cours AO101 - Optimisation quadratique 6 / 70 Optimisation de trajectoire: Lanceur Ariane 5 (Cnes) Maximiser Mcu (T ) avec CE (r, v, u, α, γ) = 0, (Equation de la trajectoire) avec CI ((r, v, u, α, γ) ≤ 0, (Contrainte de flux thermique) avec u ∈ U, α ∈ A, γ ∈ Γ (autres contraintes physiques) H. Zidani Cours AO101 - Optimisation quadratique 7 / 70 Optimisation de portefeuille 0 Soit un portefeuille composé de n actions (a1 , . . . , an ). 0 xi représente la proportion de l’action ai dans le portefeuille. X xi = 1 = (u, x) et xi ≥ 0 i = 1, 2, . . . , n. i 0 Le rendement de l’action ai est modélisé par une variable aléatoire ri , de moyenne ei = E (ri ). On introduit le vecteur rendement moyen e = (e1 , e2 , . . . , en )T 0 La matrice de covariance A est donnée par la relation Ai,j = E [(ri − E (ri ))(rj − E (rj ))] 1 ≤ i, j ≤ n. 0 Le rendement du portefeuille est ε(x) = (e, x) Le risque du portefeuille est σ(x) = 21 (Ax, x) H. Zidani Cours AO101 - Optimisation quadratique 8 / 70 Optimisation de portefeuille Maximisation du rendement: Maximiser(e, x) 1 (Ax, x) ≤ µo , 2 (u, x) = 1, xi ≥ 0 i = 1, 2, . . . , n Minimisation du risque: 1 Minimiser (Ax, x) 2 (e, x) ≥ αo , (u, x) = 1, xi ≥ 0 i = 1, 2, . . . , n Remarque: µo et αo fixés par l’utilisateur H. Zidani Cours AO101 - Optimisation quadratique 9 / 70 Forme Générale Trouver u ∈ K , tel que J(u) = inf v ∈K J(v ), où J est définie sur un ensemble K non vide, à valeurs dans R. Objectifs du cours 0 Etudier l’existence & l’unicité d’une solution u. 0 Caractérisation de la solution. 0 Etudier des algorithmes permettant de calculer la solution. H. Zidani Cours AO101 - Optimisation quadratique 10 / 70 Partie I : H. Zidani Existence et unicité de minimum. Cours AO101 - Optimisation quadratique 11 / 70 Quelques Définitions. Définition u est un point de minimum local de J sur K si, et seulement si ∃η > 0, ∀v ∈ K , kv − uk < η ⇒ J(u) ≤ J(v ). u est un point de minimum global de J sur K si, et seulement si ∀v ∈ K , J(u) ≤ J(v ). H. Zidani Cours AO101 - Optimisation quadratique 12 / 70 Définition Une suite (uk )k∈N ⊂ K est une suite minimisante ssi, lim J(uk ) = inf k→+∞ v ∈K J(v ). Remarque. Par définition de la notion d’infimum, il existe toujours des suites minimisantes! Ces suites convergent-elles? La limite (si elle existe) est-elle un point de minimum? La limite est-elle unique? H. Zidani Cours AO101 - Optimisation quadratique 13 / 70 Existence d’un minimum Théorème (Voir Théorème 2.2.1, Poly-page 10) Si K est compact et J est continue sur K . Alors J atteint son minimum: ∃umin ∈ K , tel que J(umin ) = inf v ∈K J(v ). Rappel (admis) ä dans Rn , K est un compact ssi K est un fermé borné ä dans un compact de Rn , toute suite bornée admet une sous-suite convergente. H. Zidani Cours AO101 - Optimisation quadratique 14 / 70 Idée de la preuve: N On considère une suite minimisante (un )n ⊂ K . N K étant un compact, on peut extraire de (unk )k ⊂ K une sous suite convergente vers une limite u ∈ K . N En utilisant la continuité de J, on obtient : J(u) = lim J(unk ) = inf k→+∞ v ∈K J(v ). D’où u est un minimum de J sur K. c.q.f.d H. Zidani Cours AO101 - Optimisation quadratique 15 / 70 Que se passe-t-il si K n’est pas borné? Définition On dit qu’une fonctionnelle J est infinie à l’infini ssi, lim v ,kv k→+∞ J(v ) = +∞. On dit qu’une fonctionnelle J est infinie à l’infini sur K ssi, lim v ∈K ,kv k→+∞ H. Zidani J(v ) = +∞. Cours AO101 - Optimisation quadratique 16 / 70 Théorème (Existence d’un min, K non borné, Poly-page 10) Si K est fermé non vide , J est continue, et J infinie à l’infini sur K , alors J admet un minimum global sur K . Ce théorème dit qu’on peut remplacer l’hypothèse “K compact” par “K fermé et J infinie à l’infini”. H. Zidani Cours AO101 - Optimisation quadratique 17 / 70 Idée de la preuve: N On considère une suite minimisante (un )n ⊂ K , i.e: lim J(un ) = inf n v ∈K J(v ). (1) N (un )n est bornée: En effet, s’il existait une sous-suite unk ∈ K , telle que kunk k → +∞, J étant “infinie à l’infini’ sur K, on obtiendrait que limnk J(unk ) = +∞. Ce qui contredit (1). N On extrait une sous-suite (unk )k convergente vers une limite u. N K étant fermé, on conclut que u ∈ K . N En utilisant la continuité de J, on obtient : J(u) = lim J(unk ) = inf k→+∞ v ∈K J(v ). D’où u est un minimum de J sur K. c.q.f.d H. Zidani Cours AO101 - Optimisation quadratique 18 / 70 Remarques: F L’hypothèse “K est fermé” est indispensable. F Le théorème précédent n’est plus valable si K est une partie d’un espace E de dimension infinie. H. Zidani Cours AO101 - Optimisation quadratique 19 / 70 Unicité du minimum: Notion de convexité Définition On dit que l’ensemble K est convexe ssi θu + (1 − θ)v ∈ K ∀u, v ∈ K , ∀θ ∈ [0, 1]. Définition Soit K un convexe 6= ∅. (i) J : K −→ R est convexe ssi J(θu + (1 − θ)v ) ≤ θJ(u) + (1 − θ)J(v ) ∀u, v ∈ K , ∀θ ∈ [0, 1]. (ii) J : K −→ R est strictement convexe ssi J(θu + (1 − θ)v ) < θJ(u) + (1 − θ)J(v ) H. Zidani Cours AO101 - Optimisation quadratique ∀u 6= v ∈ K , ∀θ ∈]0, 1[. 20 / 70 Théorème (Théorème 2.3.1, Poly-page 14) Soient K un convexe non vide, et J convexe sur K . Tout minimum local de J sur K est un minimum global L’ensemble des minima est un ensemble convexe (éventuellement vide). Si de plus J est strictement convexe, alors il existe au plus un minimum H. Zidani Cours AO101 - Optimisation quadratique 21 / 70 Preuve [Poly-page 14]: ä Soit u un minimum local de J sur K ; donc ∃η > 0, ∀w ∈ K , kw − uk ≤ η ⇒ J(w ) ≥ J(u). ä Soit v ∈ K . Pour θ ∈]0, 1[ suffisament petit, vθ = θv + (1 − θ)u vérifie kvθ − uk < η et vθ ∈ K puisque K est convexe. ä Donc J(u) ≤ J(vθ ), et la convexité de J implique que J(vθ ) ≤ θJ(v ) + (1 − θ)J(u), ce qui montre bien que J(u) ≤ J(v ). ä u est donc un minimum global sur K . ä D’autre part, si u1 et u2 sont deux minima et si θ ∈ [0, 1], alors v = θu1 + (1 − θ)u2 ∈ K et J(v ) ≤ θJ(u1 ) + (1 − θ)J(u2 ) = inf Donc v est encore un minimum de J sur K . H. Zidani Cours AO101 - Optimisation quadratique w ∈K J(w ). 22 / 70 Rappels sur la différentiabilité. Notion de convexité Définition On dit que la fonctionnelle J, définie sur un voisinage de u ∈ Rn , est dérivable (ou différentiable) en u au sens de Fréchet s’il existe une forme linéaire dJ(u) continue sur Rn , qui vérifie: ∀h ∈ Rn J(u + h) = J(u) + dJ(u).h + khkε(h), où ε : Rn → R avec ε(h) → 0 quand khk → 0. Remarque: P dJ(u) est une forme linéaire sur Rn donc il existe p ∈ Rn tel que dJ(u).h = (p, h) ∀h ∈ Rn . On appelle p le gradient de J en u et on note p = ∇J(u). P Si de plus u 7−→ dJ(u) est continue, alors on dit que J est C 1 . H. Zidani Cours AO101 - Optimisation quadratique 23 / 70 Rappels sur la différentiabilité. Notion de convexité Définition On dit que la fonctionnelle J, définie sur un voisinage de u ∈ Rn , est dérivable (ou différentiable) au sens de Gateaux en u s’il existe p ∈ Rn tel que : J(u + td) − J(u) ∀d ∈ Rn lim+ = (p, d). t t&0 Remarques. P Une fonction dérivable au sens de Fréchet l’est aussi au sens de Gateaux, mais la réciproque est fausse. x6 Exemple: J(x, y ) = pour (x, y ) 6= (0, 0), (y − x 2 )2 + x 8 J(0, 0) = 0. P On continuera à noter p = ∇J(u), même si J est Gateaux différentiable sans être Fréchet différentiable. H. Zidani Cours AO101 - Optimisation quadratique 24 / 70 Rappels sur la différentiabilité. Notion de convexité Proposition Soient K un convexe non vide de Rn , et J : K → R. Si J est de classe C 1 , alors on a: J est convexe ⇐⇒ (∇J(x) − ∇J(y ), x − y ) ≥ 0, ∀x, y ∈ K ; J est strict. convexe ⇐⇒ (∇J(x)−∇J(y ), x −y ) > 0, ∀x 6= y ∈K . Si J est de classe C 2 , alors on a: 2 J est convexe ⇐⇒ ∇ J(x).d, d ≥ 0, ∀x ∈ K , ∀d ∈ Rn ; J est strict. convexe ⇐⇒ ∇2 J(x).d, d > 0, ∀x ∈ K , ∀d 6= 0. H. Zidani Cours AO101 - Optimisation quadratique 25 / 70 Rappels sur la différentiabilité. Notion de convexité Preuve (Dans le poly: Théorème 2.4.1, page 16. ) Montrons l’équivalence entre les assertions suivantes: (i) J est convexe sur K (ii) J(y ) ≥ J(x) + (∇J(x), (y − x)) , ∀x, y ∈ K (iii) (∇J(x) − ∇J(y ), x − y ) ≥ 0, ∀x, y ∈ K (iv) Si J est 2 fois différentiable, ∇2 J(x).d, d ≥ 0, ∀x ∈ K , ∀d ∈ Rn H. Zidani Cours AO101 - Optimisation quadratique 26 / 70 Preuve. Montrons l’équivalence entre les assertions suivantes: (i) J est convexe sur K (ii) J(y ) ≥ J(x) + (∇J(x), (y − x)) , ∀x, y ∈ K (iii) (∇J(x) − ∇J(y ), x − y ) ≥ 0, ∀x, y ∈ K (iv) Si J est 2 fois différentiable, ∇2 J(x).d, d ≥ 0, ∀x ∈ K , ∀d ∈ Rn Dans le poly: Théorème 2.4.1, page 16. H. Zidani Cours AO101 - Optimisation quadratique 27 / 70 H. Zidani Cours AO101 - Optimisation quadratique 28 / 70 Partie II: Conditions de minimalité 4 Calcul différentiel 4 Equation d’Euler 4 Cas d’une fonctionnelle quadratique et contraintes affines. H. Zidani Cours AO101 - Optimisation quadratique 29 / 70 Nous allons maintenant chercher à obtenir des conditions nécessaires et suffisantes de minimalité. Ces conditions seront utilisées pour tenter de calculer un minimum. Considérons le simple problème : Trouver x0 ∈ [a, b], J(x0 ) = inf y ∈[a,b] J(y ). Si x0 ∈ [a, b[ on choisit x = x0 + h avec h > 0 petit et on écrit J(x0 ) ≤ J(x) = J(x0 ) + hJ 0 (x0 ) + o(h). En divisant par h et en faisant tendre h → 0, on obtient: J 0 (x0 ) ≥ 0. De même, on obtient J 0 (x0 ) ≤ 0 si x0 ∈]a, b] en considérant x = x0 − h. H. Zidani Cours AO101 - Optimisation quadratique 30 / 70 Théorème Considèrons K un ensemble convexe non vide. Soit u ∈ K et supposons que J est différentiable en u. u est un min. local =⇒(∇J(u), v − u) ≥ 0 ∀v ∈ K . De plus si J est convexe, alors u est un minimum ⇐⇒(∇J(u), v − u) ≥ 0 ∀v ∈ K . ( Théorèmes 3.2.3 et 3.2.4 du polycopié, pages 25–26) H. Zidani Cours AO101 - Optimisation quadratique 31 / 70 Théorème Supposons que K = Rn ou u ∈ IntK . 1 Si J est différentiable, alors u est un minimum =⇒ ∇J(u) = 0 2 Si de plus, J est 2 fois différentiable, alors u est un minimum =⇒ (∇2 J(u)h, h) ≥ 0, ∀h ∈ Rn . (Corollaire 3.2.1, page 23) H. Zidani Cours AO101 - Optimisation quadratique 32 / 70 1) Cas de contraines affines: K := {v | Cv = f } = 6 ∅ C est une matrice p × n et f ∈ Rp . Soit u un min local. L’équation d’Euler en u s’écrit: (∇J(u), v − u) ≥ 0 ∀v ∈ K . Ceci est équivalent à dire que: (∇J(u), d) ≥ 0 ou encore ∀d ∈ KerC , ∇J(u) ∈ [KerC ]⊥ . Rappelons que [KerC ]⊥ = ImC T . Il en découle: ∇J(u) ∈ ImC T . H. Zidani Cours AO101 - Optimisation quadratique 33 / 70 Soit C une matrice p × n et f ∈ Rp . Théorème Soit u minimum du problème min v , Cv =f J(v ), la condition nécessaire d’optimalité s’écrit: ∃λ ∈ Rp ∇J(u) + C T λ = 0, Cu − f = 0. (2) Remarques. : Si C est surjectif alors λ dans (2) est unique. : Si J est convexe, alors (2) est une condition d’optimalité nécessaire et suffisante. H. Zidani Cours AO101 - Optimisation quadratique 34 / 70 On introduit la fonctionnelle : L(v , µ) = J(v ) + (Cv − f , µ), ∀(v , µ) ∈ Rn × Rp . L est appelé: le Lagrangien La condition d’optimalité du théorème précédent s’écrit: ∇v L(u, λ) = 0; u est un minimum =⇒ ∃λ ∈ Rp , ∇µ L(u, λ) = 0. λ est appelé: multiplicateur de Lagrange. H. Zidani Cours AO101 - Optimisation quadratique 35 / 70 2) Cas d’une fonction quadratique et contraintes affines : 1 (P) Minv ,Cv =f (Av , v ) − (b, v ) 2 A ∈ Rn×n symètrique , C ∈ Rp×n , b ∈ Rn et f ∈ Rp . N Si A est positive, alors le problème admet une solution ssi T A C u b ∃(u, λ) ∈ Rn × Rp , = . (3) C 0 λ f N Si A est définie positive et rang C = p, alors le système (3) (et le problème (P) aussi !) admet une solution unique. H. Zidani Cours AO101 - Optimisation quadratique 36 / 70 3) Cas de contraines d’inégalité affines : K := {v | Cv ≤ f } C est une matrice p × n, et f ∈ Rp . Soit u un minimum local. L’inéquation d’Euler en u s’écrit: (∇J(u), v − u) ≥ 0 ∀v ∈ K . Notons I (u) = {i ∈ {1, · · · , p} | Ci u = fi }. Supposons que I (u) = {1, · · · , m}. et notons C # la matrice formée par les m premières lignes de C . Alors, ∀d ∈ Rn | C # d ≤ 0. (∇J(u), d) ≥ 0 H. Zidani Cours AO101 - Optimisation quadratique 37 / 70 L’inéquation d’Euler implique alors: (∇J(u), d) ≥ 0 ∀d : C # d ≤ 0. Il en résulte: ∃λ ∈ Rm , λ ≥ 0, ∇J(u) + (C # )T λ = 0. Soient A une matrice m × n, y ∈ Rn : (Lemme de Farkas, Page 33) (y , d) ≥ 0 H. Zidani ∀d : Bd ≤ 0 ⇐⇒ ∃λ ∈ Rm , λ ≥ 0, y = −B T λ. Cours AO101 - Optimisation quadratique 38 / 70 Soit C une matrice p × n, et f ∈ Rp . Théorème Soit u minimum du problème min v , Cv ≤f J(v ), la condition nécessaire d’optimalité s’écrit: ∇J(u) + C T λ = 0, ∃λ ∈ Rp λ ≥ 0, Cu ≤ f , λj [Cu − f ]j = 0 pour j=1,··· ,p. (4) : Si J est convexe, alors (4) est une condition d’optimalité nécessaire et suffisante. H. Zidani Cours AO101 - Optimisation quadratique 39 / 70 Exemple d’un problème avec contraintes affines: Soit un portefeuille composé de n ≥ 3 actions (a1 , . . . , an ). On note xi la proportion de l’action ai dans le portefeuille. Le vecteur x = (x1 , . . . , xn )T qui représente la composition du portefeuille, vérifie X xi = 1 = (u, x). i Le rendement de l’action ai est modélisé par une variable aléatoire ri , de moyenne ei = E (ri ). On introduit le vecteur rendement moyen e = (e1 , e2 , . . . , en )T , puis la matrice de covariance A par la relation Ai,j = E [(ri − E (ri ))(rj − E (rj ))] 1 ≤ i, j ≤ n. Le rendement du portefeuille est calculé par la fonctionnelle ε(x) = (e, x), tandis que le risque du portefeuille est calculé par la fonctionnelle σ(x) = 21 (Ax, x). H. Zidani Cours AO101 - Optimisation quadratique 40 / 70 Partie III: Algorithmes numériques de minimisation sans contraintes 4 A. Métodes de descente: Gradient, Gradient conjugué 4 B. Méthodes itératives 4 C. Critères de choix entre différents algorithmes de minimisation H. Zidani Cours AO101 - Optimisation quadratique 41 / 70 Nous allons nous interesser à des algorithmes permettant de calculer numériquement la solution du problème: 1 Minv ∈Rn J(v ) = (Av , v ) − (b, v ). 2 Ces algorithmes consistent à choisir une condition initiale u0 ∈ Rn , puis à construire une suite (uk )k≥1 qui converge vers la solution u recherchée. e Comment construire la suite (uk )k≥1 ? e La convergence de la suite est-elle assurée, quel que soit le vecteur initial u0 ? e La convergence est elle “suffisamment rapide”? H. Zidani Cours AO101 - Optimisation quadratique 42 / 70 A. Méthodes de descente. Principe général Supposons l’itéré uk connu, on choisit une direction, dite de descente dk 6= 0, un pas de descente ρk , et on construit l’itéré uk+1 par: uk+1 = uk + ρk dk . La choix de dk et ρk se fera de manière à assurer que: J(uk+1 ) < J(uk ). On repétera ce procédé tant que uk 6= u. Mais comme on ne connait pas u, nous sommes donc obligés de trouver un autre critère d’arrêt. H. Zidani Cours AO101 - Optimisation quadratique 43 / 70 Rappelons que si uk = u, alors on aurait ∇J(uk ) = ∇J(u) = Auk − b = 0. Nous sommes donc tentés de considérer le critère d’arrêt suivant : Auk − b = 0. Or on sait, que la précision des calculs numérique est finie, nous nous contenterons alors du critère kAuk − bk ≤ ε, oû ε > 0 est une précision choisi par l’utilisateur. H. Zidani Cours AO101 - Optimisation quadratique 44 / 70 Il se pose alors, en plus des questions de convergence, d’autres questions pratiques: colormmagenta e Combien d’itération faut-il à la méthode pour arriver à un uk vérifiant le test d’arrêt? e Quel est le nombre d’opération à effectuer en chaque itération? e On sait qu’a l’optimum, Au = b. Si on calcule kAuk − bk ≤ ε, quel est l’erreur alors entre u et uk . De quoi cela depend-il? H. Zidani Cours AO101 - Optimisation quadratique 45 / 70 Méthode de relaxation. Le choix de la direction de descente. On choisit une base orthonormale (ei )1≤i≤n . On considére alors les directions de descente: d0 = e1 , d1 = e 2 , ..., dn−1 = en Si après n itérations l’algorithme n’a pas convergé, on prend dn = e1 , dn+1 = e2 , ..., d2n−1 = en et ainsi de suite ... Pour k = l ∗ n + (i − 1), H. Zidani dk = ei Cours AO101 - Optimisation quadratique 46 / 70 Le choix du pas de descente. A chaque itération, on choisit la valeur de ρk qui minimise la fonction: f : ρ 7−→ J(uk + ρdk ). On remarque que (où J(v ) = 12 (Av , v ) − (b, v )): f (ρ) = ρ2 (Adk , dk ) + ρ(Auk − b, dk ) + J(uk ). 2 Comme (Adk , dk ) 6= 0, le minimum ρk de f est: ρk = H. Zidani (b − Auk , dk ) (−∇J(uk ), dk ) = . (Adk , dk ) (Adk , dk ) Cours AO101 - Optimisation quadratique 47 / 70 L’algorithme de relaxation. 1 2 On choisit u0 ∈ Rn , et une tolérance ε > 0. Pour k = l ×n + i − 1, connaissant uk , tant que kAuk − bk > ε, on prend dk = e i (b − Auk , ei ) −(∇J(uk ), ei ) ρk = = (Aei , ei ) (Aei , ei ) uk+1 = uk + ρk ei H. Zidani Cours AO101 - Optimisation quadratique 48 / 70 Théorème Si A est une matrice symètrique définie-positive, alors la méthode de relaxation est convergente. Proposition 5.3.1, page 61 du poly. H. Zidani Cours AO101 - Optimisation quadratique 49 / 70 Méthode du gradient à pas fixe. Le choix de la direction de descente. Remarquons que : J(x + ρd) ' J(x) + ρ (∇J(x), d) . On cherche la direction de la plus grande descente d: J(x + ρd) − J(x) ' ρ (∇J(x), d) << 0 Cette direction est donnée par: d = −∇J(x). A l’itération k, connaissant l’itéré uk , on prend comme direction de descente : dk = −∇J(xk ). H. Zidani Cours AO101 - Optimisation quadratique 50 / 70 Le choix du pas de descente. On fixe un paramètre ρ > 0. A chaque itération k, on prend ρk = ρ. L’algorithme du gradient à pas fixe. 1 On choisit u0 ∈ Rn , une tolérance ε > 0, et un pas ρ > 0. 2 Pour k ≥ 0, tant que kAuk − bk > ε, on prend dk = −∇J(uk ) = b − Auk , uk+1 = uk + ρk dk H. Zidani ρk = ρ, Cours AO101 - Optimisation quadratique 51 / 70 Théorème Soit A une matrice symétrique définie-positive. Si le pas ρ satisfait: 0<ρ< 2 λmax (A) , alors la méthode du gradient à pas fixe est convergente. Proposition 5.3.2, page 64 du poly. H. Zidani Cours AO101 - Optimisation quadratique 52 / 70 Méthode du gradient à pas optimal. Le choix de la direction de descente: dk = −∇J(xk ). Le choix du pas de descente. On choisit la valeur de ρk qui minimise la fonction: f : ρ 7−→ J(uk + ρdk ). −(∇J(uk ), dk ) kdk k22 ρk = = . (Adk , dk ) (Adk , dk ) H. Zidani Cours AO101 - Optimisation quadratique 53 / 70 L’algorithme du gradient à pas optimal. 1 On choisit u0 ∈ Rn , et une tolérance ε > 0. 2 Pour k ≥ 0, tant que kAuk − bk > ε, on prend dk = −∇J(uk ), kdk k22 ρk = , (Adk , dk ) uk+1 = uk + ρk dk Théorème Soit A une matrice symétrique définie positive. La méthode GPO est convergente. Proposition 5.3.3, page 66 du poly. H. Zidani Cours AO101 - Optimisation quadratique 54 / 70 Méthode du gradient conjugué. uk+1 = uk + ρk dk . On note dans toute la suite, gk = ∇J(uk ) = Auk − b. Le choix de la direction de descente. L’idée est d’utiliser tous les vecteurs gl pour 0 ≤ l ≤ k . On cherche alors uk+1 tel que: J(uk+1 ) = min v ∈uk +Gk J(v ), avec Gk = Vect(g0 , g1 , . . . , gk ). å gk+1 est orthogonale à Gk , i.e. (gk+1 , gl ) = 0, ∀0 ≤ l ≤ k. å La méthode du GC converge en au plus n étape ! å (dl ) sont conjugués par rapport à A: (Adk , dl ) = 0 ∀k 6= l. k X å dk+1 est donc de la forme : dk+1 = −gk+1 + βk,l dl . l=0 βk,l = 0 ∀l ≤ k − 1; kgk+1 k22 å (Adk+1 , dl ) = 0 ∀l ≤ k =⇒ . βk,k = kgk k22 H. Zidani kgk+1 k22 avec βk = . kgk k22 Cours AO101 - Optimisation quadratique dk+1 = −gk+1 + βk dk , 55 / 70 Le choix du pas de descente. On prend le pas optimal: −(∇J(uk ), dk ) −(gk , dk ) kgk k2 ρk = = = . (Adk , dk ) (Adk , dk ) (Adk , dk ) L’algorithme du gradient conjugué. 1 On choisit u0 ∈ Rn et une tolérance ε > 0. On pose: g0 = ∇J(u0 ) = Au0 − b, 2 d0 = −g0 . Pour k ≥ 0, tant que kAuk − bk > ε, on prend kgk k2 ρk = ; uk+1 = uk + ρk dk ; (Adk , dk ) gk+1 = ∇J(uk+1 ) = Auk+1 − b; kgk+1 k22 βk = ; dk+1 = −gk+1 + βk dk . kgk k22 H. Zidani Cours AO101 - Optimisation quadratique 56 / 70 Théorème Soit A une matrice symétrique définie-positive. La méthode du GC converge en au plus n itérations. Remarques: 0 Même si le principe du départ est de chercher une direction de descente dk+1 dans l’espace Gk+1 . Il s’avére que seuls les directions gk et dk sont utilsés dans l’algorithme. 0 La convergence théorique est assurée en au plus n itérations. Numériquement ce n’est pas toujours vrai .... (voir pc3) H. Zidani Cours AO101 - Optimisation quadratique 57 / 70 B. Méthodes itératives Le minimum u est solution du système linéaire : ∇J(u) = Au − b = 0. On peut le calculer en utilisant une méthode itérative dont le principe est : 1 On décompose la matrice A sous la forme: A = M − N 2 Partant de u0 ∈ Rn , on construit (uk )k par: Muk+1 = Nuk + b, i.e uk+1 = M −1 Nuk + M −1 b. (5) Ces méthodes ne sont interréssantes que si le choix de M rend (5) particulièrement facile à résoudre. H. Zidani Cours AO101 - Optimisation quadratique 58 / 70 uk − u = (M −1 N)k (u0 − u), pour tout k ≥ 0. La convergence de la méthode est alors assurée si et seulement si la suite de matrices (M −1 N)k converge vers la matrice nulle. Definition Soit B une matrice n × n. On appelle rayon spectral de B, et on note ρ(B), le maximum des modules des valeurs propres de B. Lemme Soit B ∈ Rn×n . Alors B k → 0 ⇐⇒ ρ(B) < 1. (Voir Annexe B, Proposition B.0.5, page 105). H. Zidani Cours AO101 - Optimisation quadratique 59 / 70 Quelques propriétés du rayon spectral Proposition Soit B ∈ Rn×n . (i) Pour toute norme induite k · k, on a: ρ(B) ≤ kBk. (ii) Si B est symétrique, alors ρ(B) = kBk2 . Et si de plus, B est positive, alors ρ(B) = λmax (B). (Voir Annexe B pour la preuve). Lemme Soit A est une matrice symétrique définie positive. Si M T + N est définie positive alors ρ(M −1 N) < 1. Lemme 5.4.2, page 73. H. Zidani Cours AO101 - Optimisation quadratique 60 / 70 Exemples classiques de méthodes itératives On note : D = diag(A), Méthode de Jacobi. M = D; E = −trianginf (A), F = −triangsup (A). On choisit N = E + F; J := M −1 N = D −1 (E + F ). L’algorithme s’écrit alors: On choisit u0 ∈ Rn , une tolérance ε > 0, Pour k ≥ 0, tant que kAuk − bk > ε, on calcule uk+1 = J uk + D −1 b. H. Zidani Cours AO101 - Optimisation quadratique 61 / 70 Méthode de Gauss-Seidel. On choisit M = (D − E ); N = F; G := M −1 N = (D − E )−1 F . L’algorithme s’écrit alors: On choisit u0 ∈ Rn , une tolérance ε > 0, Pour k ≥ 0, tant que kAuk − bk > ε, on calcule uk+1 = Guk + (D − E )−1 b. H. Zidani Cours AO101 - Optimisation quadratique 62 / 70 Théorème (i) Si A est symétrique et définie-positive, alors GS converge. (ii) Si A est à diagonale strictement dominante, alors Gauss-Seidel et Jacobi convergent. (iii) Si A est tridiagonale, alors ρ(G) = ρ(J )2 . H. Zidani Cours AO101 - Optimisation quadratique 63 / 70 C. Critères de choix entre différents algorithmes de minimisation 8 Le coût de chaque itération. Par exemple: # Op. GPF : Au k − b → 2n2 = O(n2 ) u k+1 → 2n + 2n2 = O(n2 ) # Op. GPO : dk → 2n2 ρk → [2n − 1] + [2n2 + 2n − 1] + 1 u k+1 → 4n2 + 6n − 1 = O(n2 ) H. Zidani Cours AO101 - Optimisation quadratique 64 / 70 8 Vitesse de convergence: Considérons une méthode de minimisation qui fournit une suite (uk )k . On appelle taux de convergence, la plus petite constante C > 0 telle que: kuk+1 − uk ≤ C kuk − uk. On définit aussi la vitesse de convergence par: R = − ln(C ). à La vitesse est d’autant plus grande que le taux de convergence est petit. à Il est clair que la méthode converge si C < 1. H. Zidani Cours AO101 - Optimisation quadratique 65 / 70 Proposition Soit M, N une décomposition de A avec M inversible et A = M − N. La méthode itérative associée à (M, N) a un taux de convergence C = ρ(M −1 N). Les vitesses de convergence des différentes méthodes de descente seront établies en pc. H. Zidani Cours AO101 - Optimisation quadratique 66 / 70 8 Nombres d’itérations. Ce critère est fortement lié au taux et à la vitesse de convergence. En effet, si on fixe une tolérance ε > 0 et si la méthode de minimisation est telle que: kuk − uk ≤ C k ku0 − uk, le # k d’itérations nécessaires pour avoir kuk − uk2 ≤ ε sera estimé par: C k ku0 − uk2 ≤ ε, H. Zidani k∼ ln(ε) . − ln (C ) Cours AO101 - Optimisation quadratique 67 / 70 8 Stabilité numérique: Conditionnement de A Observons le système linéaire suivant : Ax = b avec 32 10 7 8 7 23 7 5 6 5 . A= b = 33 8 6 10 9 31 7 5 9 10 La solution de ce système est : x = (1, 1, 1, 1)t . On perturbe légérement le vecteur b: 32, 1 22, 9 b + δb = 33, 1 , 30, 9 la solution alors du système Ax = b + δb est x̃ = (9.2, −12.6, 4.5, −1.1)t . Ainsi une perturbation de l’ordre de 1/200 sur b produit une variation de 10/1 sur la solution !. H. Zidani Cours AO101 - Optimisation quadratique 68 / 70 Definition Soit A une matrice inversible. On appelle conditionnement de A la quantité cond(A) = kAkkA−1 k. Théorème Soient A une matrice inversible, et b, δb ∈ Rn . On considère les systèmes: Au = b, On a: H. Zidani A(u + δu) = b + δb. kδbk kδuk ≤ cond(A) . kuk kbk Cours AO101 - Optimisation quadratique 69 / 70 N Le conditionnement cond(A) dépend de la norme choisie. N Pour toute matrice inversible A, cond(A) ≥ 1. N Soit A symétrique définie positive, alors: λmax . κ(A) := cond2 = kAk2 kA k2 = λmin −1 H. Zidani Cours AO101 - Optimisation quadratique 70 / 70