You are on page 1of 21

17 Optimisation lineaire : theorie et algorithme du

simplexe
Connaissances requises. Une grande partie de la section 2.4 nous sera utile, en parti-
culier pour les notions de poly`edre convexe et de sommet, ainsi que pour le resultat
dexistence de solution de probl`eme doptimisation lineaire (theor`eme 2.15). Les con-
ditions doptimalite dun probl`eme doptimalite lineaire seront directement deduites
des conditions de Karush, Kuhn et Tucker (4.23). Le probl`eme dual dun probl`eme
doptimisation lineaire sobtiendra par la dualite min-max (section 13.1).
17.1 Introduction
17.1.1 Le probl`eme `a resoudre
Un probl`eme doptimisation lineaire est un probl`eme doptimisation dans lequel le
crit`ere et les fonctions denissant les contraintes sont lineaires (on devrait dire anes).
Comme nous le verrons, la formulation suivante du probl`eme est tout ` a fait generale.
Il sagit de trouver la solution x R
n
du probl`eme
(P
L
)

min c

x
Ax = b
x 0.
Un probl`eme doptimisation lineaire ecrit de cette mani`ere est dit sous forme standard.
On note f(x) = c

x, que lon appelle crit`ere du probl`eme. Les donnees dans (P


L
) sont
deux vecteurs c R
n
(appele co ut du probl`eme) et b R
m
(m n), et une matrice
A de dimension m n. La contrainte dinegalite x 0 veut dire que toutes les
composantes de x doivent etre positives : x
i
0 pour i = 1, . . . , n. On notera x > 0,
lorsque toutes les composantes de x seront strictement positives. Lensemble
R
n
+
= {x R
n
: x 0}
est appele lorthant positif de R
n
.
On dit que le probl`eme (P
L
) est realisable si son ensemble admissible
1
F
P
:= {x R
n
: Ax = b, x 0}
est non vide. Un point dans F
P
est dit admissible. On dit que (P
L
) est borne si la
valeur minimale du crit`ere dans (P
L
) (donc pour x F
P
) est nie.
1
feasible set en anglais, do` u la notation F.
475
476 17. Optimisation lineaire : theorie et algorithme du simplexe
Nous allons etudier la structure du probl`eme (P
L
) et donner un algorithme pour le
resoudre : lalgorithme du simplexe. Remarquons dabord que le probl`eme (P
L
) nest
interessant que du fait de la presence de contraintes dinegalite. En eet, sans ces
contraintes le probl`eme se reduit ` a deux cas complementaires triviaux. Si c N(A)

,
tout point x veriant Ax = b est solution. Si c N(A)

, il existe une direction d


telle que Ad = 0 et c

d < 0 et donc f(x+td) lorsque t +: si le probl`eme


est realisable (en loccurrence, il existe un x tel que Ax = b), il nest pas borne.
En ce qui concerne les algorithmes de resolution de (P
L
), on distingue deux classes
de methodes :
Les methodes de points-fronti`ere consistent ` a faire des deplacements le long des
aretes du poly`edre convexe F
P
deni par les contraintes de (P
L
). La methode
typique de cette classe est lalgorithme du simplexe, introduit par Dantzig en
1947 [101; 1951]. Cet algorithme nest pas polynomial (voir Klee et Minty [239;
1972]), cest-` a-dire que le nombre doperations pour resoudre le probl`eme nest pas
borne par un polyn ome dependant des dimensions de celui-ci ou de la longueur
des donnees le denissant. Cependant, en pratique, ces algorithmes sont sou-
vent tr`es ecaces. La raison tient peut-etre au fait que, bien que non polyno-
mial dans le pire des cas, il est polynomial en moyenne pour des donnees
distribuees aleatoirement suivants diverses lois (voir Borgwardt [54, 55], Smale
[351], Megiddo [271] et Sharmir [346]).
Les methodes de points interieurs, developpees ` a partir des travaux de Kar-
markar (1984), gen`erent des iteres dans linterieur relatif de lensemble admis-
sible de (P
L
). Ces methodes peuvent etre polynomiales et sont particuli`erement
interessantes lorsquil y a beaucoup de contraintes dinegalite, parce quelles ne
ressentent pas lirregularite du bord du domaine admissible.
Lalgorithme du simplexe est etudie dans ce chapitre. Les methodes de points
interieurs sont presentees au chapitre 18.
17.1.2 Formulations canoniques
Un probl`eme doptimisation lineaire se presente souvent sous lune des deux formes
suivantes : la forme standard (P
L
) donnee ci-dessus et la forme canonique
(P

L
)

min (c

x
A

x b

.
Ces deux formulations sont equivalentes dans le sens o` u le probl`eme (P
L
) peut secrire
sous la forme (P

L
) :

min c

A
A
I

b
b
0

et inversement, le probl`eme (P

L
) peut secrire sous la forme (P
L
) en decomposant
x = u v, avec u 0 et v 0, et en introduisant des variables decart z 0 :
17.1. Introduction 477

min

u
v
z

u A

v + z = b

u 0, v 0, z 0.
On a pris lhabitude de decrire et detudier les algorithmes de resolution des pro-
bl`emes doptimisation lineaire mis sous forme standard (P
L
) et cest ce que nous ferons
dans ce chapitre et le suivant. Cependant, il peut etre plus avantageux de considerer
une autre formulation, en fonction du probl`eme que lon a ` a resoudre. Dautre part,
les codes doptimisation lineaire generalistes acceptent le plus souvent des contraintes
ecrites sous la forme :
Ax = b et l Bx u,
o` u les matrices A et B et les vecteurs b, l et u ont des dimensions appropriees. Il
faut donc parfois adapter les algorithmes au cadre que lon consid`ere; ceci se fait en
general sans diculte.
17.1.3 Exemples : probl`emes doptimisation dans des reseaux
Un reseau nest pas autre chose quun graphe (oriente ou non), cest-` a-dire une col-
lection de nuds et darcs qui relient ces nuds. Disons quil y a m nuds, indices
par i = 1, . . . , m, et n arcs, indices par j = 1, . . . , n. Ces derniers peuvent aussi etre
species par des couples (ordonnes ou non, suivant que le graphe est ou nest pas
oriente) formes des nuds quils relient : larc (i
1
, i
2
) relie les nuds i
1
et i
2
.
Dans la discussion qui suit, le reseau est suppose etre utilise comme support ` a
lacheminement dun produit (eau, gaz, electricite, voitures, trains, avions, telecom-
munications, messages internet, quantite abstraite, etc). La quantite de produit qui
transite par larc j est notee x
j
. Il est normal de supposer que cest une grandeur
positive. Lequilibre du reseau sexprime en ecrivant que la quantite de produit qui
sort du nud i est egale ` a la quantite qui y entre plus la quantite b
i
qui y est produite
(loi de Kirchho). Pour tout i, on doit avoir

j : arc sortant
du nud i
x
j
=

j : arc entrant
du nud i
x
j
+ b
i
. (17.1)
La quantite b
i
produite au nud i peut representer ce qui y est apporte (auquel cas
b
i
> 0) ou ce qui y est consomme ou demande (auquel cas b
i
< 0). Les equations
precedentes secrivent sous forme matricielle :
Ax = b et x 0, (17.2)
o` u la matrice A est appelee la matrice dincidence du reseau. Cette matrice peut avoir
des dimensions considerables en pratique, mais elle est tr`es creuse puisquelle na que
deux elements non nuls par colonne. En eet, au vu de (17.1), la colonne j associee ` a
larc j contient A
ij
= +1 si i est le nud dorigine de larc j, A
ij
= 1 si i est le nud
de destination de larc j et A
ij
= 0 dans les autres cas. En particulier, la somme des
lignes de A est nulle, ce qui implique que A nest pas surjective. Ceci peut poser des
478 17. Optimisation lineaire : theorie et algorithme du simplexe
dicultes algorithmiques et requi`ere au moins une condition de compatibilite sur b,
` a savoir b R(A), ce qui conduit ` a
m

i=1
b
i
= 0. (17.3)
On montre cependant que A est de rang m1 lorsque le graphe associe au reseau est
connexe, ce qui veut dire que deux nuds distincts i et i

peuvent etre relies par une


chemin (une suite darcs (i
1
, i
2
), (i
2
, i
3
), . . . , (i
p1
, i
p
), avec i
1
= i et i
p
= i

); voir
[40] par exemple.
Un exemple de probl`eme doptimisation lineaire classique dans les reseaux est le
probl`eme du transport ` a co ut minimal. On cherche ` a acheminer des produits identiques
depuis certains nuds dorigine (disons pour i O) jusqu` a des nuds de destination
(disons pour i D, avec O D = ). Ceci sexprime par le positionnement des
composantes de b aux valeurs desirees : b
O
> 0, b
D
< 0 et b
i
= 0 si i / O D, tout
en respectant (17.3). Dautre part, en supposant que le co ut de transport sur chaque
arc est lineaire en x
j
(co ut c
j
par unite transportee), le co ut total du transport sera
n

j=1
c
j
x
j
= c

x.
Cest la quantite que lon cherche ` a minimiser. On reconnat dans la minimisation
de ce crit`ere sous les contraintes de reseau (17.2), le probl`eme doptimisation lineaire
sous forme standard (P
L
).
Un autre exemple de probl`eme doptimisation lineaire classique et celui du plus
court chemin dans un graphe. Cest un cas particulier du probl`eme precedent : b
i0
=
+1 au nud de depart i
0
, b
i1
= 1 au nud darrivee i
1
et les autres b
i
sont nuls,
tandis que c
j
> 0 donne la longueur du chemin represente par larc j. Si x est la
solution du probl`eme, x
j
= 0 signie que lon ne passe pas par larc j et x
j
= 1
signie que lon y passe. On peut avoir des valeurs entre 0 et 1 si le probl`eme a
plusieurs solutions.
17.2

Etude du probl`eme
17.2.1 Structure de lensemble admissible
Lensemble admissible F
P
dun probl`eme doptimisation lineaire est un poly`edre con-
vexe (voir la section 2.4), exprime dans une representation duale. Les developpements
theoriques et algorithmiques en optimisation lineaire se font en general sur la forme
suivante de lensemble admissible
P = {x R
n
: Ax = b, x 0},
o` u A est mn et b R
m
. On supposera alors toujours que
A est surjective.
17.2.

Etude du probl`eme 479
Theoriquement, ce nest pas une hypoth`ese restrictive (en pratique, cest plus delicat).
En eet si b / R(A), lensemble admissible est vide et le probl`eme est mal pose. Sinon,
on peut toujours eliminer les equations redondantes de Ax = b pour se ramener ` a une
matrice surjective (si des lignes de A sont lineairement dependantes A

y = 0 pour
un y = 0 les elements de b obeissent ` a la meme dependance b

y = 0).
Loptimisation lineaire a son propre jargon, que lon doit reconnatre si lon veut
comprendre les ouvrages et articles specialises. Certains termes apportent pourtant
dinutiles confusions et nous les eviterons. Il en va ainsi de solution ou solution
admissible pour designer un point admissible (cest une solution des equations qui
denissent P) ou encore de solution basique admissible pour designer un sommet
de P.
Denition 17.1 On appelle base dindices ou simplement base un ensemble B de
m indices pris dans {1, . . . , n} tels que la sous-matrice A
B
formee des m colonnes
correspondantes de A soit inversible. Si x R
n
, les composantes x
i
avec i B sont
alors dites basiques de x, celles avec i / B sont dites non basiques.
`
A une base dindices B on associe lensemble dindices complementaire N =
{1, . . . , n} \ B. Apr`es permutations eventuelles des colonnes, on pourra donc ecrire
A =

A
B
A
N

,
avec A
B
inversible. On note (x
B
, x
N
) la partition correspondante dun point x R
n
.
On adopte une notation dej` a utilisee. Si x R
n
, on note
I
+
(x) := {i : x
i
> 0} et I
0
(x) := {i : x
i
= 0}.
On rappelle que x P est un sommet de P si la sous matrice A
B
, avec B = I
+
(x),
est injective (proposition 2.10). On a donc necessairement |B| m, et on peut tr`es
bien avoir |B| < m.
Denition 17.2 On dit quun sommet x P est degenere si |I
+
(x)| < m et quil
est non degenere si |I
+
(x)| = m.
Exemples 17.3 Dans R
2
, x = 0 est un sommet degenere de lensemble deni par
x

x
2
x
1
= 0
x 0.
Dans R
3
, le point x = (0, 0, 1) est un sommet degenere de lensemble deni par
e
2
e
1
x

x
1
+ x
2
+ x
3
= 1
x
1
+ x
2
= 0
x 0.
480 17. Optimisation lineaire : theorie et algorithme du simplexe
17.2.2 Existence de solution et conditions doptimalite
On consid`ere le probl`eme (P
L
) sous la forme standard
(P
L
)

min c

x
Ax = b
x 0.
On note f(x) := c

x, F
P
:= {x R
n
: Ax = b, x 0} lensemble admissible et
inf f := inf
xFP
c

x.
Pour le probl`eme (P
L
), lexistence de solution ne resulte pas directement du theo-
r`eme sur la minimisation de fonctions continues sur un compact (theor`eme 1.1). En
eet, lensemble admissible F
P
nest pas necessairement compact. De plus, f(x) ne
tend pas necessairement vers + lorsque x dans F
P
(sauf si lensemble des
solutions est borne et si F
P
nest pas borne, voir lexercice ??). Il est donc necessaire
de donner une demonstration specique. Une possibilite est dutiliser la remarque 2.14
comme dans la demonstration de la proposition 2.15. Nous rappelons le resultat ci-
dessous.
Theor`eme 17.4 (existence de solution) Le probl`eme (P
L
) a une solution si
et seulement si il est realisable (F
P
= ) et borne (inf f > ).
Lalgorithme du simplexe repose sur le resultat suivant.
Proposition 17.5 (existence de solution-sommet) Si le probl`eme (P
L
) a
une solution, alors il a une solution en un sommet de F
P
.
Demonstration. Lensemble des solutions de (P
L
),
sol(P
L
) = {x R
n
: c

x = val(P
L
), Ax = b, x 0},
est un poly`edre convexe ecrit sous forme standard. Il a donc un sommet (proposi-
tion 2.10), disons x. Dautre part, sol(P
L
) est une face de F
P
(exercice 2.12). Donc
son sommet x est aussi un sommet de F
P
(exercice 2.6). 2
Voici le resultat donnant les conditions doptimalite du probl`eme (P
L
).
Proposition 17.6 (conditions doptimalite) Le point x est solution de (P
L
)
si et seulement si il existe y R
m
et s R
n
tels que

(a) A

y + s = c, s 0
(b) Ax = b, x 0
(c) x

s = 0.
(17.4)
17.2.

Etude du probl`eme 481
Demonstration. Ce sont les conditions de KKT qui sont necessaires (on utilise ici
le fait que les contraintes de (P
L
) sont qualiees, car anes) et susantes (car le
probl`eme (P
L
) est convexe). On les obtient en introduisant le lagrangien
(x, y, s) = c

x y

(Ax b) x

s.
2
La necessite des conditions (17.4) peut aussi se voir en observant que, par opti-
malite de x, le crit`ere augmente le long des directions d tangentes en x ` a lensemble
admissible (voir la proposition 4.5), ce qui sexprime par
c {d : Ad = 0, d
I
0}

, avec I = {i : x
i
= 0},
et en utilisant le lemme de Farkas. Dautre part, le fait que les conditions (17.4) soient
susantes pour impliquer loptimalite de x peut aussi se montrer directement : pour
tout x

F
P
, on a
c

x = s

x + y

Ax [par (a)]
= y

b [par (b) et (c)]


s

+ y

Ax

[par Ax

= b, x

0 et s 0]
= c

[par (a)].
Le couple (y, s) donne par la proposition precedente est appele solution duale du
probl`eme lineaire (P
L
) et x est alors appele solution primale. La variable s est aussi
appelee variable decart duale, car elle joue le r ole de variable decart dans la relation
A

y c, qui est une autre fa con decrire lequation (17.4)(a). On note S


P
R
n
lensemble des solutions primales, S
D
R
m
R
n
lensemble des solutions duales et
S
PD
lensemble des triplets (x, y, s) formes de solutions primales-duales.
Proposition 17.7 (produit cartesien des solutions) On a
S
PD
= S
P
S
D
.
Autrement dit, si (x
1
, y
1
, s
1
) et (x
2
, y
2
, s
2
) sont des solutions primales-duales
alors (x
1
, y
2
, s
2
) et (x
2
, y
1
, s
1
) le sont aussi.
Demonstration. Par hypoth`ese, on a

y
1
+ s
1
= c, s
1
0
Ax
1
= b, x
1
0
(x
1
)

s
1
= 0
et

y
2
+ s
2
= c, s
2
0
Ax
2
= b, x
2
0
(x
2
)

s
2
= 0.
On voit quil sut de montrer que (x
1
)

s
2
= 0 et (x
2
)

s
1
= 0. Comme c

x
1
= c

x
2
,
on a
482 17. Optimisation lineaire : theorie et algorithme du simplexe
(x
1
)

s
2
= (x
1
)

(c A

y
2
)
= (x
1
)

c b

y
2
= (x
2
)

c (Ax
2
)

y
2
= (x
2
)

(c A

y
2
)
= (x
2
)

s
2
= 0.
De meme pour (x
2
)

s
1
= 0. 2
On montrera plus loin (en section 17.3) que les couples formes des solutions
primales et duales sont les points-selles du lagrangien sur R
n
(R
m
R
n
+
). Le
resultat precedent peut donc aussi se deduire de cette observation puisque lensemble
des points-selles est le produit cartesien de lensemble des solutions primales par
lensemble des solutions duales (corollaire 13.5).
Lidentite (17.4)(c) forme ce que lon appelle les conditions de complementarite.
Comme x 0 et s 0, elle secrit de mani`ere equivalente
i {1, . . . , n}, x
i
> 0 = s
i
= 0,
qui exprime que si la i-i`eme contrainte dinegalite nest pas active, le multiplicateur
associe est nul. On dit quune solution primale-duale (x, y, s) de (P
L
) est strictement
complementaire si
i {1, . . . , n}, x
i
> 0 s
i
= 0.
Toutes les solutions ne sont pas necessairement strictement complementaires. Le re-
sultat suivant montre cependant quen optimisation lineaire on peut toujours trouver
une solution strictement complementaire.
Introduisons deux ensembles dindices B et N, quil faudra se garder de confondre
avec les ensembles dindices B et N introduits au debut de ce chapitre :
B := {i {1, . . . , n} : x S
P
veriant x
i
> 0}
N := {i {1, . . . , n} : (y, s) S
D
veriant s
i
> 0}.
Par les conditions de complementarite et du fait que lensemble des solutions primales-
duales est un produit cartesien (proposition 17.7), on a BN = . En eet, si i B,
alors s
i
= 0 pour toute solution duale (y, s), et donc i N. Compte tenu de cette ob-
servation, montrer quil existe une solution primale-duale strictement complementaire
revient ` a montrer que B et N forment une partition de {1, . . . , n}.
Proposition 17.8 (existence dune solution strictement complementai-
re) Si le probl`eme (P
L
) a une solution, alors il a une solution primale-duale
strictement complementaire, et donc
B N = et B N = {1, . . . , n}.
17.2.

Etude du probl`eme 483
Demonstration. Construisons dabord la solution primale. Pour que celle-ci ait le
plus grand nombre de composantes non nulles possible, on lecrit comme combinaison
convexe de solution ayant chacune une des composantes pouvant etre strictement
positive : par denition de B, on sait que pour tout i B, on peut choisir une
solution x
i
de (P
L
) avec x
i
i
> 0. On prend
x =
1
|B|

iB
x
i
,
o` u |B| designe le nombre delements de B. Cest aussi une solution (cest une com-
binaison convexe de solutions dun probl`eme convexe, ou on verie directement que
c

x = inf f, A x = b, x 0) et elle verie x


B
> 0 (cest une solution avec le moins de
contraintes actives possible, situee dans linterieur relatif de la face optimale).
Dapr`es la proposition 17.7, il reste ` a trouver une solution duale ( y, s) avec s
i
> 0
pour i B. Dans ce but, on consid`ere le probl`eme doptimisation lineaire suivant

min

iB
x
i
Ax = b
x 0
c

x inf f.
Son ensemble admissible sont les solutions de (P
L
) et par denition de B, sa valeur
optimale est nulle. Comme x est solution de ce probl`eme, on peut trouver ( y, s, ) tel
que

y + s +

iB
e
i
= c, s 0, 0
x

s = 0.
On a note e
i
le i-i`eme vecteur de base de R
n
. Si nest pas nul, on peut conclure
avec la solution duale
1

( y, s +

iB
e
i
), mais rien ne garantit cela. On combine alors
cette solution duale avec une solution duale associee ` a x: on sait en eet quil existe
(y, s) tel que

y + s = c, s 0
x

s = 0.
On prend
y :=
1
1 +
(y + y) et s :=
1
1 +

s + s +

iB
e
i

,
qui est clairement une solution duale de (P
L
). De plus, comme s 0 et s 0, on a
s
i
> 0 pour i B. 2
Les ensembles dindices B et N permettent de donner une description simple de
lensemble S
P
des solutions primales et lensemble S
D
des solutions duales de (P
L
).
Pour une raison qui apparatra claire plus loin, on note
F
D
:= {(y, s) R
m
R
n
: A

y + s = c, s 0}.
484 17. Optimisation lineaire : theorie et algorithme du simplexe
Proposition 17.9 Si (P
L
) a une solution, alors lensemble de ses solutions pri-
males est la face de F
P
denie par
S
P
= {x F
P
: x
N
= 0}
et lensemble de ses solutions duales est la face de F
D
denie par
S
D
= {x F
D
: s
B
= 0}.
Demonstration. Si x S
P
, alors x F
P
et x
N
= 0 (par la proposition 17.8 et la
denition de B). Inversement, si x F
P
et x
N
= 0, alors en prenant une solution
duale (y, s) arbitraire, le triplet (x, y, s) verie les conditions doptimalite (17.4) (car
s
B
= 0 dapr`es la proposition 17.8 et la complementarite). Donc x est solution de
(P
L
).
Il reste ` a montrer que le convexe S
P
est une face de F
P
. Pour cela, supposons que
x S
P
secrive comme suit x = (1t)x

+ tx

, avec x

, x

F
P
et t ]0, 1[. Il faut
montrer que x

et x

S
P
. Or on a
0 = x
N
= (1t)x

N
+ tx

N
.
Comme t > 0, (1t) > 0, x

N
0 et x

N
0, on a necessairement x

N
= 0 et x

N
= 0,
cest-` a-dire x

et x

S
P
.
Larmation concernant S
D
se demontre de la meme mani`ere. 2
17.3 Dualite
17.3.1 Dualite en optimisation lineaire
Nous ferons reference ici aux notions vues ` a la section 13.1. On part du probl`eme
doptimisation lineaire
(P
L
)

min c

x
Ax = b
x 0
et on introduit la fonction de couplage
(x, y) = c

x y

(Ax b),
par laquelle on na dualise que les contraintes degalite. On a
inf
x0
sup
y
(x, y) = inf
x0

x si Ax = b
+ sinon.
On retrouve donc le probl`eme (P
L
), si on adopte la convention que la valeur minimale
de (P
L
) vaut + lorsque lensemble admissible est vide.
Alors, le probl`eme dual de (P
L
) pour la fonction ci-dessus secrit
17.3. Dualite 485
sup
y
inf
x0

(c A

y)

x + b

= sup
y

y si A

y c
sinon.
On trouve nalement comme probl`eme dual
(D
L
)

max b

y
A

y c,
si on prend la convention que la valeur maximale dans (D
L
) vaut lorsque
lensemble admissible de (D
L
) est vide. Cest aussi un probl`eme doptimisation
lineaire.
On peut obtenir un probl`eme dual de (P
L
) en dualisant egalement la contrainte
x 0, cest-` a-dire en utilisant le lagrangien (x, y, s) = c

xy

(Axb)x

s comme
fonction de couplage (il faut alors imposer s 0 dans la dualite). On obtient alors
comme probl`eme dual

max b

y
A

y + s = c
s 0,
qui est equivalent ` a (D
L
).
Remarquons enn que les conditions doptimalite de (D
L
) sont aussi celles de (P
L
)
et que le dual du dual est le primal.
On dit que (y, s) est admissible pour le probl`eme dual (D
L
), si A

y + s = c et si
s 0. On note
F
P
:= {x R
n
: Ax = b, x 0}
F
D
:= {(y, s) R
m
R
n
: A

y + s = c, s 0}
les ensembles admissibles de (P
L
) et de (D
L
) respectivement.
Appliquons ` a present les resultats obtenus dans le cadre general au probl`eme dop-
timisation lineaire (P
L
). De la proposition 13.2, on obtient le resultat suivant.
Proposition 17.10 (dualite faible en optimisation lineaire) On a
sup
A

yc
b

y inf
Ax=b
x0
c

x. (17.5)
Remarquons que si x F
P
et si (y, s) F
D
, la dierence entre la valeur du crit`ere
primal et celle du crit`ere dual est donnee par la formule
c

x b

y = x

s. (17.6)
486 17. Optimisation lineaire : theorie et algorithme du simplexe
Theor`eme 17.11 (dualite forte en optimisation lineaire) Les proprietes
suivantes sont equivalentes :
(i) (P
L
) et (D
L
) sont realisables,
(ii) (P
L
) a une solution,
(iii) (D
L
) a une solution.
Lorsque ces proprietes ont lieu il ny a pas de saut de dualite, cest-` a-dire que
lon a egalite en (17.5).
Demonstration. [(i) (ii)] Si (i) a lieu, linegalite de dualite faible (17.5) montre
que (P
L
) est realisable et borne. Ce probl`eme a donc une solution (theor`eme 17.4).
[(ii) (iii)] Les conditions doptimalite (17.4), qui ont lieu si (P
L
) a une solution,
sont aussi celles de (D
L
), qui a donc aussi une solution.
[(iii) (i)] Les conditions doptimalite (17.4) de (D
L
) montrent que (P
L
) est
realisable.
Supposons que les proprietes (i)(iii) ont lieu, que x soit une solution de (P
L
)
et que y soit une solution de (D
L
). La valeur optimale duale est donc b

y et la
valeur optimale primale est donc c

x. Avec s := c A

y et (17.6), on trouve que


c

x b

y = x

s, qui est nul car lensemble des solutions primales-duales est un


produit cartesien (proposition 17.7). 2
Le point (i) est souvent un moyen commode de montrer quun probl`eme dopti-
misation lineaire a une solution: on montre quil est realisable et que son dual lest
egalement. Ce theor`eme permet de retrouver le lemme de Farkas (voir lexercice ??).
Quelques consequences de ce theor`eme sont donnees ` a lexercice ??.
17.3.2 Une relation entre le primal et le dual
Le theor`eme de dualite forte a montre que les proprietes des probl`emes primal et dual
sont tr`es liees. Dans cette section nous donnons dautres exemples de relations entre
les deux probl`emes.
On dit que x F
P
est strictement admissible pour le probl`eme primal (P
L
) si
x > 0 (toutes les composantes de x sont > 0). De meme, on dit que (y, s) F
D
est
strictement admissible pour le probl`eme dual (D
L
) si s > 0. On denit les ensembles
de points strictement admissibles
F
o
P
:= {x R
n
: Ax = b, x > 0}
F
o
D
:= {(y, s) R
m
R
n
: A

y + s = c, s > 0}.
Sils sont non vides, ce sont les interieurs relatifs de F
P
et F
D
respectivement.
Pour les probl`emes doptimisation convexes, le rapprochement des propositions
4.25 [(QC-S) (QC-MF)] et 4.27 [(QC-MF)

borne] sugg`ere que lexistence


dun point strictement admissible primal equivaut au caract`ere borne de lensemble
des solutions duales. En optimisation lineaire, le dual du dual est le primal, si bien
que lexistence dune solution duale strictement admissible devrait aussi equivaloir au
caract`ere borne de lensemble des solutions primales. Cest une mani`ere de trouver
17.4. Algorithme du simplexe 487
naturelles les equivalences enoncees dans la proposition suivante. Nous en donnons
une demonstration directe ci-dessous; lexercice ?? propose dautres approches moins
techniques et qui pourront etre utiles pour etendre ce resultat ` a dautres probl`emes.
On y a note
S
D,s
= {s : il existe y R
m
tel que (y, s) S
D
}
la projection de S
D
sur R
n
. On note aussi e = (1 1)

.
Proposition 17.12 Supposons que les probl`emes primal et dual soient realisables
(F
P
= et F
D
= ). Alors
S
P
est borne F
o
D
= , (17.7)
S
D,s
est borne F
o
P
= . (17.8)
Demonstration. Comme
S
P
= {x R
n
: Ax = b, x 0, c

x val(P
L
)}
est un convexe ferme non vide, S
P
est borne si et seulement si son c one asymptotique
(exercice 2.14)
S

P
= {d R
n
: Ad = 0, d 0, c

d 0}
est reduit au singleton {0} (proposition 2.6). Si F
o
D
est non vide, il existe (y, s) :
c = A

y + s, avec s > 0. Alors pour d S

P
, on a 0 c

d = y

Ad + s

d = s

d, ce
qui implique que d = 0 (car d 0 et s > 0). Inversement, si S

P
= {0}, son c one dual
est R
n
. Celui-ci secrit (corollaire 2.32)
(S

P
)

= {A

y + s c : s R
n
+
, R
+
}.
Il existe donc y R
m
, s R
m
+
et R
+
tels que A

y + s c = e + c, ce qui
secrit aussi A

y + (s + e) = ( + 1)c. Alors (y, s+e)/(+1) F


o
D
.
La seconde partie de la proposition peut se demontrer de la meme mani`ere. 2

Evidemment, si S
D,s
nest pas borne, S
D
ne lest pas non plus, ni S
D,y
:= {y : il
existe s R
n
tel que (y, s) S
D
} dailleurs. Par ailleurs, si A est surjective, il revient
au meme de dire que S
D,s
est borne ou que S
D
est borne.
17.4 Algorithme du simplexe
On consid`ere le probl`eme doptimisation lineaire sous forme standard
(P
L
)

min

f(x) = c

Ax = b
x 0,
488 17. Optimisation lineaire : theorie et algorithme du simplexe
dont les conditions doptimalite secrivent (proposition 17.6) : (y, s) R
m
R
n
, tels
que

y + s = c, s 0
Ax = b, x 0
x

s = 0.
On sait que si ce probl`eme a une solution il a une solution sur un sommet du poly`edre
(proposition 17.5)
F
P
= {x : Ax = b, x 0}.
Si m et n sont grands, il peut y avoir beaucoup de sommets, ce qui exclut de les
explorer tous. Lalgorithme du simplexe de Dantzig [101; 1951] selectionne les sommets
` a explorer. Lalgorithme se deroule en general en deux etapes :
Phase I : trouver un sommet de F
P
,
Phase II : passer dun sommet ` a lautre de mani`ere ` a faire decrotre f, jusqu` a ce
quon trouve une solution-sommet.
Dans la phase I, on resout un probl`eme doptimisation lineaire auxiliaire dont on
connat un sommet (voir la section 17.4.3). On peut donc utiliser lalgorithme du
simplexe pour resoudre ce probl`eme. Dans la phase II, on evite de parcourir tous les
sommets en faisant decrotre le crit`ere ` a chaque iteration. On ne visite donc plus les
sommets dont la valeur du crit`ere est superieure ` a celle au sommet courant.
17.4.1 Description
Hypoth`ese. On suppose que A a plein rang m < n.
Nous allons decrire une iteration de lalgorithme du simplexe, en partant dun
sommet x de base B pour atteindre un nouveau sommet avec une valeur (si possible
strictement) inferieure du crit`ere. On a donc au depart de literation
x
B
0, x
N
= 0 et A
B
x
B
= b (donc x
B
= A
1
B
b).
1 Reconnatre loptimalite. Soit x un point de F
P
, qui verie donc Ax = b.
B etant une base dindices, on peut exprimer les composantes basiques x
B
de x en
fonction de b et des composantes non basiques x
N
:
x
B
= A
1
B
(b A
N
x
N
).
On peut egalement exprimer le co ut c

x en fonction de x
N
:
c

x = c

B
A
1
B
(b A
N
x
N
) + c

N
x
N
.
Son gradient par rapport ` a x
N
sappelle le co ut reduit. Il secrit
r = c
N
A

N
A

B
c
B
.
Proposition 17.13 Si r 0, alors le sommet x est optimal. Inversement, si x
est un sommet non degenere optimal, alors r 0.
17.4. Algorithme du simplexe 489
Demonstration. Supposons que r 0. Si lon introduit le multiplicateur y =
A

B
c
B
, on trouve r = c
N
A

N
y. En rearrangeant ces deux derni`eres equations
et en posant s = (0, r), on trouve
A

y + s = c, s 0 et x

s = 0.
Inversement, si x est un sommet non degenere optimal, il existe une solution duale
( y, s) telle que A

y + s = c, s 0 et x

s = 0. Comme x est non degenere, on a x


B
> 0
et donc s
B
= 0, si bien que A

B
y = c
B
ou encore y = A

B
c
B
. Alors le co ut reduit
secrit r = c
N
A

N
y = s
N
0. 2
Si le sommet optimal est degenere, il peut y avoir un co ut reduit r 0, comme le
montre lexemple suivant :
c = (2, 1)
x
x
1
+ x
2
= 0

min 2x
1
+ x
2
x
1
+ x
2
= 0
x 0.
Lensemble admissible est reduit au singleton {(0, 0)}. La solution du probl`eme est
donc forcement x = (0, 0), qui est un sommet degenere. Si on prend la base dindices
B = {1}, on a un co ut reduit strictement negatif (r = 1). Ceci signie que lon peut
faire decrotre le crit`ere en augmentant x
N
= x
2
tout en satisfaisant la contrainte
degalite (cest le sens du co ut reduit). Mais ici on ne peut pas augmenter x
2
sans
sortir de lensemble admissible (ce ne serait pas le cas si le sommet etait non degenere).
2 Deplacement le long dune arete. Si r a une composante strictement negative,
disons r
j
< 0, cela veut dire que lon peut faire decrotre le co ut en augmentant la
composante j de x
N
. On est donc tente de chercher un nouveau point admissible en
faisant un deplacement suivant une direction d, cest-` a-dire
x() = x + d,
telle que la composante non basique de d soit
d
N
= e
j
N
.
On a note e
j
le j-i`eme vecteur de base de R
|
N|. Pour que ce deplacement d = (d
B
, d
N
)
soit acceptable, il faut dabord que lon ait Ax() = b, donc Ad = 0, ce qui determine
sa composante basique :
d
B
= A
1
B
A
N
e
j
N
.
Sur le choix de lindice j. Remarquons que le co ut decrot bien le long de d puisque
lon a
c

d = r
j
< 0.
Si r a plusieurs composantes strictement negatives, il semble donc raisonnable de
choisir lindice j parmi ceux donnant la composante de r la plus negative. Cest ce
que lon appelle la r`egle du co ut reduit le plus negatif. Cette r`egle, daspect local (on
sinteresse ` a une derivee), ne garantit cependant pas lecacite globale de lalgorithme
qui est principalement liee au nombre total diterations, cest-` a-dire au nombre de
490 17. Optimisation lineaire : theorie et algorithme du simplexe
sommets visites, ce qui ne peut se deduire dun calcul de derivee. Dautres r`egles
existent donc et les algorithmes du simplexe di`erent essentiellement par lheuristique
adoptee.
Nous verrons que lon peut maintenir la condition x() 0 pour un pas > 0,
de mani`ere ` a assurer ladmissibilite de x().
Il est interessant dobserver que le deplacement porte par la direction d se fait le
long dune arete de F
P
.
Proposition 17.14 Soient d deni comme ci-dessus et A := { x + d F
P
:
0}. Alors soit A est reduit au sommet { x}, soit cest une arete de F
P
.
Demonstration. Si x + d F
P
pour tout > 0, on a A = { x}. Supposons ` a
present que pour un certain > 0, x + d F
P
. Alors, A est de dimension 1. Pour
montrer que cest une arete de F
P
(cest-` a-dire une face de dimension 1), il reste ` a
montrer que A est une face de F
P
. Soient y, z F
P
tels que
x + d = y + (1)z, (17.9)
avec ]0, 1[. Il sagit de montrer que y, z A.
En considerant les composantes non basiques de lidentite ci-dessus et en se rap-
pelant que x
N
= 0 et (y, z) 0, on voit que y
N
= y
j
e
j
N
= y
j
d
N
et z
N
= z
j
e
j
N
= z
j
d
N
.
Dautre part, comme y, z F
P
, on a A(z y) = 0. On en deduit que z
B
y
B
=
(z
j
y
j
)d
B
et donc
z y = (z
j
y
j
)d.
En utilisant ` a nouveau (17.9), on obtient alors
z =

y + (1)z

+ (z y) = x +

+ (z
j
y
j
)

d = x + z
j
d,
par la j-i`eme composante de (17.9). De meme, y = x +y
j
d. Comme y
j
0 et z
j
0,
on a y, z A. 2
3 Cas du probl`eme non borne (d
B
0). Si d
B
0, alors
x() 0, > 0
et comme le co ut decrot strictement
c

x() = c

x + c

d
le probl`eme nest pas borne.
4 Nouvelle base dindices (d
B
0). Si d
B
0, on ne peut plus prendre un pas
arbitrairement grand. Pour que lon ait x()
B
0, il faut que , o` u
= min

x
i
d
i
: i B, d
i
< 0

. (17.10)
17.4. Algorithme du simplexe 491
Lorsque le sommet x est degenere (il y a des x
i
= 0 pour i B), ce pas maximal
peut etre nul (voir ci-apr`es). Soit k un indice donnant le min ci-dessus. Alors,
x
k
+ d
k
= 0 et on peut faire sortir lindice k de la base dindices B, et y faire entrer
lindice j. La nouvelle base dindices secrit

B (B {j}) \ {k}.
Proposition 17.15

B est une base dindices.
Demonstration. Il sagit de montrer que A
B
est inversible. Si ce nest pas le cas,
linversibilite de A
B
implique que A
j
est combinaison lineaire des {A
i
: i B \ {k}},
cest-` a-dire
A
N
e
j
N
= A
B
u, avec u
k
= 0.
On en deduit que u = d
B
. On a alors une contradiction, car dune part d
k
= 0 (car
u
k
= 0) et d
k
< 0 (car k donne le min en (17.10)). 2
5 Progr`es ou stagnation. Deux situations peuvent se presenter.
Si > 0, le co ut decrot strictement et on peut passer ` a literation suivante avec
x + d comme nouveau sommet et

B comme nouvelle base dindices.
Si = 0 (ceci ne peut se produire que si le sommet x est degenere), il y a
un changement de base dindices sans changer de sommet (le pas est nul). Si on
ne prend pas quelques precautions, lalgorithme peut cycler (par exemple en faisant
entrer k dans la base et en faisant sortir j ` a literation suivante). Sans entrer dans
des details tr`es techniques, retenons quil y a des r`egles simples permettant deviter
le cyclage, par exemple, en choisissant comme indices entrant et sortant de la base les
indices les plus petits parmi les indices possibles (Bland, 1977).
17.4.2

Enonce de lalgorithme
On peut resumer lalgorithme decrit ci-dessus comme suit.
Algorithme 17.16 (du simplexe une iteration)
On suppose au depart que lon dispose dun sommet x R
n
de base B.
1. Calculer le multiplicateur y R
m
, solution du syst`eme lineaire
A

B
y = c
B
et en deduire le co ut reduit
r = c
N
A

N
y.
2. Si r 0, on sarrete : x est solution du probl`eme.
492 17. Optimisation lineaire : theorie et algorithme du simplexe
3. Soit j un indice tel que r
j
< 0. On denit la direction de descente d de f
par
d
N
= e
j
N
et d
B
= A
1
B
A
N
e
j
N
,
o` u e
j
est le j-i`eme vecteur de base de R
|N|
.
4. Si d
B
0, on sarrete : le probl`eme nest pas borne.
5. Sinon, on denit le pas maximal jusqu` a la fronti`ere du domaine :
:= min

x
i
d
i
: i B, d
i
< 0

.
Soit k donnant le minimum ci-dessus.
6. Supposons que = 0. De deux choses lune :
Soit on na pas encore exploiter tous les indices j tels que r
j
< 0, alors on
choisit un autre indice de ce type en respectant une r`egle danti-cyclage,
et on retourne au point 3.
Soit, pour tout indice j tel que r
j
< 0, on a eu un pas = 0, alors on
sarrete : x est solution du probl`eme.
7. Ici > 0. On calcule un nouveau sommet
x
+
= x + d
et une nouvelle base dindices associee
B
+
= (B {j}) \ {k}.
On a f(x
+
) < f(x).
17.4.3 Demarrage de lalgorithme du simplexe
Utilisation dun phase preliminaire (phase I )
Pour utiliser lalgorithme du simplexe, il faut disposer dun itere initial qui est un
sommet de X := {x R
n
: Ax = b, x 0}. La strategie suivante permet de trouver
un tel sommet si X = . Il sagit de resoudre le probl`eme doptimisation lineaire
suivant :

min

m
i=1
z
i
Ax + Dz = b
x 0, z 0,
(17.11)
o` u D est la matrice diagonale denie par
D
ii
=

1 si b
i
0
1 si b
i
< 0.
17.5. Resolution de grands probl`emes doptimisation lineaire** 493
Proposition 17.17 Le point (0, Db) est un sommet de lensemble admissible du
probl`eme (17.11), lequel a toujours une solution. Si ce probl`eme est resolu par
lalgorithme du simplexe en partant de ce point, il obtient pour solution un point
( x, z). Si z = 0, le probl`eme (P
L
) nest pas realisable. Si z = 0, x est un sommet
de lensemble admissible de (P
L
).
Demonstration. Il est clair que (0, Db) est un sommet de lensemble admissible de
(17.11), car les colonnes de D sont lineairement independantes (proposition 2.10).
Comme (17.11) est borne (

m
i=1
z
i
0), il a une solution (proposition 17.4). Si
lalgorithme du simplexe est demarre en (0, Db), il trouve une solution ( x, z).
Si z = 0, la valeur optimale de (17.11) est non nulle et le probl`eme (P
L
) nest pas
realisable (car si x X, (x, 0) est admissible pour (17.11) et donne une valeur nulle
au crit`ere).
Si z = 0, on a A x = b et x 0, donc x X. Dautre part, ( x, 0) etant un sommet
de lensemble admissible de (17.11), les colonnes {A
j
: x
j
> 0} sont lineairement
independantes; donc x est un sommet de X. 2
En pratique, lutilisation de lalgorithme du simplexe se fait le plus souvent en
deux phases. Dans la premi`ere phase (qui nest pas necessaire si on connat un sommet
de X), on resout (17.11) par lalgorithme du simplexe ` a partir de (0, Db) pour trouver
un sommet x de X (si X = ). Dans la seconde phase, on utilise ` a nouveau lalgo-
rithme du simplexe pour resoudre (P
L
) ` a partir du sommet x ainsi trouve.
Technique big M
17.4.4 Algorithme du simplexe dual**
17.4.5 Non polynomialite
Bien que lalgorithme du simplexe soit souvent ecace en pratique, ce nest pas un
algorithme polynomial. Klee et Minty [239; 1972] ont en eet construit une probl`eme,
dans lequel lensemble admissible est un cube de R
n
leg`erement deforme, pour lequel
lalgorithme du simplexe avec la r`egle du co ut reduit le plus negatif visite les 2
n
som-
mets de lensemble admissible. Des variantes de lexemple de Klee et Minty existent
pour la plupart des r`egles de pivotage autres que celle du co ut reduit le plus negatif,
voir [366] et ses references. Ce contre-exemple a stimule la recherche dalgorithmes
pouvant etre polynomiaux en optimisation lineaire, un probl`eme juge susamment
simple pour admettre un tel algorithme. Ceci a conduit aux algorithmes de points
interieurs, que nous verrons au chapitre 18.
17.5 Resolution de grands probl`emes doptimisation lineaire**
17.5.1 Decomposition de Dantzig-Wolfe
La situation est la suivante. On cherche ` a resoudre un probl`eme de la forme
494 17. Optimisation lineaire : theorie et algorithme du simplexe

min c

x
Ax = a
Bx = b
x 0.
Il sagit dun probl`eme avec la meme structure que le probl`eme original (P
L
), mais
dans lequel la partition des contraintes en deux parties, denies par les matrices A
et B, correspond ` a une selection de contraintes faciles Ax = a et diciles Bx = b.
La reference originale est [102; 1961]. Voir [51; section 10.3.2] pour une presentation
fondee sur la relaxation lagrangienne (ou decomposition par les prix) avec une
resolution des probl`emes de Lagrange par lalgorithme des plans-coupants [80, 237]
dont linstabilite bien connue rend compte du ralentissement de la convergence au
cours des iterations que lon observe dans le cas non lineaire (eet tailing-o).
17.5.2 Decomposition de Benders
La reference originale est [30; 1962]. On cherche ` a resoudre un probl`eme de la forme

min c

x + f

y
Ax + By b
x 0
y Y,
dans lequel la matrice A a une structure simple, si bien que ` a y xe, le probl`eme est
facile ` a resoudre.
Lapproche peut setendre ` a des probl`emes non lineaires; voir [51; section 10.5].
Lasdon [248] a montre que, dans le cas lineaire (comme ici), la decomposition de
Benders est duale de la decomposition de Dantzig-Wolfe appliquee au dual.
17.5.3 Probl`emes en nombres entiers
Branch-and-bound, branch-and-cut.
Notes
Lenonce du probl`eme dual dun probl`eme doptimisation lineaire est attribue ` a J. Von
Neumann. Lexistence de solutions strictement complementaires (proposition 17.8) a
ete montre par Goldman et Tucker (1956).
On pourra trouver dautres resultats sur loptimisation lineaire dans les references
suivantes : Minoux [274; 1983]; Chv atal [82; 1983] a une approche tr`es operationnelle
de loptimisation lineaire et de lalgorithme du simplexe et sinteresse ` a la modelisation
de probl`emes concrets sous forme de probl`emes doptimisation lineaire, notamment
des probl`emes de transport dans les reseaux; Schrijver [342; 1986]; Fletcher [139;
1987]; Ciarlet [84; 1988]; Goldfarb et Todd [173; 1989]; Nering et Tucker [289;
1993]; Saigal [340; 1995], que nous apprecions pour la precision de ses enonces, tou-
jours demontres; Helgason et Kennington [209; 1995] discutent de lutilisation de
lalgorithme du simplexe dans divers probl`emes doptimisation lineaire rencontres
17.5. Resolution de grands probl`emes doptimisation lineaire** 495
dans les reseaux; le meme commentaire sapplique ` a louvrage de Bertsimas et Tsit-
siklis [40; 1997], qui contient des chapitres sur les probl`emes de grande taille avec
leurs methodes de decomposition, sur les probl`emes dOL dans les reseaux et sur les
probl`emes en nombres entiers; Vanderbei [379; 1997]; Martin [263; 1999] aborde, dans
la partie IV de son ouvrage, les methodes de decomposition pour resoudre les grands
probl`emes lineaires (decomposition de Benders, de Dantzig-Wolfe et lagrangienne) et
traite, dans le chapitre 14, de loptimisation dans les reseaux; Padberg [298; 1999].
Extrait de

Elements dOptimisation Dierentiable : Theorie et Algorithmes,


J. Ch. Gilbert (Jean-Charles.Gilbert@inria.fr), ` a paratre. Version du 23
janvier 2007.

You might also like