maj documentation

This commit is contained in:
gergaud 2020-11-07 15:50:16 +01:00
parent bad7d52d64
commit 4163d5fded
6 changed files with 39 additions and 33 deletions

View file

@ -19,13 +19,13 @@ makedocs(
"Annexes" => "Annexes.md", "Annexes" => "Annexes.md",
#"Exemples d'appels" =>"Exemples.md", #"Exemples d'appels" =>"Exemples.md",
"Mise en place" => "mise_en_place.md", "Mise en place" => "mise_en_place.md",
"Julia vs MatLab"=> "julia_vs_matlab.md", #"Julia vs MatLab"=> "julia_vs_matlab.md",
"Création de Modules en Julia" => "create_package.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", #"Création d'un dépôt Git pour un module Julia" => "git_doc.md",
"Géneration de la doc" => "generation_doc.md", #"Géneration de la doc" => "generation_doc.md",
"Intégration continue et déploiement de la Doc avec Travis" =>"Integration_continue.md", #"Intégration continue et déploiement de la Doc avec Travis" =>"Integration_continue.md",
"Précompilation des modules"=>"Precompilation.md", #"Précompilation des modules"=>"Precompilation.md",
"Génération du rapport" => "generate_pdf.md", #"Génération du rapport" => "generate_pdf.md",
"Foire aux Questions" =>"FAQ.md" "Foire aux Questions" =>"FAQ.md"
] ]

View file

@ -2,19 +2,19 @@
Les problèmes de minimisation sans contraintes à résoudre sont les suivants : 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}`` ``\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]`` ``\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}`` ``\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]\\`` ``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`` 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]\\`` ``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]\\`` ``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]\\`` ``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 : 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]\\`` ``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]\\`` ``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]\\`` ``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 ## D. Problèmes avec contraintes
#### Retour sur f1 ### Retour sur ``f_1``
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 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 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) . ``x_{c 12}=\left[\begin{array}{l} 0.5 \\ 1.25 \\ 1 \end{array}\right]`` (non réalisable) .
#### Retour sur f2 #### Retour sur ``f_2``
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 : 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 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). ``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.`` ``\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.

View file

@ -1,23 +1,23 @@
# Principe # Principe
La méthode du lagrangien augmenté appartient à une classe d'algorithme qui 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 pénalisation, dans lesquelles on résout le problème avec contraintes à travers une suite de
problèmes sans contraintes. problèmes sans contraintes.
# Algorithme du Lagrangien augmenté pour contraintes d'égalité # 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 : 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}``. où ``c : \mathbb{R}^{n} \rightarrow \mathbb{R}^{m}``.
L'algorithme suivant est obtenu de Bierlaire, *Introduction à l'optimisation différentiable*. L'algorithme suivant est obtenu de Bierlaire, *Introduction à l'optimisation différentiable*.
### Données : ### 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 : ### Sorties :
une approximation de la solution du problème avec contraintes. 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 ### 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 : 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 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 : 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.`` ``\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}`` . ### 2. Retourner ``x_{k},\lambda_{k},\mu_{k}`` .
[^1] : Pour que ``\eta_0=0.1``.

View file

@ -90,7 +90,7 @@ On sintéresse maintenant à la résolution approchée du problème (2.1) à
###### Sorties: ###### 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`` où ``q(s)=g^{\top} s+\frac{1}{2} s^{\top} H_{k} s``

View file

@ -1,9 +1,13 @@
# Optinum - Méthodes numériques pour les problèmes doptimisation # Optinum - Méthodes numériques pour les problèmes doptimisation
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 clone ce dépot (il faut que git soit installé sur votre machine) : 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` `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. **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 ###### Auteurs : O.Cots, J. Gergaud, S. Gratton, P. Matalon, C. Royer, D. Ruiz et E. Simon