---
title: Gradient Projection Method (GPM)
url: https://www.emergentmind.com/topics/gradient-projection-method-gpm
type: topic
---

# Gradient Projection Method (GPM)

La méthode du gradient projeté (GPM) est un algorithme de point fixe visant à résoudre des problèmes d’optimisation de la forme
\[
\min_{x \in C} f(x)
\]
où \( f \) est une fonction différentiable (typiquement convexe) sur \( \mathbb{R}^n \), et \( C \) un sous-ensemble convexe fermé de \( \mathbb{R}^n \). La GPM est un cas particulier du schéma plus général de la méthode du gradient proximé (méthode de Forward–Backward Splitting) – qui elle-même repose sur la minimisation d’une somme de deux fonctions convexes, dont l’une est lisse. La GPM trouve des applications dans de nombreux domaines : mécanique, traitement du signal, problèmes inverses, apprentissage automatique, reconstruction d'images, équations variationnelles, statistique, recherche opérationnelle, transport optimal, analyse parcimonieuse, etc. Elle englobe de façon unifiée diverses méthodes numériques d’optimisation, telles que la descente du gradient, le gradient projeté, le seuillage itératif, les projections alternées, la méthode de Landweber contrainte, ainsi que de nombreux algorithmes de la statistique moderne.

## 1. Fondements et formulation générale

Considérant un problème de minimisation structuré :
\[
\min_{x \in \mathbb{R}^n} F(x) = f(x) + g(x)
\]
où \( f: \mathbb{R}^n \rightarrow \mathbb{R} \) est différentiable à gradient Lipschitzien, \( g: \mathbb{R}^n \to (-\infty, +\infty] \) est propre, fermée et convexe. L’itération typique de la méthode du gradient proximé est :
\[
x_{k+1} = \text{prox}_{t_k g}(x_k - t_k \nabla f(x_k))
\]
où \( \text{prox}_{t g} \) désigne le proximal : 
\[
\text{prox}_{t g}(y) := \arg\min_{u \in \mathbb{R}^n} \left\{ g(u) + \frac{1}{2t}\|u - y\|^2 \right\}
\]
Lorsque \( g \) est l’indicatrice du convexe \( C \), soit \( g(x) = \delta_C(x) \), on obtient alors :
\[
x_{k+1} = P_C( x_k - t_k \nabla f(x_k) )
\]
c'est la classique méthode du gradient projeté.

## 2. Algorithme du gradient projeté

L’algorithme s’écrit :
- Initialiser \( x_0 \in C \), choisir une suite de pas \( \{t_k\} \subset (0, +\infty) \), epsilon de tolérance.
- Pour \( k = 0,1,2,\dots \) :
  1. Calculer \( y_k = x_k - t_k \nabla f(x_k) \)
  2. Projeter sur \( C \) : \( x_{k+1} = P_C(y_k) \)
  3. Arrêter si \( \|x_{k+1} - x_k\| \leq \varepsilon \) ou si \( \|\nabla f(x_{k+1}) + s_{k+1}\| \leq \varepsilon \) pour un certain \( s_{k+1} \in N_C(x_{k+1}) \)
- Sortie : une approximation de la solution optimale dans \( C \).

La projection \( P_C \) correspond, pour tout \( y \in \mathbb{R}^n \), à
\[
P_C(y) = \arg\min_{u \in C} \|u - y\|
\]

## 3. Analyse de convergence et choix du pas

Sous les hypothèses suivantes :
- \( f \) est convexe et différentiable, et \( \nabla f \) est \( L \)-Lipschitz
- \( C \) convexe fermé non vide

Le lemme de descente donne, pour tout \( x, y \),
\[
f(y) \leq f(x) + \langle \nabla f(x), y-x \rangle + \frac{L}{2} \| y - x \|^2
\]
Si \( t_k \leq 1/L \), alors la suite \( \{x_k\} \) générée par GPM vérifie
\[
f(x_k) - f^* \leq \frac{\|x_0 - x^*\|^2}{2 t k}
\]
Tout point limite est stationnaire, et si \( f \) est strictement convexe, la convergence est vers l’unique minimiseur.

La sélection du pas \( t \) : 
- If \( L \) est connu, alors le choix optimal est \( t = 1/L \)
- Sinon, on peut utiliser une recherche linéaire du type Armijo, où l’on prend \( t>0 \) puis on réduit par un facteur \( \beta \in (0,1) \) jusqu’à satisfaction de
\[
f(P_C(x_k - t \nabla f(x_k))) \leq f(x_k) + \langle \nabla f(x_k), P_C(x_k - t \nabla f(x_k)) - x_k \rangle + \frac{1}{2t} \| P_C(x_k - t \nabla f(x_k)) - x_k \|^2
\]

## 4. Conditions d’arrêt et aspects pratiques

Critères d’arrêt classiques :
- Petit écart entre deux itérés \( \|x_{k+1} - x_k\| \)
- Norme du gradient projeté petite \( \| \nabla f(x_{k+1}) + s_{k+1} \| \) avec \( s_{k+1} \in N_C(x_{k+1}) \)
- Faible diminution relative de l’objectif

Les projections sur des ensembles simples (boîte, boule, simplexe, hyperplans) admettent souvent une forme close ; pour des ensembles polyédriques, des méthodes actives ou des routines spécialisées peuvent être employées.

## 5. Exemples et applications

### Exemple canonique : moindres carrés non négatifs
\[
\min_x \frac{1}{2}\|Ax - b\|^2 \quad \text{s.c.} \quad x \geq 0
\]
Ici \( C = \{x | x_i \geq 0\} \), \( \nabla f(x) = A^T(Ax - b) \), \( L = \|A^TA\| \).
Itération GPM :
\[
x_{k+1} = \max\bigl\{0, x_k - (1/L)A^T(Ax_k - b) \bigr\}
\]
La convergence est \( O(1/k) \) pour ce problème.

L’utilisation dans des contextes variés découle de la capacité du schéma à traiter explicitement la contrainte via la projection. La GPM intervient alors en traitement d’images, apprentissage machine (régularisation, contraintes de rareté ou de regroupement), problèmes physiques contraints, transport optimal, statistiques (Lasso, OSCAR…), etc.

## 6. Liens avec la méthode du gradient proximé

La GPM apparaît comme un cas particulier de la méthode du gradient proximé pour \( g = \delta_C \). La méthode du gradient proximé s’applique à des situations où \( g \) n’est pas seulement l'indicatrice d'un convexe, mais éventuellement une fonction simple, qui rend la prox-operator explorable efficacement (par ex. euclidienne, \(\ell^1\), ou groupe d’appartenance). De fait, un large éventail d’algorithmes modernes (seuillage itératif, projections alternées, Landweber contraint, etc.) relèvent formellement du même paradigme.

## 7. Remarques supplémentaires et extensions

- La convergence est du type sublinéaire \( O(1/k) \), et elle s’accélère si \( f \) est fortement convexe.
- Les variantes à projection inexacte accélèrent les itérations lorsqu’une projection exacte serait trop coûteuse.
- La GPM se généralise au cadre hilbertien, aux variétés riemanniennes (via projection intrinsèque, cf. applications à l’espace hyperbolique), ou encore à des contextes non convexe sous certaines hypothèses sur l’objectif.
- Les extensions incluent la combinaison avec des techniques de majoration-minimisation, la prise en compte d'erreur inexacte dans la projection, et l'intégration au sein d'algorithmes à deux phases, méthodes actives ou alternées.

En résumé, la méthode du gradient projeté offre un cadre théorique et algorithmique robuste et adaptable pour l’optimisation sous contraintes, central parmi les schémas de type gradient proximé et largement utilisé dans la résolution de problèmes concrets multidisciplinaires [2503.14479].

Source: https://www.emergentmind.com/topics/gradient-projection-method-gpm