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

Documents pareils