Gradient projeté

En optimisation mathématique, le gradient projeté est un vecteur dont la nullité exprime l'optimalité au premier ordre d'un problème d'optimisation avec contraintes convexes. Il est aussi utilisé dans la description et l'analyse de l'algorithme du gradient projeté.

De manière plus précise, le gradient projeté est la projection orthogonale du gradient en un point x {\displaystyle x} de la fonction que l'on cherche à minimiser, projection sur l'opposé du cône tangent au point x {\displaystyle x} à l'ensemble admissible du problème, supposé convexe.

Définition

Considérons le problème d'optimisation générique

( P X ) inf x X f ( x ) , {\displaystyle (P_{X})\qquad \inf _{x\in X}\;f(x),}

dans lequel on cherche à minimiser une fonction différentiable f : E R {\displaystyle f:\mathbb {E} \to \mathbb {R} } sur une partie convexe X {\displaystyle X} d'un espace euclidien E {\displaystyle \mathbb {E} } , dont le produit scalaire est noté , {\displaystyle \langle \cdot ,\cdot \rangle } . Soit x {\displaystyle x} un point de X {\displaystyle X} . On note

  • f ( x ) E {\displaystyle \nabla f(x)\in \mathbb {E} } le gradient de f {\displaystyle f} en x {\displaystyle x} ,
  • T x X {\displaystyle T_{x}X} le cône tangent à X {\displaystyle X} en x {\displaystyle x} ,
  • P C {\displaystyle P_{C}} le projecteur orthogonal sur un convexe fermé non vide C {\displaystyle C} de E {\displaystyle \mathbb {E} } .

Alors le gradient projeté en x {\displaystyle x} est le vecteur g P ( x ) E {\displaystyle g^{\rm {\scriptscriptstyle P}}(x)\in \mathbb {E} } défini par[1]

g P ( x ) = P T x X f ( x ) = P T x X ( f ( x ) ) . {\displaystyle g^{\rm {\scriptscriptstyle P}}(x)=P_{-T_{x}X}\nabla f(x)=-P_{T_{x}X}(-\nabla f(x)).}

D'après la première expression, il s'agit de la projection orthogonale du gradient f ( x ) {\displaystyle \nabla f(x)} sur T x X {\displaystyle -T_{x}X} , qui est l'opposé du cône tangent à X {\displaystyle X} en x {\displaystyle x} (c'est un cône convexe fermé lorsque X {\displaystyle X} est convexe comme ici). D'après la seconde expression, on peut aussi dire que l'opposé du gradient projeté, g P ( x ) {\displaystyle -g^{\rm {\scriptscriptstyle P}}(x)} , est la projection orthogonale de l'opposé du gradient, f ( x ) {\displaystyle -\nabla f(x)} , sur le cône tangent T x X {\displaystyle T_{x}X} .

Propriétés

Expression de l'optimalité

Le gradient projeté peut être utilisé pour exprimer l'optimalité du problème ( P X ) {\displaystyle (P_{X})} au premier ordre. On sait en effet que, si x ¯ X {\displaystyle {\bar {x}}\in X} est solution du problème ( P X ) {\displaystyle (P_{X})} et si f {\displaystyle f} est différentiable en x ¯ {\displaystyle {\bar {x}}} , alors f ( x ¯ ) {\displaystyle \nabla f({\bar {x}})} est dans le cône dual du cône tangent à X {\displaystyle X} en x ¯ {\displaystyle {\bar {x}}} , ce qui veut dire que f ( x ¯ ) , d 0 {\displaystyle \langle \nabla f({\bar {x}}),d\rangle \geqslant 0} , pour toute direction tangente d T x ¯ X {\displaystyle d\in T_{\bar {x}}X} . Cela s'écrit de manière compacte comme suit

f ( x ¯ ) ( T x ¯ X ) + . {\displaystyle \nabla f({\bar {x}})\in (T_{\bar {x}}X)^{+}.}

On montre facilement que cette condition d'optimalité du premier ordre géométrique est équivalente à la nullité du gradient projeté :

f ( x ¯ ) ( T x ¯ X ) + g P ( x ¯ ) = 0. {\displaystyle \nabla f({\bar {x}})\in (T_{\bar {x}}X)^{+}\qquad \Longleftrightarrow \qquad g^{\rm {\scriptscriptstyle P}}({\bar {x}})=0.}

Descente

S'il est non nul, l'opposé du gradient projeté est une direction de descente de f {\displaystyle f} en x {\displaystyle x} , car on a

f ( x ) , g P ( x ) g P ( x ) 2 . {\displaystyle \langle \nabla f(x),-g^{\rm {\scriptscriptstyle P}}(x)\rangle \leqslant -\|g^{\rm {\scriptscriptstyle P}}(x)\|^{2}.}

Projection du chemin de plus forte pente

Dans l'algorithme du gradient projeté, on examine depuis un itéré x {\displaystyle x} , l'allure de la fonction f {\displaystyle f} à minimiser le long du chemin obtenu en projetant sur X {\displaystyle X} le chemin α R + x α g {\displaystyle \alpha \in \mathbb {R} _{+}\mapsto x-\alpha g} , où g = f ( x ) {\displaystyle g=\nabla f(x)} . Cette projection se confond avec le chemin α R + x α g P {\displaystyle \alpha \in \mathbb {R} _{+}\mapsto x-\alpha g^{\rm {\scriptscriptstyle P}}} , où g P g P ( x ) {\displaystyle g^{\rm {\scriptscriptstyle P}}\equiv g^{\rm {\scriptscriptstyle P}}(x)} , tant que x α g P {\displaystyle x-\alpha g^{\rm {\scriptscriptstyle P}}} reste dans X {\displaystyle X} . C'est ce qu'affirme le résultat suivant.

Projection du chemin de plus forte pente — Quel que soit α 0 {\displaystyle \alpha \geqslant 0} , on a

P X ( x α g ) = x α g P x α g P X . {\displaystyle P_{X}(x-\alpha g)=x-\alpha g^{\rm {\scriptscriptstyle P}}\qquad \Longleftrightarrow \qquad x-\alpha g^{\rm {\scriptscriptstyle P}}\in X.}

De plus, lorsque X {\displaystyle X} est polyédrique, ces propriétés ont lieu pour tout α > 0 {\displaystyle \alpha >0} petit.

Exemple

Le concept de gradient projeté s'utilise surtout lorsque la projection sur l'opposé du cône tangent est une opération aisée. C'est le cas si X {\displaystyle X} est le pavé

[ l , u ] := { x R n : l x u } , {\displaystyle [l,u]:=\{x\in \mathbb {R} ^{n}:l\leqslant x\leqslant u\},}

où les bornes l R ¯ n {\displaystyle l\in {\bar {\mathbb {R} }}^{n}} et u R ¯ n {\displaystyle u\in {\bar {\mathbb {R} }}^{n}} peuvent prendre des valeurs infinies et vérifient l < u {\displaystyle l<u} .

Soit x [ l , u ] {\displaystyle x\in [l,u]} . Alors, le cône tangent à [ l , u ] {\displaystyle [l,u]} en x {\displaystyle x} est donné par

d T x [ l , u ] i [ [ 1 , n ] ] : d i   { 0 si l i = x i 0 si       x i = u i . {\displaystyle d\in T_{x}[l,u]\qquad \Longleftrightarrow \qquad \forall \,i\in [\![1,n]\!]:\quad d_{i}~\left\{{\begin{array}{lll}\geqslant 0&{\mbox{si}}&l_{i}=x_{i}\\\leqslant 0&{\mbox{si}}&\quad \ \ \ x_{i}=u_{i}.\end{array}}\right.}

Dès lors, si l'on munit R n {\displaystyle \mathbb {R} ^{n}} du produit scalaire euclidien ( u , v ) R n × R n i = 1 n u i v i {\displaystyle (u,v)\in \mathbb {R} ^{n}\times \mathbb {R} ^{n}\mapsto \sum _{i=1}^{n}\,u_{i}v_{i}} , on a

i [ [ 1 , n ] ] : [ g P ( x ) ] i =   { min ( 0 , f x i ( x ) ) si l i = x i f x i ( x ) si l i < x i < u i max ( 0 , f x i ( x ) ) si       x i = u i . {\displaystyle \forall \,i\in [\![1,n]\!]:\quad [g^{\rm {\scriptscriptstyle P}}(x)]_{i}=~\left\{{\begin{array}{lll}\textstyle \min(0,{\frac {\partial f}{\partial x_{i}}}(x))&{\mbox{si}}&l_{i}=x_{i}\\\textstyle {\frac {\partial f}{\partial x_{i}}}(x)&{\mbox{si}}&l_{i}<x_{i}<u_{i}\\\textstyle \max(0,{\frac {\partial f}{\partial x_{i}}}(x))&{\mbox{si}}&\quad \ \ \ x_{i}=u_{i}.\end{array}}\right.}

Donc, la condition d'optimalité du premier ordre g P ( x ) = 0 {\displaystyle g^{\rm {\scriptscriptstyle P}}(x)=0} s'écrit aussi

i [ [ 1 , n ] ] : f x i ( x )   { 0 si l i = x i = 0 si l i < x i < u i 0 si       x i = u i . {\displaystyle \forall \,i\in [\![1,n]\!]:\quad {\frac {\partial f}{\partial x_{i}}}(x)~\left\{{\begin{array}{lll}\geqslant 0&{\mbox{si}}&l_{i}=x_{i}\\=0&{\mbox{si}}&l_{i}<x_{i}<u_{i}\\\leqslant 0&{\mbox{si}}&\quad \ \ \ x_{i}=u_{i}.\end{array}}\right.}

Annexe

Note

  1. Par exemple, Moré et Toraldo (1991) utilisent cette notion, alors que Calamai et Moré (1987) définissent le gradient projeté comme l'opposé de g P ( x ) {\displaystyle g^{\rm {\scriptscriptstyle P}}(x)} .

Article connexe

  • Gradient

Lien externe

  • J. Ch. Gilbert, Éléments d'Optimisation Différentiable — Théorie et Algorithmes, syllabus de cours à l'ENSTA ParisTech, Paris.

Bibliographie

  • (en) P.H. Calamai, J.J. Moré (1987). Projected gradient methods for linearly constrained problems. Mathematical Programming, 39, 93-116. doi
  • (en) J.J. Moré, G. Toraldo (1991). On the solution of large quadratic programming problems with bound constraints. SIAM Journal on Optimization, 1, 93–113. doi
  • icône décorative Portail des mathématiques