diff --git a/docs/make.jl b/docs/make.jl index a133b84..ad4570d 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -19,13 +19,13 @@ makedocs( "Annexes" => "Annexes.md", #"Exemples d'appels" =>"Exemples.md", "Mise en place" => "mise_en_place.md", - "Julia vs MatLab"=> "julia_vs_matlab.md", - "Création de Modules en Julia" => "create_package.md", - "Création d'un dépôt Git pour un module Julia" => "git_doc.md", - "Géneration de la doc" => "generation_doc.md", - "Intégration continue et déploiement de la Doc avec Travis" =>"Integration_continue.md", - "Précompilation des modules"=>"Precompilation.md", - "Génération du rapport" => "generate_pdf.md", + #"Julia vs MatLab"=> "julia_vs_matlab.md", + #"Création de Modules en Julia" => "create_package.md", + #"Création d'un dépôt Git pour un module Julia" => "git_doc.md", + #"Géneration de la doc" => "generation_doc.md", + #"Intégration continue et déploiement de la Doc avec Travis" =>"Integration_continue.md", + #"Précompilation des modules"=>"Precompilation.md", + #"Génération du rapport" => "generate_pdf.md", "Foire aux Questions" =>"FAQ.md" ] diff --git a/docs/src/Annexes.md b/docs/src/Annexes.md index b74beba..c45d4e9 100644 --- a/docs/src/Annexes.md +++ b/docs/src/Annexes.md @@ -2,19 +2,19 @@ Les problèmes de minimisation sans contraintes à résoudre sont les suivants : -###### Problème 1 +#### Problème 1 ``\hspace*{1.5cm}`` ``\begin{aligned} f_{1}: \mathbb{R}^{3} & \rightarrow \mathbb{R} \\ \left(x_{1}, x_{2}, x_{3}\right) & \mapsto 2\left(x_{1}+x_{2}+x_{3}-3\right)^{2}+\left(x_{1}-x_{2}\right)^{2}+\left(x_{2}-x_{3}\right)^{2} \end{aligned}`` -On cherchera à minimiser ``f_{1}`` sur ``R^{3}`` , en partant des points suivants: ``\\`` +On cherchera à minimiser ``f_{1}`` sur ``\mathbb{R}^{3}`` , en partant des points suivants : ``\\`` ``\hspace*{2cm}`` ``x_{011}=\left[\begin{array}{c} 1 \\ 0 \\ 0 \end{array}\right], \quad x_{012}=\left[\begin{array}{c} 10 \\ 3 \\ -2.2 \end{array}\right]`` -###### Problème 2 +#### Problème 2 ``\hspace*{1.5cm}`` ``\begin{aligned} f_{2}: \mathbb{R}^{2} & \rightarrow \mathbb{R} \\ \left(x_{1}, x_{2}\right) & \mapsto 100\left(x_{2}-x_{1}^{2}\right)^{2}+\left(1-x_{1}\right)^{2} \end{aligned}`` -On cherchera à minimiser ``f_{2}`` sur ``R^{2}`` , en partant des points suivants:``\\`` +On cherchera à minimiser ``f_{2}`` sur ``\mathbb{R}^{2}`` , en partant des points suivants :``\\`` ``x_{0 2 1}=\left[\begin{array}{c} -1.2 \\ 1 \end{array}\right]\\`` @@ -29,15 +29,15 @@ On cherchera à minimiser ``f_{2}`` sur ``R^{2}`` , en partant des points suivan On considère des fonctions quadratiques de la forme ``q(s)=s^{\top} g+\frac{1}{2} s^{\top} H s`` -###### Quadratique 1 +#### Quadratique 1 ``g=\left[\begin{array}{l} 0 \\ 0 \end{array}\right]``,``H=\left[\begin{array}{ll} 7 & 0 \\ 0 & 2 \end{array}\right]\\`` -###### Quadratique 2 +#### Quadratique 2 ``g=\left[\begin{array}{l} 6 \\ 2 \end{array}\right]``,``H=\left[\begin{array}{ll} 7 & 0 \\ 0 & 2 \end{array}\right]\\`` -###### Quadratique 3 +#### Quadratique 3 ``g=\left[\begin{array}{l} -2 \\ 1 \end{array}\right]``,``H=\left[\begin{array}{ll} -2 & 0 \\ 0 & 10 \end{array}\right]\\`` @@ -45,15 +45,15 @@ On considère des fonctions quadratiques de la forme ``q(s)=s^{\top} g+\frac{1}{ On reprendra les 3 quadratiques testées avec le pas de Cauchy, auxquelles on ajoutera : -###### Quadratique 4 +#### Quadratique 4 ``g=\left[\begin{array}{l} 0 \\ 0 \end{array}\right]``, ``H=\left[\begin{array}{ll} -2 & 0 \\ 0 & 10 \end{array}\right]\\`` -###### Quadratique 5 +#### Quadratique 5 ``g=\left[\begin{array}{l} 2 \\ 3 \end{array}\right]``,``H=\left[\begin{array}{ll} 4 & 6 \\ 6 & 5 \end{array}\right]\\`` -###### Quadratique 6 +#### Quadratique 6 ``g=\left[\begin{array}{l} 2 \\ 0 \end{array}\right]``, ``H=\left[\begin{array}{ll} 4 & 0 \\ 0 & -15 \end{array}\right]\\`` @@ -62,10 +62,10 @@ On reprendra les 3 quadratiques testées avec le pas de Cauchy, auxquelles on aj ## D. Problèmes avec contraintes -#### Retour sur f1 -On s'intéresse à la valeur minimale de f1 sur un ensemble défini par une contrainte linéaire. La formulation du problème sera alors +### Retour sur ``f_1`` +On s'intéresse à la valeur minimale de ``f_1`` sur un ensemble défini par une contrainte linéaire. La formulation du problème sera alors -``\min _{x \in \mathbb{R}^{3}} f_{1}(x) \text { s.t. } x_{1}+x_{3}=1`` +``\min _{x_{1}+x_{3}=1; x \in \mathbb{R}^{3}} f_{1}(x)`` On choisira comme point initial @@ -75,10 +75,10 @@ ou ``x_{c 12}=\left[\begin{array}{l} 0.5 \\ 1.25 \\ 1 \end{array}\right]`` (non réalisable) . -#### Retour sur f2 - On cherche à minimiser la fonction f2 décrite dans la partie précédente, en se restreignant maintenant à une sphère. Le problème s'écrit : +#### Retour sur ``f_2`` + On cherche à minimiser la fonction ``f_2`` décrite dans la partie précédente, en se restreignant maintenant à une sphère. Le problème s'écrit : -``\min _{x \in \mathbb{R}^{2}} f_{2}(x) \quad \text { s.t. } \quad x_{1}^{2}+x_{2}^{2}=1.5`` +``\min _{x_{1}^{2}+x_{2}^{2}=1.5; x \in \mathbb{R}^{2}} f_{2}(x)`` On choisira comme point initial @@ -88,8 +88,8 @@ ou ``x_{c 22}=\left[\begin{array}{c} \sqrt{3} / 2 \\ \sqrt{3} / 2 \end{array}\right]`` (réalisable). -#### Un problème avec contraintes d'inégalité (supplément) +### Un problème avec contraintes d'inégalité (supplément) ``\left\{\begin{array}{lll} \min _{(x, y) \in \mathbb{R}^{2}} f_{3}(x, y) & = & (x-1)^{2}+(y-2.5)^{2} \\ x-2 y+2 & \geq & 0 \\ -x-2 y+6 & \geq & 0 \\ -x+2 y+2 & \geq & 0 \\ x & \geq & 0 \\ y & \geq & 0 \end{array}\right.`` -L'origine porra être prise comme point initial. +L'origine pourra être prise comme point initial. diff --git a/docs/src/Lagrangien_augmente.md b/docs/src/Lagrangien_augmente.md index a013d76..cfa71e2 100644 --- a/docs/src/Lagrangien_augmente.md +++ b/docs/src/Lagrangien_augmente.md @@ -1,23 +1,23 @@ # Principe La méthode du lagrangien augmenté appartient à une classe d'algorithme qui -permettent la résolution des problèmes avec contraintes.Elle s'apparente aux méthodes de +permettent la résolution des problèmes avec contraintes. Elle s'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. # Algorithme du Lagrangien augmenté pour contraintes d'égalité - On s'intéresse ici au cas où l'ensemble C est défini par un ensemble des contraintes d'égalités. + On s'intéresse ici au cas où l'ensemble ``C`` est défini par un ensemble des contraintes d'égalités. Le problème se met ainsi sous la forme : - ``\min _{x \in \mathbb{R}^{n}} f(x)`` ; ``c(x)=0`` + ``\min _{c(x) = 0; x \in \mathbb{R}^{n}} f(x)`` où ``c : \mathbb{R}^{n} \rightarrow \mathbb{R}^{m}``. L'algorithme suivant est obtenu de Bierlaire, *Introduction à l'optimisation différentiable*. ### Données : -``\mu_{0} > 0, \tau > 0, \hat{\eta}_{0}=0.1258925 , \alpha=0.1, \beta=0.9, \epsilon_{0}=1 , \mu_{0}, \eta_{0}=\hat{\eta}_{0} / \mu_{0}^{\alpha}`` , et un point de départ du Lagrangien ``(x_{0},\lambda_{0})``. On pose ``k = 0`` +``\mu_{0} > 0, \tau > 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}`` , et un point de départ du Lagrangien ``(x_{0},\lambda_{0})``. On pose ``k = 0`` ### Sorties : une approximation de la solution du problème avec contraintes. @@ -25,9 +25,9 @@ une approximation de la solution du problème avec contraintes. ### 1. Tant qu'il n'y a pas convergence, répéter a. Calculer approximation un minimiseur ``x_{k+1}`` du problème sans contraintes suivant : - ``\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}`` + ``\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},`` -avec ``x_{k}`` comme point de départ ,en terminant lorsque ``\| \nabla_{x} L_{A}\left(x, \lambda_{k}, \mu_{k}\right) \| \leq \epsilon_{k}``. +avec ``x_{k}`` comme point de départ, en terminant lorsque ``\| \nabla_{x} L_{A}\left(x, \lambda_{k}, \mu_{k}\right) \| \leq \epsilon_{k}``. Si convergence de l'algorithme global, s'arrêter , sinon aller en b b. Si ``\|c(x_{k+1})\| \leq \eta_{k}``, mettre à jour (entre autres) les multiplicateurs : @@ -39,3 +39,5 @@ Si convergence de l'algorithme global, s'arrêter , sinon aller en b ``\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.`` ### 2. Retourner ``x_{k},\lambda_{k},\mu_{k}`` . + +[^1] : Pour que ``\eta_0=0.1``. \ No newline at end of file diff --git a/docs/src/Regions_de_confiance.md b/docs/src/Regions_de_confiance.md index 14c005c..28925d9 100644 --- a/docs/src/Regions_de_confiance.md +++ b/docs/src/Regions_de_confiance.md @@ -90,7 +90,7 @@ On s’intéresse maintenant à la résolution approchée du problème (2.1) à ###### Sorties: -le pas s qui approche la solution du problème : ``\min_{\|s \| \leq \Delta_{k}} q(s)`` +le pas ``s`` qui approche la solution du problème : ``\min_{\|s \| \leq \Delta_{k}} q(s)`` où ``q(s)=g^{\top} s+\frac{1}{2} s^{\top} H_{k} s`` diff --git a/docs/src/index.md b/docs/src/index.md index fa67497..441dea9 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,9 +1,13 @@ # Optinum - Méthodes numériques pour les problèmes d’optimisation -Le package [Optinum](https://github.com/mathn7/Optinum) concerne le projet d’Optimisation Numérique pour l’anné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 clone ce dépot (il faut que git soit installé sur votre machine) : +Le package [Optinum](https://github.com/mathn7/Optinum) concerne le projet d’Optimisation Numérique pour l’anné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` **Il ne faut en aucun cas modifier la structuration** de ce projet, ni les interfaces des fonctions. +Les fichiers `julia` que vous aurez à modifier se trouvent dans le répertoire `Optinum/src`. + +Dans ce même répertoire se trouve notebook (`TP-Projet-Optinum.ipynb` que vous aurez aussi à modifier pour faire les expérimentations numériques et répondre aux questions posées. + ###### Auteurs : O.Cots, J. Gergaud, S. Gratton, P. Matalon, C. Royer, D. Ruiz et E. Simon diff --git a/src/TP-Projet.ipynb b/src/TP-Projet-Optinum.ipynb similarity index 100% rename from src/TP-Projet.ipynb rename to src/TP-Projet-Optinum.ipynb