3 lines
9.4 KiB
HTML
3 lines
9.4 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>L'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'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'algorithme de Newton local</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="Algorithme_de_newton.html">L'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 l’ité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 lorsqu’il existe et est unique, ce qui n’est 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> où <span>$d_{k}$</span> est l’unique 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 > 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'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>
|