• Aucun résultat trouvé

Optimisation TP 2 L3 EURIA

N/A
N/A
Protected

Academic year: 2022

Partager "Optimisation TP 2 L3 EURIA"

Copied!
2
0
0

Texte intégral

(1)

Optimisation TP 2 L3 EURIA

22 novembre 2016

Exercice 1

L'objectif de ce TP est de tester diérents algorithmes de descente sur la fonction f(u, v) = 1− 1

1 +au2+v2

avec a > 0 un paramètre qu'on fera varier. On pourra prendre la valeur a = 0.5 par défaut.

Le principe général des algorithmes de descente pour minimiser une fonctionf est le suivant. A partir d'une valeur initialex1 (on pourra prendre la valeur par défautx1 = (2.5,2.5)), l'itération k∈ {1,2, ...}de l'algorithme consiste à

1. choisir une direction de descentedk

2. choisir un pas αk

3. calculerxk+1=xkkdk .

Lorsqueαk=α est une constante on parle d'algorithme à pas xe. Lorsqueαk est choisie de telle manière à minimiser la fonction à une variableα7→f(xk+αdk) on parle d'algorithme à pas optimal. On arrêtera l'algorithme lorsquekf0(xk)k< tol avec tolune tolérance choisie (on pourra prendre tol= 10−5 par défaut) et f0 le gradient de f.

1. Tracer les lignes de niveau de la fonction f avec la fonction contour. On produira une gure similaire à la Figure 1 ci-dessous (sans la courbe qui représente la trajectoire de l'algorithme de la question 3). Pourquoi obtient-on des ellipses ? Que se passe-t-il pour a= 1? Est-ce que la fonction possède un minimum local ? Un minimum global ? Refaire la gure en remplaçant contour par image puis persp.

2. Ecrire une fonction qui calcule une valeur approchée du gradientf0(x) de f en un point x par diérence nie. Quel est le gradient def au point où f atteint son minimum ? 3. Vérier que l'algorithme de gradient vu dans le cours est un algorithme de descente à

pas xe et expliciter la direction de descente.

(a) Ecrire une fonction R qui implémente cet algorithme et représenter les diérentes itération sous la forme de la Figure 1.

(b) Faire varier la valeur de α. Est-ce que l'algorithme converge peu importe la valeur de α? Quelle valeur proposez-vous d'utiliser pour que l'algorithme converge rapidement ?

1

(2)

−3 −1 0 1 2 3

−3−10123

Figure 1 Lignes de niveau def et positions successives de xk pour l'algorithme de gradient à pas xe avec α= 1(courbe othogonale aux lignes de niveau qui part de x0 = (2.5,2.5)et qui se rapproche du minimum local (0,0)).

4. Implémenter un algorithme de gradient à pas optimal (la direction de descente est la même que dans l'algorithme précédent). On pourra utiliser un algorithme vu dans le TP précédent (nombre d'or par exemple) pour optimiser le pas.

(a) L'algorithme converge-t'il plus rapidement que celui de la question précédente ? On pourra comparer le nombre d'itérations mais aussi les temps de calcul avec la fonction system.time.

(b) Représenter la trajectoire de l'algorithme comme sur la gure 1 et vérier que dk est tangente à la ligne de niveau qui passe par xk+1.

5. L'algorithme de Newton à pas xe correspond au choix dk =−(f00(xk))−1f0(xk) avec f00 la matrice hessienne etα= 1.

(a) Ecrire une fonction qui calcule une valeur approchée de la matrice hessiennef00(x)de f en un pointx par diérence nie. Quel est la hessienne def au point oùf atteint son minimum ? Quelles sont les valeurs propres de cette matrice ? Interprétation ? (b) Implémenter l'algorithme de Newton à pas xe et tester la convergence en fonction de

la valeur initiale : l'algorithme converge-t-il pourx1= (2.5,2.5)etx1 = (0.1,0.1)? 6. L'algorithme de Newton à pas optimal utilise la même direction de descente que l'al-

gorithme de la question précédente. Implémenter cet algorithme et tester sa convergence en fonction de la valeur initiale.

7. Comparer numériquement la vitesse de convergence des diérents algorithmes vu dans les questions précédentes ainsi que ceux implémentés dans la fonction optim. Représenter les trajectoires des diérents algorithmes sur une même gure (cf Figure 1).

8. Tester vos algorithmes sur la fonction de Rosenbrock dénie par f(u, v) = (1−u)2+ 100(v−u2)2.

2

Références

Documents relatifs

2/ Mission 1 : Initialiser le robot de sorte qu’il soit placé dans le coin Sud-Ouest et orienté vers le Nord.. Faire avancer Nono de

- Syntaxe : ecrire (&#34; message&#34;); (ex: ecrire (&#34;bonjour&#34;);) - Pour afficher la valeur d'une variable avec cette même. fonction, on utilise en fait ‘ecrire’ de la

3.3 Donner les mises à jour des poids d’après l’algorithme de la descente de gradient pour l’apprentissage de l’algorithme de Preceptron..

Afin de rechercher plus efficacement un motif, on dispose d’une fonction de hachage H sur les mots.. Évaluer le nombre de comparaisons de

Alors la recherche linéaire de Wolfe (algorithme 2 c.f. poly) termine en un nombre fini d’itérations..

On reviendra sur les relations de similarité et de divisibilité entre les sous-résultants (elles sont déjà bien connues, voir les ouvrages précités ci-dessus) grâce à de

En déduire qu’un couplage de poids minimum sur les sommets de degré impair dans T est inférieur ou égal à la moitié du poids de C opt... Préambule : technique pour montrer

Il y a plusieurs possibilités : On va travailler la représentation en matrice d’adjacence mais on peut utiliser aussi une représentation en dictionnaire dont les clés sont les