76 lines
2.8 KiB
Plaintext
76 lines
2.8 KiB
Plaintext
---
|
|
title: "ML 07 Optimisation sous contraintes et multiplicateurs de Lagrange"
|
|
output:
|
|
bookdown::pdf_document2:
|
|
number_section: yes
|
|
toc: false
|
|
classoption: fleqn
|
|
---
|
|
|
|
Avant de pouvoir présenter la preuve de l'existence de la décomposition en valeurs singulières, nous devons introduire une stratégie souvent très utile pour résoudre un problème d'optimisation sous contraintes : la méthode dite des multiplicateurs de Lagrange.
|
|
|
|
Prenons un exemple simple à deux dimensions. Nous cherchons à maximiser $F(\mathbf{x}) = x_1^2 + x_2^2$ sous la contrainte $K(\mathbf{x})=b$, avec $K(\mathbf{x}) = a_1 x_1 + a_2 x_2$. C'est-à-dire que le point solution $\mathbf{x^*}$ doit être situé sur la ligne $K$.
|
|
|
|
![lagrange](images/lagrange.jpg)
|
|
Sur cet exemple, les lignes de niveaux, ou contours, de $F$ sont des cercles centrés sur l'origine du repère cartésien.
|
|
La solution $\mathbf{x*}$ appartient au contour de $F$ tangent à la contrainte $K$. Il faut donc que leurs gradients soient alignés : $\nabla F = \lambda \nabla K$.
|
|
|
|
\[
|
|
\nabla F =
|
|
\left( \begin{array}{c}
|
|
\partial F / \partial x_1 \\
|
|
\partial F / \partial x_2
|
|
\end{array} \right)
|
|
=
|
|
\left( \begin{array}{c}
|
|
2 x_1 \\
|
|
2 x_2
|
|
\end{array} \right)
|
|
\quad ; \quad
|
|
\nabla K =
|
|
\left( \begin{array}{c}
|
|
\partial K / \partial x_1 \\
|
|
\partial K / \partial x_2
|
|
\end{array} \right)
|
|
=
|
|
\left( \begin{array}{c}
|
|
a_1 \\
|
|
a_2
|
|
\end{array} \right)
|
|
\]
|
|
Nous avons donc un système de trois équations à trois inconnues ($x_1$, $x_2$ et $\lambda$) :
|
|
|
|
\[
|
|
\begin{cases}
|
|
2 x_1 = \lambda a_1 \\
|
|
2 x_2 = \lambda a_2 \\
|
|
a_1 x_1 + a_2 x_2 = b
|
|
\end{cases}
|
|
\]
|
|
|
|
En résolvant ce système par simples substitutions, nous trouvons la solution :
|
|
|
|
\[
|
|
\begin{cases}
|
|
x_1^* = \frac{a_1 b}{a_1^2 + a_2^2} \\
|
|
x_2^* = \frac{a_2 b}{a_1^2 + a_2^2} \\
|
|
\lambda^* = \frac{2b}{a_1^2 + a_2^2}
|
|
\end{cases}
|
|
\]
|
|
Ce même calcul s'écrit d'une façon plus systématique en rassemblant les équations $\nabla F = \lambda \nabla K$ et $K(\mathbf{x})=b$ par l'introduction du Lagrangien :
|
|
|
|
\[
|
|
\mathcal{L}(\mathbf{x},\lambda) = F(\mathbf{x}) - \lambda(K(\mathbf{x})-b)
|
|
\]
|
|
|
|
En effet, en annulant les dérivées partielles de $\mathcal{L}$, nous retrouvons les équations $\nabla F = \lambda \nabla K$ et $K(\mathbf{x})=b$ :
|
|
|
|
\[
|
|
\begin{array}{lll}
|
|
\partial \mathcal{L} / \partial x_1 = 0 &\Leftrightarrow &\partial F / \partial x_1 = \lambda \partial K / \partial x_1\\
|
|
\partial \mathcal{L} / \partial x_2 = 0 &\Leftrightarrow &\partial F / \partial x_2 = \lambda \partial K / \partial x_2\\
|
|
\partial \mathcal{L} / \partial \lambda = 0 &\Leftrightarrow &K(\mathbf{x}) = b\\
|
|
\end{array}
|
|
\]
|
|
|
|
Ainsi, le problème d'optimisation sous contrainte exprimé en fonction de $F$ et $K$ peut s'écrire comme un problème d'optimisation non contraint, en fonction de $\mathcal{L}$, dans un espace de plus grande dimension que celui d'origine puisque s'ajoute aux dimensions de $\mathbf{x}$ celle de $\lambda$. |