Rappels mathématiques

La résolution analytique ou numérique d'un problème d'optimisation fait appel à quelques notions mathématiques récurrentes. Nous rappelons ici quelques notions très rapidement.

Soit \(f(x)\), une fonction à une seule variable. La dérivée première de cette fonction en un point est appelée pente ou gradient de la fonction en ce point et s'exprime :

\(\frac{df}{dx} = \lim _{\Delta x \to 0} \frac{f(x +\Delta x) - f(x)}{\Delta x} =\lim _{\Delta x \to 0} \left[ \frac{\Delta f}{\Delta x} \right]\)

La dérivée seconde d'une fonction à une variable est égale à :

\(\frac{d^2 f}{dx^2} =\frac{d}{dx}(\frac{df}{dx}) =\lim _{\Delta x \to 0}\frac{{\frac{df}{dx}}_{x+\Delta x}-{\frac{df}{dx}}_x}{\Delta x} \)

\(\frac{(\frac{df}{dx})_(x+\Delta x)-(\frac{df}{dx})_x}{\Delta x}\)

En ce qui concerne les fonctions à plusieurs variables, on peut calculer des dérivées partielles. Les dérivées partielles sont définies par rapport à chaque variable indépendante. Par exemple pour une fonction à deux variables, \(f(x,y)\), on peut exprimer deux dérivées premières partielles :

\(\frac{\partial f(x,y)}{\partial x} = \lim _{\Delta x \to 0} \frac{{f(x+\Delta x,y)-f(x,y)}}{\Delta x}\)

\(\frac{\partial f(x,y)}{\partial y} = \lim _{\Delta y \to 0} \frac{{f(x,y+\Delta y)-f(x,y)}}{\Delta y}\)

Dans une fonction à plusieurs variables, le gradient est un vecteur qui pointe dans la direction selon laquelle la fonction augmente le plus rapidement. Par construction, le vecteur gradient est perpendiculaire à la courbe isovaleur de la fonction au point considéré. Les coordonnées du vecteur gradient associées à une fonction sont les dérivées partielles de cette fonction en ce point. Ainsi pour \(f(x,y)\), les coordonnées du vecteur gradient en \(x\) et \(y\), sont :

\(\nabla f(x,y) =  \begin{bmatrix} \frac{\partial f(x,y)}{\partial x} \\ \frac{\partial f(x,y)}{\partial y} \end{bmatrix} = \begin{bmatrix} \frac{\partial f(x,y)}{\partial x} & \frac{\partial f(x,y)}{\partial y} \end{bmatrix}^T\)

Remarque : par défaut, les vecteurs sont toujours considérés comme des vecteurs-colonnes. L'exposant T signifie la transposée du vecteur. Ainsi la transposée d'un vecteur-ligne est bien égale au vecteur-colonne.

On définit la matrice Jacobienne, ou Jacobien, qui peut s'avérer utile pour organiser les gradients de plusieurs fonctions. Par exemple, soit deux fonction, \(f\) et \(g\), à trois variables \((x,y,z)\), alors le Jacobien associé est la matrice :

\( J =  \begin{bmatrix} \frac{\partial f}{\partial x} & \frac{\partial f}{\partial y} & \frac{\partial f}{\partial z} \\ \frac{\partial g}{\partial x} & \frac{\partial g}{\partial y} & \frac{\partial g}{\partial z} \end{bmatrix} \)

On définit la matrice Hessienne, ou Hessien, comme la matrice contenant l'ensemble des dérivées secondes d'une fonction. La matrice Hessienne est par construction une matrice carrée symétrique ; par exemple pour une fonction à deux variables, \(f(x,y)\) :

\( H =  \begin{bmatrix} \frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial x\partial y} \\ \frac{\partial^2 f}{\partial x\partial y} & \frac{\partial^2 f}{\partial y^2} \end{bmatrix} \)

Le développement en série de Taylor permet d'approximer la valeur d'une fonction.

Dans le cas d'une fonction à une variable, le développement à l'ordre \(n\) pour approximer la valeur de la fonction en \(x_p+\Delta x\) à partir de la valeur de la fonction et de ses différentes dérivées, de l'ordre 1 à l'ordre \(n\), en \(x_p\) s'écrit :

\(f(x_p+\Delta x) = f(x_p) + \Delta x {\frac{df}{dx}}_{x_p} + (\Delta x)^2 {\frac{d^2f}{dx^2}}_{x_p} +{\frac{(\Delta x)^n}{n !}\frac{d^nf}{dx^n}}_{x_p}\)

De la même manière, un développement en série de Taylor d'une fonction à plusieurs variables s'écrit en se limitant ici à l'ordre 2 (i.e. jusqu'aux dérivées secondes) :

\(f(x_p+\Delta x,y_p+\Delta y) = f(x_p,y_p) + \Delta x {\frac{\partial f}{\partial x}}_{x_p,y_p}+ \Delta y {\frac{\partial f}{\partial y}}_{x_p,y_p} + \frac{1}{2} [(\Delta x)^2 {\frac{\partial^2f}{\partial x^2}}_{x_p,y_p} + (\Delta y)^2 {\frac{\partial ^2f}{\partial y^2}}_{x_p,y_p} +...+2\Delta x\Delta y {\frac{\partial ^2f}{\partial x\partial y}}_{x_p,y_p}]\)

En adoptant une écriture matricielle, le développement en série de Taylor s'écrit:

\(f(x_p+\Delta x,y_p+\Delta y) = f(x_p,y_p) +\nabla f^T(x_p,y_p) \begin{bmatrix} \Delta x \\ \Delta y \end{bmatrix} + \frac{1}{2} \begin{bmatrix} \Delta x & \Delta y \end{bmatrix} H(x_p,y_p) \begin{bmatrix} \Delta x \\ \Delta y \end{bmatrix} \)

L'écriture matricielle du développement en série de Taylor pour une fonction à n variables se généralise ainsi :

\(f(x+\Delta x) = f(x) +\nabla f^T(x) \Delta x + \frac{1}{2} \Delta x^T H(x) \Delta x\)

\(x\) et \(\Delta x\) sont des vecteurs de dimension \(n\); ils représentent respectivement le point courant et le déplacement entre \(x\) et \(x+\Delta x\).HH

\(H\) est la matrice hessienne qui contient l'ensemble des dérivées secondes de la fonction. Il est souvent nécessaire de savoir lors de la résolution d'un problème d'optimisation si la matrice hessienne est définie positive, respectivement définie négative. On rappelle que la matrice \(H(x)\) est définie positive, respectivement définie négative, si pour tout \(x≠0\), on a : \(x^TH(x)x>0\) , respectivement \(x^TH(x)x<0\). Une matrice définie positive, respectivement définie négative, a toute ses valeurs propres strictement positives, respectivement strictement négatives.