+Étant une méthode newtonienne, l’algorithme PQS converge localement quadratiquement pourvu que les points initiaux $ (x_0,\lambda_0 ) $ (resp. $ (x_0,\lambda_0,\mu_0) $) soient dans un voisinage d’un point stationnaire $ \overline{x} $ et de ses multiplicateurs associés $ \overline{\lambda} $ (resp. $ (\overline{\lambda},\overline{\mu}) $). Bien entendu, il est possible de globaliser l’algorithme en ajoutant une étape de recherche linéaire.
+
+\subsection{Stratégie d'approximation de la hessienne}
+
+\subsubsection{Équation de sécante et approximation}
+
+L'approximation $ H_k $ de la hessienne du Lagrangien peut être obtenu par la relation :
+$$ \nabla L(x_{k+1},\lambda_{k+1},\mu_{k+1}) - \nabla L(x_{k},\lambda_{k+1},\mu_{k+1}) \approx H[L](x_{k+1},\lambda_{k+1},\mu_{k+1})(x_{k+1} - x_k) $$
+On construit une approximation $ H_{k+1} $ de $ H[L](x_{k+1},\lambda_{k+1},\mu_{k+1}) $ comme solution de l’équation :
+$$ H_{k+1}(x_{k+1} - x_k) = \nabla L(x_{k+1},\lambda_{k+1},\mu_{k+1}) - \nabla L(x_{k},\lambda_{k+1},\mu_{k+1}) $$
+appelée équation de sécante ou équation de quasi-Newton.
+\newline
+De façon similaire, on peut construire une approximation $ B_{k+1} $ de $ H[L](x_{k+1},\lambda_{k+1},\mu_{k+1})^{-1} $ comme solution de l’équation :
+$$ B_{k+1}(\nabla L(x_{k+1},\lambda_{k+1},\mu_{k+1}) - \nabla L(x_{k},\lambda_{k+1},\mu_{k+1})) = x_{k+1} - x_k $$
+Dans les deux cas, les équations de quasi-Newton forment un système sous-déterminé à $ n $ équations et $ n^2 $ inconnues. Il existe donc une infinité de matrices $ H_{k+1} $ pouvant convenir.
+\newline
+Une stratégie commune est de calculer $ (x_{k+1},\lambda_{k+1},\mu_{k+1}) $ pour une matrice $ H_k $ donnée et faire une mise à jour de $ H_k $ de rang 1 ou 2 :
+$$ H_{k+1} = H_k + U_k $$
+Les méthodes de mises à jour PSB et BFGS suivent par exemple cette stratégie.
+
+\subsubsection{Mises à jour PSB}
+
+$$ H_{k+1} = H_k + \frac{1}{d^\top d} ((y - H_k d)d^\top + d(y - H_k d)^\top) - \frac{(y - H_k d)^\top d}{(d^\top d)^2}d^\top d $$
+où
+$$ d = x_{k+1} - x_k $$
+$$ y = \nabla L(x_{k+1},\lambda_{k+1},\mu_{k+1}) - \nabla L(x_{k},\lambda_{k+1},\mu_{k+1}) $$
+
+\subsubsection{Mises à jour BFGS}
+
+$$ H_{k+1} = H_k + \frac{y y^\top}{y^\top d} - \frac{H_k d d^\top H_k}{d^\top H_k d}$$
+où
+$$ d = x_{k+1} - x_k $$
+$$ y = \nabla L(x_{k+1},\lambda_{k+1},\mu_{k+1}) - \nabla L(x_{k},\lambda_{k+1},\mu_{k+1}) $$
+
+\subsection{Exemple d'utilisation de PQS}
+
+Considérons le problème $ \mathcal{P} $ suivant :
+$$
+ \mathcal{P} \left \{
+ \begin{array}{l}
+ \displaystyle\min_{(x,y,z) \in \mathbb{R}^3} J(x,y,z) = x^2 + y^2 + z^2 -r^2 \\
+ g(x,y,z) = (g_1(x,y,z), g_2(x,y,z)) = (x^2 + y^2 - r_1^2, x^2 + z^2 -r_2^2) \leq 0 \\
+ \end{array}
+ \right .
+$$
+où $$ (r,r_1,r_2) \in \mathbb{R}_+^{*^3} \land r < r_1 \land r < r_2. $$
+\textit{Entrées} : $ J $ et $ g $ de classe $ \mathcal{C}^2 $, $ \varepsilon = 0.01 $ la précision, $ (x_0,y_0,z_0) = $ point initial et $ (\lambda_{0_1},\lambda_{0_2}) = $ multiplicateur initial.
+\newline
+Le Lagrangien $ L $ de $ \mathcal{P} $ : $$ L((x,y,z),(\lambda_1,\lambda_2)) = x^2 + y^2 + z^2 -r^2 + \lambda_1(x^2 + y^2 - r_1^2) + \lambda_2(x^2 + z^2 -r_2^2). $$
+\newline
+Le gradient de $ J $ : $$ \nabla J(x,y,z) = (\frac{\partial J}{\partial x}(x,y,z),\frac{\partial J}{\partial y}(x,y,z),\frac{\partial J}{\partial z}(x,y,z)) = (2x,2y,2z). $$
+\newline
+Le gradient de $ g $ : $$ \nabla g(x,y,z) = (\nabla g_1(x,y,z),\nabla g_2(x,y,z)) $$
+$$ = ((\frac{\partial g_1}{\partial x}(x,y,z),\frac{\partial g_1}{\partial y}(x,y,z),\frac{\partial g_1}{\partial z}(x,y,z)),(\frac{\partial g_2}{\partial x}(x,y,z),\frac{\partial g_2}{\partial y}(x,y,z),\frac{\partial g_2}{\partial z}(x,y,z)) $$
+$$ = ((2x,2y,0),(2x,0,2z)). $$
+\newline
+Le gradient du Lagrangien $ L $ :
+$$ \nabla L((x,y,z),(\lambda_1,\lambda_2)) = \nabla J(x,y,z) + \lambda_1 \nabla g_1(x,y,z) + \lambda_2 \nabla g_2(x,y,z)) $$
+$$ = (2x(1 + \lambda_1 + \lambda_2),2y(1 + \lambda_1),2z(1 + \lambda_2)) $$
+\newline
+La matrice hessienne de $ J $ : $$ H[J](x,y,z) =
+ \begin{pmatrix}
+ \frac{\partial^2 J}{\partial^2 x}(x,y,z) & \frac{\partial^2 J}{\partial x\partial y}(x,y,z) & \frac{\partial^2 J}{\partial x\partial z}(x,y,z) \\
+ \frac{\partial^2 J}{\partial y\partial x}(x,y,z) & \frac{\partial^2 J}{\partial^2 y}(x,y,z) & \frac{\partial^2 J}{\partial y\partial z}(x,y,z) \\
+ \frac{\partial^2 J}{\partial z\partial x}(x,y,z) & \frac{\partial^2 J}{\partial z\partial y}(x,y,z) & \frac{\partial^2 J}{\partial^2 z}(x,y,z) \\
+ \end{pmatrix} =
+ \begin{pmatrix}
+ 2 & 0 & 0 \\
+ 0 & 2 & 0 \\
+ 0 & 0 & 2 \\
+ \end{pmatrix} = 2Id_{\mathbb{R}^3} $$
+On en déduit que $ H[J](x,y,z) $ est inversible et que $ H[J](x,y,z)^{-1} = \frac{1}{2}Id_{\mathbb{R}^3} $.
+
+\newpage
+
+\subsection{Trace d'éxécution de l'algorithme pour la méthode de Newton}
+
+\begin{center}
+ \includegraphics[scale=0.2]{sphere2.jpg} \\
+ \footnotesize{
+ \small \it Fig : Exemple de la sphère \\
+ \vspace*{0.5cm}
+ }
+\end{center}
+
+En utilisant le problème $ \mathcal{P} $ précédent :
+
+\textit{Entrées} : $ J $ et $ g $ de classe $ \mathcal{C}^2 $, $ \varepsilon = 0.01 $, $ (x_0,y_0,z_0) = (100, 100 ,0)$ et $(\lambda_{0_1},\lambda_{0_2}) = (1 , 1)$, les rayons : $r = 100$ et $r_1 = r_2 = 10$.
+\newline
+Calcul du Lagrangien $ L $ de $ \mathcal{P} $ en $(x_0,y_0,z_0)$ :
+\newline
+$ L((100,100,0),(1,1)) = 100^2 + 100^2 + 0^2 - 100^2 + 1 * (100^2 +100^2 - 10^2) + 1 * (100^2 + 100^2 -10^2). $
+$ L((100,100,0),(1,1)) = 1000 + 1000 - 1000 + (1000 + 1000 - 100) + (1000 + 1000 - 100). $
+$ L((100,100,0),(1,1)) = 4800. $
+
+\newpage
+\textbf{Trace d'éxécution de l'algorithme :}
+\newline
+\newfloat{algorithm}{t}
+
+\begin{algorithmic}
+ \REQUIRE $(x_0,y_0,z_0) = (100, 100 ,0), g(x_0,y_0,z_0) \leq 0$
+ \ENSURE $\displaystyle\min_{(x,y,z) \in \mathbb{R}^3} J(x,y,z) = x^2 + y^2 + z^2 -r^2$ and \newline $g(x,y,z) = (g_1(x,y,z), g_2(x,y,z)) = (x^2 + y^2 - r_1^2, x^2 + z^2 -r_2^2) \leq 0$
+ \STATE \textbf{Data :}
+ \STATE $k \leftarrow 0, (x_k, y_k, z_k) \leftarrow (100, 100, 0), r \leftarrow 100$
+ \STATE $r_1 = r_2 \leftarrow 10, \varepsilon \leftarrow 0.01$
+ \STATE $\lambda_1 = \lambda_2 \leftarrow 1$
+ \STATE $s_k \leftarrow \frac{1}{2}$
+ \STATE $ H[J](x,y,z)^{-1} \leftarrow
+ \begin{pmatrix}
+ 0.5 & 0 & 0 \\
+ 0 & 0.5 & 0 \\
+ 0 & 0 & 0.5 \\
+ \end{pmatrix} $
+ \newline
+
+ \WHILE{$ (\norme{\nabla L(x_k,\lambda_k,\mu_k)} > \varepsilon $ or k $ \leq 10)$}
+
+ \STATE {//Première itération :}
+ \STATE {//Calcul du gradient de $ J $ :}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (200,200,0) $
+ \newline
+ % \STATE {//Calcul des deux composantes du gradient de $ g $:}
+ % \STATE $ \nabla g_1(x_k,y_k,z_k) = (2x_k,2y_k,0)$ \hfill $ //résultat : (200, 200, 0)$
+ % \STATE $ \nabla g_2(x_k,y_k,z_k) = (2x_k,0,2z_k)$ \hfill $ //résultat : (200, 0, 0)$
+ % \STATE $ \nabla g(x_k,y_k,z_k) = (\nabla g_1(x_k,y_k,z_k), \nabla g_2(x_k,y_k,z_k))$
+ % \newline
+ \STATE {//Calcul du gradient de $ L $ :}
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*100, 4*100, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ % \STATE $ \nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = (x_L , y_L, z_L) $
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x_k,y_k,z_k)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(100,100,0))$
+ \newline
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (50,50,0)$
+ \newline
+ \STATE {//Incrémentation de $ k $}
+ \STATE $ k \leftarrow k + 1 $ \hfill $ //résultat : k = 1$
+ \newline
+
+ \STATE {//Deuxième itération :}
+ \STATE {//Calcul du gradient de $ J $ :}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (100,100,0) $
+ \newline
+ \STATE {//Calcul du gradient de $ L $ :}
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*50, 4*50, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x_k,y_k,z_k)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(50,50,0))$
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (25,25,0)$
+ \newline
+ \STATE {//Incrémentation de $ k $ }
+ \STATE $ k \leftarrow k + 1 $ \hfill $ //résultat : k = 2$
+ \newline
+
+ \STATE {//Troisième itération :}
+ \STATE {//Calcul du gradient de $ J $:}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (50,50,0) $
+ \newline
+ \STATE {//Calcul du gradient de $ L $ :}
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*25, 4*25, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x,y,z)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(25,25,0))$
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \newline
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (12.5,12.5,0)$
+ \STATE {//Incrémentation de $ k $}
+ \STATE $ k \leftarrow k + 1 $ \hfill $ //résultat : k = 3$
+ \newline
+
+ \STATE {//Quatrième itération :}
+ \STATE {//Calcul du gradient de $ J $ :}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (25,25,0) $
+ \newline
+ \STATE {//Calcul du gradient de $ L $ :}
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*12.5, 4*12.5, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x_k,y_k,z_k)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(12.5,12.5,0))$
+ \newline
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (6.25,6.25,0)$
+ \STATE {//Incrémentation de $ k $}
+ \newline
+ \STATE $ k \leftarrow k + 1 $ \hfill $ //résultat : k = 4$
+ \newline
+
+ \STATE {//Cinquième itération :}
+ \STATE {//Calcul du gradient de $ J $ :}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (12.5,12.5,0) $
+ \newline
+ \STATE {//Calcul du gradient de $ L $ :}
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*6.25, 4*6.25, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x_k,y_k,z_k)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(6.25,6.25,0))$
+ \newline
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (3.125,3.125,0)$
+ \newline
+ \STATE {//Incrémentation de $ k $}
+ \STATE $ k \leftarrow k + 1 $ \hfill $ //résultat : k = 5$
+ \newline
+
+ \STATE {//Sixième itération :}
+ \STATE {//Calcul du gradient de $ J $ :}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (6.25,6.25,0) $
+ \newline
+ \STATE {//Calcul du gradient de $ L $ :}
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*3.125, 4*3.125, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x_k,y_k,z_k)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(3.125,3.125,0))$
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \newline
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (1.5625,1.5625,0)$
+ \STATE {//Incrémentation de $ k $}
+ \newline
+ \STATE $ k \leftarrow k + 1 $ \hfill $ //résultat : k = 6$
+ \newline
+
+ \STATE {//Septième itération :}
+ \STATE {//Calcul du gradient de $ J $ :}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (3.125, 3.125, 0) $
+ \newline
+ \STATE {//Calcul du gradient de $ L $ : }
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*1.5625, 4*1.5625, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x_k,y_k,z_k)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(1.5625,1.5625,0))$
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \newline
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (0.78125,0.78125,0)$
+ \STATE {//Incrémentation de $ k $}
+ \newline
+ \STATE $ k \leftarrow k + 1 $ \hfill $ //résultat : k = 7$
+ \newline
+
+ \STATE {//Huitième itération :}
+ \STATE{//Calcul du gradient de $ J $ :}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (1.5625, 1.5625, 0) $
+ \newline
+ \STATE {//Calcul du gradient de $ L $ : }
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*0.78125, 4*0.78125, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x_k,y_k,z_k)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(0.78125,0.78125,0))$
+ \newline
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (0.390625,0.390625,0)$
+ \newline
+ \STATE {//Incrémentation de $ k $}
+ \STATE $ k \leftarrow k + 1 $ \hfill $ //résulat : k = 8$
+ \newline
+
+ \STATE {//Neuvième itération :}
+ \STATE {//Calcul du gradient de $ J $ :}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (0.78125, 0.78125, 0) $
+ \newline
+ \STATE {//Calcul du gradient de $ L $ :}
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*0.390625, 4*0.390625, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x_k,y_k,z_k)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(0.390625,0.390625,0))$
+ \newline
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (0.1953125,0.1953125,0)$
+ \newline
+ \STATE {//Incrémentation de $ k $}
+ \STATE $ k \leftarrow k + 1 \hfill //résultat : k = 9$
+ \newline
+
+ \STATE {//Dixième itération :}
+ \STATE {//Calcul du gradient de $ J $ :}
+ \STATE $ \nabla J(x_k,y_k,z_k) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (0.390625, 0.390625, 0) $
+ \newline
+ \STATE {//Calcul du gradient de $ L $ :}
+ \STATE $\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = \nabla J(x_k,y_k,z_k) + \lambda_1 \nabla g_1(x_k,y_k,z_k) + \lambda_2 \nabla g_2(x_k,y_k,z_k)) $ \hfill $ //résultat : (6*0.1953125, 4*0.1953125, 0)$
+ \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+ \newline
+ \STATE {//Calcul de la direction de la pente $ d_k $ (méthode de Newton) :}
+ \STATE $ d_k = -H[J](x_k,y_k,z_k)^{-1} * \nabla J(x_k,y_k,z_k) $ \hfill $ //résultat : (-(0.1953125,0.1953125,0))$
+ \newline
+ \STATE {//Calcul des nouvelles valeurs des coordonnées}
+ \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + s_k d_k $ \hfill $ //résultat : (0.097665625,0.097665625,0)$
+ \newline
+ \STATE {//Incrémentation de $ k $}
+ \STATE $ k \leftarrow k + 1 $ \hfill $ //résultat : k = 10$
+ \newline
+ \STATE {//Fin de la boucle "while" car nous avons atteint $ k = 10 $, condition mettant fin à la //boucle}
+ \newline
+
+ \ENDWHILE
+
+\end{algorithmic}