B6bcd Couleur
B6bcd Couleur
Sorbonne Université
Module B6
Éclatement de variables
1 Principe et observations
Dans les applications actuelles de l’optimisation continue, on est amené à gérer des
problèmes de dimension toujours plus grande. La dimension du problème s’entend ici
comme la dimension de l’espace X sur lequel la fonction objectif est optimisée 1 Dans
ces conditions, minimiser directement sur X peut s’avérer techniquement difficile, voire
impossible, ou très coûteux en calculs. L’idée est donc, si le problème le permet, de
réduire la dimension du problème en le scindant en plusieurs problèmes de dimensions
plus petites.
Une stratégie classique et intuitive, que l’on va explorer dans ce module, est de
considérer une stratégie itérative, où à chaque itération, on “gèle” une partie de l’espace X
pour considérer un problème qui est mécaniquement de dimension plus petite. Une fois
ce sous-problème “traité” (plusieurs traitements vont être considérés dans les sections qui
suivent), on met à jour la variable sur laquelle le sous-problème est défini, puis on change
de sous-problème (et de variable associée). Formellement, cela revient à décomposer
l’espace X en n sous-espaces :
X = X1 × · · · × Xn
puis à considérer successivement les problèmes suivants :
min J (x(1) )k+1 , . . . , (x(ℓ−1) )k+1 , x(ℓ) , (x(ℓ+1) )k , . . . , (x(n) )k
x(ℓ) ∈Xℓ
où (x(i) )k correspond à un état donné d’une des sous-variables du problème. Dans cette
configuration, la mise-à-jour est cyclique et déterministe (on choisit un ordre et on s’y
tient). D’autres modes de mises-à-jour peuvent être envisagés, comme le choix d’un ordre
aléatoire pour l’ordre des mises-à-jour. Toutefois, on s’astreint généralement à parcourir
toutes les variables avant de mettre à jour à nouveau une variable. En pratique, l’ordre
aléatoire s’avère plus efficace ; toutefois, pour des raisons de lisibilité, on ne considère ici
que l’ordre cyclique déterministe.
Toujours pour des raisons de lisibilité, on considèrera le problème à deux blocs (n = 2)
min J(x, z) (P2 blocs )
X=(x,z)∈X ×Z
1. Un exemple simple est le traitement d’une image, pour lequel la dimension peut être le nombre de
pixels. L’avènement des appareils photos haute résolution et des écrans hautes résolutions conduisent à
travailler avec des nombres de pixels de plus en plus grands.
et
J xk+1 , zk+1 ≤ J xk+1 , zk
Les deux suites considérées dans la proposition 1 sont donc décroissantes et minorées,
et par conséquent convergentes. L’identité de leur limite découle de l’encadrement
J xk+1 , zk+1 ≤ J xk+1 , zk ≤ J xk , zk
qui permet de conclure par comparaison. ■
La règle de Fermat assure que les points générés par l’algorithme BCD vérifient
0 ∈ ∂x J xk+1 , zk et 0 ∈ ∂z J xk+1 , zk+1
Lorsque J satisfait les hypothèses de la proposition 1, les deux suites
(xk+1 , zk ) k∈N et (xk , zk ) k∈N
sont bornées, donc admettent chacune une sous-suite qui converge. Notons (x∗ , z ∗ )
et (x̃∗ , z̃ ∗ ) les deux limites respectives. Si, de plus, J est continue, alors
lim J xkj +1 , zkj = J(x∗ , z ∗ ) lim J xk̃j , zk̃j = J(x̃∗ , z̃ ∗ )
et
j→+∞ j→+∞
On suppose que la suite (xk )k∈N est convergente. Alors la suite ((xk , zk ))k∈N est
bornée et admet une sous-suite qui converge. De plus, toute sous-suite conver-
gente de ((xk , zk ))k∈N converge vers un point critique de J.
Démonstration : Par hypothèse, la suite ((xk , zk ))k∈N est bornée. On suppose que
la suite (xkj , zkj )j∈N est convergente, de limite (x∗ , z ∗ ). Alors
∂J ∂J ∗ ∗
0 = lim xkj , zkj = x ,z
j→+∞∂x ∂x
La convergence de la suite des xk implique que
lim xkj +1 , zkj = x∗ , z ∗
j→+∞
On voit qu’il s’agit dans les deux cas de minimiser la fonction strictement
convexe, continue, affine par morceaux et coercive fa , avec
∀ t ∈ R, fa (t) = |t + a| + 2 |t − a|
Un simple calcul montre que, si a ≥ 0, alors
−3 t + a si t ≤ −a
∀ t ∈ R, fa (t) = −t + 3 a si |t| ≤ a
3t − a si t ≥ a
de sorte que son minimiseur se trouve parmi les deux points a et −a ; or,
puisque fa (a) = 2 a et que fa (−a) = 4 a, il s’ensuit que le minimiseur vaut a.
Ainsi, si z0 > 0, on démontre par récurrence que, pour tout k ∈ N,
xk+1 = zk+1 = x0
La suite générée par l’algorithme BCD est donc constante et convergente, de
limite (x0 , x0 ). Or, il est visible que ce point n’est pas un minimiseur de J, qui
atteint son minimum en (0, 0). Selon la règle de Fermat, ce n’est pas non plus
un point critique.
En réalité, dans l’exemple qui précède, l’algorithme, lorsqu’il n’est pas correctement
initialisé (c’est-à-dire si z0 ̸= 0), ne converge pas vers un point critique, mais un point
vérifiant la double inclusion
0 ∈ ∂x J x, z et 0 ∈ ∂z J x, z
Or, on a vu qu’en général, ces points sont différents des points critiques de J, sauf lorsque
le terme couplant les deux variables est continûment différentiable.
Une conséquence immédiate du lemme précédent est la convergence de la suite des
itérées vers un point critique lorsque cette suite est convergente. En réalité, une condition
importante pour assurer la convergence de l’algorithme BCD est l’unicité des itérées. On
peut en effet considérer l’exemple suivant :
Contre-exemple
Non-unicité des itérées. On considère le cas où X = Z = R avec
n o
max min{1, |x|}, min{1, |z|}
J(x, z) = si (x, z) ∈ [ −1 ; 1 ] × [ −1 ; 1 ]
+∞ sinon
La fonction J admet visiblement un unique minimum, atteint en (0, 0) et qui
vaut 0. Il est aisé de vérifier que si z ∈ {−1, 1}, alors J(x, z) = 1 pour tout x ∈
[ −1 ; 1 ], et vaut +∞ pour x ∈ / [ −1 ; 1 ] (et on démontre un résultat analogue
lorsque x ∈ {−1, 1}). On peut donc initialiser l’algorithme BCD avec z0 = 1 ;
dans ce cas, tout le segment [ −1 ; 1 ] est éligible pour fournir le point suivant x1 .
Si on choisit x1 = 1, alors on peut cette fois choisir n’importe quel point
dans [ −1 ; 1 ] pour définir le point z1 . On voit donc qu’il est possible avec l’algo-
rithme BCD de générer la suite constante égale à (1, 1). Celle-ci est convergente,
mais ne converge pas vers le minimiseur de J. En revanche, si on avait choisit,
avec la même initialisation, x1 = 0, puis z1 = 0, l’algorithme convergerait en
une seule itération avec le minimiseur de J.
Alors la suite ((xk , zk ))k∈N est bornée et admet une sous-suite qui converge.
Par ailleurs, la limite (x∗ , z ∗ ) de toute sous-suite convergente de ((xk , zk ))k∈N
vérifie
0 ∈ ∂x J(x∗ , z ∗ ) et 0 ∈ ∂z J(x∗ , z ∗ )
Si, de plus, il existe une décomposition de J de la forme
∀ (x, z) ∈ X × Z, J(x, z) = f (x) + g(z) + h(x, z)
où h est continûment différentiable autour de (x∗ , z ∗ ), alors (x∗ , z ∗ ) est un point
critique de J.
Démonstration : Par hypothèse, la suite ((xk , zk ))k∈N est bornée. On suppose que
la sous-suite ((xkj , zkj ))j∈N est convergente, de limite (x∗ , z ∗ ). Puisque les (xk , zk )
sont dans le domaine de J, et que celui-ci est fermé, il s’ensuit que
lim J(xk , zk ) = lim J(xkj , zkj ) = J(x∗ , z ∗ )
k→+∞ j→+∞
• La suite des ∥(xkj +1 , zkj +1 ) − (xkj , zkj )∥ tend vers 0. Par l’absurde, suppo-
sons que ce n’est pas le cas. Alors, en posant
∀ j ∈ N, δj = ∥(xkj +1 , zkj +1 ) − (xkj , zkj )∥
on suppose que la suite (δj )j∈N ne converge pas vers 0. Comme elle est par
ailleurs bornée (car la suite ((xk , zk ))k∈N l’est), elle admet donc une sous-
suite (δjℓ )ℓ∈N qui converge vers un certain α > 0. Pour tout ℓ ∈ N, définissons
le point xkjℓ +1 − xkjℓ
sℓ = ∈X
δjℓ
Puisque ces points appartiennent à la boule fermée unité, qui est compacte
dans X , la suite des sℓ admet une sous-suite (sℓm )m∈N convergente ; notons s∗
sa limite. Pour tout m ∈ N, posons
fm : x 7→ J x, zkjℓ
m
Par hypothèse, cette fonction est strictement convexe et atteint son unique
minimum en xkjℓ +1 . Remarquons que
m
Soit λ ∈ [ 0 ; 1 ]. On a
λ xkjℓ +1 + (1 − λ) xkjℓ = xkjℓ + λ δjℓm sℓm ∈ C1
m m m
On a donc l’encadrement
fm xkjℓ +1 ≤ fm xkjℓ + λ δjℓm sℓm ≤ fm xkjℓ
m m m
Comme cette égalité est vraie pour tout λ ∈ [ 0 ; 1 ], et que α s∗ ̸= 0, elle contre-
dit la stricte convexité de x 7→ J(x, x∗(2) ). On en déduit donc que l’hypothèse
initiale, à savoir que la suite (δj )j∈N ne converge pas vers 0, est fausse.
• (x∗ , z ∗ ) est un point critique partiel de J. Une conséquence directe du
point précédent est que
lim xkj +1 , zkj = (x∗ , z ∗ ) = lim xkj , zkj
j→+∞ j→+∞
Puisque les Ai,i sont strictement positifs (car A est définie positive), il s’ensuit que la
i-ème fonction partielle est une parabole strictement convexe, donc admet un unique
minimiseur t∗i donné par
n n n
1 X
= 1 bi −
X X
t∗i =
bi − A j,i x (j) A j,i x (j) − Aj,i x(j)
Ai,i
j=1
Ai,i
j=1 j=1
j̸=i j<i j>i
Nous pouvons donc maintenant écrire les itérations de l’algorithme BCD appliqué au
problème (PGS ) : pour x0 = ((x(i) )0 )1≤i≤n ∈ Rn , on a pour tout k ∈ N
∀ i ∈ [[ 1 ; n ]] , (x(i) )k+1 = argmin f (xk+1 , . . . , (x(i−1) )k+1 , t, (x(i+1) )k , . . . , (x(n) )k )
t∈R
Autrement dit, pour déterminer la i-ème coordonnée du nouveau vecteur xk+1 , on consi-
dère la i-ème équation du système linéaire étudié et on y fixe la valeur des autres coor-
données x(j) à leur valeur courante (c’est-à-dire x(j) = (x(j) )k+1 si j < i et x(j) = (x(j) )k
2. Cf. b2 : Introduction à la méthode des moindres carrés (3ma261)
si j > i), puis on résout cette équation affine. On met ainsi à jour la valeur de x(i) et
on réitère le processus pour la coordonnée suivante x(i+1) . On reconnaît l’algorithme de
Gauss-Seidel pour la résolution d’un système linéaire.
La fonction objectif J du problème (Pgs ) est continûment différentiable (car poly-
nomiale), et multiconvexe (car convexe) lorsque que A est (semi-)définie positive. Par
ailleurs, chaque fonction partielle est strictement convexe (car les Ai,i sont strictement
positifs), donc on peut appliquer une généralisation multiconvexe de la proposition 2,
qui assure que toute valeur d’adhérence de la suite générée par cet algorithme est un
point critique de J. Puisque J est dans ce cas strictement convexe, l’ensemble des points
critiques de J est réduit à l’unique minimiseur de J, ce qui assure par ailleurs la conver-
gence forte de la suite des itérées vers ce point, qui n’est autre que la solution du système
linéaire (S).
Un second exemple, plus générique, d’application de l’algorithme BCD est celui des
estimations jointes. Pour illustrer notre propos, prenons l’exemple de la restauration
d’une image numérique g. Cette image est supposée bruitée et floue ; on peut la modéliser
comme la dégradation d’une image idéale u de la manière suivante :
g =K ⋆u+n
où K est un noyau de convolution modélisant le flou et n un bruit blanc gaussien. Parmi
les méthodes permettant de débruiter ou de rendre nette une image, on a les méthodes
dites variationnelles qui écrivent ces problèmes comme ceux de la minimisation d’une
fonction objectif. Par exemple, pour la restauration de l’image dégradée g, on peut
considérer le problème de la forme
nµ o
min ∥v − K ⋆ u∥2 + ∥∇u∥ + α ∥K∥2
(u,K)∈X ×Σ 2
(on n’entre pas ici dans les détails quant à la pertinence du choix de cette fonction). De
manière générale, ce problème est difficile à résoudre ; si on applique l’algorithme BCD,
on est amené à résoudre successivement les deux problèmes
nµ o
min ∥v − K ⋆ u∥2 + ∥∇u∥
u∈X 2
nµ o
et min ∥v − K ⋆ u∥2 + α ∥K∥2
K∈Σ 2
De la même manière que pour l’algorithme FBS, ces itérations peuvent être vues
comme des minimisations de fonctions approchées ; ici, la première mise-à-jour comme
la minimisation de la fonction
∂h 1
∥x − xk ∥2
x 7→ f (x) + g(zk ) + h(xk , zk ) + xk , zk , x − xk +
∂x 2 τk
qui est une approximation autour du point xk de la fonction x 7→ J(x, zk ), tandis que
la seconde mise-à-jour s’écrit comme la minimisation de la fonction
∂h 1
∥z − zk ∥2
z 7→ f (xk+1 ) + g(z) + h(xk+1 , zk ) + σk xk+1 , zk , z − zk +
∂z 2 σk
qui est une approximation autour du point zk de la fonction z 7→ J(xk+1 , z).
partielles de h au point courant. En effet, ce calcul est nécessaire pour choisir correcte-
ment les pas de temps (τk , σk ).
Ici, la norme de Frobenius est définie pour toute matrice A = (ai,j )1≤i≤m par
1≤j≤n
v
n
um X
uX
∥A∥F = t a2i,j
i=1 j=1