More and more fixlets.
[Projet_Recherche_Operationnelle.git] / rapport / ProjetOptimRO.tex
index adf023a43c3bc050a2ae6d5cd48f4992e86923ff..f0024f2a1063b6f2a4240ef6bebfa329b89874a5 100644 (file)
@@ -775,8 +775,8 @@ Dans les deux cas, les équations de quasi-Newton forment un système sous-déte
 \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 $$
-
-\subsubsection{Mises à jour DFP et BFGS}
+% \subsubsection{Mises à jour DFP et BFGS}
+Les méthodes de mise à jour DFP et BFGS suivent par exemple cette stratégie.
 
 \subsection{Exemple d'utilisation de PQS}
 
@@ -816,88 +816,243 @@ La matrice hessienne de $ J $ : $$ H[J](x,y,z) =
  \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 PQS}
 
+\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
-\textit{Entrées} : $ J $ et $ g $ de classe $ \mathcal{C}^2 $, $ \varepsilon = 0.01 $, $ (x_0,y_0,z_0) = (80, 20, 60)$  et $(\lambda_{0_1},\lambda_{0_2}) = (1, 1)$, les rayons : $r = 40$ et $r_1 = r_2 = 10$.
-\newline
-Calcul du Lagrangien $ L $ de $ \mathcal{P} $ en $ (x_0,y_0,z_0)$ :
-\newline
-$ L((80,20,60),(1,1)) = 80^2 + 20^2 + 60^2 -60^2 + 1 * (80^2 +20y^2 - 30^2) + \lambda_2(80^2 + 60^2 -30^2), $
-\newline
-$ L((80,20,60),(1,1)) = 6400 + 400 + 3600 - 3600 + (6400 + 400 - 900) + (6400 + 3600 -900), $
+Calcul du Lagrangien $ L $ de $ \mathcal{P} $ en $(x_0,y_0,z_0)$ :
 \newline
-$ L((80,20,60),(1,1)) = 21800. $
+$ 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
 
+% \begin{algorithmfloat}[#Algo 1]
 \begin{algorithm}
- \caption {Algorithme PQS pour $ \mathcal{P} $}
+ \caption {Trace d'éxécution de l'algorithme PQS}
  \begin{algorithmic}
-  \REQUIRE $\varepsilon = 0.01$, $g(x,y,z)\leq 0$, $(x_0,y_0,z_0) = (80, 20 ,60)$, $(\lambda_{0_1},\lambda_{0_2}) = (1, 1)$, $r = 40$ et $r_1 = r_2 = 10$.
-  \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 $
-
+  \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$
-  \STATE $(x_k,y_k,z_k) \leftarrow (80,20,60)$
+  \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 $ H[J](x,y,z)^{-1} \leftarrow
    \begin{pmatrix}
     0.5 & 0   & 0   \\
     0   & 0.5 & 0   \\
     0   & 0   & 0.5 \\
    \end{pmatrix} $
+  \newline
+  \STATE {//Pré-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 : (20, 20, 0)$
+  \STATE $ \nabla g_2(x_k,y_k,z_k) = (2x_k,0,2z_k))$ \hfill $ //résultat : (20, 0, 20)$
+  \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
 
-  \WHILE{($\norme{\nabla L(x_k,\lambda_k,\mu_k)} > \varepsilon$ or $k < 10$)}
+  \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 : (160,40,120)$
-
-  \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 : (60, 20, 0)$
-  \STATE $\nabla g_2(x_k,y_k,z_k) = (2x_k,0,2z_k))$ \hfill $ //résultat : (60, 0, 80)$
-  \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))$
-
-  \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 : (280, 60, 200)$
-
+  \STATE $ \nabla J(x,y,z) = (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 : (220, 220, 40)$
+  \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,y,z)^{-1}*\nabla J(x,y,z)$ \hfill $ //résultat : (-(80,20,60))$
-
-  \STATE {//Calcul des nouvelles valeurs des coordonnées :}
-  \STATE $ (x_{k+1},y_{k+1},z_{k+1}) = (x_k,y_k,z_k) + d_k $ \hfill $ //résultat : (0,0,0)$
+  \STATE $ d_k = -H[J](x,y,z)^{-1}* J(x,y,z)$ \hfill $ //résultat : (-(50,50,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) + 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 {//Incrémentation de k}
-  \STATE $ k \leftarrow k+1$ \hfill $ //résultat : 1$
-
   \STATE{//Calcul du gradient de $ J $ :}
-  \STATE $\nabla J(x,y,z) = (2x_k,2y_k,2z_k)$ \hfill $ //résultat : (0,0,0)$
-
-  \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 : (60, 20, 0)$
-  \STATE $\nabla g_2(x_k,y_k,z_k) = (2x_k,0,2z_k))$ \hfill $ //résultat : (60, 0, 80)$
-  \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))$
-
-  \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 : (160, 20, 30)$
-
+  \STATE $ \nabla J(x,y,z) = (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 : (120, 120, 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,y,z)$ \hfill $ //résultat : (-(0,0,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) + d_k $ \hfill $ //résultat : (0,0,0)$
+  \STATE $ d_k = -H[J](x,y,z)^{-1}* J(x,y,z)$ \hfill $ //résultat : (-(25,25,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) + 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,y,z) = (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 : (70, 70, 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}* J(x,y,z)$ \hfill $ //résultat : (-(12.5,12.5,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) + 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,y,z) = (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 : (45, 45, 0)$
+  \STATE $ \varepsilon_k = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$
+  \newline
+  \STATE {//Calcule de la direction de la pente $ d_k $ (méthode de Newton) :}
+  \STATE $ d_k = -H[J](x,y,z)^{-1}* J(x,y,z)$ \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) + 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$
+  \STATE $ $
+  \newline
+
+  \STATE {//Cinquième itération :}
+  \STATE{//Calcul du gradient de $ J $ :}
+  \STATE $ \nabla J(x,y,z) = (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 : (32.5, 32.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,y,z)^{-1}* J(x,y,z)$ \hfill $ //résultat : (-(3.125,3.125,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) + 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,y,z) = (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 : (26.25, 26.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}* J(x,y,z)$ \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)+ 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,y,z) = (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 : (23.125, 23.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,y,z)^{-1}* J(x,y,z)$ \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) + 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,y,z) = (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 : (21.5625, 21.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,y,z)^{-1}* J(x,y,z)$ \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)+ 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,y,z) = (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 : (20.78125, 20.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,y,z)^{-1}* J(x,y,z)$ \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) + 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,y,z) = (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 : (20.390625, 20.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,y,z)^{-1}* J(x,y,z)$ \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) + 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{algorithmfloat}
 \end{algorithm}
 
-
-\hrulefill
-
 \bibliographystyle{plain}
 \bibliography{stdlib_sbphilo}