Leçon 1.1 : Fondements des méthodes de descente
Objectif
Comprendre comment fonctionnent les algorithmes de descente pour minimiser une fonction sans contraintes.
1. Structure générale d’un algorithme de descente
1.1.1 Principe itératif
Idée générale
On veut résoudre un problème de la forme :
min f(x), avec x appartenant à R^n
On ne connaît pas directement la solution. On va donc l’approcher progressivement.
Principe
On construit une suite : x0, x1, x2, ...
avec la règle :
x(k+1) = x(k) + alpha(k) * d(k)
- x(k) : point courant
- d(k) : direction de descente
- alpha(k) : pas
Intuition
À chaque étape, on choisit une direction, on avance, et on cherche à diminuer la fonction.
Exemple corrigé
Soit f(x) = x^2, avec x0 = 2
f'(x) = 2x
d0 = -2(2) = -4
x1 = 2 + 0.1 * (-4) = 1.6
f(2) = 4 et f(1.6) = 2.56
La fonction diminue.
1.1.2 Choix de la direction de descente
Définition
Une direction d(k) est de descente si :
gradient f(x(k))^T * d(k) < 0
Direction classique
d(k) = - gradient f(x(k))
Interprétation
Le gradient indique la direction de plus forte augmentation. Donc son opposé donne la plus forte descente.
Exemple corrigé
f(x,y) = x^2 + y^2
gradient f = (2x, 2y)
Au point (1,1) : gradient = (2,2)
Direction : d = (-2,-2)
Produit : 2*(-2) + 2*(-2) = -8 < 0
C’est une direction de descente.
1.1.3 Détermination du pas
Problème
Quelle distance parcourir dans la direction choisie ?
Solution
Choisir alpha(k) > 0
Recherche linéaire
On minimise :
phi(alpha) = f(x(k) + alpha * d(k))
Exemple corrigé
f(x) = x^2, x0 = 2, d = -4
phi(alpha) = (2 - 4alpha)^2
phi'(alpha) = -8(2 - 4alpha)
phi'(alpha) = 0 donne alpha = 0.5
x1 = 2 - 4 * 0.5 = 0
Minimum atteint en une seule itération.
1.1.4 Critères d’arrêt
Pourquoi arrêter ?
On ne peut pas itérer indéfiniment.
Critères
- ||gradient f(x(k))|| < epsilon
- ||x(k+1) - x(k)|| < epsilon
- Nombre maximal d’itérations atteint
Exemple
Si ||gradient|| = 0.0001 et epsilon = 0.001, alors on arrête.
1.1.5 Conditions d’optimalité du premier ordre
Résultat
Si x* est un minimum local :
gradient f(x*) = 0
Attention
Ce n’est pas toujours un minimum : cela peut être un maximum ou un point selle.
Exemple
f(x) = x^3
f'(x) = 3x^2
f'(0) = 0 mais ce n’est pas un minimum.
2. Conditions de Wolfe pour la recherche linéaire
1.2.1 Condition d’Armijo
f(x(k) + alpha * d(k)) ≤ f(x(k)) + beta1 * alpha * gradient f(x(k))^T * d(k)
avec 0 < beta1 < 1
On impose une diminution suffisante.
1.2.2 Condition de Wolfe
gradient f(x(k) + alpha * d(k))^T * d(k) ≥ beta2 * gradient f(x(k))^T * d(k)
avec beta1 < beta2 < 1
On évite un pas trop petit.
1.2.3 Algorithme de recherche linéaire
- Choisir alpha
- Tester Armijo
- Tester Wolfe
- Ajuster alpha
1.2.4 Choix des paramètres
beta1 = 0.0001 et beta2 = 0.9
Exercices corrigés
Exercice 1
f(x) = x^2 + 4x
- f'(x) = 2x + 4
- d = -(2x + 4)
- x1 = 1 - 0.1 * 6 = 0.4
- f(1) = 5 et f(0.4) = 1.76
- Minimum : x = -2
Exercice 2
f(x,y) = x^2 + y^2
- gradient = (2x,2y)
- au point (2,1) : (4,2)
- produit = -20 < 0
- (2,1) + 0.5(-4,-2) = (0,0)
- norme = racine(20)
Exercice 3
f(x) = x^3
- f'(x) = 3x^2
- x = 0
- point selle
- d = -3
- x1 = 0.7
Exercices d’entraînement
Exercice A
- f(x) = x^2 - 6x
- Calculer le gradient
- Donner la direction
- Faire une itération
- Trouver le minimum
- Vérifier l’arrêt
Exercice B
- f(x,y) = x^2 + 3y^2
- Calculer le gradient
- Direction en (1,2)
- Vérifier descente
- Faire une itération
- Norme du gradient
Conclusion
Cette leçon introduit les bases des méthodes de descente :
- structure d’un algorithme
- rôle du gradient
- choix du pas
- conditions d’arrêt
- conditions de Wolfe

Enregistrer un commentaire
0 Commentaires