Commit 838b9134 authored by nanored's avatar nanored
Browse files

Début du second cours

parent df63a66d
......@@ -331,4 +331,234 @@ $$ f(x) = \dfrac{1}{\sqrt{(2 \pi)^n \det \Sigma}} e^{- \frac{1}{2} (x - \bar{x})
\sect{Problèmes d'optimisation convexes}
On représente les problèmes d'optimisation sous une forme canonique, qui est la suivante :
$$ \begin{array}{llr}
\min & f_0(x) \\
\text{t.q.} & f_i(x) \leqslant 0, & i = 1, ..., m \\
& h_i(x) = 0, & i = 1, ..., p
\end{array} $$
On notera $p^*$ la valeur optimal de ce problème. Cette valeur vaut $+\infty$ lorsque le problème est \textit{infeasible} et $-\infty$ lorsque le problème est \textit{unbounded}. \\
On dit d'un point $x$ qu'il est \textbf{admissible} s'il appartient à $\dom f_0$ et qu'il vérifient les contraintes. Si $x$ est admissible on dit qu'il est \textbf{optimal} si $f_0(x) = p^*$. On dira aussi de $x$ qu'il est \textbf{localement optimal} si il existe $R > 0$ tel que $x$ est optimal pour :
$$ \begin{array}{llr}
\min & f_0(z) \\
\text{t.q.} & f_i(z) \leqslant 0, & i = 1, ..., m \\
& h_i(z) = 0, & i = 1, ..., p \\
& \| z - x \|_2 \leqslant R
\end{array} $$
\exe
Pour $f_0(x) = x^3 - 3x$, on a $p^* = - \infty$. En revanche $f'(x) = 3 x^2 - 3$. Donc $f$ décroît sur $[-1, 1]$ et est croissante partout ailleurs. Ainsi 1 est localement optimal.
\paragraph{}
Le problème a des contraintes implicites liées aux domaines des fonctions qui interviennent. Le \textbf{domaine} du problème est alors l'ensemble :
$$ \mathcal{D} = \bigcap_{i = 0}^m \dom f_i \; \cap \; \bigcap_{i = 1}^p \dom h_i $$
Les contraintes écrites dans le t.q. sont les contraintes explicites.
\paragraph{}
Le problème est convexe lorsque tous les $f_i$ sont convexes et tous les $h_i$ sont affines. Si $f_0$ n'est pas convexe mais quasi convexe alors on dira que le problème est quasi convexe.
\exe
Attention un problème peut ne pas être présenté sous la forme d'un problème convexe alors qu'en réalité, il l'est. C'est le cas du problème suivant :
$$ \begin{array}{llr}
\min & f_0(x) = x_1^2 + x_2^2 \\
\text{t.q.} & f_1(x) = x1 / (1 + x_2^2) \leqslant 0\\
& h_1(x) = (x_1 + x_2)^2 = 0
\end{array} $$
L'ensemble des admissible est $\{ (x_1, x_2) ~|~ x_1 = -x_2 \leqslant 0 \}$. Le problème peut simplement se récrire sous la forme du problème convexe suivant :
$$ \begin{array}{llr}
\min & f_0(x) = x_1^2 + x_2^2 \\
\text{t.q.} & f_1(x) = x1 \leqslant 0\\
& h_1(x) = x_1 + x_2 = 0
\end{array} $$
\PROP[ (Optima locaux et globaux)]{
Tout point localement optimal d'un problème convexe est globalement optimal.
}
\dem
Supposons $x$ localement optimal et l'existence de $y$ admissible tel que $f_0(y) < f_0(x)$. On sait qu'il existe une valeur $R$ tel que pour tout $z$ admissible avec $\| z - x \|_2 \leqslant R$ on ait $f_0(z) \geqslant f_0(x)$. On pose alors $\theta = \frac{1}{2} R / \| y - x \|_2$. Comme $\| y - x \|_2 > R$ on a $0 < \theta < \frac{1}{2}$. On pose alors :
$$ z = \theta y + (1 - \theta) x $$
Comme l'ensemble des admissibles est convexe, $z$ est admissible. De plus par convexité de $f_0$, on a:
$$ f(z) \leqslant \theta f(y) + (1 - \theta) f(x) < f(x) $$
De plus $\| z - x \|_2 = R / 2 \leqslant R$. Donc par hypothèse d'optimalité local, $f(z) \geqslant f(x)$. On obtient une contradiction. Donc $y$ n'existe pas. Donc $x$ est globalement optimal.
\findem
\vspace{4mm}
\PROP[ (Critère pour $f_0$ différentiable)]{
Si $f_0$ est différentiable alors $x$ est optimal si et seulement si il est admissible et :
$$ \nabla f_0(x)^\trans (y - x) \geqslant 0, \quad \text{pour tout } y \text{ admissible} $$
\vspace{-7mm}
}
\paragraph{}
Ainsi si le gradient est non nul alors l'hyperplan de direction $\nabla f_0(x)$ passant par $x$ est hyperplan de support de l'ensemble des admissibles. On peut aussi distinguer des cas particuliers :
\begin{itemize}
\item Problème sans contraintes : $x$ est optimal si et seulement si :
$$ x \in \dom f_0, \quad \nabla f_0(x) = 0 $$
\item Problème uniquement contraint par égalités :
$$ \min f_0(x) \quad \text{t.q. } \; Ax = b $$
Alors $x$ est optimal si et seulement si il existe un vecteur $\nu$ tel que :
$$ x \in \dom f_0, \quad Ax = b, \quad \nabla f_0(x) = A^\trans \nu $$
\item Minimisation sur l'orthant positif :
$$ \min f_0(x) \quad \text{t.q. } \; x \succeq 0 $$
Alors $x$ est optimal si et seulement si :
$$ x \in \dom f_0, \quad x \succeq 0, \quad \left\{ \begin{array}{lr}
\nabla f_0(x)_i \geqslant 0 & x_i = 0 \\
\nabla f_0(x)_i = 0 & x_i > 0
\end{array}\right. $$
\end{itemize}
\paragraph{Optimisation quasi convexe}
Si $f_0$ est quasi convexe on rappelle que l'ensemble des $x$ tel que $f_0(x) \leqslant t$ est convexe. L'idée est alors de transformer notre problème en :
\begin{equation}
\begin{array}{llr}
\min & 0 \\
\text{t.q.} & f_0(x) \leqslant t \\
& f_i(x) \leqslant 0, & i = 1, ..., m \\
& Ax = b
\end{array}
\label{eq:quasiconv}
\end{equation}
Ainsi si le problème admet un point admissible alors on a $p^* \leqslant t$ et si le problème est \textit{infeasible} alors $p^* \geqslant t$. Cela permet d'utiliser la dichotomie :
\begin{center}
\begin{algorithm}[H]
\KwIn{$l \leqslant p^*, \; u \geqslant p^*, \;$ tolérance $\epsilon$}
\vspace{1mm}
\Repeat{$u - l \leqslant \epsilon$}{
$t \gets (l+u) / 2$ \\
Résoudre le problème d'amissibilité convexe \eqref{eq:quasiconv} \\
\If{\eqref{eq:quasiconv} est admissible}{$u \gets t$}
\Else{$l \gets t$}
}
\caption{Méthode dichotomique pour problème quasi convexe}
\end{algorithm}
\end{center}
Le nombre d'étapes réalisées est alors $\left\lceil \log_2 \left( (u - l) / \epsilon \right) \right\rceil$.
\subs{Classes de problèmes}
\paragraph{LP}
Les programmes linéaires ont la forme :
$$ \begin{array}{llr}
\min & c^\trans x + d \\
\text{t.q.} & G x \preceq h \\
& Ax = b
\end{array} $$
L'ensemble des admissibles est un polyèdre. On peut aussi généraliser aux programmes \textit{linear-fractional} pour lesquels on remplace la fonction objective par une fonction \textit{linear-fractional} :
$$ f_0(x) = \dfrac{c^\trans x + d}{e^\trans x + f}, \qquad \dom f_0 = \{ x ~|~ e^\trans x + f > 0 \} $$
On peut alors transformer ce programme en programme linéaire en introduisant les variables : $y = x / (e^\trans x + f)$ et $z = 1 / (e^\trans x + f)$. Cela donne le problème :
$$ \begin{array}{llr}
\min & c^\trans y + d z \\
\text{t.q.} & G y \preceq h z \\
& Ay = b z \\
& e^\trans y + f z = 1 \\
& z > 0
\end{array} $$
\paragraph{QP}
Les programmes quadratiques sont de la forme :
$$ \begin{array}{llr}
\min & \frac{1}{2} x^\trans P x + q^\trans x + r \\
\text{t.q.} & G x \preceq h \\
& Ax = b
\end{array} $$
Avec $P \in \mathcal{S}_+^n$ de telle sorte que l'objectif soit convexe et quadratique. Lorsque les contraintes sont aussi quadratiques, on parle de \textbf{QCQP} :
$$ \begin{array}{llr}
\min & \frac{1}{2} x^\trans P x + q^\trans x + r \\
\text{t.q.} & x^\trans P_i x + q_i^\trans x + r_i \leqslant 0 & i = 1, ..., m \\
& Ax = b
\end{array} $$
\paragraph{SOCP}
Une sous classe des QCPC est l'ensembles des programmes linéaires avec des inégalités coniques du second ordre, dont la forme est la suivante :
$$ \begin{array}{llr}
\min & f^\trans x \\
\text{t.q.} & \| A_i x + b_i \|_2 \leqslant c_i^\trans x + d_i & i = 1, ..., m \\
& Fx = g
\end{array} $$
\paragraph{GP}
Un programme géométrique est de la forme :
$$ \begin{array}{llr}
\min & f_0(x) \\
\text{t.q.} & f_i(x) \leqslant 1 & i = 1, ..., m \\
& h_i(x) = 1 & i = 1, ..., p \\
& x \succ 0
\end{array} $$
Où les $f_i$ sont des polynômes et les $h_i$ des monômes dont tous les coefficients sont positifs. Ce type de programme peut se transformer en programme convexe si on considère les nouvelles variables $y_i = \log(x_i)$ et que l'on prend le logarithme de la fonction objective, on obtient :
$$ \begin{array}{llr}
\min & \log \left( \sum_{k=1}^{K_0} \exp (a_{0k}^\trans y + b_{0k}) \right) \\
\text{t.q.} & \log \left( \sum_{k=1}^{K_i} \exp (a_{ik}^\trans y + b_{ik}) \right) \leqslant 0 & i = 1, ..., m \\
& G y + d = 0
\end{array} $$
$$ f_i(x) = \sum_{k=1}^{K_i} e^{b_{ik}} x^{a_{ik}} \qquad h_i(x) = e^{d_i} x^{g_i}$$
\paragraph{SDP}
Un programme d'optimisation semi-définie positive est de la forme suivante :
$$ \begin{array}{llr}
\min & c^\trans x \\
\text{t.q.} & x_1 F_1 + x_2 F_2 + ... + x_n F_n \preceq 0 \\
& Ax = b
\end{array} $$
Avec $F_i, G \in \mathcal{S}^k$. Si on veut une autre inégalité avec des matrices $F_i'$ et $G'$ alors il suffit de prendre les matrices :
$$ F'' = \pmat{F & 0 \\ 0 & F'} \qquad G'' = \pmat{G & 0 \\ 0 & G'} $$
Un programme LP a son équivalent SDP :
$$ \text{LP : } \begin{array}{llr}
\min & c^\trans x + d \\
\text{t.q.} & A x \preceq b
\end{array} \qquad \Leftrightarrow \qquad \text{SDP : } \begin{array}{llr}
\min & c^\trans x + d \\
\text{t.q.} & \diag(A x - b) \preceq 0
\end{array}$$
De même un programme SOCP a son équivalent SDP :
$$ \text{SOCP : } \begin{array}{llr}
\min & f^\trans x \\
\text{t.q.} & \| A_i x + b_i \|_2 \leqslant c_i^\trans x + d_i & i = 1, ..., m
\end{array} $$
$$ \text{SDP : } \begin{array}{llr}
\min & f^\trans x \\
\text{t.q.} & \pmat{\left( c_i^\trans x + d_i \right) I & A_i x + b_i \\ \left( A_i x + b_i \right)^\trans & c_i^\trans x + d_i} \succeq 0 & i = 1, ..., m
\end{array} $$
\subs{Programmation linéaire robuste}
Les paramètres d'un LP peuvent être incertains. Par simplicité, on ne traite ici, que les incertitudes sur les $a_i$ dans :
$$ \begin{array}{llr}
\min & c^\trans x \\
\text{t.q.} & a_i^\trans x \leqslant b_i & i = 1, ..., m
\end{array} $$
\paragraph{Model déterministe}
On suppose que les contraintes tiennent pour tout $a_i$ dans une ellipse $\mathcal{E}_i$. On pose alors $\bar{a}_i$ le centre de l'ellipse et $P_i \in \mathcal{S}_+^n$. On définit l'ellipse comme :
$$ \mathcal{E}_i = \left\{ \bar{a}_i + P_i u ~|~ \| u \|_2 \leqslant 1 \right\} $$
On remarque ensuite l'égalité suivante :
$$ \sup_{\| u \|_2 \leqslant 1} \left( \bar{a}_i + P_i u \right)^\trans x = \bar{a}_i^\trans x + \| P_i^\trans x \|_2 $$
Ainsi le programme linéaire probabiliste :
$$ \begin{array}{llr}
\min & c^\trans x \\
\text{t.q.} & a_i^\trans x \leqslant b_i \quad \forall a_i \in \mathcal{E}_i & i = 1, ..., m
\end{array} $$
est équivalent au SOCP :
$$ \begin{array}{llr}
\min & c^\trans x \\
\text{t.q.} & \bar{a}_i^\trans x + \| P_i^\trans x \|_2 \leqslant b_i & i = 1, ..., m
\end{array} $$
\paragraph{Approche stochastique}
On suppose que $a_i$ suit une loi gaussienne d'espérance $\bar{a}_i$ et de matrice de covariance $\Sigma_i$. Ainsi le produit scalaire $a_i^\trans x$ suit la loi $\mathcal{N} \left( \bar{a}_i^\trans x, \, x^\trans \Sigma_i x \right)$. L'écart type est alors $\| \Sigma_i^{1/2} x \|_2$. On note $\Phi$ la loi de répartition de la loi normale centré réduite :
$$ \Phi(x) = \dfrac{1}{\sqrt{2 \pi}} \int_{-\infty}^x e^{-t^2 / 2} \, dt $$
Cela donne :
$$ \Pp (a_i^\trans x) = \Phi \left( \dfrac{b_i - \bar{a}_i^\trans x}{\| \Sigma_i^{1/2} x \|_2} \right) $$
Notre LP robuste s'écrit sous la forme :
$$ \begin{array}{llr}
\min & c^\trans x \\
\text{t.q.} & \Pp(a_i^\trans x \leqslant b_i) \geqslant \eta & i = 1, ..., m
\end{array} $$
Si $\eta \geqslant \frac{1}{2}$ alors $\Phi^{-1}(\eta) \geqslant 0$ et donc notre problème est équivalent au SOCP suivant :
$$ \begin{array}{llr}
\min & c^\trans x \\
\text{t.q.} & \bar{a}_i^\trans x + \Phi^{-1}(\eta) \| \Sigma_i^{1/2} x \|_2 \leqslant b_i & i = 1, ..., m
\end{array} $$
\sect{Dualité}
\ No newline at end of file
......@@ -126,8 +126,10 @@
\newcommand{\Pp}{\mathbb{P}}
\newcommand{\E}{\mathbb{E}}
\newcommand{\dom}{\text{\textbf{dom}}~}
\newcommand{\diag}{\text{\textbf{diag}}~}
\newcommand{\epi}{\text{\textbf{epi}}~}
\newcommand{\dist}{\text{\textbf{dist}}}
\newcommand{\pmat}[1]{\begin{pmatrix} #1 \end{pmatrix}}
\mytitle{Convex Optimization}
\author{
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment