-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
82 changed files
with
52,989 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+6 KB
UE-Optimisation et Recherche opérationnelle/Optimisation/Projet/.DS_Store
Binary file not shown.
Binary file added
BIN
+5.98 MB
UE-Optimisation et Recherche opérationnelle/Optimisation/Projet/optinum-master.tar
Binary file not shown.
2 changes: 2 additions & 0 deletions
2
UE-Optimisation et Recherche opérationnelle/Optimisation/Projet/optinum-master/.gitignore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Manifest.toml | ||
/docs/Manifest.toml |
22 changes: 22 additions & 0 deletions
22
UE-Optimisation et Recherche opérationnelle/Optimisation/Projet/optinum-master/.travis.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
language: julia | ||
os: | ||
- osx | ||
- linux | ||
- windows | ||
julia: | ||
- 1.4 | ||
beofre_script: | ||
- julia -e 'using Pkg; Pkg.add(PackageSpec(url="https://github.com/mathn7/TestOptinum.git"))' | ||
|
||
notifications: | ||
email: false | ||
|
||
jobs: | ||
include: | ||
- stage: Documentation | ||
julia: 1.4 | ||
os: linux | ||
script: | ||
- julia --project=docs -e 'using Pkg; Pkg.instantiate(); Pkg.develop(PackageSpec(path=pwd()))' | ||
- julia --project=docs --color=yes docs/make.jl | ||
after_success: skip |
13 changes: 13 additions & 0 deletions
13
UE-Optimisation et Recherche opérationnelle/Optimisation/Projet/optinum-master/Project.toml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
name = "Optinum" | ||
uuid = "289cfbba-6966-46b0-8dde-953cd55d6e8f" | ||
authors = ["relmo <[email protected]>"] | ||
version = "0.1.0" | ||
|
||
[deps] | ||
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" | ||
GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" | ||
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" | ||
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" | ||
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" | ||
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" | ||
TestOptinum = "a6016688-b6f6-4950-8384-ab0954b6af15" |
27 changes: 27 additions & 0 deletions
27
...sation et Recherche opérationnelle/Optimisation/Projet/optinum-master/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Optinum | ||
|
||
|
||
Pour récupérer Optinum, il faut cloner ce dépot git : | ||
|
||
`> git clone https://gitlab.irit.fr/toc/mathn7/optimisation-numerique/optinum.git` | ||
|
||
Pour récupérer les tests unitaires | ||
|
||
`> git clone https://gitlab.irit.fr/toc/mathn7/optimisation-numerique/optinum-test.git` | ||
|
||
Ensuite, pour accéder au sujet du TP ouvrir | ||
|
||
`optinum/docs/build/index.html` | ||
|
||
optinum/src contient le corps (à compléter) des algorithmes d'optimisation vus en cours d'Optimisation Numérique. | ||
|
||
`optinum-test/src` contient les tests unitaires que vous avez à compléter. | ||
|
||
#### Fichiers à ne pas modifier : | ||
* `src/Optinum.jl` | ||
* `test/runtests.jl` | ||
* `Project.toml` | ||
* `Manifest.toml` | ||
* `docs/Project.toml` | ||
* `docs/Manifest.toml` | ||
* `docs/assets/` |
4 changes: 4 additions & 0 deletions
4
...misation et Recherche opérationnelle/Optimisation/Projet/optinum-master/docs/Project.toml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[deps] | ||
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" | ||
Optinum = "289cfbba-6966-46b0-8dde-953cd55d6e8f" | ||
TestOptinum = "a6016688-b6f6-4950-8384-ab0954b6af15" |
2 changes: 2 additions & 0 deletions
2
...he opérationnelle/Optimisation/Projet/optinum-master/docs/build/Algorithme_de_newton.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<!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> |
Oops, something went wrong.