Séance de TD 2
Transcription
Séance de TD 2
2ème année ENSEM ANA-2 Séance de TD 2 Optimisation sans contrainte : Newton EXERCICE N. 1 Méthode de Newton en dimension un On s’intéresse à la fonction sinus cardinal (sinc) R+∗ → R sin(x) f :x→ x (1) 1. Tracer la fonction f pour des valeurs de x positives allant jusqu’à 100. 2. Nous allons commencer à chercher le plus petit zéro, noté x̃, de f grâce à une méthode de Newton. Faites une nouvelle figure de f , entre 0 et 7, pour un pas h. Donner une estimation visuelle de x̃ que nous noterons dorénavant x(0) . Cette valeur servira à initialiser la méthode de Newton. 3. Programmer la méthode de Newton pour une fonction générale et faire une recherche du point x̃. Etudier en détails la méthode de Newton, notamment sa sensibilité à l’initialisation. Mettez en évidence l’ordre de convergence quadratique de la méthode d’un point de vue numérique. Qu’est ce que cela signifie du point de vue des chiffres significatifs gagnés sur le calcul du zéro ? Qu’obtenez-vous avec la fonction matlab fzero ? 4. Programmer deux nouvelles méthodes de Newton où la dérivée n’est plus donnée de manière exacte cette fois mais est approchée par les formules f 0 (x) ≈ f (x + h) − f (x) h (2) et f (x + h) − f (x − h) . (3) 2h Etudiez en détails ces deux méthodes en comparant notamment leur comportement à celui de la méthode de Newton avec dérivée exacte. f 0 (x) ≈ 5. On cherche maintenant le minimum global positif de f . Adaptez les éléments numériques précédents sans avoir recours à l’évaluation de f 0 et f 00 (approche purement numérique). Que remarquez-vous, notamment au niveau de la qualité de l’approximation ? Que vous aurait donné la fonction matlab fzero ? Regardez également ce que donne la fonction fminsearch. 1 EXERCICE N. 2 Méthode de Newton en dimension supérieure 1. On s’intéresse maintenant à la méthode de Newton en dimension n. Programmer une fonction matlab qui permette, étant donnés une fonctionnelle J, son gradient DJ et son hessien D2 J, de renvoyer la solution obtenue ainsi que le nombre d’itérations pour arriver à cette solution par Newton. 2. Tester cette fonction sur la fonctionnelle : J1 définie par 1 J1 (x1 , x2 ) = (x21 + x22 + x1 x2 ) − x1 − x2 . 2 (4) Faites une étude théorique et graphique préalable pour bien comprendre ce que vous devez obtenir. 3. Utiliser l’algorithme de Newton pour faire une étude de recherche de minimum. Etudier notamment les problèmes de convergence de la méthode par rapport l̀a donnée initiale x(0) ainsi que le comportement de l’erreur en norme euclidienne. 4. Coder une version alternative de l’algorithme de Newton où la matrice hessienne est recalculée non pas à chaque itération mais toutes les tl itérations. 5. Reprenez la fonctionnelle quadratique en dimension n du TD1 et faites une étude de la méthode de Newton (erreur, sensibilité à l’initialisation,...). 6. Considérer maintenant la fonctionnelle JBump définie par 2 −(x JBump (x1 , x2 ) = −e−(x1 −1) Faites une étude complète avec l’algorithme de Newton. 2 2 2 −1) . (5)