More code cleanups.
[Projet_Recherche_Operationnelle.git] / rapport / ProjetOptimRO.tex
index affb198be9b1734b0519e7d2bfd5b019b5f190d9..6ffc1f64bc64cce5f108f9648e5acedcf70703f0 100644 (file)
@@ -276,7 +276,7 @@ Définissons quelques notions supplémentaires de base nécessaires à la suite
  \]
 \end{Def}
 \begin{Rmq}
- $ \forall h \in \mathbb{R}^n \ d_{x^\ast}f(h) = \langle \nabla f(x^\ast),h \rangle $
+ $ \forall h \in \mathbb{R}^n \ d_{x^\ast}f(h) = \langle \nabla f(x^\ast),h \rangle = \nabla f(x^\ast)^\top h $
 \end{Rmq}
 \begin{Def}
  Soit $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $ un fonction de classe $ \mathcal{C}^2 $.
@@ -305,7 +305,7 @@ Définissons quelques notions supplémentaires de base nécessaires à la suite
 \subsection{Conditions d'existence d'un extremum}
 
 On peut démontrer que $ \mathcal{C }$ est un ensemble fermé de $ \mathbb{R}^n $ si $ g $ et $ h $ sont continues.
-On peut en déduire que si $ J $ est continue, $ \mathcal{C }$ est un ensemble fermé et borné de $ \mathbb{R}^n $.
+On peut en déduire que si $ J $ est continue, $ \mathcal{C } $ est un ensemble fermé et borné de $ \mathbb{R}^n $.
 \begin{Th}[Théorème de Weierstrass]
  Soient $ \mathcal{C} \neq \emptyset \subset \mathbb{R}^n $ un fermé borné et $ f : \mathcal{C} \longrightarrow \mathbb{R} $ une fonction continue.
  \newline
@@ -340,7 +340,7 @@ On peut en déduire que une condition nécessaire et suffisante pour que $ x^\as
 \begin{proof}
  Elle repose sur le lemme de Farkas \cite{FEA,RON}.
 \end{proof}
-Il est à noter que une condition d'égalité peut se répresenter par deux conditions d'inégalité : $ \forall x \in \mathbb{R}^n \ \forall i \in \{ 1,\ldots,q \} \ h_i(x) = 0 \iff h_i(x) \leq 0 \land h_i(x) \geq 0 $ \cite{FEA}, ce qui peut permettre de réécrire le problème $ \mathcal{P} $ en éliminant les contraintes d'égalités et change la forme des conditions \textit{KKT} à vérifier mais rajoute $ 2q $ conditions d'inégalités et donc $ 2q $  multiplicateurs de Kuhn-Tucker.
+Il est à noter que une condition d'égalité peut se répresenter par deux conditions d'inégalité : $ \forall x \in \mathbb{R}^n \ \forall i \in \{ 1,\ldots,q \} \ h_i(x) = 0 \iff h_i(x) \leq 0 \land h_i(x) \geq 0 $ \cite{FEA}, ce qui peut permettre de réécrire le problème $ \mathcal{P} $ en éliminant les contraintes d'égalités et change la forme des conditions \textit{KKT} à vérifier mais rajoute $ 2q $ conditions d'inégalités et donc $ 2q $ multiplicateurs de Kuhn-Tucker.
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -364,8 +364,7 @@ Un tel algorithme est ainsi déterminé par deux éléments à chaque étape $ k
 
 Un vecteur $ d \in \mathbb{R}^n $ est une direction de descente pour $ J $ à partir d’un point $ x_0 \in \mathbb{R}^n $ si $ t \longmapsto f(x_0 + td) $ est strictement décroissante en $ t = 0 $, c’est-à-dire :
 $$ \exists \eta \in \mathbb{R}_{+}^{*} \ \forall t \in ]0,\eta] \ J(x_0 + td) < J(x_0) $$
-Il est donc important d’analyser le comportement de la fonction $ J $ dans certaines direc-
-tions.
+Il est donc important d’analyser le comportement de la fonction $ J $ dans certaines directions.
 \begin{Prop}
  Soient $ J : \mathbb{R}^n \longrightarrow \mathbb{R} $ différentiable et $ d \in \mathbb{R}^n $.
  \newline
@@ -377,7 +376,7 @@ tions.
 \begin{proof}
  Elle s'effectue en utilisant le développement de Taylor-Young de l’application $ t \longmapsto f(x_0 + td) $ à l’ordre 1.
 \end{proof}
-Cette dernière inégalité garantit une décroissance minimum de la fonction $ J $ dans la direction $ d $ et peut se traduire par : la décroissance de la fonction $ J $, en effectuant un pas de longueur $ t $ dans la direction $ d $ , est au moins égale à la longueur du pas multipliée par une fraction de la pente. Le schéma général d’un algorithme de descente est alors le suivant :
+Cette dernière inégalité garantit une décroissance minimum de la fonction $ J $ dans la direction $ d $ et peut se traduire par : la décroissance de la fonction $ J $, en effectuant un pas de longueur $ t $ dans la direction $ d $, est au moins égale à la longueur du pas multipliée par une fraction de la pente. Le schéma général d’un algorithme de descente est alors le suivant :
 
 \hrulefill
 \newline
@@ -412,12 +411,9 @@ Remarquons que si $ x_k $ est un point stationnaire ($ \iff \nabla J(x_k) = 0 $)
 
 Soit $ x^\ast $ un minimum local de l'objectif $ J $ à optimiser. Supposons que l’on choisisse comme test d’arrêt dans l’algorithme de descente modèle, le critère idéal : "$ x_k = x^\ast $". Dans un monde idéal (i.e. en supposant tous les calculs exacts et la capacité de calcul illimitée), soit l’algorithme s’arrête après un nombre fini d’itérations, soit il construit (théoriquement) une suite infinie $ x_0,x_1,\ldots,x_k,\ldots $ de points de $ \mathbb{R}^n $ qui converge vers $ x^\ast $.
 \newline
-En pratique, un test d’arrêt devra être choisi pour garantir que l’algorithme s’arrête
-toujours après un nombre fini d’itérations et que le dernier point calculé soit suffisamment
-proche de $ x^\ast $.
+En pratique, un test d’arrêt devra être choisi pour garantir que l’algorithme s’arrête toujours après un nombre fini d’itérations et que le dernier point calculé soit suffisamment proche de $ x^\ast $.
 
-Soit $ \varepsilon \in \mathbb{R}_{+}^{*} $ la précision demandée. Plusieurs critères sont à notre disposition : tout d’abord (et c’est le plus naturel), un critère d’optimalité basé sur les conditions nécessaires d’optimalité du premier ordre : en optimisation différentiable
-sans contrainte, on testera si
+Soit $ \varepsilon \in \mathbb{R}_{+}^{*} $ la précision demandée. Plusieurs critères sont à notre disposition : tout d’abord (et c’est le plus naturel), un critère d’optimalité basé sur les conditions nécessaires d’optimalité du premier ordre : en optimisation différentiable sans contrainte, on testera si
 $$ \norme{\nabla J(x_k)} < \varepsilon, $$
 auquel cas l’algorithme s’arrête et fournit l’itéré courant $ x_k $ comme solution.
 
@@ -443,9 +439,7 @@ Supposons pour l’instant résolu le problème du choix de la direction de desc
 \newline
 Soit $ x_0 \in \mathbb{R}^n $ un point non critique et $ d $ une direction de descente de $ J $ en $ x_0 $. Nous cherchons à calculer un pas $ s > 0 $ de sorte que :
 $$ J(x_0 + sd) < J(x_0). $$
-Le choix de ce pas répond généralement à deux objectifs souvent contradictoires : trouver
-le meilleur pas possible et effectuer le moins de calculs possibles. Ces deux objectifs ont
-donné naissance à deux grandes familles : les algorithmes à pas fixe et ceux à pas optimal.
+Le choix de ce pas répond généralement à deux objectifs souvent contradictoires : trouver le meilleur pas possible et effectuer le moins de calculs possibles. Ces deux objectifs ont donné naissance à deux grandes familles : les algorithmes à pas fixe et ceux à pas optimal.
 
 \hrulefill
 \newline
@@ -459,15 +453,7 @@ RECHERCHE LINÉAIRE : PAS OPTIMAL. $ s_k $ solution du problème $ \displaystyle
 
 \hrulefill
 \newline
-Illustrées par les méthodes de descente de gradient, aucune de ces deux stratégies ne
-s’est révélée réellement convaincante : si la première peut être “risquée” du point de vue de
-la convergence, la seconde est souvent loin d’être triviale à mettre en oeuvre (sauf dans le
-cas quadratique) et généralement inutilement coûteuse : en effet, à quoi bon calculer très
-précisément un pas optimal dans une direction qui n’est peut-être pas la bonne ? (comme
-c’est par exemple le cas pour la méthode de plus profonde descente). Les recherches
-linéaires modernes reposent sur l’idée qu’un pas de descente acceptable est un pas qui fait
-“suffisamment” décroître la fonction objectif. Reste alors à définir les pas qui sont
-acceptables et ceux qui ne le sont pas.
+Illustrées par les méthodes de descente de gradient, aucune de ces deux stratégies ne s’est révélée réellement convaincante : si la première peut être “risquée” du point de vue de la convergence, la seconde est souvent loin d’être triviale à mettre en oeuvre (sauf dans le cas quadratique) et généralement inutilement coûteuse : en effet, à quoi bon calculer très précisément un pas optimal dans une direction qui n’est peut-être pas la bonne ? (comme c’est par exemple le cas pour la méthode de plus profonde descente). Les recherches linéaires modernes reposent sur l’idée qu’un pas de descente acceptable est un pas qui fait “suffisamment” décroître la fonction objectif. Reste alors à définir les pas qui sont acceptables et ceux qui ne le sont pas.
 \begin{Def}
  On appelle $ \varphi : s \in \mathbb{R} \longmapsto J(x + sd)$ la fonction mérite associée à $ J $ en $ x $.
 \end{Def}
@@ -499,7 +485,7 @@ $$ x_{k+1} = x_k - H[J](x_k)^{-1} \nabla J(x_k), $$
 où $ d_k = -H[J](x_k)^{-1} \nabla J(x_k) $ est appelée direction de Newton. La direction $ d_k $ est également l’unique solution du problème :
 $$ \underset{d \in \mathbb{R}^n}{\mathrm{argmin}} \ J(x_k) + \langle \nabla J(x_k),d \rangle + \frac{1}{2}\langle H[J](x_k)d,d \rangle $$
 Autrement dit, $ d_k $ est le point de minimum global de l’approximation de second ordre de $ J $ au voisinage du point courant $ x_k $.
-A condition que la matrice $ H[J](x_k) $ soit définie positive à chaque itération, la méthode de Newton est bien une méthode de descente à pas fixe égal à $ 1 $.
+À condition que la matrice $ H[J](x_k) $ soit définie positive à chaque itération, la méthode de Newton est bien une méthode de descente à pas fixe égal à $ 1 $.
 \newline
 Les propriétés remarquables de cet algorithme sont :
 
@@ -519,8 +505,7 @@ Les propriétés remarquables de cet algorithme sont :
  \hline
 \end{tabular}
 \newline
-La question que l’on se pose est donc : comment forcer la convergence globale de l’algorithme de Newton ? L’idée des méthodes de type Newton consiste à reprendre
-l’algorithme de Newton en remplaçant les itérations par :
+La question que l’on se pose est donc : comment forcer la convergence globale de l’algorithme de Newton ? L’idée des méthodes de type Newton consiste à reprendre l’algorithme de Newton en remplaçant les itérations par :
 $$ x_{k+1} = x_k - s_k H_k^{-1} \nabla J(x_k), $$
 où
 \begin{itemize}
@@ -536,12 +521,11 @@ Nous ne répondrons pas à ces questions qui sont hors du cadre de ce projet. Ce
 
 \section{Méthode PQS (ou SQP)}
 
-Nous supposons les fonctions $ J,g,h $ à valeurs réelles et de classe $ \mathcal{C}^1 $.
-Trouver une solution d’un problème d’optimisation sous contraintes fonctionnelles consiste à déterminer un point optimal $ x^\ast $ et des multiplicateurs associés $ (\lambda^\ast,\mu^\ast) $. Deux grandes familles de méthodes peuvent être définies pour la résolution des problèmes d’optimisation sous contraintes : les méthodes primales et les méthodes duales. Les approches primales se concentrent sur la détermination du point $ x^\ast $, les multiplicateurs $ (\lambda,\mu) $ ne servant souvent qu’à vérifier l’optimalité de $ x^\ast $. Les méthodes duales quant à elles mettent l’accent sur la recherche d’un multiplicateur en travaillant sur un problème d’optimisation déduit du problème initial par \textit{dualité}.
+Nous supposons les fonctions $ J,g,h $ à valeurs réelles et de classe $ \mathcal{C}^1 $. Trouver une solution d’un problème d’optimisation sous contraintes fonctionnelles consiste à déterminer un point optimal $ x^\ast $ et des multiplicateurs associés $ (\lambda^\ast,\mu^\ast) $. Deux grandes familles de méthodes peuvent être définies pour la résolution des problèmes d’optimisation sous contraintes : les méthodes primales et les méthodes duales. Les approches primales se concentrent sur la détermination du point $ x^\ast $, les multiplicateurs $ (\lambda,\mu) $ ne servant souvent qu’à vérifier l’optimalité de $ x^\ast $. Les méthodes duales quant à elles mettent l’accent sur la recherche d’un multiplicateur en travaillant sur un problème d’optimisation déduit du problème initial par \textit{dualité}.
 
-\subsection{Algorithmes newtoniens}
+\subsection{Algorithmes Newtoniens}
 
-Les algorithmes newtoniens sont basés sur la linéarisation d’équations caractérisant les solutions que l’on cherche, fournies par les conditions d’optimalité d’ordre $ 1 $. Ces algorithmes sont \textit{primaux-duaux} dans le sens où ils génèrent à la fois une suite primale $ (x_k )_{k \in \mathbb{N}} $ convergeant vers une solution $ \overline{x} $ du problème considéré, et une suite duale $ (\lambda_k)_{k \in \mathbb{N}} $ de multiplicateurs convergeant vers un multiplicateur optimal $ \overline{\lambda} $ associé à $ \overline{x} $.
+Les algorithmes newtoniens sont basés sur la linéarisation d’équations caractérisant les solutions que l’on cherche, fournies par les conditions d’optimalité d’ordre $ 1 $. Ces algorithmes sont \textit{primaux-duaux} dans le sens où ils génèrent à la fois une suite primale $ (x_k )_{k \in \mathbb{N}} $ convergeant vers une solution $ \overline{x} $ du problème considéré, et une suite duale $ (\lambda_k)_{k \in \mathbb{N}} $ (resp. $ ((\lambda_k, \mu_k))_{k \in \mathbb{N}} $) de multiplicateurs convergeant vers un multiplicateur optimal $ \overline{\lambda} $ (resp. $ (\overline{\lambda},\overline{\mu}) $) associé à $ \overline{x} $.
 
 \subsection{Algorithme PQS}
 
@@ -617,8 +601,7 @@ $$
  \end{array}
  \right .
 $$
-On reconnait dans le système ci-dessus les conditions d’optimalité de Lagrange du
-problème quadratique suivant :
+On reconnait dans le système ci-dessus les conditions d’optimalité de Lagrange du problème quadratique suivant :
 $$
  \mathcal{PQ}_k \left \{
  \begin{array}{l}
@@ -633,7 +616,7 @@ Comme son nom l’indique, la méthode PQS consiste à remplacer le problème in
 
 \hrulefill
 \newline
-ALGORITHME SQP AVEC CONSTRAINTES D'ÉGALITÉ.
+ALGORITHME PQS AVEC CONSTRAINTES D'ÉGALITÉ.
 \newline
 \textit{Entrées}: $ J : \mathbb{R}^n \longrightarrow \mathbb{R} $, $ h : \mathbb{R}^n \longrightarrow \mathbb{R}^q $ différentiables, $ x_0 \in \mathbb{R}^n $ point initial arbitraire, $ \lambda_0 \in \mathbb{R}^q $ multiplicateur initial, $ \varepsilon > 0 $ précision demandée.
 \newline
@@ -678,7 +661,7 @@ $$ L(x,\lambda,\mu) = J(x) + \lambda^\top g(x) + \mu^\top h(x), \ \lambda \in \m
 
 \hrulefill
 \newline
-ALGORITHME SQP AVEC CONSTRAINTES D'ÉGALITÉ ET D'INEGALITÉ.
+ALGORITHME PQS AVEC CONSTRAINTES D'ÉGALITÉ ET D'INEGALITÉ.
 \newline
 \textit{Entrées}: $ J : \mathbb{R}^n \longrightarrow \mathbb{R} $, $g: \mathbb{R}^n \longrightarrow \mathbb{R}^p$, $ h : \mathbb{R}^n \longrightarrow \mathbb{R}^q $ différentiables, $ x_0 \in \mathbb{R}^n $ point initial arbitraire, $ \lambda_0 \in \mathbb{R}_+^p $ et $ \mu_0 \in \mathbb{R}_+^q $ multiplicateurs initiaux, $ \varepsilon > 0 $ précision demandée.
 \newline