Vous êtes sur la page 1sur 110

Optimisation numérique

Nicolas Forcadel

INSA de Rouen Normandie

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,

un ∈ Uad et lim J(un ) = l


n

Cette valeur est notée inf J(u):


u∈Uad

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 .

2. Si J n’est pas minorée, alors l’infimum de J est −∞.


3. Une suite (un ) telle que un ∈ Uad pour tout n ∈ N et

lim J(un ) = inf J(u)


n u∈Uad

est appelée une suite minimisante du problème de minimisation.


Notion d’infimum et de minimum
Définition 1.3
On appelle minimum de J sur Uad la valeur l ∈] − ∞, +∞[ (si elle existe)
pour laquelle il existe un élément ū ∈ Uad tel que
1. ∀u ∈ Uad , J(u) ≥ l .
2. J(ū) = l.
Cette valeur est notée min J(u).
u∈Uad
On dit alors que J atteint son minimum sur Uad en ū, ou que le problème
min J(u) admet une solution ū.
u∈Uad

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

lim J(u) = +∞.


kuk→∞,u∈Uad

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

est coercive, si et seulement si, A est une matrice définie positive.


Rappelons que toute matrice symétrique est diagonalisable. Une matrice
est positive, si et seulement si, toutes ses valeurs propres sont positives.
Elle est définie positive, si et seulement si, toutes ses valeurs propres
sont strictement positives. Si A est symétrique, on a les inégalités
suivantes :

∀u ∈ Rn , λmin kuk2 ≤ hAu, ui ≤ λmax kuk2

où λmin et λmax sont respectivement la plus petite et la plus grande


valeur propre de A. En particulier, si A est définie positive, alors
λmin > 0.
2. Toute fonction minorée par une fonction coercive est coercive.
Proposition 1.7
On suppose que la fonction J : Rn → R est de la forme
n
X
n
∀u = (u1 , . . . , un ) ∈ R , J(u) = Ji (ui )
i=1

où les fonctions Ji : R → R sont minorées et coercives. Alors J est coercive.


Existence d’un minimum

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

Si Uad est un ensemble ouvert, le problème est plus compliqué. Signalons la


condition suffisante suivante :
Proposition 1.9
On suppose que Uad est un ouvert borné, que J est continue sur Uad , et qu’il
existe un point u0 de Uad tel que

∀u ∈ ∂Uad , J(u) > J(u0 ) .

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

Dans ce chapitre, nous cherchons des conditions nécessaires d’optimalité,


c’est-à-dire des conditions, portant sur la dérivée de J, satisfaites par le ou
les minima du problème.
Plusieurs notions de différentiabilité
Dérivée directionnelle

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

f 0 (0; 1) = 1 et f 0 (0; −1) = 1.

Sur cet exemple, on voit que la dérivée directionnelle en un point x ne peut


pas être en général une fonction linéaire de la direction d.
Gâteaux-différentiabilité
Dans la notion précédente de différentiabilité directionnelle, on ne demande
pas qu’il y ait un lien entre les dérivées directionnelles suivant différentes
directions. En demandant un tel lien, on obtient la notion de différentiabilité
un peu plus forte suivante.
Définition 1.12
Soient H1 et H2 deux espaces de Hilbert et f : H1 7→ H2 . On dit que f est
Gâteaux-différentiable en x ∈ H1 si elle admet une dérivée directionnelle en
x suivant toutes les directions d ∈ H1 et si l’application

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

f 0 (x) · d = h∇f (x), di ∀d ∈ H.


Fréchet-différentiabilité

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

L’opérateur L est appelée la dérivée de f en x.


On voit clairement que si f est Fréchet-différentiable en x ∈ H1 alors f est
continue en x. Ceci n’est pas vrai si f est seulement Gâteaux-différentiable
en x (prendre par exemple f (x, y) = 1 si y > 0 et x = y 2 et f (x, y) = 0
sinon; f est alors Gâteaux-différentiable mais pas continue en (0, 0)). Il
s’avère que la notion de Fréchet-différentiabilité est plus forte que celle de
Gâteaux-différentiabilité.

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

∀x ∈ C, y ∈ C, ∀α ∈ [0, 1], αx + (1 − α)y ∈ C.

Autrement dit, un ensemble convexe contient toujours le segment [x, y]


joignant deux de ses points x et y. La figure suivante illustre cette notion.

y y

x A
B

Figure: A est convexe, B n’est pas convexe


Fonction convexe

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

epi(f ) = {(α, x) ∈ R × H, α ≥ f (x)}.

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[

f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y). (2)

La signification de l’inégalité de convexité (2) nous dit que pour être


convexe, il faut que sur tout segment [x, y], f reste en-dessous de la fonction
affine valant f (x) en x et f (y) en y
Fonction strictement convexe, fortement convexe
Définition 1.20
Soient H un espace de Hilbert et f : H 7→ R. On dit que la fonction f est
strictement convexe si pour tout x, y ∈ H avec x 6= y et pour tout λ ∈]0, 1[

f (λx + (1 − λ)y) < λf (x) + (1 − λ)f (y). (3)

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

Proposition 1.22 (Convexité et dérivées premières)


Soient H un espace de Hilbert et f : H → R une fonction (Fréchet)
différentiable. Alors les propriétés suivantes sont équivalentes:
(i) f est convexe sur H;
(ii) ∀x, y ∈ H, f (y) ≥ f (x) + f 0 (x) · (y − x);
(iii) ∀x, y ∈ H (f 0 (y) − f 0 (x)) · (y − x) ≥ 0.

Proposition 1.23 (α-convexité et dérivées premières)


Soient H un espace de Hilbert, f : H → R une fonction (Fréchet)
différentiable et α > 0. Alors les propriétés suivantes sont équivalentes:
(i) f est α-convexe sur H;
(ii) ∀x, y ∈ H, f (y) ≥ f (x) + f 0 (x) · (y − x) + α2 ||x − y||2 ;
(iii) ∀x, y ∈ H (f 0 (y) − f 0 (x)) · (y − x) ≥ α||x − y||2 .
Condition nécessaire d’optimalité dans un ouvert
Condition d’Euler
On suppose ici que Uad est un ouvert de Rn et que J une application de Rn
dans R de classe C 1 .
Théorème 1.24 (Condition d’Euler)
Soient Uad un ouvert de Rn et J est une application de Rn dans R de classe
C 1 . Si ū est un point de minimum local de J sur Uad , alors

∇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.26 (Inéquation d’Euler)


Soient Uad un sous ensemble convexe (non nécessairement ouvert) de Rn et
ū ∈ Uad . On suppose que J est différentiable en ū. Si ū est un point de
minimum local de J sur Uad , alors

h∇J(ū), (u − ū)i ≥ 0 ∀u ∈ Uad . (5)

Réciproquement, si ū ∈ Uad vérifie (5) et si J est convexe alors ū est un


minimum global de J sur Uad .
Le théorème de Kuhn & Tucker
Le théorème de Kuhn-Tucker avec Lagrangien généralisé
Dans le cadre général du théorème de Kuhn & Tucker, la contrainte Uad est
de la forme
Uad = {u ∈ Rn , gi (u) ≤ 0, i ∈ I, hj (u) = 0, j ∈ J}
où I = {1, . . . , l} indexe les contraintes d’inégalité et J = {1, . . . , m} indexe
les contraintes d’égalité. Les fonctions gi et hi sont toutes supposées de
classe C 1 de Rn dans R. Pour tout u ∈ Uad , on appelle contraintes saturées
les indices i ∈ {1, . . . , l} tels que gi (u) = 0 :
I(u) = {i ∈ {1, . . . , l} | gi (u) = 0}

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

La condition nécessaire d’optimalité s’écrit aussi


∂L
(ū, p0 , p, q) = 0 .
∂u
Le théorème de Kuhn & Tucker pour les contraintes
qualifiées
Définition 1.29 (Qualification)
On dit que la contrainte Uad est qualifiée en un point ū ∈ Uad si les deux
conditions suivantes sont satisfaites :
1. la famille {∇h1 (ū), . . . , ∇hm (ū)} est libre,
2. il existe un vecteur v ∈ Rn tel que

∀j ∈ {1, . . . , m} , h∇hj (ū), vi = 0

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

Uad = {u ∈ Rn , gi (u) ≤ 0, i ∈ I, hj (u) = 0, j ∈ J} .

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)

En d’autres termes, on peut prendre p0 = 1 dans le théorème 1.27. Nous


admettrons que le résultat reste valable sans hypothèse de qualification pour
des contraintes affines, c’est-à-dire lorsque gi et hi sont des fonctions affines.
Vocabulaire :
I Le vecteur (λ, µ) est appelé le multiplicateur de Lagrange du
problème associé à la solution ū.
I On appelle Lagrangien du problème la fonction
X X
L(u, λ, µ) = J(u) + λi gi (u) + µj hj (u).
i j

La condition nécessaire d’optimalité s’écrit aussi, sous les hypothèses du


théorème 1.31
∂L
(ū, λ, µ) = 0 .
∂u
Problèmes convexes et dualité
On considère le problème
min J(u) (PUad )
u∈Uad

où Uad = {u ∈ Rn | g1 (u) ≤ 0, . . . , gl (u) ≤ 0}. On suppose que les


applications J, g1 , . . . , gl sont convexes et de classe C 1 .
Une condition de qualification de la contrainte

Proposition 1.32
On suppose qu’il existe un point u0 de Uad tel que

∀i ∈ {1, . . . , l}, gi (u0 ) < 0 .

Alors la contrainte Uad est qualifiée.


Le théorème de Kuhn & Tucker exprimé en termes de
Lagrangien
Il est habituel d’introduire le Lagrangien du problème. Le Lagrangien est une
application L de Rn × Rl dans R définie par
l
X
T
L(u, λ) = J(u) + λ g(u) = J(u) + λi gi (u) .
i=1
Le théorème de Kuhn & Tucker s’écrit alors
Théorème 1.33
Si un point u∗ est un minimum de J sur Uad et si Uad est qualifiée en u∗ ,
alors il existe λ∗ ∈ Rl+ avec

i) (λ∗ )T g(u∗ ) = 0 condition d’exclusion




ii) ∇u L(u∗ , λ∗ ) = 0 condition nécessaire

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

L(u, µ) ≤ L(u, λ) ≤ L(v, λ).

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


ii) ∇u L(u, λ) = ∇J(u) + li=1 λi ∇gi (u) = 0.


P
Dualité

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

min J(u) = sup infn L(u, λ) = infn sup L(u, λ).


u∈Uad λ∈Rl+ u∈R u∈R λ∈Rl
+

De plus, le problème supλ∈Rl inf u∈Rn L(u, λ) a au moins une solution λ∗ et


+
le problème inf u∈Rn L(u, λ∗ ) a une solution u∗ qui est solution du problème
(PUad ).
Dualité

Définition 1.39 (Problème dual)


Posons
d(λ) = minn L(u, λ)
u∈R

Le problème
max d(λ) (DUad )
λ∈Rl+

est appelé problème dual de (PUad ).

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

I On se donne un paramètre strictement positif τ > 0 et une position


initiale x0 ∈ Rn ,
I On définit par récurrence la suite (xk ) :

xk+1 = xk − τ ∇f (xk ) ∀k ≥ 0 .

Le paramètre τ (ici fixe) est appelé le pas de l’algorithme.


Gradient à pas fixe

Théorème 2.41
On suppose que f est de classe C 1 et vérifie

k∇f (x) − ∇f (y)k ≤ Lkx − yk ∀x, y ∈ Rn , (6)

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

kxk+1 − x̄k ≤ θ kxk − x̄k ∀k ≥ 0 .

En particulier, la suite (xk ) converge vers x̄.


Gradient à pas fixe

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

kxk − x̄k ≤ kx0 − x̄kθk

3. On montrera dans la preuve que θ2 = (1 − 2ατ + L2 τ 2 ). Le pas optimal


théorique est celui qui minimise l’expression 1 − 2ατ + L2 τ 2 , i.e.,

τ = α/L2 .

4. Le problème du gradient à pas fixe est qu’il converge lentement près du


minimum.
Gradient à pas optimal

I On fixe une position initiale x0 ∈ Rn .


I La suite (xk ) est alors définie par récurrence :

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

xk+1 = xk − (Hessf (xk ))−1 ∇f (xk ) ∀k ≥ 0 .


ou, d’un point de vue plus pratique,
Hessf (xk )(xk+1 − xk ) = −∇f (xk ) ∀k ≥ 0 .
1 T
Notons que, si f est de la forme f (x) = 2 x Ax + bT x avec A définie
positive, alors l’algorithme converge en une étape. Plus généralement, xk+1
est le minimum de la fonction
1
x → (x − xk )T Hessf (xk )(x − xk ) + ∇f (xk )T (x − xk ) .
2
Algorithme de Newton
Théorème 2.44
On suppose que f est de classe C 2 , vérifie (6) et (7) pour certaines
constantes L > 0 et α > 0. On suppose également que Hessf est
lipschitzienne de constante de Lipschitz L :

k|Hessf (x) − Hessf (y)k| ≤ Lkx − yk

où k|Ak| est la norme matricielle de la matrice A. Si la condition initiale x0


est suffisament proche du minimum x̄ de f , alors la suite (xk ) converge vers
x̄ et
nL3
kxk+1 − x̄k ≤ 3 kxk − x̄k2
α

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é

Soit K un fermé de Rn . On appelle projection d’un point y ∈


/ K sur K tout
point x ∈ K réalisant le minimum du problème

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 .

De plus, l’application y → PK (y) est contractante au sens où

∀(y1 , y2 ) ∈ Rn × Rn , kPK (y1 ) − PK (y2 )k ≤ ky1 − y2 k


Soient K un convexe fermé de Rn et f : Rn → R une application convexe de
classe C 1 . L’algorithme du gradient projeté a la structure suivante :
I on se donne un paramètre strictement positif ρ et on initialise avec un
x0 ∈ K
I à l’étape k, on remet à jour xk en posant xk+1 = PK (xk − ρ∇f (xk ))

Théorème 2.47
On suppose que f est une fonction fortement convexe de module α > 0 et

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.

2. L’algorithme du gradient projeté est difficile à mettre en oeuvre dans le


cas général, car le calcul de la projection est souvent aussi difficile que le
problème initial. Cependant, cet algorithme peut être utilisé pour des
contraintes “simples”, de la forme x ≤ 0.
Algorithme d’Uzawa : contraintes d’égalité affines
On cherche à résoudre le problème suivant :

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

(D) max d(λ)


λ∈Rm

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

min f (x) + λT0 (Ax − b) .


x∈Rn

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) + (λk )T (Ax − b)


x∈Rn

Soit xk une solution de ce problème, (ii) on remet à jour λk en posant


λk+1 = λk + ρ(Axk − b)
Théorème 2.51

On suppose que f est une fonction α-convexe et que ρ ∈]0, kAk 2 [. Alors

l’algorithme d’Uzawa converge au sens où xk converge vers le minimum x∗


du problème. Si, de plus, la matrice A est de rang m, alors λk converge vers
le multiplicateur associé λ∗ .
Remarque 2.52
Sous les hypothèses du théorème, le minimum est unique.
Algorithme d’Uzawa : contraintes d’inégalité affines
On cherche maintenant à résoudre le problème suivant :

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

(D) max d(λ)


λ∈Rl+

où
d(λ) = minn f (x) + λT (Ax − b)
x∈R
Algorithme d’Uzawa

On a à résoudre un problème avec contrainte λ ≥ 0. Nous avons vu


précédemment que l’algorithme d’Uzawa, pour les contraintes d’égalité
affines, correspondait à un algorithme du gradient sur le problème dual.
Comme, ici, le problème dual est un problème avec contraintes, il faudra
appliquer un algorithme de gradient projeté.

Appelons P la projection sur l’orthant positif Rl+ :



0 si λi < 0
P (λ)i =
λi sinon
Algorithme d’Uzawa

L’algorithme d’Uzawa devient alors :


I On se donne un paramètre positif ρ et on initialise avec un λ0 ∈ Rl+
I à l’étape k, (i) On résoud le problème (sans contrainte)

min f (x) + (λk )T (Ax − b)


x∈Rn

Soit xk une solution de ce problème.


(ii) On remet à jour λk en posant λk+1 = P (λk + ρ(Axk − b))
Théorème 2.53

On suppose que f est une fonction α-convexe et que ρ ∈]0, kAk 2 [. Alors

l’algorithme d’Uzawa converge au sens où xk converge vers le minimum x∗


du problème. Si, de plus, la matrice A est de rang m, alors λk converge vers
le multiplicateur associé λ∗ .

Remarque 2.54
I Sous les hypothèses du théorème, le minimum est unique.

I La démonstration de ce résultat est identique à celle du théorème 2.51.


En effet, l’opérateur de projection vérifie l’inégalité

kP (λ1 ) − P (λ2 )k ≤ kλ1 − λ2 k

pour tout (λ1 , λ2 ) ∈ Rl × Rl .


Autres méthodes
Méthodes de pénalité
Les méthodes de pénalisations extérieures concernent des problèmes très
généraux de la forme
(P) min f (x)
x∈K
avec
K = {x ∈ Rn , gi (x) ≤ 0, i ∈ I, hj (x) = 0, j ∈ J}
où I = {1, . . . , l} indexe les contraintes d’inégalité et J = {1, . . . , m} indexe
les contraintes d’égalité. Les fonctions gi et hi sont toutes supposées de
classe C 1 de Rn dans R. On approxime (par exemple) ce problème par le
problème sans contrainte
 
l m
1 X X
(P ) minn f (x) + [[gi (x)]+ ]2 + [hj (x)]2 
x∈R 
i=1 j=1

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}

Le problème pénalisé prend alors (par exemple) la forme suivante


" l #
X
(P ) min f (x) −  log gi (x)
x∈Ω
i=1

Notez que s’il existe un optimum au problème pénalisé, alors celui-ci


appartient à l’intérieur de la contrainte K.
Ces méthodes sont difficiles à mettre en oeuvre pour obtenir des résultats
précis, car, quand  > 0 est “petit”, la pénalisation rend les algorithmes de
recherche très instables. Cependant, on peut se servir de ces méthodes pour
obtenir un résultat approché à partir duquel on peut démarrer un algorithme
plus fin.
Méthode de Frank et Wolfe

Elle concerne des problèmes de la forme

(P) min f (x)


Ax=b, x≥0

où f est différentiable, mais pas nécessairement convexe. On remplace le


problème non linéaire (P) par une suite de problèmes de programmation
linéaire. Supposons construits k points x1 , . . . , xk (les k premières itérations
de l’algorithme). Soit yk un minimum du problème

(Pk ) min h∇f (xj ), yi


Ay=b, y≥0

On choisit xk+1 de façon à minimiser f sur le segment [xk , yk ]. Si on


suppose que f est coercive, ou que la contrainte est bornée, alors on peut
montrer que la suite xk converge vers un point vérifiant les conditions
nécessaires d’optimalité du problème (P).
Approximation du système de Kuhn & Tucker

Une méthode d’approximation possible est de chercher les points vérifiant le


système de conditions nécessaires de Kuhn & Tucker. Voir par exemple
[Minoux, p. 219]
Ch.3 : Programmation linéaire et
algorithme du simplexe
Introduction
Un problème d’optimisation linéaire est un problème d’optimisation dans
lequel le critère et les fonctions définissant les contraintes sont linéaires (on
devrait dire affines). Il s’agit de trouver la solution x ∈ Rn du problème

min hc, xi (PL )


x∈Rn , Ax=b,x≥0

où A est une matrice de taille m × n, b ∈ Rm , c ∈ Rn et la contrainte


d’inégalité x ≥ 0 signifie que toutes les composantes de x sont positives ou
nulles. Un problème d’optimisation linéaire écrit de cette manière est dit
sous forme standard.
Dans la suite on supposera que m ≤ n et que le rang de A est exactement
m. En effet, si Rg(A) < m, certaines lignes de A sont liées et deux
possibilités se présentent : soit les contraintes sont incompatibles, soit elles
sont redondantes et certaines lignes sont donc inutiles.
Remarque 3.55
Le problème (PL ) semble être un cas particulier de programme linéaire
puisque les seules contraintes d’inégalités qui apparaissent sont x ≥ 0. En
fait, tout programme linéaire (sous forme canonique) du type

inf hc, xi
x∈Rn , Ax≥b, A0 x=b0

peut se remettre sous la forme standard, quitte à changer la taille des


données.

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 :=  ...  ,
     

am1 amk amn

les colonnes de la matrice A. Par hypothèse sur le rang de A, on peut


trouver m colonnes parmi A1 , . . . , An qui soient linéairement indépendantes.
En général, il n’y a pas unicité du choix. On note

Γ := {γ : {1, . . . , m} → {1, . . . , n} strictement croissante} .

Pour γ ∈ Γ, on note Aγ la matrice carrée de taille m



Aγ = Aγ(1) , . . . , Aγ(m) .

On définit également l’ensemble

B := {γ ∈ Γ, Rg(Aγ ) = m} .
Enfin, pour chaque γ ∈ Γ, on note γ̂ l’unique application strictement
croissante de {1, . . . , n − m} dans {1, . . . , n} telle que

γ ({1, . . . , m}) ∪ γ̂ ({1, . . . , n − m}) = {1, . . . , n}.

L’application γ̂ fournit donc en ordre croissant les indices complémentaires à


ceux atteints par γ.

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

xB := (xγ(1) , . . . , xγ(m) ), xN := (xγ̂(1) , . . . , xγ̂(n−m) )

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

x∗B = B −1 b, x∗N = (0, . . . , 0).


Solutions de base réalisable

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

L’algorithme du simplexe est dû à G. Dantzig dans les années 1940. Il


consiste à parcourir les sommets du polyèdre des solutions admissibles
jusqu’à ce que l’on trouve une solution optimale (ce qui est garantit si le
problème admet effectivement une solution optimale). L’algorithme du
simplexe ne se contente pas seulement d’énumérer tous les sommets, il
décroit la valeur du coût hc, xi en passant d’un sommet au suivant.
Lemme 3.63
Soient γ ∈ R et x∗ une solution de base réalisable. Pour x ∈ RN solution
réalisable, on a

xB = x∗B − B −1 N xN , et cT x = cT x∗ + dT x,

où le vecteur d est défini par

dTN = cTN − cTB B −1 N, et dTB = (0, . . . , 0).


Vecteur des prix marginaux

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 .

Soit j ∗ ∈ Eγ fixé (nous verrons ci-dessous plusieurs critère pour fixer ce j ∗ ).


On définit l’ensemble

Sγ,j ∗ := i ∈ {1, . . . , m}, (B −1 N )ij ∗ > 0 .



Pivot à partir d’une solution de base réalisable : critère de
Dantzig

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

δ({1, . . . , m}) = γ({1, . . . , m})\{γ(i∗ )} ∪ {γ̂(j ∗ )}.

Alors δ ∈ B.
Critère de Dantzig

Lemme 3.68 (Critère de Dantzig)


Sous les hypothèses du lemme précédent, si de plus
x∗γ(i∗ ) x∗γ(i)
= tj ∗ := min
(B −1 N )i∗ j ∗ i∈Sγ,j ∗ (B −1 N )ij ∗

alors δ est une base réalisable. De plus, si y ∗ désigne la solution de base


réalisable associée à la base δ, alors

cT y ∗ ≤ cT x∗ ,

l’inégalité étant stricte si tj ∗ 6= 0.


Critère naturel
Dans la méthode présentée ci-dessus permettant de passer de la base
réalisable γ à la base réalisable δ, il se peut que les indices j ∗ des variables
entrantes et i∗ des variables sortantes ne soient pas déterminés de manière
unique (si Eγ n’est pas réduit à un seul élément et si le minimum tj ∗ est
atteint pour plusieurs indices i). Dans ce cas, il est important d’ajouter des
critères additionnels permettant de déterminer j ∗ et i∗ de manière univoque.
Voici deux critères (on peut en imaginer beaucoup d’autres).
Définition 3.69 (Critère naturel)
On appelle variable entrante selon le critère naturel la variable xγ̂(j ∗ ) telle que

j ∗ = min j ∈ Eγ , dγ̂(j) = dγ̂(j ∗ ) .



dγ̂(j ∗ ) = min dγ̂(j) et
j∈Eγ

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

Définition 3.70 (Critère de Bland)


On appelle variable entrante selon le critère de Bland la variable xγ̂(j ∗ ) telle
que
j ∗ = min j.
j∈Eγ

On appelle variable sortante selon le critère de Bland la variable xγ(i∗ ) telle


que
x∗γ(i)
( )
i∗ = min i ∈ Sγ,j ∗ t.q. = tj ∗ .
(B −1 N )ij ∗
Détermination d’une première base réalisable
La méthode présentée ci-dessus nous permet de passer d’une base réalisable
à une autre en diminuant la fonction coût. Pour initialiser cette méthode, il
faut donc trouver une première base réalisable.
On considère dans un premier temps le problème d’optimisation sous forme
canonique suivant :
q
min cT x (8)
x∈R , Ax≤b,x≥0

où c = (c1 , . . . , cq et x = (x1 , . . . , xq )T sont des vecteurs de Rq ,


)T
A = (aij )1≤i≤m, 1≤j≤q est une matrice et b = (b1 , . . . , bm ) est un vecteur de
Rm .
Définition 3.71
On dit que le problème sous forme canonique (8) est un problème de
première espèce si toutes les composantes du vecteur b sont positives. Dans
le cas inverse, ou si le problème n’est pas sous forme canonique, on dit qu’il
s’agit d’un problème de deuxième espèce.
Détermination d’une première base réalisable
Comme nous l’avons déjà vu, on peut associer au problème (8) un problème
sous forme standard en ajoutant des variables d’écarts xq+1 , . . . , xq+m . Le
problème (8) est alors équivalent au problème suivant (avec n = m + q) :

min c̄T x̄ (9)


x̄∈Rn , Āx̄=b̄,x̄≥0

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

On obtient alors le lemme suivant, en utilisant la forme particulière de Ā:


Lemme 3.72
On suppose que toutes les composantes de b sont positives, alors le problème
sous forme standard (9) possède comme base réalisable celle obtenue en ne
retenant en base que les m variables d’écarts.
Détermination d’une première base réalisable

Il reste maintenant à traiter le cas d’un problème de deuxième espèce. On


considère le cas d’un système sous forme standard (on rappelle que tout
problème d’optimisation linéaire peut se mettre sous cette forme):

min cT x (PL )
x∈Rn , Ax=b,x≥0

Sans perte de généralité, on peut supposer que toutes les composantes de b


sont positives (sinon, il suffit des les multiplier, ainsi que les lignes de A
correspondantes, par −1). On introduit alors les variables ”fictives”
y = (y1 , . . . , ym ) ∈ Rm et on considère le problème

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

où c = (c1 , . . . , cq )T et x = (x1 , . . . , xq )T sont des vecteurs de Rq ,


A = (aij )1≤i≤m, 1≤j≤q est une matrice et b = (b1 , . . . , bm )T est un vecteur
de Rm vérifiant b ≥ 0. Il s’agit donc d’un problème de première espèce et
une base réalisable est donnée par γ 0 (i) = q + i (ce qui correspond aux
variables d’écarts).
On remplit alors un premier tableau de la façon suivante

xγ̂ 0 (1) . . . xγ̂ 0 (q) xγ 0 (1) xγ 0 (2) . . . xγ 0 (m)


a011 ... a01q 1 0 ... 0 b01 xγ 0 (1)
.. .. .. .. ..
a021 ... a02q 0 . . . . .
.. ... ... .. .. .. ..
. . . 0 . .
a0m1 . . . amq0 0 ... 0 1 0
bm xγ 0 (m)
c01 ... c0q 0 ... ... 0 0

avec a0ij = aij , b0i = bi et c0i = ci .


On initialise k = 0.
Si ckj ≥ 0 ∀j = 1, . . . , q, alors la base considérée est optimale et on s’arrête.
Sinon, on choisit un j ∗ tel que ckj∗ < 0 : soit le premier (critère de Bland),
soit le minimum (critère naturel). La variable γ̂ k (j ∗ ) sera la variable entrante.
On choisit ensuite i∗ ∈ {1, . . . , m} tel que

bki∗ bki
= min .
aki∗ j ∗ k
i,akij ∗ >0 aij ∗

S’il y a plusieurs choix, on prend le plus petit indice i∗ . La variable γ k (i∗ )


sera la variable sortante. On divise ensuite la ligne i∗ du tableau par aki∗ j ∗
pour obtenir un 1 puis on fait un pivotage
(Lk+1
n ← Lkn − aknj ∗ Lk+1 ∗
i∗ , n ∈ {1, . . . , m}\{i }) afin de mettre des 0 sur le
reste de la colonne Akj∗ .
On obtient alors le tableau suivant:
On définit γ k+1 par γ k+1 ({1, . . . , m}) = γ k ({1, . . . , m})\γ k (i∗ ) ∪ γ̂ k (j ∗ ).


En remettant le tableau dans l’ordre, on obtient

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 .

On peut également récupérer la matrice B −1 . On note Bi−1 la ième colonne


de B −1 .
I Si xq+i est toujours dans la base et si xq+i = xγ k+1 (j) (xq+i est la jème

variable en base), alors Bi−1 = ej .


I Si xq+i n’est plus dans la base et si xq+i = xγ̂ k+1 (j) (xq+i est la jème
variable hors base), alors
 k+1 
a1j
Bi−1 =  ... 
 

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

où x ∈ Rq , A = (aij )1≤i≤m,1≤j≤q , b = (bi )1≤i≤m et c = (cj )1≤j≤q .


On suppose que (P ) admet au moins une solution optimale x∗ . La méthode
du simplexe permet à chacune des ses étapes d’obtenir (et d’améliorer) une
borne supérieure sur la valeur optimale cT x∗ .
Une question naturelle est de savoir s’il est possible d’obtenir une borne
inférieure sur la valeur cT x∗ . Pour ce faire, partons de m contraintes
d’inégalités
X q
aij xj ≤ bi i = 1, . . . , m
j=1

et faisons une somme pondérée au moyen de m coefficients positifs yi :


m
X q
X m
X
yi aij xj ≤ yi bi
i=1 j=1 i=1
q m m
!
X X X
⇐⇒ aij yi xj ≤ yi bi
j=1 i=1 i=1
q m m
!
X X X
⇐⇒ −aij yi xj ≥ yi (−bi )
j=1 i=1 i=1
Ainsi, si
m
X
−aij yi ≤ cj
i=1
alors nécessairement
q
X m
X
cj xj ≥ yi (−bi ).
j=1 i=1
En particulier,
m
X
cT x∗ ≥ −bT y ∀y = (y1 , . . . , ym ) t.q. y ≥ 0 et −aij yi ≤ cj .
i=1

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

max −bT y (D)


−AT y≤c,y≥0

On dit également que le problème (P ) est le problème primal de (D).


L’algorithme du simplexe permet alors de résoudre (D) pour obtenir (et
améliorer) une borne inférieure. On a alors facilement le théorème suivant
(en remarquant que le problème primal est en fait le dual du problème dual):
Théorème 3.74
Si x est une solution réalisable du problème primal (P ) et si y est une
solution réalisable du problème dual (D), alors nécessairement

cT x ≥ −bT y.

En particulier, si cT x = −bT y alors x est une solution optimale du primal et


y est une solution optimale du dual.

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

Théorème 3.77 (Théorème de dualité de Gale, Khun et Tucker)


Le problème primal (P ) possède une solution optimale x∗ si et seulement si
le problème dual (D) possède une solution optimale y ∗ . Dans ce cas, on a
nécessairement
cT x∗ = −bT y ∗ .

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

I On dit qu’une base γ est primale réalisable si B −1 b ≥ 0.


I On dit qu’une base γ est duale réalisable si dTN = cTN − cTB B −1 N ≥ 0.

Conclusion : une base γ est optimale si et seulement si elle est primale


réalisable et duale réalisable.

Vous aimerez peut-être aussi