TP-optimisation-numerique-2/docs/build/Algorithme_de_newton.html
2021-11-08 11:38:05 +01:00

3 lines
9.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>L&#39;algorithme de Newton local · Optinum.jl</title><link href="https://fonts.googleapis.com/css?family=Lato|Roboto+Mono" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="index.html"><img src="assets/logo.png" alt="Optinum.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit">Optinum.jl</span></div><form class="docs-search" action="search.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="index.html">Accueil</a></li><li><a class="tocitem" href="Sujet.html">Sujet</a></li><li><span class="tocitem">Algorithmes</span><ul><li class="is-active"><a class="tocitem" href="Algorithme_de_newton.html">L&#39;algorithme de Newton local</a><ul class="internal"><li><a class="tocitem" href="#Principe-1"><span>Principe</span></a></li><li><a class="tocitem" href="#Algorithme-1"><span>Algorithme</span></a></li><li><a class="tocitem" href="#Tests-de-convergence-1"><span>Tests de convergence</span></a></li></ul></li><li><a class="tocitem" href="Regions_de_confiance.html">La méthode des régions de confiance</a></li><li><a class="tocitem" href="Lagrangien_augmente.html">La méthode du Lagrangien augmenté</a></li></ul></li><li><a class="tocitem" href="fct_index.html">Index des fonctions</a></li><li><a class="tocitem" href="Annexes.html">Annexes</a></li><li><a class="tocitem" href="mise_en_place.html">Installation de Julia et tests unitaires</a></li><li><a class="tocitem" href="FAQ.html">Foire aux Questions</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Algorithmes</a></li><li class="is-active"><a href="Algorithme_de_newton.html">L&#39;algorithme de Newton local</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="Algorithme_de_newton.html">L&#39;algorithme de Newton local</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/Algorithme_de_newton.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Algorithme-de-Newton-local-1"><a class="docs-heading-anchor" href="#Algorithme-de-Newton-local-1">Algorithme de Newton local</a><a class="docs-heading-anchor-permalink" href="#Algorithme-de-Newton-local-1" title="Permalink"></a></h1><h2 id="Principe-1"><a class="docs-heading-anchor" href="#Principe-1">Principe</a><a class="docs-heading-anchor-permalink" href="#Principe-1" title="Permalink"></a></h2><p>La fonction <span>$f$</span> étant <span>$C^{2}$</span> , on peut remplacer <span>$f$</span> au voisinage de litéré courant <span>$x_{k}$</span> par son développement de Taylor au second ordre, soit :</p><p><span>$f(y) \sim q(y)=f\left(x_{k}\right)+\nabla f\left(x_{k}\right)^{T}\left(y-x_{k}\right)+\frac{1}{2}\left(y-x_{k}\right)^{T} \nabla^{2} f\left(x_{k}\right)\left(y-x_{k}\right)$</span></p><p>On choisit alors comme point <span>$x_{k+1}$</span> le minimum de la quadratique q lorsquil existe et est unique, ce qui nest le cas que si <span>$\nabla^{2} f (x)$</span> est définie positive. Or le minimum de q est réalisé par <span>$x_{k+1}$</span> solution de : <span>$\nabla q (x_{k+1}) = 0$</span> , soit : <span>$\nabla f\left(x_{k}\right)+\nabla^{2} f\left(x_{k}\right)\left(x_{k+1}-x_{k}\right)=0,$</span></p><p>ou encore, en supposant que <span>$\nabla^{2} f (x_{k})$</span> est définie positive :</p><p><span>$x_{k+1}=x_{k}-\nabla^{2} f\left(x_{k}\right)^{-1} \nabla f\left(x_{k}\right).$</span></p><p>La méthode ne doit cependant jamais être appliquée en utilisant une inversion de la matrice Hessienne (qui peut être de très grande taille et mal conditionnée), mais plutôt en utilisant :</p><p><span>$x_{k+1}=x_{k}+d_{k}$</span><span>$d_{k}$</span> est lunique solution du système linéaire :</p><p><span>$\nabla^{2} f\left(x_{k}\right) d_{k}=-\nabla f\left(x_{k}\right)$</span> , <span>$d_{k}$</span> étant appelée direction de Newton.</p><p>Cette méthode est bien définie si à chaque itération, la matrice hessienne <span>$\nabla^{2} f (x_{k})$</span> est définie positive : ceci est vrai en particulier au voisinage de la solution <span>$x^{*}_{k}$</span> cherchée si on suppose que <span>$\nabla^{2} f (x^{*})$</span> est définie positive (par continuité de <span>$\nabla^{2} f$</span>).</p><h2 id="Algorithme-1"><a class="docs-heading-anchor" href="#Algorithme-1">Algorithme</a><a class="docs-heading-anchor-permalink" href="#Algorithme-1" title="Permalink"></a></h2><h4 id="Données:-1"><a class="docs-heading-anchor" href="#Données:-1">Données:</a><a class="docs-heading-anchor-permalink" href="#Données:-1" title="Permalink"></a></h4><p><span>$f , x_{0}$</span> première approximation de la solution cherchée, <span>$\epsilon &gt; 0$</span> précision demandée.</p><h4 id="Sorties-1"><a class="docs-heading-anchor" href="#Sorties-1">Sorties</a><a class="docs-heading-anchor-permalink" href="#Sorties-1" title="Permalink"></a></h4><p>une approximation de la solution du problème <span>$\min _{x \in \mathbb{R}^{n}} f(x)$</span> .</p><h4 id=".Tant-que-le-test-de-convergence-est-non-satisfait-1"><a class="docs-heading-anchor" href="#.Tant-que-le-test-de-convergence-est-non-satisfait-1">1.Tant que le test de convergence est non satisfait</a><a class="docs-heading-anchor-permalink" href="#.Tant-que-le-test-de-convergence-est-non-satisfait-1" title="Permalink"></a></h4><p>a. Calculer <span>$d_k$</span> solution du système : <span>$\nabla^{2} f (x_{k}) d_{k} = - \nabla f (x_{k})$</span></p><p>b. Mise à jour : <span>$x_{k+1} = x_{k}+ d_{k} , k = k + 1$</span></p><h4 id=".Retourner-:-x_{k}.-1"><a class="docs-heading-anchor" href="#.Retourner-:-x_{k}.-1">2.Retourner : <span>$x_{k}$</span>.</a><a class="docs-heading-anchor-permalink" href="#.Retourner-:-x_{k}.-1" title="Permalink"></a></h4><h2 id="Tests-de-convergence-1"><a class="docs-heading-anchor" href="#Tests-de-convergence-1">Tests de convergence</a><a class="docs-heading-anchor-permalink" href="#Tests-de-convergence-1" title="Permalink"></a></h2><ol><li>Convergence, <span>$\|\nabla f(x^{(k+1)})\|$ petit : $\|\nabla f(x^{(k+1)})\| \leq \max(\texttt{Tol\_rel}\|\nabla f(x^{(0)})\|,\texttt{Tol\_abs})$</span></li><li>Stagnation de <span>$x_k$</span>, <span>$d^{(k)}=x^{(k+1)}-x^{(k)}$</span> petit : <span>$\|x^{(k+1)}-x^{(k)}\| \leq \max(\texttt{Tol\_rel}\|x^{(k)}\|,\texttt{Tol\_abs})$</span></li><li>Stagnation de <span>$f$</span> : <span>$|f(x^{(k+1)}) - f(x^{(k)})| \leq \max(\texttt{Tol\_rel}|f(x^{(k)})|,\texttt{Tol\_abs})$</span></li><li>Le nombre d&#39;itération maximal est atteint.</li></ol></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="Sujet.html">« Sujet</a><a class="docs-footer-nextpage" href="Regions_de_confiance.html">La méthode des régions de confiance »</a></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> on <span class="colophon-date" title="Monday 8 November 2021 11:31">Monday 8 November 2021</span>. Using Julia version 1.4.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>