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

3 lines
9.3 KiB
HTML

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>La méthode du Lagrangien augmenté · 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><a class="tocitem" href="Algorithme_de_newton.html">L&#39;algorithme de Newton local</a></li><li><a class="tocitem" href="Regions_de_confiance.html">La méthode des régions de confiance</a></li><li class="is-active"><a class="tocitem" href="Lagrangien_augmente.html">La méthode du Lagrangien augmenté</a><ul class="internal"><li class="toplevel"><a class="tocitem" href="#Algorithme-du-Lagrangien-augmenté-pour-contraintes-d&#39;égalité-1"><span>Algorithme du Lagrangien augmenté pour contraintes d&#39;égalité</span></a></li></ul></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="Lagrangien_augmente.html">La méthode du Lagrangien augmenté</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="Lagrangien_augmente.html">La méthode du Lagrangien augmenté</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/Lagrangien_augmente.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="Principe-1"><a class="docs-heading-anchor" href="#Principe-1">Principe</a><a class="docs-heading-anchor-permalink" href="#Principe-1" title="Permalink"></a></h1><p>La méthode du lagrangien augmenté appartient à une classe d&#39;algorithme qui permettent la résolution des problèmes avec contraintes. Elle s&#39;apparente aux méthodes de pénalisation, dans lesquelles on résout le problème avec contraintes à travers une suite de problèmes sans contraintes.</p><h1 id="Algorithme-du-Lagrangien-augmenté-pour-contraintes-d&#39;égalité-1"><a class="docs-heading-anchor" href="#Algorithme-du-Lagrangien-augmenté-pour-contraintes-d&#39;égalité-1">Algorithme du Lagrangien augmenté pour contraintes d&#39;égalité</a><a class="docs-heading-anchor-permalink" href="#Algorithme-du-Lagrangien-augmenté-pour-contraintes-d&#39;égalité-1" title="Permalink"></a></h1><p>On s&#39;intéresse ici au cas où l&#39;ensemble <span>$C$</span> est défini par un ensemble des contraintes d&#39;égalités. Le problème se met ainsi sous la forme :</p><p><span>$\min _{c(x) = 0; x \in \mathbb{R}^{n}} f(x)$</span></p><p><span>$c : \mathbb{R}^{n} \rightarrow \mathbb{R}^{m}$</span>. L&#39;algorithme suivant est obtenu de Bierlaire, <em>Introduction à l&#39;optimisation différentiable</em>.</p><h3 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></h3><p><span>$\mu_{0} &gt; 0, \tau &gt; 0, \hat{\eta}_{0}=0.1258925[^1] , \alpha=0.1, \beta=0.9, \epsilon_{0}=1/\mu_{0}, \eta_{0}=\hat{\eta}_{0} / \mu_{0}^{\alpha}$</span> , et un point de départ du Lagrangien <span>$(x_{0},\lambda_{0})$</span>. On pose <span>$k = 0$</span></p><h3 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></h3><p>une approximation de la solution du problème avec contraintes.</p><h3 id=".-Tant-qu&#39;il-n&#39;y-a-pas-convergence,-répéter-1"><a class="docs-heading-anchor" href="#.-Tant-qu&#39;il-n&#39;y-a-pas-convergence,-répéter-1">1. Tant qu&#39;il n&#39;y a pas convergence, répéter</a><a class="docs-heading-anchor-permalink" href="#.-Tant-qu&#39;il-n&#39;y-a-pas-convergence,-répéter-1" title="Permalink"></a></h3><p>a. Calculer approximation un minimiseur <span>$x_{k+1}$</span> du problème sans contraintes suivant :</p><p><span>$\min _{x \in \mathbb{R}^{n}} L_{A}\left(x, \lambda_{k}, \mu_{k}\right)=f(x)+\lambda_{k}^{T} c(x)+\frac{\mu_{k}}{2}\|c(x)\|^{2},$</span></p><p>avec <span>$x_{k}$</span> comme point de départ, en terminant lorsque <span>$\| \nabla_{x} L_{A}\left(x, \lambda_{k}, \mu_{k}\right) \| \leq \epsilon_{k}$</span>. Si convergence de l&#39;algorithme global, s&#39;arrêter , sinon aller en b</p><p>b. Si <span>$\|c(x_{k+1})\| \leq \eta_{k}$</span>, mettre à jour (entre autres) les multiplicateurs :</p><p><span>$\left\{\begin{array}{l}\lambda_{k+1}=\lambda_{k}+\mu_{k} c\left(x_{k+1}\right) \\ \mu_{k+1}=\mu_{k} \\\epsilon_{k+1}=\epsilon_{k} / \mu_{k} \\\eta_{k+1}=\eta_{k} / \mu_{k}^{\beta} \\k=k+1\end{array}\right.$</span></p><p>c. Autrement, mettre à jour (entre autres) le paramétre de pénalité :</p><p><span>$\left\{\begin{array}{l}\lambda_{k+1} =\lambda_{k} \\\mu_{k+1} =\tau \mu_{k} \\\epsilon_{k+1} =\epsilon_{0} / \mu_{k+1} \\\eta_{k+1} =\hat{\eta}_{0} / \mu_{k+1}^{\alpha} \\k=k+1\end{array}\right.$</span></p><h3 id=".-Retourner-x_{k},\\lambda_{k},\\mu_{k}-.-1"><a class="docs-heading-anchor" href="#.-Retourner-x_{k},\\lambda_{k},\\mu_{k}-.-1">2. Retourner <span>$x_{k},\lambda_{k},\mu_{k}$</span> .</a><a class="docs-heading-anchor-permalink" href="#.-Retourner-x_{k},\\lambda_{k},\\mu_{k}-.-1" title="Permalink"></a></h3><h3 id="Critère-de-convergence-global-1"><a class="docs-heading-anchor" href="#Critère-de-convergence-global-1">3 Critère de convergence global</a><a class="docs-heading-anchor-permalink" href="#Critère-de-convergence-global-1" title="Permalink"></a></h3><p><span>$(\| \nabla_{x} L_{A}\left(x_x, \lambda_{k}, 0 \right) \|\leq max(Tol\_rel\| \nabla_{x} L_{A}\left(x_0, \lambda_{0}, 0\right) \|,Tol\_abs))$</span> et <span>$(\|c(x_k)\|\leq max(Tol\_rel\|c(x_0)\|,Tol\_abs))$</span></p><p><sup class="footnote-reference"><a id="citeref-1" href="#footnote-1">[1]</a></sup> : Pour que <span>$\eta_0=0.1$</span>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="Regions_de_confiance.html">« La méthode des régions de confiance</a><a class="docs-footer-nextpage" href="fct_index.html">Index des fonctions »</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>