Optimisation Quadratique - UMA

Transcription

Optimisation Quadratique - UMA
Optimisation Quadratique
Hasnaa Zidani
ENSTA ParisTech, UMA (pièce 2.4.26)
[email protected]
H. Zidani
Cours AO101 - Optimisation quadratique
1 / 70
Parcours de l’optimisation l’ENSTA:
ä 1ère année: Optimisation quadratique
ä 2e année (SIM): Optimisation différentiable (et
recherche opérationnelle)
ä 3e année: Master en optimisation
optimisation dynamique
optimisation en nombre entier
optimisation de grands systèmes
Applications, ...
H. Zidani
Cours AO101 - Optimisation quadratique
2 / 70
Motivation.
Optimiser des systèmes complexes afin d’obtenir la
meilleure performance, tout en satisfaisant des contraintes
de faisabilité (contraintes physiques, économiques, ...)
ã planification de missions aérospatiales
ã optimisation d’un portefeuille financier
ã couverture optimale d’un réseau (réseau de téléphonie,
énergie, ...)
ã optimisation de forme (forme d’une bouteille, d’un aile
d’avion, d’un pont, ... etc)
H. Zidani
Cours AO101 - Optimisation quadratique
3 / 70
Problèmes d’optimisation ... partout!
ä En physique, l’optimisation apparaı̂t dans la modélisation de
différents systèmes (biologie, mécanique, ..) ou dans l’identification de
processus d’évolution.
ä Dans les secteurs socio-économiques, elle fournit un moyen
mathématique rigoureux pour l’aide à la décision.
Outils mathématiques: permettent d’étudier l’existence et la
caractérisation de solution(s) optimale(s) (propriétés qualitatives).
Analyse algorithmique et numérique: approximation de solution
optimale. Stabilité et analyse de convergence.
H. Zidani
Cours AO101 - Optimisation quadratique
4 / 70
Intérêt et Applications
ä Les problèmes d’optimisation interviennent dans la modélisation
de nombreux problèmes rencontrés par l’ingénieur, le physicien, le
chercheur.
ä Applications: économie et gestion, finance, automatique et
robotique, trafic aérien, restauration d’images numérisées,
gestion d’energie, ... etc
H. Zidani
Cours AO101 - Optimisation quadratique
5 / 70
Optimisation de trajectoire: Lanceur Ariane 5 (Cnes)
• Vol depuis Kourou jusqu’à l’orbite GTO (orbite de transfert vers la géostationnaire)
• Equation de la trajectoire: (r, v) ∈ R3 × R3 ,
dr
=v
dt
− −
→
−
→
dmv →
= P + FT (r, v, u, α, γ) − FD (r, v, u, α, γ)
dt
dm
= Φ(m, t)
dt
u ∈ R: module de la poussée, α: l’angle de vol,
γ: l’angle de gı̂te.
• Contraintes sur la trajectoire: Flux thermique
Critère: maximisation de la charge utile
(m(t) = MEr + M2B + ME 1 + MC + Mcu ).
H. Zidani
Cours AO101 - Optimisation quadratique
6 / 70
Optimisation de trajectoire: Lanceur Ariane 5 (Cnes)
Maximiser Mcu (T )
avec CE (r, v, u, α, γ) = 0,
(Equation de la trajectoire)
avec CI ((r, v, u, α, γ) ≤ 0,
(Contrainte de flux thermique)
avec u ∈ U, α ∈ A, γ ∈ Γ
(autres contraintes physiques)
H. Zidani
Cours AO101 - Optimisation quadratique
7 / 70
Optimisation de portefeuille
0 Soit un portefeuille composé de n actions (a1 , . . . , an ).
0 xi représente la proportion de l’action ai dans le portefeuille.
X
xi = 1 = (u, x) et xi ≥ 0 i = 1, 2, . . . , n.
i
0 Le rendement de l’action ai est modélisé par une variable
aléatoire ri , de moyenne ei = E (ri ). On introduit le vecteur
rendement moyen e = (e1 , e2 , . . . , en )T
0 La matrice de covariance A est donnée par la relation
Ai,j = E [(ri − E (ri ))(rj − E (rj ))]
1 ≤ i, j ≤ n.
0 Le rendement du portefeuille est ε(x) = (e, x)
Le risque du portefeuille est σ(x) = 21 (Ax, x)
H. Zidani
Cours AO101 - Optimisation quadratique
8 / 70
Optimisation de portefeuille
Maximisation du rendement:
Maximiser(e, x)
1
(Ax, x) ≤ µo ,
2
(u, x) = 1, xi ≥ 0 i = 1, 2, . . . , n
Minimisation du risque:
1
Minimiser (Ax, x)
2
(e, x) ≥ αo ,
(u, x) = 1, xi ≥ 0 i = 1, 2, . . . , n
Remarque: µo et αo fixés par l’utilisateur
H. Zidani
Cours AO101 - Optimisation quadratique
9 / 70
Forme Générale
Trouver u ∈ K , tel que J(u) = inf
v ∈K J(v ),
où J est définie sur un ensemble K non vide, à valeurs dans R.
Objectifs du cours
0 Etudier l’existence & l’unicité d’une solution u.
0 Caractérisation de la solution.
0 Etudier des algorithmes permettant de calculer la solution.
H. Zidani
Cours AO101 - Optimisation quadratique
10 / 70
Partie I :
H. Zidani
Existence et unicité de minimum.
Cours AO101 - Optimisation quadratique
11 / 70
Quelques Définitions.
Définition
u est un point de minimum local de J sur K si, et seulement si
∃η > 0,
∀v ∈ K ,
kv − uk < η ⇒ J(u) ≤ J(v ).
u est un point de minimum global de J sur K si, et seulement si
∀v ∈ K , J(u) ≤ J(v ).
H. Zidani
Cours AO101 - Optimisation quadratique
12 / 70
Définition
Une suite (uk )k∈N ⊂ K est une suite minimisante ssi,
lim J(uk ) = inf
k→+∞
v ∈K J(v ).
Remarque. Par définition de la notion d’infimum, il existe toujours des
suites minimisantes!
Ces suites convergent-elles?
La limite (si elle existe) est-elle un point de minimum?
La limite est-elle unique?
H. Zidani
Cours AO101 - Optimisation quadratique
13 / 70
Existence d’un minimum
Théorème (Voir Théorème 2.2.1, Poly-page 10)
Si K est compact et J est continue sur K . Alors J atteint son minimum:
∃umin ∈ K ,
tel que
J(umin ) = inf
v ∈K J(v ).
Rappel (admis)
ä dans Rn , K est un compact ssi K est un fermé borné
ä dans un compact de Rn , toute suite bornée admet une sous-suite
convergente.
H. Zidani
Cours AO101 - Optimisation quadratique
14 / 70
Idée de la preuve:
N On considère une suite minimisante (un )n ⊂ K .
N K étant un compact, on peut extraire de (unk )k ⊂ K une sous suite
convergente vers une limite u ∈ K .
N En utilisant la continuité de J, on obtient :
J(u) = lim J(unk ) = inf
k→+∞
v ∈K J(v ).
D’où u est un minimum de J sur K.
c.q.f.d
H. Zidani
Cours AO101 - Optimisation quadratique
15 / 70
Que se passe-t-il si K n’est pas borné?
Définition
On dit qu’une fonctionnelle J est infinie à l’infini ssi,
lim
v ,kv k→+∞
J(v ) = +∞.
On dit qu’une fonctionnelle J est infinie à l’infini sur K ssi,
lim
v ∈K ,kv k→+∞
H. Zidani
J(v ) = +∞.
Cours AO101 - Optimisation quadratique
16 / 70
Théorème (Existence d’un min, K non borné, Poly-page 10)
Si K est fermé non vide , J est continue, et J infinie à l’infini sur K , alors
J admet un minimum global sur K .
Ce théorème dit qu’on peut remplacer l’hypothèse “K compact” par “K
fermé et J infinie à l’infini”.
H. Zidani
Cours AO101 - Optimisation quadratique
17 / 70
Idée de la preuve:
N On considère une suite minimisante (un )n ⊂ K , i.e:
lim J(un ) = inf
n
v ∈K J(v ).
(1)
N (un )n est bornée: En effet, s’il existait une sous-suite unk ∈ K , telle
que kunk k → +∞, J étant “infinie à l’infini’ sur K, on obtiendrait que
limnk J(unk ) = +∞. Ce qui contredit (1).
N On extrait une sous-suite (unk )k convergente vers une limite u.
N K étant fermé, on conclut que u ∈ K .
N En utilisant la continuité de J, on obtient :
J(u) = lim J(unk ) = inf
k→+∞
v ∈K J(v ).
D’où u est un minimum de J sur K.
c.q.f.d
H. Zidani
Cours AO101 - Optimisation quadratique
18 / 70
Remarques:
F L’hypothèse “K est fermé” est indispensable.
F Le théorème précédent n’est plus valable si K est une partie d’un
espace E de dimension infinie.
H. Zidani
Cours AO101 - Optimisation quadratique
19 / 70
Unicité du minimum: Notion de convexité
Définition
On dit que l’ensemble K est convexe ssi
θu + (1 − θ)v ∈ K
∀u, v ∈ K , ∀θ ∈ [0, 1].
Définition
Soit K un convexe 6= ∅.
(i) J : K −→ R est convexe ssi
J(θu + (1 − θ)v ) ≤ θJ(u) + (1 − θ)J(v )
∀u, v ∈ K , ∀θ ∈ [0, 1].
(ii) J : K −→ R est strictement convexe ssi
J(θu + (1 − θ)v ) < θJ(u) + (1 − θ)J(v )
H. Zidani
Cours AO101 - Optimisation quadratique
∀u 6= v ∈ K , ∀θ ∈]0, 1[.
20 / 70
Théorème (Théorème 2.3.1, Poly-page 14)
Soient K un convexe non vide, et J convexe sur K .
Tout minimum local de J sur K est un minimum global
L’ensemble des minima est un ensemble convexe (éventuellement
vide).
Si de plus J est strictement convexe, alors il existe au plus un
minimum
H. Zidani
Cours AO101 - Optimisation quadratique
21 / 70
Preuve [Poly-page 14]:
ä Soit u un minimum local de J sur K ; donc
∃η > 0,
∀w ∈ K ,
kw − uk ≤ η ⇒ J(w ) ≥ J(u).
ä Soit v ∈ K . Pour θ ∈]0, 1[ suffisament petit, vθ = θv + (1 − θ)u
vérifie kvθ − uk < η et vθ ∈ K puisque K est convexe.
ä Donc J(u) ≤ J(vθ ), et la convexité de J implique que
J(vθ ) ≤ θJ(v ) + (1 − θ)J(u), ce qui montre bien que J(u) ≤ J(v ).
ä u est donc un minimum global sur K .
ä D’autre part, si u1 et u2 sont deux minima et si θ ∈ [0, 1], alors
v = θu1 + (1 − θ)u2 ∈ K et
J(v ) ≤ θJ(u1 ) + (1 − θ)J(u2 ) = inf
Donc v est encore un minimum de J sur K .
H. Zidani
Cours AO101 - Optimisation quadratique
w ∈K J(w ).
22 / 70
Rappels sur la différentiabilité. Notion de convexité
Définition
On dit que la fonctionnelle J, définie sur un voisinage de u ∈ Rn , est
dérivable (ou différentiable) en u au sens de Fréchet s’il existe une forme
linéaire dJ(u) continue sur Rn , qui vérifie:
∀h ∈ Rn
J(u + h) = J(u) + dJ(u).h + khkε(h),
où ε : Rn → R avec ε(h) → 0
quand khk → 0.
Remarque:
P dJ(u) est une forme linéaire sur Rn donc il existe p ∈ Rn tel que
dJ(u).h = (p, h) ∀h ∈ Rn .
On appelle p le gradient de J en u et on note p = ∇J(u).
P Si de plus u 7−→ dJ(u) est continue, alors on dit que J est C 1 .
H. Zidani
Cours AO101 - Optimisation quadratique
23 / 70
Rappels sur la différentiabilité. Notion de convexité
Définition
On dit que la fonctionnelle J, définie sur un voisinage de u ∈ Rn , est
dérivable (ou différentiable) au sens de Gateaux en u s’il existe p ∈ Rn tel
que :
J(u + td) − J(u)
∀d ∈ Rn
lim+
= (p, d).
t
t&0
Remarques.
P Une fonction dérivable au sens de Fréchet l’est aussi au sens de
Gateaux, mais la réciproque est fausse.
x6
Exemple: J(x, y ) =
pour (x, y ) 6= (0, 0),
(y − x 2 )2 + x 8
J(0, 0) = 0.
P On continuera à noter p = ∇J(u), même si J est Gateaux
différentiable sans être Fréchet différentiable.
H. Zidani
Cours AO101 - Optimisation quadratique
24 / 70
Rappels sur la différentiabilité. Notion de convexité
Proposition
Soient K un convexe non vide de Rn , et J : K → R.
Si J est de classe C 1 , alors on a:
J est convexe ⇐⇒ (∇J(x) − ∇J(y ), x − y ) ≥ 0,
∀x, y ∈ K ;
J est strict. convexe ⇐⇒ (∇J(x)−∇J(y ), x −y ) > 0, ∀x 6= y ∈K .
Si J est de classe C 2 , alors on a:
2
J est convexe ⇐⇒ ∇ J(x).d, d ≥ 0,
∀x ∈ K , ∀d ∈ Rn ;
J est strict. convexe ⇐⇒ ∇2 J(x).d, d > 0, ∀x ∈ K , ∀d 6= 0.
H. Zidani
Cours AO101 - Optimisation quadratique
25 / 70
Rappels sur la différentiabilité. Notion de convexité
Preuve (Dans le poly: Théorème 2.4.1, page 16. )
Montrons l’équivalence entre les assertions suivantes:
(i) J est convexe sur K
(ii) J(y ) ≥ J(x) + (∇J(x), (y − x)) , ∀x, y ∈ K
(iii) (∇J(x) − ∇J(y ), x − y ) ≥ 0, ∀x, y ∈ K
(iv) Si J est 2 fois différentiable,
∇2 J(x).d, d ≥ 0,
∀x ∈ K , ∀d ∈ Rn
H. Zidani
Cours AO101 - Optimisation quadratique
26 / 70
Preuve. Montrons l’équivalence entre les assertions
suivantes:
(i) J est convexe sur K
(ii) J(y ) ≥ J(x) + (∇J(x), (y − x)) , ∀x, y ∈ K
(iii) (∇J(x) − ∇J(y ), x − y ) ≥ 0, ∀x, y ∈ K
(iv) Si J est 2 fois différentiable,
∇2 J(x).d, d ≥ 0,
∀x ∈ K , ∀d ∈ Rn
Dans le poly: Théorème 2.4.1, page 16.
H. Zidani
Cours AO101 - Optimisation quadratique
27 / 70
H. Zidani
Cours AO101 - Optimisation quadratique
28 / 70
Partie II: Conditions de minimalité
4 Calcul différentiel
4 Equation d’Euler
4 Cas d’une fonctionnelle quadratique et contraintes affines.
H. Zidani
Cours AO101 - Optimisation quadratique
29 / 70
Nous allons maintenant chercher à obtenir des conditions nécessaires et
suffisantes de minimalité. Ces conditions seront utilisées pour tenter de
calculer un minimum.
Considérons le simple problème :
Trouver x0 ∈ [a, b], J(x0 ) = inf
y ∈[a,b] J(y ).
Si x0 ∈ [a, b[ on choisit x = x0 + h avec h > 0 petit et on écrit
J(x0 ) ≤ J(x) = J(x0 ) + hJ 0 (x0 ) + o(h).
En divisant par h et en faisant tendre h → 0, on obtient:
J 0 (x0 ) ≥ 0.
De même, on obtient J 0 (x0 ) ≤ 0 si x0 ∈]a, b] en considérant x = x0 − h.
H. Zidani
Cours AO101 - Optimisation quadratique
30 / 70
Théorème
Considèrons K un ensemble convexe non vide. Soit u ∈ K et supposons
que J est différentiable en u.
u est un min. local =⇒(∇J(u), v − u) ≥ 0 ∀v ∈ K .
De plus si J est convexe, alors
u est un minimum ⇐⇒(∇J(u), v − u) ≥ 0 ∀v ∈ K .
( Théorèmes 3.2.3 et 3.2.4 du polycopié, pages 25–26)
H. Zidani
Cours AO101 - Optimisation quadratique
31 / 70
Théorème
Supposons que K = Rn ou u ∈ IntK .
1
Si J est différentiable, alors
u est un minimum =⇒ ∇J(u) = 0
2
Si de plus, J est 2 fois différentiable, alors
u est un minimum =⇒ (∇2 J(u)h, h) ≥ 0,
∀h ∈ Rn .
(Corollaire 3.2.1, page 23)
H. Zidani
Cours AO101 - Optimisation quadratique
32 / 70
1) Cas de contraines affines: K := {v | Cv = f } =
6 ∅
C est une matrice p × n et f ∈ Rp .
Soit u un min local. L’équation d’Euler en u s’écrit:
(∇J(u), v − u) ≥ 0
∀v ∈ K .
Ceci est équivalent à dire que:
(∇J(u), d) ≥ 0
ou encore
∀d ∈ KerC ,
∇J(u) ∈ [KerC ]⊥ .
Rappelons que [KerC ]⊥ = ImC T . Il en découle:
∇J(u) ∈ ImC T .
H. Zidani
Cours AO101 - Optimisation quadratique
33 / 70
Soit C une matrice p × n et f ∈ Rp .
Théorème
Soit u minimum du problème
min
v , Cv =f J(v ),
la condition nécessaire d’optimalité s’écrit:
∃λ ∈ Rp
∇J(u) + C T λ = 0,
Cu − f = 0.
(2)
Remarques.
: Si C est surjectif alors λ dans (2) est unique.
: Si J est convexe, alors (2) est une condition d’optimalité nécessaire et
suffisante.
H. Zidani
Cours AO101 - Optimisation quadratique
34 / 70
On introduit la fonctionnelle :
L(v , µ) = J(v ) + (Cv − f , µ),
∀(v , µ) ∈ Rn × Rp .
L est appelé: le Lagrangien
La condition d’optimalité du théorème précédent s’écrit:
∇v L(u, λ) = 0;
u est un minimum =⇒ ∃λ ∈ Rp ,
∇µ L(u, λ) = 0.
λ est appelé: multiplicateur de Lagrange.
H. Zidani
Cours AO101 - Optimisation quadratique
35 / 70
2) Cas d’une fonction quadratique et contraintes affines :
1
(P)
Minv ,Cv =f (Av , v ) − (b, v )
2
A ∈ Rn×n symètrique , C ∈ Rp×n , b ∈ Rn et f ∈ Rp .
N Si A est positive, alors le problème admet une solution
ssi
T
A C
u
b
∃(u, λ) ∈ Rn × Rp ,
=
. (3)
C 0
λ
f
N Si A est définie positive et rang C = p, alors le
système (3) (et le problème (P) aussi !) admet une
solution unique.
H. Zidani
Cours AO101 - Optimisation quadratique
36 / 70
3) Cas de contraines d’inégalité affines : K := {v | Cv ≤ f }
C est une matrice p × n, et f ∈ Rp .
Soit u un minimum local. L’inéquation d’Euler en u
s’écrit:
(∇J(u), v − u) ≥ 0 ∀v ∈ K .
Notons I (u) = {i ∈ {1, · · · , p} | Ci u = fi }.
Supposons que I (u) = {1, · · · , m}. et notons C # la
matrice formée par les m premières lignes de C . Alors,
∀d ∈ Rn | C # d ≤ 0.
(∇J(u), d) ≥ 0
H. Zidani
Cours AO101 - Optimisation quadratique
37 / 70
L’inéquation d’Euler implique alors:
(∇J(u), d) ≥ 0
∀d : C # d ≤ 0.
Il en résulte:
∃λ ∈ Rm , λ ≥ 0,
∇J(u) + (C # )T λ = 0.
Soient A une matrice m × n, y ∈ Rn : (Lemme de Farkas, Page 33)
(y , d) ≥ 0
H. Zidani
∀d : Bd ≤ 0 ⇐⇒ ∃λ ∈ Rm , λ ≥ 0, y = −B T λ.
Cours AO101 - Optimisation quadratique
38 / 70
Soit C une matrice p × n, et f ∈ Rp .
Théorème
Soit u minimum du problème
min
v , Cv ≤f J(v ),
la condition nécessaire d’optimalité s’écrit:

∇J(u) + C T λ = 0,
 ∃λ ∈ Rp
λ ≥ 0, Cu ≤ f ,

λj [Cu − f ]j = 0 pour j=1,··· ,p.
(4)
: Si J est convexe, alors (4) est une condition d’optimalité nécessaire et
suffisante.
H. Zidani
Cours AO101 - Optimisation quadratique
39 / 70
Exemple d’un problème avec contraintes affines:
Soit un portefeuille composé de n ≥ 3 actions (a1 , . . . , an ).
On note xi la proportion de l’action ai dans le portefeuille. Le vecteur
x = (x1 , . . . , xn )T qui représente la composition du portefeuille, vérifie
X
xi = 1 = (u, x).
i
Le rendement de l’action ai est modélisé par une variable aléatoire ri , de
moyenne ei = E (ri ). On introduit le vecteur rendement moyen
e = (e1 , e2 , . . . , en )T , puis la matrice de covariance A par la relation
Ai,j = E [(ri − E (ri ))(rj − E (rj ))]
1 ≤ i, j ≤ n.
Le rendement du portefeuille est calculé par la fonctionnelle ε(x) = (e, x),
tandis que le risque du portefeuille est calculé par la fonctionnelle
σ(x) = 21 (Ax, x).
H. Zidani
Cours AO101 - Optimisation quadratique
40 / 70
Partie III:
Algorithmes numériques de
minimisation sans contraintes
4 A. Métodes de descente:
Gradient, Gradient conjugué
4 B. Méthodes itératives
4 C. Critères de choix entre différents algorithmes de minimisation
H. Zidani
Cours AO101 - Optimisation quadratique
41 / 70
Nous allons nous interesser à des algorithmes permettant de calculer
numériquement la solution du problème:
1
Minv ∈Rn J(v ) = (Av , v ) − (b, v ).
2
Ces algorithmes consistent à choisir une condition initiale u0 ∈ Rn , puis
à construire une suite (uk )k≥1 qui converge vers la solution u recherchée.
e Comment construire la suite (uk )k≥1 ?
e La convergence de la suite est-elle assurée, quel que soit le vecteur
initial u0 ?
e La convergence est elle “suffisamment rapide”?
H. Zidani
Cours AO101 - Optimisation quadratique
42 / 70
A. Méthodes de descente. Principe général
Supposons l’itéré uk connu, on choisit une direction, dite de descente
dk 6= 0, un pas de descente ρk , et on construit l’itéré uk+1 par:
uk+1 = uk + ρk dk .
La choix de dk et ρk se fera de manière à assurer que:
J(uk+1 ) < J(uk ).
On repétera ce procédé tant que uk 6= u. Mais comme on ne connait pas
u, nous sommes donc obligés de trouver un autre critère d’arrêt.
H. Zidani
Cours AO101 - Optimisation quadratique
43 / 70
Rappelons que si uk = u, alors on aurait
∇J(uk ) = ∇J(u) = Auk − b = 0.
Nous sommes donc tentés de considérer le critère d’arrêt suivant :
Auk − b = 0.
Or on sait, que la précision des calculs numérique est finie, nous nous
contenterons alors du critère
kAuk − bk ≤ ε,
oû ε > 0 est une précision choisi par l’utilisateur.
H. Zidani
Cours AO101 - Optimisation quadratique
44 / 70
Il se pose alors, en plus des questions de convergence, d’autres questions
pratiques: colormmagenta
e Combien d’itération faut-il à la méthode pour arriver à un uk vérifiant
le test d’arrêt?
e Quel est le nombre d’opération à effectuer en chaque itération?
e On sait qu’a l’optimum, Au = b. Si on calcule kAuk − bk ≤ ε, quel
est l’erreur alors entre u et uk . De quoi cela depend-il?
H. Zidani
Cours AO101 - Optimisation quadratique
45 / 70
Méthode de relaxation.
Le choix de la direction de descente. On choisit une base orthonormale
(ei )1≤i≤n . On considére alors les directions de descente:
d0 = e1 ,
d1 = e 2 ,
...,
dn−1 = en
Si après n itérations l’algorithme n’a pas convergé, on prend
dn = e1 ,
dn+1 = e2 ,
...,
d2n−1 = en
et ainsi de suite ...
Pour k = l ∗ n + (i − 1),
H. Zidani
dk = ei
Cours AO101 - Optimisation quadratique
46 / 70
Le choix du pas de descente. A chaque itération, on choisit la valeur de
ρk qui minimise la fonction:
f : ρ 7−→ J(uk + ρdk ).
On remarque que (où J(v ) = 12 (Av , v ) − (b, v )):
f (ρ) =
ρ2
(Adk , dk ) + ρ(Auk − b, dk ) + J(uk ).
2
Comme (Adk , dk ) 6= 0, le minimum ρk de f est:
ρk =
H. Zidani
(b − Auk , dk )
(−∇J(uk ), dk )
=
.
(Adk , dk )
(Adk , dk )
Cours AO101 - Optimisation quadratique
47 / 70
L’algorithme de relaxation.
1
2
On choisit u0 ∈ Rn , et une tolérance ε > 0.
Pour k = l ×n + i − 1, connaissant uk , tant que kAuk − bk > ε, on
prend
dk = e i
(b − Auk , ei )
−(∇J(uk ), ei )
ρk =
=
(Aei , ei )
(Aei , ei )
uk+1 = uk + ρk ei
H. Zidani
Cours AO101 - Optimisation quadratique
48 / 70
Théorème
Si A est une matrice symètrique définie-positive, alors la méthode de
relaxation est convergente.
Proposition 5.3.1, page 61 du poly.
H. Zidani
Cours AO101 - Optimisation quadratique
49 / 70
Méthode du gradient à pas fixe.
Le choix de la direction de descente. Remarquons que :
J(x + ρd) ' J(x) + ρ (∇J(x), d) .
On cherche la direction de la plus grande descente d:
J(x + ρd) − J(x) ' ρ (∇J(x), d) << 0
Cette direction est donnée par: d = −∇J(x).
A l’itération k, connaissant l’itéré uk , on prend comme direction de
descente :
dk = −∇J(xk ).
H. Zidani
Cours AO101 - Optimisation quadratique
50 / 70
Le choix du pas de descente. On fixe un paramètre ρ > 0. A chaque
itération k, on prend
ρk = ρ.
L’algorithme du gradient à pas fixe.
1
On choisit u0 ∈ Rn , une tolérance ε > 0, et un pas ρ > 0.
2
Pour k ≥ 0, tant que kAuk − bk > ε, on prend
dk = −∇J(uk ) = b − Auk ,
uk+1 = uk + ρk dk
H. Zidani
ρk = ρ,
Cours AO101 - Optimisation quadratique
51 / 70
Théorème
Soit A une matrice symétrique définie-positive. Si le pas ρ satisfait:
0<ρ<
2
λmax (A)
,
alors la méthode du gradient à pas fixe est convergente.
Proposition 5.3.2, page 64 du poly.
H. Zidani
Cours AO101 - Optimisation quadratique
52 / 70
Méthode du gradient à pas optimal.
Le choix de la direction de descente:
dk = −∇J(xk ).
Le choix du pas de descente. On choisit la valeur de ρk qui minimise la
fonction: f : ρ 7−→ J(uk + ρdk ).
−(∇J(uk ), dk )
kdk k22
ρk =
=
.
(Adk , dk )
(Adk , dk )
H. Zidani
Cours AO101 - Optimisation quadratique
53 / 70
L’algorithme du gradient à pas optimal.
1
On choisit u0 ∈ Rn , et une tolérance ε > 0.
2
Pour k ≥ 0, tant que kAuk − bk > ε, on prend
dk = −∇J(uk ),
kdk k22
ρk =
,
(Adk , dk )
uk+1 = uk + ρk dk
Théorème
Soit A une matrice symétrique définie positive. La méthode GPO est
convergente.
Proposition 5.3.3, page 66 du poly.
H. Zidani
Cours AO101 - Optimisation quadratique
54 / 70
Méthode du gradient conjugué.
uk+1 = uk + ρk dk .
On note dans toute la suite, gk = ∇J(uk ) = Auk − b.
Le choix de la direction de descente. L’idée est d’utiliser tous les
vecteurs gl pour 0 ≤ l ≤ k . On cherche alors uk+1 tel que:
J(uk+1 ) = min
v ∈uk +Gk J(v ),
avec Gk = Vect(g0 , g1 , . . . , gk ).
å gk+1 est orthogonale à Gk , i.e. (gk+1 , gl ) = 0, ∀0 ≤ l ≤ k.
å La méthode du GC converge en au plus n étape !
å (dl ) sont conjugués par rapport à A: (Adk , dl ) = 0 ∀k 6= l.
k
X
å dk+1 est donc de la forme : dk+1 = −gk+1 +
βk,l dl .
l=0

 βk,l = 0 ∀l ≤ k − 1;
kgk+1 k22
å (Adk+1 , dl ) = 0 ∀l ≤ k =⇒
.
 βk,k =
kgk k22
H. Zidani
kgk+1 k22
avec βk =
.
kgk k22
Cours AO101 - Optimisation quadratique
dk+1 = −gk+1 + βk dk ,
55 / 70
Le choix du pas de descente. On prend le pas optimal:
−(∇J(uk ), dk )
−(gk , dk )
kgk k2
ρk =
=
=
.
(Adk , dk )
(Adk , dk )
(Adk , dk )
L’algorithme du gradient conjugué.
1
On choisit u0 ∈ Rn et une tolérance ε > 0. On pose:
g0 = ∇J(u0 ) = Au0 − b,
2
d0 = −g0 .
Pour k ≥ 0, tant que kAuk − bk > ε, on prend
kgk k2
ρk =
;
uk+1 = uk + ρk dk ;
(Adk , dk )
gk+1 = ∇J(uk+1 ) = Auk+1 − b;
kgk+1 k22
βk =
;
dk+1 = −gk+1 + βk dk .
kgk k22
H. Zidani
Cours AO101 - Optimisation quadratique
56 / 70
Théorème
Soit A une matrice symétrique définie-positive. La méthode du GC
converge en au plus n itérations.
Remarques:
0 Même si le principe du départ est de chercher une direction de
descente dk+1 dans l’espace Gk+1 . Il s’avére que seuls les directions
gk et dk sont utilsés dans l’algorithme.
0 La convergence théorique est assurée en au plus n itérations.
Numériquement ce n’est pas toujours vrai .... (voir pc3)
H. Zidani
Cours AO101 - Optimisation quadratique
57 / 70
B. Méthodes itératives
Le minimum u est solution du système linéaire :
∇J(u) = Au − b = 0.
On peut le calculer en utilisant une méthode itérative dont le principe est :
1
On décompose la matrice A sous la forme: A = M − N
2
Partant de u0 ∈ Rn , on construit (uk )k par:
Muk+1 = Nuk + b,
i.e
uk+1 = M −1 Nuk + M −1 b.
(5)
Ces méthodes ne sont interréssantes que si le choix de M rend (5)
particulièrement facile à résoudre.
H. Zidani
Cours AO101 - Optimisation quadratique
58 / 70
uk − u = (M −1 N)k (u0 − u),
pour tout k ≥ 0.
La convergence de la méthode est alors assurée si et seulement si la suite
de matrices (M −1 N)k converge vers la matrice nulle.
Definition
Soit B une matrice n × n. On appelle rayon spectral de B, et on note
ρ(B), le maximum des modules des valeurs propres de B.
Lemme
Soit B ∈ Rn×n . Alors B k → 0 ⇐⇒ ρ(B) < 1.
(Voir Annexe B, Proposition B.0.5, page 105).
H. Zidani
Cours AO101 - Optimisation quadratique
59 / 70
Quelques propriétés du rayon spectral
Proposition
Soit B ∈ Rn×n .
(i) Pour toute norme induite k · k, on a: ρ(B) ≤ kBk.
(ii) Si B est symétrique, alors ρ(B) = kBk2 .
Et si de plus, B est positive, alors ρ(B) = λmax (B).
(Voir Annexe B pour la preuve).
Lemme
Soit A est une matrice symétrique définie positive. Si M T + N est définie
positive alors ρ(M −1 N) < 1.
Lemme 5.4.2, page 73.
H. Zidani
Cours AO101 - Optimisation quadratique
60 / 70
Exemples classiques de méthodes itératives
On note : D = diag(A),
Méthode de Jacobi.
M = D;
E = −trianginf (A),
F = −triangsup (A).
On choisit
N = E + F;
J := M −1 N = D −1 (E + F ).
L’algorithme s’écrit alors:
On choisit u0 ∈ Rn , une tolérance ε > 0,
Pour k ≥ 0, tant que kAuk − bk > ε, on calcule
uk+1 = J uk + D −1 b.
H. Zidani
Cours AO101 - Optimisation quadratique
61 / 70
Méthode de Gauss-Seidel. On choisit
M = (D − E );
N = F;
G := M −1 N = (D − E )−1 F .
L’algorithme s’écrit alors:
On choisit u0 ∈ Rn , une tolérance ε > 0,
Pour k ≥ 0, tant que kAuk − bk > ε, on calcule
uk+1 = Guk + (D − E )−1 b.
H. Zidani
Cours AO101 - Optimisation quadratique
62 / 70
Théorème
(i) Si A est symétrique et définie-positive, alors GS converge.
(ii) Si A est à diagonale strictement dominante, alors Gauss-Seidel et
Jacobi convergent.
(iii) Si A est tridiagonale, alors ρ(G) = ρ(J )2 .
H. Zidani
Cours AO101 - Optimisation quadratique
63 / 70
C. Critères de choix entre différents algorithmes de
minimisation
8 Le coût de chaque itération. Par exemple:
# Op. GPF : Au k − b → 2n2 = O(n2 )
u k+1
→ 2n + 2n2 = O(n2 )
# Op. GPO : dk
→ 2n2
ρk
→ [2n − 1] + [2n2 + 2n − 1] + 1
u k+1 → 4n2 + 6n − 1 = O(n2 )
H. Zidani
Cours AO101 - Optimisation quadratique
64 / 70
8 Vitesse de convergence:
Considérons une méthode de minimisation qui fournit une suite
(uk )k . On appelle taux de convergence, la plus petite constante
C > 0 telle que:
kuk+1 − uk ≤ C kuk − uk.
On définit aussi la vitesse de convergence par:
R = − ln(C ).
à La vitesse est d’autant plus grande que le taux de convergence
est petit.
à Il est clair que la méthode converge si C < 1.
H. Zidani
Cours AO101 - Optimisation quadratique
65 / 70
Proposition
Soit M, N une décomposition de A avec M inversible et A = M − N. La
méthode itérative associée à (M, N) a un taux de convergence
C = ρ(M −1 N).
Les vitesses de convergence des différentes méthodes de descente
seront établies en pc.
H. Zidani
Cours AO101 - Optimisation quadratique
66 / 70
8 Nombres d’itérations.
Ce critère est fortement lié au taux et à la vitesse de convergence. En
effet, si on fixe une tolérance ε > 0 et si la méthode de minimisation
est telle que:
kuk − uk ≤ C k ku0 − uk,
le # k d’itérations nécessaires pour avoir kuk − uk2 ≤ ε sera estimé
par:
C k ku0 − uk2 ≤ ε,
H. Zidani
k∼
ln(ε)
.
− ln (C )
Cours AO101 - Optimisation quadratique
67 / 70
8 Stabilité numérique: Conditionnement de A Observons le système
linéaire suivant : Ax = b avec
 


32
10 7 8 7
23
7 5 6 5

 .
A=
b
=
33
 8 6 10 9 
31
7 5 9 10
La solution de ce système est : x = (1, 1, 1, 1)t .
On perturbe légérement le vecteur b:


32, 1
22, 9

b + δb = 
33, 1 ,
30, 9
la solution alors du système Ax = b + δb est
x̃ = (9.2, −12.6, 4.5, −1.1)t .
Ainsi une perturbation de l’ordre de 1/200 sur b produit une variation
de 10/1 sur la solution !.
H. Zidani
Cours AO101 - Optimisation quadratique
68 / 70
Definition
Soit A une matrice inversible. On appelle conditionnement de A la quantité
cond(A) = kAkkA−1 k.
Théorème
Soient A une matrice inversible, et b, δb ∈ Rn . On considère les systèmes:
Au = b,
On a:
H. Zidani
A(u + δu) = b + δb.
kδbk
kδuk
≤ cond(A)
.
kuk
kbk
Cours AO101 - Optimisation quadratique
69 / 70
N Le conditionnement cond(A) dépend de la norme
choisie.
N Pour toute matrice inversible A, cond(A) ≥ 1.
N Soit A symétrique définie positive, alors:
λmax
.
κ(A) := cond2 = kAk2 kA k2 =
λmin
−1
H. Zidani
Cours AO101 - Optimisation quadratique
70 / 70

Documents pareils