• Aucun résultat trouvé

Chapitre 4 Construction et calibration des modèles numériques

4.3 Démarche de calibration du modèle

4.3.2 Résolution du problème inverse

4.3.2.1 Formulation par moindres carrés

Un problème inverse non linéaire peut être représenté par une relation reliant le vecteur de paramètres 𝑝 et les observations générées par le modèle 𝑐 suivant l’équation :

𝑐 = 𝑋( 𝑝) (4.1)

où 𝑋 est une matrice de dimension 𝑚 × 𝑛 représentant les actions du modèle, avec 𝑚 le nombre d’observations générées par le modèle compris dans le vecteur 𝑐, et 𝑛 le nombre de paramètres du modèle contenus dans le vecteur 𝑝.

L’application 𝑋 est supposée non linéaire, ce qui rend plus difficile la résolution du problème inverse. Nous allons donc introduire une formulation sous la forme d’une fonction pondérée au sens des moindres carrés à minimiser :

minimiser Φ(𝑝) = ∑[𝑤𝑖(𝑐𝑖− 𝑐𝑖)]2 𝑚

𝑖=1

(4.2)

où Φreprésente la fonction objectif à minimiser, 𝑤𝑖 est le poids attribué à la 𝑖è𝑚𝑒 observation, et 𝑐𝑖 est un vecteur d’ordre 𝑚 qui contient les données d’observations expérimentales. En notation matricielle, la fonction objectif s’exprime par la relation :

Φ(𝑝) = ( 𝑐− X𝑝) t Q ( 𝑐− X𝑝) (4.3)

avec 𝑄 la matrice diagonale (𝑚 x 𝑚) des pondérations, ayant comme éléments, le carré des poids 𝑤𝑖 attribués à chaque observation, et t l’opérateur transposé.

Dans le cas où l’opérateur 𝑋 est non linéaire il n’est pas possible de déterminer le minimum de la fonction objectif exprimée suivant la relation (4.3). La relation (4.1) peut être localement linéarisée en générant un ensemble d’observations 𝑐 correspondant au vecteur 𝑝, qui ne diffère que légèrement de 𝑝0, en utilisant une expansion de Taylor de la manière suivante (Carrera and Neuman, 1986) :

𝑐

= 𝑐0+

𝐽(

𝑝 − 𝑝0

)

(4.4)

où 𝐽 est la matrice Jacobienne de 𝑋, c’est-à-dire la matrice constituée de 𝑚 lignes (une pour chaque observation), les 𝑛 éléments de chaque colonne étant les dérivées de la 𝑚è𝑚𝑒 observation par rapport au 𝑛è𝑚𝑒 paramètre. Les éléments de la matrice sont appelés coefficient de sensibilité. La procédure d’estimation est dans ce cas réalisée par itérations successives à partir d’une valeur

15

Dans les versions ultérieures l’algorithme de Gauss-Marquart-Levemberg, implémenté dans PEST, avait été modifié.

initiale dans l’espace des paramètres 𝑝0, qui sera mis à jour à chaque nouvelle itération. Le choix du jeu initial de paramètres influe sur l’efficacité de l’algorithme.

La fonction objectif du modèle linéarisé s’exprime selon la méthode de moindres carrés par la relation suivante :

Φ = (𝑐− 𝑐0− J(𝑝 − 𝑝0)) t Q (𝑐− 𝑐0− J(𝑝 − 𝑝0)) (4.5) Le vecteur 𝑝 permettant de minimiser la fonction objectif Φ est donné par la relation :

𝑝 = 𝑝0+ 𝑢 (4.6)

où 𝑢 est le vecteur de modification des paramètres qui s’écrit selon la formule de Gauss-Newton de la manière suivante :

𝑢 = (J𝑡𝑄𝐽)−1J𝑡𝑄(𝑐− 𝑐0) (4.7)

Comme cette équation est basée sur un modèle linéarisé, il n’est pas possible d’obtenir directement une valeur de Φ minimale pour 𝑝0+ 𝑢. La valeur minimale de la fonction objectif Φ est atteinte par itérations successives, en modifiant progressivement le vecteur de paramètre 𝑝0 (cf. Figure 4-2).

Figure 4-2 : Processus de convergence itérative (5 itérations) vers une fonction objectif minimum pour un problème à deux paramètres (d’après (Doherty, 2005)).

Afin d’optimiser la minimisation de la fonction objectif Φ, il est nécessaire que le vecteur de modification des paramètres 𝑢 suive la direction de plus grande pente de la fonction objectif définie par son gradient.

4.3.2.2 Calcul du gradient de la fonction objectif

Le processus de convergence itérative vers la fonction objectif minimum est réalisé dans PEST à partir de l’algorithme de Gauss-Marquardt-Levemberg (GMLA). Cette méthode consiste à calculer la direction de descente de la fonction objectif à partir de la méthode des gradients. Le gradient de la fonction objectif dans l’espace de paramètre est désigné par le vecteur 𝑔. Il indique le sens de la plus grande variation de la fonction objectif. Le 𝑖è𝑚𝑒 élément du vecteur 𝑔 est défini comme :

𝑔𝑖 = 𝜕Φ 𝜕𝑝𝑖 (4.8)

𝒑

𝟎

𝒑

𝟏

𝒑

𝟐

X

X

X

X

X

X

𝒑

𝟑

𝒑

𝟒

𝒑

𝟓

Le vecteur 𝑔 est calculé par la méthode des sensibilités, nécessitant le calcul de la matrice Jacobienne suivant la relation :

𝑔 = −2J𝑡𝑄𝑟 (4.9)

avec 𝑟 = 𝑐− 𝑐0 le vecteur des résidus de l’ensemble de paramètres considéré. L’angle formé par le vecteur 𝑢 et l’inverse du vecteur 𝑔 ne peut pas être supérieur à 90°, sinon la modification des paramètres provoque une augmentation de la fonction objectif, c’est à dire l’inverse de ce que l’on recherche. Il est possible d’ajuster le vecteur 𝑢 dans la direction opposée au vecteur 𝑔, en introduisant le paramètre « Marquardt » . Le vecteur 𝑢 est alors modifié de la manière suivante :

𝑢 = (J𝑡𝑄J + 𝛼𝐼)−1J𝑡𝑄𝑟 (4.10)

où 𝛼 est le paramètre de « Marquardt », 𝐼 est la matrice identité (𝑛 × 𝑛) .

D’après les équations (4.9) et (4.10), il est clair que plus le paramètre 𝛼 est grand, plus la direction de 𝑢 se rapproche de celle de – 𝑔. Dans ce cas, la méthode GMLA se rapproche de la méthode des gradients. Cependant lorsque les paramètres sont fortement corrélés entre eux, la direction du vecteur 𝑢 est préférable à la direction du vecteur 𝑔 afin d’éviter le phénomène d’«Hemstitching » (cf. Figure 4-3). Par conséquent lorsque l’on s’approche de la valeur optimum de la fonction objectif, il est préférable d’utiliser des valeurs faibles du paramètre « Marquardt ».

Figure 4-3 : Phénomène d'"hemstitching" pour des paramètres fortement corrélés entre eux (Doherty, 2005).

4.3.2.3 Magnitude optimale et normation du vecteur 𝒖

Le paramètre « Marquardt » permet de faire pivoter le vecteur 𝑢 dans la direction favorable. Afin de rendre optimale la magnitude du vecteur 𝑢, un multiple de 𝑢 est ajouté à la relation suivante :

𝑝 = 𝑝0+ 𝛾𝑢 (4.11)

Le facteur multiplicatif 𝛾 le plus adapté à la convergence est calculé automatiquement à partir des composantes de la matrice Jacobienne et des poids accordés aux observations. Il permet de limiter la modification du vecteur de paramètre 𝑝0.

Pour de nombreux problèmes, le modèle implique des paramètres et observations de différentes natures et ordres de grandeurs. Pour améliorer la méthode d'un point de vue numérique, on utilise une matrice d'ajustement 𝑆 diagonale (𝑛 × 𝑛) définie par la relation :

𝑆 = (J𝑡𝑄J)−1/2 (4.12) Dans ce cas, le vecteur 𝑢 est calculé de la manière suivante :

𝑆−1𝑢 = ((JS)𝑡𝑄JS + 𝛼𝑆𝑡𝑆)−1(JS)𝑡𝑄𝑟 (4.13)

Cette définition est identique, d'un point de vue mathématique, à la précédente définition de 𝑢, mais elle est plus performante d'un point de vue numérique. On note 𝜆, la plus grande valeur de la matrice 𝛼𝑆𝑡𝑆, que l'on appellera par la suite le « Marquardt lambda », qui détermine l'importance de la composante suivant 𝑔 dans le calcul du vecteur 𝑢.