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

3 lines
16 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>Accueil · 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 class="is-active"><a class="tocitem" href="index.html">Accueil</a><ul class="internal"><li><a class="tocitem" href="#Rendu-1"><span>Rendu</span></a></li><li><a class="tocitem" href="#Instalation-de-julia-et-jupyter-notebook-sur-vos-machines-1"><span>Instalation de julia et jupyter notebook sur vos machines</span></a></li><li><a class="tocitem" href="#Fichiers-à-modifier-dans-le-cadre-de-ce-projets-1"><span>Fichiers à modifier dans le cadre de ce projets</span></a></li><li><a class="tocitem" href="#Organisation-1"><span>Organisation</span></a></li></ul></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><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 class="is-active"><a href="index.html">Accueil</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="index.html">Accueil</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/index.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="Optinum-Méthodes-numériques-pour-les-problèmes-doptimisation-1"><a class="docs-heading-anchor" href="#Optinum-Méthodes-numériques-pour-les-problèmes-doptimisation-1">Optinum - Méthodes numériques pour les problèmes doptimisation</a><a class="docs-heading-anchor-permalink" href="#Optinum-Méthodes-numériques-pour-les-problèmes-doptimisation-1" title="Permalink"></a></h1><h2 id="Rendu-1"><a class="docs-heading-anchor" href="#Rendu-1">Rendu</a><a class="docs-heading-anchor-permalink" href="#Rendu-1" title="Permalink"></a></h2><p>Le projet est à rendre sous Moodle <em>le vendredi 17 décembre à 18h00</em>. Vous rendrez un fichier compressé <code>nom du binome .tgz</code> qui déarchivez contiendra un répertoire <code>votre nom</code> qui lui-même contiendra vos répertoire Optinum et TestOptinum. Votre notebook doit se trouver dans le sous répertoire <code>Optinum/src</code>.</p><h2 id="Instalation-de-julia-et-jupyter-notebook-sur-vos-machines-1"><a class="docs-heading-anchor" href="#Instalation-de-julia-et-jupyter-notebook-sur-vos-machines-1">Instalation de julia et jupyter notebook sur vos machines</a><a class="docs-heading-anchor-permalink" href="#Instalation-de-julia-et-jupyter-notebook-sur-vos-machines-1" title="Permalink"></a></h2><h3 id="Introduction-1"><a class="docs-heading-anchor" href="#Introduction-1">Introduction</a><a class="docs-heading-anchor-permalink" href="#Introduction-1" title="Permalink"></a></h3><p>Dans les salles de TP, <code>julia</code> et <code>jupyter</code> sont déjà installés. </p><h3 id="Installation-de-julia-1"><a class="docs-heading-anchor" href="#Installation-de-julia-1">Installation de julia</a><a class="docs-heading-anchor-permalink" href="#Installation-de-julia-1" title="Permalink"></a></h3><p>Remarque : Il vaut mieux désinstaller, julia, atom, juno, conda et les packages associés si vous avez déjà fait des installations.</p><p>Pour installer <code>julia</code> sur Windows, MacOS ou Linux, le plus simple est de se rendre dans <code>julialang.org</code> dans la section des téléchargements. Vous pouvez télécharger <code>juliaPro</code> (julia+atom+juno).</p><h3 id="Installation-du-package-IJulia-et-lancement-d&#39;un-notebook,-version-Linux-et-MacOS-1"><a class="docs-heading-anchor" href="#Installation-du-package-IJulia-et-lancement-d&#39;un-notebook,-version-Linux-et-MacOS-1">Installation du package IJulia et lancement d&#39;un notebook, version Linux et MacOS</a><a class="docs-heading-anchor-permalink" href="#Installation-du-package-IJulia-et-lancement-d&#39;un-notebook,-version-Linux-et-MacOS-1" title="Permalink"></a></h3><ul><li>Lancer julia</li><li>Dans la fenêtre ce commande taper le caractère ], cela fait passer <code>julia</code> dans le mode gestion des packages et de l&#39;environnenment (<code>v1.4</code> car sur ma machine c&#39;est la version 1.4 de julia). </li></ul><p><code>(@v1.4) pkg&gt; add IJulia</code></p><ul><li>Revenir en mode commande : taper la touche <code>backspace</code></li><li>Ce mettre dans un répertoire au dessus du répertoire Optinum dans lequel il y a un notebbok et lancer notebook </li></ul><p><code>julia&gt; notebook()</code></p><p>Cela devrait fonctionner.</p><h3 id="Installation-du-package-IJulia-et-lancement-d&#39;un-notebook,-version-windows-1"><a class="docs-heading-anchor" href="#Installation-du-package-IJulia-et-lancement-d&#39;un-notebook,-version-windows-1">Installation du package IJulia et lancement d&#39;un notebook, version windows</a><a class="docs-heading-anchor-permalink" href="#Installation-du-package-IJulia-et-lancement-d&#39;un-notebook,-version-windows-1" title="Permalink"></a></h3><p>Pour windows il faut considérer l&#39;installation de Anaconda complet. Depuis le navigateur anaconda, on peut alors invoquer un jupyter_lab, et associer le kernel julia 1.5.2 associé à l&#39;installation de julia-pro, et ensuite ouvrir n&#39;importe quel fichier &quot;ipynb&quot;.</p><h3 id="Les-projets-en-julia-1"><a class="docs-heading-anchor" href="#Les-projets-en-julia-1">Les projets en julia</a><a class="docs-heading-anchor-permalink" href="#Les-projets-en-julia-1" title="Permalink"></a></h3><p>Le package <a href="https://github.com/mathn7/Optinum">Optinum</a> concerne le projet dOptimisation Numérique pour lannée 2020-2021 de l&#39;É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) : </p><p><code>git clone https://github.com/mathn7/Optinum.git</code></p><p>Ce répertoire est un <code>Projet julia</code>, c&#39;est-à-dire un ensemble de fichiers organisés de la façon suivante : </p><ul><li>Un fichier <code>Project.toml</code>. C&#39;est l&#39;existence de ce fichier qui signale que l&#39;ensemble des fichiers du répertoire définit un <code>projet julia</code>. Ce fichier contient des méta-données importantes sur le projet : <ul><li>un nom : name = &quot;Optinum&quot;</li><li>un identifiant : uuid = &quot;289cfbba-6966-46b0-8dde-953cd55d6e8f&quot;</li><li>les auteurs : authors = [&quot;relmo &lt;rachid.elmontassir@etu.enseeiht.fr&gt;&quot;]</li><li>un numero de version : version = &quot;0.1.0&quot;</li><li>une liste de packages externes que le projet peut utiliser</li></ul></li><li>Un fichier <code>Manifest.toml</code>qui est optionnel et qui contient des versions de chacune des dépendances listées dans <code>Project.toml</code></li><li>un fichier <code>src/Optinum.jl</code>qui est le fichier qui sera chargé par l&#39;instruction <code>using</code> si le projet est utilisé comme dépendance d&#39;un autre projet (ce qui n&#39;est pas le cas ici).</li><li>un répertoire <code>src</code> qui contient les sources <code>julia</code></li><li>un répertoire <code>docs</code> pour générer la documentation</li><li>un répertoire <code>test</code>pour les tests unitaires</li><li>un fichier <code>Markdown README.md</code> qui contient ce qui sera affiché sous un gestionaire du type <code>GitHub</code>.</li></ul><h3 id="Soucis-d&#39;installation-1"><a class="docs-heading-anchor" href="#Soucis-d&#39;installation-1">Soucis d&#39;installation</a><a class="docs-heading-anchor-permalink" href="#Soucis-d&#39;installation-1" title="Permalink"></a></h3><p>Sous <code>linux</code> après installation du package <code>IJulia</code> losque vous lancer un notebook situé dans <code>Optinum, jupyter notebook</code> va automatiquement se mettre dans l&#39;environnement d&#39;Optinum. Le soucis est que dans cet environnement vous n&#39;avez pas les bonnes versions des packages. Afin d&#39;avoir ces bonnes versions il vous faut dans la fenêtre de commande <code>julia</code> lancé à partir du répertoire <code>Optinum</code> : </p><ul><li><p>passez dans le mode gestion des packages et de l&#39;envirronenment (touche <code>]</code>)</p></li><li><p>activer l&#39;environnement <code>Optinum</code> </p></li></ul><p>(@v1.4) pkg&gt; activate .</p><ul><li>installer les dépendances avec les bonnes versions </li></ul><p>(Optinum) pkg&gt; instantiate</p><p>Ensuite cela devrait fonctionner et avec le notebook, il est inutile d&#39;installer Mardown, ... car cela est déjà dans l&#39;environnement. Ceci n&#39;est à effectuer qu&#39;une seule fois. Par contre si dans la fenêtre de commande de <code>julia</code> vous exécuter le fichier <code>test-TP-Projet-Optinum.jl</code> et que vous êtes dans l&#39;envirronement général, il vous faut installer les packages nécessaires, mais si vous vous placez dans l&#39;envirronement d&#39;Optinum, cela devrait être ok.</p><p>Remarque : pour voir sous un notebook dans quel environnement vous êtes, vous pouvez exécuter la commande <code>Pkd.status()</code> : <code>julia&gt; using Pkg</code> <code>julia &gt; Pkg.status()</code> vous obtiendrez la liste des packages installés dans l&#39;environnement. Vous pouvez donc comparer ceci avec la liste obtenu dans la fenêtre de commande de <code>julia</code> avant et après l&#39;activation de l&#39;environnement Optinum.</p><p>Remarque : C&#39;est dans le mode gestion des packages et de l&#39;environnenment : </p><ul><li>que l&#39;on peut passer dans l&#39;environnement doc qui permet de générer la documentation</li><li>que l&#39;on peut effectuer les tests utitaires.</li></ul><h2 id="Fichiers-à-modifier-dans-le-cadre-de-ce-projets-1"><a class="docs-heading-anchor" href="#Fichiers-à-modifier-dans-le-cadre-de-ce-projets-1">Fichiers à modifier dans le cadre de ce projets</a><a class="docs-heading-anchor-permalink" href="#Fichiers-à-modifier-dans-le-cadre-de-ce-projets-1" title="Permalink"></a></h2><p><strong>Il ne faut en aucun cas modifier la structuration</strong> de ce projet, ni les interfaces des fonctions.</p><p>Les fichiers <code>julia</code> que vous aurez à modifier se trouvent </p><ol><li>dans le répertoire <code>Optinum/src</code>. Ces fichiers sont : <ol><li><code>TP-Projet-Optinum.ipynb</code>: c&#39;est un julia notebook dans lequel vous ferez toutes vos expérimentations numériques et répondrez aux questions posées. Ce fichier est à ouvrir avec <code>jupyter notebook</code>.</li><li>Les fichiers <code>julia</code> qui codent les algorithmes demandés (voir le notebook).</li></ol></li><li>dans le répertoire <code>TestOptinum/src</code> pour compléter les tests unitaires.</li></ol><p>Enfin vous avez dans le répertoire <code>Optinum/julia</code> le fichier <code>notebook_Julia.pdf</code> d&#39;introduction à <code>julia</code> et à l&#39;utilisation des notebook et dans le répertoire <code>Optinum/julia/scr-julia</code> les notebook d&#39;introduction au langage <code>julia</code>.</p><p>Remarque : vous pouvez travailler sur vos machine, mais vous pouvez aussi travailler sur les machines de l&#39;enseeiht (en utilisant <code>x2go</code> ou <code>ssh</code>). Pour cela il vous faut exécuter le script <code>/usr/local/bin/install_ijulia</code></p><h2 id="Organisation-1"><a class="docs-heading-anchor" href="#Organisation-1">Organisation</a><a class="docs-heading-anchor-permalink" href="#Organisation-1" title="Permalink"></a></h2><p>Le projet d&#39;optimisation numérique est un projet individuel.</p><h6 id="Auteurs-:-O.Cots,-J.-Gergaud,-S.-Gratton,-P.-Matalon,-C.-Royer,-D.-Ruiz-et-E.-Simon-1"><a class="docs-heading-anchor" href="#Auteurs-:-O.Cots,-J.-Gergaud,-S.-Gratton,-P.-Matalon,-C.-Royer,-D.-Ruiz-et-E.-Simon-1">Auteurs : O.Cots, J. Gergaud, S. Gratton, P. Matalon, C. Royer, D. Ruiz et E. Simon</a><a class="docs-heading-anchor-permalink" href="#Auteurs-:-O.Cots,-J.-Gergaud,-S.-Gratton,-P.-Matalon,-C.-Royer,-D.-Ruiz-et-E.-Simon-1" title="Permalink"></a></h6></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="Sujet.html">Sujet »</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>