From cca764626e3953782cd36ef603bcfb770cef8591 Mon Sep 17 00:00:00 2001 From: Sylvain Papa Date: Sun, 25 Nov 2018 17:22:11 +0100 Subject: [PATCH] =?utf8?q?Trace=20=C3=A9x=C3=A9cution=20de=20l'algorithme?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- rapport/ProjetOptimRO.tex | 277 +++++++++++++++++++++++++++++--------- 1 file changed, 215 insertions(+), 62 deletions(-) diff --git a/rapport/ProjetOptimRO.tex b/rapport/ProjetOptimRO.tex index 85ec36e..00ee583 100644 --- a/rapport/ProjetOptimRO.tex +++ b/rapport/ProjetOptimRO.tex @@ -580,7 +580,7 @@ Donc le problème se ramène à : \subsection{Algorithmes Newtoniens} -Les algorithmes newtoniens sont basés sur la linéarisation d’équations caractérisant les solutions que l’on cherche, fournies par les conditions d’optimalité d’ordre $ 1 $. Ces algorithmes sont \textit{primaux-duaux} dans le sens où ils génèrent à la fois une suite primale $ (x_k )_{k \in \mathbb{N}} $ convergeant vers une solution $ \overline{x} $ du problème considéré, et une suite duale $ (\lambda_k)_{k \in \mathbb{N}} $ (resp. $ ((\lambda_k, \mu_k))_{k \in \mathbb{N}} $) de multiplicateurs convergeant vers un multiplicateur optimal $ \overline{\lambda} $ (resp. $ (\overline{\lambda},\overline{\mu}) $) associé à $ \overline{x} $. +Les algorithmes newtoniens sont basés sur la linéarisation d’équations caractérisant les solutions que l’on cherche, fournies par les conditions d’optimalité d’ordre $ 1 $. Ces algorithmes sont \textit{primaux-duaux} dans le sens où ils génèrent à la fois une suite primale $ (x_k )_{k \in \mathbb{N}} $ convergeant vers une solution $ \overline{x} $ du problème considéré, et une suite duale $ (\lambda_k)_{k \in \mathbb{N}} $ (resp. $ ((\lambda_k, \mu_k))_{k \in \mathbb{N}} $) de multiplicateurs convergeant vers un multiplicateur optimal $ \overline{\lambda} $ (resp. $ (\overline{\lambda},\overline{\mu})) $ associé à $ \overline{x} $. \subsection{Algorithme PQS} @@ -722,7 +722,7 @@ En posant $ d = x - x_k $ et $ H_k = H[L](x_k,\lambda_k,\mu_k) $, on obtient le \hrulefill \newline -ALGORITHME PQS AVEC CONSTRAINTES D'ÉGALITÉ ET D'INÉGALITÉ. +ALGORITHME PQS AVEC CONSTRAINTES D'ÉGALITÉ ET D'INEGALITÉ. \newline \textit{Entrées}: $ J : \mathbb{R}^n \longrightarrow \mathbb{R} $, $g: \mathbb{R}^n \longrightarrow \mathbb{R}^p$, $ h : \mathbb{R}^n \longrightarrow \mathbb{R}^q $ différentiables, $ x_0 \in \mathbb{R}^n $ point initial arbitraire, $ \lambda_0 \in \mathbb{R}_+^p $ et $ \mu_0 \in \mathbb{R}_+^q $ multiplicateurs initiaux, $ \varepsilon > 0 $ précision demandée. \newline @@ -736,7 +736,7 @@ ALGORITHME PQS AVEC CONSTRAINTES D'ÉGALITÉ ET D'INÉGALITÉ. \mathcal{PQ}_k \left \{ \begin{array}{l} \displaystyle\min_{d \in \mathbb{R}^n} \nabla J(x_k)^\top d + \frac{1}{2}d^\top H_k d \\ - g_j(x_k) + \nabla g_j(x_k)^\top d \leq 0, \ \forall j \in \{1,\ldots,p\} \\ + g_j(x_k) + \nabla g_j(x_k)^\top d \leq 0 \\, \ \forall j \in \{1,\ldots,p\} \\ h_i(x_k) + \nabla h_i(x_k)^\top d = 0, \ \forall i \in \{1,\ldots,q\} \end{array} \right . @@ -783,7 +783,7 @@ $$ \end{array} \right . $$ -où $$ (r,r_1,r_2) \in \mathbb{R}_+^{*^3} \land r < r_1 \land r < r_2. $$ +où $$ (r,r_1,r_2) \in \mathbb{R}_+^3. $$ \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). $$ @@ -810,84 +810,237 @@ 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} $. -\subsection{Trace d'éxécution de l'algorithme PQS} +\hrulefill -En utilisant le problème $ \mathcal{P} $ précédent : -\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), $ +\subsection{Trace d'éxécution de PQS} + +Utilisons le problème $ \mathcal{P} $ précédent : + +$$ + \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. $$ +\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 $r1 = r2 = 10$. \newline -$ L((80,20,60),(1,1)) = 6400 + 400 + 3600 - 3600 + (6400 + 400 - 900) + (6400 + 3600 -900), $ +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 -$ L((80,20,60),(1,1)) = 21800. $ +Le Lagrangien $ L $ de $ \mathcal{P} $ avec les valeurs : + $ L((100,100,0),(1,1)) = 100^2 + 100^2 + 0^2 -100^2 + 1 * (100^2 +100^2 - 10^2) + \lambda_2(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. $ -\begin{algorithm} - \caption {Algorithme PQS pour $ \mathcal{P} $} +\begin{algorithmfloat}[#1] + \caption {PQS du problème $ \mathcal{P} $} \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 $\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 $ H[J](x,y,z)^{-1} \leftarrow - \begin{pmatrix} - 0.5 & 0 & 0 \\ - 0 & 0.5 & 0 \\ - 0 & 0 & 0.5 \\ - \end{pmatrix} $ - - \WHILE{($\norme{\nabla L(x_k,\lambda_k,\mu_k)} > \varepsilon$ or $k < 10$)} + \REQUIRE $g(x_0,y_0,z_0)\leq 0$, $(x_0,y_0,z_0) = (10, 10 ,10)$ + \ENSURE $\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 = r2 \leftarrow 10, \varepsilon \leftarrow 0.01$ + \STATE $\lambda_1 = \lambda_2 = 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 {//Première itération :} + \STATE{//Calcule du gradient de $ J $ :} + \STATE $ \nabla J(x,y,z) = (2x_k,2y_k,2z_k)$ \hfill $ // résultat : (100,100,0) $ +\newline + \STATE {//calcule des deux sous partie de du gradient de $ g $: } + \STATE $ \nabla g_1(x_a,y_a,z_a) = ((2x_a,2y_a,0)$ \hfill $ //résultat : (20, 20, 0)$ + \STATE $ \nabla g_2(x_a,y_a,z_a) = (2x_a,0,2z_a))$ \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 $ \leq 10)$} - \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 { //première itération :} - \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 {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (220, 220, 40)$ + \STATE $ \nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2)) = (x_L , y_L, z_L) $ +\newline + \STATE {//Calcule de la direction de la pente dk (méthode de Newton) : } + \STATE $ d_k = -H[J](x,y,z)^{-1}* J(x,y,z)$ \hfill $ //résultat : (-(50,50,0))$ + \newline + \STATE {//Calcul 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 $ //k = 1$ +\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 : (280, 60, 200)$ + \STATE {//Deuxième itération :} + \STATE{//Calcule du gradient de $ J $ :} + \STATE $ \nabla J(x,y,z) = (2x_k,2y_k,2z_k)$ \hfill $ // résultat : (100,100,0) $ +\newline +\STATE {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (120, 120, 0)$ + \STATE $ \varepsilon _1 = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$ +\newline + \STATE {//Calcule de la direction de la pente dk (méthode de Newton) : } + \STATE $ d_k = -H[J](x,y,z)^{-1}* J(x,y,z)$ \hfill $ //résultat : (-(25,25,0))$ + \STATE {//Calcul 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 $ //k = 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,y,z)$ \hfill $ //résultat : (-(80,20,60))$ +\STATE {//Troisième itération :} +\STATE{//Calcule du gradient de $ J $ :} +\STATE $ \nabla J(x,y,z) = (2x_k,2y_k,2z_k)$ \hfill $ // résultat : (50,50,0) $ +\newline +\STATE {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (70, 70, 0)$ +\STATE $ \varepsilon _1 = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$ +\newline +\STATE {//Calcule de la direction de la pente dk (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 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 $ //k = 3$ +\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,0,0)$ +\STATE {//Quatrième itération :} +\STATE{//Calcule du gradient de $ J $ :} +\STATE $ \nabla J(x,y,z) = (2x_k,2y_k,2z_k)$ \hfill $ // résultat : (25,25,0) $ +\newline +\STATE {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (45, 45, 0)$ +\STATE $ \varepsilon _1 = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$ +\newline +\STATE {//Calcule de la direction de la pente dk (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 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 $ //k = 4$ +\STATE $ $ - \STATE {//Deuxième itération :} +\STATE {//Cinquième itération :} +\STATE{//Calcule 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 {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (32.5, 32.5, 0)$ +\STATE $ \varepsilon _1 = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$ +\newline +\STATE {//Calcule de la direction de la pente dk (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 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 $ //k = 5$ +\newline - \STATE {//Incrémentation de k} - \STATE $ k \leftarrow k+1$ \hfill $ //résultat : 1$ +\STATE {//Sixième itération :} +\STATE{//Calcule 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 {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (26.25, 26.25, 0)$ +\STATE $ \varepsilon _1 = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$ +\newline +\STATE {//Calcule de la direction de la pente dk (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 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 $ //k = 6$ +\newline - \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 {//Septième itération :} +\STATE{//Calcule 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 {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (23.125, 23.125, 0)$ +\STATE $ \varepsilon _1 = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$ +\newline +\STATE {//Calcule de la direction de la pente dk (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 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 $ //k = 7$ +\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 : (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 {//Huitième itération :} +\STATE{//Calcule 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 {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (21.5625, 21.5625, 0)$ +\STATE $ \varepsilon _1 = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$ +\newline +\STATE {//Calcule de la direction de la pente dk (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 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 $ //k = 8$ +\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 : (160, 20, 30)$ +\STATE {//neuvième itération :} +\STATE{//Calcule 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 {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (20.78125, 20.78125, 0)$ +\STATE $ \varepsilon _1 = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$ +\newline +\STATE {//Calcule de la direction de la pente dk (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 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 //k = 9$ +\STATE $ $ + +\STATE {//Dixième itération :} +\STATE{//Calcule 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\newline +\STATE {//Calcule 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_a,y_a,z_a) + \lambda_2 \nabla g_2(x_a,y_a,z_a)) $ \hfill $// résultat : (20.390625, 20.390625, 0)$ +\STATE $ \varepsilon _1 = \norme{\nabla L((x_k,y_k,z_k),(\lambda_1,\lambda_2))}$ +\newline +\STATE {//Calcule de la direction de la pente dk (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 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 $ //k = 10$ - \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 $ // Fin de la boucle "while" car nous avons atteint k =10, condition mettant fin à la boucle$ - \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)$ - \ENDWHILE + \ENDWHILE - \end{algorithmic} -\end{algorithm} +\end{algorithmic} +\end{algorithmfloat} \hrulefill -- 2.34.1