Begin the real work on SQP method.
[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
682e0379 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
9f054a9c
JB
80 ~ \\
81 \LARGE\textbf {Programmation Séquentielle Quadratique ou PQS} \\
82 \LARGE\textbf {en} \\
83 \LARGE\textbf {Optimisation non linéraire sous contraintes} \\
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 :
682e0379
JB
209\begin{Def}
210 On définit le Lagrangien associé à $ \mathcal{P} $ par :
211 $$ \begin{array}{r c l}
212 L : \mathbb{R}^n \times \mathbb{R}^q \times \mathbb{R}_+^p & \longrightarrow & \mathbb{R} \\
213 (x,\lambda,\mu) & \longmapsto & L(x,\lambda,\mu) = J(x) + \sum\limits_{i=0}^{q} \lambda_i h_i(x) + \sum\limits_{j=0}^{p} \mu_j g_j(x) \\
214 & & L(x,\lambda,\mu) = J(x) + \langle \lambda,h(x) \rangle_{\mathbb{R}^q} + \langle \mu,g(x) \rangle_{\mathbb{R}^p}
215 \end{array} $$
216 où l’on note $ \lambda $ et $ \mu $ les vecteurs de coordonnées respectives $ (\lambda_1,\ldots,\lambda_q) $ et $ (\mu_1,\ldots,\mu_p) $.
217\end{Def}
f899c72b 218\begin{Def}
9f054a9c
JB
219 Soient $ \mathbb{R}^n $ un espace topologique, $ A \subset \mathbb{R}^n $ et $ x^\ast \in \mathbb{R}^n $.
220 \newline
221 On 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} $.
f899c72b 222\end{Def}
9f054a9c
JB
223\begin{Rmq}
224 $ A \subset \mathbb{R}^n $ est un ouvert $ \iff A = \mathring{A} $.
225\end{Rmq}
f899c72b 226\begin{Def}
9f054a9c
JB
227 Soient $ \mathbb{R}^n $ un espace topologique, $ A \subset \mathbb{R}^n $ et $ x^\ast \in \mathbb{R}^n $.
228 \newline
229 On 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} $.
f899c72b 230\end{Def}
9f054a9c
JB
231\begin{Rmq}
232 $ A \subset \mathbb{R}^n $ est un fermé $ \iff A = \overline{A} $.
233\end{Rmq}
f899c72b 234\begin{Def}
9f054a9c
JB
235 Soient une fonction $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $ et $ x^\ast \in \mathbb{R}^n $.
236 \newline
237 On dit que $ f $ est continue en $ x^\ast $ si
238 $$ \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 239\end{Def}
d17ef079
JB
240\begin{Def}
241 Soient $ k \in \{ 1,\ldots,n \} $ et une fonction $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $.
242 \newline
243 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
244 $$ t \longmapsto f(x^\ast_1,\ldots,x^\ast_{k-1},x^\ast_k + t,x^\ast_{k+1},\ldots,x^\ast_n) $$
245 définie sur un voisinage de $ 0 $ dans $ \mathbb{R} $ et à valeurs dans $ \mathbb{R} $ est dérivable en $ 0 $.
246 \newline
247 Dans ce cas on note
248 $$ \frac{\partial f}{\partial x_k}(x^\ast) $$ ou $$ \partial_k f(x^\ast) $$
249 cette dérivée.
250\end{Def}
66a4e4ad
JB
251\begin{Def}
252 Soient une fonction $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $
253 et $ x^\ast, h \in \mathbb{R}^n $.
d17ef079 254 \newline
66a4e4ad
JB
255 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
256 \[
257 f(x^\ast + h) = f(x^\ast) + d_{x^\ast}f(h) + \underset{h \rightarrow 0}{\mathrm{o}}(\norme{h})
258 \]
259 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} $
260 telle que $ \lim\limits_{h \rightarrow 0} \varepsilon_{x^\ast}(h) = 0 $ et
261 \[
262 f(x^\ast + h) = f(x^\ast) + d_{x^\ast}f(h) + \norme{h}\varepsilon_{x^\ast}(h)
263 \]
d17ef079 264 On appelle $ d_{x^\ast}f $ la différentielle de $ f $ en $ x^\ast $.
66a4e4ad 265\end{Def}
d17ef079
JB
266\begin{Rmq}
267 On peut démontrer que : $$ d_{x^\ast}f = \sum_{i=1}^n\frac{\partial f}{\partial x_i}(x^\ast) $$.
268\end{Rmq}
5e4341d1
JB
269\begin{Def}
270 Soit une fonction $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $ différentiable.
271 \newline
272 Le gradient de $ f $, noté $\nabla f$, en $ x^\ast \in \mathbb{R}^n$ se définit par :
273 \[
de30386e 274 \nabla f(x^\ast) = (\frac{\partial f}{\partial x_1}(x^\ast),\ldots,\frac{\partial f}{\partial x_n}(x^\ast))
5e4341d1
JB
275 \]
276\end{Def}
d17ef079
JB
277\begin{Rmq}
278 $ \forall h \in \mathbb{R}^n \ d_{x^\ast}f(h) = \langle \nabla f(x^\ast),h \rangle $
279\end{Rmq}
9f054a9c
JB
280\begin{Def}
281 Soit $ f: \mathbb{R}^n \longrightarrow \mathbb{R} $ un fonction de classe $ \mathcal{C}^2 $.
282 On définit la matrice hessienne de $ f $ en $ x^\ast $ par :
283 $$ H[f](x^\ast) =
284 \begin{pmatrix}
285 \frac{\partial^2 f}{\partial x_1^2}(x^\ast) & \cdots & \frac{\partial^2 f}{\partial x_1\partial x_n}(x^\ast) \\
286 \vdots & & \vdots \\
287 \frac{\partial^2 f}{\partial x_n\partial x_1}(x^\ast) & \cdots & \frac{\partial^2 f}{\partial x_n^2}(x^\ast)
288 \end{pmatrix} $$
289\end{Def}
290\begin{Prop}
291 \begin{enumerate}
292 \item $ H[f](x^\ast) $ est une matrice symétrique (Théorème de symétrie de Schwarz).
682e0379 293 \item On a le développement de Taylor-Young à l'ordre 2 en $ x^\ast $ suivant :
9f054a9c 294 $$ f(x^\ast + v) = f(x^\ast) + \langle \nabla f(x^\ast),v \rangle + \frac{1}{2} v^\top H[f](x^\ast) v + \varepsilon(v) $$
682e0379
JB
295 ou
296 $$ f(x^\ast + v) = f(x^\ast) + \langle \nabla f(x^\ast),v \rangle + \frac{1}{2} \langle H[f](x^\ast)v,v \rangle + \varepsilon(v) $$
9f054a9c
JB
297 avec $ \frac{|\varepsilon(v)|}{\norme{v}} \rightarrow 0 $ quand $ \norme{v} \rightarrow 0 $.
298 \end{enumerate}
299\end{Prop}
682e0379
JB
300\begin{proof}
301 Elle repose entièrement sur deux autres théorèmes dont les preuves sont connues et de la réécriture de formulation de résultat.
302\end{proof}
f899c72b
JB
303
304\subsection{Conditions d'existence d'un extremum}
305
3b344e8c
JB
306On peut démontrer que $ \mathcal{C }$ est un ensemble fermé de $ \mathbb{R}^n $ si $ g $ et $ h $ sont continues.
307On peut en déduire que si $ J $ est continue, $ \mathcal{C }$ est un ensemble fermé et borné de $ \mathbb{R}^n $.
308\begin{Th}[Théorème de Weierstrass]
9f054a9c
JB
309 Soient $ \mathcal{C} \neq \emptyset \subset \mathbb{R}^n $ un fermé borné et $ f : \mathcal{C} \longrightarrow \mathbb{R} $ une fonction continue.
310 \newline
311 Alors : $$ \exists x^\ast \in \mathcal{C} \ \forall x \in \mathcal{C} \ f(x) \geq f(x^\ast) $$
312 Autrement dit $ x^\ast $ est un minimum global de $ J $ sur $ \mathcal{C} $.
313 \newline
314 De la même façon, il existe un maximum global de $ J $ sur $ \mathcal{C} $.
3b344e8c 315\end{Th}
8000c039 316On 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 317
3b344e8c
JB
318\subsection{Conditions de caractérisation d'un extremum}
319
9f054a9c 320Dans 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 des descentes 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 321\newline
9f054a9c 322On 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 local \cite{FEA,WAL}.
f899c72b 323
8000c039 324\subsubsection{Conditions de Karuch-Kuhn-Tucker}\label{KKT}
f899c72b
JB
325
326\begin{Th}
9f054a9c
JB
327 Soient $ x^\ast \in \mathbb{R}^n $, $ I = \{ 1,\ldots,p \} $ et $ J = \{ 1,\ldots,q \} $.
328 \newline
329 Les conditions nécessaires pour que $ x^\ast \in \mathcal{C}$ soit un minimum local de $ J $ sont :
330 \newline
331 \newline
332 \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.}
333 \newline
334 \newline
335 et
336 $$ \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 $$
337 On appelle $ (\mu_i)_{i \in I}$ les multiplicateurs de Kuhn-Tucker et $ (\lambda_j)_{j \in J}$ les multiplicateurs de Lagrange.
f899c72b 338\end{Th}
8000c039 339\begin{proof}
9f054a9c 340 Elle repose sur le lemme de Farkas \cite{FEA,RON}.
8000c039
JB
341\end{proof}
342Il 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.
343
344
345%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
346
347\chapter{Méthode de programmation quadratique séquentielle}
348
349Dans 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.
350
351\vspace{.5em}
352
353\section{Methode de descente}\label{descente}
354
682e0379
JB
355Nous supposons que le domaine des contraintes de $ \mathcal{P} $ est un ouvert de $ \mathbb{R}^n $ (c'est à dire que nous n'avons pas de contraintes) et $ J $ est une fonction définie sur $ \mathbb{R}^n $ à valeurs réelles supposée différentiable, voire même deux fois différentiable. Les conditions nécessaires d’optimalité du premier et du second ordre expriment le fait qu’il n’est pas possible de “descendre” à partir d’un point de minimum (local ou global). Cette observation va servir de point de départ à l’élaboration des méthodes dites de descente.
356
8000c039 357Partant 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 :
9f054a9c 358$$ x_{k+1} = x_k + s_kd_k $$ où $ s_k \in \mathbb{R}_{+}^{*},d_k \in \mathbb{R}^n $ et avec
8000c039
JB
359$$ \forall k \in \mathbb{N} \ J(x_{k+1}) \leq J(x_k) $$
360Un 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}.
361
362\subsection{Définition d'une direction de descente}
363
9f054a9c 364Un 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 :
8000c039
JB
365$$ \exists \eta \in \mathbb{R}_{+}^{*} \ \forall t \in ]0,\eta] \ J(x_0 + td) < J(x_0) $$
366Il est donc important d’analyser le comportement de la fonction $ J $ dans certaines direc-
367tions.
368\begin{Prop}
9f054a9c
JB
369 Soient $ J : \mathbb{R}^n \longrightarrow \mathbb{R} $ différentiable et $ d \in \mathbb{R}^n $.
370 \newline
371 d est un vecteur de descente de $ J $ en $ x_0 \in \mathbb{R}^n $ ssi :
372 $$ \nabla J(x_0)^\top d < 0 $$
373 De plus
374 $$ \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) $$
8000c039
JB
375\end{Prop}
376\begin{proof}
9f054a9c 377 Elle s'effectue en utilisant le développement de Taylor-Young de l’application $ t \longmapsto f(x_0 + td) $ à l’ordre 1.
8000c039
JB
378\end{proof}
379Cette dernière inégalité garantit une décroissance minimum de la fonction $ J $ dans la
380direction $ 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 :
381
382\hrulefill
383\newline
384ALGORITHME DE DESCENTE MODÈLE.
385\newline
386\textit{Entrées}: $ J : \mathbb{R}^n \longrightarrow \mathbb{R} $ différentiable, $ x_0 \in \mathbb{R}^n $ point initial arbitraire.
387\newline
388\textit{Sortie}: une approximation de la solution du problème : $ \displaystyle\min_{x \in \mathbb{R}^n} J(x) $.
389\begin{enumerate}
390 \item $ k := 0 $
391 \item Tant que "test d’arrêt" non satisfait,
9f054a9c
JB
392 \begin{enumerate}
393 \item Trouver une direction de descente $ d_k $ telle que : $ \nabla J(x_k)^\top d_k < 0 $.
394 \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). $$
395 \item Mise à jour : $ x_{k+1} = x_k + s_kd_k; \ k := k + 1 $.
396 \end{enumerate}
397 \item Retourner $ x_k $.
8000c039
JB
398\end{enumerate}
399
400\hrulefill
401
402\subsection{Choix de la direction de descente}
403
404Une fois la théorie bien maîtrisée, calculer une direction de descente est relativement
405simple. Dans le cas différentiable, il existe deux grandes stratégies de choix de direction de
406descente :
407\begin{itemize}
408 \item la stratégie de Cauchy : $ d_k = -\nabla J(x_k) $, conduisant aux \textit{algorithmes de gradient}.
409 \item la stratégie de Newton : $ d_k = -H[J](x_k)^{-1} \nabla J(x_k) $, conduisant aux \textit{algorithmes Newtoniens}.
410\end{itemize}
9f054a9c 411Remarquons que si $ x_k $ est un point stationnaire ($ \iff \nabla J(x_k) = 0 $) non optimal alors toutes ces directions sont nulles et aucun de ces algorithmes ne pourra progresser. Ce problème peut être résolu en utilisant des approches de type région de confiance qui ne seront pas étudiées dans le cadre de ce projet.
8000c039
JB
412
413\subsection{Critère d’arrêt}
414
9f054a9c 415Soit $ 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 $.
f899c72b 416\newline
8000c039
JB
417En pratique, un test d’arrêt devra être choisi pour garantir que l’algorithme s’arrête
418toujours après un nombre fini d’itérations et que le dernier point calculé soit suffisamment
419proche de $ x^\ast $.
420
421Soit $ \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
422sans contrainte, on testera si
423$$ \norme{\nabla J(x_k)} < \varepsilon, $$
424auquel cas l’algorithme s’arrête et fournit l’itéré courant $ x_k $ comme solution.
425
426En pratique, le test d’optimalité n’est pas toujours satisfait et on devra faire appel à
9f054a9c 427d’autres critères fondés sur l’expérience du numérique :
8000c039
JB
428\begin{itemize}
429 \item Stagnation de la solution : $ \norme{x_{k+1} - x_k} < \varepsilon(1 + \norme{x_k}) $.
430 \item Stagnation de la valeur courante : $ |J(x_{k+1}) - J(x_k)| < \varepsilon(1 + |J (x_k)|) $.
431 \item Nombre d’itérations dépassant un seuil fixé à l’avance : $ k < IterMax $.
432\end{itemize}
433et généralement une combinaison de ces critères :
de30386e 434\newline
8000c039
JB
435\newline
436Critère d’arrêt =
437\begin{tabular}{l}
9f054a9c 438 Test d’optimalité satisfait \\
8000c039
JB
439 OU (Stagnation de la valeur courante ET Stagnation de la solution) \\
440 OU Nombre d’itérations maximum autorisé dépassé
441\end{tabular}
6ec0df37 442
8000c039 443\subsection{La recherche linéaire}
e37aec65 444
8000c039
JB
445Supposons 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.
446\newline
447Soit $ 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 :
448$$ J(x_0 + sd) < J(x_0). $$
449Le choix de ce pas répond généralement à deux objectifs souvent contradictoires : trouver
450le meilleur pas possible et effectuer le moins de calculs possibles. Ces deux objectifs ont
451donné naissance à deux grandes familles : les algorithmes à pas fixe et ceux à pas optimal.
452
453\hrulefill
454\newline
455RECHERCHE LINÉAIRE : PAS FIXE. $ s_k = s_{k-1} $
456
457\hrulefill
458
459\hrulefill
460\newline
461RECHERCHE LINÉAIRE : PAS OPTIMAL. $ s_k $ solution du problème $ \displaystyle\min_{s \in \mathbb{R}_{+}^{*}} J(x_k + sd_k) $
e37aec65 462
8000c039
JB
463\hrulefill
464\newline
465Illustrées par les méthodes de descente de gradient, aucune de ces deux stratégies ne
466s’est révélée réellement convaincante : si la première peut être “risquée” du point de vue de
467la convergence, la seconde est souvent loin d’être triviale à mettre en oeuvre (sauf dans le
468cas quadratique) et généralement inutilement coûteuse : en effet, à quoi bon calculer très
469précisément un pas optimal dans une direction qui n’est peut-être pas la bonne ? (comme
470c’est par exemple le cas pour la méthode de plus profonde descente). Les recherches
471linéaires modernes reposent sur l’idée qu’un pas de descente acceptable est un pas qui fait
472“suffisamment” décroître la fonction objectif. Reste alors à définir les pas qui sont
473acceptables et ceux qui ne le sont pas.
474\begin{Def}
475 On appelle $ \varphi : s \in \mathbb{R} \longmapsto J(x + sd)$ la fonction mérite associée à $ J $ en $ x $.
476\end{Def}
477\begin{Def}
9f054a9c 478 Dans le cas où $ J $ est différentiable sur $ \mathcal{C} $, on dit que un algorithme de descente converge ssi
8000c039
JB
479 $$ \lim\limits_{k \rightarrow +\infty} \norme{\nabla J(x_k)} = 0 $$
480\end{Def}
481
482\subsubsection{Principe de démonstration de convergence}
de30386e 483
8000c039
JB
484Une technique classique en optimisation pour obtenir des résultats de convergence glo-
485bale consiste à montrer que l’algorithme de descente considéré vérifie une inégalité du
486type :
487$$ J(x_k) - J(x_{k+1}) \geq c\norme{\nabla J(x_k)}^2, $$
488où $ c $ est un constante réelle.
489\newline
490En sommant ces inégalités pour $ k $ variant de $ 0 $ à $ N - 1 $, on obtient :
491$$ \forall N \in \mathbb{N} \ J(x_0) - J(x_N) \geq c \sum_{i=0}^{N-1}\norme{\nabla J(x_i)}^2 $$
9f054a9c 492Si $ 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\limits_{i=0}^{N-1}\norme{\nabla J(x_i)}^2)_{N \in \mathbb{N}} $ converge, ce qui implique :
8000c039
JB
493$$ \lim\limits_{k \rightarrow +\infty} \norme{\nabla J(x_k)} = 0 $$
494L'é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.
495
496\section{Méthode Newtonienne}
497
682e0379 498Les hypothèses sur $ \mathcal{P} $ de la section précédente restent les mêmes dans cette section. L’algorithme de Newton en optimisation est une application directe de l’algorithme de
8000c039
JB
499Newton pour la résolution d’équations du type : $ F(x) = 0 $. En optimisation sans contrainte,
500l’algorithme de Newton cherche les solutions de l’équation :
501$$ \nabla J(x) = 0, $$
502autrement dit, les points critiques de la fonction $ J $ à minimiser.
503\newline
504En 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 :
505$$ x_{k+1} = x_k - H[J](x_k)^{-1} \nabla J(x_k), $$
682e0379
JB
506où $ 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 :
507$$ \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 $$
508Autrement dit, $ d_k $ est le point de minimum global de l’approximation de second ordre de
509$ J $ au voisinage du point courant $ x_k $.
510A condition que la matrice $ H[J](x_k) $ soit définie positive à chaque itération, la méthode
511de Newton est bien une méthode de descente à pas fixe égal à $ 1 $ . Les propriétés remarquables de cet algorithme sont :
512
513\begin{tabular}{|p{20em}|p{20em}|}
514 \hline
515 Avantages & Inconvénients \\
516 \hline
517 sa convergence quadratique (le nombre de décimales exactes est multiplié par 2 à chaque itération). & \\
518 \hline
519 & les difficultés et le coût de calcul de la hessienne $ H[J](x_k) $ : l’expression analytique des dérivées secondes est rarement disponible dans les applications. \\
520 \hline
521 & le coût de résolution du système linéaire $ H[J](x_k )(x_{k+1} - x_k) = \nabla J(x_k) $. \\
522 \hline
523 & l’absence de convergence si le premier itéré est trop loin de la solution, ou si la hessienne est singulière. \\
524 \hline
525 & pas de distinction entre minima, maxima et points stationnaires. \\
526 \hline
527\end{tabular}
528\newline
529La 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
530l’algorithme de Newton en remplaçant les itérations par :
531$$ x_{k+1} = x_k - s_k H_k^{-1} \nabla J(x_k), $$
532
533\begin{itemize}
534 \item la matrice $ H_k $ est une approximation de la hessienne $ H[J](x_k) $.
535 \item $ s_k > 0 $ est le pas calculé par une recherche linéaire bien choisie.
536\end{itemize}
537Plusieurs questions se posent alors :
538\begin{itemize}
539 \item Comment déterminer une matrice $ H_k $ qui soit une “bonne” approximation de la hessienne à l’itération $ k $ sans utiliser les informations de second ordre et garantir que $ H_k^{-1} \nabla J(x_k) $ soit bien une direction de descente de $ J $ en $ x_k $, sachant que la direction de Newton, si elle existe, n’en est pas nécessairement une ?
540 \item Comment conserver les bonnes propriétés de l’algorithme de Newton ?
541\end{itemize}
542Nous ne répondrons pas à ces questions qui sont hors du cadre de ce projet. Cette section permet de rendre compte de la filiation entre la méthode PQS et celle Newtonienne.
de30386e 543
8000c039 544\section{Méthode PQS (ou SQP)}
e37aec65 545
682e0379
JB
546Nous supposons les fonctions $ J,g,h $ à valeurs réelles et de classe $ \mathcal{C}^1 $.
547Trouver une solution d’un problème d’optimisation sous contraintes fonctionnelles consiste
548à 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é}.
549
550\subsection{Algorithmes newtoniens}
551
552Les 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 géométrique duale $ (\lambda^k)_{k \in \mathbb{N}} $ de multiplicateurs convergeant vers un multiplicateur optimal $ \overline{\lambda} $ associé à $ \overline{x} $.
553
554\subsection{Algorithme PQS}
555
556\subsubsection{Contraintes d’égalité}
557
558Considérons un problème d’optimisation différentiable $ \mathcal{P} $ avec contraintes d’égalité :
559$$
560 \mathcal{P} \left \{
561 \begin{array}{r}
562 \displaystyle\min_{x \in \mathbb{R}^n} J(x) \\
563 h(x) = 0
564 \end{array}
565 \right .
566$$
567où $ J: \mathbb{R}^n \longrightarrow \mathbb{R} $ et $h: \mathbb{R}^n \longrightarrow \mathbb{R}^q$ sont supposées au moins différentiables.
568\newline
569Les conditions d’optimalité de Lagrange (ou \textit{KKT}) s’écrivent :
570$$ \nabla L(x,\lambda) = 0 \iff \nabla J(x) + \sum\limits_{i=0}^{q} \lambda_i \nabla h_i(x) = 0 $$
571donc $ \mathcal{P} $ devient :
572$$ \begin{pmatrix}
573 \nabla J(x) + \sum\limits_{i=0}^{q} \lambda_i \nabla h_i(x) \\
574 h(x)
575 \end {pmatrix} = 0 $$
576Pour résoudre ce système d’équations, utilisons la méthode de Newton dont une itération s’écrit ici :
577
e37aec65
JB
578\bibliographystyle{plain}
579\bibliography{stdlib_sbphilo}
580
581%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
582
583\end{document}