Académique Documents
Professionnel Documents
Culture Documents
de Type Optimisation
Jonas Koko
LIMOS, Université Blaise Pascal CNRS FRE 2239
ISIMA, Campus des Cézeaux BP 10125
F63173 Aubière cedex, France
email: koko@sp.isima.fr
27 février 2007
2 Problème Modèle 2
5 Le TP 15
5.1 Lecture des maillages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 Stockage et assemblage des matrices . . . . . . . . . . . . . . . . . . . . . . 16
5.3 Résolution des systèmes linéaires . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4 Parallélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1 Introduction
Les méthodes de décomposition de domaine ont connu un intérêt fulgurant des der-
nières années, en raison de leur implication évidente dans le calcul parallèle. Le principe
est assez simple: on transforme un problème de grande taille en une suite de sous-problèmes
découplés, de taille plus petite, qui peuvent être résolus en parallèle. L'ecacité des mé-
thodes de décomposition de domaine est telle que même sur une architecture série, le gain
de temps est considérable.
1
2 PROBLÈME MODÈLE 2
La littérature sur les méthodes de décomposition de domaine est trop énorme pour être
citée ici de manière exhaustive. Le lecteur intéressé pourra consulter [5, 6]. Il existe une
conférence annuelle sur les méthodes de décomposition de domaine et certains proceedings
peuvent être télé-chargés gratuitement depuis http
://www.ddm.org/conferences.html.
Dans ce cours nous ne traitons que des méthodes de décomposition de domaine basées
sur l'optimisation pour une raison assez simple: la convergence ne fait appel qu'à des notions
de bases d'optimisation (convexité, coercivité). Ces méthodes on été introduites par [2] et
on été largement reprises et améliorées depuis [1, 3, 4]. Les méthodes de décomposition de
domaine basées sur l'optimisation sont des méthodes de type décomposition/coordination
dont l'étape de coordination consiste à minimiser (ou maximiser) un critère.
2 Problème Modèle
Soit Ω un domaine borné de R2 de bord Γ. On considère le problème de Poisson
u = 0, sur Γ. (2.2)
αu − ν∆u = f, dans Ω,
u = uD , sur Γ,
−∇ · σ(u) = f, dans Ω,
u = uD , sur Γ,
1
(u) = (∇u + ∇uT ).
2
2 PROBLÈME MODÈLE 3
V = v ∈ H 1 (Ω); v = 0
sur Γ ,
et les notations
Z
a(u, v) = ∇u · ∇v dx,
Ω
Z
(f, v) = f v dx.
Ω
1
J(v) = a(v, v) − (f, v), (2.4)
2
de sorte que (2.3) est l'équation d'Euler-Lagrange du problème de minimisation
Γ1 = Γ ∩ Ω 1 , Γ2 = Γ ∩ Ω 2 .
Γ12
Ω1 Ω2
ui = 0, sur Γi . (2.7)
2 PROBLÈME MODÈLE 4
Vi = v ∈ H 1 (Ωi ); v = 0
sur Γi ,
On pose u = (u1 , u2 ) et V = V1 × V2 ,.
En tenant compte des notations ci-dessus, la fonctionnelle de l' énergie potentielle totale
(2.4) devient
J(v) = J1 (v1 ) + J2 (v2 )
où
X1
Ji (vi ) = ai (vi , vi ) − (fi , vi )Ωi , i = 1, 2.
2
3 MÉTHODE DES MULTIPLICATEURS DE LAGRANGE 5
[u12 ] = 0. (3.2)
2
X
L(v, µ) = Ji (vi ) + (µ, [u12 ])Γ12 , (3.3)
i=1
ou encore
max min L(u, λ).
λ∈L2 (Γ12 ) u∈V
En annulant les dérivées de L par rapport à u et λ, on obtient les équations qui caractérisent
le point-selle (u, λ) de L
εji = −εij , i, j = 1, 2.
−∆ui = fi dans Ωi ,
∂ui
= −εij λ sur Γ12 ,
∂ni
de sorte que
∂u1 ∂u2
λ= =− .
∂n1 ∂n2
3 MÉTHODE DES MULTIPLICATEURS DE LAGRANGE 6
admet donc une solution unique. La méthode de décomposition de domaine proposée dans
cette section est basée sur la résolution du problème (3.7) par une méthode itérative de
type Uzawa
λk+1 = λk + tk µk , (3.8)
k
où µ est une direction de montée de J ∗, i.e.
∂J ∗ (λk ) k
·µ >0
∂λ
et tk le pas de déplacement.
En eet,
ai (ui (λ + tµ) − ui (λ), vi ) = −εij (tµ, vi )Γ12 , ∀vi ∈ Vi . (3.11)
Si wi est solution de
ai (wi , vi ) = −εij (µ, vi )Γ12 , ∀vi ∈ Vi ,
alors ui (λ + tµ) − ui (λ) = twi par unicité de la solution de (3.11) (la forme ai est coercitive
sur Vi ).
Connaissant la variation de u par rapport à λ, on peut calculer la dérivée directionnelle
de J ∗, dans la direction µ
2
∂J ∗ (λ) X
·µ=− ai (ui , wi ). (3.12)
∂λ
i=1
3 MÉTHODE DES MULTIPLICATEURS DE LAGRANGE 7
c'est-à-dire
2
X
a(wi , ui ) = −(µ, [u12 ])Γ12 . (3.14)
i=1
k γ k k2L2 (Γ12 )
βk = , (3.16)
k γ k−1 k2L2 (Γ12 )
µk = γ k + βk µk−1 . (3.17)
Il ne nous reste plus qu'à calculer le pas tk pour compléter l'itération (3.8). Le pas de
déplacement tk est calculé de façon à maximiser la fonction (réelle d'une variable réelle) φ
dénie par
φ(t) = J ∗ (λk + tµk ).
Comme J ∗ est fortement concave, il sut de résoudre l'équation linéaire en t (φ est qua-
dratique) φ (t) = 0, i.e.
0
∂ ∗ k
0 = φ0 (t) = J (λ + tµk ) · µk = (∇J ∗ (λk + tµk ), µ)Γ12 . (3.18)
∂λ
En utilisant (3.9) dans (3.15), l'équation (3.18) devient
([uk12 ] + t[w12
k
], µk )Γ12 = 0.
3.2 Algorithme
On remplace la condition de Dirichlet homogène (2.2) par
u = uD , sur Γ
et on dénit
Avec tous les éléments ci-dessus, nous pouvons maintenant donné l'algorithme de décom-
position de domaine utilisant les multiplicateurs de Lagrange.
Algorithme DDM/ML
Sensibilité:
([uk12 ], µk )Γ12
tk = − k ], µk )
([w12 Γ12
λk+1 = λk + tk µk
uk+1
i = uki + tk wik , i = 1, 2
Gradient:
γ k+1 = [uk+1
12 ]
µk+1 = γ k+1 + βk µk
4 MÉTHODE DES MOINDRES CARRÉS 9
ui = 0 sur Γi , (4.2)
∂ui
= λ sur Γ12 , (4.3)
∂ni
où ni est la normale unitaire sortante en Γ12 .
La formulation variationnelle de (4.1)-(4.3) est alors donnée par
Un couple (u1 , u2 ) solution de (4.4), i.e. de (4.1)-(4.3), n'est pas forcément solution
du problème d'origine (2.1)-(2.2). Comme u = (u1 , u2 ) dépend de λ, on choisit donc λ de
sorte que u1 soit le plus proche possible de u2 à l'interface S . Ce qui revient à choisir λ
qui minimise la fonctionnelle
Z
1
F (λ) = |[u12 ]|2 ds. (4.5)
2 Γ12
∂u ∂u
λ= |Γ12 = − |Γ ,
∂n1 ∂n2 12
où u est solution de (2.1)-(2.2). En prenant u1 = u|Ω1 et u2 = u|Ω2 , on a bien F (λ) = 0.
Mais pour éviter les complications, on ne va choisir que les λ qui sont de norme raison-
nable. Donc au lieu de (4.5), on va minimiser la fonctionnelle régularisée
1
Z
1 δ
Fδ (λ) = [u]2 dΓ + k λ k2L2 (Γ12 ) , (4.6)
2 S 2
où δ>0 est le paramètre de régularisation. La coercivité de Fδ est évidente, puisqu'on a
δ
Fδ (λ) ≥ k λ k2L2 (Γ12 ) , ∀λ ∈ L2 (Γ12 ).
2
1
On peut se passer de la régularisation, la démonstration de la coercivité est dans ce cas plus technique
4 MÉTHODE DES MOINDRES CARRÉS 10
λk+1 = λk + tk µk ,
Les conditions nécessaires d'optimalité du premier ordre nous disent qu'une solution du
problème avec contraintes (4.7) est (avec les multiplicateurs z1
z2 ) point stationnaire du
et
Lagrangien. En annulant les dérivées directionnelles de L par rapport à zi , on obtient les
contraintes (4.4). En annulant les dérivées directionnelles de L par rapport à ui , on obtient
le problème adjoint (découplé)
zi ∈ V i ; ai (zi , vi ) = εij ([u12 ], vi )Γ12 , ∀vi ∈ Vi , i = 1, 2. (4.9)
Le système adjoint (4.9) nous servira plus tard pour calculer le gradient de Fδ .
Notons que la fonctionnelle (4.6) est convexe et quadratique et que les contraintes
sont linéaires. Donc avec un algorithme du gradient conjugué, on doit pouvoir espérer une
convergence quadratique.
∂
Fδ (λ) · µ = ([u12 ], [w12 ])Γ12 + δ(λ, µ)Γ12 , ∀µ ∈ L2 (Γ12 ), (4.11)
∂λ
4 MÉTHODE DES MOINDRES CARRÉS 11
∂Fδ (λ)
· µ = (∇Fδ (λ), µ)Γ12 .
∂λ
En posant vi = zi dans (4.10), on obtient
∂
Fδ (λ) · µ = ([z12 ] + δλ, µ)Γ12 , ∀µ ∈ L2 (Γ12 ). (4.15)
∂λ
D'où on conclut que
γ := ∇Fδ (λ) = [z12 ] + δλ. (4.16)
µk+1 = −γ k+1 + βk µk .
h i
k k
([w12 ], [w12 ])Γ12 + δ(µk , µk )Γ12 t + ([uk12 ], [w12
k
])Γ12 + δ(λk , µk )Γ12 = 0.
([uk12 ], [w12
k ]) k k
Γ12 + δ(λ , µ )Γ12
tk = − k ] k2
. (4.19)
k [w12 L2 (Γ12 )
+δ k λk k2L2 (Γ12 )
4.2 Algorithme
Avec les résultats cidessus, nous pouvons maintenant présenter l'algorithme descente
pour générer une suite minimisante de (4.6).
Algorithme DDM/LS
Direction initiale : µ0 = −γ 0
Itération k ≥ 0. On suppose λ k , uk , z k γ k et µk connus
Sensibilité:
Pas de déplacement:
λk+1 = λk + tk µk
uk+1
i = uki + tk wik , i = 1, 2.
4 MÉTHODE DES MOINDRES CARRÉS 13
Gradient:
µk+1 = −γ k+1 + βk µk
On itère jusqu'à ce que la norme du gradient ait susamment diminué, i.e.
k γ k kL2 (Γ12 )
< ε.
k γ 0 kL2 (Γ12 )
On remarque qu'à chaque itération, on résout deux problèmes découplés: le problème
adjoint et le problème de sensibilité. La parallélisation de la méthode est donc évidente.
Soit {φj } les fonctions de bases (globales), linéaires par morceaux, de Vih . Pour uih ∈ Vih
on a
φj (x)uji ,
X
uih = ∀x ∈ Ωih ,
j
b(λ) = Fλ,
où F est une matrice diagonale. La discrétisation des formes bilinéaires donne les matrices
Après la prise en compte des conditions aux limites, les matrices Ai seront dénies positives.
On peut maintenant donner l'algorithme discret.
Algorithme DDM/ML
Résoudre
A1 u01 = f1 − Fλ0 ,
A2 u02 = f2 + Fλ0 .
Sensibilité:
Résoudre
A1 w1k = −Fµk ,
A2 w2k = Fµk .
Pas de déplacement:
λk+1 = λk + tk µk
uk+1
i = uki + tk wik , i = 1, 2.
Gradient:
γ k+1 = [uk+1
12 ]
(γ k )T Fγ k
< 10−6 .
(γ 0 )T Fγ 0
On note que les matrices utilisées ne varient pas au cours des itérations. On pourra donc
faire une factorisation de Choleski, une fois pour toutes, dans l'étape d'initialisation. Les
résolutions suivantes se réduisent alors à des simples substitutions.
5 Le TP
Soit à résoudre
−∆u = f, dans Ω,
u = 0, sur Γ.
En principe
2 f est choisie de telle sorte que la solution exacte du problème de Poisson soit
open(unit=1,file='sdm1_177.msh',status='old',action='read')
read(1,*) ns,nt,ni
allocate(t(3,nt)) ! allocation tab connectivite
allocate(ref(ns)) ! allocation tab ref des noeuds
allocate(p(2,ns)) ! allocation tab coord. des noeuds
do i=1,ns
2
i.e. modulo les erreurs de dérivation
5 LE TP 16
read(1,*) p(1,i),p(2,i),ref(i)
end do
do i=1,nt
read(1,*) (t(k,i), k=1,3) ! lecture sommets des triangles
end do
read(1,*) ni
allocate(itf(ni))
read(1,*) (itf(i),i=1,ni)
close(1)
5.4 Parallélisation
La parallélisation avec la librairie MPI est la plus adaptée surtout pour la décomposition
de domaine avec un nombre quelconque de sous-domaine. Chaque sous-domaine Ωi est
alloué à un processeur avec la description standard d'un problème d'éléments nis pour
un seul domaine. Chaque processeur assemble et factorise la matrice associée à son sous-
domaine. L'interface Γ12 est traité comme un bord spécial sous condition de Neumann.
Pour chaque processeur, les opérations non locales sont celles qui font intervenir les sauts à
l'interface, par exemple pour calculer γ k = [uk12 ]. Pour cela il sut d'échanger les valeurs de
uki de part et d'autre de l'interface: chaque processeur envoie sa contribution au processeur
en charge du domaine voisin et reçoit sa contribution avant de calculer le saut. Pour réaliser
ces opérations de manière ecace, il convient d'utiliser les fonctionalités topologiques de
MPI.
En dimension deux, avec une décomposition de domaine de type cartésienne ( i.e. sous
forme de grille) on utilise la routine mpi_cart_create pour attribuer à chaque processeur
RÉFÉRENCES 17
Références
[1] Du Q. An optimization based nonoverlapping domain decomposition algorithms and
their convergence. SIAM J. Numer. Anal., 39(3):10561077, 2001.
[2] Glowinski R, Periaux J. and Vinh Dinh Q. Domain decomposition methods for
nonlinear problems in uid dynamics. Research Report RR-147, INRIA, 1982.
[3] Gunzburger M.D. and Lee H.K. An optimization based domain decomposition
method for the navier-stokes equations. SIAM J. Numer. Anal., 37(5):14551480, 2000.
[4] Gunzburger M.D., Peterson J. and Kwon H. An optimization based domain
decomposition method for partial dierential equations. Comp. Math. Appl., 37:7793,
1999.
[5] Meurant G. Computer Solution of Large Systems. Studies in Mathematics and its
Applications. North Holland, 1999.
[6] Quarteroni A. and Valli A. Domain Decomposition Methods for Partial Dierential
Equations. Oxford University Press, 1999.