Académique Documents
Professionnel Documents
Culture Documents
Nicolas Forcadel
GM4
Ch.1 : Conditions nécessaires d’optimalité
Formulation du problème
Notion d’infimum et de minimum
On considère le problème d’optimisation
min J(u)
(PUad )
u ∈ Uad
La fonction J : Rn → R est appelée le coût et l’ensemble Uad 6= ∅ sur lequel
on minimise J est appelé l’ensemble admissible du problème.
Définition 1.1
Soient J : Rn → R une fonction et Uad un sous-ensemble non vide Rn . On
appelle infimum de J sur Uad la valeur l ∈ [−∞, +∞[ telle que
1. ∀u ∈ Uad , J(u) ≥ l,
2. il existe une suite (un ) d’éléments de Rn telle que ∀n ≥ 0,
l = inf J(u) .
u∈Uad
Notion d’infimum et de minimum
Remarque 1.2
1. L’infimum existe toujours. Il est fini (c’est-à-dire que l 6= −∞) si et
seulement si la fonction J est minorée sur Uad , c’est-à-dire s’il existe
une constante M ∈ R telle que
∀u ∈ Uad , J(u) ≥ M .
Remarque 1.4
1. Par abus de language, on appelle aussi minimum un élément ū ∈ Uad
satisfaisant les propriétés ci-dessus (en toute rigueur, ū devrait s’appeler
“argument du minimum”.)
2. Contrairement à l’infimum, le minimum n’existe pas toujours.
Existence d’un minimum
Fonctions coercives
Définition 1.5
Une fonction J est dite coercive sur Uad si
Remarque 1.6
Peu importe la norme k · k que l’on utilise puisque, sur Rn , toutes les normes
sont équivalentes. En pratique, on choisit la norme la plus adaptée à la
fonction J étudiée.
Exemples à connaitre
1. Soit A une matrice symétrique, carrée, de taille n × n, b un vecteur de
Rn , et c un réel. Alors la fonction J : Rn → R définie par
J(u) = uT Au + bT u + c
Théorème 1.8
On suppose que Uad est fermé et que J : Rn → R est continue et coercive
sur Uad . Alors (PUad ) admet un minimum global sur Uad
où ∂Uad est la frontière de Uad . Alors le problème (PUad ) admet une solution.
Conditions nécessaires d’optimalité
Soit Uad un sous-ensemble de Rn et J une application de Rn dans R. On
cherche le ou les minima du problème
min J(u)
(PUad )
u ∈ Uad
Définition 1.10
Soient H1 et H2 deux espaces de Hilbert et f : H1 7→ H2 . On appelle
dérivée directionnelle de f au point x ∈ H1 et dans la direction d ∈ H1 ,
notée f 0 (x; d), la limite suivante, si elle existe dans H2 :
f (x + εd) − f (x)
f 0 (x; d) = lim .
ε→0+ ε
Exemple 1.11
On considère la fonction f : R 7→ R qui à x associe |x|. Alors
d ∈ H1 → f 0 (x; d) ∈ H2
est linéaire continue. On note alors f 0 (x) ∈ L(H1 , H2 ) cet opérateur. Ainsi,
on a pour tout d ∈ H1
f 0 (x) · d = f 0 (x; d).
Finalement, on dit que f est Gâteaux-différentiable si elle est
Gâteaux-différentiable en tout x ∈ H1 .
Gradient
Définition 1.13
Soient H un espace de Hilbert, f : H → R et x ∈ H. Si f est
Gâteaux-différentiable en x, on appelle gradient de f en x, noté ∇f (x),
l’unique élément de H tel que
Définition 1.14
Soient H1 et H2 deux espaces de Hilbert et f : H1 7→ H2 . On dit que f est
Fréchet-différentiable en x ∈ H1 s’il existe un opérateur linéaire continu L de
H1 dans H2 tel que
f (x + h) − f (x) − Lh
lim = 0. (1)
||h||→0+ khk
Proposition 1.15
Soient H1 et H2 deux espaces de Hilbert et f : H1 7→ H2 . Si f est
Fréchet-différentiable en x ∈ H1 avec une dérivée L, alors f est
Gâteaux-différentiable en x et L = f 0 (x).
Quelques rappels d’analyse convexe
Ensemble convexe
Définition 1.16
Soit E un espace vectoriel réel. Un sous-ensemble C de E est convexe si
y y
x A
B
Définition 1.17
Soient H un espace de Hilbert et f : H 7→ R. L’épigraphe de f est la partie
de l’espace produit R × H qui est au-dessus de son graphe
Définition 1.18
Soient H un espace de Hilbert et f : H 7→ R. On dit que la fonction f est
convexe si son épigraphe est convexe dans R × H. On dit que f est concave
si −f est convexe.
Fonction convexe
Proposition 1.19
Soient H un espace de Hilbert et f : H 7→ R. La fonction f est convexe si
et seulement si pour tout x, y ∈ H et pour tout λ ∈]0, 1[
Définition 1.21
Soient H un espace de Hilbert et f : H 7→ R. On dit que la fonction f est
fortement convexe de module α (ou α-convexe), si pour tout x, y ∈ H et
pour tout λ ∈]0, 1[, on a
α
λ(1 − λ)kx − yk2 + f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y). (4)
2
Une fonction fortement est donc strictement convexe avec une inégalité de
convexité renforcée par un terme quadratique lui donnant une “courbure” au
moins égale à α.
Convexité et dérivées premières
∇J(ū) = 0
Remarque 1.25
1. Rappelons qu’il existe une condition du second ordre, pour les
applications de classe C 2 : la matrice symétrique HessJ (ū) est une
matrice positive, c’est à dire que ses valeurs propres sont toutes
positives ou nulles.
2. La preuve de ce résultat étant le prototype des preuves en optimisation,
il faut absolument la connaitre.
Inéquation d’Euler
Théorème 1.27
Si un point ū est un point de minimum local de J sur Uad , alors il existe
p0 ∈ R+ , p ∈ Rl+ et q ∈ Rm avec
P
i) i pi gi (ū) = 0 (condition d’exclusion)
ii) (p0 , p, q) 6= 0P P
iii) p0 ∇J(ū) + i pi ∇gi (ū) + j qj ∇hj (ū) = 0 (condition nécessaire)
Remarque 1.28
1. Le vecteur (p0 , p, q) est appelé le multiplicateur généralisé associé à
la solution ū (“généralisé”, car, comme nous le verrons plus loin, on
peut en général prendre p0 = 1).
2. La condition d’exclusion signifie que, si i ∈
/ I(ū), alors pi = 0.
3. Il est tout à fait possible que p0 = 0 dans l’expression précédente. Ce
cas est cependant assez “pathologique”, au sens où il correspond à une
contrainte peu “régulière”. Le “vrai” théorème de Kuhn & Tucker
affirme que, si la contrainte est “qualifiée”, on peut prendre p0 = 1
4. La partie importante du théorème est, bien sur, la condition nécessaire.
5. On appelle Lagrangien généralisé la fonction
X X
L(u, p0 , p, q) = p0 J(u) + pi gi (u) + qj hj (u)
i j
et
∀i ∈ I(ū) , h∇gi (ū), vi < 0 .
Remarque 1.30
La notion de qualification n’est pas du tout géométrique. Deux ensembles de
contraintes peuvent définir le même ensemble, l’un étant qualifié, l’autre non.
La définition précédente n’est valable que pour les contraintes non linéaires.
Le théorème de Kuhn & Tucker pour les contraintes
qualifiées
Si la contrainte Uad est qualifiée, le théorème de Kuhn & Tucker peut se
reformuler de la façon suivante :
Théorème 1.31
Soit Uad la contrainte fermée définie par
Si un point ū est un minimum local de J sur Uad et si Uad est qualifiée en ū,
alors il existe λ ∈ Rl+ et µ ∈ Rm avec
P
i) i λi gi (ū)
P= 0 P (condition d’exclusion)
ii) ∇J(ū) + i λi ∇gi (ū) + j µj ∇hj (ū) = 0 (condition nécessaire)
Proposition 1.32
On suppose qu’il existe un point u0 de Uad tel que
où
l
X
∇u L(u∗ , λ∗ ) = ∇J(u∗ ) + λ∗i ∇gi (u∗ )
i=1
Les conditions nécessaires sont suffisantes
Lemme 1.34
Soit F : Rn → R une application convexe de classe C 1 . Le point x∗ est un
minimum de F sur Rn , si et seulement si, ∇F (x∗ ) = 0.
Théorème 1.35
Si la contrainte est qualifiée, tout point vérifiant les conditions nécessaires
d’optimalité est un minimum du problème (PUad ).
Dualité
On note L : Rn × Rl+ → R le Lagrangien du problème défini par
L(u, λ) = J(u) + λT g(u).
Définition 1.36
On dit que (u, λ) ∈ Uad × Rl+ est un point-selle de L si pour tout
µ ∈ Rl+ , v ∈ Uad , on a
Proposition 1.37
Soit U un ouvert de Rn contenant Uad . On suppose que les fonctions J et gi
sont convexes et de classe C 1 sur U et que (u, λ) ∈ U × Rl+ est un
point-selle de L sur U × Rln . Alors u ∈ Uad et
i) λT g(u) = 0
Théorème 1.38
On suppose que la contrainte est qualifiée et que le problème (PUad ) admet
au moins une solution. Alors
Le problème
max d(λ) (DUad )
λ∈Rl+
Remarque 1.40
Le problème dual - quand il est connu - est souvent plus simple à résoudre
numériquement que le problème primal
Ch.2 : Méthodes numériques
Optimisation sans contrainte
Algorithme du gradient
Soit f : Rn → R une application de classe C 1 . Intuitivement, le
fonctionnement de ces algorithmes est assez simple: on cherche à se déplacer
dans la direction inverse du gradient. En effet, si on définit une trajectoire x
telle que
ẋ(t) = −∇f (x(t))
x(0) = x0
on voit que l’on a bien une direction de descente puisque
d
f (x(t)) = ∇f (x) · ẋ(t) = − |∇f (x(t))|2
dt
ce qui est strictement négatif, sauf si ∇f (x(t)) = 0.
L’idée de ces algorithmes est alors de discrétiser la trajectoire x. Le plus
simple est de faire une discrétisation d’Euler et on obtient alors l’algorithme
du gradient à pas fixe.
Gradient à pas fixe
xk+1 = xk − τ ∇f (xk ) ∀k ≥ 0 .
Théorème 2.41
On suppose que f est de classe C 1 et vérifie
et
h∇f (x) − ∇f (y), x − yi ≥ αkx − yk2 , (7)
où L ≥ 0 et α > 0. Soit x̄ un (=le) minimum de f sur Rn . Si τ < 2α/L2 ,
alors il existe θ ∈]0, 1[ tel que
Remarque 2.42
1. La condition (7) dit que f est strictement convexe (en fait α-convexe)
dans Rn et coercive. D’où l’existence et l’unicité du minimum.
2. On parle de convergence linéaire. Noter que
τ = α/L2 .
xk+1 = xk − τ k ∇f (xk )
avec
τ k = argmint≥0 f xk − t∇f (xk )
Notons que le problème intermédiaire qui consiste à calculer τ k est assez peu
coûteux, car c’est un problème 1 dimensionnel.
Théorème 2.43
Sous l’hypothèse (7), si x̄ est le minimum du problème, alors la suite (xk )
converge vers x̄.
Algorithme de Newton
Algorithme de Newton
L’algorithme du gradient à pas fixe repose sur l’idée que la direction −∇f (x)
est une direction de descente pour f . L’algorithme de Newton cherche au
contraire à résoudre l’équation ∇f (x) = 0. En particulier, on sait que si f
est convexe, alors cela donne bien un point de minimum.
Pour cela, on suppose maintenant que f : Rn → R est de classe C 2 et que
Hessf (x) est inversible pour tout x ∈ Rn .
I Fixons un pas τ > 0 et une position initiale x0 ∈ Rn .
I On définit par récurrence la suite
Remarque 2.45
1. On parle maintenant de convergence quadratique.
2. En fait le résultat de convergence reste vrai si les conditions sur f ne
sont vérifiées que dans un voisinage de x̄.
Problèmes avec contraintes
Le gradient projeté
Projection sur un ensemble convexe fermé
min kx − yk2
x∈K
Proposition 2.46
Si K est un convexe fermé, alors il existe une seule projection PK (y) de y
sur K. Le point PK (y) est le seul élément de K satisfaisant l’inégalité
∀z ∈ K, hy − PK (y), z − PK (y)i ≤ 0 .
Théorème 2.47
On suppose que f est une fonction fortement convexe de module α > 0 et
2α
que ∇f est M −Lipschitzienne. On suppose que ρ ∈]0, M 2 [. Alors
l’algorithme du gradient projeté converge, au sens où xk converge vers la
solution x∗ du problème.
Remarque 2.48
1. Sous les hypothèses du théorème, le minimum est unique.
min f (x)
Ax=b
où f est une fonction convexe de classe C 1 , A est une matrice m × n et b est
un vecteur de Rm . On sait que le problème dual est
où
d(λ) = minn f (x) + λT (Ax − b)
x∈R
L’idée de l’algorithme d’Uzawa est d’appliquer (au moins formellement)
l’algorithme du gradient à la fonction d. Il faut donc savoir calculer ∇d. Il se
trouve que d n’est pas toujours dérivable. Cependant, lorsque d est
dérivable, on peut calculer explicitement sa dérivée :
Lemme 2.49
Supposons que d soit différentiable en un point λ0 , et que x0 soit un
minimum du problème
Alors
∇d(λ0 ) = Ax0 − b .
Remarque 2.50
1. Il y a, en général, un lien très fort entre l’unicité du minimum du
problème minx L(x, λ0 ), et la différentiabilité de la fonction d en λ0 .
2. Mentionnons par exemple que, si la fonction f est fortement convexe,
alors la fonction d est différentiable en tout point.
Algorithme d’Uzawa
L’algorithme d’Uzawa n’est alors rien d’autre que l’algorithme du gradient
appliqué au problème dual :
I On se donne un paramètre strictement positif ρ et on initialise avec un
λ 0 ∈ Rm
I À l’étape k, (i) on résoud le problème (sans contrainte)
min f (x)
Ax≤b
où f est une fonction convexe de classe C 1 et A est une matrice l × n, b est
un vecteur de Rl et l’inégalité Ax ≤ b signifie que toute composante du
vecteur Ax est inférieure ou égale à la composante correspondante du
vecteur b :
∀i ∈ {1, . . . , l}, (Ax)i ≤ bi .
Le problème dual associé est
où
d(λ) = minn f (x) + λT (Ax − b)
x∈R
Algorithme d’Uzawa
Remarque 2.54
I Sous les hypothèses du théorème, le minimum est unique.
où [t]+ = max{0, t}. La pénalisation est dite extérieure car on s’attend à ce
que l’optimum x̄ du problème (P ) ne vérifie pas la contrainte x̄ ∈ K.
Méthodes de pénalité
Les méthodes de pénalisation intérieure ne concernent que des problèmes
avec contraintes d’inégalité, c’est-à-dire que J = ∅. On définit
Ω = {x ∈ Rn | gi (x) < 0, i ∈ I}
inf hc, xi
x∈Rn , Ax≥b, A0 x=b0
Définition 3.56
L’ensemble
Xad = {x ∈ Rn , Ax = b, x ≥ 0}
est appelé ensemble des solutions admissibles (ou réalisables). On appelle
sommet ou point extrémal de Xad tout point x ∈ Xad qui ne peut pas
s’écrire comme un combinaison convexe (non triviale) de deux autres points
de Xad , c’est à dire que l’on ne peut pas trouver y, z ∈ Xad et θ ∈]0, 1[ avec
y 6= x et z 6= x tels que x = θy + (1 − θ)z.
Solutions de base d’un problème sous
forme standard
On note
a11 a1k a1n
A1 := ... , . . . , Ak := ... , . . . , An := ... ,
B := {γ ∈ Γ, Rg(Aγ ) = m} .
Enfin, pour chaque γ ∈ Γ, on note γ̂ l’unique application strictement
croissante de {1, . . . , n − m} dans {1, . . . , n} telle que
Définition 3.57
Pour γ ∈ B la matrice Aγ est appelée base associée à (PL ). On dit alors que
les variables xγ(1) , . . . , xγ(m) sont les variables en base (pour γ) et les
variables xγ̂(1) , . . . , xγ̂(n−m) sont les variables hors base (pour γ).
Solutions de base
Pour γ ∈ B et x ∈ Rn , on note
et
B := Aγ , N := Aγ̂ .
On a alors
Ax = BxB + N xN .
Le système Ax = b se réécrit donc (puisque B est inversible)
xB = B −1 b − B −1 N xN .
Définition 3.58
On appelle solution de base du système Ax = b associée au choix de base
γ ∈ B la solution x∗ définie par
Définition 3.59
On dit que la solution de base x∗ du système Ax = b associée au choix de
base γ ∈ B est une solution de base réalisable si de plus x∗ ∈ Xad . Dans ce
cas, on dit que la base γ est une base réalisable et on note R l’ensemble des
bases réalisables. Finalement, on dit que la solution de base réalisable x∗ est
non dégénérée si toutes les composantes de x∗B sont strictement positives.
Propriétés des solutions de base réalisable
Lemme 3.60
Les sommets du polyèdre Xad sont exactement les solutions de base
réalisable.
Proposition 3.61
S’il existe une solution optimale du programme linéaire standard (PL ), alors
il existe une solution optimale de base réalisable.
Remarque 3.62
En appliquant les deux propositions précédentes lorsque c = 0 (toute solution
admissible est alors optimale), on voit que dès que Xad est non-vide, alors
Xad a au moins un sommet. Ceci n’est pas vrai pour des polyèdres généraux
(considérer un demi-espace de R2 ).
Algorithme du simplexe
Algorithme du simple
xB = x∗B − B −1 N xN , et cT x = cT x∗ + dT x,
Définition 3.64
On dit que le vecteur d est le vecteur des prix marginaux associé à la base γ.
Proposition 3.65
Soit γ une base réalisable et x∗ la solution de base associée à γ. Si le
vecteur des prix marginaux d est positif (i.e. toutes ses composantes sont
positives), alors x∗ est une solution optimale du problème (PL ). De plus, si
x∗ est une solution optimale non-dégénérée (i.e. B −1 b > 0), alors le vecteur
d est positif.
Pivot à partir d’une solution de base réalisable : critère de
Dantzig
Etant donné un choix de base γ ∈ B pour lequel la solution de base x∗ est
réalisable mais pas optimale, le but est de déterminer un autre choix de base
δ ∈ B pour lequel la solution de base associée y ∗ est réalisable et vérifie
cT y ∗ ≤ cT x∗ .
Cette méthode opère au moyen d’un pivot dans le sens où les ensembles
γ({1, . . . , m}) et δ({1, . . . , m}) ne diffèrent que d’un seul élément.
Pour ce faire, on note
Eγ := j ∈ {1, . . . , n − m}, dγ̂(j) < 0 .
Lemme 3.66
On suppose que Sγ,j ∗ = ∅. Alors, le problème (PL ) n’a pas de solution
optimale car la fonction coût n’est pas bornée inférieurement sur l’ensemble
admissible.
On suppose à partir de maintenant que la fonction coût est bornée
inférieurement sur l’ensemble acceptable et on fixe un i∗ ∈ {1, . . . , m} tel
que (B −1 N )i∗ j ∗ > 0 (là encore, plusieurs choix sont possibles!). On a alors
le résultat suivant:
Lemme 3.67
Soit δ ∈ Γ l’unique application telle que
Alors δ ∈ B.
Critère de Dantzig
cT y ∗ ≤ cT x∗ ,
On appelle variable sortante selon le critère naturel la variable xγ(i∗ ) telle que
x∗γ(i)
( )
i∗ = min i ∈ Sγ,j ∗ t.q. = tj ∗ .
(B −1 N )ij ∗
Critère de Bland
où
x̄ = (x1 , . . . , xn )T
c̄ = (c1 , . . . , cq , 0 . . . , 0)T
a11 . . . a1q 1 0 0 ... 0
a21 . . . a2q 0 1 0 ... 0
Ā = .
..
..
.
am1 . . . amq 0 0 . . . 0 1
b̄ = b
Détermination d’une première base réalisable
min cT x (PL )
x∈Rn , Ax=b,x≥0
min y1 + y2 + · · · + ym (10)
x∈Rn , Ax+y=b,x,y≥0
Détermination d’une première base réalisable
Les deux fonctions coûts apparaissant dans (PL ) et (10) n’ont aucun lien.
Par contre, si le problème (PL ) admet une solution réalisable, alors la
solution de (10) est 0 et inversement. Le gros avantage du problème (10) est
qu’il possède une solution de base réalisable évidente donnée par x = 0 et
y = b (d’où l’importance d’écrire b uniquement avec des composantes
positives). En appliquant la méthode du simplexe à (10), on va obtenir une
solution réalisable optimale de (10). Si le minimum est zéro, alors la solution
trouvée est une solution de base réalisable pour (PL ), alors que si le
minimum est strictement positif, le problème (PL ) n’admet pas de solution
réalisable (et donc ça ne sert à rien d’essayer de résoudre le problème...).
Méthode du tableau pour l’algorithme du
simplexe
On considère le problème
min z = cT x (11)
x∈Rq , Ax≤b, x≥0
bki∗ bki
= min .
aki∗ j ∗ k
i,akij ∗ >0 aij ∗
xγ̂ k+1 (1) . . . xγ̂ k+1 (q) xγ k+1 (1) xγ k+1 (2) . . . xγ k+1 (m)
ak+1
11 ... ak+1
1q 1 0 ... 0 bk+1
1 xγ k+1 (1
.. .. .. .. ..
ak+1
21 ... a2qk+1
0 . . . . .
.. .. .. .. .. .. ..
. . . . . 0 . .
ak+1
m1 ... amqk+1 0 ... 0 1 k+1
bm xγ k+1 (m
ck+1
1 ... cqk+1 0 ... ... 0 −z k+1
Que peut-on lire dans le tableau?
On a (pour la base γ k+1 )
−1
(ak+1
ij )ij = B N
−1
(bk+1 k+1 T
1 , . . . , bm ) : B b
(ck+1 k+1 T
1 , . . . , cq ) = dTN .
ak+1
mj
Dualité en optimisation linéaire
On considère à nouveau un problème d’optimisation linéaire sous forme
canonique
min cT x (P )
Ax≤b,x≥0
Ainsi, pour obtenir une borne inférieure sur la valeur cT x∗ , il suffit de trouver
une solution réalisable du problème dual de (P ) défini de la manière suivante:
Définition 3.73
Le problème dual de (P ) est le problème
cT x ≥ −bT y.
Corollaire 3.75
Si la fonction coût du problème primal n’est pas minorée sur son ensemble
réalisable, alors le problème dual ne possède aucune solution réalisable.
Inversement, si le problème dual n’est pas majoré sur son ensemble réalisable
alors le problème primal n’a pas de solution réalisable.
Remarque 3.76
Les réciproques des énoncés du corollaire précédent sont fausses en général.
Théorème de dualité de Gale, Khun et Tucker
Corollaire 3.78
Si le problème primal (P ) possède une solution optimale x∗ et si
d¯ = (d1 , . . . , dq+m ) désigne le vecteur des prix marginaux pour la base
réalisable correspondante à x∗ , alors une solution optimale du problème dual
(D) est donnée par
(y1∗ , . . . , ym
∗
) = (dq+1 , . . . , dq+m ).
Définition 3.79