Commit 1d1a863d authored by nanored's avatar nanored

Début dualité et exo 1 dm 2

parent 877d2e25
......@@ -355,7 +355,7 @@ $$ \mathcal{D} = \bigcap_{i = 0}^m \dom f_i \; \cap \; \bigcap_{i = 1}^p \dom h_
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.
Le problème est \textbf{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 \textbf{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 :
......@@ -561,4 +561,123 @@ $$ \begin{array}{llr}
\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
\sect{Dualité}
\DEF{
Le \textbf{Lagrangien} $L : \R^n \times \R^m \times \R^p \rightarrow \R$ d'un problème en forme standard est la fonction suivante : \vspace{-4mm}
$$ L(x, \lambda, \nu) = f_0(x) + \sum_{i = 1}^m \lambda_i f_i(x) + \sum_{i = 1}^p \nu_i h_i(x) \qquad \dom L = \mathcal{D} \times \R^m \times \R^p \vspace{-1mm}$$
De même on défini le \textbf{dual} Lagrangien $g$ par :
$$ g(\lambda, \nu) = \inf_{x \in \mathcal{D}} L(x, \lambda, \nu) $$
\vspace{-5mm}
}
\paragraph{Remarque}
On peut remarquer que la fonction dual $g$ est concave puisque $L$ est concave en $(\lambda, \nu)$ pour $x$ fixé.
\PROP[ (Dualité faible)]{
Pour $\lambda \succeq 0$, on a $g(\lambda, \nu) \leqslant p^*$. Où $p^*$ est l'optimal du problème primal.
}
\dem
Si $\tilde{x}$ est admissible alors pour tout $i$, $f_i(\tilde{x}) \leqslant 0$ et $h_i(\tilde{x}) = 0$. Alors pour $\lambda \succeq 0$, on a :
$$ f_0(\tilde{x}) \geqslant L(\tilde{x}, \lambda, \nu) \geqslant \inf_{x \in \mathcal{D}} L(x, \lambda, \nu) = g(\lambda, \nu) $$
En passant au $\min$ sur l'ensemble des admissibles on obtient bien :
$$ p^* \geqslant g(\lambda, \nu) $$
\findem
\exe
On veut partitionner l'ensemble $\{ 1, ..., n \}$ en deux sous-ensemble tel que assigné $i$ et $j$ à la même partitionner a un coût $4 W_{i, j}$. Cela conduit au problème d'optimisation non convexe sur $2^n$ points discrets suivant :
$$ \begin{array}{llr}
\min & x^\trans W x \\
\text{t.q.} & x_i^2 = 1 & i = 1, ..., n
\end{array} $$
On obtient alors :
$$ g(\nu) = \inf_x \left( x^\trans W x \sum_{i = 1} \nu_i ( x_i^2 - 1 ) \right) = \inf_x x^\trans \left( W + \diag(\nu) \right) x \; - \ind{}^\trans \nu = \left\{ \begin{array}{ll}
- \ind{}^\trans \nu & \text{Si } W + \diag(\nu) \succeq 0 \\
- \infty & \text{Sinon}
\end{array} \right. $$
D'où par dualité faible :
$$ W + \diag(\nu) \succeq 0 \Rightarrow p^* \geqslant - \ind{}^\trans \nu $$
Par exemple on peut prendre $\nu = \lambda_{min}(W) \ind{}$ pour obtenir la borne :
$$ p^* \geqslant n \lambda_{min}(W) $$
\paragraph{Dual}
On appellera \textbf{problème dual}, le problème suivant :
$$ \begin{array}{ll}
\max & g(\lambda, \nu) \\
\text{t.q.} & \lambda \succeq 0
\end{array} $$
L'optimal de ce problème est noté $d^*$ de sorte que l'on ai par dualité faible :
$$ d^* \leqslant p^* $$
On dira qu'il y a \textbf{dualité forte}, lorsqu'il y a égalité :
$$ d^* = p^* $$
\PROP[ (Conditions de Slater)]{
Si le problème primal est convexe et strictement admissible. C'est à dire s'il existe $x$ tel que :
\vspace{-2mm}
$$ x \in \mathring{\mathcal{D}} \qquad f_i(x) < 0, \quad i = 1, ..., m \qquad h_i(x) = 0, \quad i = 1, ..., p $$
Alors la dualité forte tient et l'optimal du dual est atteint.
}
\exe
Il est classique de considérer le problème dual d'un problème LP :
$$ \begin{array}{llr}
\min & c^\trans x \\
\text{t.q.} & Ax = b
\end{array} $$
On calcule la fonction dual :
$$ g(\lambda) = \inf_x \left( \left( c + A^\trans \lambda \right)^\trans x - b^\trans \lambda \right) = \syst{ll}{
- b^\trans \lambda & \text{Si } A^\trans \lambda + c = 0 \\
- \infty & \text{Sinon}
} $$
Ce qui résulte en le problème dual suivant :
$$ \begin{array}{llr}
\max & - b^\trans \lambda \\
\text{t.q.} & A^\trans \lambda + c = 0 \\
& \lambda \succeq 0
\end{array} $$
Ainsi s'il existe $\tilde{x}$ tel que $A \tilde{x} \prec b$ alors d'après les conditions de Slater $d^* = p^*$.
\paragraph{Problème d'admissibilité}
On considère le problème A de trouver un $x$ qui vérifie :
$$ f_i(x) < 0, \quad i = 1, ..., m \qquad h_i(x) = 0, \quad i = 1, ..., p $$
Puis on considère le problème B qui consiste à trouver $\lambda$ et $\nu$ tel que :
$$ \lambda \succeq 0 \qquad \lambda \neq 0 \qquad g(\lambda, \nu) \geqslant 0 \qquad \quad \text{Avec } \; g(\lambda, \nu) = \inf_x \left( \sum_{i = 1}^m \lambda_i f_i(x) \, + \, \sum_{i = 1}^p \nu_i h_i(x) \right) $$
Alors le problème $B$ est convexe quelque soit le problème A initial. De plus les problèmes A et B ne peuvent tous les deux avoir une solution en même temps. En effet supposons que $\tilde{x}$ et $(\lambda, \nu)$ sont deux solutions, alors on a :
$$ 0 \leqslant g(\lambda, \nu) \leqslant \sum_{i = 1}^m \lambda_i f_i(\tilde{x}) \, + \, \sum_{i = 1}^p \nu_i h_i(\tilde{x}) < 0 $$
Ainsi pour prouver qu'un de ces problèmes n'a pas de solution il suffit de montrer que l'autre en a une.
\vspace{5mm}
\PROP[ (Complementary slackness)]{
Soit $x^*$ un point optimal du dual et $(\lambda^*, \nu^*)$ un point optimal du dual. On suppose que la dualité forte tient. Alors :
$$ \lambda_i^* f_i(x^*) = 0, \quad i = 1, ..., m $$
\vspace{-5mm}
}
\dem
$$ f_0(x^*) = g(\lambda^*, \nu^*) = \inf_x L(x, \lambda^*, \nu^*) \leqslant f_0(x^*) + \sum_{i = 1}^m \lambda_i^* f_i(x^*) + \sum_{i = 1}^p \nu_i^* h_i(x^*) \leqslant f_0(x^*) $$
Ainsi les deux dernière inégalités sont finalement des égalités.
\findem
On peut alors réunir plusieurs conditions dans un seul théorème bien connu :
\PROP[ (Karush-Kuhn-Tucker -- KKT)]{
Si la dualité sorte tient et que $x$ est optimal pour le primal, et $\lambda, \nu$ est optimal pour le dual, alors ils vérifient les quatre conditions KKT suivantes :
\begin{itemize}
\item Admissibilité primal : $f_i(x) \leqslant 0, \; i = 1, ..., m, \quad h_i(x) = 0, \; i = 1, ..., p$
\item Admissibilité dual : $\lambda \succeq 0$
\item Complementary slackness : $\lambda_i^* f_i(x^*) = 0, \quad i = 1, ..., m$
\item Le gradient du Lagrangien selon $x$ s'annule : \vspace{-3mm}
$$ \nabla f_0(x) \; + \; \sum_{i = 1}^m \lambda_i \nabla f_i(x) \; + \; \sum_{i = 1}^p \nu_i \nabla h_i(x) \; = \; 0 $$
\end{itemize}
\vspace{-4mm}
}
\paragraph{Problème convexe}
Si $\tilde{x}, \tilde{\lambda}, \tilde{\nu}$ vérifient les conditions KKT pour un problème convexe alors ils sont optimaux. En effet grâce à la complementary slackness, on a : $f_0(\tilde{x}) = L(\tilde{x}, \tilde{\lambda}, \tilde{\nu})$. Puis d'après la quatrième condition, on a $g(\tilde{\lambda}, \tilde{\nu}) = L(\tilde{x}, \tilde{\lambda}, \tilde{\nu})$. Finalement cela donne $f_0(\tilde{x}) = g(\tilde{\lambda}, \tilde{\nu})$. Par dualité faible on obtient que ces points sont effectivement optimaux.
\paragraph{Condition de Slater}
Si les conditions de Slater sont vérifiées alors $x$ est optimal pour le primal si et seulement si il existe $\lambda, \nu$ qui vérifient les conditions KKT avec $x$. En effet les conditions de Slater impliquent la dualité forte et l'optimal du dual est atteint.
\paragraph{Résumé}
Lorsque la dualité forte tient les conditions de KKT sont nécessaire pour l'optimalité. De plus si le problème est convexe ou que les conditions de Salter sont vérifiées alors elles sont aussi suffisantes.
\ No newline at end of file
......@@ -130,6 +130,8 @@
\newcommand{\epi}{\text{\textbf{epi}}~}
\newcommand{\dist}{\text{\textbf{dist}}}
\newcommand{\pmat}[1]{\begin{pmatrix} #1 \end{pmatrix}}
\newcommand{\ind}[1]{\mathbbm{1}_{#1}}
\newcommand{\syst}[2]{\left\{ \begin{array}{#1} #2 \end{array} \right.}
\mytitle{Convex Optimization}
\author{
......
......@@ -77,7 +77,7 @@
We rewrite the condition on $x$:
$$ \begin{array}{lll}
\| x - a \|_2 \leqslant \theta \| x - b \|_2 & \Leftrightarrow & \| x - a \|_2^2 \leqslant \theta^2 \| x - b \|_2^2 \\[2mm]
& \Leftrightarrow & x^\trans x - 2 x^\trans x_0 + x_0^\trans x_0 \leqslant \theta^2 x^\trans x - 2 \theta^2 x^\trans y + \theta^2 y^\trans y \\[1mm]
& \Leftrightarrow & x^\trans x - 2 x^\trans a + a^\trans a \leqslant \theta^2 x^\trans x - 2 \theta^2 x^\trans b + \theta^2 b^\trans b \\[1mm]
& \Leftrightarrow & (1 - \theta^2) x^\trans x + 2 x^\trans (\theta^2 b - a) \leqslant \theta^2 b^\trans b - a^\trans a \\[2mm]
& \Leftrightarrow & (1 - \theta^2) \| x \|_2^2 + ( \theta^2 b - a)^\trans x \leqslant \frac{1}{2} \left( \| \theta b \|_2^2 - \| a \|_2^2 \right)
\end{array} $$
......
\documentclass[11pt]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=2.7cm,right=2.7cm,top=3cm,bottom=3cm]{geometry}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{kpfonts}
\usepackage{tikz}
\usepackage{bbm}
\title{
\noindent\rule{\linewidth}{0.4pt}
\huge Convex Optimization --- DM 2
\noindent\rule{\linewidth}{1pt}
}
\author{Yoann Coudert-\,-Osmont}
\newcommand{\trans}{\mathsf{T}}
\newcommand{\syst}[2]{\left\{ \begin{array}{#1} #2 \end{array} \right.}
\begin{document}
\maketitle
\section*{Exercise 1 (LP Duality)}
\paragraph{1.}
We first compute the dual function:
$$ g_P(\lambda, \nu) = \inf_x \left( c^\trans x - \lambda^\trans x + \nu^\trans (Ax - b) \right) = \inf_x \left( \left( c - \lambda + A^\trans \nu \right)^\trans x - \nu^\trans b \right) $$
If the vector by which we multiply $x$ is not null then $g$ is unbounded. We then obtain:
$$ g_P(\lambda, \nu) = \syst{ll}{
- b^\trans \nu & \text{If } c - \lambda + A^\trans \nu = 0 \\
- \infty & \text{Otherwise}
} $$
Then the dual problem can be written:
$$ \begin{array}{llr}
\max_{\lambda, \nu} & - b^\trans \nu \\
\text{s.t.} & A^\trans \nu + c = \lambda \\
& \lambda \succeq 0
\end{array} $$
This can be simplified by injecting $\lambda$ in the first equality constraint:
$$ \begin{array}{llr}
\max_{\nu} & - b^\trans \nu \\
\text{s.t.} & A^\trans \nu + c \succeq 0
\end{array} $$
We can now substitute $\nu$ by $-y$ in this formulation and we exactly obtain the problem (D).
\begin{center}
\fbox{The dual problem of (P) is (D).}
\end{center}
\paragraph{2.}
We first compute the dual function (we replace the objective function by its opposite because the problem is formulated with a maximum instead of a minimum):
$$ g_D(\lambda) = \inf_y \left( - b^\trans y + \lambda^\trans \left( A^\trans y - c \right) \right) = \inf_y \left( \left( -b + A \lambda \right)^\trans y - \lambda^\trans c \right) $$
If the vector by which we multiply $y$ is not null then $g$ is unbounded. We then obtain:
$$ g_D(\lambda) = \syst{ll}{
- c^\trans \lambda & \text{If } -b + A \lambda = 0 \\
- \infty & \text{Otherwise}
} $$
Then the dual problem can be written:
$$ \begin{array}{llr}
\max_{\lambda} & - c^\trans \lambda \\
\text{s.t.} & A \lambda = b \\
& \lambda \succeq 0
\end{array} $$
Finally we can replace the maximum by the minimum of the opposite objective function and we retrieve the problem (P).
\begin{center}
\fbox{The dual problem of (D) is (P).}
\end{center}
\paragraph{3.}
We first compute the dual function:
$$ \begin{array}{lll}
g(\lambda, \lambda', \nu) & = & \inf_{x, y} c^\trans x - b^\trans y - \lambda^\trans x + \lambda'^\trans \left( A^\trans y - c \right) + \nu^\trans (Ax - b) \\
& = & \inf_{x, y} \left( c - \lambda + A^\trans \nu \right)^\trans x \, + \, \left( -b + A \lambda' \right)^\trans y \, - \, \lambda'^\trans c \, - \, \nu^\trans b \\[2mm]
& = & \syst{ll}{
- c^\trans \lambda' - b^\trans \nu & \text{If } c - \lambda + A^\trans \nu = 0, \; -b + A \lambda' = 0 \\
- \infty & \text{Otherwise}
}
\end{array} $$
One could also remarks that $g(\lambda, \lambda', \nu) = g_P(\lambda, \nu) + g_D(\lambda')$ which come from the fact that our new objective function is the sum of the problems (P) and (D) and that our constraints are the concatenation of the constraints of the two previous problems. We can clearly imagine that because the dual of (P) is (D) and the dual of (D) is (P), the dual of our problem will be the same sum/concatenation of (P) and (D) hence the problem we are considering is self-dual. But let justify it by writing the dual thanks to $g$ :
$$ \begin{array}{llr}
\max_{\lambda, \lambda', \nu} & - c^\trans \lambda' - b^\trans \nu \\
\text{s.t.} & A^\trans \nu + c = \lambda \\
& A \lambda' = b \\
& \lambda \succeq 0, \; \lambda' \succeq 0
\end{array} $$
As in the two previous question, we replace $\lambda'$ by $x$. We inject $\lambda$ in the first equality to eliminate it. We replace $\nu$ by $-y$. And we replace the maximum by the minimum of the opposite objective function:
$$ \begin{array}{llr}
\min_{x, y} & c^\trans x - b^\trans y \\
\text{s.t.} & - A^\trans y + c \succeq 0 \\
& A x = b \\
& x \succeq 0
\end{array} $$
We recognize the problem (Self-Dual).
\begin{center}
\fbox{The problem (Self-Dual) is self-dual.}
\end{center}
\paragraph{4.}
We can remark that $x$ and $y$ are independent in the problem. That is to say, $x$ and $y$ don't appear at the same time in a constraint and the objective function can be split in the sum of one function depending only in $x$ and another depending only in $y$. We can then optimize $x$ and $y$ separately. The restriction of (Self-Dual) to $x$ is exactly (P) and the restriction to $y$ is exactly (D). Thus:
\begin{center}
\fbox{The vector $[x^*, y^*]$ can also be obtained by solving (P) and (D).}
\end{center}
The problem is linear because the objective function and the constraints are linear. The we effectively have the strong duality. Because the problem is self-dual $[x^*, y^*]$ is also optimal for its dual. We recall that :
$$ x^* = \lambda'^* \qquad y^* = - \nu^* \qquad \lambda^* = A^\trans \nu^* + c $$
We then write the complementary slackness conditions :
$$ \left( A^\trans y^* - c \right)_i x_i^* = 0, \quad i = 1, ..., d $$
Now we rewrite the objective function using $Ax^* = b$ :
$$ f_0(x^*, y^*) = c^\trans x^* - b^\trans y^* = c^\trans x^* - (x^*)^\trans A^\trans y^* = - \left( A^\trans y^* - c \right)^\trans x^* = - \sum_{i = 1}^d \left( A^\trans y^* - c \right)_i x_i^* = 0 $$
We can conclude :
\begin{center}
\fbox{The optimal value of (Self-Dual) is exactly 0.}
\end{center}
\end{document}
\ No newline at end of file
Markdown is supported
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