TD 15 Analyse Numérique et Optimisation O.P.,A.C.. Algorithmes d Optimisation Exercice I. Descente de Gradient : On considère une fonction convexe F sur un espace de Hilbert X. 1. Montrer que si F est α-convexe, c est-à-dire : x + y x, y X, F 1 2 2 F x + 1 2 F y α 8 x y 2 1 alors si ˆx minimise F sur un convexe C X, On commencera par montrer que si x C, F x F ˆx + α 2 x ˆx 2. x C, F x F ˆx + θ α 2 x ˆx 2. pour θ 0, alors l inégalité est aussi vraie pour θ = 1 + θ/2. On a par 1 que si x, ˆx C x + ˆx F 1 2 2 F x + 1 2 F ˆx α 8 x ˆx 2. Si la dernière inégalité avec le θ est vraie, on peut l appliquer à x + ˆx/2 C, d où F ˆx + θ α 2 x ˆx 2 2 1 2 F x + 1 2 F ˆx α 8 x ˆx 2, ce qui donne F x F ˆx + 1 + θ α 2 2 x ˆx 2. L inégalité est donc vraie pour tout θ de la suite définie par θ 0 = 0, θ n+1 = 1 + θ n /2. Cette suite converge vers le point fixe de l application contractante t 1 + t/2 qui est précisément θ = 1. 2. On commence par supposer que F est de classe C 2, α-fortement convexe α > 0 et que F est L-Lipschitzienne. Montrer en utilisant 1 que αi D 2 F LI i.e., α ξ 2 D 2 F xξ, ξ L ξ 2 for all x, ξ X. En déduire que si le pas τ est correctement choisi, l application x ˆx = x τ F x est contractante. Quel serait le meilleur τ? Soit x, ξ X. L inégalité 1 appliquée à x tξ, x + tξ s écrit F x 1 2 F x tξ + 1 2 F x + tξ t2 α 2 ξ 2 soit α ξ 2 F x + tξ 2F x + F x tξ t 2 et la conclusion s obtient en faisant tendre t vers 0. 1
On calcule alors la constante de Lipschitz de l application en majorant son gradient : x τ F x = I τd 2 F x. On a 1 τli I τd 2 F 1 ταi. On rappelle que si A est un opérateur symétrique max Ax = max Ax, x. { x 1} { x 1} par conséquent, si τ < 2/L, pour tout ξ I τd 2 F ξ max{ 1 τα, 1 τl } < 1 et l application est contractante. Le taux de contraction est minimal tracer les courbes, en remarquant que α < L s il est donné par ρ = 1 τα = τl 1 soit τ = 2/α + L et ρ = L α/l + α. 3. En déduire la convergence de l algorithme de gradient descendant, lorsque le pas de temps est bien choisi. Montrer par un exemple que si τ est mal choisi l algorithme peut diverger. L algorithme de gradient descendant x n+1 = x n τ F x n converge, si τ < 2/L, vers l unique point fixe de l application, qui vérifie x = x τ F x, soit F x = 0 : c est donc un le minimiseur de F. Si F x = x 2 /2 X = R, α = L = 1. On a x τ F x = 1 τx. Par conséquent x n = 1 τ n x 0. Si 1 τ 1 l algorithme ne converge pas. 4. On considère maintenant que F a un gradient L-Lipschitzien mais on a peut-être α = 0. On considère le problème de minimisation sous contrainte min F x x C où C est un ensemble convexe. On suppose qui existe au moins une solution x C, de valeur F x. On veut utiliser l algorithme de gradient projeté à pas fixe x n+1 = Π C x n τ F x n. On considère donc l application définie pour tout x X, et à valeurs dans C T : x ˆx = Π C x τ F x. Montrer que ˆx = T x est l unique minimiseur de 1 min F x + F x, x x + x C 2τ x x 2. 2 Evident. 5. Vérifier que la fonctionnelle minimisée dans 2 est α-convexe pour un certain α. En déduire que pour tout x C, F x + F x, x x + 1 2τ x x 2 F x + F x, ˆx x + 1 2τ ˆx x 2 + 1 2τ x ˆx 2. La fonction x x x 2 /2τ est bien évidemment 1/τ-convexe et la somme d une fonction 1/τ-convexe est d une fonction convexe est encore 1/τ-convexe. L inégalité 3 s en déduit en appliquant le résultat de la question 1. à la fonction qui est minimisée. 2 3
6. Vérifier que pour tout x X, F x + F x, x x F x F x + F x, x x + L 2 x x 2. En déduire que si τ 1/L, 3 entraine que pour tout x C : F x + 1 2τ x x 2 F ˆx + 1 2τ x ˆx 2. 4 L inégalité de gauche découle de la convexité, celle de droite s obtient en écrivant F x = F x + 1 0 F x + F x, x x + F x + tx x, x x dt 1 0 F x + tx x F x, x x dt F x + F x, x x + 1 0 Lt x x 2 dt. Par la première inégalité et 3, on a F x + 1 2τ x x 2 F x + F x, ˆx x + 1 2τ ˆx x 2 + 1 2τ x ˆx 2. On utilise alors F x + F x, ˆx x F ˆx L/2 ˆx x 2 et 1/τ L pour conclure. 7. Taux de convergence. En déduire que F x n+1 F x n puis, en prenant x = x dans l inégalité 4, F x n F x 1 2nτ x x 0 2 pour tout n. Comment interpréter ce résultat? On écrit 4 avec x = x n, ˆx = x n+1, et pour commencer x = x n : on trouve F x n+1 + x n x n+1 2 /2τ F x n ce qui entraine bien la décroissance des F x n. On a alors F x k+1 F x + 1 2τ x x k+1 2 1 2τ x x k 2 pour tout k 0 : si on somme cette inégalité de k = 0 à n 1 on trouve n F x k F x + 1 2τ x x k 2 1 2τ x x 0 2 k=1 mais comme F x k F x F x n F x, on en déduit l inégalité demandée. 8. Algorithme accéléré Nesterov, Güler, Beck-Teboulle. On considère la suite t 0 = 0, t n = n + 1/2, n 1, et l algorithme suivant : on choisit x 0 = x 1 arbitrairement dans C et on pose pour n 0 x n+1 = T x n + t n 1 x n x n 1. t n+1 3
En prenant dans 4 ˆx = x n+1, x = x n + t n 1/t n+1 x n x n 1, x = [t n+1 1x n + x ]/t n+1 remarquer que x C, montrer que t 2 n+1f x n+1 F x + 1 2τ t n+1x n x n+1 x n x 2 En déduire que t 2 nf x n F x + 1 2τ t nx n 1 x n x n 1 x 2. 5 F x n F x 2 τn + 1 2 x0 x 2 Qu a-t-on amélioré par rapport au gradient projeté classique? L inégalité 4 s écrit F x n+1 + 1 2τt 2 n+1 t n+1 x n x n+1 x n x 2 tn+1 1x n + x F + t n+1 1 2τt 2 n+1 soit, en utilisant la convexité de F et en multipliant par t 2 n+1, t 2 n+1f x n+1 + 1 2τ t n+1x n x n+1 x n x 2 ou encore t n 1x n 1 x n x n x 2 t n+1 t n+1 1F x n + t n+1 F x + 1 2τ t nx n 1 x n x n 1 x 2 t 2 n+1f x n+1 F x + 1 2τ t n+1x n x n+1 x n x 2 t n+1 t n+1 1F x n F x + 1 2τ t nx n 1 x n x n 1 x 2. On remarque alors que t n+1 t n+1 1 = n+2n/4 = n 2 +2n/4 n+1 2 /4 = t 2 n sauf si n = 0, mais t 1 t 1 1 = 0 t 2 0, d où l inégalité demandée 5. Ainsi, en sommant cette inégalité de 0 à n 1, on obtient t 2 nf x n F x + 1 2τ t nx n 1 x n x n 1 x 2. 1 2τ x0 x 2 soit l inégalité de l énoncé. Elle montre que l erreur de l algorithme F x n F x décroit maintenant comme C/n 2 ce qui est bien meilleur que pour le gradient projeté à pas fixe normal. Exercice II. Algorithme d Uzawa : On veut résoudre dans un espace de Hilbert X min {Jx : F i x 0, i = 1,..., m} où J est C 1, α-convexe et les F i sont convexes et Lipschitziennes. L algorithme d Uzawa consiste à itérer à partir de p 0 donné : x n = arg min x X Jx + i p n i F i x 4
et p n+1 = Π R+ m pn + τf x n où τ est un pas suffisamment petit. On rappelle que J, C 1, est α-convexe si et seulement si si et seulement si pour tous les x, y X. On introduit le problème dual Jy Jx + Jx y x + α y x 2 2 Jx Jy x y α y x 2 max p 0 Gp où la fonction concave G est définie sur R + m par Gp = min x X Jx + i p i F i x. 6 On sait, par le Th. de Kuhn et Tucker et la forte convexité de J, qu il existe ˆx unique solution du problème et ˆp un multiplicateur de Lagrange, vérifiant la condition de point-selle : Jˆx + p F ˆx Jˆx + ˆp F ˆx Jx + ˆp F x pour tous p i 0 et tout x. On en déduit en particulier que Gp Gˆp = Jˆx car ˆp F ˆx = 0. On va montrer que l algorithme d Uzawa n est rien d autre qu un algorithme de gradient ascendant pour la maximisation de G. 1. Montrer qu il existe un unique x p qui réalise le minimum dans 6. Montrer qu il est caractérisé par Jx p y x p + p F y F x p 0 7 pour tout y x on considèrera les variations x p +ty x p pour t > 0 petit et on utilisera l inégalité de convexité pour F i avant de passer à la limite. En déduire que p x p est Lipschitzienne. Tout est dit... on a Jx p + p F x p Jx p + ty x p + p F x p + tf y F x p, etc. Ensuite, il faut écrire pour p, q : Jx p Jx q x q x p + p q F x q F x p 0, or on sait que Jx p Jx q x p x q α x p x q 2, donc α x p x q 2 p q F x p F x q L x p x q p q où L est une constante de Lipschitz de F : X R m. CQFD. 2. Montrer que G est dérivable en tout p, de gradient F x p R m. On écrira la minimalité du Lagrangien pour p et p + tq, t petit. 5
On a Gp = Jx p + p F x p Jx p+tq + p F x p+tq = Gp + tq tq F x p+tq, Gp + tq = Jx p+tq + p + tq F x p+tq Donc utilisant le fait que F et x p sont Lipschitz : tq F x p t 2 L2 q 2 d où le résultat. 3. Montrer que si p est un maximiseur de G, on a On utilisera 7. Que représente x p? On a par 7 α Jx p + p + tq F x p = Gp + tq F x p. tq F x p+tq Gp + tq Gp tq F x p Gp Gp α 2 x p x p 2. Jx p x p x p + p F x p F x p 0 On en déduit grâce à l α-convexité Gp Gp = Jx p Jx p p F x p Jx p x p x p + α 2 x p x p 2 p F x p α 2 x p x p 2 p F x p, comme F x p 0 et p 0 on conclut. Remarquons qu ici on a utilisé F x p 0 et p F x p = 0, ce qui est vrai si x p, p = ˆx, ˆp est un point-selle du Lagrangien, mais également si p est n importe quel maximiseur de G sur R + m : en effet dans ce cas l optimalité pour G dit que i Gp 0, avec égalité si p i > 0. Comme Gp = F x p, on voit qu on a p F x p = 0. Ainsi Gp = Jx p et x p, p est nécessairement un point-selle du Lagrangien et donc x p = ˆx est l unique minimiseur du problème tandis que p n est pas forcément unique. 4. En déduire en se basant sur l exercice précédent la convergence de l algorithme d Uzawa : plus précisément, si τ est assez petit, x n x p 2 C n où C est une constante qu on pourra expliciter. L algorithme d Uzawa n est rien d autre que la maximisation de G dont le gradient est Lipschitz par gradient projeté cf question 7. de l exercice précédent. Ici on doit prendre τ 1/L où L est la constante de Lipschitz de p F x p. 6
Exercice III. Algorithme du simplexe Résoudre par l algorithme du simplexe le programme linéaire min x 1 3x 3 + 3x 4 = 6 x 2 8x 3 + 4x 4 = 4 x 0 3x 3 x 4. Appliquons l algorithme du simplexe au problème proposé. On a 1 0 3 3 6 A = b = 0 1 8 4 4 De plus, c = 0, 0, 0, 3, 1 T. Étape I. Initialisation Afin d amorcer l algorithme, il faut exhiber un sommet. Le choix le plus simple consiste à choisir le sommet associé à B = 1 0 0 1 N = 3 3 8 4 Le sommet est donc x 0 = x 0 B, 0 où x0 B = 6, 4 0. Étape II. Calcul du coût réduit. c 0 N = c 0 N N 0 B 0 c 0 B 3 =. 1 Ainsi, c 0 N n est pas positif. x0 n est pas l optimum. On cherche xε = x B ε, x N ε où x N ε = 0, ε T. On a x B ε = x 0 B B 0 1 x N ε = 6 3ε 4 4ε Le plus grand choix possible pour ε est ε = 1 et x1 = x B 1 + x N 1 = 3e 1 + e 4. Poursuite des itérations Dans la base e 1, e 4, e 3, e 2, on a A = 1 3 3 0 0 4 8 1, B 1 = 1 3 0 4., N 1 3 0 = 8 1 7
De plus, x 1 B = 3, 1T, c 1 B = 0, 1T et c 1 N = 3, 0T. L inverse de B 1 est B 1 1 = 1 4 3 4 0 1 Le coût réduit est donc c 1 N = c 1 N N 1 B 1 c 1 N = Étant strictement positif, on a atteint l optimum. 1 1/4 8