Chp. 7. Algorithmes de gradient conjugué

Documents pareils
Chp. 4. Minimisation d une fonction d une variable

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Programmation linéaire

RO04/TI07 - Optimisation non-linéaire

Cours d Analyse. Fonctions de plusieurs variables

CCP PSI Mathématiques 1 : un corrigé

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Résolution d équations non linéaires

Calcul différentiel. Chapitre Différentiabilité

3 Approximation de solutions d équations

Continuité et dérivabilité d une fonction

LES MÉTHODES DE POINT INTÉRIEUR 1

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Fonctions de plusieurs variables

Approximations variationelles des EDP Notes du Cours de M2

Théorème du point fixe - Théorème de l inversion locale

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Plan du cours : électricité 1

Continuité d une fonction de plusieurs variables

Problème 1 : applications du plan affine

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Méthodes de Simulation

EXERCICE 4 (7 points ) (Commun à tous les candidats)

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Figure 3.1- Lancement du Gambit

Programmation Linéaire - Cours 1

Exercices Corrigés Premières notions sur les espaces vectoriels

Cours d analyse numérique SMI-S4

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Théorie et codage de l information

Limites finies en un point

Rappels sur les suites - Algorithme

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Chapitre 2 Le problème de l unicité des solutions

I. Polynômes de Tchebychev

Programmation linéaire et Optimisation. Didier Smets

Résolution de systèmes linéaires par des méthodes directes

Image d un intervalle par une fonction continue

I. Ensemble de définition d'une fonction

Équations non linéaires

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Calcul différentiel sur R n Première partie

aux différences est appelé équation aux différences d ordre n en forme normale.

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Licence à distance Chapitre V : Equations différentielles. Méthodes numériques à un pas.

Quantification Scalaire et Prédictive

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

ANALYSE NUMERIQUE ET OPTIMISATION. Une introduction à la modélisation mathématique et à la simulation numérique

Suites numériques 3. 1 Convergence et limite d une suite

Moments des variables aléatoires réelles

Algorithmes pour la planification de mouvements en robotique non-holonome

La fonction exponentielle

Raisonnement par récurrence Suites numériques

Différentiabilité ; Fonctions de plusieurs variables réelles

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Correction du baccalauréat ES/L Métropole 20 juin 2014

Optimisation Discrète

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

de calibration Master 2: Calibration de modèles: présentation et simulation d

Cours 02 : Problème général de la programmation linéaire

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

3. Conditionnement P (B)

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

La classification automatique de données quantitatives

4.2 Unités d enseignement du M1

Espérance conditionnelle

Correction du Baccalauréat S Amérique du Nord mai 2007

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Systèmes de transmission

CHAPITRE 5. Stratégies Mixtes

Chaînes de Markov au lycée

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

CHAPITRE I. Modélisation de processus et estimation des paramètres d un modèle

Chapitre 7 : Intégration sur un intervalle quelconque

Architecture des Systèmes d Information Architecture des Systèmes d Information

OPTIMISATION À UNE VARIABLE

L évaluation de la rentabilité d un investissement

Dérivées d ordres supérieurs. Application à l étude d extrema.

Amphi 3: Espaces complets - Applications linéaires continues

Monitoring continu et gestion optimale des performances énergétiques des bâtiments

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

n N = u N u N+1 1 u pour u 1. f ( uv 1) v N+1 v N v t

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Introduction à MATLAB R

Commun à tous les candidats

C f tracée ci- contre est la représentation graphique d une

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Projet de Traitement du Signal Segmentation d images SAR

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Correction de l examen de la première session

Optimisation, traitement d image et éclipse de Soleil

Transcription:

Chp. 7. Algorithmes de gradient conjugué 7.1 Première idée fondamentale Appliquons l algorithme de gradient à pas optimal à la minimisation d une forme quadratique elliptique : f = (1/2) x T Q x, où : Q est une 2 2 matrice symétrique définie positive : Fig. 7.1-1: GradOpt : f = (1/2) x T Q x. Deux directions de recherche consécutives : u k = x k+1 x k, et : u k 1 = x k x k 1 sont orthogonales : u T k u k 1 = 0, mais x k et u k 1 sont conjuguées : x T k Q u k 1 = 0. A l étape k, l algorithme effectue un pas t k 1 dans la direction u k 1 et actualise le point courant x k 1 en : x k = x k 1 + t k 1 u k 1, où t k 1 minimise : ϕ(t) = f(x k 1 + t u k 1 ), donc : ϕ (t k 1 ) = f(x k 1 + t k 1 u k 1 ) T u k 1 = f(x k ) T u k 1 = x T k Q u k 1 = 0 Ainsi, la direction x k qui aurait permis de trouver à l étape k + 1 l unique minimum x = 0 de f sur IR 2 est orthogonale à u k 1 pour le produit scalaire : < x, y > = x T Q y. Définition 15 On dit que deux vecteurs u et v de IR n sont conjugués par rapport à une forme bilinéaire de matrice symétrique définie positive Q si : u T Q v = 0

La première idée fondamentale de l algorithme du gradient conjugué consiste à choisir chaque direction de recherche de sorte qu elle soit conjuguée à la direction de recherche précédente par rapport à la Hessienne du critère. 7.2 Seconde idée fondamentale En dimension deux, il n existe qu une seule direction de recherche conjuguée à une direction donnée. En dimension n > 2, il en existe une infinité (un sous-espace de dimension n 1). Pour trouver, à l étape k, une direction u k conjuguée à u k 1, la seconde idée fondamentale de l algorithme du gradient conjugué consiste à chercher u k sous forme d une combinaison linéaire de u k 1 et de la direction de Cauchy au point courant : u k = f(x k ) + s k u k 1 en choisissant le coefficient réel s k de telle sorte que : u T k 1Q u k = s k u T k 1Q u k 1 u T k 1Q f(x k ) = 0 ce qui est toujours possible si u k 1 est non nul, puisque : Q > 0 implique alors : u T k 1 Q u k 1 > 0. Connaissant u k 1 non nul, on calcule x k puis s k et u k. Si x k n est pas un point critique de f, f(x k ) est, par définition du pas optimal, un vecteur non nul orthogonal à u k 1, et u k est nécessairement non nul, ce qui permet de calculer x k+1, puis s k+1 et u k+1, et ainsi de suite. Lorsque le critère est une fonction quadratique elliptique, on peut démontrer qu une telle stratégie conduit à définir une suite de directions de recherche deux à deux conjuguées, et que les gradients du critère aux points de la suite x k ainsi obtenue forment un système de vecteurs de IR n deux à deux orthogonaux au sens de la métrique usuelle. 7.3 L algorithme GradConj On montre en outre que le réel s k se calcule par la formule : s k = f(x k ) 2 f(x k 1 ) 2, d où la récurrence fondamentale définissant la suite des directions de recherche successives : u k = f(x k ) + f(x k) 2 f(x k 1 ) 2 u k 1 Le calcul du pas optimal : t k = f(x k) T u k dans la direction u k s obtient alors directe- u T k 2 f(x k ) u k ment par dérivation de : ϕ(t) = f(x k + t u k ) = f(x k ) + t f(x k ) T u k + t 2 l algorithme : 2 ut k 2 f(x k ) u k, d où gmi1.opti. G.L. cours 02/05 p. 37

GradConj(f, x 0, tolerance) (* Minimise une fonction quadratique elliptique f *) x x 0, u f(x 0 ) Tant que : u tolerance t f(x)t u u T 2 f(x) u s f(x) 2, x x + t u, s s 1 f(x) 2, u f(x) + s u Retourner x 7.4 Convergence de l algorithme GradConj Supposons que f est une fonction quadratique elliptique sur IR n, alors : Théorème 7.1 Pour toute initialisation x 0, l algorithme GradConj converge en au plus n itérations. Preuve : L orthogonalité deux à deux des gradients aux points calculés par l algorithme s obtient par une récurrence technique. On admettra ce résultat, qui est la clé de la démonstration. Si l algorithme n a pas trouvé l unique minimum de f sur IR n après n 1 itérations en effet, les gradients du critère au point initial x 0 et aux n 1 premiers points calculés par l algorithme forment une base orthogonale de IR n. Le gradient du critère au point x n calculé à la nème itération doit être orthogonal à tous les vecteurs de cette base : il est donc nul, et x n minimise f sur IR n. 7.5 Un problème test On cherche à résoudre le système d équations linéaires : A x = b, où : A est la matrice de Hilbert d ordre n, de terme général : A j i = 1 (i, j = 1... n) i + j 1 b = (1, 2,..., n) en minimisant la fonction quadratique elliptique : f = 1 2 A x b 2. L intérêt de ce test est que la matrice de Hilbert est toujours symétrique et définie positive, ce qui assure l ellipticité du critère et l unicité de la solution, mais très mal conditionnée dès les petites valeurs de n (cf. tab. 7.1). 0n peut sur ce test comparer les résultats obtenus, pour différentes valeurs de n, avec les algorithmes GradOpt et GradConj initialisés, par exemple, avec : x 0 = (0, 0,..., 0). Le pas optimal est calculé dans les deux cas au moyen de la procédure GoldenSearch. La valeur du paramètre tolerance passé à cette procédure est 10 8. Pour n = 3, l algorithme GradOpt est déja excessivement lent : il faut en effet plus de 30.000 itérations pour qu en arrondissant chacune des coordonnées du point finalement calculé à l entier le gmi1.opti. G.L. cours 02/05 p. 38

n 3 5 7 χ 274 636 2.27.10 11 2.26.10 17 χ 1 χ + 1 0.999993 1 10 11 1 10 17 Tab. 7.1: Conditionnement χ de la matrice Q = A 2, et valeur du taux théorique de convergence de l algorithme GradOpt en fonction de n plus proche, on obtienne la solution entière exacte (27, 192, 210) du système d équations linéaires à résoudre. L algorithme GradConj calcule les coordonnées de cette solution à 10 4 près en seulement trois itérations. Pour n = 5, l algorithme GradOpt ne retourne même plus, après 100.000 itérations, l ordre de grandeur des coordonnées de l unique solution entière : (125, 2880, 14.490, 24.640, 13.230). L algorithme GradConj calcule encore cependant une valeur approchée à 10 1 près de chacune des coordonnées de la solution en une dizaine d itérations. Dès que n 7, les erreurs d arrondi suffisent en pratique à rendre les deux algorithmes divergents. Pour n grand l algorithme GradConj se compare encore favorablement cependant avec une procédure directe d inversion de matrice. Pour n = 100, par exemple, le mauvais conditionnement de la matrice A et les erreurs d arrondi piègent même la procédure interne optimisée : Inverse[A].b de Mathematica TM, qui retourne une estimation erronée de la solution A 1 b, pour laquelle la valeur correspondante de la norme de A x b, supposée être nulle, est en fait supérieure à 10 4!. Si l on force le calcul en nombres entiers tous les coefficients de la matrice A sont rationnels et toutes les coordonnées de b entières le résultat est exact, mais le temps de calcul approche quatre minutes. L algorithme GradConj trouve, après cent itérations, un point x pour lequel la norme de A x b est de l ordre de 0.8, avec un temps de calcul de l ordre d une vingtaine de secondes. 7.6 L algorithme de Fletcher-Reeves L algorithme du gradient conjugué repose sur une analyse spécifique du problème de la minimisation d un critère quadratique elliptique. C est dans ce cadre seulement que l on peut prouver la convergence en un nombre fini d itérations. La formule de récurrence : u k = f(x k ) + f(x k) 2 f(x k 1 2 u k 1, qui sert de base à l algorithme n utilise cependant pas explicitement le caractère quadratique du critère. Rien n interdit donc d appliquer encore brutalement cette formule, combinée, à chaque étape, avec une procédure unidimensionnelle de calcul du pas optimal, pour minimiser un critère non quadratique. C est le principe de l algorithme de Fletcher-Reeves : gmi1.opti. G.L. cours 02/05 p. 39

FletcherReeves( f, x 0, tolerance) x x 0, g f(x 0 ) u g Tant que : u tolerance h g, s h 2 Calculer le pas optimal t dans la direction u x x + t u, g f(x) s s 1 g 2, u g + s u Retourner x Comme pour l algorithme GradOpt, le calcul du pas s effectue en pratique au moyen d une procédure comme GoldenSearch, ou QuadSearch. On peut raisonnablement espérer que l algorithme se comportera exactement comme dans le cas quadratique, et, en particulier, convergera en un petit nombre d itérations lorsque le critère est une fonction elliptique qui diffère peut, dans un voisinage de l optimum, de son approximation quadratique. En outre, l algorithme ainsi obtenu est robuste puisque, par définition du pas optimal : f(x k ) T u k = f(x k 2 + s k f(x k ) T u k 1 = f(x k 2 < 0 et donc les directions de recherche calculées par l algorithme sont toujours des directions de descente. 7.7 Un test numérique On a utilisé l algorithme de Fletcher-Reeves pour minimiser la fonction : f = x 4 + 4 y 4 + 4 x y, qui atteint son minimum sur IR 2 en deux points : x 1 = ( 4 8/2, 4 2/2),, et : x 2 = ( 4 8/2, 4 2/2) et possède un point selle en (0, 0). L allure générale des ensembles de niveau correspondants apparaît sur la figure 7.7-2. Les résultats obtenus pour différentes initialisations sont consignés dans la troisième colonne du tableau 7.2, page 42. Bien que théoriquement robuste, l algorithme de Fletcher-Reeves apparait numériquement sensible au défaut d ellipticité du critère. Il semble par exemple hésiter entre les deux minima locaux de f lorsque l initialisation (0.5, 0.5) est proche du point selle (figure 7.7-2), et l analyse de la suite des valeurs du critère aux points calculés par l algorithme montre alors que les directions de recherche successives utilisées ne sont pas toutes en fait des directions de descente. 7.8 Relance de l algorithme Le point calculé par l algorithme après 111 itérations à partir de l initialisation (0.5, 0.5) est, par exemple, proche du minimum local x 1 de f. En relançant l algorithme à partir de ce point, on imposera à nouveau la direction de Cauchy comme première direction de recherche, permettant d un coup de se rapprocher suffisamment de x 1 pour assurer une convergence de l algorithme en seulement quelques itérations. En laissant tourner l algorithme au contraire, on obtient encore, gmi1.opti. G.L. cours 02/05 p. 40

Fig. 7.7-2: FletcherReeves : minimisation de la fonction x 4 + y 4 + 4 x y, initialisation : (0.5, 0.5), itérations : 4, 16, 49, 111, et 599 gmi1.opti. G.L. cours 02/05 p. 41

après 599 itérations, le point : (1.261, 0.792), plus éloigné du plus proche minimum local x 2 f que ne l était de x 1 le point ( 0.744, 0.877) obtenu après 111 itérations. Il est ainsi souhaitable de relancer périodiquement l algorithme du gradient conjugué. Dans le test précédent, le meilleur résultat est obtenu empiriquement en relançant l algorithme toutes les deux itérations! de 7.9 Comparaison des algorithmes GradOpt et FletcherReeves Le tableau 7.2 permet de comparer les performances des algorithmes de gradient à pas optimal et de Fletcher-Reeves, avec ou sans relance périodique, pour différents choix de l initialisation. Dans les trois cas, la procédure de recherche linéaire utilisée est la procédure GoldenSearch. La valeur du paramètre tolerance passé à cette procédure est fixée à : 10 8. GradOpt Fletcher-Reeves Initialisation ( ) ( ) (0.1, 0.1) 14 x 2 divergence 6 x 2 (0.5, 0.5) 8 x 2 divergence 6 x 2 (1, 1) 4 x 2 6 x 2 5 x 2 (1, 1) 9 x 2 7 x 2 5 x 2 (10, 10) 10 x 1 9 x 1 7 x 1 (10, 10) 12 x 1 9 x 1 8 x 1 (100, 100) 12 x 1 10 x 2 9 x 2 (100, 100) 18 x 1 10 x 2 10 x 2 (1000, 1000) 16 x 1 13 x 1 11 x 1 (1000, 1000) 16 x 1 11 x 1 12 x 1 Tab. 7.2: Minimisation de : f = x 4 + 4 y 4 + 4 x y. Comparaison des algorithmes GradOpt et Fletcher Reeves (( ) sans relance, ( ) avec relance toutes les deux itérations) Il donne le nombre d itérations nécessaires pour obtenir une approximation à 10 4 près de chacune des coordonnées de l un ou l autre des deux minima de f sur IR 2, ainsi que celui, x 1 = ( 4 8/2, 4 2/2) ou : x 2 = ( 4 8/2, 4 2/2), vers lequel l algorithme converge : On constate que la version avec relance toutes les deux itérations cumule la robustesse de l algorithme du gradient à pas optimal et le gain en rapidité du à une meilleure prise en compte de la géomètrie des ensembles de niveau apportée par l algorithme de Fletcher-Reeves. gmi1.opti. G.L. cours 02/05 p. 42

7.10 La variante Polak-Ribière Cette variante de l algorithme de Fletcher-Reeves fut proposée en 1969 par E. Polak et G. Ribière. Elle reprend le principe de l algorithme de Fletcher-Reeves en remplaçant simplement la formule de récurrence fondamentale définissant les directions de recherche successives par : u k = f(x k ) + ( f(x k) f(x k 1 )) T f(x k ) f(x k 1 2 Dans le cas d un critère quadratique, f(x k 1 ) et f(x k ) sont orthogonaux, et on retrouve la formule utilisée par l algorithme de Fletcher-Reeves. Dans le cas général, les deux formules différent, et la version Polak-Ribière est réputée plus performante dans certaines applications. PolakRibiere( f, x 0, tolerance) x x 0, g f(x 0 ) u g Tant que : u tolerance h g, s h 2 Calculer le pas optimal t u k 1 dans la direction u x x + t u, g f(x) s s 1 (g h) T g, u g + s u Retourner x gmi1.opti. G.L. cours 02/05 p. 43