From 700d9206108b3f771c191afd6d518e2c67d87780 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sat, 1 Dec 2018 15:34:57 +0100 Subject: [PATCH] Reindent properly the code. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- rapport/ProjetOptimRO.tex | 420 +++++++++++++++++++------------------- 1 file changed, 208 insertions(+), 212 deletions(-) diff --git a/rapport/ProjetOptimRO.tex b/rapport/ProjetOptimRO.tex index 8919c6d..de81c13 100644 --- a/rapport/ProjetOptimRO.tex +++ b/rapport/ProjetOptimRO.tex @@ -777,7 +777,7 @@ Dans les deux cas, les équations de quasi-Newton forment un système sous-déte 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 $$ % \subsubsection{Mises à jour DFP et BFGS} -Les méthodes de mise à jour DFP et BFGS suivent par exemple cette stratégie. +Les méthodes de mises à jour DFP et BFGS suivent par exemple cette stratégie. \subsection{Exemple d'utilisation de PQS} @@ -845,217 +845,213 @@ $ L((100,100,0),(1,1)) = 4800. $ \newline \newfloat{algorithm}{t} -%\begin{algorithm} - \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 : (600, 400, 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 : (-(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 : (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 : (-(0.78125,0.78125,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.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.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.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.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.097665625,0.097665625,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} -%\end{floatalgo} - %\end{algorithm} +\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 : (600, 400, 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 : (-(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 : (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 : (-(0.78125,0.78125,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.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.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.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.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.097665625,0.097665625,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} \bibliographystyle{plain} \bibliography{stdlib_sbphilo} -- 2.34.1