If you see this, something is wrong
To get acquainted with the document, the best thing to do is to select the "Collapse all sections" item from the "View" menu. This will leave visible only the titles of the top-level sections.
Clicking on a section title toggles the visibility of the section content. If you have collapsed all of the sections, this will let you discover the document progressively, from the top-level sections to the lower-level ones.
Generally speaking, anything that is blue is clickable.
Clicking on a reference link (like an equation number, for instance) will display the reference as close as possible, without breaking the layout. Clicking on the displayed content or on the reference link hides the content. This is recursive: if the content includes a reference, clicking on it will have the same effect. These "links" are not necessarily numbers, as it is possible in LaTeX2Web to use full text for a reference.
Clicking on a bibliographical reference (i.e., a number within brackets) will display the reference.
Speech bubbles indicate a footnote. Click on the bubble to reveal the footnote (there is no page in a web document, so footnotes are placed inside the text flow). Acronyms work the same way as footnotes, except that you have the acronym instead of the speech bubble.
By default, discussions are open in a document. Click on the discussion button below to reveal the discussion thread. However, you must be registered to participate in the discussion.
If a thread has been initialized, you can reply to it. Any modification to any comment, or a reply to it, in the discussion is signified by email to the owner of the document and to the author of the comment.
First published on Tuesday, Mar 11, 2025 and last modified on Wednesday, Apr 9, 2025 by François Chaplais.
Centre Automatique et Systèmes, Mines Paris - PSL
On se place dans \( \mathbb{R}^n\) , \( n<\infty\) considéré comme un espace vectoriel normé muni de la norme euclidienne notée \( \left\lVert .\right\rVert \) . On considérera des fonctions différentiables ou deux fois différentiables \( f:{\mathbb{R}^n}\mapsto \mathbb{R}\) . On notera \( \Omega\) un ouvert de \( {\mathbb{R}^n}\) .
Définition 1
Soit l’application \( {\mathbb{R}^n} \supset \Omega \ni x \mapsto f(x) \in \mathbb{R}\) . On dit que \( f\) présente en \( x^*\in \Omega\) un minimum (optimum) local, si et seulement s’il existe un voisinage \( V\) de \( x^*\) tel que \( \forall x \in V \cap \Omega\) , \( f(x^*)\leq f(x)\) (on dit que c’est un minimum strict si la précédente inégalité est stricte). On dit que \( x\) est solution locale du problème
On ne considérera que des problèmes de minimisation (calculs de minimum), les problèmes de maximisation étant obtenus en considérant l’opposé de la fonction \( f\) .
Définition 2
On dit que \( x^*\in \Omega\) est un minimum (optimum) global de la fonction \( {\mathbb{R}^n} \supset \Omega \ni x \mapsto f(x) \in \mathbb{R}\) si \( \forall x \in \Omega\) on a \( f(x^*)\leq f(x)\) . On dit que c’est un minimum strict global si la précédente inégalité est stricte. On dit que \( x^*\) est solution globale du problème
Définition 3
On note \( (\nabla f(x))^T=\frac{\partial f}{\partial x}(x)=\left(\frac{\partial f}{\partial x_1},...,\frac{\partial f}{\partial x_n}\right)(x)\) , le gradient de \( f\) où \( x=(x_1,...,x_n)\) .
Définition 4
On appelle Hessien de \( f\) la matrice symétrique de \( {\mathcal M}_n(\mathbb{R})\) \( \nabla^2 f(x)=\left(\frac{\partial^2 f}{\partial x_i \partial x_j}\right)(x)\) , \( i=1,...,n, j=1,...,n\) .
Définition 5
On note \( \frac{\partial g}{\partial x} (x)=\left(\frac{\partial g_i}{\partial x_j}\right)(x)\) , \( i=1,...,m, j=1,...,n\) , matrice de \( {\mathcal M}_{(m\times n)}(\mathbb{R})\) , le Jacobien de \( g=\left(g_1(x),...,g_m(x)\right)^T\) .
Définition 6
On dit que \( x^*\) est un point stationnaire de \( f\) si \( \nabla f(x^*)=0\) .
Le théorème suivant garantit l’existence d’une solution au problème de recherche de minimum.
Théorème 1 (Weierstrass)
Si \( f\) est une fonction réelle continue sur un compact \( K \subset {\mathbb{R}^n}\) alors le problème de recherche de minimum global
possède une solution \( x^*\in K\) .
Proof
Notons \( mīnf_{x\in K} f(x)\) (éventuellement \( m=-\infty\) ). Par défini–tion, \( \forall x \in K, f(x) \geq m\) . Soit \( (x^k)_{k\in \mathbb{N}}\) suite d’éléments de \( K\) telle que \( (f(x^k))_{k\in \mathbb{N}}\) converge vers \( m\) . \( K\) est compact, on peut donc extraire une sous-suite \( (x^l)_{l\in {\mathcal I}\subset\mathbb{N}}\) convergeant vers \( x^*\in K\) . Par continuité de \( f\) , on a
Or \( f(x^*)> -\infty\) car \( f\) est continue et \( K\) compact. En conclusion, il existe \( x^*\in K\) tel que \( f(x^*)=\min_{x\in K} f(x)\) .
Théorème 2
Soit \( \Omega\) un ouvert de \( {\mathbb{R}^n}\) . Une condition nécessaire pour que \( x^*\) soit un optimum local de \( {\mathbb{R}^n}\ni x \mapsto f(x)\in \mathbb{R}\) fonction deux fois différentiable est
Proof
\( x^*\in \Omega\) ouvert, donc \( \forall h \in{\mathbb{R}^n}\) , \( \exists \eta >0\) tel que \( (x^*+\delta h)\in\Omega\) pour \( 0\leq \delta \leq \eta\) . Pour \( \eta\) suffisamment petit on a alors \( f(x^*+\delta h)\geq f(x^*)\) par hypothèse. \( f\) est différentiable, on peut utiliser un développement de Taylor
d’où
Par passage à la limite lorsque \( \delta\) tend vers zéro on obtient
Nécessairement \( \frac{\partial f}{\partial x}(x^*)=0\) . Utilisons maintenant un développement au deuxième ordre
Dans le même voisinage que précédemment \( f(x^*+\delta h)\geq f(x^*)\) implique après passage à la limite que pour tout \( h\in {\mathbb{R}^n}\)
et donc que \( \nabla^2 f(x^*) \geq 0\) .
Théorème 3
Une condition suffisante pour que \( x^*\) soit un optimum local de \( {\mathbb{R}^n}\ni x \mapsto f(x)\in \mathbb{R}\) fonction deux fois différentiable sur \( \Omega\) ouvert de \( {\mathbb{R}^n}\) est
Proof
évidente par le même développement de Taylor à l’ordre 2.
Définition 7
\( E\) ensemble de \( {\mathbb{R}^n}\) est convexe si \( \forall (x,y)\in E\times E\) , \( \forall \lambda \in [0,1]\) , \( \lambda x +(1-\lambda)y\in E\) .
Définition 8
Soit \( E\) convexe de \( {\mathbb{R}^n}\) . On dit que l’application \( E \ni x \mapsto f(x)\in \mathbb{R}\) est convexe si \( \forall (x,y) \in E\times E\) , \( \forall \lambda\in[0,1]\) on a
Théorème 4
Soit \( E\) convexe de \( {\mathbb{R}^n}\) et \( E \ni x \mapsto f(x) \in \mathbb{R}\) application deux fois différentiable. Les propositions suivantes sont équivalentes
Théorème 5
Pour une application convexe définie sur un ensemble convexe, tout minimum local est global.
Proof
Soit \( x^*\) minimum local de \( f\) . \( \exists \epsilon >0\) tel que \( \forall x\) tel que \( \left\lVert x-x^*\right\rVert <\epsilon\) , \( f(x) \geq f(x^*)\) . Pour tout \( x\in E\) on peut construire, par convexité de \( E\) , \( E\ni x^\alpha=(1-\alpha)x^*+\alpha x\) , avec \( \alpha\in]0,1]\) tel que \( \left\lVert x^\alpha-x^*\right\rVert <\epsilon\) . On alors \( f(x^*)\leq f(x^\alpha)\) . Or, par convexité de la fonction \( f\) on a \( f(x^\alpha) \leq (1-\alpha) f(x^*) + \alpha f(x)\) . Après simplification, il vient \( f(x^*)\leq f(x)\) .
Théorème 6
Soit \( f\) une fonction convexe deux fois différentiable. Une condition nécessaire et suffisante pour que \( x^*\in\Omega\subset {\mathbb{R}^n}\) avec \( \Omega\) convexe soit un optimum global est que
Théorème 7
Soit \( E\subset {\mathbb{R}^n}\) convexe fermé. Soit \( E \ni x \mapsto f(x)\in \mathbb{R}\) continue et convexe telle que pour toute suite \( (u^n)_{n\in \mathbb{N}}\) telle que \( \lim_{n\rightarrow \infty}\left\lVert u^n\right\rVert =+\infty\) on a \( \lim_{n\rightarrow \infty}f(u^n)=+\infty\) . Il existe une solution au problème \( \min_{x\in E} f(x)\) .
On introduit ici la notion de convexité forte qui permettra de prouver la convergence de certains algorithmes de résolution de problèmes d’optimisation.
Définition 9
Soit \( E\subset {\mathbb{R}^n}\) convexe. On dit que \( E \ni x \mapsto f(x)\in \mathbb{R}\) est fortement convexe (\( \alpha\) -convexe) si et seulement si \( \exists \alpha >0\) tel que \( \forall (x,y)\in E\times E\)
Théorème 8
Soit \( f\) une application différentiable de \( \Omega\) dans \( \mathbb{R}\) , et \( \alpha>0\) . Les propositions suivantes sont équivalentes
C’est souvent la dernière écriture qui est la plus utile dans les démonstrations. Pour l’étude des propriétés des algorithmes on caractérise les vitesses de convergence comme suit.
Soit une suite de valeurs \( (x_k)_{k\in \mathbb{N}}\) convergeant vers \( x^*\) . On dira que cette suite converge linéairement, si \( \exists r\in]0,1[\) tel que pour \( k\) suffisamment grand
On dira que cette suite converge super linéairement, si pour \( k\) suffisamment grand
On dira que cette suite converge de façon quadratique si \( \exists M>0\) tel que, pour \( k\) suffisamment grand
Il est possible de résoudre des problèmes (simples) d’optimisation avec peu de connaissance de la fonction. On propose ainsi une méthode n’utilisant que la possibilité d’évaluer la fonction.
Définition 10
On dit que \( f:\mathbb{R} \mapsto \mathbb{R} \) est unimodale sur un intervalle \( [A, B]\) si elle admet un minimum \( x^*\) et si \( \forall x_1 < x_2\) dans \( [A, B]\) on a
Autrement dit, \( f\) possède un minimum global unique mais n’est ni nécessairement continue ni différentiable partout. Une conséquence de la propriété d’unimodalité est que si on divise l’intervalle \( [A, B]\) en 4, il existe toujours un sous-intervalle qui ne contient pas l’optimum.
Parmi les 4 intervalles précédents choisis de longueur égales on peut toujours en supprimer 2. L’intervalle de recherche est alors divisé par 2 à chaque itération.
Au lieu de subdiviser en 4 intervalles, on utilise 3 intervalles. À chaque itération on peut exclure l’un des 3 intervalles. De manière à réutiliser les calculs entre deux itérations, il faut choisir une méthode de découpage utilisant le nombre d’or. On vérifie qu’il faut diviser l’intervalle de recherche à l’itération \( i\) \( [A_i, B_i]\) suivant \( [A_i, A_i+(1-\tau)(B_i-A_i), A_i +\tau (B_i-A_i), B_i]\) où \( \tau=(\sqrt{5}-1)/2\) .
Les deux méthodes de division en sous-intervalles convergent vers l’unique minimum \( x^*\) quel que soit l’intervalle de recherche de départ \( [A,B]\) . On peut s’intéresser à leur efficacité en terme de nombre d’itérations. Pour obtenir un effort de réduction de l’intervalle de recherche initial de \( 10^{-2}\) , \( 10^{-3}\) , \( 10^{-6}\) , on doit faire le nombre d’appel à la fonction \( f\) suivant: 17, 23, 42 pour la méthode de dichotomie et 13, 18, 31 pour la méthode de la section dorée. La méthode de la section dorée est plus efficace mais moins triviale à mettre en œ uvre que la méthode de dichotomie qui lui est souvent préférée.
On suppose désormais pouvoir calculer la valeur de la fonction ainsi que son gradient. Partant d’une valeur initiale \( x^0\) , on va mettre à jour une estimation \( x^k\) de l’optimum recherché \( x^*\) .
Entre deux itérations \( k\) et \( k+1\) on fait évoluer l’estimée de l’optimum \( x^k\) suivant la formule
où \( l^k\in \mathbb{R}\) est appelé pas et \( p^k\in {\mathbb{R}^n}\) est une direction. Si par exemple on choisit \( p^k=-\nabla f(x^k)\) on obtient alors pour une fonction différentiable
On peut donc espérer une décroissance des valeurs de la fonction entre deux itérations, d’où le nom de méthode de descente. On constate qu’une règle simple de pas constant produit souvent une bonne décroissance au début des itérations suivi d’une relative stagnation des valeurs de la fonction co^{u}t. En cherchant à améliorer la méthode, on réalise rapidement qu’il est important de bien choisir \( l^k\) .
L’algorithme suivant possède de très intéressantes propriétés de convergence.
Algorithme 1
À partir de \( x^0\in {\mathbb{R}^n}\) quelconque, itérer
où \( l^k={\text{argmin}}_{l \in \mathbb{R}} f(x^k -l \nabla f(x^k))\) .
Théorème 9
Si \( f\) est \( \alpha\) -convexe, différentiable et de gradient \( \nabla f\) Lipschitzien sur tout borné (c.-à-d. \( \forall M>0\) , \( \exists C_M>0 \) tel que \( \forall (x,y)\in {\mathbb{R}^n}\times{\mathbb{R}^n}\) , \( \left\lVert x\right\rVert +\left\lVert y\right\rVert \leq M\) implique \( \left\lVert \nabla f(x)-\nabla f(y)\right\rVert \leq C_M \left\lVert x-y\right\rVert \) ) alors l’algorithme 1 du gradient à pas optimal converge vers l’unique solution \( x^*\) du problème d’optimisation \( \min_{x\in {\mathbb{R}^n}} f(x)\) .
Proof
La fonction \( \mathbb{R}\ni l \mapsto g(l)=f(x^k-l \nabla f(x^k))\) est \( \alpha\) -convexe et dérivable sur \( \mathbb{R}\) . On suppose qu’à l’itération \( k\) , \( \nabla f(x^k)\neq 0\) . Le problème d’optimisation \( \min_{l \in \mathbb{R}} f(x^k -l \nabla f(x^k))\) a une solution unique caractérisée par \( \nabla g(l)=0\) . Cette équation s’écrit
On s’aperçoit ainsi que deux directions de descentes successives sont orthogonales. Entre deux itérations on a donc
car \( l_k\neq 0\) . On déduit alors de l’\( \alpha\) -convexité de \( f\)
Donc
(1)
La suite de réels \( \left( f(x^k)\right)_{k\in \mathbb{N}}\) est décroissante, minorée par \( f(x^*)\) , elle est donc convergente. On en déduit que, par (1),
D’autre part, \( \left( f(x^k)\right)_{k\in \mathbb{N}}\) est décroissante, minorée par \( f(x^*)\) , elle est bornée. Il existe donc \( M\in \mathbb{R}\) tel que
où la dernière inégalité provient de l’\( \alpha\) -convexité de \( f\) . La suite \( \left( x^k\right)_{k\in \mathbb{N}}\) est donc bornée. Utilisons maintenant que le gradient \( \nabla f\) est Lipschitzien sur tout borné. \( \exists C_M>0 \) tel que \( \left\lVert \nabla f(x^k)-\nabla f(x^{k+1})\right\rVert \leq C_M \left\lVert x^{k+1}-x^k\right\rVert \) . Par l’orthogonalité entre les directions de descente entre deux pas successifs, il vient alors
Par passage à la limite on a alors
Enfin, en utilisant une dernière fois l’\( \alpha\) -convexité de \( f\) , on a
D’où
Par passage à la limite on a alors
L’algorithme du gradient à pas optimal possède donc une intéressante propriété de convergence mais comporte dans chaque itération une recherche de pas optimal. C’est un problème mono-dimensionnel qui peut être traité par les méthodes de dichotomie ou de section dorée. Cette résolution itérée peut être co^{u}teuse en calculs et on lui préférera souvent une des méthodes de recherche linéaire présentée dans la section suivante.
L’idée générale consiste à proposer une méthode de sélection du pas \( l^k\) qui permette de prouver la convergence
d’avoir une bonne vitesse de convergence, et qui soit simple à implémenter.
Définition 11
On appelle condition d’Armijo (de paramètre \( c_1\) ) sur les itérations \( (x^k,p^k,l^k)_{k\in\mathbb{N}}\) l’inéquation
(2)
Définition 12
On appelle condition de courbure (de paramètre \( c_2\) ) sur les itéra–tions \( (x^k,p^k,l^k)_{k\in\mathbb{N}}\) l’inéquation
(3)
Dans la suite on utilisera les deux conditions précédentes pour des paramètres \( 0<c_1<c_2<1\) . La première condition autorise des pas grands mais pas trop (en pratique ceci évite les “rebonds” au cours des itérations). La deuxième condition permet d’éviter les pas trop petits.
Définition 13
On appelle conditions de Wolfe, les conditions (2) et (3) avec \( 0<c_1<c_2<1\) .
Théorème 10
Soit \( {\mathbb{R}^n}\ni x \mapsto f(x)\in\mathbb{R}\) différentiable. Soit \( p^k\) direction de descente en \( x^k\) telle que \( f\) est bornée inférieurement sur la droite \( \{x_k+l p^k, l>0\}\subset {\mathbb{R}^n}\) . Il existe un intervalle \( [l_1,l_2]\) tel que tout \( l\in[l_1,l_2]\) satisfait les conditions de Wolfe.
Proof
La fonction \( \mathbb{R}\ni l\mapsto f(x^k+l p^k)\) est bornée inférieurement donc pour tout \( 0<c_1<1\) , l’ensemble \( \{f(x^k)+l c_1 \nabla f(x^k)^T p^k, l >0 \}\subset \mathbb{R}\) contient \( f(x^k+l p^k)\) . Notons \( l'>0\) la plus petite valeur de \( l\) telle que \( f(x^k)+l c_1 \nabla f(x^k)^T p^k=f(x^k+l p^k)\) . La condition d'Armijo (2) est toujours satisfaite pour \( l<l'\) . Par le théorème des accroissements finis appliqué à la fonction différentiable \( [0,l']\ni l \mapsto f(x^k+l p^k)\in \mathbb{R}\) , \( \exists l^{''}\in[0, l']\) tel que \( f(x^k+l'p^k)-f(x^k)=l'\nabla f(x^k+l^{''} p^k)^T p^k\) . On a alors
Cette inégalité étant stricte, elle reste large dans un voisinage de \( l^{''}\) ce qui garantit qu'il existe un intervalle non vide autour de \( l^{''}\) dans lequel \( l\) satisfait également la condition de courbure (3).
On va maintenant chercher à prouver la convergence de l’algorithme de descente utilisant la recherche linéaire qu’on vient de présenter. + cette fin, nous allons utiliser le théorème suivant
Théorème 11 (Zoutendijk)
Soit une séquence \( (x^k,p^k,l^k)_{k\in \mathbb{N}}\) vérifiant \( x^{k+1}=x^k+l^k p^k\) satisfaisant les conditions de Wolfe. On définit
(c.-à-d. le cosinus de l’angle entre la direction de recherche et la plus grande pente). Si \( f\) (supposée différentiable) est bornée inférieurement et si \( \nabla f\) est Lispchitzien alors
En corollaire \( \lim_{k\rightarrow \infty} \cos^2\theta^k\left\lVert \nabla f(x^k)\right\rVert ^2 = 0\) .
Proof
D’après la condition de courbure, on a
et donc
Or \( x\mapsto \nabla f(x)\) est Lipschitz, donc \( \exists L>0\) tel que
Il vient donc \( L l^k \left\lVert p^k\right\rVert ^2 \geq (c_2-1) \nabla f(x^k)^Tp^k\) et donc
D’après la condition d’Armijo, on a alors
Une sommation terme à terme donne alors
La suite de réels \( \left( f(x^k)\right)_{k\in\mathbb{N}}\) est décroissante, bornée inférieurement, elle converge. En conclusion
On utilise le théorème de Zoutendjik en choisissant \( p^k=-\nabla f(x^k)\) . On a alors, pour tout \( k\in \mathbb{N}\) , \( \cos\theta^k=1\) . La série
converge donc pour tout algorithme de gradient satisfaisant les conditions de Wolfe et on a la convergence
Si on applique l’algorithme de gradient avec règles de Wolfe à la fonction \( {\mathbb{R}^n} \ni x \mapsto 1/2 x^T Q x -b^T x\) avec \( Q\) matrice de \( {\mathcal M}_n(\mathbb{R})\) symétrique définie positive et \( b\in {\mathbb{R}^n}\) on peut montrer la convergence
où \( \lambda_1\) et \( \lambda_n\) sont respectivement la plus petite et la plus grande des valeurs propres de \( Q\) . Les performances se dégradent donc avec le conditionnement du problème.
Autour de \( x^k\) , une approximation de \( f\) supposée deux fois différentiable est
Si \( \nabla^2 f(x^k)>0\) alors \( {\mathbb{R}^n}\ni x\mapsto q(x)\in \mathbb{R}\) est strictement convexe. Son minimum est donc atteint en un point \( x\) tel que \( \nabla q(x)=0\) c.-à-d.
qui donne \( x=x^k-\left(\nabla^2 f(x^k)\right)^{-1} \nabla f(x^k)\) La méthode de Newton consiste à itérer le calcul précédent. À chaque étape on doit effectuer \( 0(n^3)\) calculs dont la majeure partie est due à l’inversion du Hessien de \( f\) en \( x^k\) .
Algorithme 2
À partir de \( x^0\in {\mathbb{R}^n}\) quelconque, itérer
Théorème 12
Soit \( {\mathbb{R}^n} \ni x \mapsto f(x)\in \mathbb{R}\) deux fois différentiable, possédant un unique minimum global \( x^*\) tel que \( \nabla^2f(x^*)\) est définie positive (on note \( \lambda>0\) sa plus petite valeur propre) et tel que \( {\mathbb{R}^n} \ni x \mapsto \nabla^2 f(x)\in {\mathcal M}_n(\mathbb{R})\) est localement Lipschitz au voisinage de \( x^*\) (on note \( C\) sa constante Lipschitz). L’algorithme 2 de Newton converge quadratiquement vers \( x^*\) si on l’initialise en un point \( x^0\) tel que \( \left\lVert x^0-x^*\right\rVert \leq \frac{2\lambda}{3C}\) .
Proof
D’après la formule de Taylor avec reste intégral appliquée à la fonction \( t\mapsto \nabla f(x^k+t(x^*-x^k))\) , on a, en utilisant \( \nabla f(x^*)=0\) ,
D’autre part, si \( x^k\) est suffisamment proche de \( x^*\) (c’est vrai pour \( k=0\) et le restera par récurrence par l’équation (7)), la condition de Lipschitz donne qu’il existe \( C>0\) tel que
On peut donc déduire
(4)
L’itération de l’algorithme de Newton donne \( x^k=x^{k+1}+\nabla^2 f(x^k)^{-1} \nabla f(x^k)\) . Après substitution et simplification dans (4) on a
Il s’agit maintenant de faire apparaître \( \nabla^2 f(x^*)\) qui est la quantité sur laquelle porte l’hypothèse. Une inégalité triangulaire donne
À l’aide des majorations précédentes on a alors
(5)
Notons maintenant \( \lambda>0\) la plus petite valeur propre de \( \nabla^2 f(x^*)\) . L’inéquation (5) donne alors
(6)
On a \( \left\lVert x^k-x^*\right\rVert \leq \frac{2\lambda}{3C}\) . Pour tous les indices \( p>k\) suivants on encore \( \left\lVert x^p-x^*\right\rVert \leq \frac{2\lambda}{3C}\) . En effet on peut tirer de (6) que
d’où \( \left\lVert x^{k+1}-x^*\right\rVert \leq \frac{2\lambda}{3C}\) . Finalement l’inéquation (6) donne donc la convergence quadratique
(7)
Cette méthode ne requiert que l’évaluation de la fonction et de son gradient. Elle s’avère en pratique souvent aussi performante que la méthode de Newton dans le calcul de la direction de descente. Au lieu de calculer cette direction par la formule \( p^k=-\nabla^2 f(x^k)^{-1} \nabla f(x^k)\) , on utilise une formule
où \( B^k\) est une matrice symétrique définie positive qu’on va mettre à jour au cours des itérations.
À l’itération \( k\) on dispose d’une estimation de l’optimum \( x^k\) , et on forme la fonction
Le minimum de cette fonction est atteint en \( p^k=-\left(B^k\right)^{-1} \nabla f(x^k)\) et peut permettre de former une nouvelle estimée de l’optimum
où \( l^k\) peut être choisi par les conditions de Wolfe (par exemple).
On va chercher à introduire les modifications du gradient entre les itérations (courbure) dans la mise à jour de \( B^k\) . Le nouveau modèle autour de l’estimation \( x^{k+1}\) est
On va faire coïncider le gradient de \( m^{k+1}\) avec celui de \( f\) qu’on a évalué aux itérations \( x^k\) et \( x^{k+1}\) . Par construction, \( \nabla m^{k+1}(0)=\nabla f(x^{k+1})\) . D’autre part, l’autre gradient recherché \( \nabla m^{k+1}(-l^k p^k)= \nabla f(x^{k+1})-l^k B^{k+1}p^k\) . On utilise désormais les notations
On a donc à résoudre
Il n’est pas toujours possible de résoudre cette équation dont l’inconnue \( B^{k+1}\) est à rechercher symétrique définie positive. Une condition nécessaire et suffisante pour que cette équation possède une solution symétrique définie positive est que
ce qui peut se réécrire \( (x^{k+1}-x^k)^T(\nabla f(x^{k+1})-\nabla f(x^k))>0\) . On pourra éventuellement chercher à imposer cette condition au moment de la recherche linéaire. Cette condition sera toujours remplie si la fonction \( f\) est \( \alpha\) -convexe. Les conditions de Wolfe garantissent que cette condition est remplie. En effet on a
d’après la condition de courbure. Ceci implique bien \( (s^k)^T y^k \geq (c_2-1) l^k \nabla f(x^k)^T p^k>0\) car on utilise un algorithme de descente.
Notre but était de définir \( B^{k+1}\) , on sait qu’on peut toujours le faire par les conditions de Wolfe. On va maintenant rendre ce choix unique. En l’état actuel on a \( \frac{n(n+1)}{2}\) coefficients et \( n\) équations ainsi que \( n\) inégalités (provenant de la contrainte que l’approximation doit être positive définie). On peut montrer que ces inégalités possèdent des solutions. Pour définir de manière unique notre solution, on va chercher à s’approcher le plus possible de \( B^{k}\) au sens d’une certaine norme. Introduisons à cet effet la définition suivante.
Définition 14 (Norme de Frobenius (pondérée))
Soit \( A=(a_{ij})_{i=1...n ,j=1...n}\) une matrice de \( {\mathcal M}_n(\mathbb{R})\) et \( W\) une matrice définie positive de \( {\mathcal M}_n(\mathbb{R})\) . On définit \( \left\lVert A\right\rVert _W\) la norme pondérée de Frobenius par l’égalité suivante
où \( \left\lVert A\right\rVert _F=\sum_{i=1...n ,j=1...n}a_{ij}^2\)
Dans notre cas, nous allons choisir \( W\) matrice de pondérations telle que \( W y^k=s^k\) , par exemple \( W^{-1}īnt_0^1 \nabla^2 f(x^k+\tau l^k p^k) d \tau \) qui est la moyenne du Hessien le long du chemin de la dernière itération.
En utilisant cette norme on résout le problème d’optimisation (d’inconnue \( B\) ) suivant
(8)
Proposition 1
Le problème d’optimisation (8) possède une unique solution \( B^*\) qui est
La précédente formule sera utilisée comme mise à jour du Hessien dans l’algorithme DFP (Davidson, Fletcher, Powell).
La quantité que nous utilisons dans les algorithmes de quasi-Newton est l’inverse du Hessien \( (B^k)^{-1}\) et non le Hessien lui-même. Pour calculer cet inverse de manière efficace on peut utiliser la formule issue de la proposition suivante
Proposition 2 (Formule de Sherman-Morrison-Woodbury)
Soient \( A\) une matrice de \( {\mathcal M}_n(\mathbb{R})\) inversible, \( U\) et \( V\) deux matrices de \( {\mathcal M}_{n,p}(\mathbb{R})\) , \( 1\leq p \leq n\) . On définit \( \bar AĀ+U V^T\) . Si \( \bar A\) est inversible alors
(9)
Lorsqu’on met à jour l’approximation du Hessien par la formule de la proposition 1 on a
(10)
Il lui correspond la mise à jour de l’inverse
(11)
L’équation (11) redonne bien (10). Cette dernière équation fait apparaître une forme factorisée et un terme de mise à jour \( U V^T\) en notant \( U=\left( -\frac{1}{a} U_1 , \frac{1}{b} U_2 \right)\) et \( V=\left(U_1, U_2\right)\) avec
En utilisant la formule de Sherman-Morrison-Woodbury (9), il vient alors
Après quelques lignes de développement, on obtient
qui est bien (10).
On retiendra deux formules possibles pour la mise à jour de l’inverse de l’approximation du Hessien: la formule DFP (11) et la formule BFGS (Broyden, Fletcher, Goldfarb, Shanno) suivante
(12)
(13)
qui correspond à la résolution du problème
où \( \gamma^k=1/((y^k)^T s^k)\) .
Algorithme 3 (Algorithme de BFGS)
À partir de \( x^0\in {\mathbb{R}^n}\) quelconque, et de \( H^0Ī(n)\) (d’autres choix de matrice définie positive sont possibles) itérer
Théorème 13
Soit \( {\mathbb{R}^n} \ni x \mapsto f(x)\in \mathbb{R}\) deux fois différentiable telle que la ligne de niveau \( {\mathcal L}=\left\{ x/ f(x)\leq f(x^0)\right\}\) est convexe et qu’il existe des constantes positives \( m\) et \( M\) telles que \( \forall z \in {\mathbb{R}^n}\) et \( \forall x \in {\mathcal L}\)
L’algorithme 3 de BFGS converge vers l’unique minimum \( x^*\) de \( f\) .
Théorème 14
Avec les hypothèses du théorème précédent, si de plus \( \nabla^2 f(x^*)\) est localement Lipschitz alors la convergence de l’algorithme 3 est superlinéaire.
L’algorithme que nous présentons dans cette section possède deux intérèts. Il permet de résoudre des systèmes linéaires strictement positifs de grande taille et il sert d’algorithme de base pour la résolution itérée de problèmes d’optimisation non linéaire.
Résoudre le système linéaire \( A x =b\) où \( A\in {\mathcal M}_n(\mathbb{R})\) symétrique positive définie, \( x\in {\mathbb{R}^n}\) , \( b\in {\mathbb{R}^n}\) est équivalent à résoudre le problème de minimisation de \( \phi(x)=\frac{1}{2} x^T A x - b^T x\) . Ces deux problèmes ont effectivement une même solution unique. En tout point \( x\) qui n’est pas cette solution, on note le “reste” \( r(x)Āx-b=\nabla \phi\) qui est non nul.
Considérons maintenant la définition suivante
Définition 15 (Directions conjuguées)
Un ensemble \( \{p^0,p^1,...,p^l\}\) de vecteurs de \( {\mathbb{R}^n}\) est dit \( A\) -conjugué si \( \forall i\neq j\) , \( (p^i)^T A pĵ=0\) .
Une telle famille est libre. Un exemple d’une telle famille est donnée par une famille de vecteurs propres orthogonaux de \( A\) .
Considérons une séquence
(14)
où les suites \( (x^k)_{k\in \mathbb{N}}\) et \( (p^k)_{k\in \mathbb{N}}\) sont des suites de vecteurs de \( {\mathbb{R}^n}\) et la suite \( (l^k)_{k\in \mathbb{N}}\) est une suite de vecteurs de \( \mathbb{R}\) . On a alors
Cette expression définit une fonction convexe de la variable \( l^k\) . Son unique minimum est obtenu pour
(15)
où \( r^k=r(x^k)\) .
Théorème 15
Quel que soit \( x^0\in {\mathbb{R}^n}\) , la séquence générée par (14), où \( l^k\) est donné par (15) et où \( \{p^0,p^1,...,p^{n-1}\}\) est une famille de \( n\) directions \( A\) -conjuguées, avec \( A\in{\mathcal M}_n(\mathbb{R})\) symétrique définie positive, atteint la solution \( x^*\) de \( Ax=b\) en au plus \( n\) étapes.
Proof
Les directions \( p^0,p^1,...,p^{n-1}\) sont linéairement indépendantes donc elles engendrent \( {\mathbb{R}^n}\) . Il existe donc \( n\) réels \( \sigma^0,...,\sigma^{n-1}\) tels que
En multipliant à gauche cette égalité par \( (p^k)^T A\) il vient, pour tout \( k=0,...,n-1\) ,
Nous allons maintenant montrer que \( \sigma^k=l^k\) . En \( k\) étapes on calcule
tel que \( (p^k)^T A (x^k-x^0)=0\) . Il vient donc
d’où \( \sigma^k=-\frac{(p^k)^T r^k}{(p^k)^T A p^k}=l^k\) d’où \( x^n=x^*\) . Ceci prouve qu’on a trouvé la décomposition de \( x^*\) dans la base \( p^0,p^1,...,p^{n-1}\) en minimisant successivement suivant les directions conjuguées la fonction quadratique \( \phi(x)=\frac{1}{2}x^TAx-b^Tx\) .
Théorème 16
Quel que soit \( x^0\in {\mathbb{R}^n}\) , la séquence générée par (14), où \( l^k\) est donné par (15) et où \( \{p^0,p^1,...,p^{n-1}\}\) est une famille de \( n\) directions \( A\) -conjuguées avec \( A\in{\mathcal M}_n(\mathbb{R})\) symétrique définie positive, possède les propriétés suivantes
Proof
De manière générale, \( \tilde x\) la combinaison linéaire
procurant la plus petite valeur de \( {\mathbb{R}^n}\ni x\mapsto \phi(x)\) est telle que
pour tout \( i=0,...,k-1\) , c.-à-d. \( r(\tilde x)^T p^i=0\) .
Prouvons maintenant le premier point du théorème. Le premier point \( x^1\) calculé par la séquence \( k=1\) est obtenu en calculant
On a donc \( \nabla \phi (x^1)^T p^0=0\) . Raisonnons maintenant par récurrence. Supposons qu’on ait établi pour un certain \( k>1\)
Calculons maintenant \( (r^k)^T p^i\) pour tout \( i=0,...,k-1\) .
d’où
or \( l^{k-1}=-\frac{(r^{k-1})^T p^{k-1}}{(p^{k-1})^T A p^{k-1}}\) d’où \( (r^{k})^T p^{k-1}=0\) . D’autre part, pour \( i=0,...,k-2\) ,
Ce qui achève de prouver le premier point du théorème.
Pour prouver le second point du théorème il suffit d’expliciter le gradient de l’application \( \mathbb{R}^{k}\ni l \mapsto \phi(x^0+l^0p^0+...+l^{k-1} p^{k-1})\) . Sa \( i\) -ème coordonnée vaut \( \nabla \phi (x^k)^T p^i=(r^k)^T p^i=0\) quel que soit \( i=0,...k-1\) . Donc le deuxième point est prouvé.
On peut construire une base de vecteurs propres orthogonaux car \( A\) est symétrique. Ces vecteurs sont par construction \( A\) -conjugués et constituent un choix possible de directions conjuguées. Mais le calcul de ces vecteurs est en général très co^{u}teux en temps de calculs. En fait on peut calculer les directions conjuguées au fur et à mesure qu’on en a besoin par la récurrence suivante
qui s’interprète comme l’opposé du gradient au nouveau point altéré par la direction précédente. Pour que \( p^k\) et \( p^{k-1}\) soient des directions \( A\) -conjuguées on choisit
(16)
La direction \( p^k\) est également \( A\) -conjuguée avec les directions \( p^i\) pour \( i=0,..,k-2\) . Pour démontrer ce résultat on utilise la proposition suivante
Proposition 3
Avec les notations précédentes, si \( x^k\neq x^*\) alors les propriétés suivantes sont vérifiées
On peut calculer
On sait d’après le théorème 1.2.6.1.1 que \( (r^k)^T p^i=0\) pour tout \( i=0,...,k-2\) . Or d’après les points 2 et 3 de la proposition 3 on sait que
Donc il existe un vecteur \( (\gamma^0,...,\gamma^{i+1})\in \mathbb{R}^{i+2}\) tel que
quel que soit \( i=0,...,k-2\) . En conclusion, les directions \( \{p^0,...,p^k\}\) sont \( A\) -conjuguées.
On peut en outre simplifier les expressions (15) et (16) en tirant partie des propriétés de la famille \( (r^i)_{i=0,...,k-1}\) avec \( r^k\) . On obtient alors
(17)
(18)
Une fois ces simplifications effectuées on aboutit à l’algorithme suivant
Algorithme 4 (Algorithme du gradient conjugué)
À partir de \( x^0\in {\mathbb{R}^n}\) quelconque calculer \( r^0Ā x^0-b\) et \( p^0=-r^0\) . Itérer
On peut caractériser la vitesse de convergence de l’algorithme 4.
Proposition 4
Soit \( A\in{\mathcal M}_n(\mathbb{R})\) symétrique définie positive, \( K(A)=\frac{\lambda_1}{\lambda_n}\) le rapport entre la plus petite et la plus grande des valeurs propres de \( A\) (aussi appelé nombre de conditionnement). Les itérations de l’algorithme 4 du gradient conjugué appliqué à \( {\mathbb{R}^n} \ni x \mapsto \phi(x)=\frac{1}{2} x^T A x -b^T x \in \mathbb{R}\) avec \( b\in {\mathbb{R}^n}\) , vérifient l’inégalité
Il est possible d’améliorer cette vitesse de convergence par une technique de précon–ditionnement utilisant un changement de variable linéaire, on se reportera à [1] pour un exposé de ces techniques.
Lorsque la fonction à minimiser n’est pas quadratique, on ne peut pas calculer explicitement le pas optimal le long d’une direction de descente et la notion de “résidu” n’a pas le même sens. On peut néanmoins transposer les idées de l’algorithme du gradient conjugué de la manière suivante
Algorithme 5 (Algorithme de Fletcher-Reeves)
À partir de \( x^0\in {\mathbb{R}^n}\) quelconque calculer \( f^0=f(x^0)\) , \( r^0=\nabla f(x^0)\) et \( p^0=-r^0\) . Itérer
Tout comme l’algorithme de gradient conjugué, l’implémentation de cet algorithme ne requiert que peu de calculs et peu de mémoire quelle que soit la taille du système. Pour assurer la décroissance entre deux itérations, on utilisera dans la recherche linéaire les conditions de Wolfe (voir définition 13) avec typiquement des paramètres \( 0<c_1<c_2<1/2\) .
Une amélioration pratique de cet algorithme est
Algorithme 6 (Algorithme de Polak-Ribière)
À partir de \( x^0\in {\mathbb{R}^n}\) quelconque calculer \( f^0=f(x^0)\) , \( r^0=\nabla f(x^0)\) et \( p^0=-r^0\) . Itérer choisir \( l^k\) par une recherche linéaire dans la direction \( p^k\)
Les conditions de Wolfe peuvent également être utilisées mais n’assurent pas la décroissance.
Proposition 5
Soit \( {\mathbb{R}^n} \ni x \mapsto f(x) \in \mathbb{R}\) deux fois différentiable possédant un unique minimum \( x^*\) tel que \( \nabla^2 f(x)\) est défini positif. Les itérations des algorithmes 5 et 6 avec recherche linéaire exacte (c.-à-d. que \( l^k\) minimise \( f(x^k+l^k p^k)\) à chaque itération) satisfont
On s’intéresse désormais au problème de la minimisation dans \( \mathbb{R}^{n+m}\) , \( n+m<\infty\) d’une fonction différentiable (fonction co^{u}t) \( \mathbb{R}^{n+m}\ni(x,u)\mapsto f(x,u)\in\mathbb{R}\) sous la contrainte \( c(x,u)=0\) définie par une fonction différentiable \( c:\mathbb{R}^{n+m} \ni (x,u) \mapsto c(x,u)\in \mathbb{R}^n\) localement inversible par rapport à la variable \( x\) . En d’autres termes \( x\) est localement déterminé par \( u\) par la relation \( c(x,u)=0\) :
(19)
Une condition suffisante par le théorème des fonctions implicites est que le Jacobien partiel \( \frac{\partial c}{\partial x}\) est inversible au voisinage des points tels que \( c(x,u)=0\) . On supposera cette condition réalisée.
Ce problème revient à chercher un minimum de \( f\) sur l’ensemble \( \{(x,u)=c^{-1}({0})\}\) qui est un fermé de \( \mathbb{R}^{n+m}\) . Cet ensemble ne contient pas de voisinage de tous ses points. Ainsi, tout déplacement infinitésimal autour d’un des points de son bord ne fournit pas nécessairement de point admissible. Les conditions d’optimalité en seront donc modifiées.
Dans cette approche on calcule la variation de la fonction co^{u}t en préservant la contrainte. Une variation \( (\delta x, \delta u)\in \mathbb{R}^{n+m}\) entraîne une variation
Maintenir la contrainte \( c(x+\delta x, u+\delta u)=0\) impose
Par hypothèse, \( \frac{\partial c}{\partial x}\) est inversible. On peut donc établir
et à la limite
(20)
On remarquera que la variation de \( f\) en maintenant la contrainte est différente de la variation de \( f\) sans maintenir la contrainte (dernier terme de la précédente équation).
On peut étendre la définition 6 à notre cas.
Définition 16
On dit que \( (x^*,u^*)\) est un point stationnaire de \( f\) sous la contrainte égalité \( c\) si \( c(x^*,u^*)=0\) et \( \left( \frac{\partial f}{\partial u} \right)_{c=0}(x^*,u^*)=0\) .
Définition 17
On dit que \( (x^*,u^*)\in {\mathbb{R}^n}\times{\mathbb{R}^m}\) est un minimum (optimum) local de \( f\) sous la contrainte \( c(x,u)=0\) si \( \exists \epsilon >0\) tel que \( f(x^*,u^*)\leq f(x,u)\) , \( \forall (x,u)\) tel que \( \left\lVert (x,u)-(x^*,u^*)\right\rVert \leq \epsilon\) et \( c(x,u)=0\) (on dit que c’est un minimum local strict si la précédente inégalité est stricte). On dit que \( (x^*,u^*)\) est solution locale du problème
Définissons le Lagrangien du problème (19) en adjoignant les contraintes à la fonction co^{u}t:
(21)
D’après la définition 6, un point stationnaire de \( {\mathcal L}\) (sans contraintes) est caractérisé par
Proposition 6
Si \( (x^*,u^*,\lambda^*)\in \mathbb{R}^{2n+m}\) est un point stationnaire de \( {\mathcal L}\) alors \( (x^*,u^*)\) est un point stationnaire de \( f\) sous la contrainte \( c\) .
Proof
D’une part on a \( c(x^*,u^*)=0\) . On va montrer que pour toute variation \( (\delta x, \delta u)\in \mathbb{R}^{n+m}\) telle que \( (c(x^*+\delta x, u^*+\delta u)=0\) au premier ordre on a \( f(x^*+\delta x,u^*+\delta u)=f(x^*,u^*)\) au premier ordre. Le calcul suivant permet de conclure
Le vecteur \( \lambda\) dans l’équation (21) est appelé vecteur des multiplicateurs de Lagrange. Les multiplicateurs de Lagrange apportent beaucoup d’information sur le problème d’optimisation sous contraintes comme en attestent les propriétés suivantes.
Proposition 7
Si \( (x^*,u^*,\lambda^*)\in\mathbb{R}^{2n+m}\) est un point stationnaire de \( {\mathcal L}\) , alors
Cette proposition relie le gradient du co^{u}t et celui de la contrainte à un point stationnaire.
Proposition 8
Si \( (x^*,u^*,\lambda^*)\in\mathbb{R}^{2n+m}\) est un point stationnaire de \( {\mathcal L}\) , alors en ce point
(22)
Cette dernière proposition permet souvent de lever l’ambiguïté sur la nature du point stationnaire. Les multiplicateurs de Lagrange \( \lambda^*\) interviennent dans la matrice centrale du calcul du Hessien (22).
Définissons maintenant un problème proche du problème (19) en utilisant \( \delta c \in \mathbb{R}^m\) .
(23)
On suppose que (19) et (23) possèdent des solutions \( (x^*,u^*)\) et \( (\bar x,\bar u)\) respectivement. On note \( \frac{\partial f^*}{\partial c}\) le vecteur composé des limites des valeurs \( (f(\bar x,\bar u)-f(x^*,u^*))/\delta c_i\) où \( \delta c_i \in \mathbb{R}\) correspond à la \( i\) -ème composante de \( \delta c\) .
Proposition 9 (co^{u}t marginal)
Si \( (x^*,u^*,\lambda^*)\in\mathbb{R}^{2n+m}\) est un point stationnaire de \( {\mathcal L}\) , alors
Cette dernière propriété permet de quantifier le co^{u}t (marginal) d’une variation de la contrainte (relâchement ou durcissement) sur la valeur de l’optimum.
On s’intéresse maintenant au problème de la minimisation dans \( \mathbb{R}^{n}\) , \( n<\infty\) d’une fonction différentiable (fonction co^{u}t) \( \mathbb{R}^{n}\ni x \mapsto f(x)\in\mathbb{R}\) sous la contrainte \( c(x)\leq 0\) définie par une fonction différentiable \( \mathbb{R}^{n} \ni x \mapsto c(x)\in \mathbb{R}^m\) , \( m<\infty\) (on ne spécifie plus de variable par rapport à laquelle cette fonction sera inversible, et on ne fait pas d’hypothèse sur les entiers \( n\) et \( m\) ).
(24)
Définition 18
On dit que \( x^*\in {\mathbb{R}^n}\) est un minimum (optimum) local de \( f\) sous la contrainte \( c(x)\leq 0\) si \( \exists \epsilon >0\) tel que \( f(x^*)\leq f(x)\) , \( \forall x\) tel que \( \left\lVert x-x^*\right\rVert \leq \epsilon\) et \( c(x)\leq 0\) (on dit que c’est un minimum local strict si \( \exists \epsilon >0\) tel que \( f(x^*)<f(x)\) , \( \forall x\) tel que \( \left\lVert x-x^*\right\rVert \leq \epsilon\) et \( c(x)\leq 0\) ). On dit que \( (x^*)\) est solution locale du problème
Considérons dans un premier temps le cas où le vecteur \( c(x)\) est constitué de contraintes affines \( {\mathbb{R}^n} \ni x \mapsto c_i(x) \in \mathbb{R}\) , pour \( i=1,..,m\) telles que \( c(x)\leq 0\) définit un ensemble d’intérieur non vide.
Définition 19
On appelle c^{o}ne convexe engendré par \( \{v_i,i=1,...,k\}\) un ensemble de vecteurs de \( {\mathbb{R}^n}\) , l’ensemble des combinaisons linéaires à coefficients positifs ou nuls de vecteurs de \( \{v_i,i=1,...,k\}\) .
Les c^{o}nes convexes possèdent d’intéressantes propriétés. On peut établir le résultat suivant
Lemme 1 (Farkas)
Soient \( \{a_i, i=1,...,k\}\) une collection de vecteurs de \( {\mathbb{R}^n}\) et \( g\) un vecteur de \( {\mathbb{R}^n}\) , les deux propositions suivantes sont équivalentes
Proof
Démontrons que la seconde proposition entraîne la première. Supposons cette seconde proposition vraie. Supposons qu’il existe \( \lambda_i\geq 0\) , \( i=1,...,p\) tels que \( g=\sum_{i=1}^p \lambda_i a_i\) . S’il existe \( h\in {\mathbb{R}^n}\) tel que \( a_i^T h \geq 0\) pour tout \( i=1,..,p\) , alors on a \( g^T h \geq 0\) ce qui est une contradiction.
Démontrons maintenant que la première proposition entraîne la seconde. Supposons cette première proposition vraie. Supposons qu’il n’existe pas \( p\in {\mathbb{R}^n}\) tel que
Montrons que nécessairement \( g\in \mathcal C\) . Supposons que ce soit faux. Définissons \( h\) la projection de \( g\) sur \( \mathcal C\) comme un vecteur \( h \in \mathcal C\) qui minimise la distance au carré \( f(h)=\left\lVert h-g\right\rVert ^2\) . Un tel \( h\) existe car il est solution d’un problème de minimisation d’une fonction continue \( \alpha\) -convexe sur \( K\) convexe fermé. Il n’est pas à l’intérieur de \( K\) car on aurait alors \( \nabla f(h)=h-g\neq 0\) . Il est sur le bord du c^{o}ne et on a nécessairement \( h^T (h-g)=0\) . Posons \( p=h-g\in {\mathbb{R}^n}\) . Un calcul donne
Or par hypothèse \( g\not\in\mathcal C\) . Donc \( h\neq g\) et donc
D’autre part, \( h\in \mathcal C\) réalise le minimum global de \( f(h)=\left\lVert h-g\right\rVert ^2\) . Donc, quel que soit \( v\in \mathcal C\) , on a pour tout \( \alpha \in [0,1]\)
On en déduit que pour tout \( \alpha \in [0,1]\)
Nécessairement on a donc \( (h-g)^T (v-h)\geq 0\) . En conclusion, pour tout \( v\in \mathcal C\) , on a \( p^T v \geq 0\) . Cette inégalité est vraie pour le cas particulier des vecteurs \( a_i\) , \( i=1,...,k\) . On a donc trouvé \( p\neq 0\) tel que \( g^T p < 0\) et \( p^T a_i\geq 0\) , pour tout \( i=1,...,k\) . C’est en contradiction avec l’hypothèse et conclut la preuve.
La notion de c^{o}ne convexe est utilisée pour caractériser les solutions de notre problème d’optimisation.
Proposition 10
Si \( x^*\) est solution du problème (24) alors (sous les hypothèses du paragraphe § 1.4.1.1) \( \nabla f(x^*)\) est dans le c^{o}ne convexe engendré par \( \{-\nabla c_i(x^*),i\in{\mathcal I}\}\) où \( {\mathcal I}=\{i=1,..,m \text{ tel que } c_i(x^*)=0\}\) (famille des indices des contraintes actives).
Proof
On va montrer que si \( \nabla f(x^*)\) n’appartient pas au c^{o}ne convexe engendré par \( \{-\nabla c_i(x^*),i\in{\mathcal I}\}\) alors \( x^*\) n’est pas minimum. D’après le lemme 1 de Farkas, \( \exists h \in {\mathbb{R}^n}\) tel que \( \nabla f(x^*)^T h <0\) et \( -\nabla c_i(x^*)^T h \geq 0\) pour tout \( i\in{\mathcal I}\) . En suivant cette direction pour \( \delta \in \mathbb{R}\) il vient
Donc pour \( \delta\) suffisamment petit
Tout voisinage de \( x^*\) contient un meilleur point que \( x^*\) qui n’est donc pas minimum.
Dans le cas où les contraintes \( {\mathbb{R}^n} \ni x \mapsto c_i(x) \in \mathbb{R}\) ne sont pas affines, il peut ne pas exister de direction donnée par le lemme de Farkas utilisable pour trouver un meilleur point que \( x^*\) . La courbure des contraintes peut gêner une telle construction. D’autre part, le c^{o}ne convexe engendré par les contraintes actives peut dégénérer (la frontière peut ressembler à un point de rebroussement).
Néanmoins, il est possible d’étendre le résultat précédent dans le cas général sous une hypothèse supplémentaires souvent peu gênante en pratique.
Théorème 17
[Conditions KKT] Considérons un point \( x^*\in {\mathbb{R}^n}\) . Notons la famille des indices des contraintes actives en \( x^*\) par \( {\mathcal I}=\left\{i\in\{1,..,m \text{ tel que } c_i(x^*)=0\}\right\}\) . Supposons que \( x^*\) est un point régulier pour ces contraintes, c.-à-d. que la famille \( (\nabla c_i(x^*))_{i\in \mathcal I}\) est une famille libre (on dit que les contraintes sont qualifiées). Sous ces hypothèses, si \( x^*\) est une solution du problème (24) alors \( \nabla f(x^*)\) appartient au c^{o}ne convexe engendré par \( (-\nabla c_i(x^*))_{i\in \mathcal I}\) . En conséquence, \( \exists \lambda_i\geq 0, i=1,...,m\) tels que \( \nabla f(x^*)=-\sum_{i=1}^m \lambda_i \nabla c_i(x^*)\) et \( \lambda_i c_i(x^*)=0\) pour \( i=1,..,n\) .
Ce résultat (admis, voir [2]) est une condition nécessaire aux points réguliers candidats pour être minimum. On calculera par les multiplicateurs de Lagrange la combinaison linéaire qui permet d’exprimer le gradient du co^{u}t en fonction des gradients des contraintes actives et on vérifiera que les multiplicateurs sont bien tous positifs ou nuls.
En pratique on travaillera souvent avec des fonctions convexes et on exploitera le résultat suivant
Proposition 11
Soit le problème d’optimisation \( \min_{c(x)\leq 0} f(x)\) où les fonctions \( f\) et \( c\) sont différentiables et convexes. On suppose qu’il existe \( x\in {\mathbb{R}^n}\) tel que \( c(x)<0\) . Les conditions KKT du théorème 17 sont nécessaires et suffisantes pour que \( x^*\) soit un minimum global.
Considérons le problème de la minimisation dans \( X\) sous ensemble de \( \mathbb{R}^{n}\) , \( n<\infty\) d’une fonction différentiable (fonction co^{u}t) \( X\ni x \mapsto f(x)\in\mathbb{R}\) sous la contrainte \( c(x)\leq 0\) définie par une fonction différentiable \( \mathbb{R}^{n} \ni x \mapsto c(x)\in \mathbb{R}^m\)
(25)
Considérons alors le Lagrangien associé à ce problème
(26)
où \( L\subset \mathbb{R}^m\) .
Définition 20
On dit que \( (x^*,\lambda^*)\) est un point selle de \( {\mathcal L}\) si \( x^*\) est un minimum pour \( X\ni x \mapsto {\mathcal L}(x,\lambda^*)\) et \( \lambda^*\) est un maximum pour \( L\ni \lambda \mapsto {\mathcal L}(x^*,\lambda)\) ou encore si
(27)
On a aussi pour tout \( x\in X\) et pour tout \( \lambda\in L\)
D’après le théorème suivant, on peut intervertir l’ordre de la maximisation et de la minimisation
Théorème 18 (Théorème du point selle)
Si \( (x^*,\lambda^*)\) est un point selle de \( {\mathcal L}\) sur \( X\times L\) alors
Proof
Par définition, on a
et donc
et finalement
Utilisons maintenant l’égalité du point selle (27) sur
Finalement
Lorsque \( (x^*,\lambda^*)\) n’est pas un point selle, l’égalité précédente n’est pas vraie, on n’a que
on parle de “saut de dualité” lorsque les deux résultats sont différents.
On appelle problème primal le problème \( \min_{x\in X} \max_{\lambda \in L} {\mathcal L} (x,\lambda)\) , et problème dual \( \max_{\lambda \in L} \min_{x\in X} {\mathcal L} (x,\lambda)\) .
Les deux théorèmes suivants permettent de relier notre problème d’optimisation sous contraintes inégalités à l’existence d’un point selle.
Théorème 19 (Optimalité du point selle)
Si \( (x^*,\lambda^*)\) est un point selle de \( {\mathcal L}\) sur \( X\times \left(\mathbb{R}^+\right)^m\) , alors \( x^*\) est solution du problème (24).
Proof
Par définition, quel que soit \( \lambda \in \left(\mathbb{R}^+\right)^m\) on a
Ceci peut s’écrire
(28)
En exprimant cette inéquation pour \( \lambda=0\) et \( \lambda=2\lambda^*\) il vient
Il vient aussi en exprimant le produit scalaire (28) composante par composante
D’autre part, \( {\mathcal L}(x^*,\lambda^*)\leq {\mathcal L}(x,\lambda^*)\) pour tout \( x\in X\) . On a donc
Donc pour tout \( x\in X\) tel que \( c(x)\leq 0\) on a \( f(x^*)\leq f(x)\) ce qui achève la démonstration.
Sans hypothèse sur la régularité des \( f\) et de \( c\) , on peut énoncer un théorème analogue aux conditions KKT du théorème 17.
Théorème 20 (existence de point selle)
Supposons \( X\ni x \mapsto f(x)\in\mathbb{R}\) et \( \mathbb{R}^{n} \ni x \mapsto c(x)\in \mathbb{R}^m\) convexe. Soit \( x^*\) solution du problème (24) tel que les contraintes actives en \( x^*\) sont qualifiées, alors il existe un point selle \( (x^*,\lambda^*)\) du Lagrangien (26).
Les algorithmes de cette section sont des algorithmes de recherche de point selle
Algorithme 7 (Algorithme d’Uzawa)
À partir de \( x^0\in {\mathbb{R}^n}\) , \( \lambda^0\in\mathbb{R}^m\) , \( \alpha \in \mathbb{R}^+\) quelconques, on note \( \mathbb{R}^m \ni \lambda \mapsto P(\lambda)\in \left(\mathbb{R}^+\right)^m\) la projection sur \( \left(\mathbb{R}^+\right)^m\) , itérer
La seconde partie de la boucle à itérer consiste à effectuer un gradient à pas constant pour maximiser \( \mathbb{R}^m\ni \lambda \mapsto \min_{x\in{\mathbb{R}^n}}{\mathcal L}(x,\lambda)\) . Une variante de cet algorithme est
Algorithme 8 (Algorithme d’Arrow-Hurwicz)
À partir de \( x^0\in {\mathbb{R}^n}\) , \( \lambda^0\in\mathbb{R}^m\) quelconques, \( \varepsilon\in \mathbb{R}^+\) on note \( \mathbb{R}^m \ni \lambda \mapsto P(\lambda)\in \left(\mathbb{R}^+\right)^m\) la projection sur \( \left(\mathbb{R}^+\right)^m\) , itérer
Nous allons maintenant présenter un algorithme efficace (y compris lorsque les dimensions \( n\) et \( m\) sont grandes) de résolution de problèmes de minimisation d’une fonction quadratique sous contraintes affines.
On va traiter le cas
sous contraintes affines
et on cherche à résoudre le problème de minimisation (24). On suppose que \( G\) est une matrice symétrique définie positive de \( {\mathcal M}_n(\mathbb{R})\) et \( A\) une matrice de \( {\mathcal M}(m,n)\) , avec \( m>n\) . On notera \( a_i\) la \( i\) -ème ligne de \( A\) et \( b_i\) la \( i\) -ème composante de \( b\in \mathbb{R}^m\) .
L’algorithme constitue et met à jour un ensemble de contraintes actives jusqu’à ce que cet ensemble satisfasse les conditions de Karush-Kuhn-Tucker du théorème 17. La mise à jour s’effectue en repérant des directions d’amélioration. On suit ces directions jusqu’à atteindre une nouvelle contrainte bloquante. On élimine si besoin les contraintes, pour pouvoir avancer, en vérifiant le signe de leur multiplicateur de Lagrange. À chaque étape \( k\) , on définit \( W^k\) ensemble de travail (sous-ensemble) de \( A_c^k\) ensemble des contraintes actives au point \( x^k\) . On suppose que les gradients (\( a_i\) ) des contraintes de \( W^k\) sont linéairement indépendants.
Algorithme 9 (Algorithme de contraintes actives QP)
À partir de \( W^0\) ensemble de travail de départ, \( x^0\in {\mathbb{R}^n}\) point où les \( n\) contraintes de \( A\) constituant \( W^0\) sont actives, itérer
si \( p^k\neq0\) noter \( \alpha^k=\min\left(1,\min_{i\not\in W^k, a_i^T p^k >0} \frac{b_i-a_i^T x^k}{a_i^T p^k}\right)\)
Si \( \alpha^k<1\) il existe un unique \( j\) réalisant le précédent minimum. Mettre à jour \( W^{k+1}=W^k \bigcup \{j\}\) .
Proposition 12
Avec les notations précédentes, l’algorithme 9 de contraintes actives possède les propriétés suivantes
Proof
La suite des valeurs \( (f(x^k))_k\in \mathbb{N}\) est décroissante. Elle est strictement décroissante aux indices tels que \( \alpha^k >0\) . On ne revisite jamais exactement l’ensemble \( W^k\) car \( x^{k+1}\) est le minimum sous les contraintes d’indices éléments de \( W^k\) . La deuxième propriété découle du raisonnement suivant. Si \( p^k\neq 0\) le point \( x^k\) est mis à jour. Soit le pas \( \alpha^k\) utilisé dans cette mise à jour est égal à 1 et on a obtenu un minimiseur donc \( p^{k+1}=0\) , soit \( \alpha^k<1\) et on doit rajouter une contrainte à l’ensemble \( W^k\) . Au bout de \( l<n\) étapes, \( W^k\) contient \( n\) contraintes linéairement indépendantes. Le problème est complètement contraint et on a donc \( p^{k+l}=0\) .
Proposition 13
Avec les notations précédentes, l’algorithme 9 de contraintes actives converge en un nombre fini d’itérations vers l’unique minimum global du problème (24).
Proof
Il existe un nombre fini de \( W^k\) possibles. L’algorithme parcourt cet ensemble jusqu’à obtenir l’optimum.
Cet algorithme est également très utilisé pour résoudre une successions de problèmes où une fonction co^{u}t non linéaire est approchée par son développement de Taylor au deuxième ordre et où les contraintes sont approchées par leur développement de Taylor au premier ordre. De tels algorithmes SQP (successive quadratic programming) sont détaillés dans [3, 4].
Au lieu d’un nombre fini de paramètres, on peut considérer qu’il s’agit de l’optimisation d’un nombre infini de valeurs successives de la fonction recherchée.
Ces problèmes sont très anciens. On pourra se référer à [5] pour un exposé complet de leur historique. Le problème de Dido est le calcul du contour de périmètre donné enfermant l’aire maximale. Il date du 9ème siècle avant JC. Galilée (1588) considéra des problèmes célèbres, mais la réelle percée vint de Johann Bernoulli qui mit au défi les plus illustres mathématiciens de son époque (son propre frère Jakob, Leibnitz, Newton). Le problème en question était le Brachistochrone: le calcul de la courbe permettant à un point matériel soumis à la gravité de rallier son point initial à un point d’arrivée donné.
D’autres problèmes importants sont le calcul des géodésiques, les problèmes iso–périmétriques, et de manière générale les problèmes avec contraintes.
Les “sciences naturelles” (mécanique, optique, ...) ont été profondément marquées par le calcul des variations. De nombreuses lois ne la nature se déduisent de principes variationnels, énoncant que parmi tous les mouvements possibles, celui qui se réalise est un extremum. Cette vision de la nature, indiqua que les réalisations humaines devaient elles aussi être des extrema: Brachistochrone ou problème de Newton.
Une citation célèbre d’Euler est:“il n’y a rien dans le monde qui ne se réalise sans la volonté de minimiser ou maximiser quelque chose”.
Définition 21 (Fonctionnelle)
Soit \( X\) un espace vectoriel normé. On appelle fonctionnelle une application de \( X\) dans \( \mathbb{R}\) .
Dans ce qui suit nous nous intéressons à l’espace vectoriel normé \( X=D\) des fonctions continues à dérivées continues \( \mathbb{R} \supset [t_1,t_2] \longrightarrow {\mathbb{R}^n}\) , \( n<\infty\) muni de la norme \( X\ni u \mapsto \left\lVert u\right\rVert _D=\max_{t\in[t_1,t_2]} \left\lVert u(t)\right\rVert +\max_{t\in[t_1,t_2]} \left\lVert \dot u(t)\right\rVert \) . On considère les fonctionnelles du type
où \( L\) est une fonction \( \mathbb{R}^{2n+1}\ni (u,v,t)\mapsto L(u,v,t)\in \mathbb{R}\) continue possédant des dérivées partielles continues.
On cherchera à minimiser \( J\) sous certaines contraintes, en restreignant l’ensemble des fonctions considérées à \( X\supset U=\{u\in X, u(t_1)ā , u(t_2)=b\}\) où \( a\) et \( b\) sont des réels donnés. C’est un ensemble convexe. On cherchera à résoudre le problème suivant
(29)
Définition 22
On dit que \( u^*\) est un minimum (local) de \( J\) (c.-à-d. une solution du problème (29) s’il existe un voisinage \( {\mathcal V} (u^*)\) tel que \( J(u^*)\leq J(u)\) pour tout \( u\in {\mathcal V}(u^*)\) .
Définition 23 (Variation admissible)
On dit que \( h\in X\) est une variation admissible au point \( u\in U\) si \( (u+h)\in U\) .
Définition 24 (Différentielle de Gâteaux)
Soient \( J\) une fonctionnelle sur \( X\) espace vectoriel normé, \( u^*\in U\) et \( h\in X\) variation admissible. On appelle différentielle de Gâteaux de \( J\) au point \( u^*\) dans la direction \( h\) la limite
La notion de différentielle de Gâteaux remplace pour les fonctionnelles la notion de différentielle pour les fonctions. Une condition nécessaire pour que \( u^*\in U\) soit un minimum est que la différentielle de Gâteaux \( \delta J(u^*,h)\) doit être nulle pour toute variation admissible \( h\) . On va réécrire cette proposition en une équation exploitable à l’aide du résultat suivant.
Lemme 2 (Lemme de duBois-Reymond)
Soit \( \mathbb{R} \supset [t_1,t_2] \ni t \mapsto \phi(t) \in \mathbb{R}\) une fonction continue. Si on a, pour tout \( \mathbb{R} \supset [t_1,t_2] \ni t \mapsto h(t) \in \mathbb{R}\) continue à dérivée continue telle que \( h(t_1)=h(t_2)=0\) ,
alors \( \phi=0\) .
Proof
Supposons que les hypothèses du lemme sont valides et que \( \phi\neq 0\) . Sans perte de généralité on peut supposer qu’elle est strictement positive en un point \( t\in[t_1,t_2]\) . Par continuité, elle est donc strictement positive sur \( [t_1',t_2']\subset[t_1,t_2]\) . Définissons \( h\) comme
Avec cette variation, on obtient \( \int_{t_1}^{t_2}\phi(t) h(t) dt >0\) . D’où une contradiction et donc \( \phi=0\) .
L’équation \( \delta J(u^*,h)=0\) pour toute variation admissible se réécrit
Par intégration par parties il vient
\( h\) est une variation admissible donc \( h(t_1)=h(t_2)=0\) . La précédente équation se simplifie
Cette équation doit être vraie pour toute variation admissible \( h\) , et le lemme 2 de duBois-Reymond permet de conclure
(30)
L’équation (30) est appelée équation d’Euler-Lagrange et est une condition nécessaire qui doit être satisfaite par toute solution du problème (29).
Dans de nombreux cas pratique, le Lagrangien ne dépend pas explicitement de \( t\) . On pourra alors utiliser la proposition suivante.
Proposition 14
Lorsque \( L\) ne dépend pas explicitement de \( t\) , l’équation d’Euler-Lagrange (30) implique
Proof
On calcule
en utilisant (30).
On peut étendre le calcul des variations aux fonctionnelles du type
(en utilisant un espace vectoriel normé \( X\) adapté) et on obtient l’équation d’Euler-Poisson
On peut également appliquer les mêmes règles de calcul ainsi que la formule de Green pour les fonctionnelles
pour obtenir l’équation d’Ostrogradski
On s’intéresse désormais au problème de la minimisation d’une fonctionnelle \( X \times U \ni (x,u) \mapsto J(x,u)\in \mathbb{R}\) où \( X\times U\) est un espace vectoriel normé. Ici, \( X\) est l’espace des fonctions continues à dérivées continues \( \mathbb{R} \supset [t_1,t_2] \longrightarrow {\mathbb{R}^n}\) , \( n<\infty\) muni de la norme \( X\ni x \mapsto \left\lVert x\right\rVert _D=\max_{t\in[t_1,t_2]} \left\lVert x(t)\right\rVert +\max_{t\in[t_1,t_2]} \left\lVert \dot x(t)\right\rVert \) . \( U\) est l’espace des fonctions définies sur \( [t_1,t_2]\longrightarrow \mathbb{R}^m\) . Les fonctions \( x\) et \( u\) sont contraintes par une équation différentielle
où \( \mathbb{R}^{n+m}\ni(x,u)\mapsto f(x,u)\in\mathbb{R}^n\) est une fonction de classe \( {\mathcal C}^1\) . En outre on impose la contrainte
(31)
On va chercher une caractérisation des solutions du problème
(32)
On considérera des fonctionnelles du type
où \( \mathbb{R}^n\times \mathbb{R} \ni (x,t) \mapsto \varphi(x,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) et \( \mathbb{R}^n\times \mathbb{R}^m \times \mathbb{R} \ni (x,t) \mapsto L(x,u,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) . Pour tenir compte de la condition initiale (31), on considère qu’une variation admissible \( (\delta x,\delta u)\in X \times U\) doit vérifier \( \delta x(t_1)=0\) . Comme dans le cas de l’optimisation continue de dimension finie traité au chapitre 1, on va chercher à résoudre le problème d’optimisation sous contrainte en adjoignant les contraintes à la fonction co^{u}t.
On forme alors \( X\times U \times M \ni (x,u,\lambda)\mapsto \bar J(x,u,\lambda)\) où \( M\) est l’espace des fonctions \( \mathbb{R}\longrightarrow {\mathbb{R}^n}\) différentiable par
En notant
(33)
qu’on appellera Hamiltonien du problème (32), il vient
(34)
Proposition 15
Si \( (x^*,u^*,\lambda^*)\in X\times U \times M\) est un point stationnaire de \( \bar J\) défini par (34) alors \( (x^*,u^*)\) est un point stationnaire de \( J\) sous les contraintes \( \dot x=f(x,u,t)\) , \( x(t_1)=x^0\) .
Proof
Nous allons montrer que, autour de \( (x^*,u^*)\) , pour toute variation admissible du premier ordre \( [t_1,t_2]\ni (\delta x,\delta u)(t) \in {\mathbb{R}^n} \times \mathbb{R}^m\) telle que \( \left\lVert (\delta x,\delta u)\right\rVert _{X\times U}=\circ(\delta)\) satisfaisant la contrainte \( \dot x=f(x,u,t)\) , la variation \( \delta J\) de la fonctionnelle \( J\) est du deuxième ordre, c.-à-d. \( \delta J=\circ(\delta)\) .
La stationnarité de \( (x^*,u^*,\lambda^*)\) pour \( \bar J\) est caractérisée par 3 relations. La première est
pour toute variation admissible \( \mathbb{R} \ni t \mapsto \delta x(t)\in {\mathbb{R}^n}\) . Ce calcul des variations donne
(35)
(36)
On réécrira la condition (35) sous la forme \( \dot \lambda^T=-\frac{\partial H }{\partial x}\) . La seconde condition de stationnarité est que pour toute variation \( \mathbb{R} \ni t \mapsto \delta u(t)\in \mathbb{R}^m\) on doit avoir
Ce calcul des variations donne
(37)
On réécrira cette condition comme \( \frac{\partial }{\partial u} H=0\) .
La dernière condition de stationnarité est
Elle redonne la contrainte
(38)
Supposons que les équations (35), (36), (37) et (38) soient vérifiées. Calculons la variation de la fonctionnelle \( J\) .
Les conditions de stationnarité (35) (36) de la proposition 15 forment, avec les contraintes (38) et (31), le problème ‘àux deux bouts” suivant
(39)
Le long de l’extrémale on élimine \( u\) des équations en résolvant les équations \( \frac{\partial }{\partial u} H=0\) . Le problème aux deux bouts a pour seules inconnues les fonctions \( \mathbb{R} \supset [t_1,t_2]\ni t \mapsto x(t)\in {\mathbb{R}^n}\) et \( \mathbb{R} \supset [t_1,t_2]\ni t \mapsto \lambda(t)\in {\mathbb{R}^n}\) . Le système d’équations différentielles et de conditions limites (39) ne définit pas un problème de Cauchy à cause de la séparation des conditions de bords aux deux extrémités du domaine. En outre, la condition portant sur \( \lambda\) dépend de l’inconnue \( x\) . C’est un problème difficile à résoudre en général.
Proposition 16 (Conservation de l’Hamiltonien)
Lorsque \( L\) ne dépend pas explicitement de \( t\) , les conditions de stationnarité constituant le système d’équations différentielles aux deux bouts (39) impliquent
Proof
Un calcul direct donne
En pratique on se servira souvent de la conservation de l’Hamiltonien pour éliminer une variable et essayer de résoudre le problème aux deux bouts.
On cherche ici une caractérisation des solutions du problème
(40)
où \( \mathbb{R}^n\times \mathbb{R} \ni (x,t) \mapsto \psi(x,t) \in \mathbb{R}^q\) , \( 1<q\leq n\) est une fonction de classe \( {\mathcal C}^1\) . Ces contraintes portent sur l’état final et le temps final du système qui est ici fixe, on les nomme contraintes de “rendez-vous”.
On considérera des fonctionnelles du type
où \( \mathbb{R}^n\times \mathbb{R} \ni (x,t) \mapsto \varphi(x,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) et \( \mathbb{R}^n\times \mathbb{R}^m \times \mathbb{R} \ni (x,u,t) \mapsto L(x,u,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) .
Le problème aux deux bouts correspondant à ce problème d’optimisation est
(41)
où \( H(x,u,\lambda,t)=L(x,u,t)+\lambda^T f(x,u,t)\) et \( \nu\in\mathbb{R}^q\) . On obtient ce résultat en adjoignant les contraintes \( \dot x =f(x,u,t)\) et \( \psi(x(t_2),t_2)=0\) à la fonctionnelle et en explicitant le calcul des variations. On a ainsi
(42)
On peut alors établir la proposition suivante
Proposition 17
Si \( (x^*,u^*,\lambda^*,\nu^*)\in X\times U \times M\times \mathbb{R}^q\) est un point stationnaire de \( \bar J\) défini par (42) alors \( (x^*,u^*)\) est un point stationnaire de \( J\) sous les contraintes \( \dot x=f(x,u,t)\) , \( x(t_1)=x^0\) , \( \psi(x(t_2),t_2)=0\) .
On va chercher à étendre les calculs menés en dimension finie établissant la variation de la fonction co^{u}t par rapport aux inconnues en satisfaisant les contraintes (20). Dans le cas présent, on revient au problème
On considérera des fonctionnelles du type
où \( \mathbb{R}^n\times \mathbb{R} \ni (x,t) \mapsto \varphi(x,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) et \( \mathbb{R}^n\times \mathbb{R}^m \times \mathbb{R} \ni (x,t) \mapsto L(x,u,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) .
On va chercher à calculer la variation de \( J\) lorsqu’on fait varier l’inconnue \( u\) tout en maintenant la contrainte \( \dot x=f(x,u)\) , \( x(t_1)=x^0\) . On va noter \( \delta J\) la variation de la valeur de \( J\) engendrée par une telle variation \( \delta u\) . Il vient
(43)
Dans cette équation \( \delta x\) est liée à \( \delta u\) par la satisfaction de la contrainte \( \dot x =f(x,u)\) qui donne
Il est possible d’intégrer cette équation linéaire en utilisant la matrice de passage \( M\) définie par \( \frac{d}{dt} M(t,t_1) =\frac{\partial f}{\partial x}(x,u,t) M(t,t_1)\) , \( M(t_1,t_1)Ī\) ce qui donne alors
On peut donc éliminer \( \delta x\) dans l’équation (43) et obtenir explicitement \( \delta J\) en fonction de la variation \( \mathbb{R} \supset [t_1,t_2]\in t \mapsto u(t)\in {\mathbb{R}^m}\) . Cette expression est très compliquée à calculer car elle nécessite la résolution complète d’un système d’équations différentielles. En fait, le lemme suivant va nous permettre de simplifier énormément les calculs
Lemme 3 (Lemme de l’adjoint)
Les solutions du système d’équations diffé–rentielles
où pour tout \( t\in[t_1,t_2]\subset \mathbb{R}\) , on a \( A(t)\in {\mathcal M}_n(\mathbb{R})\) , \( B(t)\in {\mathcal M}_{(n\times m)}(\mathbb{R})\) , \( \Gamma(t)\in {\mathbb{R}^n}\) , satisfont l’égalité
Le système d’équations que nous devons résoudre dans le problème aux deux bouts implique
avec comme conditions limites \( \delta x(t_1)=0\) , \( \lambda(t_2)=\left(\frac{\partial }{\partial x(t_2)} \varphi(x(t_2),t_2)\right)^T\) . Le lemme 3 de l’adjoint donne
Par abus de notation on retiendra la formule analogue à (20)
(44)
Autrement dit, la variation de la valeur de \( J\) en satisfaisant les contraintes est calculée en formant \( \frac{\partial H}{\partial u}=\frac{\partial L}{\partial u}(x,u,t) + \lambda^T \frac{\partial f}{\partial u}(x,u,t)\) , évaluée à partir des valeurs de \( x\) , \( u\) , et de l’adjoint \( \lambda\) . La formule (44) est appelée formule du calcul du gradient par l’adjoint.
Algorithme 10 (Résolution du problème aux deux bouts par le calcul du gradient par l’adjoint)
À partir de \( u^0\) fonction \( \mathbb{R} \supset [t_1,t_2] \mapsto u^0(t) \in {\mathbb{R}^m}\) quelconque, itérer
En pratique la fonction \( u^k\) sera représentée par un vecteur (de coefficients représentant une décomposition dans une base de fonctions) de dimension finie et le problème sera ainsi résolu de manière approchée. Les étapes de résolution des équations différentielles satisfaites par \( x\) et \( \lambda\) (équation en temps rétrograde) seront effectuées de manière numérique (par exemple par des schémas de Runge-Kutta [6]) avec une précision finie. On peut adapter l’algorithme 10 pour tenir compte de contraintes finales. Il suffit d’introduire les équations du problème aux deux bouts correspondant et d’ajouter une étape de mise à jour des inconnues \( \nu\) définies précédemment à la section 2.2.2.
Afin d’obtenir une vitesse de convergence supérieure à celle de l’algorithme 10, on peut utiliser l’algorithme suivant
Algorithme 11 (Algorithme de tir)
À partir de \( \lambda^0(t_1)\in\mathbb{R} \) quelconque, itérer
Résoudre le système
(45)
pour \( t\in[t_1,t_2]\) avec comme condition initiale \( x^k(t_1)=x^0\) , \( \lambda^k(t_1)=\lambda^k(t_1)\) .
Cet algorithme a pour inconnue la seule valeur de l’état adjoint \( \lambda\) à l’instant initial. La commande \( u\) est calculée à chaque itération. Une valeur \( \lambda(t_1)\) satisfait les conditions de stationnarité si elle fournit par intégration une valeur \( \lambda(t_2)=\left(\frac{\partial }{\partial x(t_2)} \varphi(x(t_2),t_2)\right)^T\) . Si ce n’est pas le cas, l’algorithme modifie la valeur candidate de l’inconnue pour tenter de satisfaire cette contrainte. Par rapport à l’algorithme 10, on constate en général une convergence plus rapide en pratique lorsque la valeur \( \lambda^0(t_1)\in\mathbb{R} \) est proche de la valeur optimale. Si ce n’est pas le cas, l’algorithme 11 souffre souvent de l’instabilité numérique de la résolution simultanée des équations différentielles (45) satisfaites par \( x\) et \( \lambda\) . Cette instabilité est liée à l’instabilité du système linéarisé tangent. L’algorithme 11 peut être amélioré de nombreuses façons, on pourra se reporter à [7, 8] pour un exposé sur les méthodes de tirs multiples.
Les calculs des variations menés jusqu’à présent ont consisté à calculer la variation de la valeur d’une fonctionnelle de deux variables \( x,u\) lorsque \( u\) était libre et \( x\) était liée à \( u\) par une équation différentielle \( \dot x = f(x,u,t)\) . Maintenant nous allons considérer que la variable \( u\) n’est pas libre mais contrainte. Nous regardons maintenant les problèmes de la forme
(46)
où \( {\mathbb{R}^m}\times \mathbb{R} \ni (u,t) \mapsto C(u,t) \in \mathbb{R}^l\) , \( l\in \mathbb{N}\) est une fonction de classe \( {\mathcal C}^1\) . On considérera des fonctionnelles du type
où \( \mathbb{R}^n\times \mathbb{R} \ni (x,t) \mapsto \varphi(x,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) et \( \mathbb{R}^n\times \mathbb{R}^m \times \mathbb{R} \ni (x,t) \mapsto L(x,u,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) .
La preuve du résultat que nous allons énoncer est difficile. Nous nous contentons d’en suggérer quelques grandes lignes. Comme nous l’avons vu, la variation de la valeur de la fonctionnelle s’écrit en fonction d’une variation \( \delta u\) ,
(47)
Autour d’un optimum \( (x^*,u^*)\) , il ne doit pas exister de variation admissible, compatible avec les contraintes \( C(u,t)\leq 0\) fournissant une variation négative \( \delta J\) . En reprenant le point de vue utilisé dans la présentation des conditions de Karush, Kuhn et Tucker du théorème 17, on doit avoir que le gradient de chaque contribution ponctuelle dans l’intégrale (47) doit être dans le c^{o}ne convexe des contraintes actives. Autrement dit, pour tout \( t\in[t_1,t_2]\) , il existe un vecteur \( \mathbb{R} \supset[t_1,t_2]\ni t \mapsto \mu(t)\in \mathbb{R}^l\) dont les composantes vérifient \( \mu_i(t)=0\) si \( C_i(x(t),u(t)<0\) , \( \mu_i(t)\geq 0\) si \( C_i(x(t),u(t)=0\) tel que
Plus formellement le principe du minimum s’énonce
Théorème 21 (Principe du minimum de Pontryagin [9])
Soient \( \mathbb{R} \supset [t_1,t_2]\ni t \mapsto (x,u,\lambda)(t)\in {\mathbb{R}^n}\times {\mathbb{R}^m} \times {\mathbb{R}^n}\) optimum du problème (46). Pour tout \( t\in[t_1,t_2]\) , \( u(t)\) réalise le minimum de \( {\mathbb{R}^m} \ni u \mapsto H(x(t),u, \lambda(t),t)\in\mathbb{R}\) sous la contrainte \( C(u,t)\leq 0\) .
Il est possible d’exhiber une structure reliant les trajectoires optimales de problèmes d’optimisation voisins. Le but de cette section est de présenter cette structure au travers de l’équation aux dérivées partielles de Hamilton-Jacobi-Bellman.
On considère une fois de plus le problème suivant (d’autres généralisations sont possibles)
(48)
où \( \mathbb{R}^n\times \mathbb{R} \ni (x,t) \mapsto \psi(x,t) \in \mathbb{R}^q\) , \( 1<q\leq n\) est une fonction de classe \( {\mathcal C}^1\) . On considérera des fonctionnelles du type
où \( \mathbb{R}^n\times \mathbb{R} \ni (x,t) \mapsto \varphi(x,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) et \( \mathbb{R}^n\times \mathbb{R}^m \times \mathbb{R} \ni (x,u,t) \mapsto L(x,u,t) \in \mathbb{R}\) est de classe \( {\mathcal C}^1\) .
Définition 25 (Extrémale)
Une extrémale est l’ensemble de \( {\mathbb{R}^n}\) des points \( (x(t),t)\) , \( t\in[t_1,t_2]\) où \( \mathbb{R} \supset [t_1,t_2] \ni t \mapsto x(t)\in {\mathbb{R}^n}\) est solution du problème d’optimisation (48).
Définition 26
Soit \( \mathcal E\) une famille d’extrémales obtenue en faisant varier \( x^0\) , \( t_1\) . Soit \( U\) un ensemble compact de \( {\mathbb{R}^n}\times \mathbb{R}\) . On dit que \( \mathcal E\) est un champs d’extrémales pour \( U\) si \( \mathcal E \supset U\) .
En conséquence, il existe une extrémale passant par tous les points de \( U\) .
Définition 27 (Fonction de retour optimal)
On appelle fonction de retour optimal \( {\mathbb{R}^n}\times \mathbb{R} \ni (x^0,t_1) \mapsto {\mathcal J}(x^0,t_1)\) (à l’ensemble \( \{(x,t)\in \mathbb{R}^n\times \mathbb{R} \text{ t.q. } \psi(x,t)=0 \}\) ), la fonction ayant pour valeur la valeur optimale pour le problème d’optimisation (48) avec pour condition initiale \( (x^0,t_1)\) .
Les extrémales vérifient la propriété suivante.
Proposition 18 (Principe d’optimalité de Bellman)
Une suite de décisions est optimale si, quel que soit l’état et l’instant considérés sur la trajectoire qui lui est associée, les décisions ultérieures constituent une suite optimale de décisions pour le sous problème dynamique ayant cet état et cet instant comme conditions initiales.
Grâce à cette propriété, il est possible d’établir une équation aux dérivées partielles satisfaites par \( {\mathcal J}\) . On suppose disposer d’un champs d’extrémales \( \mathcal E\) pour le problème d’optimisation (48). Considérons \( (x,t)\in\mathcal E\) . Il correspond à la fonction de retour optimal évaluée en ce point \( J^0(x,t)\) une commande optimale \( \mathbb{R} \supset [t,t_2]\ni l \mapsto u^0(l)\in {\mathbb{R}^m}\) que nous supposerons (pour simplifier) unique. Pour toute commande \( u\) proche de \( u^0\) on peut calculer une fonction co^{u}t à partir de la trajectoire \( \mathbb{R} \supset[t_1,t_2] \ni t \mapsto x(t)\in {\mathbb{R}^n}\) (proche de la trajectoire optimale) issue de \( x(t_1)=x^0\) . Il vient
avec
(49)
Choisissons comme candidat d’appliquer \( u\) une commande différente de la commande optimale \( u^0\) pendant \( \delta t\) puis optimale sur \( [t_1+\delta t,t_2]\) . On peut évaluer
Un développement au premier ordre donne
L’équation (49) donne
Un passage à la limite lorsque \( \delta t \rightarrow 0\) donne
On reconnaît ici l’Hamiltonien (33) et on écrit finalement l’équation de Hamilton-Jacobi-Bellman
(50)
(51)
Il s’agit d’une équation aux dérivées partielles hyperbolique dont la condition limite est donnée sur l’ensemble \( {\mathcal V}=\{(x,t)\in \mathbb{R}^n\times \mathbb{R} \text{ t.q. } \psi(x,t)=0 \}\) par \( \mathbb{R}^n\times \mathbb{R} \ni (x,t) \mapsto {\mathcal J}(x,t)=\varphi(x,t)\) . On la résoudra en général par une propagation (rétrograde) depuis l’ensemble \( {\mathcal V}\) . Cette résolution sera par exemple menée le long d’un réseau quadrillant le plan (lorsque \( x\) est à valeur dans \( \mathbb{R}^2\) ) par la méthode de la programmation dynamique.
Calculer le gradient \( \nabla f(x)\) et le Hessien \( \nabla^2 f(x)\) de la fonction de Rosenbrock
Montrer que \( x^*=(1,1)^T\) est l’unique minimum local de cette fonction et qu’à ce point le Hessien est défini positif.
Soit \( a\) un vecteur de \( \mathbb{R}^n\) et \( A\) une matrice \( n\times n\) symétrique. Calculer le gradient et le Hessien de \( f_1(x)ā^T x\) et \( f_2(x)=x^T A x\) .
Soit \( f\) une fonction convexe. Montrer que l’ensemble des minimiseurs globaux de \( f\) est convexe.
Soit la suite \( (x_k)_{k\in \mathbb{N}}\) définie par
Cette suite est-elle convergente de type Q-superlinéaire? Est-elle Q-quadratique ou R-quadratique.
Note: on pourra utiliser la suite majorante \( \nu_k=(\frac{1}{2})^{2^k}\) .
Avec les notations du cours, montrer en utilisant la fonction \( f(x)=x^2\) et \( x_0=1\) que si \( 0<c_2<c_1<1\) il peut ne pas exister de pas satisfaisant les conditions de Wolfe.
La méthode de dichotomie présentée en cours n’est pas optimale au sens où pour un nombre fixé d’évaluations de la fonction à minimiser elle n’aboutit pas à l’intervalle réduit de taille minimale. On propose ici une méthode optimale.
On note \( \Delta_k\) la taille de l’intervalle de recherche à l’itération \( k\) , que l’on note \( [a_k,d_k]\) . On évalue la fonction à minimiser en deux points intermédiaires \( b_k\) et \( c_k\) ce qui nous donne donc \( 4\) valeurs. En utilisant l’unimodalité on peut éliminer un des deux sous-intervalles \( [a_k,b_k]\) ou \( [c_k,d_k]\) .
Soit \( \Delta_{N-1}\) l’intervalle obtenu au bout de \( N\) calculs, définissons \( F_0\) ,\( F_1\) ,...,\( F_{N-1}\) par
Montrer qu’on a alors
pour \( n=3,...,N-1\) et \( F_1=1\) .
Montrer que
et que \( F_2\leq 2\) .
La suite obtenue est la suite de Fibonacci. Pour l’utiliser on choisit d’abord un rapport de réduction pour l’intervalle final et on détermine ainsi \( N\) . Montrer que pour un rapport de réduction de \( 1000\) il faut choisir \( N=16\) . Montrer comment procéder aux itérations en commençant par
On admet les deux résultats suivants:
On cherche à résoudre le problème dit des “moindres carrés”
où \( A\) est une matrice \( p \times n\) , \( b\in \mathbb{R}^p\) et en général \( p\geq n\) .
On considère la fonction
Calculer la première itération de l’algorithme de Newton en partant de \( (1,1)^T\) (réponse: \( (0.5, 0.5)^T\) ).
On considère la fonction quadratique
Calculer les deux itérations de l’algorithme du gradient conjugué en partant de \( (0,0)^T\) et montrer qu’on aboutit au minimum global \( (2/7, 3/7)^T\) .
Parmi les méthodes de quasi-Newton, la méthode SR1 est souvent retenue pour sa simplicité et la bonne approximation du Hessien qu’elle procure. Avec les notations du cours elle donne
Utiliser la formule de Sherman-Morrison-Woodbury pour montrer que la formule de mise à jour de \( H_k=B_k^{-1}\) est
Montrer que la formule SR1 précédente, ainsi que la formule de la méthode BFGS sont invariantes par transformation \( x=S z +s\) où \( S\) est une matrice inversible et \( s\) un vecteur. Pour cela on pourra considérer la fonction \( \tilde f(z)=f(Sz+s)\) , calculer son gradient, son Hessien, et montrer que si on initialise l’approximation du Hessien par \( S^T B_0 S\) et qu’on utilise un pas unitaire, on a \( x_k=S z_k +s\) à toutes les itérations.
Soit la fonction
En faisant intervenir les variables intermédiaires
construire un graphe binaire permettant d’évaluer \( f\) au point \( (x_1,x_2,x_3)=(1,2,\pi/2)\) .
En utilisant le fait qu’à chaque étape les opérations ne font intervenir que deux variables, montrer comment une propagation en avant puis en arrière des calculs permet de calculer de manière automatique et efficace le gradient de la fonction sans en calculer une expression littérale. C’est une méthode générale très utilisée en pratique car très efficace.
Une méthode simple à mettre en oeuvre pour résoudre un problème de minimisation sous contraintes égalités
consiste à chercher les solutions de
via la recherche du minimum de la fonction (dite de mérite)
En pratique cette méthode permet d’utiliser un code prévu pour la minimisation sans contraintes pour résoudre un problème avec contraintes.
Appliquer cette méthode à
et montrer qu’en plus de l’unique minimum local on trouve un maximum local et un autre point parasite (c’est la principale faiblesse connue de cette méthode).
Considérer le problème de programmation quadratique
où \( G\) est symétrique définie positive. Montrer que le problème dual est
qui peut se simplifier en
Résoudre par la méthode de sous-ensembles actifs le problème de programmation quadratique \( \min q(x)\) , \( q(x)=(x_1-1)^2+(x_2-2.5)^2\) sous les contraintes
(52)
(53)
Utiliser comme point de départ \( x^0=(2,0)^T\) et \( W^0=\{3,5\}\) .
Considérer le problème pénalisé à barrière logarithmique
(54)
provenant du problème
(55)
Résoudre (54), vérifier analytiquement que lorsque \( \mu\) tend vers 0, \( x^*(\mu)\) , l’optimum obtenu, converge vers la solution de (55).
La plus courte distance entre un point \( x_0\) et un hyperplan \( \{x, Ax=b\}\) où les lignes de \( A\) sont linéairement indépendantes, peut s’écrire comme un problème de programmation quadratique
Montrer que le multiplicateur à l’optimum est
et que la solution est
Montrer que dans le cas où \( A\) est un vecteur ligne, la plus petite distance entre \( x_0\) et l’hyperplan vaut
Ce problème est issu de l’Optimization Toolbox de Matlab [10]. On considère une tente de cirque comme une membrane élastique posée sur 5 mâts (le mât central étant plus haut que les autres). La forme prise par cette toile de tente minimise une énergie potentielle composée d’un terme de gravité auquel s’oppose un terme d’élasticité. Après avoir utilisé un schéma aux différences pour le gradient de la surface, on obtient un problème de programmation quadratique dont l’inconnue est l’altitude des différents points de la toile. Si on représente la surface de la toile par une grille de points, on désigne par \( x\) le vecteur constitué par les lignes de cette grilles mises bout à bout. Ainsi une grille de taille \( 30\times 30\) donne un vecteur de taille 900. Les contraintes expriment que la toile repose sur les mâts.
Les multiplicateurs de Lagrange et les contraintes correspondantes sont représentés par
Avec les paramètres choisis, on obtient un minimum de \( 0.44422\) , de combien faut-il modifier la hauteur du mât central pour faire décroître cette valeur à \( 0.43767\) ?
Le pilote d’un avion dont la vitesse \( V\) est constante par rapport au vent (de vitesse \( u\) ) cherche à maximiser l’aire contenue dans la surface fermée tracée au sol par sa trajectoire sur un intervalle \( [0,T]\) . Les équations de la dynamique sont
L’aire à maximiser est
Montrer que la courbe recherchée est une ellipse dont on précisera l’excentricité.
Considérons une chaîne de longueur \( 2L\) suspendue entre deux points de même altitude situés à une distance \( 2l\) l’un de l’autre (\( l \leq L\) ). Utiliser le calcul des variations pour trouver la forme qui minimise l’énergie potentielle (\( g\) la gravité est une constante).
Considérons un investisseur qui possède une somme \( S\) à la banque. N’ayant aucun autre revenu que les intérêts qui lui sont versés, il cherche quelle est la meilleure façon (au sens de son agrément) de dépenser son argent sur l’horizon \( [0,T]\) .
On suppose que son agrément est pour tout temps \( E=2\sqrt{r}\) . L’agrément futur compte moins que le présent. La fonction qu’il va maximiser est donc
Dans le même temps, la banque lui verse des intérêts proportionnels à son capital restant à la banque \( x(t)\) . L’équation régissant ses économies est donc
Montrer que le problème se ramène à trouver un point stationnaire de
avec \( x(0)=S\) , \( x(T)=0\) .
Écrire l’équation de Euler-Lagrange equation correspondante et montrer que
Supposer que \( \alpha > \beta > \alpha/2\) . Résoudre l’équation précédente. Montrer que la politique optimale de dépense est donnée par
En utilisant les conditions de Karush-Kuhn-Tucker, trouver le minimum de
sous les contraintes
Traiter tous les cas possibles pour \( a\) et \( b\) .
Résoudre le même problème en rajoutant le contrainte \( y_1+y_2\geq \frac{1}{2}\) .
Considérons une particule de masse \( m\) évoluant dans un plan sur laquelle agit une force d’amplitude \( ma\) dont l’orientation (par rapport à l’axe \( x\) ) est \( \beta(t)\) . Les équations de la dynamique sont
On suppose vouloir minimiser une fonction coût ne comportant qu’un terme final du type \( \varphi(x(t_f),y(t_f))\) . Montrer qu’alors la commande optimale est du type
Étant donné un ensemble de points dans un plan \( \{y_1,...,y_m\}\) , on cherche le point dont la somme des distances pondérées est minimum. Le problème s’écrit
où les poids \( m_i\) sont des constantes positives.
Considérons le côut
sous la contrainte
Écrire l’équation HJB associée.
Considérons le quadrilatère représenté sur la Figure 2 avec les notations telles que définies sur cette figure (\( (\theta_1,\theta_2) \in ]0, \pi[^2\) , \( a>0\) , \( b>0\) , \( c>0\) , \( d>0\) ). On cherche la configuration \( (\theta_1,\theta_2)\) fournissant l’aire maximale.
Montrer que le problème revient à trouver l’extremum de
sous la contrainte
On considère le maillage défini sur la Figure 3
À chaque segment du maillage est associé un coût. On cherche le meilleur chemin (plus petit coût total) pour aller de \( A\) à \( B\) , ainsi que de \( A'\) à \( B\) .
Vous devez rester à l’étranger pendant 3 années et vous avez besoin d’un véhicule pour aller travailler. Un véhicule se détériore avec le temps et son coût d’usage est une fonction croissante de son âge (entretien, pannes...). Chaque année vous pouvez conserver votre véhicule ou en acheter un autre neuf et revendre l’ancien. À l’issue des 3 années vous devez vous débarrasser de votre véhicule en le mettant à la casse pour un prix dépendant de son état. On note
À l’instant initial un ami vous donne une voiture qui a 2 ans d’âge. Quelle est la suite de décisions optimale? Montrer le champs d’extrémales.
| \( i\) | 0 | 1 | 2 | 3 | 4 |
| c(i) | 10 | 13 | 20 | 40 | 70 |
| t(i) | 32 | 21 | 11 | 5 | |
| s(i) | 25 | 17 | 8 | 0 | |
Lorsque vous achetez un billet d’avion aller retour, vous pouvez bénéficier d’une importante réduction si vous acceptez de rester le samedi soir sur place. Dans cet exercice on va étudier comment, dans un cas très simple, cette ristourne est calculée.
On considère deux populations: les touristes (avec les variables \( z_n\) , \( \alpha_n\) ) et les hommes d’affaires (avec les variables \( z_b\) , \( \alpha_b\) ).
On note \( z_n\) (resp. \( z_b\) ) l’agrément de passer la nuit chez soi le samedi, \( p_n\) (resp. \( p_b\) ) le prix du billet, \( \alpha_n\) (resp. \( \alpha_p\) ) la pénibilité de payer le prix du billet, et \( t\) l’agrément du séjour. On note \( p_n\) le prix d’un billet aller retour avec séjour sur place le samedi, et \( p_b\geq p_n\) le prix d’un billet aller retour sans séjour sur place le samedi.
Expliquer le sens des hypothèses (qu’on admettra dans la suite)
Expliquer pourquoi l’agrément total d’un individu s’exprime, suivant les cas, comme
On souhaite donner l’envie aux touristes et aux hommes d’affaires de voyager. On souhaite choisir une politique tarifaire telle que les touristes aient envie de voyager en passant la nuit de samedi sur place et on souhaite encourager les hommes d’affaire à prendre un billet sans séjour du samedi. Expliquer qu’on aboutit aux relations
(56)
(57)
On souhaite que des deux types de voyages le plus intéressant pour les touristes soit le voyage avec séjour du samedi, et que les hommes d’affaires privilégient les séjours sans séjour du samedi. Montrer qu’on aboutit à
(58)
(59)
Étant donnés les flux supposés égaux d’hommes d’affaires et de touristes on souhaite maximiser la fonction
Les variables de décisions étant \( p_n\) et \( p_b\) (la politique tarifaire), écrire le problème d’optimisation sous contraintes.
Considérons une chaîne de longueur \( 2L\) suspendue entre deux points de même altitude situés à une distance \( 2l\) l’un de l’autre (\( l \leq L\) ). Utiliser le calcul des variations pour trouver la forme qui minimise l’énergie potentielle (\( g\) la gravité est une constante).
Avec les notations utilisées en cours, déterminer les équations à résoudre pour trouver un extremum du problème suivant
sous les contraintes
où \( t_f\) est une inconnue.
Le problème est de déterminer l’orientation \( \theta(t)\) qu’un nageur doit choisir pour minimiser le temps nécessaire pour traverser une rivière dont il connaît le courant. La rivière est définie comme \( \{(x,y), -l \leq y \leq l \}\) . \( \theta\) est l’angle entre le vecteur vitesse du nageur et l’axe \( x\) .
Considérer le problème de traverser une rivière d’un point \( (x,y)=(0,-l)\) à un point final donné \( (0,l)\) où le courant est selon la direction \( x\) avec la vitesse
Expliquer comment on peut déterminer \( \theta(t)\) et \( t_f\) .
On considère le problème de minimisation de la fonctionnelle
où \( x\) est une fonction deux fois dérivable définie sur \( [0, 1]\) telle que
On veut montrer que \( x^*\) fournit effectivement un minimum de la fonctionnelle. Considérer
où \( h\) est une variation admissible. En procédant à une double intégration par partie, montrer que
Conclure.
On cherche à montrer le résultat suivant. Soit \( Q\) une matrice symétrique définie positive de taille \( n \times n\) . Quel que soit \( x\) , on a
où \( a\) et \( A\) sont, respectivement, la plus petite et la plus grande des valeurs propres de \( Q\) .
Dans un premier temps, on considère que \( Q\) est une matrice diagonale dont les termes sont
Montrer que
Montrer que
avec
En interprétant \( f\) et \( g\) définis précédemment comme les coordonnées d’un barycentre de points de coordonnées \( (\lambda_i,1/\lambda_i)\) , représenter dans un plan l’ensemble des points de coordonnées \( (f,g)\) lorsque \( x\) varie (les \( \lambda_i\) restant constants). Montrer, pour \( \lambda_1\) , ..., \( \lambda_n\) fixés, qu’il existe \( \alpha(x)\in[0, 1]\) tel que
Déduire de ce qui précède que
Conclure. Conclure dans le cas général où \( Q\) n’est pas diagonale.
On considère le problème de minimisation de la fonction quadratique
où \( b\) est un vecteur colonne. Montrer que l’algorithme du gradient à pas optimal engendre les itérations
avec \( g^k=Qx^k-b\) .
On note
où \( x^*\) est l’unique minimum de \( h\) . Calculer \( E(x^{k+1})\) en fonction de \( E(x^k)\) et de \( g^k\) . En utilisant l’inégalité de Kantorovich que vous venez d’établir, montrer que
Considérer le problème (très simple)
Quelle est sa solution? Former le Lagrangien du problème et considérer la fonction duale
Expliciter les valeurs prises par cette fonction pour tout \( x\) . En déduire, par dualité, quelle est la solution du problème.
Considérer le problème
Montrer que son dual est
Préciser les dimensions de \( \lambda\) et \( \nu\) . Peut-on simplifier cette formulation duale?
Soit \( A\) une matrice de taille \( m \times n\) et \( b\) un vecteur colonne. On cherche \( x\in\mathbb{R}^n\) solution du problème
Former le Lagrangien du problème. Par dualité, montrer que ce problème revient à
On considère une fonction \( J:\mathbb{R}^n\rightarrow \mathbb{R}\) qu’on suppose elliptique, c’est à dire qu’elle est continûment différentiable, que son gradient \( \nabla J\) est Lipschitzien avec comme constante \( M\) , et qu’il existe \( \alpha>0\) tel que
pour tout \( u\) et \( v\) . On s’intéresse à la minimisation de \( J\) sur le domaine
où les fonctions \( \phi_i:\mathbb{R}^n\rightarrow \mathbb{R}\) sont convexes.
Établir, en utilisant la formule de Taylor avec reste intégral pour évaluer \( J(v)-J(u)\) , et le fait que \( J\) est elliptique, la double inégalité suivante:
En faisant le lien avec la convexité forte, démontrer l’existence et l’unicité de la solution du problème d’optimisation
On note \( p:\mathbb{R} \rightarrow \mathbb{R}_+\) tel que \( p(x)=\left\{ \begin{array}{l} x \text{ si } x \geq 0\\ 0 \text{ sinon}\end{array}\right. \) , et \( P:\mathbb{R}^m\rightarrow\mathbb{R}^m\) tel que \( P(x=(x_1,...,x_m)^T)=\left(\begin{array}{c} p(x_1)\\ \vdots\\ p(x_m) \end{array} \right)\) l’opérateur de projection sur \( (\mathbb{R}_+)^m\) . Établir, en utilisant les conditions Karush-Kuhn-Tucker, l’équivalence suivante
En déduire (en utilisant certaines valeurs bien choisies de \( \mu_i\) ) l’équivalence
Vérifier que si \( (u,\lambda)\) est point selle du Lagrangien, alors \( \lambda=P(\lambda+\rho \phi(u))\) pour un certain \( \rho\) , et que
pour tout \( v\) et pour tout \( \theta \in [0,1]\) . Faire le lien avec l’algorithme d’Uzawa.
En déduire, en utilisant un développement de Taylor que
pour tout \( v\) .
On souhaite établir le résultat suivant. Soit \( y: [0,1]\rightarrow \mathbb{R}\) une fonction régulière telle que \( y(0)=0\) . Pour tout \( k \in \mathbb{N}\) , on a:
avec \( C=\frac{1}{2k-1} \left( \frac{2k}{\pi} \sin \frac{\pi}{2k}\right)^{2k}\) . Pour cette démonstration, on va utiliser une méthode variationnelle.
Soit la fonctionnelle
Ecrire l’équation d’Euler-Lagrange associée à l’extrémalité de \( J\) . Montrer en particulier que
avec \( C'\) une constante.
montrer que
on rappelle
En déduire la valeur de \( C'\) .
Montrer que \( J(Y)=0\) . On pourra pour cela utiliser une intégration par parties en écrivant
pour faire apparaître l’équation d’Euler-Lagrange.
On considère le problème de transition en temps minimum entre deux points \( x_0\) , \( x_1\) pour un système linéaire scalaire (dans un premier temps) \( \dot x = a x + b u\) , avec \( a\neq 0\) , \( b \neq 0\) sous la contrainte \( u\in \mathcal U\) où \( \mathcal U\) est un sous ensemble convexe de \( \mathbb R\) . On cherche à démontrer que la commande réalisant le minimum est unique.
On suppose, sans perte de généralité, que \( x_1>x_0\) , \( a>0\) , \( b>0\) et que \( \mathcal U=[-\frac{a}{b}x_1-\epsilon, -\frac{a}{b} x_0 + \epsilon]\) , avec \( \epsilon>0\) . En considérant la loi horaire
où \( T>0\) est un paramètre à choisir, montrer que pour \( T\) suffisamment grand, la commande \( u(t)=\frac{\dot x(t)-a x(t)}{b}\) appartient à \( \mathcal U\) et permet de rallier \( x_0\) à \( x_1\) .
montrer que pour toute loi commande \( u\) , on a
en déduire
former l’Hamiltonien du problème (on notera \( \lambda\) l’état adjoint). Déduire du principe du minimum de Pontryagin que la ou les solutions optimales sont données par
montrer, par le lemme de l’adjoint, que
déduire du principe du minimum de Pontryagin que \( \lambda(t) u_1(t) \leq \lambda (t) u_2(t)\) et que, d’après l’égalité précédente on a alors
presque partout. En déduire sous quelle condition on peut conclure
presque partout.
On considère le problème de construire une route à pente limitée sur un relief constitué de collines. On représente le problème dans un plan vertical pour simplifier. On repère \( [O,L]\ni l \mapsto z(l)\) l’altitude du relief avant travaux, et \( [O,L]\ni l \mapsto x(l)\) l’altitude après les travaux. Les travaux consistent à creuser ou à remblayer le terrain pour définir l’altitude \( x\) qui minimise le critère
On souhaite que la route ait une pente limitée. On écrit cette contrainte sous la forme
En déduire que la solution optimale consiste en une succession de travaux sur des intervalles \( [t_i, t_{i+1}]\) tels que
On ne cherchera pas à calculer les \( t_i\) . Interpréter l’égalité précédente.
On considère un problème de minimisation du coût de trajet entre une destination et tous les points d’un graphe. Le graphe (non orienté) est représenté sur la figure 4. Le coût de trajet entre 2 cases est précisé sur le segment les reliant. A tout instant, il est possible de rester immobile sur une case, avec un coût 0 pendant l’arrêt.
Construire un champ d’extrémales par la méthode de la programmation dynamique en partant de la destination. On construira ainsi progressivement les chemins menant en \( 1\) , \( 2\) , \( 3\) , \( 4\) , étapes à la destination. D’après cette analyse, quel est le meilleur chemin pour aller de la case 3 à la case 5?
On s’intéresse au problème de minimisation (globale)
(60)
où \( f\) est une fonction à valeurs dans \( \mathbb{R}\) , continue par rapport à chacune de ses variables et où \( a,b : \mathbb{R} \rightarrow \mathbb{R}\) sont continues et vérifient en particulier la propriété suivante: \( \forall \theta \in \mathbb{R}, \,\,\, a(\theta) < b(\theta)\) (pour assurer la bonne définition de l’intervalle considéré dans (60)). Le graphe d’une telle fonction \( f\) est représentée sur la figure 5.
On définit
(61)
(62)
Lorsque deux points donnent la même valeur minimale globale de \( f\) , alors l’ensemble \( x^*(\theta)\) contient ces deux points. Le but de l’exercice est d’étudier la régularité de la fonction \( f^{\star}\) .
Soit un intervalle \( [a,b]\) , \( a<b\) . On considère l’espace de Hilbert \( H=L_2[a,b]\) constitué des fonctions \( y:[a,b]\rightarrow \mathbb{R}^n\) de carré sommable
où on a utilisé la norme Euclidienne de \( \mathbb{R}^n\) sous l’intégrale.
On souhaite utiliser le théorème de projection suivant (voir Luenberger, Optimisation by vector spaces methods, Wiley-Interscience 1997): soit \( H\) un Hilbert et \( M\) un sous espace fermé de \( H\) , alors, à tout \( x\in H\) il correspond un unique \( x_0\in V\) où \( V\) est l’espace affine \( V=x+M\) tel que
Ce point \( x_0\) est orthogonal à \( M\) , on note \( x^0\in M^\bot\) .
En appliquant le théorème de projection ci-dessus à \( V\) , montrer qu’il existe un unique \( x_0\in V\) solution de
En utilisant le fait que \( (M^\bot)^\bot=M\) , montrer que \( x_0=\sum_{i=1}^n \beta_i y_i\) où les \( \beta_i\) sont solutions du système linéaire
Application. On considère le problème suivant
sous les constraintes
On cherche le meilleur antécédent d’un vecteur \( b\in\mathbb{R}^n\) par une matrice \( A\) de taille \( n\times n\) non inversible.
On considère le problème d’optimisation
où \( \left\lVert \cdot\right\rVert \) désigne la norme Euclidienne. Montrer que ce problème est convexe. En déduire que \( u\) réalise le minimum de la fonction objectif si et seulement si
Montrer que la matrice \( A^TA\) est symétrique positive. On note \( \lambda_1, ..., \lambda_m\) ses \( m\) valeurs propres non nulles, avec \( m<n\) . En déduire que
où \( v_i\) sont des vecteurs propres orthonormaux de \( A^TA\) .
On considère la matrice
Montrer que \( \textrm{rang }P=m\) , \( P^2=P\) , et que \( \textrm{Im } P = \textrm{Im } A^T\) . En déduire que \( P\) est la projection orthogonale sur \( \textrm{Im } A^T\) .
En déduire que le vecteur suivant
réalise l’optimum recherché. Montrer que si \( A\) est inversible, i.e. \( m=n\) , alors \( Au^*=b\) .
On s’intéresse au problème de programmation quadratique (QP) suivant
(63)
où \( P\) est une matrice \( n\times n\) symétrique définie positive, \( M\) une matrice \( m\times n\) , \( f\in \mathbb{R}^n\) , \( b\in \mathbb{R}^m\) , avec \( m>n\) .
L’objet de cet exercice est d’exposer la construction d’un algorithme dit de “points intérieurs”.
On cherche à réécrire ce problème sous une forme canonique où les inégalités sont juste des relations de positivité des inconnues. Pour cela, on introduit un vecteur \( s\) de \( m\) inconnues positives ou nulles, et un vecteur \( y\) de \( 2n\) inconnues positives ou nulles. Chaque composante \( i\) de \( z\) est exprimable sous la forme
Montrer qu’on peut réécrire (63) sous la forme
(64)
avec
où \( N\) est une matrice qu’on explicitera.
Former le problème dual de (64) (on l’écrira comme un problème de maximisation sous contraintes). Pour cela, on formera le Lagrangien
Montrer que les conditions de Karush-Kuhn-Tucker pour le problème général
sont
(65)
On va pénaliser les contraintes \( -x\leq 0\) dans le côut en considérant le problème, pour \( \varepsilon>0\) ,
(66)
Montrer que le problème (66) possède une unique solution.
Former le Lagrangien associé à (66) et montrer que les conditions de Karush-Kuhn-Tucker sont
(67)
Une méthode itérative consiste à considérer \( \epsilon=\sigma \frac{x^T s}{2n+m}, \sigma\in]0, 1[\) .
Comment peut-on interpréter ce choix?
Dans un véhicule hybride, une question importante est celle du refroidissement de la batterie qui perd de son efficacité (et de sa disponibilité) si elle est trop chaude. On va chercher à établir une politique optimale de refroidissement sur un horizon de temps donné \( T>0\) (et une route connue à l’avance). Soit \( \theta_b\) la température interne de la batterie, \( \theta\) la température de son échangeur thermique, \( u\) son courant de sortie, et \( \xi\) sa charge. En tenant compte des échanges thermiques, de la consommation et de l’échauffement par effet Joule, on a les équations suivantes
où \( a,b,c,k\) sont des coefficients positifs (connus) et \( D(t)\) est une fonction connue du temps. Le système est initialisé au temps \( 0\) aux valeurs
On cherche à minimiser la température finale \( \theta_b(T)\) sous la contrainte de maintien de la charge \( \xi(T)=\xi(0)\) . Montrer qu’on peut formuler ce problème sous la forme
où on précisera \( L(\theta,u)\) .
Soit \( f:I \rightarrow \mathbb R\) avec \( I\) intervalle de \( \mathbb R\) . On suppose que \( f\) est convexe sur \( I\) , et on considère \( \{ x_i, i=1,...n\}\) une famille d’éléments de \( I\) , \( n\) entier \( n>1\) .
Montrer (par exemple par récurrence) que
On a égalité si et seulement si tous les \( x_i\) sont égaux.
On se donne une collection d’arcs orientés reliant des points \( P_1\) , \( P_2\) , \( P_3\) , \( P_4\) , \( P_5\) . Tous les points ne sont pas connectés directement avec les autres. Les arcs sont orientés, c’est à dire qu’on peut aller de \( P_1\) à \( P_2\) directement, mais que le retour n’existe pas forcément. Les longueurs (co^{u}ts) des arcs sont rangés dans une matrice
Ainsi, l’arc reliant \( P_1\) à \( P_2\) a une longueur 3, alors qu’il n’y a pas d’arc (on note que la longueur est infinie) reliant \( P_1\) à \( P_4\) .
On cherche à établir une carte des plus courts chemins entre chaque point du graphe. Pour résoudre ce problème on va utiliser la programmation dynamique.
On note \( M^k\) la matrice dont chaque coefficient \( M_{i,j}^k\) vaut la longueur totale de la séquence optimale de \( k\) arcs (ou moins) reliant \( P_i\) à \( P_j\) . En utilisant le principe d’optimalité de Bellman, montrer que
On veut montrer que parmi les courbes fermées régulières du plan (simples: ne faisant pas de boucles) de longueur donnée, celles qui ont une aire intérieure maximale sont des cercles .
On note \( \mathcal C\) une courbe dans le plan, fermée simple et régulière, et on la suppose paramétrée par son abscisse curviligne, en notant \( L\) sa longueur:
Cette courbe (dite de Jordan) sépare le plan en une partie intérieure \( \mathcal I\) et une partie extérieure.
La longueur \( L\) est solution de l’équation intégrale
Vérifiez votre formule en calculant le périmètre d’un cercle de rayon \( r\) .
L’aire \( A\) de la zone \( \mathcal I\) est
Utiliser cette formule pour calculer l’aire d’un disque de rayon \( r\) .
On considère une variation autour de \( c\) , en utilisant \( \nu(s)\) le vecteur normal (extérieur) à la courbe \( \mathcal C\) au point courant \( c(s)\) , et \( f\) une fonction régulière \( L\) -périodique à valeur dans \( \mathbb R\) . Ceci permet de construire, pour tout \( t\in \mathbb R\) ,
Faire un dessin représentant \( c\) et \( v\) , mettant en évidence que lorsque \( \left\lvert t\right\rvert \) est suffisamment petit, \( s\mapsto v(t,s)\) définit encore une courbe fermée simple.
On note \( L_f\) et \( A_f\) la longueur et l’aire intérieure associées à \( s\mapsto v(t,s)\) . Montrer que la dérivée à \( t=0\) de \( t\mapsto \frac{L_f(t)^2}{A_f(t)}\) s’annule si et seulement si
Ré-écrire cette condition en utilisant le fait que
où \( k\) désigne la courbure de \( \mathcal C\) . On demande d’obtenir une condition que doit vérifier \( k(s)\) pour que \( \mathcal C\) réalise un extremum de \( \frac{L^2}{A}\) .
On considère un problème de commande optimale où le co^ut à minimiser est
La particularité du problème est que \( x\) subit un saut en un instant \( \tau \in]0, 1[\) défini implicitement par la condition (on suppose \( \tau\) unique)
A l’instant \( \tau\) , l’état subit un saut de la forme
où \( \Delta\) est un vecteur de paramètres donné. Sur l’intervalle \( [0,\tau[\) , l’état satisfait une équation différentielle \( \dot x=f_1(x,u)\) , et sur l’intervalle \( ]\tau,1]\) , il satisfait \( \dot x=f_2(x,u)\) . La condition initiale \( x(0)=x^0\) est imposée.
Soit un ellipsoide défini par l’équation
avec \( a, b, c\) des scalaires non nuls. On cherche le parallélépipède rectangle dont les ar^etes sont parallèles aux axes ayant un volume maximal en restant contenu dans l’ellipsoïde. On note \( x\) , \( y\) , \( z\) les demi-longueurs de ses ar^etes, si bien que son volume est
On dispose d’un c^able semi-rigide de longueur \( L\) qu’on souhaite étaler sur le sol entre 2 points à connecter situés à une distance \( L/2\) . Le c^able est donc trop long.
Pour ne pas trop encombrer, on va chercher à trouver une disposition au sol qui ne prend pas trop de place tout en respectant les contraintes mécaniques du c^able. Pour déterminer cette disposition, on va résoudre un problème d’optimisation de trajectoires.
On considère l’axe \( x\) reliant le point de départ et le point d’arrivée. On complète le repère avec un axe orthogonal \( y\) et on résoud le problème suivant
sous les contraintes
avec \( K\) et \( \alpha\) des paramètres positifs.
Lors d’un investissement public, deux options s’offrent en général aux décideurs:
Considérant que chaque territoire du pays se voit attribuer un budget d’investissement économique \( x(z)\) où \( z\) désigne le territoire, on note \( f(x)\) la rentabilité de l’investissement (fonction supposée continue et différentiable avec \( f(0)=0\) ). Le décideur qui doit prendre une mesure à l’échelle nationale cherche à maximiser la rentabilité totale
Si on considère qu’un investissement est plus rentable sur un territoire pauvrement doté, on décrit
Montrer à cette hypothèse politique correspond au fait que \( f\) est concave et croissante.
Soit \( f:\mathbb R^n \rightarrow \mathbb R \) une fonction quadratique strictement convexe. Soit \( x\) , \( y_1\) ,...,\( y_n\) des vecteurs de \( \mathbb R^n\) .
Soit la parabole d’équation \( 5 y= (x-1)^2\) . On cherche le point de la parabole de distance Euclidienne minimale avec le point de coordonnées \( (1,2)\) .
On considčre les trois problčmes suivants. Expliquer lesquels possèdent des solutions.
(68)
(69)
On s’intéresse ici ŕ une classe de méthodes permettant de résoudre un problčme de minimisation sous contraintes comme limite d’une séquence de problčmes sans contraintes. On note
oů on suppose que les fonctions \( J\) et \( g_i\) sont réguličres de \( \mathbb R^n\rightarrow \mathbb R\) , et que les contraintes définissent un ensemble compact non vide \( S\) , contenant une unique solution globale \( x^*\) , non isolée dans \( S\) . On veut résoudre le problčme en résolvant une séquence de problčmes sans contraintes dits “pénalisés” du type
oů \( \gamma\) est une fonction positive, régulière sur \( ]-\infty,0[\) , telle que \( \lim_{x\rightarrow 0-} \gamma(x)=+\infty\) . Par convention, \( \gamma(x)=+\infty\) , pour \( x\geq 0\) . On considčre une suite strictement décroissante \( (\epsilon_k)\) de réels strictement positifs et on note, pour tout \( k\)
On suppose que \( J_{k}\) admet un minimum sur \( \mathbb R^n\) en un point unique noté \( x_k\) .
Montrer que pour tout \( k\) on a
(70)
(71)
Déduire, par une combinaison linéaire des lignes qui précčdent, que
(72)
Montrer, en utilisant (70) et la relation précédente que
Montrer, en utilisant (71) que
(73)
On choisit un entier \( l\) tel que
Montrer, en utilisant (73), qu’on a, pour tout \( k>l\)
En déduire que
pour tout \( k>l\) et que donc
La séquence des problčmes non contraints mais pénalisés génčre une suite qui converge donc vers la solution \( x^*\) du problčme contraint.
Le PSA est un type de contrat fréquemment utilisé dans le domaine des ressources naturelles, notamment dans l’industrie pétroličre. Un PSA définit pour la durée de vie d’un réservoir (typiquement 25 ans) la part du pétrole produit qui va revenir, ŕ chaque instant (année), ŕ l’exploitant du gisement et au pays propriétaire du gisement, respectivement. Deux données importantes sont ŕ prendre en compte dans le cas d’un réservoir pétrolier: i) si on produit beaucoup au début, on risque de “fatiguer” le réservoir, ce qui entraînera un épuisement rapide des réserves ultérieures ii) un exploitant cherchera naturellement ŕ rentabiliser le plus vite possible les investissements lourds qu’il a réalisés lors de l’équipement du réservoir (forage, cimenterie du puits, instrumentation, riser, etc...). Ces deux effets sont antagonistes.
On considčre que le problčme peut-ętre décrit au moyen de 2 variables d’état: \( r\) les réserves exploitables dans le réservoir, \( p\) le profit cumulé de l’exploitant. Ces deux variables satisfont les équations différentielles
oů \( u\in[0,1]\) désigne la production instantanée, \( h\) est une fonction d’épuisement positive croissante, \( \epsilon\) définit les intéręts du capital. Le contrat PSA définit la fonction \( v(t)\in[0,1]\) qui est la fraction de la production revenant ŕ l’exploitant. Le reste revient au pays propriétaire du gisement.
On considčre maintenant le point de vue du pays propriétaire du gisement. Son intéręt est de maximiser la quantité totale de pétrole qui lui revient produite au cours de toute la durée de vie du réservoir (jusqu’ŕ épuisement \( r(T)=0\) ). Montrer que le critčre ŕ minimiser est
Soit \( f\) une fonction convexe définie sur un ensemble convexe \( E\) . Montrer que l’ensemble
est un ensemble convexe.
Soit \( g_i\) , \( i=1,...,k\) des fonctions convexes définies sur \( \mathbb R^n\) . Montrer que l’ensemble
est un ensemble convexe.
On s’intéresse au polyn^{o}me de degré \( n-1\) approchant le mieux possible \( t\mapsto t^n\) . On considère ainsi le problème de minimisation
Montrer que le polyn^{o}me recherché est (polyn^{o}me de Rodrigues)
(on remarquera que \( R\) est de degré \( n-1\) ).
On cherche (voir [11]) à résoudre des problèmes d’optimisation de trajectoires généraux
(74)
où \( f\) est une fonction régulière, \( F\) et \( Q\) des matrices symétriques positives, \( R\) une matrice symétrique définie positive, \( x^0\) , \( t_1\) , \( t_2\) des paramètres donnés.
Pour cela, on propose une méthode d’approximation linéaire successive des équations de la dynamique, sous l’hypothèse (qu’on supposera vérifiée) que \( \dot x = f(x,u)\) peut s’écrire
(75)
avec \( A\) et \( B\) des fonctions (matricielles) régulières.
Montrer que le problème aux deux bouts est
avec \( C(x,\lambda)=-\frac{d}{dx}(A(x)x)^T-u^T \frac{d}{dx} B(x)^T\)
On introduit la séquence fonctionnelle \( (x^{[i]},\lambda^{[i]})_{i\in \mathbb N}\)
avec, pour \( i\geq 1\) ,
Ecrire ce système sous une forme
(76)
avec
Préciser \( \bar A\) .
L’équation (76) définit un système linéaire instationnaire de la forme
On introduit un état adjoint
(77)
Montrer, en utilisant le lemme de l’adjoint, que
Soit \( \delta_k=\left( 0\, … \, 0 \, 1\, 0 \, … \, 0 \right)^T\) où le \( 1\) est en position \( k\) avec \( n+1\leq k \leq 2n\) , avec \( n=\dim x\) .
Montrer que la \( (k-n)\) -ième composante de \( \lambda^{[i]}(t_2)\) vaut \( y^T(t_1) \mu_k(t_1)\) où \( \mu_k\) est la solution de (77) avec la condition finale \( \mu_k(t_2)=\delta_k\) .
Former la condition terminale du problème aux deux bouts et montrer qu’elle est de la forme
avec
et que donc
On considère le problème
pour le système dynamique
où \( a\) et \( b\) sont des vecteurs donnés, \( t_2>t_1\) des constantes.
On souhaite concevoir un réservoir cylindrique de contenance maximale au moyen d’une quantité limitée de matériau.
On considère (voir [12]) le problème
pour le système dynamique
où \( a<b\) et \( t_1\) sont des constantes, \( \alpha \neq \beta\) des vecteurs donnés, et \( t_2>t_1\) est libre.
L’objet de cet exercice est de démontrer que l’image par une fonction régulière (à Jacobien inversible) d’une boule de taille suffisamment petite est convexe. Cette propriété a été établie dans des espaces de Hilbert généraux et est utilisée notamment dans l’étude des valeurs propres de matrices et d’opérateurs perturbés (voir [13]).
On établit d’abord un résultat préliminaire.
Soit une fonction \( P: \mathbb{R}^n\rightarrow \mathbb{R}^m\) régulière. On cherche à résoudre l’équation
(78)
au moyen d’une séquence
(79)
initialisée en \( x^0\) donné. On suppose que
On va montrer que la séquence (79) converge vers \( x^*\) solution de (78). Dans la suite, on utilise la norme Euclidienne et la norme induite.
En utilisant le développement (formule de Taylor), et les propriétés (i-ii-iii),
entre les points \( x^n\) et \( x^{n+1}\) , montrer que
(80)
On note \( c_1=\frac{L \lambda^2 \left\lVert P(x^0)\right\rVert }{2 \gamma}\) . Montrer, en majorant \( \left\lVert P(x^n)\right\rVert \) que
En déduire que
On suppose désormais que \( P'\) est uniformément inversible si bien que il existe \( m>0\) tel que quels que soient \( x\) (localement), et \( y\) on a
(81)
(82)
Soit \( z\) tel que \( P'(x) z=P(x)\) , déduire de ce qui précède, avec \( Q(x)=\alpha z\) , avec \( 0<\alpha<2\) , que les hypothèses (ii) et (iii) sont vérifiées.
En déduire que si \( \left\lVert P(x^0)\right\rVert \) est suffisamment petite, alors la séquence
(83)
(84)
avec \( 0<\alpha_n<2\) converge.
En déduire, sous l’hypothèse supplémentaire précédente, par passage à la limite, l’existence d’une solution \( x^*\) de (78) et que
On considère maintenant une fonction régulière \( f:\mathbb{R}^n\rightarrow \mathbb{R}^m\) telle que son Jacobien est Lipschitzien de constante \( L\) et inversible avec la constante \( m\) . On veut montrer que l’ensemble \( F=\left\{ f(x) \text{ pour } x\in B(a,\epsilon)\right\}\) , avec \( B(a,\epsilon)=\left\{x \text{ tel que} \left\lVert x-a\right\rVert \leq \epsilon\right\}\) est un ensemble convexe pour tout \( a\) , pour \( \epsilon\) suffisamment petit.
Soient deux points \( x^1\) , \( x^2\) de \( B(a,\epsilon)\) et \( y^1\) , \( y^2\) de \( F\) leurs images par \( f\) . Soit \( y^0=\frac{1}{2}(y^1+y^2)\) . Pour montrer que \( F\) est convexe, il suffit de montrer que \( y^0\) appartient à \( F\) .
On note \( x^0=\frac{1}{2}(x^1+x^2)\) . Montrer que
avec
Montrer que
La fonction \( x\mapsto f(x)-y^0\) est telle que son Jacobien est Lipschitzien de constante \( L\) et inversible avec la constante \( m\) . En déduire, d’après la première partie de l’exercice, que si \( \epsilon\) est suffisamment petit, alors il existe \( x^*\) tel que \( f(x^*)=y^0\) et tel que
Application: On considère \( f(x)=\left(\begin{array}{c} x_1 x_2-x_1 \\ x_1x_2+x_2 \end{array}\right)\) .
On s’intéresse ici à un système linéaire
où l’état \( x \in \mathbb{R}^n\) et la commande \( u \in \mathbb{R}^m\) . On considère le coût suivant avec pondération
(85)
où \( R\) est symétrique positive et \( Q\) est symétrique définie positive.
On ajoute à l’objectif de minimiser ce critère quadratique une contrainte finale
On se propose de déterminer la loi de commande solution à ce problème par deux méthodes différentes.
Méthode de balayage. Cette méthode consiste à ramener les conditions limites du poblème au même point. En notant \( \nu\) le multiplicateur associé à la contrainte finale, on se propose de chercher les adjoints et multiplicateurs sous la forme
(86)
(87)
Montrer que
(88)
Montrer que
(89)
(90)
Montrer enfin que
(91)
On cherche la fonction de retour optimal sous la forme
Retrouver les équations (88)–(91) en résolvant l’équation précédente.
On considère maintenant un système dynamique de dimension \( n=2\)
On souhaite calculer une commande \( t\in [0,3] \mapsto u(t)\) transférant le système de \( x_0 = [-0.5 1]^T\) à \( x_f = [-1 0]^T\) en minimisant le critère quadratique (85) avec \( R = I\) . On résout numériquement les équations obtenues précédemment pour deux réglages : \( Q = 1\) et \( Q = 1000\) . Associer ces réglages aux équations de la Figure 7.
On s’intéresse à la dynamique d’un véhicule équipé d’un moteur à courant continu dont on cherche à le faire parcourir une distance \( D\) en un temps donné \( T\) en minimisant l’énergie consommée, sous contraintes de vitesse initiale et finale nulles. Ce problème de contrôle optimal s’écrit ainsi
(92)
(93)
où \( x,v\) sont respectivement la position et vitesse du centre de masse du véhicule, \( u\) est le pourcentage utilisé du couple maximal fourni par le moteur, \( a_i, b_i\) (\( i = 0,...,2\) ) sont des constantes positives et \( \gamma\) une fonction réelle telles que :
A partir de cette même condition de stationnarité, déduire que \( x\) satisfait
(94)
(95)
(96)
Un problème de programmation linéaire s’écrit (canoniquement) sous la forme
(97)
où \( c\in \mathbb{R}^n\) , et pour \( i=1,...,m>n\) , \( a_i \in \mathbb{R}^n\) , \( b_i \in \mathbb{R}\) . On s’intéresse dans cet exercice à un problème plus général, où chaque contrainte \( i\) est définie par des ensembles \( E_i\) et \( F_i\) pour \( i=1,...,m>n\) ,
(98)
Les ensembles \( F_i\) et \( E_i\) sont polyhédraux (supposés non vides), c.-à-d.
avec \( D_i\) une matrice \( k_i\times n\) , et \( d_i\in \mathbb{R}^{k_i}\) avec \( k_i> 1\) et \( \gamma_i< \mu_i\) . On cherche à montrer que le problème (98) est bien un problème du type (97) et à en trouver l’expression.
Montrer que (98) est équivalent au problème
(99)
Ré-écrire les contraintes de (99) en utilisant le problème auxiliaire
(100)
On va considérer le problème dual de (100). Former le Lagrangien \( {\mathcal L} (a_i,\lambda)\) de (100). Calculer \( \sup_{\lambda \geq 0}{\mathcal L}\) , en distinguant le cas \( D_i a_i\leq d_i\) et son complémentaire. De même, calculer \( \inf_{a_i} {\mathcal L}\) . Utiliser l’égalité du point selle. En supposant que \( \inf\) et \( \sup\) sont atteints, montrer que le problème dual de (100) s’écrit
(101)
En utilisant cette formulation duale, montrer que la résolution de (99) revient à la résolution de
(102)
Conclure que le problème (98) est équivalent au problème de programmation linéaire suivant
(103)
Soit \( A\) une matrice à inverser de taille \( n\) . Soit \( A_0\) une matrice dont on connait l’inverse (par exemple l’identité). On considère les matrice \( A_iĀ_{i-1}+(A-A_{i-1})\, e_i e_i^T\) pour \( i=1,...,n\) où \( e_i\) est le \( i\) -ème vecteur de base. Montrer que \( AĀ_n\) . Appliquer \( n\) fois la formule de Sherman-Morrison-Woodbury pour en calculer l’inverse.
On pourra se référer à [14] pour un exposé de certaines librairies et de certains logiciels existants pour la résolution des problèmes d’optimisation. On pourra se reporter à [15] pour tout détails portant sur le chapitre 1 du cours. En ce qui concerne l’analyse et l’optimization convexe on pourra se reporter à [16] et [17]. On trouvera de plus amples détails sur les algorithmes de descente en dimension finie dans [18]. Pour le chapitre 2 on pourra trouver tous les détails concernant l’optimisation de fonctionnelles dans [19, 20] et les différentes conditions de stationnarité dans [21, 22, 23, 20, 24]. On trouvera les détails sur l’histoire du calcul des variations dans [25, 26]. Pour les équations variationnelles d’ordre élevé on pourra se reporter à [27]. Pour une présentation en lien avec l’analyse fonctionnelle, on se reportera à [28]. Pour une vue d’ensemble on pourra se reporter à [29]. Pour une présentation des techniques de programmation dynamique on pourra consulter [30, 31]. L’ouvrage [32] contient une présentation très complète de l’optimisation.
[1] Numerical Optimization Springer 1999 Springer Series in Operations Research
[2] Programmation Mathématique. Théorie et algorithmes Dunod 1983 1, 2
[3] User's Guide for NPSOL 5.0: A Fortran Package for Nonlinear Programming Systems Optimization Laboratory Stanford University, Stanford, CA 94305 1998
[4] R. Bulirsch and D. Kraft Large-scale SQP Methods and their Application in Trajectory Optimization 1 Birkhäuser Verlag 1994
[5] Stories about Maxima and Minima American Mathematical Society 1990 Mathematical World. Volume 1
[6] Numerical Recipes: The Art of Scientific Computing New York:Cambridge University Press 1986
[7] The Shooting Algorithm for Optimal Control Problems: A Review of Some Theoretical and Numerical Aspects INRIA 2002 Notes de cours, http://www-rocq.inria.fr/sydoco/cours/tutorial.html
[8] Two-point boundary value problems: shooting methods American Elsevier 1972
[9] Théorie Mathématique de Processus Optimaux Editions Mir, Moscou 1974
[10] Optimization Toolbox The Math Works Inc. 2002 User's guide, http://www.mathworks.com
[11] Approximate Optimal Control and Stability of Nonlinear Finite- and Infinite-Dimensional Systems Annals of Operations Research 2000 98 1 19–44 10.1023/A:1019279617898
[12] Functional analysis and linear control theory Academic Press Inc. 1980
[13] Convexity of nonlinear image of a small ball with applications to optimization Set-Valued Analysis 2001 9 1-2 159–168
[14] Optimization Software guide SIAM 1993 Frontiers in Applied Mathematics
[15] Nonlinear programming Athena Scientific 1999 2
[16] Optimisation et analyse convexe Presses Universitaires de France 1998
[17] Convex optimization Cambridge University Press 2004
[18] Optimization - Algorithms and Consistent Approximations Springer-Verlag 1998
[19] Optimization by vector spaces methods Wiley 1969
[20] Calculus of variations Dover 2000
[21] Applied Optimal Control Ginn and Company 1969
[22] Dynamic Optimization Addison-Wesley 1999
[23] Calculus of variations Cambridge at the University Press 1927
[24] Approximate methods of higher analysis Interscience Publishers, Inc. - New York 1964
[25] 300 years of optimal control: from the brachystochrone to the maximum principle IEEE 1997 32–44 disponible sur https://sites.math.rutgers.edu/ sussmann/
[26] Mathematics. Its contents, methods and meaning The M. I. T. Press 1969
[27] Methods of Mathematical Physics Interscience 1962 2
[28] The calculus of variations and functional analysis World Scientific Publishing Co. 2003 12 Series on stability, vibration and control of systems
[29] Analyse numérique et optimisation. Cours de l'École Polytechnique École Polytechnique 2004
[30] Dynamic Programming and Optimal Control Athena Scientific 2001 1, 2 2
[31] The art and theory of dynamic programming Academic Press 1977
[32] Introduction à l'optimisation Ellipses 1994