Vous êtes sur la page 1sur 39

CHAPITRE 1: Calcul numérique d’intégrales 1D

et 2D (méthode de Gauss).

1.1 Principe du polynôme d’interpolation- Les anciennes méthodes.

x
Soit à calculer ∫x0 1 f(x)dx sur le segment [x0,x1] . Le principe est de
construire un polynôme d’interpolation de f(x) et d’intégrer ce polynôme.
Le problème est de choisir un nombre de points d’interpolation optimum et
un emplacement optimum de ces points. La méthode de Gauss que nous
allons exposer dans la partie 1.2 répond à ces deux problèmes. Par contre,
les méthodes classiques que nous rappelons ci-après (sur un exemple que
nous reprendrons par la méthode de Gauss) utilisent des points
équidistants.

L’exemple en question est le suivant:

I = ∫ 01 f(x)dx avec: f(x) = (1+2x)1/2

Un calcul exact donne: I = 1.39872


x
La formule des Trapèzes: ∫x0 1 f(x)dx = h/2 (f(x0) +f(x1))
avec le pas h= x1 - x0 donne: I = 1.36603, donc une erreur E = 3.E-2
x
La formule de Simpson: ∫x0 2 f(x)dx = 2h/3 (f(x0) +4f(x1) + f(x2))
avec le pas h= x1 - x0 = x2 - x1 donne: I = 1.38209, donc une erreur E =
1.7E-2

A noter que dans ces méthodes, les points d’interpolation sont équidistants.
Les formules sont trouvées en remplaçant les calculs des intégrales par les
intégrales des polynômes d’interpolation passant par les points
d’interpolation. Dans le paragraphe suivant, on va comparer sur cet
exemple la formule de Simpson qui nécessite 3 évaluations de la fonction f
avec une méthode de Gauss à trois points qui elle aussi nécessite 3
évaluations de la fonction f.

1
1.2 La méthode de Gauss.

Il est à remarquer que c’est la méthode de calcul d’intégrales la plus


récente. La plupart des grands codes de calcul de structures par éléments
finis utilisent la méthode de Gauss, notamment pour le calcul des intégrales
permettant de déterminer les matrices de raideur et de masse.

Nous allons d’abord exposer cette méthode dans le cas 1D, et nous
allons montrer comment on détermine les points d’intégration et les
coefficients optimums de Gauss dans le cas de n= 2 points de Gauss.

La formule générale d’intégration de Gauss est toujours sur le


x
segment [-1, 1] , ce qui signifie que pour une intégrale du type ∫x0 1 f(x)dx
sur le segment [x0,x1], il faudra au préalable effectuer un changement de
variable. Cette formule d’intégration de Gauss (pour n=2) est la suivante:

∫-11 f(x)dx = Σ (i=1 à 2) H f(x ) = H f(x ) +H f(x )


i i 1 1 2 2

x1 et x2 sont les points d’intégration de Gauss, H1 et H2 les poids


d’intégration. Ces quantités sont optimisées en utilisant les critères et la
démarche suivante.

Cette formule est construite de telle sorte que dans le cas particulier
où f est un polynôme, elle permette d’intégrer exactement un polynôme de
degré 2n-1, c’est-à-dire dans le cas qui nous intéresse (n= 2), la formule
doit permettre d’intégrer exactement un polynôme de degré 3. Ce critère va
nous permettre de trouver les 4 coefficients inconnus et on verra dans les
exemples que la généralisation à des fonctions f quelconques est tout à fait
efficace (en tout cas beaucoup plus efficace que les méthodes classiques).

On a donc un polynôme de degré 3 à intégrer:

f(x)= a + b x + c x2 +d x3

l’intégration exacte donne:

∫-11 (a + b x + c x2 +d x3)dx = 2 a +2 c/3


Le calcul approché avec n = 2 points de Gauss donne:
∫-11 f(x)dx = H1 f(x1) +H2 f(x2) = H1 (a + b x1 + c x21 +d x31 )
+H2 (a + b x2 + c x22 +d x32)

d’où par identification:

2
H1+H2 =2
H1x1 +H2x2 =0
H1x12+H2x22 = 2/3
H1x13 +H2x23 =0

et les paramètres optimum:

H1 = H2 =1

x1 = - 31/2/3

x2 = 31/2/3

Exercice: déterminer la formule de Gauss à un seul point de Gauss (cacher


la solution ci-dessous et comparer votre résultat avec celui donné ci-
dessous):

Corrigé de l’exercice:

∫-11(ax + b)dx = 2 b = H1 (a x1+b) d’où: x1 =0 et H1=2

Les abscisses et poids des points de Gauss sont résumés dans le tableau ci-
dessous, dans les cas n=1, n=2 et n=3:
1
Formule de quadrature de Gauss: ∫-1 f(x)dx = Σ (i=1 à n) Hif(xi)

+ ou - xi Hi
n=1
0 2

n=2
1/2/
3 3 1

n=3
1/2
(3/5) 5/9
0 8/9

Exercice: exprimer la formule de Gauss dans le cas n=3 et retrouver les


valeurs des coefficients donnés dans le tableau ci-dessus.

Reprenons l’exemple de l’intégrale de la première partie:

3
I = ∫ 01 f(x)dx avec: f(x) = (1+2x)1/2

(Un calcul exact donne: I = 1.39872)

La méthode de Gauss nécessite en premier lieu un changement de variable


(très peu coûteux en temps de calcul):

I = ∫ -11 f(t)dt avec: f(t) = 1/2 (t+2)1/2

Utilisons une méthode de Gauss à trois points (pour pouvoir comparer avec
la formule de Simpson qui elle aussi utilise trois points).

I = 5/9 f(-√3/5) + 8/9 f(0) + 5/9 f(√3/5) = 1.3987313


soit une erreur E =1.E-5
qui est bien moindre que l’erreur E= 1.7E-2 constatée avec Simpson.
2 1
Exercices: calculer par Gauss les intégrales doubles ∫-2 ∫-1 f(x)dx
ci-dessous (chacune de ces intégrales peut s’exprimer comme le produit de
deux intégrales simples, les fonctions à intégrer étant séparables); on dira
en particulier avant les calculs si on a la valeur exacte ou pas, et on pourra
comparer la valeur obtenue avec la valeur exacte.

1) f(x)= x2y2 (n=2points)

2) f(x)= x2y4 (n=2)

3) f(x) = exey (n = 2 et n = 3)

Voici les réponses à ces exercices:

1) I= 32/9 (la solution exacte est confondue avec la solution approchée)

2) I= 32/27 (solution approchée)

3) I= 16.3437 (n =2)
I= 17.0271 (n =3)

Passons maintenant au calcul général d’une intégrale double


quelconque (avec des fonctions non séparables comme dans l’exemple
précédent) et sur un domaine quelconque qui n’est plus forcément
rectangulaire. Dans ce cas, il faut toujours commencer par faire une
discrétisation (ou découpage) du domaine quelconque en sous-domaines de
géométrie de base triangulaire ou de type quadrilatère (à noter que ce
découpage correspond à un maillage de type éléments finis, et que les sous-
domaines de base ou éléments doivent avoir des géométries régulières et ne
4
doivent pas être trop distordus sinon on risque d’avoir des problèmes de
précision numérique). L’intégrale double globale sera alors la somme des
intégrales doubles sur chaque sous-domaine discrétisé, et nous sommes
donc ramenés au calcul d’une intégrale double sur un sous-domaine de
base. Un exemple intéressant d’utilisation est le calcul des inerties
principales d’une poutre de section quelconque (voir TP).
Nous allons simplement le faire dans ce cours pour des sous-domaines
ou éléments de type quadrilatère. Le problème essentiel à résoudre est que
les formules de quadrature de Gauss sont données sur l’intervalle x
appartenant à [-1, 1], y appartenant à [-1, 1]. Comme on l’a fait en
dimension 1, il va donc falloir faire à nouveau un changement de variable
pour passer du sous-domaine en question (que l’on va désigner par la suite
sous le nom d’espace vrai) au rectangle de référence (x appartenant à [-1,
1], y appartenant à [-1, 1]). Evidemment, les formules de changement de
variable vont être plus complexes que dans le cas de la dimension 1
puisqu’elle font intervenir la matrice jacobienne et le déterminant jacobien
de la transformation géométrique ou bijection qui va permettre de faire le
changement de variable, c’est-à-dire d’associer le quadrilatère de l’espace
vrai au rectangle de l’espace de référence. Remarquons que tout ce qui est
expliqué ici pour des intégrales doubles peut-être étendu sans problème au
cas des intégrales triples. La figure ci-dessous résume assez bien la
situation et ce changement de variable (ou transformation géométrique)
entre le quadrilatère de l’espace vrai et le rectangle de l’espace de référence
(en variable dites réduites, µ et ß, chacune de ces variables variant entre -1
et 1):
y
3 ß

Bijection 3
4
4
µ
S

1 2 1 2
x

ESPACE VRAI ESPACE DE REFERENCE

La bijection que nous allons définir pour faire le changement de variable


doit associer l’espace vrai S au carré de l’espace de référence, et ceci point
par point; c’est ainsi par exemple que le point 1 de l’espace vrai (de
coordonnées x1, y1), doit être associé au point 1 de l’espace de référence

5
de coordonnées (µ = -1, ß = -1); de même, le point 3 de l’espace vrai (de
coordonnées x3, y3), doit être associé au point 3 de l’espace de référence
de coordonnées (µ = 1, ß = 1); de même, le centre de gravité du
quadrilatère vrai S sera associé par cette bijection au point (µ = 0, ß = 0)
de l’espace de référence.

Avant d’en venir à la formule de Gauss proprement dite et au changement


de variable, nous sommes maintenant en mesure de définir cette bijection.
Les formules vont être du type:

x(µ,ß)= a + b µ + c ß + d µ ß

Il y a 4 coefficients inconnus dans la formule puisque l’on a 4 conditions


pour les déterminer (correspondance des points 1, 2, 3, 4 de l’espace vrai
avec les points 1, 2, 3, 4 de l’espace de référence). On a une formule
similaire pour y(µ,ß). Le système de 4 équations à 4 inconnues pour
déterminer les 4 coefficients inconnus a, b, c et d est le suivante

x(-1,-1) = x1
x(+1,-1)= x2
x(+1,+1)=x3
x(-1,+1)= x4

Tous calculs faits (les calculs étant similaires pour y), on préfère présenter
ces formules de bijection sous la forme:

x = ∑ (i=1 à 4) Ni (µ,ß). xi
y = ∑ (i=1 à 4) Ni (µ,ß). yi

A noter que les fonctions Ni dont nous donnons les expressions ci-après (et
qui sont au nombre de 4) sont appelées fonctions de forme et aussi
fonctions d’interpolation (car on les retrouve aussi comme fonctions
d’interpolation dans la théorie des éléments finis, et ceci pour des éléments
finis de type Q4 -quadrilatère à 4 noeuds):

N1 =( 1-µ) (1- ß)/4

N2 =( 1+µ) (1- ß)/4

N3 =( 1+µ) (1+ ß)/4

N1 =( 1-µ) (1+ ß)/4

6
Revenons à Gauss. La première étape pour le calcul de l’intégrale double
sur le quadrilatère de référence S est le changement de variable dont la
formule est la suivante:

I= ∫∫ f(x,y)dxdy = ∫-11 ∫-11 f(µ,ß) det(J(µ,ß)) dµdß


intégrale où l’on a remplacé x et y par leurs expressions en fonction de µ
et ß et où det(J(µ,ß)) est le déterminant de la matrice jacobienne de la
transformation géométrique. L’expression de cette matrice jacobienne est
la suivante:

( ∂x / ∂µ ∂y / ∂µ )
( ∂x / ∂ß ∂y / ∂ß )

On peut ensuite appliquer la formule de Gauss qui, pour une intégrale


double, va consister en une double sommation sur les points de Gauss
(pour une intégrale triple, les calculs sont similaires et conduisent à une
triple sommation sur les points de Gauss):

I = ∑ (i=1 à n) ∑ (j=1 à n) Hi Hj g(µi , ß j)

où la fonction g est le produit (f x det) et est à évaluer en chacun des n x n


points de Gauss.

Nous allons donner, pour finir ce chapitre, 2 exemples de calcul, dont le


premier (calcul de surface) va nous permettre de mettre en valeur une
propriété intéressante qui vous permettra de vérifier certains de vos calculs.

En effet, dans le cas où f =1, l’intégrale double nous donne le calcul de


la surface; et d’après nos explications en début de chapitre, 1 seul point de
Gauss dans chaque direction (1x1 point de Gauss) permet donc d’avoir le
calcul exact de la surface (n points de Gauss permettent de faire le calcul
exact pour un polynôme de degré 2n-1). Donc pour une surface quelconque
S, les formules précédentes deviennent:

S= ∫∫ dxdy = ∫-11 ∫-11 det(J(µ,ß)) dµdß = H 1 H1 det (µ1, ß 1)

soit, puisque le poids et l’abscisse du point de Gauss dans le cas où n = 1


sont respectivement 2 et 0:

S = 2 x 2 det (0, 0) = 4 det (0, 0)

d’où le théorème très intéressant qui vous permettra de vérifier vos calculs
de jacobien dans vos applications et lors des examens par exemple:
7
La surface du quadrilatère de l’espace vrai est égal à 4 fois la valeur
du déterminant du jacobien au point (0,0).

Prenons une application numérique:

Le quadrilatère S est délimité par les points:

(x1, y1) = (0,0)


(x2, y2) = (2,0)
(x3, y3) = (1,4)
(x4, y4) = (0,2)

Les formules de transformation géométrique:

x = ∑ (i=1 à 4) Ni (µ,ß). xi
y = ∑ (i=1 à 4) Ni (µ,ß). yi

se réduisent ici à (avec les défintions des fonctions Ni données plus haut):

x = 2 N2 + N3
y = N3+ 2 N4

après calcul des dérivées et application au point (0,0), la matrice jacobienne


en (0,0) a pour expression:

J(0,0)= (3/4 1/2)


(-1/4 3/2)

d’où le résultat final: S = 5

Autre exemple:

Calcul de I= ∫∫ f(x,y)dxdy avec f(x,y) = y ex


sur le quadrilatère délimité par les points:

(x1, y1) = (0,0)


(x2, y2) = (10,0)
(x3, y3) = (20,10)
(x4, y4) = (0,10) avec un seul point de Gauss puis 2X2 points de Gauss

Les formules de transformation géométrique se réduisent à:

x = 5/2 (1 + µ ) (3 + ß )
8
et: y = 5(1 + ß )

après calcul des dérivées, le déterminant de la matrice jacobienne a pour


expression:

detJ = 25/2 (3 + ß )

et pour un seul point de Gauss, on trouve: I= 1356031

pour 2 x 2 points de Gauss, la formule va s’écrire:

x1 = - √3/3

x2 = √3/3

I = 1 x 1 g (- √3/3, - √3/3) + 1 x 1 g (+ √3/3, - √3/3)


+1 x 1 g (+ √3/3, + √3/3) +1 x 1 g (- √3/3, + √3/3)

avec g (µ, ß) = detJ (µ,ß) y(µ,ß) ex(µ,ß)

nous n’avons pas eu le courage de faire l’application numérique. S’il y a


des lecteurs courageux, qu’ils communiquent le résultat à l’auteur.

CHAPITRE 2: Résolution approchée des


équations différentielles et des systèmes
d'équations aux dérivées partielles; méthodes
locales et méthodes globales (méthode des résidus
pondérés de Galerkin)
9
Nous allons présenter dans ce chapitre la résolution approchée des
équations différentielles et des systèmes d'équations aux dérivées partielles.
Nous allons distinguer les méthodes locales des méthodes globales (la
méthode essentielle que nous présenterons dans ce dernier cas est la
méthode des résidus pondérés de Galerkin).

Les méthodes locales résultent d’un développement limité en un point


particulier du domaine d’intégration. On intégre alors l’équation de point
en point. Pour les méthodes globales, on intuite une solution paramétrée
(dépendant d’un certain nombre de paramètres) valable globalement sur
l’ensemble du domaine d’intégration. Il suffit alors d’optimiser ces
paramètres pour que la solution approchée soit la plus proche possible de la
solution exacte.

Pour plus de clarté dans la suite de cet exposé, nous présenterons ces
différentes méthodes sur un exemple commun et détaillé, après avoir donné
les quelques généralités qui suivent.

1. Méthode locale de Taylor.

En ce qui concerne les méthodes locales d’abord, nous nous limiterons à


une seule méthode, à savoir la méthode de Taylor, qui permet de
comprendre les bases des autres méthodes locales si on a un jour à les
utiliser.

La méthode locale de Taylor d’ordre 2 que nous présentons consiste à


choisir sur le segment d’intégration [x0,x1] un certain nombre de points
d’intégration séparés par un pas constant h, puis à progresser d’un point xp
à un autre point xP+1 par une formule de récurrence qui est en fait une
formule de développement limité d’ordre 2:

y(xP+1) = y(xp ) + h y’(xp ) + h2/2 y’’ (xp )

C’est ainsi qu’à partir du point initial limite y(x0) = y0 , on peut déterminer
le point suivant et ainsi de suite. Nous détaillerons cette méthode sur
l’équation d’ordre 2 qui suivra.

2. Méthode globale des résidus pondérés de Galerkin

Présentons maintenant les principes de la méthode globale des résidus


pondérés de Galerkin (signalons que la méthode globale bien connue des
éléments finis en est une méthode dérivée).

10
Soit à résoudre l’équation générale: L(y) =f sur un domaine S avec des
conditions aux limites en nombre suffisant. L est un opérateur différentiel
quelconque (par exemple l’opérateur dérivée seconde). y est la fonction
inconnue.

Cette méthode globale consiste d’abord à construire une solution


approchée y* de la solution y, et dépendant d’un certain nombre de
paramètres. Le plus souvent la solution approchée sera sous forme
polynômiale, et les paramètres seront les coefficients inconnus du
polynôme. On fera d’ailleurs en sorte que le polynôme choisi respecte dès
le départ les conditions aux limites. Remarquons aussi que ce qui
différencie cette méthode globale de la méthode locale exposée plus haut,
c’est que la solution approchée sera alors disponible en tout point du
domaine.

Si on injecte la solution approchée y* dans l’équation de départ L(y) =f,


on aura évidemment:

L(y*) ≠ f

L’erreur commise va être mesurée par le résidu:

R = L(y*) -f avec R ≠ 0

On verra par la suite que le fait d’écrire simplement que le résidu R doit
être nul ne nous permettra en aucun cas de remonter au calcul des
paramètres inconnus du problème, car quand on dérive la solution d’essai
y* dans l’opérateur, on perd automatiquement l’information sur certains
coefficients. Il faut donc trouver un autre critère, car il s’agit en fait
d’optimiser les paramètres inconnus de la fonction d’essai y* pour que
l’erreur commise soit la plus faible possible.

S’il s’agit d’un problème de mécanique du solide, on a un critère tout


trouvé qui est la minimisation de l’énergie potentielle totale. On sait en
effet que la solution optimale « de la nature » à l’équilibre correspond à un
minimum de l’énergie potentielle totale; dans ce cas, il suffit d’injecter la
fonction d’essai y* dans l’expression de cette énergie potentielle totale
évaluée globalement sur le domaine S, et de faire une minimisation de cette
énergie potentielle totale par rapport aux paramètres de la fonction d’essai
y*. C’est le principe de base de la méthode des éléments finis en calcul des
structures. Pour la méthode des éléments finis, on utilise des polynômes
comme fonction d’essai; l’énergie potentielle totale est alors une forme
quadratique des coefficients de ces polynômes; l’optimisation de ces
coefficients s’en trouve alors facilitée.

Dans le cas général, la méthode consiste aussi à optimiser les paramètres


11
pour minimiser le résidu R. Mais comme nous l’avons déjà précisé (et on
le verra dans les exemples), on ne peut pas la faire directement; nous allons
donc exposer ici un théorème issu d’une théorie assez complexe qui est le
calcul variationnel et que nous ne pourrons pas démontrer ici car cela
dépasse le cadre de ce cours qui se veut avant tout pratique.

Ce théorème issu du calcul variationnel est le suivant:

pour toute variation ∂y* de la fonction d’essai (obtenue en faisant varier les
paramètres ou coefficients du polynôme d’essai):

faire tendre le résidu R vers 0 est logiquement équivalent à:

∫S R ∂y* dS = 0
Nous verrons la traduction de ce principe sur l’exemple qui va suivre. Il
s’agit du principe du résidu pondéré de Galerkin. On constate en effet que
nous avons une nouvelle intégrale globale à calculer dans laquelle le résidu
R est pondéré par la variation ∂y*. Passons maintenant à l’exemple
d’application pour éclaircir toutes ces méthodes, y compris la méthode
énergétique citée plus haut.

3. Exemple détaillé pour illustrer ces méthodes

L’exemple en question est le suivant:

y’’ = -a x sur le segment [0,2L] (a et L sont positifs) avec les conditions


aux limites suivantes: y’(2L) = 0 et y(0) = 0.

On verra à la fin de ce chapitre que cette équation est issue d’un problème
de mécanique précis, ce qui nous permettra de mettre en oeuvre la méthode
énergétique dont il est question plus haut.

Bien sûr, cette équation est facilement intégrable et admet une solution
exacte, mais nous nous défendons dans la suite de l’intégrer à n’importe
quel moment que ce soit.

La solution exacte (qui nous sert de référence) donne:

y(L) = 11/6 a L3 et: y(2L) = 16/6 a L3

Commençons par la méthode de Taylor du second ordre avec un pas h = L:

le développement limité de Taylor du second ordre pour y nous donne,


compte tenu de la condition à la limite y(0)

12
entre 0 et L : y(L) = L y’(0) + L2/2 y’’(0)

et entre L et 2L: y(2L)= y(L)+Ly’(L) + L2/2 y’’(L)

de plus, en utilisant l’équation différentielle y’’ = -ax,


on a: y’’(0)=0 et y’’(L)=-aL.
Il subsiste néanmoins quatre inconnues, à savoir y(L), y(2L) et les dérivées
y’(0) et y’(L), et l’on rappelle que l’on ne s’accorde pas le droit d’intégrer
l’équation différentielle, ne serait-ce qu’une fois. D’où la nécessité
d’introduire (comme il l’a été exposé au début de ce chapitre) une fonction
inconnue auxiliaire: y2 = y’ pour laquelle on écrit à nouveau les
développements limités:

entre 0 et L : y2(L) = y2(0)+ L y2’(0) + L2/2 y2’’(0)

et entre L et 2L: y2(2L)= y2(L)+Ly2’(L) + L2/2 y2’’(L)

Par contre, on a le droit de dériver l’expression de l’équation différentielle,


ce qui nous permet de calculer
y2’(0) = y’’(0) =0 (du fait que y2 = y’)
y2’’(0) = y’’’(0) = -a
y2’(L) = y’’(L) = -aL
y2’’(L) = y’’’(L) = -a

de plus, la condition à la limite: y’(2L) =0 nous donne y2(2L) =0

De ce fait, les deux équations supplémentaires précédentes nous donnent


deux conditions supplémentaires sur y’(0) (en fait y2(0)) et sur y’(L) (en
fait y2(L)). On a donc maintenant quatre équations pour déterminer les
quatres inconnues à savoir y(L), y(2L) et les dérivées y’(0) et y’(L). La
résolution donne:

y(L) = 2 a L3 et: y(2L) = 3 a L3 ce qui n’est pas très bon si l’on


compare à la solution exacte donnée plus haut. Il faudrait alors prendre des
pas plus fin. Remarquons que la méthode de Taylor, aussi bien que la
méthode des résidus pondérés et la méthode énergétique que nous allons
maintenant exposer sur ce même exemple conduisent toujours en fin de
compte à des systèmes d’équations linéaires; en éléments finis (sous-
méthode de la méthode des résidus pondérés de Galerkin), on peut
atteindre plusieurs milliers d’inconnues, d’où l’importance des techniques
numériques qui seront exposées dans le chapitre 3 suivant pour résoudre
ces systèmes. Evidemment les formules mathématiques d’inversion de
matrice deviennent pour ces systèmes proprement inopérantes.

Pour le moment, revenons à notre exemple avec une méthode des résidus
pondérés de Galerkin.
13
Pour les besoins de cet exposé, nous prenons un polynôme simple du
premier degré: y* = b x (nous omettrons par la suite le * de la fonction
d’essai). Ce polynôme respecte la condition à la limite: y(0) =0, mais ne
respecte pas la condition à la limite y’(2L) =0, ce qui n’est pas obligatoire.
Le principe des résidus pondérés de Galerkin nous donne:

pour toute variation ∂y de la fonction d’essai (obtenue en faisant varier les


paramètres ou coefficient du polynôme d’essai , c’est-à-dire, pour toute
variation ∂b):

faire tendre le résidu R vers 0 est logiquement équivalent à:

∫02L R ∂y dx = 0
Ici: R = y’’ + a x et ∂y = x ∂b.

On a donc:

pour tout ∂b: ∫02L (y’’+ax) x ∂b dx = 0

le ∂b étant indépendant de x, il sort de l’intégrale et l’égalité devant être


vraie quel que soit ∂b, il reste:

∫02L (y’’+ax) x dx = 0 On constate donc que le ∂b a disparu de la


formulation.L’opération finale va consister à injecter dans cette expression
la fonction d’essai définie au départ; on va alors s’orienter vers une
équation à une seule inconnue b (dans le cas où au départ on aurait choisi
une fonction d’essai polynômiale de degré plus élevé que le degré un, on
s’orienterait vers un sytème d’équations à plusieurs inconnues dont les
inconnues seraient les coefficients du polynôme).

Les termes constants (qui ne dépendent pas du paramètre b) vont passer à


droite et constituer le second membre de l’équation que l’on va écrire sous
la forme: K b = F.

Le second membre vaut donc: F = - ∫02L ax2dx, ce qui est facile à calculer.
Par contre, la partie K b qui est issue de ∫02L y’’xdx après injection (en
principe) dans l’intégrale de y = bx pose un gros problème car la dérivée
seconde est nulle! On dit dans ce cas là que l’on perd l’information (ici on
perd tout!); la technique pour s’en sortir consiste à faire une intégration par
partie de ∫02L y’’xdx pour abaisser l’ordre de dérivation; on dit aussi que
l’on équilibre l’ordre d’intégration. Cette technique d’intégration par

14
partie sera indispensable chaque fois que l’on perdra de l’information
sur la fonction d’essai en tentant de l’injecter dans le principe des
résidus pondérés de Galerkin.

Nous rappelons la formule d’intégration par parties:

∫ fg’ = -∫ f’g + [fg]


formule que nous appliquons ici avec f = x et g = y’

Le membre de gauche devient donc:

∫02L y’’xdx = - ∫02L y’dx + [xy’]


Le terme entre crochets disparaît du fait de la condition à la limite y’(2L)
=0 et il reste pour le membre de gauche - ∫02L y’dx qui va bien s’écrire sous
la forme annoncée K b après injection de y’ = b et intégration.

Tous calculs faits, on trouve que le coefficient b optimum est b = 4/3a L2

et on a: y(L)= 4/3 aL3 et y(2L) = 8/3 aL3 . On constate la concordance de


y(2L) avec la solution exacte et la précision remarquable de la méthode,
même avec un polynôme du premier degré qui ne vérifiait même pas les
deux conditions aux limites.

4. La méthode des différences finies.

Nous terminons maintenant ce chapitre par la présentation sur un


exemple d’une méthode locale en dimension 2 qui s’appelle la méthode des
différences finies et qui a tendance a tomber en désuétude au profit de la
méthode globale des éléments finis qui se révèle plus performante.

L’exemple en question est une équation courante en mécanique et en


thermique. Soit à intégrer:

∆w = T où ∆ est le Laplacien, T une constante et w(x,y) la fonction


inconnue. Le domaine d’intégration est un carré, et les conditions aux
limites sont: w(x,y) = 0 sur tout le bord du carré.

La première étape de la méthode consiste à faire des développements


limités de Taylor au second ordre de la fonction w suivant x et y:

w(x- ∆x, y) =w(x,y) - ∆x ∂w/∂x + ∆x2/2 ∂2w/∂2x

15
w(x+ ∆x, y) =w(x,y) + ∆x ∂w/∂x + ∆x2/2 ∂2w/∂2x

On écrit les mêmes relations suivant y.

Par sommation des relations suivant x, on obtient:

2∆x2/2 ∂2w/∂2x = w(x+ ∆x, y) + w(x- ∆x, y) -2w(x,y)

suivant y:

2∆y2/2 ∂2w/∂2y = w(y+ ∆y, x) + w(y- ∆y, x) -2w(x,y)

par sommation des deux relations précédentes et en supposant que


∆x = ∆y, on obtient une formule de récurrence du type:

∆x2 ∆w = w(x+ ∆x, y) + w(x- ∆x, y) -4w(x,y) + w(y+ ∆y, x)


+ w(y- ∆y, x)

et comme ∆w = T, on a donc une formule de récurrence en croix qui


permet d’évaluer w(x,y) en fonction des quatre valeurs voisines w(x+ ∆x,
y), w(x- ∆x, y), w(y+ ∆y, x) et: w(y- ∆y, x). Appliquons cette relation de
récurrence au cas d’un maillage local simple:
x x x x x

x x x x x
w1 w2 w3

x x x x x
w4 w5 w6

x x x x x
w7 w8 w9

x x x x x

On applique alors 9 fois la formule de récurrence (en tenant compte de la


condition limite nulle sur le pourtour) pour obtenir le système de 9
équations à 9 inconnues suivant que l’on n’a plus qu’à résoudre par l’une
des techniques exposées dans le chapitre suivant:

-4 1 0 1 0 0 0 0 0 w1 = T ∆x2

1 -4 1 0 1 0 0 0 0 w2 = T ∆x2

16
0 1 -4 0 0 1 0 0 0 w3 = T ∆x2

et ainsi de suite ...

CHAPITRE 3: Résolution des systèmes


d’équations linéaires.
Il s’agit ici de résoudre le système matriciel linéaire suivant, d’ordre
n:

K U = F où K est une matrice carrée n x n non singulière (det K non nul),


U la matrice colonne des inconnues (de dimension n) et F la matrice
colonne second membre (de dimension n). A noter que ce système peut-
être le système matriciel final à résoudre dans la cas de l’utilisation d’une
méthode de type éléments finis pour un problème de mécanique linéaire
statique; à noter aussi que d’une manière générale les méthodes
d’intégration d’équations différentielles ou de systèmes d’équations aux
dérivées partielles présentées dans le chapitre 2 se ramènent en fin de
compte à la résolution d’un tel système matriciel.
En éléments finis, il n’est pas rare d’avoir des systèmes matriciels avec
plusieurs milliers d’inconnues. Pour ces types de problèmes, les techniques
mathématiques de calcul de déterminant et d’inversion de matrices se
révèlent très vite totalement inopérantes car elles conduisent à un nombre
d’opérations prohibitif, les erreurs d’arrondis s’accumulant et conduisant à
des résultats sujets à caution. C’est pour cela que l’utilisation de méthodes
numériques approchées performantes et optimisées en terme de temps de
calcul sont indispensables.

Il existe essentiellement deux catégories de méthodes:

a) les méthodes directes qui conduisent à la solution en un nombre


d’opérations connu a priori

b) les méthodes itératives qui conduisent à la solution par une succession


d’améliorations d’une solution approchée, le nombre d’itérations
nécessaire étant difficile à prévoir et dépendant de la structure de la matrice
K.

La grande majorité des programmes actuels par éléments finis utilise des
méthodes directes dérivées de la méthode d’élimination de Gauss car celle-
ci donne moins d’opérations.

3.1 Méthode d’élimination de Gauss.


17
Cette méthode se déroule en deux étapes:
a) la triangularisation

b) la résolution du système triangulaire supérieur.

3.1 Triangularisation

K11 K12 ..........K1n U1 F1


K21 K22 ..........K2n U2 F2
.............................. =

Kn1 Kn2 Knn Un Fn

On élimine successivement les inconnues Ui (i =1,2 .....n-1)


dans les équations i+1 à n:
- exprimer Ui en fonction de Ui+1, Ui+2, ... Un et Fi en utilisant l’équation
i
- reporter l’expression de Ui précédente dans les équations i+1, i+2, ...n.

Après élimination de Ui, cette inconnue n’apparaît plus dans les


équations i+1 à n; il y a des 0 dans la colonne i sous la diagonale.
Après élimination des inconnues U1 à Un-1, la matrice K est
triangulaire supérieure: il n’y a que des 0 sous la diagonale principale. Le
second membre est modifié, ce qui est le désavantage principal de la
méthode car en éléments finis par exemple, le second membre correspond
au chargement et il est fréquent de s’intéresser à plusieurs cas de
chargement pour une même structure mécanique.

Exemple: triangularisation de:


2 4 8 U1 34
4 11 25 U2 = 101
6 18 46 U3 180

U1= 34/2 -4/2 U2 -8/2 U3

après élimination de U1, on obtient:

2 4 8 U1 34
0 3 9 U2 = 33
0 6 22 U3 78

après élimination de U1 et U2:

2 4 8 U1 34
18
0 3 9 U2 = 33
0 0 4 U3 12

La résolution du système triangulaire supérieur par substitution arrière ne


pose aucun problème.

L’algorithme ne fonctionne plus si au cours de la triangularisation le pivot


Kss est nul. Il faut alors échanger la ligne s avec une ligne i > s telle que
Kis soit non nul.

Si, lorsque Kss =0, tous les termes Ksi (i<s) ou tous les termes Kis (i>s)
sont nuls, cela veut dire que la matrice est singulière; le système ne peut
être résolu (cela donne lieu à un message d’erreur dans les codes éléments
finis de type ‘pivot nul’).

Donnons une propriété intéressante: le déterminant de K est le produit des


termes diagonaux de la matrice triangulaire.

Autre exemple:

recherche du pivot non nul de:

0 4 8 U1 2
4 0 6 U2 = 4
8 6 0 U3 12

Le premier pivot étant nul, on échange (permute) la première et la


deuxième ligne:

4 0 6 U1 4
0 4 8 U2 = 2
8 6 0 U3 12

On peut alors éliminer U1 et continuer.

Après élimination de U1 et U2, on trouve:

4 0 6 U1 4
0 4 8 U2 = 2
0 0 -24 U3 1

Remarquons que le déterminant de K est: 4 x 4 x (-24) = -384

La résolution du sytème triangulaire supérieur par substitution arrière ne


pose aucun problème.

19
3.2 Méthode de triangularisation de Gauss avec stratégie de pivot total.

Pour limiter les erreurs d’arrondi en machine, il peut être intéressant de


travailler à chaque étape en sélectionnant le pivot le plus grand possible,
ceci au prix d’échanges de lignes ou (et) de colonnes, opérations qui ne
sont pas coûteuses car elles ne nécessitent pas de temps de calcul.
Développons cette technique sur un exemple:

Soit à résoudre:

1 0 2 x1 1
-1 3 8 x2 = 2
0 -9 -4 x3 3

Le pivot maximum (en valeur absolue) est -9. Il faut ramener ce pivot maxi
en première ligne- première colonne par des permutations de lignes et de
colonnes adéquates. La permutation de la première ligne et de la troisième
ligne conduit à:

0 -9 -4 x1 3
-1 3 8 x2 = 2
1 0 2 x3 1

La permutation première colonne- deuxième colonne conduit à:

-9 0 -4 x2 3
3 -1 8 x1 = 2
0 1 2 x3 1

La première étape du processus de triangularisation conduit à:

-9 0 -4 x2 3
0 -1 20/3 x1 = 3
0 1 -2 x3 1

Le pivot maxi de la partie qu’il reste à triangulariser vaut 20/3. On le


ramène en deuxième ligne-deuxième colonne par un échange de la
deuxième colonne et de la troisième colonne:

-9 -4 0 x2 3
0 20/3 -1 x3 = 3
0 2 1 x1 1

20
D’où le système triangularisé final:

-9 -4 0 x2 3
0 20/3 -1 x3 = 3
0 0 13/10 x1 27/10

3.3 Décomposition:

Les techniques numériques de triangularisation de Gauss que


nous venons d’exposer sont en fait surtout utilisées dans les codes de calcul
éléments finis. Rappelons que ces techniques sont indispensables car les
formules mathématiques de calcul de déterminant de matrices et
d’inversion de matrices sont impossibles à programmer et à mettre en
oeuvre dès lors que le nombre d’inconnues ou degrés de libertés devient
supérieur à 10. Cependant les techniques de triangularisation de Gauss,
telles que nous venons de les expose présentent un inconvénient majeur: si
le système matriciel doit être résolu pour plusieurs seconds membres
différents (ce qui est souvent le cas en éléments finis quand on a plusieurs
cas de charge différents pour une même structure mécanique), il faut refaire
à chaque fois le processus entier, ce qui peut se révéler prohibitif au niveau
du volume du calcul. C’est pour cela que nous présentons ici une technique
de décomposition de la matrice du premier membre une fois pour toutes
sous forme d’un produit de deux matrices triangulaires, le second membre
restant le même.

Pour ce faire, on va reformuler matriciellement les opérations de Gauss


qui transforment K en une matrice triangulaire supérieure . Ceci va
permettre:

1) de montrer que la matrice K peut s’écrire sous la forme:

K=LS

où L est une matrice triangulaire inférieure à termes diagonaux valant 1, et


S est la matrice triangulaire supérieure obtenue par l’élimination classique
de Gauss.

2) de faire séparément les opérations qui portent sur K et F pendant


l’élimination. Ceci va permettre (comme nous l’avons indiqué en
introduction de ce paragraphe) de résoudre successivement le système avec
plusieurs seconds membres différents.

Avant de revenir en détail sur la décomposition appelée ‘décompostion


LS’, voyons la procédure de résolution de ce système.
21
3.3.1 Procédure de résolution:

Le système initial K U = F devient (après décomposition LS de la


matrice K):
LS U = F

Ce système se résoud en deux étapes:

1) calcul d’une solution intermédiaire U’ par résolution du système


triangulaire inférieur:

L U’ = F

2) en identifiant au système initial LS U = F, on constate alors que:

S U = U’

Donc la solution finale cherchée U sera obtenue par résolution de ce


deuxième système triangulaire supérieur.

3.3.3. Cas particulier: décomposition de Cholesky:

Dans le cas particulier où K est à la fois symétrique et définie positive, ce


qui est le cas des matrices raideurs K obtenues dans les calculs par
éléments finis, alors la décomposition LS s’écrit:

K= Tt T avec T matrice triangulaire supérieure (Tt matrice transposée de


T, donc triangulaire inférieure), et la résolution du système matriciel
associé se fait aussi en deux étapes comme dans le cas de la décomposition
LS.

Rappelons qu’une matrice définie positive est une matrice K telle que
pour tout X: Xt K X > 0, ce qui est le cas de la matrice raideur éléments
finis car l’énergie de déformation U (qui est > 0) s’écrit comme une forme
quadratique des déplacements aux noeuds X du maillage:

U = 1/2 Xt K X

Développons la méthode de Cholesky sur un exemple en dimension 2:

AX=B

avec A= a11 a12


a12 a22

22
Le résultat de la décomposition de Cholesky donne:

Tt T = t11 0 t11 t12 = t112 t11 t12


t12 t22 0 t22 t11t12 t222+t122

d’où t11 = √(a11)

t12 = a12 / √(a11)

et t222 = a22 -t122

La résolution se fait en deux temps comme dans le cas d’une


décomposition LS:

résolution du système intermédiaire: Tt B’ = B


puis résolution du système final: TX = B’

Exemple:

Soit à résoudre:

1 -3 x1 = 4
-3 25 x2 -2

On trouve:

T = 1 -3
0 4

résolution du premier système:

1 0 b’1 = 4
-3 4 b’2 -2

résolution du second système:

1 -3 x1 = 4
0 4 x2 5/2

CHAPITRE 4: Résolution des systèmes


d’équations non linéaires.
Il s’agit dans ce chapitre de résoudre le système non linéaire suivant:

23
K(U) U = F(U)

A noter que la matrice K et le second membre F dépendent de la solution


U. Pour plus de clarté dans la suite de l’exposé, on supposera que seule K
dépend de U.

En mécanique, deux types de non-linéarités peuvent exister, et même


coexister:

- Les paramètres physiques supposés indépendants de U dans un modèle


linéaire (exemple le module d’Young E) deviennent des fonctions de U.
C’est le cas par exemple de la plasticité.

- Des termes non-linéaires peuvent apparaître dans les équations aux


dérivées partielles dus à la prise en compte des grands déplacements ou
grandes déformations.

Dans la méthode des éléments finis, le système matriciel obtenu s’écrit


sous la forme:

K(U) U =F

ou bien: R(U) = F - K(U) U =0

4.1 Méthode de substitution:

Les méthodes de résolution sont toutes itératives et consistent à


construire une suite de solutions convergeant vers une estimation de la
solution finale. Avant d’exposer la méthode principale de Newton-
Raphson, nous allons exposer la méthode de substitution, peu performante,
mais qui permettra de comprendre plus facilement la suite.

Cette méthode consiste à construire une suite de solutions U0, U1, Ui

Ui est calculée à partir de Ui-1 en résolvant le sytème linéaire:

K(Ui-1) Ui = F i= 1, 2, 3 (1)

Ce que l’on préfère écrire sous forme incrémentale en introduisant le résidu


Ri:

Ri = R(Ui-1) = F - K(Ui-1) Ui-1

L’équation (1) devient:

24
K(Ui-1) Ui = Ri + K(Ui-1)Ui-1

Soit la formule de récurrence incrémentale:

K(Ui-1). ∆Ui = Ri (2)

avec Ui = Ui-1 + ∆Ui

C’est l’expression (2) qui est plutôt utilisée dans l’algorithme pour les deux
raisons suivantes:

- on préfère évaluer les termes correctifs successifs ∆Ui à rajouter à la


solution initiale, d’autant plus que l’on peut ainsi contrôler la convergence
du processus (les ∆Ui doivent tendre vers 0)

- de plus, dans cette procédure, on évalue aussi les résidus Ri qui doivent
tendre vers 0 au cours du processus.

Cette méthode peu sophistiquée ne converge pas forcément, et si tel


est le cas, la convergence est plutôt lente.

Nous donnons ci-dessous un exemple en dimension 1 sur un ressort non


linéaire:

k U = F avec k = 1-U et F= 0.2

(la solution exacte est U= 0.2764)

Nous donnons ci-après un tableau de la convergence pour les 4 premières


itérations, en partant de la solution initiale U0 = 0, avec les différents
paramètres qui permettent de contrôler la convergence:

itération Ui-1 K Ri ∆Ui Ui

1 0 1 0.2 0.2 0.2


2 0.2 0.8 0.04 0.05 0.25
3 0.25 0.75 0.0125 0.0167 0.2667
4 0.2667 0.733 0.0044 0.006 0.2727

4.2 .Méthode de Newton-Raphson:

Cette méthode est la plus connue et est autrement plus performante


que la méthode de substitution.

25
Supposons qu’à l’itération i-1 nous ayons obtenu une approximation
Ui-1 de la solution telle que le résidu ne soit pas nul:

R(Ui-1) = F - K(Ui-1) Ui-1 non nul (3)

à l’itération i, nous cherchons une approximation Ui de la solution telle


que:

R(Ui) = R(Ui-1 + ∆Ui) =0

L’algorithme de base de Newton-Raphson est obtenu en développant ce


résidu en série de Taylor au voisinage de Ui-1:

R(Ui-1 + ∆Ui) = R(Ui-1) + (∂R/∂U)U=Ui-1∆Ui = 0

(et ceci en négligeant les termes d’ordre supérieur à 1)

Soit: - (∂R/∂U)U=Ui-1∆Ui = 0 = R(Ui-1)

Soit en posant: Kt = - ∂R/∂U (Kt s’appelle la matrice tangente),

on obtient l’algorithme: Kt (Ui-1) . ∆Ui = R(Ui-1)

avec Ui = Ui-1 + ∆Ui

Calcul de Kt:

en utilisant l’expression du résidu:

Kt(U) = - ∂R/∂U = K(U) + ∂K/∂U . U

(en supposant F indépendant de U).

Reprenons le même exemple du ressort non linéaire utilisé déjà pour la


méthode de substitution avec K = 1-U

alors Kt = 1 - 2U

itération Ui-1 Kt K Ri ∆Ui Ui

1 0 1 1 0.2 0.2 0.2


2 0.2 0.6 0.8 0.04 0.0667 0.2667
3 0.2667 0.46 0.73 0.004 0.0095 0.2762

26
On remarque que la convergence est bien meilleure qu’avec la méthode
de substitution. Ri et ∆Ui tendent vers 0.

Terminons ce chapitre par un exemple en dimension 3:

Soit à résoudre par Newton-Raphson:

1 u12 u2 0 u1 2
u1u22 1 0 u2 = 2
0 0 u3+1 u3 2

le point de départ est: u1= u2 =u3 = 2

la solution exacte est: u1= u2 =u3 = 1

Expression de la raideur tangente Kt:


Si on désigne par A, B et C les composantes de la matrice colonne
repésentant le vecteur résidu R, alors la matrice Kt a pour expression:

∂A/∂u1 ∂A/∂u2 ∂A/∂u3

Kt = - ∂B/∂u1 ∂B/∂u2 ∂B/∂u3

∂C/∂u1 ∂C/∂u2 ∂C/∂u3

(attention au signe moins devant Kt ! )

tous calculs faits, on trouve:

2 u1u22 +1 2 u12 u2 0
Kt = 2 u1u22 1+2 u12 u2 0
0 0 2u3+1

la première itération donne:

u1= u2 = 1.5151 et: u3 = 1.2

la deuxième itération donne:

u1= u2 = 1.194 et: u3 = 1.012

CHAPITRE 5: Optimisation.
27
Il s’agit ici de traiter le problème de la minimisation d’une fonction
soumise à des limitations ( ou avec contraintes d’optimisation).

5.1 Problème général:

Il faut trouver le minimum de f(x1, x2, ....xn)

soumis aux limitations:

gi(x1, x2, ....xn) < 0


hj(x1, x2, ....xn) =0

f s’appelle la fonction objectif, x1, x2, ....xn désignent les variables du


design ou de conception; gi est une limitation ou contrainte de type
inégalité, hj est une limitation ou contrainte de type égalité. Les fonctions
de limitation divisent l’espace des solutions en deux parties: le domaine
des solutions admissibles (dans lequel les solutions vérifient les
contraintes) et le domaine des solutions non admissibles.

5.3 Algorithme de minimisation sans contraintes.

Pour résoudre le problème général de minimisation avec contraintes, il


faut d’abord savoir résoudre les problèmes de minimisation sans
contraines. Nous donnons ci-après les principes de la méthode la plus
utilisée qui est la méthode dite du gradient et qui, comme son nom
l’indique, nécessite le connaissance et le calcul des dérivées premières,
lesquelles vont donner les sensibilités ou, si l’on préfère, les directions de
descente.

C’est une méthode itérative qui consiste à construire une suite de


solutions convergentes X0, X1, Xq, Xq+1, ...

telle que: f(Xq+1) < f(Xq )

L’algorithme qui permet de passer de Xq à Xq+1 est:

Xq+1 = Xq + aqSq

où Sq est la direction de descente

aq le pas dans la direction de descente

On prend Sq = -gradient(f(Xq )) où le vecteur gradient a pour


composantes toutes les dérivées premières de f par rapport à x1, x2 ....:

28
∂f/∂x1 , ∂f/∂x2 .....

Le pas aq est celui qui minimise la fonction f(Xq + aqSq )

5.4 Algorithme de minimisation avec contraintes.

Nous présentons ici essentiellement la méthode des multiplicateurs de


Lagrange qui revient à résoudre le problème en deux étapes: une étape de
minimisation suivie d’une étape de maximisation d’un problème sans
contraintes pour lequel l’algorithme décrit dans la partie précédente est
applicable (pour les deux étapes).

Il s’agit donc de minimiser f(X) (X de dimension n )

avec les contraintes:


gi(X) <= 0 i = 1, ....,m

on construit le Lagrangien:

L (X,C) = f(X) + SOM (i=1,m) Ci gi(X)

Les Ci s’appellent les multiplicateurs de Lagrange

Le couple optimal (X*,C*) est obtenu en deux étapes:

1- minimisation de L(X,C) par rapport à X, ce qui donne une expression


X(C) que l’on injecte ensuite ddans le Lagrangien L(X,C)

2- maximisation de L(X,C) par rapport à C.

Nous donnons dans le paragraphe suivant le détail des opérations pour


un exemple:

5.6 Algorithme génétique:

Dans le cas où les variables X sont discrètes (par exemple


pour l’optimisation de treillis où l’on choisit les sections des poutres dans
les catalogues), les méthodes de gradient exposées plus haut ne sont plus
applicables. Or en technologie mécanique, les variables sont souvent
discrètes. Il existe des méthodes d’optimisation appropriées. Une méthode
émergente et de plus en plus utilisée (notamment pour optimiser des
engrenages par exemple) est la méthode des algorithmes génétiques que
nous décrivons ci-après.

Le problème est d’abord traduit en terme de maximisation de la


29
fonction objectif dans un espace à N dimensions.

Les algorithmes génétiques cherchent à faire l’optimisation des systèmes


artificiels en utilisant les lois de la génétique pour améliorer les solutions.

Les algorithmes génétiques

- utilisent un codage des variables en binaire (par exemple) et non les


variables elles-mêmes. Les variables ainsi obtenues s’appellent alors des
chromosomes.

- travaillent sur un ensemble de solutions et non sur une seule.

- n’ont pas besoin des dérivées

- utilisent des règles probabilistes.

Le point de départ est une population qui permet le calcul d’une ou


plusieurs valeurs de la fonction objectif. Après ce départ, l’AG
(Algorithme Génétique) génère, de façon plus ou moins aléatoire, de
nouvelles populations a priori plus intéressantes, selon trois démarches
principales qui sont:
- la reproduction
- le croisement
- la mutation

La reproduction: la reproduction est un processus dans lequel chaque point


de l’espace est reproduit en fonction de son aptitude à maximiser l’objectif.

Exemple: Maximiser f(x)= x2 dans l’intervalle [0,31] avec un codage en


binaire des x.

On prend une population initiale de 4 individus obtenue par lancer d’une


pièce de monnaie:

01101 f(x)= 169


11000 f(x)= 576
01000 f(x)= 64
10011 f(x)= 361

Dans la reproduction, on choisit de garder les deux meilleurs:

11000 et 10011

Attention: cette sélection est en réalité probabiliste et dépend des


performances des individus, si bien qu’en réalité quelques individus moins
30
performants peuvent être tout de même sélectionnés.

Le croisement:

On travaille sur des chromosomes issus de la reproduction. Un rang


k compris entre 1 et n-1 où n est la longueur du chromosome est choisi
aléatoirement. Tous les digits compris entre k+1 et n sont alors permutés
entre les deux chromosomes.

Exemple: 11000 et 10011:

pour k = 4, on obtient: 11001 et 10010

La nouvelle population est alors:

11000 f(x)= 576


10011 f(x)= 361
11001 f(x)= 625
10010 f(x)= 324

La mutation:

Elle consiste à permuter la valeur d’un digit à l’intérieur d’un chromosome:

exemple: 11001 donne 11010

La méthode des algorithmes génétiques converge en général assez


bien. Elle est toutefois réservée à des problèmes d’optimisation pour
lesquels la fonction objectif est calculable avec un temps de calcul limité,
car la méthode nécessite un nombre important d’évaluations de la fonction.

CHAPITRE 6: Interpolation des fonctions.


6.1- Interpolation-généralités

La fonction f à interpoler n’est connue que par ses valeurs en un


nombre fini de points (résultats d’expériences ou de calculs) et l’on
cherche à estimer les valeurs de la fonction en des points différents.

On appelle fh la fonction d’interpolation.

31
A = {x0, x1, ..., xn} est l’ensemble des points d’interpolation.

La fonction fh doit avoir les propriétés suivantes:

1) elle doit se confondre avec f sur A


2) elle doit être la plus régulière possible
3) elle doit être décrite par une quantité finie d’information.

Les fonctions connues les plus simples étant les polynômes, on cherchera
le plus souvent à représenter fh comme une combinaison linéaire de
polynômes: c’est l’interpolation polynômiale.

On note Rn(X) l’ensemble des polynômes de la variable réelle de degré


<=n.
On démontrera par la suite que le polynôme d’interpolation est unique.

6.2- Recherche du polynôme d’interpolation sur la base canonique

On cherche Pn sous la forme:

Pn(x) = a0 + a1 x + .... + an xn

Les coefficients sont solution du système:

1 x0 x02 .... x0n a0 f(x0)


........................... . =
1 xn xn2 .... xnn an f(xn)

Le déterminant de ce système étant le déterminant de Vandermonde (le


produit des (xi -xj) ), celui-ci est non nul d’où l’existence d’un polynôme
d’interpolation unique.

La recherche de Pn par résolution d’un système non linéaire étant assez


coûteuse, nous allons donner une deuxième forme du polynôme
d’interpolation.

6.3- Sur la base de Lagrange

Les polynômes de Lagrange sont les n+1 polynômes de degré n


définis par:

Li (xj) = 1 si i=j
= 0 si i non égal à j

32
Autrement dit, pour i=0, ....,n

Li(x) = ( (x-x1) ....(x-xi-1)(x-xi+1) ....(x-xn) ) / ( (xi-x1) ....(xi-xi-1)(xi-xi+1)


....(xi-xn) )

Ces n+1 polynômes sont linéairement indépendants et constituent une base


de Rn(X).

Le polynôme Pn(x) est donc cherché sous la forme:

Pn(x)= a0L0 + a1L1 + ....... + anLn

D’où le système matriciel qui permet de calculer les coefficients inconnus:

1 0 0 ..... 0 a0 f(x0)
0 1 0 ..... 0
...................... =

0 0 0 .....1 an f(xn)

Donc: Pn(x) = SOM f(xi)Li(x) (i=0 à n)

Exemple:

Soit à trouver le polynôme d’interpolation qui prend pour x =2, 3, -1, 4


les valeurs respectives 1, -1, 2, 3

On a L0(x) = (x-3)(x+1)(x-4)/6 L1(x) = (x-2)(x+1)(x-4)/(-4)

L2(x) = (x-2)(x-3)(x-4)/(-60) et: L3(x) = (x-2)(x-3)(x+1)/10

D’où:

P3(x) = L0(x) -L1(x) +2 L2(x) +3 L3(x)

La forme de Lagrange présente cependant deux inconvénients majeurs:

1- Le calcul de la valeur d’un polynôme sous forme de Lagrange en un


point particulier est très coûteux.

2- Si l’on adjoint au support un point supplémentaire, alors tous les Li sont


modifiés et par conséquent tous les calcul doivent être refaits.

33
6.4 Sur la base de Newton

On va voir que cette troisième forme est finalement la plus utilisée car
elle ne présente pas les deux inconvénients majeurs précédents.

Définition des polynômes de Newton:

Ce sont les n+1 polynômes définis par:

N0(x) = 1
N1(x) = x-x0
N2(x) = (x-x0)(x-x1)
.................................
Nn(x) = (x-x0)(x-x1) ......(x-xn-1)

On peut montrer que ces n+1 polynômes sont linéairement indépendants et


constituent une base de Rn(X).

Calcul du polynôme d’interpolation Pn(x) sur la base de Newton:

On cherche Pn(x) sous la forme:

Pn = a0N0 + a1N1 + .......... + an Nn

Les coefficients ai sont déterminés par la résolution du système


triangulaire:

a0 = f(x0)
a0 + (x1-x0) a1 = f(x1)
.....................................................

a0 + (xn-x0) a1 +...... + (xn-xn-1)an = f(xn)

Les avantages de la méthode sont les suivants:

1- les xi, i=0, ......n interviennent dans un ordre arbitraire

2- aj n’étant calculé qu’à partir des points xi tels que i<j, ajouter un point
d’interpolation revient seulement à ajouter au polynôme un n+2 ième
terme:
an+1((x-x0)(x-x1) ......(x-xn-1)(x-xn)

Le coefficient an+1 étant calculé, sans aucune modification des ai


précédents, dans une n +deuxième équation

Exemple:
34
x f
0 0
1 3
2 10
3 3

P3 = a0N0 +a1N1 + a2N2 + a3N3

N0 = 1 N1 = x N2 = x(x-1) N3 = x(x-1)(x-2)

P3 = 3N1 + 2N2 -3N3

6.5 Les splines cubiques

Les caractéristiques du polynôme d’interpolation sont les suivantes:

- la fonction y(x) résulte de l’assemblage bout à bout de polynômes


cubiques (a0 +a1x +a2x2 + a3x3) définis sur chaque sous-intervalle
xi<=x<=xi+1, i=1,2, ....n-1.

- y(x) et ses dérivées première et seconde sont continues en chacun des xi :


on obtient ainsi des courbes d’interpolation extrêmement régulières.

Une telle courbe est appelée une Spline cubique. Des splines de degré
supérieur sont obtenues lorsqu’on impose la continuité des dérivées d’ordre
supérieur aux différents points.

6.5.1 Obtention de l’équation d’une spline cubique

Sur le premier segment x1<= x <= x2, on dispose des valeurs y(x1)
et y(x2). Pour définir de manière unique la cubique, on a besoin de 2
informations supplémentaires (4 coefficients à calculer). Supposons pour
l’instant que les valeurs des dérivées y’(x1) et y’’(x1) sont également des
données du problème. Ceci nous permet alors de construire une cubique
qui satisfait à toutes les conditions requises. De l’équation de la cubique,
on peut alors en déduire les valeurs de y’(x2) et de y’’(x2). On dispose
ainsi de 4 nouvelles valeurs pour construire le second segment de la spline.
Le même procédé est répété jusqu’à ce que le dernier point soit atteint.

Conclusion: on peut construire une spline lorsque l’on connait les n valeurs
yi plus deux informations additionnelles. En pratique, les splines ne sont
pas calculées au moyen de cette méthode parce qu’il est souvent plus
commode d’imposer une condition additionnelle à chaque extrémité.

35
Obtention pratique:

L’équation d’un segment k d’une spline est donnée en fonction d’un


paramètre u par l’équation:

P(u) = A1 + A2 u + A3 u2 + A4 u3

0 < = u < = uk

L’équation précédente se traduit en fait par l’écriture:

x(u) = a1 + a2 u + a3 u2 + a4 u3
y(u) = a’1 + a’2 u + a’3 u2 + a’4 u3

Les conditions aux limites imposées au segment permettent d’obtenir les


valeurs des coefficients Ai: la cubique passe par deux points imposés P1 et
P2 de coordonnées respectives (x1, y1), (x2, y2) où les tangentes sont P’1
et P’2 de coordonnées respectives (x’1, y’1), (x’2, y’2), d’où l’équation
générale d’un segment de spline:

P(u) = P1 + P’1 u + ( 3(P2 -P1)/uk2 - 2 P’1/uk -P’2/uk ) u2


+ ( 2(P1-P2)/uk3 + (P’1 +P’2)/uk2 )u3

(le paramètre u variant entre 0 et uk, mais on le prend souvent variant entre
0 et 1))

Afin d’assurer la continuité au second ordre de la spline cubique, il faut


imposer une courbure constante de part et d’autre des différents points qui
définissent la courbe. Ceci implique que la dérivée seconde P’’(u), qui est
donnée par P ’’(u) = 2A3 + 6A4 u soit continue en chaque point P1, P2, ....

En égalant la courbure à droite du segment k où u = uk à la courbure à


gauche du segment suivant où u = 0, on obtient la condition de continuité
de la dérivée seconde qui s’écrit de manière générale:

uk+1 P’k + 2 (uk+1 + uk) P’k+1 + uk P’k+2

= 3 ((Pk+2 - Pk+1) uk2 + Pk+1 -Pk)Uk+12)/uk+1uk

En appliquant cette équation sur tous les segments, on obtient un système


de n-2 équations à n inconnues (les n vecteurs tangents).

Les deux conditions additionnelles qui permettent de calculer la spline sans


ambiguité dépendent de l’application considérée. Les diverses possibilités
qui existent sont les suivantes:
- extrémités libres: courbure nulle en x1 et xn. C’est le cas de la spline dite
36
naturelle.
- extrémitées encastrées: les pentes sont imposées aux extrémités.
- courbure imposée aux extrémités
Il est bien sûr possible de spécifier des conditions différentes aux deux
extrémités de la spline.

Lorsque le système d’équations est résolu, les valeurs des tangentes


sont utilisées pour calculer les valeurs des coefficients Ai pour chaque
segment de la courbe. Finalement, ces derniers sont générés au moyen de la
première équation avec 0 < = u < =uk.

Il faut remarquer que les valeurs maximales que peut prendre le


paramètre u sur chacun des segments de la spline doivent être spécifiés a
priori (dans nos applications et TD, nous prendrons en général uk = 1).. Ce
choix va conditionner la douceur de la courbe. En effet, imposer la
continuité de la dérivée seconde ne garantit pas que la courbe est celle la
plus douce au sens de la courbure minimale. Il existe heureusement des
méthodes simples qui permettent de fixer la valeur maximale de u pour
chaque segment tout en créant des splines suffisamment douces pour la
plupart des applications.

Donnons maintenant pour clore ce chapitre quelques exemples


d’application:

Cherchons l’équation des deux segments de spline cubique passant par les
points:

x1= y1 = 0

x2= y2 = 10

et x3= 20, y3=10

Nous ferons d’abord les calculs pour les conditions aux limites suivantes:
les deux extrémités sont encastrées (pente nulle).

Ensuite, dans un deuxième temps, nous traiterons le cas des conditions aux
limites naturelles aux deux extrémités (courbure nulle).

Commençons donc par le calcul du premier cas. Nous avons deux


segments de spline à déterminer qui vont être repérées par les exposants I et
II
.

En appliquant les relations du cours, les équations paramétriques de


départ des deux cubiques sont (pour le paramètre u variant entre 0 et 1, 0
pour l’extrémité gauche d’un segment de spline et 1 pour l’extrémité
37
droite):

xI(u) = x’1 u + (30 - 2x’1 - x’2) u2 + (-20 + x’1 + x’2) u3


yI(u) = y’1 u + (30 - 2y’1 - y’2) u2 + (-20 + y’1 + y’2) u3

xII(u) = 10 + x’2 u + (30 - 2x’2 - x’3) u2 + (-20 + x’2 + x’3) u3


yII(u) = 10 + y’2 u + ( - 2y’2 - y’3) u2 + ( y’2 + y’3) u3

Du fait des extrémités encastrées, on a les pentes: x’1 = y’1 = x’3 = y’3 =0

Il reste donc deux inconnues dans les équations précédentes (x’2 et y’2)
inconnues que l’on détermine en écrivant la continuité des courbures au
point central (qui correspond à u =1 pour le segment I et à u = 0 pour le
segment II):

xI’’(u=1) = xII’’(u=0)
yI’’(u=1) = yII’’(u=0)

équations qui fournissent: x’2 = 15 et y’2 = 7.5

alors les équations finales pour le premier morceau sont:

xI(u) = 15 u2 - 5u3
yI(u) = 22.5u2 -12.5u3

et pour le deuxième morceau:

xII(u) = 10 + 15 u - 5 u3
yII(u) = 10 +7.5 u -15 u2 +7.5 u3

Passons maintenant au deuxième cas de conditions aux limites (courbures


nulles aux deux extrémités):

cette fois-ci, nous avons quatre inconnues supplémentaires qui sont les
pentes aux deux extrémités. Nous partons des mêmes équations de base
que dans le cas précédent:

xI(u) = x’1 u + (30 - 2x’1 - x’2) u2 + (-20 + x’1 + x’2) u3


yI(u) = y’1 u + (30 - 2y’1 - y’2) u2 + (-20 + y’1 + y’2) u3

xII(u) = 10 + x’2 u + (30 - 2x’2 - x’3) u2 + (-20 + x’2 + x’3) u3


yII(u) = 10 + y’2 u + ( - 2y’2 - y’3) u2 + ( y’2 + y’3) u3

et nous allons bien entendu réécrire la continuité des courbures au point


milieu:
38
xI’’(u=1) = xII’’(u=0)
yI’’(u=1) = yII’’(u=0)

équation à laquelle nous rajoutons l’écriture des dérivées secondes nulles


aux deux extrémités, ce qui nous fournit les 4 relations supplémentaires
nécessaires:

xI’’(u=0) = 0
yI’’(u=0) = 0

xII’’(u=1) = 0
yII’’(u=1) = 0

D’où, tous calculs faits, les équations finales pour le premier morceau:

xI(u) = 10u
yI(u) = 12.5u - 2.5u3

et pour le deuxième morceau:

xII(u) = 10 + 10 u
yII(u) = 10 + 5 u - 7.5 u2 +2.5 u3

39