Cours 3. Algorithmes d`optimisation sous contraintes
Transcription
Cours 3. Algorithmes d`optimisation sous contraintes
Cours 3. Algorithmes d’optimisation sous contraintes A. Désilles 2 octobre 2015 A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 1 / 19 Resume Résumé 1 Problème d’optimisation sous contraintes 2 Algorithmes de descente projetés Méthode de gradient projetée Méthode de Newton projetée 3 Méthodes duales Contraintes d’inégalité : condition d’optimalité d’ordre 1 Méthode d’Uzawa A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 2 / 19 Resume Résumé 1 Problème d’optimisation sous contraintes 2 Algorithmes de descente projetés Méthode de gradient projetée Méthode de Newton projetée 3 Méthodes duales Contraintes d’inégalité : condition d’optimalité d’ordre 1 Méthode d’Uzawa A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 2 / 19 Resume Résumé 1 Problème d’optimisation sous contraintes 2 Algorithmes de descente projetés Méthode de gradient projetée Méthode de Newton projetée 3 Méthodes duales Contraintes d’inégalité : condition d’optimalité d’ordre 1 Méthode d’Uzawa A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 2 / 19 Resume Résumé A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 3 / 19 Problème d’optimisation sous contraintes Définition du problème On considère le problème d’optimisation inf J(x) (1) x∈K avec un ensemble de contraintes K ⊂ Rn convexe et fermé. On supposera dans ce cours que J est deux fois différentable. Condition d’optimalité Si x0 ∈ K est une solution du problème d’optimisation ( 1) alors pour tout y ∈K h∇J(x0 ), x0 − y i ≤ 0 A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 4 / 19 Problème d’optimisation sous contraintes Projection sur K Soit x ∈ Rn . Puisque K est un ensemble convexe et fermé il existe un unique vecteur y ∈ K appelé "projection de x sur K et défini comme solution du problème de minimisation y = argminu∈K ku − xk On le notera y = PK (x). A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 5 / 19 Algorithmes de descente projetés Algorithmes de descente projetés : principe L’une des façons de résoudre un problème d’optimisation sous contraintes est d’adapter un algorithme de descente de façon à respecter, à chaque pas de l’itération, les contraintes. Supposons que l’on connaît une approximation xk ∈ K . Comme dans un algorithme de descente classique, on choisit une direction de descente dk : h∇J(xk ), dk i ≤ 0 et un pas αk On définit l’approximation suivante à l’aide de la projection xk+1 = PK (xk + αk dk ) A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 6 / 19 Algorithmes de descente projetés Critère d’arrêt Le critère d’optimalité pour un problème contraint n’implique pas que le gradient est nul : h∇J(x0 ), x0 − y i ≤ 0, ∀y ∈ K On ne peut donc plus utiliser la norme du gradient comme critère d’arrêt de l’algorithme On peut alors tester la convergence de la suite des itérations : kxk+1 − xk k < ε A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 7 / 19 Algorithmes de descente projetés Méthode de gradient projetée Algorithme de gradient projeté Dans cet algorithme la direction de descente choisie est −∇J(xk ). Données La fonctionnelle J, son gradient ∇J Une première approximation x0 ∈ Rn un pas fixe α > 0 La précision demandée ε > 0 Initialisation k = 0 Itérations Tant que kxk+1 − xk k > eps xk+1 = PK (xk − αk ∇J(xk )) k =k +1 Fin de tant que A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 8 / 19 Algorithmes de descente projetés Méthode de Newton projetée Rappel de méthode de Newton Une direction de Newton d Nt au point x est définie comme solution ∇2 J(x)d Nt = −∇J(x) Si ∇2 J(x) est définie positive, d Nt est une direction de descente. Elle minimise le développement limité d’ordre 2 de J au voisinage de x. Si ∇2 J(x) n’est pas définie positive, on peut la corriger, en utilisant la procédure de décomposition de Cholesky modifiée, qui permet de déterminer une matrice triangulaire inférieure L et un nombre réel τ > 0 tels que la matrice ∇2 J(x) + τ I soit définie positive et que ∇2 J(x) + τ I = LLT A priori, on ne peut pas garantir que x + d Nt ∈ K A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 9 / 19 Algorithmes de descente projetés Méthode de Newton projetée Algorithme de Newton projeté Données Fonction différentiable J : Rn → R. Le gradient de J : ∇J : Rn → Rn . Le hessien de J : ∇2 J : Rn → Rn×n . Une première approximation x0 ∈ K la précision demandée ε > 0 Résultat : Une approximation de minimum local Initialisation k = 0 A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 10 / 19 Algorithmes de descente projetés Méthode de Newton projetée Algorithme de Newton projeté Itérations Tant que kxk+1 − xk k > eps Calculer une factorisation de Cholesky modifiée ∇2 J(xk ) + τ I = Lk LT k Calculer yk en résolvant le système d’équations Lk LT k yk = −∇J(xk ) puis déterminer la projection sur K de xk + yk : zk = PK (xk + yk ) La nouvelle direction admissible est alors dk = zk − xk Déterminer un pas αk par recherche linéaire, avec α0 = 1 xk+1 = xk + αk dk k =k +1 A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 11 / 19 Algorithmes de descente projetés Méthode de Newton projetée Calcul de projections Le point commun des deux algorithmes présentés est le recours à chaque pas de l’itération à l’opérateur de projection sur l’ensemble de contraintes K . Le calcul d’une projection est lui même un problème d’optimisation avec contrainte. Cette approche est donc intéressante seulement si le calcul de la projection peut être réalisé explicitement ou par un algorithme très rapide. A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 12 / 19 Algorithmes de descente projetés Méthode de Newton projetée Calcul de projections Le point commun des deux algorithmes présentés est le recours à chaque pas de l’itération à l’opérateur de projection sur l’ensemble de contraintes K . Le calcul d’une projection est lui même un problème d’optimisation avec contrainte. Cette approche est donc intéressante seulement si le calcul de la projection peut être réalisé explicitement ou par un algorithme très rapide. A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 12 / 19 Algorithmes de descente projetés Méthode de Newton projetée Calcul de projections Le point commun des deux algorithmes présentés est le recours à chaque pas de l’itération à l’opérateur de projection sur l’ensemble de contraintes K . Le calcul d’une projection est lui même un problème d’optimisation avec contrainte. Cette approche est donc intéressante seulement si le calcul de la projection peut être réalisé explicitement ou par un algorithme très rapide. A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 12 / 19 Algorithmes de descente projetés Méthode de Newton projetée Projection sur un pavé Quand les contraintes sont de la forme ai ≤ xi ≤ bi , −∞ ≤ ai < bi ≤ +∞, i = 1, . . . , n l’ensemble K est un pavé : n Y K= [ai , bi ] i=1 Dans ce cas particulier il est facile d’exprimer le projeté d’un vecteur sur K . Soit u = (u1 , . . . , un ) ∈ Rn . Son projeté sr K v = (v1 , . . . , vn ) = PK (u) est défini par ai , si ui < ai u , si ai ≤ ui ≤ bi vi = i bi , si ui > bi A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 13 / 19 Algorithmes de descente projetés Méthode de Newton projetée Contraintes d’égalité linéaires Supposons que K = {x ∈ Rn , Ce x = fe } pour une matrice Ce ∈ Rm×n de rang m et un vecteur fe ∈ Rm donnés. Dans ce cas pour tout point x ∈ Rn le problème de projection inf y ∈Rn , Ce y =fe kx − y k2 admet une solution analytique : −1 y = x + CeT Ce CeT (fe − Ce x) Pour les systèmes de grande taille l’inversion de la matrice Ce CeT peut être faite avec une méthode de GC. A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 14 / 19 Méthodes duales Contraintes d’inégalité : condition d’optimalité d’ordre 1 Condition d’optimalité de Lagrange Considérons un problème d’optimisation inf J(x) x∈K avec un ensemble de contraintes de type inégalité linéaires : K = {x ∈ Rn , Ci x ≤ fi } où Ci ∈ Rp×n est une matrice de rang plein. A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 15 / 19 Méthodes duales Contraintes d’inégalité : condition d’optimalité d’ordre 1 Condition d’optimalité de Lagrange Théorème Soit x ∗ ∈ K un optimum local. Si Ci est de rang plein alors il existe un vecteur de multiplicateurs de Lagrange λ∗ ∈ Rp t.q. λ∗ ≥ 0 et ∇J(x ∗ ) + CiT λ∗ = 0 A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 16 / 19 Méthodes duales Contraintes d’inégalité : condition d’optimalité d’ordre 1 Problème dual On appelle lagrangien du problème la fonctionnelle L(x, λ) = J(x) + (Ci x − fi )T λ On appelle problème dual le problème suivant : sup inf n L(x, λ) λ≥0 x∈R On appelle le problème d’optimisation sous contraintes initial "problème primal" La fonctionelle L∗ (λ) = inf n L(x, λ) x∈R s’appelle fonction duale du problème Les conditions d’optimalité des deux problèmes sont les mêmes ! A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 17 / 19 Méthodes duales Contraintes d’inégalité : condition d’optimalité d’ordre 1 Problème dual Le calcul de la fonction duale est un problème d’optimisation sans contraintes La fonction duale est concave, même si J n’est pas convexe ! Le problème dual qui consiste à rechercher le maximum de L∗ (λ) sur l’ensemble Kλ = {λ ≥ 0} admet donc une unique solution. La structure de l’ensemble de contraintes Kλ est très simple et permet une projection explicite : PKλ (µ) = µ+ = max(µ, 0) A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 18 / 19 Méthodes duales Méthode d’Uzawa Algorithme d’Uzawa Initialisation k = 0 et λ0 = 0 Tant que kxk+1 − xk k > eps Calculer xk solution du problème d’optimisation sans contraintes xk = argminx∈Rn (J(x) + (Ci x − fi )T λk Calculer la nouvelle nouvelle approximation de λ en utilisant la méthode de gradient projeté : λk+1 = (λk +ρ∇λ L(xk , λk ))+ = (λk +ρ(Ci xk −fi )T λk )+ k =k +1 Fin de tant que A. Désilles Cours 3. Algorithmes d’optimisation sous contraintes 2 octobre 2015 19 / 19