This commit is contained in:
gergaud 2020-11-09 13:30:20 +01:00
parent 854abf635a
commit 32d7e615c9
2 changed files with 46 additions and 38 deletions

View file

@ -1,5 +1,11 @@
# Optinum - Méthodes numériques pour les problèmes doptimisation
## Organisation
Le projet d'optimisation numérique est à réalisé par binôme (dans un même groupe de tp). Nous vous laissons vous organniser pour faire ces binômes. Lors des séances de tp, nous passerons 10 à 15 minutes par binôme dans les salons discords dédiés. Nous ne verrons donc pas nécessairement tous les binômes à chaque séance de tp. Durant ces recontres nous ferons un point d'avancement de votre projet et répondrons à vos questions. Ces rencontres seront en partie évalué et ceci entrera dans la notation du projet.
Vous pouvez travaillé sur vos machine, mais vous pouvez aussi travailler sur les machines de l'enseeiht (en utilisant `x2go`
## Introduction
Le package [Optinum](https://github.com/mathn7/Optinum) concerne le projet dOptimisation Numérique pour lannée 2020-2021 de l'École INP-ENSEEIHT. Pour récupérer le répertoire Optinum et toute la structuration il vous faut cloner ce dépot GitHub. Pour cela, ouvrer une fenêtre de commande et cloner ce dépot (il faut que git soit installé sur votre machine) :
`git clone https://github.com/mathn7/Optinum.git`
@ -12,7 +18,7 @@ Les fichiers `julia` que vous aurez à modifier se trouvent dans le répertoire
Pour réaliser ce projet, vous avez besoin :
1. de `julia`, version 1.4.1 ou plus récente;
2. des packages IJulia (pour avoir accès à `jupyter notebook pour julia)
2. des packages IJulia (pour avoir accès à `jupyter notebook` pour julia)
3. des packages LinearAlgebra, Markdown
###### Auteurs : O.Cots, J. Gergaud, S. Gratton, P. Matalon, C. Royer, D. Ruiz et E. Simon

View file

@ -26,7 +26,7 @@
},
{
"cell_type": "code",
"execution_count": 28,
"execution_count": 1,
"metadata": {},
"outputs": [
{
@ -35,49 +35,51 @@
"text": [
"-------------------------------------------------------------------------\n",
"\u001b[34m\u001b[1mRésultats de : Newton appliqué à f2 au point initial [0.0, 0.0050000000010000005]:\u001b[22m\u001b[39m\n",
" * xsol = [-4.999999586298179e9, 2.499999586298196e19]\n",
" * f(xsol) = 2.499999587298196e19\n",
" * nb_iters = 1\n",
" * flag = 3\n",
" * xsol = [0.0, 0.0]\n",
" * f(xsol) = 0\n",
" * nb_iters = 0\n",
" * flag = 0\n",
" * sol_exacte : [1, 1]\n",
"hess_f2(xmin) = [1.9999996690385565e22 1.9999998345192715e12; 1.9999998345192715e12 200.0]\n",
"cond(H) = 7.036873253299342e35\n",
"hess_f2(xmin) = [2.0 -0.0; -0.0 200.0]\n",
"cond(H) = 100.0\n",
"-------------------------------------------------------------------------\n",
"\u001b[34m\u001b[1mRésultats de : Newton appliqué à f2 au point initial [0.0, 0.0050000000010000005]:\u001b[22m\u001b[39m\n",
" * xsol = [-5.00000310473568e9, 2.5000031047354057e19]\n",
" * f(xsol) = 2.5015352823034896e19\n",
" * nb_iters = 2\n",
" * flag = 3\n",
" * xsol = [0.0, 0.0]\n",
" * f(xsol) = 0\n",
" * nb_iters = 0\n",
" * flag = 0\n",
" * sol_exacte : [1, 1]\n",
"hess_f2(xmin) = [2.0000024837898096e22 2.000001241894272e12; 2.000001241894272e12 200.0]\n",
"cond(H) = 4.0441857223131525e32\n",
"hess_f2(xmin) = [2.0 -0.0; -0.0 200.0]\n",
"cond(H) = 100.0\n",
"-------------------------------------------------------------------------\n",
"\u001b[34m\u001b[1mRésultats de : Newton appliqué à f2 au point initial [0.0, 0.0050000000010000005]:\u001b[22m\u001b[39m\n",
" * xsol = [-5.00000310271359e9, 2.5000031027145523e19]\n",
" * f(xsol) = 2.500003103714553e19\n",
" * nb_iters = 3\n",
" * flag = 3\n",
" * xsol = [0.0, 0.0]\n",
" * f(xsol) = 0\n",
" * nb_iters = 0\n",
" * flag = 0\n",
" * sol_exacte : [1, 1]\n",
"hess_f2(xmin) = [2.0000024821716417e22 2.0000012410854358e12; 2.0000012410854358e12 200.0]\n",
"cond(H) = Inf\n"
]
},
{
"ename": "SingularException",
"evalue": "SingularException(2)",
"output_type": "error",
"traceback": [
"SingularException(2)",
"",
"Stacktrace:",
" [1] checknonsingular at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/factorization.jl:19 [inlined]",
" [2] checknonsingular at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/factorization.jl:21 [inlined]",
" [3] lu!(::Array{Float64,2}, ::Val{true}; check::Bool) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/lu.jl:85",
" [4] #lu#142 at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/lu.jl:273 [inlined]",
" [5] lu at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/lu.jl:272 [inlined] (repeats 2 times)",
" [6] \\(::Array{Float64,2}, ::Array{Float64,1}) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/generic.jl:1116",
" [7] Algorithme_De_Newton(::typeof(f2), ::typeof(grad_f2), ::typeof(hess_f2), ::Array{Float64,1}, ::Array{Float64,1}) at /Users/gergaud/ENS/optinum/TP/OptinumProf/src/Algorithme_De_Newton.jl:61",
" [8] top-level scope at ./In[28]:70"
"hess_f2(xmin) = [2.0 -0.0; -0.0 200.0]\n",
"cond(H) = 100.0\n",
"-------------------------------------------------------------------------\n",
"\u001b[34m\u001b[1mRésultats de : Newton appliqué à f2 au point initial [0.0, 0.0050000000010000005]:\u001b[22m\u001b[39m\n",
" * xsol = [0.0, 0.0]\n",
" * f(xsol) = 0\n",
" * nb_iters = 0\n",
" * flag = 0\n",
" * sol_exacte : [1, 1]\n",
"hess_f2(xmin) = [2.0 -0.0; -0.0 200.0]\n",
"cond(H) = 100.0\n",
"-------------------------------------------------------------------------\n",
"\u001b[34m\u001b[1mRésultats de : Newton appliqué à f2 au point initial [0.0, 0.0050000000010000005]:\u001b[22m\u001b[39m\n",
" * xsol = [0.0, 0.0]\n",
" * f(xsol) = 0\n",
" * nb_iters = 0\n",
" * flag = 0\n",
" * sol_exacte : [1, 1]\n",
"hess_f2(xmin) = [2.0 -0.0; -0.0 200.0]\n",
"cond(H) = 100.0\n",
"[-2.0, 1.0000000002]\n",
"[-4.000000330961484e-10 -0.0; -0.0 200.0]\n"
]
}
],