L'optimisation est une branche des mathématiques appliquées qui cherche à trouver les points pour lequels une fonctions réalise un certain nombre d'exigences. Le lecteur pourra se reférer par exemple au libre de Phillipe G. Ciarlet \textit{Introduction à l'analyse numérique matricielle et à l'optimisation}~\cite{ciarlet} pour une présentation très complète d'un grand nombre de techniques. Dans ce manuscrit nous ne nous interesseront qu'a deux type de problèmes liées à l'apprantissange automatique et surtout au réseaux de neuronnes. Le premier de ces problèmes est la minimisation sans contrainte d'une fonctionelle convexe. Cela permet l'entraînement de modèle d'apprantissage automatique à l'aide d'une fonction de coût. Le second problème reprend le premier mais y ajoute des contraintes. C'est à dire, comme minimise-t'on le coût tout en garantissant certaines conditions ? \subsubsection{Optimisation sant contrainte : Descente de gradient} \label{sec:background-opti-sgd} Nous appellons fonctionelles les fonctions $\mathbb{R}^n$ dans $\mathbb{R}$. Soit $J$ une fonctionelle convexe, nous cherchons à trouver $x\in\mathbb{R}$ tel que $J(x) = \text{inf}\{J(t)\mid t\in\mathbb{R}\}$. Pour simplifier cette rapide présentation, nous supposerons que $J$ à toujours les conditions de régularité (diférentiabilié) suffisante pour les opérations que nous appliquerons. Pour trouver $x$ qui minimise $J$ une des méthode les plus utilisé en apprentissage automatique est la descente de gradient. Il s'agit de construire une suite $(x_k)_{k\in\mathbb{N}}$ telle que $J(x_k)$ soit strictement décroissante ($\forall k\in\mathbb{N}~J(x_{k+1})