Add a section on descent methods.
[Projet_Recherche_Operationnelle.git] / rapport / ProjetOptimRO.tex
CommitLineData
e37aec65
JB
1\documentclass[12pt,oneside,a4paper]{book}
2
3
4%%%%%Packages
5
de30386e 6
e37aec65 7\usepackage{latexsym}
66a4e4ad 8\usepackage{amsmath}
8000c039 9\usepackage{amsthm}
66a4e4ad 10\usepackage{mathtools}
e37aec65
JB
11\usepackage{amssymb}
12\usepackage[utf8]{inputenc}
13\usepackage[francais]{babel}
14\usepackage{color}
15\usepackage{geometry}
16\usepackage{graphicx}
17\usepackage{amsfonts}
18\usepackage[T1]{fontenc}
19\usepackage{multirow}
20\usepackage{fancyhdr}
21\usepackage{tocbibind}
22\usepackage{lmodern}
23
24
25%%%%%Marges & en-t\^etes
26
27\geometry{hmargin=2.3cm, vmargin=3cm}
28\fancyhf{} % supprime les en-t\^etes et pieds pr\'ed\'efinis
29\fancyhead[FC]{\bfseries\thepage} % N∞page centre bas
30\fancyhead[HC]{\footnotesize\leftmark} % chapitre centre haut
31\renewcommand{\headrulewidth}{0.2pt} % filet en haut
32\addtolength{\headheight}{0.5pt} % espace pour le filet
66a4e4ad 33\renewcommand{\footrulewidth}{0.2pt} % filet en bas
e37aec65
JB
34
35
36%%%%%Th\'eor\`eme et d\'efinitions
37
38\newtheorem{Def}{D\'efinition}
39\newtheorem{Not}[Def]{Notation}
40\newtheorem{Th}{Th\'eor\`eme}
41\newtheorem{Prop}[Th]{Proposition}
42\newtheorem{Cor}[Th]{Corollaire}
43\newtheorem{Rmq}{Remarque}
44
66a4e4ad 45\newcommand{\norme}[1]{\left\Vert #1\right\Vert}
e37aec65
JB
46
47%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49
50\begin{document}
51
52%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54
55%%%%%Page de garde
56
57\begin{center}
58
b0927d0a 59 %\includegraphics[scale=0.5]{logo_sciences_rvb.png}\\
cec1e8f8 60 \includegraphics[scale=0.5]{polytech.png}\\
b0927d0a
JB
61
62 \vspace*{0.5cm}
63
64 \footnotesize{
65 \large \bf D\'epartement d'Informatique, Réseaux et Multimédia\\
66 \large \bf 5ème année\\
67 }
68
69 \vspace*{0.5cm}
70
71 %\large{Master 2 Professionnel\\
72 %Math\'ematiques et Informatique des Nouvelles Technologies\\}
73
74 \large{Projet \\ en \\ Optimisation et Recherche Opérationnelle \\}
75
76 \vspace*{0.7cm}
77
78 \begin{tabular}{c}
79 \hline
aa023e1c
JB
80 ~ \\
81 \LARGE\textbf {Programmation Séquentielle Quadratique} \\
82 \LARGE\textbf {en} \\
cec1e8f8 83 \LARGE\textbf {Optimisation non linéraire sous contraintes} \\
aa023e1c 84 ~ \\
b0927d0a
JB
85 \hline
86 \end{tabular}
87
88 \vspace*{0.7cm}
89
90 \includegraphics[scale=0.4]{CE.PNG}\\
91
92 \vspace*{0.5cm}
93
94 \large par\\
95
96 %\large \bsc{}\\
97 %\normalsize{M\'emoire encadr\'e par :} \large St\'ephane \bsc{Ballet}\\
98
99 \vspace*{0.2cm}
91df3de1 100 \large {\bf Jérôme \bsc{Benoit} et Sylvain \bsc{Papa}}\\
b0927d0a
JB
101
102 %\vspace*{0.1cm}
103
104 % \large sous la direction de \\
105
106 %\vspace*{0.1cm}
107
108 %Eric Audureau et Thierry Masson
109
110 %\vspace*{1cm}
111
112 \vspace*{1cm}
113
114 %\normalsize{Licence de Mathématiques 3ème année}
115 \normalsize{Année 2018-2019}
e37aec65
JB
116
117\end{center}
118
119\thispagestyle{empty}
120
121\newpage
122
123
124%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
125%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
126
127
128\pagestyle{plain}
129\frontmatter
130
131
132%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
134
135
e37aec65
JB
136%%%%%Table des mati\`eres
137
138\tableofcontents
139
140\begin{figure}[!b]
b0927d0a
JB
141 \begin{center}
142 %\includegraphics{logo_fac2}
143 \includegraphics[scale=0.04]{amu}
144 \end{center}
e37aec65
JB
145\end{figure}
146
147\newpage
148
149
150%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
151%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
152
153
154\mainmatter
155\pagestyle{fancy}
156
157
158%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159\chapter{Introduction générale}
160
8000c039
JB
161L'objectif de ce chapitre est de faire un bref rappel des définitions, notions et résultats essentiels en recherche opérationnelle ainsi que en mathématiques nécessaires à l'étude de la méthode PQS.
162\newline
163Elle est loin d'être exhaustive mais devrait suffire dans le cadre de ce projet.
164
e37aec65
JB
165\vspace{.5em}
166
167\section{Qu'est-ce que la recherche opérationnelle?}
168
64f7c064
JB
169\subsection{Présentation rapide}
170
f899c72b 171La recherche opérationnelle est une discipline dite "hybride" au confluent de plusieurs disciplines dont principalement les mathématiques (l'analyse numérique, les probabilités, la statistique) et l'informatique (l'algorithmie).
e7e85554 172\newline
f899c72b 173On la considère usuellement comme une sous discipline des mathématiques de la décision. Elle a de nombreuses applications, particulièrement en intelligence artificielle.
91df3de1 174
64f7c064
JB
175\subsection{Définition de la problèmatique}
176
f899c72b 177Définissons le problème central $ \mathcal{P} $ que se propose de résoudre la recherche opérationnelle :
6ec0df37 178\begin{Def}
5e4341d1
JB
179 Soient $(n, p, q) \in \mathbb{N}^3$, $x \in \mathbb{R}^n$, une fonction $g: \mathbb{R}^n \longrightarrow \mathbb{R}^p$ représentant les contraintes d'inégalités, une fonction $h: \mathbb{R}^n \longrightarrow \mathbb{R}^q$ représentant les contraintes d'égalités et une fonction dite objectif $J: \mathbb{R}^n \longrightarrow \mathbb{R}$.
180 \newline
181 La problèmatique $ \mathcal{P} $ se définit par :
182 $$
aa023e1c 183 \mathcal{P} \left \{
8000c039 184 \begin{array}{r}
aa023e1c
JB
185 \displaystyle\min_{x \in \mathbb{R}^n} J(x) \\
186 g(x) \leq 0 \\
187 h(x) = 0
188 \end{array}
189 \right .
5e4341d1 190 $$
6ec0df37 191\end{Def}
6ec0df37 192\begin{Def}
5e4341d1
JB
193 On définit $ \mathcal{C} $ l'ensemble des contraintes par :
194 $$ \mathcal{C} = \left \{ x \in \mathbb{R}^n \ | \ g(x) \leq 0 \land h(x) = 0 \right \} $$
6ec0df37 195\end{Def}
3b344e8c 196Elle se doit de résoudre les problèmes d'existence d'une solution ($ \mathcal{C} \neq \emptyset $ et $ \displaystyle\min_{x \in \mathbb{R}^n} J(x) $ défini dans $ \mathcal{C} $) ainsi que de construction d'une solution dans $ \mathcal{C} $.
64f7c064 197
e37aec65
JB
198\section{Qu'est-ce que l'optimisation?}
199
f899c72b
JB
200\subsection{Définition}
201
202La recherche d'une méthode permettant de trouver la solution au problème $ \mathcal{P} $ dans $ \mathcal{C} $ est l'activité principale de l'optimisation.
203\newline
8a00a107 204Si la modélisation de la problèmatique $ \mathcal{P} $ est considérée comme un art, la recherche d'une solution au problème $ \mathcal{P} $ dans $ \mathcal{C} $ est, elle, une science.
f899c72b
JB
205
206\subsection{Quelques définitions annexes}
207
208Définissons quelques notions supplémentaires de base nécessaires à la suite :
209\begin{Def}
210Soient $ \mathbb{R}^n $ un espace topologique, $ A \subset \mathbb{R}^n $ et $ x^\ast \in \mathbb{R}^n $.
211\newline
212On dit que $ x^\ast $ est \textbf{intérieur} à $ A $ si $ A $ est un voisinage de $ x^\ast $. On appelle intérieur de $ A $ l'ensemble des points intérieurs à $ A $ et on le note $ \mathring{A} $.
213\end{Def}
214\begin{Def}
215Soient $ \mathbb{R}^n $ un espace topologique, $ A \subset \mathbb{R}^n $ et $ x^\ast \in \mathbb{R}^n $.
216\newline
217On dit que $ x^\ast $ est \textbf{adhérent} à $ A $ si et seulement si $ \forall V \in \mathcal{V}(x^\ast) \ A \cap V \neq \emptyset $. On appelle adhérence de $ A $ l'ensemble des points adhérents à $ A $ et on le note $ \overline{A} $.
218\end{Def}
f899c72b
JB
219\begin{Def}
220Soient une fonction $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $ et $ x^\ast \in \mathbb{R}^n $.
221\newline
222On dit que $ f $ est continue en $ x^\ast $ si
b6cd6632 223$$ \forall \varepsilon \in \mathbb{R}_{+}^{*} \ \exists \alpha \in \mathbb{R}_{+}^{*} \ \forall x \in \mathbb{R}^n \ \norme{x - x^\ast} \leq \alpha \implies |f(x) - f(x^\ast)| \leq \varepsilon $$
f899c72b 224\end{Def}
d17ef079
JB
225\begin{Def}
226 Soient $ k \in \{ 1,\ldots,n \} $ et une fonction $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $.
227 \newline
228 On dit que la $ k^{ième} $ dérivée partielle de $ f $ existe au point $ x^\ast \in \mathbb{R}^n $ si l’application
229 $$ t \longmapsto f(x^\ast_1,\ldots,x^\ast_{k-1},x^\ast_k + t,x^\ast_{k+1},\ldots,x^\ast_n) $$
230 définie sur un voisinage de $ 0 $ dans $ \mathbb{R} $ et à valeurs dans $ \mathbb{R} $ est dérivable en $ 0 $.
231 \newline
232 Dans ce cas on note
233 $$ \frac{\partial f}{\partial x_k}(x^\ast) $$ ou $$ \partial_k f(x^\ast) $$
234 cette dérivée.
235\end{Def}
66a4e4ad
JB
236\begin{Def}
237 Soient une fonction $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $
238 et $ x^\ast, h \in \mathbb{R}^n $.
d17ef079 239 \newline
66a4e4ad
JB
240 On dit que $ f $ est différentiable en $ x^\ast $ si il existe une application linéraire $ d_{x^\ast}f $ de $ \mathbb{R}^n $ dans $ \mathbb{R} $ telle que
241 \[
242 f(x^\ast + h) = f(x^\ast) + d_{x^\ast}f(h) + \underset{h \rightarrow 0}{\mathrm{o}}(\norme{h})
243 \]
244 Autrement dit il existe une application $ \varepsilon_{x^\ast} $ définie sur le voisinage de $ 0 $ dans $ \mathbb{R}^n $ et à valeurs dans $ \mathbb{R} $
245 telle que $ \lim\limits_{h \rightarrow 0} \varepsilon_{x^\ast}(h) = 0 $ et
246 \[
247 f(x^\ast + h) = f(x^\ast) + d_{x^\ast}f(h) + \norme{h}\varepsilon_{x^\ast}(h)
248 \]
d17ef079 249 On appelle $ d_{x^\ast}f $ la différentielle de $ f $ en $ x^\ast $.
66a4e4ad 250\end{Def}
d17ef079
JB
251\begin{Rmq}
252 On peut démontrer que : $$ d_{x^\ast}f = \sum_{i=1}^n\frac{\partial f}{\partial x_i}(x^\ast) $$.
253\end{Rmq}
5e4341d1
JB
254\begin{Def}
255 Soit une fonction $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $ différentiable.
256 \newline
257 Le gradient de $ f $, noté $\nabla f$, en $ x^\ast \in \mathbb{R}^n$ se définit par :
258 \[
de30386e 259 \nabla f(x^\ast) = (\frac{\partial f}{\partial x_1}(x^\ast),\ldots,\frac{\partial f}{\partial x_n}(x^\ast))
5e4341d1
JB
260 \]
261\end{Def}
d17ef079
JB
262\begin{Rmq}
263 $ \forall h \in \mathbb{R}^n \ d_{x^\ast}f(h) = \langle \nabla f(x^\ast),h \rangle $
264\end{Rmq}
f899c72b
JB
265
266\subsection{Conditions d'existence d'un extremum}
267
3b344e8c
JB
268On peut démontrer que $ \mathcal{C }$ est un ensemble fermé de $ \mathbb{R}^n $ si $ g $ et $ h $ sont continues.
269On peut en déduire que si $ J $ est continue, $ \mathcal{C }$ est un ensemble fermé et borné de $ \mathbb{R}^n $.
270\begin{Th}[Théorème de Weierstrass]
271Soient $ \mathcal{C} \neq \emptyset \subset \mathbb{R}^n $ un fermé borné et $ f : \mathcal{C} \longrightarrow \mathbb{R} $ une fonction continue.
272\newline
b6cd6632 273Alors : $$ \exists x^\ast \in \mathcal{C} \ \forall x \in \mathcal{C} \ f(x) \geq f(x^\ast) $$
3b344e8c
JB
274Autrement dit $ x^\ast $ est un minimum global de $ J $ sur $ \mathcal{C} $.
275\newline
b6cd6632 276De la même façon, il existe un maximum global de $ J $ sur $ \mathcal{C} $.
3b344e8c 277\end{Th}
8000c039 278On en déduit que $ \mathcal{P} $ admet au moins une solution dans le cas où $ J, g ,h $ sont continues \cite{LJK,RON}. L'étude de la convexité de $ J $ sur $ \mathcal{C} $ permet d'explorer l'unicité de la solution \cite{LJK,RON}.
b6cd6632 279
3b344e8c
JB
280\subsection{Conditions de caractérisation d'un extremum}
281
8000c039 282Dans le cas où $ J, g, h $ sont continûment différentiable et ses dérivées sont continues (c'est à dire de classe $ \mathcal{C}^1 $), la recherche du mimimum consiste à faire une descente par gradient [section \ref{descente}] de $ J $ sur $ \mathcal{C} $ avec comme critère d'arrêt : $ x_i = \displaystyle\min_{x \in \mathcal{C}} J(x) \iff \forall \varepsilon \in \mathbb{R}_{+}^{*} \ \norme{\nabla J(x_i)} < \varepsilon $, $ i \in \mathbb{N} $ \cite{FEA}.
f899c72b 283\newline
b6cd6632 284On peut en déduire que une condition nécessaire et suffisante pour que $ x^\ast \in \mathring{\mathcal{C}} $ soit un des extremums locaux de $ J $ est que $ \nabla J(x^\ast) = 0 $. Mais si $ x^\ast \in \overline{\mathcal{C}}\setminus\mathring{\mathcal{C}} $ (la frontière de $ \mathcal{C} $) alors $ \nabla J(x^\ast) $ n'est pas nécessairement nul. Il sera par conséquent nécessaire de trouver d'autres caratérisations d'un extremum \cite{FEA,WAL}.
f899c72b 285
8000c039 286\subsubsection{Conditions de Karuch-Kuhn-Tucker}\label{KKT}
f899c72b
JB
287
288\begin{Th}
289Soient $ x^\ast \in \mathbb{R}^n $, $ I = \{ 1,\ldots,p \} $ et $ J = \{ 1,\ldots,q \} $.
290\newline
8000c039 291Les conditions nécessaires pour que $ x^\ast \in \mathcal{C}$ soit un minimum local de $ J $ sont :
f899c72b
JB
292\newline
293\newline
8a00a107
JB
294\centerline{$ \{ \nabla g_1(x^\ast),\ldots,\nabla g_p(x^\ast),\nabla h_1(x^\ast),\ldots,\nabla h_q(x^\ast) \} $ sont linéairement indépendants.}
295\newline
296\newline
297et
298$$ \forall i \in I \ \exists \mu_i \in \mathbb{R}_{+} \land \forall j \in J \ \exists \lambda_j \in \mathbb{R} \ \nabla J(x^\ast) + \sum_{i \in I}\mu_i{\nabla g_i(x^\ast)} + \sum_{j \in J}\lambda_j{\nabla h_j(x^\ast)} = 0 \land \forall i \in I \ \mu_i \nabla g_i(x^\ast) = 0 $$
f899c72b
JB
299On appelle $ (\mu_i)_{i \in I}$ les multiplicateurs de Kuhn-Tucker et $ (\lambda_j)_{j \in J}$ les multiplicateurs de Lagrange.
300\end{Th}
8000c039
JB
301\begin{proof}
302Elle repose sur le lemme de Farkas.
303\end{proof}
304Il 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.
305
306
307%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
308
309\chapter{Méthode de programmation quadratique séquentielle}
310
311Dans ce projet, nous nous proposons d'étudier une des méthodes d'optimisation non linéaire avec contraintes nommée programmation quadratique séquentielle ou PQS.
312
313\vspace{.5em}
314
315\section{Methode de descente}\label{descente}
316
317Partant d’un point $ x_0 \in \mathbb{R}^n $ arbitrairement choisi, un algorithme de descente va chercher à générer une suite d’itérés $ (x_k)_{k \in \mathbb{N}} $ de $ \mathbb{R}^n $ définie par :
318$$ x_{k+1} = x_k + s_kd_k $$ où $ s_k,d_k \in \mathbb{R}^n $ et avec
319$$ \forall k \in \mathbb{N} \ J(x_{k+1}) \leq J(x_k) $$
320Un tel algorithme est ainsi déterminé par deux éléments à chaque étape $ k $ : le choix de la direction $ d_k $ appelée direction de descente, et le choix de la taille du pas $ s_k $ à faire dans la direction $ d_k $. Cette étape est appelée \textit{recherche linéaire}.
321
322\subsection{Définition d'une direction de descente}
323
324Un 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 décroissante en $ t = 0 $, c’est-à-dire :
325$$ \exists \eta \in \mathbb{R}_{+}^{*} \ \forall t \in ]0,\eta] \ J(x_0 + td) < J(x_0) $$
326Il est donc important d’analyser le comportement de la fonction $ J $ dans certaines direc-
327tions.
328\begin{Prop}
329Soient $ J : \mathbb{R}^n \longrightarrow \mathbb{R} $ différentiable et $ d \in \mathbb{R}^n $.
330\newline
331d est un vecteur de descente de $ J $ en $ x_0 \in \mathbb{R}^n $ ssi :
332$$ \nabla J(x_0)^\top d < 0 $$
333De plus
334$$ \forall \beta < 1 \in \mathbb{R}_{+} \ \exists \eta \in \mathbb{R}_{+}^{*} \ \forall t \in ]0,\eta] \ J(x_0 + td) < J(x_0) + t\beta \nabla J(x_0)^\top d < J(x_0) $$
335\end{Prop}
336\begin{proof}
337Elle s'effectue en utilisant le développement de Taylor-Young de l’application $ t \longmapsto f(x_0 + td) $ à l’ordre 1.
338\end{proof}
339Cette dernière inégalité garantit une décroissance minimum de la fonction $ J $ dans la
340direction $ 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 :
341
342\hrulefill
343\newline
344ALGORITHME DE DESCENTE MODÈLE.
345\newline
346\textit{Entrées}: $ J : \mathbb{R}^n \longrightarrow \mathbb{R} $ différentiable, $ x_0 \in \mathbb{R}^n $ point initial arbitraire.
347\newline
348\textit{Sortie}: une approximation de la solution du problème : $ \displaystyle\min_{x \in \mathbb{R}^n} J(x) $.
349\begin{enumerate}
350 \item $ k := 0 $
351 \item Tant que "test d’arrêt" non satisfait,
352 \begin{enumerate}
353 \item Trouver une direction de descente $ d_k $ telle que : $ \nabla J(x_k)^\top d_k < 0 $.
354 \item \textit{Recherche linéaire} : Choisir un pas $ s_k > 0 $ à faire dans cette direction et tel que : $$ J(x_k + s_kd_k) < J(x_k) $$.
355 \item Mise à jour : $ x_{k+1} = x_k + s_kd_k; \ k := k + 1 $.
356 \end{enumerate}
357 \item Retouner $ x_k $.
358\end{enumerate}
359
360\hrulefill
361
362\subsection{Choix de la direction de descente}
363
364Une fois la théorie bien maîtrisée, calculer une direction de descente est relativement
365simple. Dans le cas différentiable, il existe deux grandes stratégies de choix de direction de
366descente :
367\begin{itemize}
368 \item la stratégie de Cauchy : $ d_k = -\nabla J(x_k) $, conduisant aux \textit{algorithmes de gradient}.
369 \item la stratégie de Newton : $ d_k = -H[J](x_k)^{-1} \nabla J(x_k) $, conduisant aux \textit{algorithmes Newtoniens}.
370\end{itemize}
371Remarquons que si $ x_k $ est un point stationnaire ($ \nabla J(x_k) = 0 $) non optimal alors toutes ces directions sont nulles et aucun de ces algorithmes ne pourra progresser. Ce problème
372peut être résolu en utilisant des approches de type région de confiance qui ne seront pas
373étudiées dans le cadre de ce projet.
374
375\subsection{Critère d’arrêt}
376
377Soit $ x^\ast $ un minimum local du critère $ 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 $.
f899c72b 378\newline
8000c039
JB
379En pratique, un test d’arrêt devra être choisi pour garantir que l’algorithme s’arrête
380toujours après un nombre fini d’itérations et que le dernier point calculé soit suffisamment
381proche de $ x^\ast $.
382
383Soit $ \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
384sans contrainte, on testera si
385$$ \norme{\nabla J(x_k)} < \varepsilon, $$
386auquel cas l’algorithme s’arrête et fournit l’itéré courant $ x_k $ comme solution.
387
388En pratique, le test d’optimalité n’est pas toujours satisfait et on devra faire appel à
389d’autres critères (fondés sur l’expérience du numérique) :
390\begin{itemize}
391 \item Stagnation de la solution : $ \norme{x_{k+1} - x_k} < \varepsilon(1 + \norme{x_k}) $.
392 \item Stagnation de la valeur courante : $ |J(x_{k+1}) - J(x_k)| < \varepsilon(1 + |J (x_k)|) $.
393 \item Nombre d’itérations dépassant un seuil fixé à l’avance : $ k < IterMax $.
394\end{itemize}
395et généralement une combinaison de ces critères :
de30386e 396\newline
8000c039
JB
397\newline
398Critère d’arrêt =
399\begin{tabular}{l}
400 Test d’optimalité satisfait \\
401 OU (Stagnation de la valeur courante ET Stagnation de la solution) \\
402 OU Nombre d’itérations maximum autorisé dépassé
403\end{tabular}
6ec0df37 404
8000c039 405\subsection{La recherche linéaire}
e37aec65 406
8000c039
JB
407Supposons pour l’instant résolu le problème du choix de la direction de descente et intéressons nous uniquement au calcul du pas : c’est la phase de recherche linéaire.
408\newline
409Soit $ 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 :
410$$ J(x_0 + sd) < J(x_0). $$
411Le choix de ce pas répond généralement à deux objectifs souvent contradictoires : trouver
412le meilleur pas possible et effectuer le moins de calculs possibles. Ces deux objectifs ont
413donné naissance à deux grandes familles : les algorithmes à pas fixe et ceux à pas optimal.
414
415\hrulefill
416\newline
417RECHERCHE LINÉAIRE : PAS FIXE. $ s_k = s_{k-1} $
418
419\hrulefill
420
421\hrulefill
422\newline
423RECHERCHE LINÉAIRE : PAS OPTIMAL. $ s_k $ solution du problème $ \displaystyle\min_{s \in \mathbb{R}_{+}^{*}} J(x_k + sd_k) $
e37aec65 424
8000c039
JB
425\hrulefill
426\newline
427Illustrées par les méthodes de descente de gradient, aucune de ces deux stratégies ne
428s’est révélée réellement convaincante : si la première peut être “risquée” du point de vue de
429la convergence, la seconde est souvent loin d’être triviale à mettre en oeuvre (sauf dans le
430cas quadratique) et généralement inutilement coûteuse : en effet, à quoi bon calculer très
431précisément un pas optimal dans une direction qui n’est peut-être pas la bonne ? (comme
432c’est par exemple le cas pour la méthode de plus profonde descente). Les recherches
433linéaires modernes reposent sur l’idée qu’un pas de descente acceptable est un pas qui fait
434“suffisamment” décroître la fonction objectif. Reste alors à définir les pas qui sont
435acceptables et ceux qui ne le sont pas.
436\begin{Def}
437 On appelle $ \varphi : s \in \mathbb{R} \longmapsto J(x + sd)$ la fonction mérite associée à $ J $ en $ x $.
438\end{Def}
439\begin{Def}
440 Dans le cas où $ J, g, h $ sont de classe $ \mathcal{C}^1 $, on dit que un algoritme de descente converge ssi
441 $$ \lim\limits_{k \rightarrow +\infty} \norme{\nabla J(x_k)} = 0 $$
442\end{Def}
443
444\subsubsection{Principe de démonstration de convergence}
de30386e 445
8000c039
JB
446Une technique classique en optimisation pour obtenir des résultats de convergence glo-
447bale consiste à montrer que l’algorithme de descente considéré vérifie une inégalité du
448type :
449$$ J(x_k) - J(x_{k+1}) \geq c\norme{\nabla J(x_k)}^2, $$
450où $ c $ est un constante réelle.
451\newline
452En sommant ces inégalités pour $ k $ variant de $ 0 $ à $ N - 1 $, on obtient :
453$$ \forall N \in \mathbb{N} \ J(x_0) - J(x_N) \geq c \sum_{i=0}^{N-1}\norme{\nabla J(x_i)}^2 $$
454Si $ J $ est bornée inférieurement, alors nécessairement $ J(x_0 ) - J(x_N) $ est majorée et donc la somme partielle est majorée, et donc la série $ (\sum_{i=0}^{N-1}\norme{\nabla J(x_i)}^2)_{N \in \mathbb{N}} $ converge, ce qui implique :
455$$ \lim\limits_{k \rightarrow +\infty} \norme{\nabla J(x_k)} = 0 $$
456L'étude plus détaillée de différents algorithmes de descente qui utilisent différentes méthodes de recherche linéaire pour optimiser $ \varphi $ et le choix d'une direction ainsi que leurs convergences sort du cadre de ce projet.
457
458\section{Méthode Newtonienne}
459
460L’algorithme de Newton en optimisation est une application directe de l’algorithme de
461Newton pour la résolution d’équations du type : $ F(x) = 0 $. En optimisation sans contrainte,
462l’algorithme de Newton cherche les solutions de l’équation :
463$$ \nabla J(x) = 0, $$
464autrement dit, les points critiques de la fonction $ J $ à minimiser.
465\newline
466En supposant $ J $ de classe $ \mathcal{C}^2 $ et la matrice hessienne $ H[J](x_k) $ inversible, une itération de l’algorithme de Newton s’écrit :
467$$ x_{k+1} = x_k - H[J](x_k)^{-1} \nabla J(x_k), $$
468où $ d_k = -H[J](x_k)^{-1} \nabla J(x_k) $ est appelée direction de Newton.
de30386e 469
8000c039 470\section{Méthode PQS (ou SQP)}
e37aec65 471
e37aec65
JB
472\bibliographystyle{plain}
473\bibliography{stdlib_sbphilo}
474
475%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
476
477\end{document}