Vous êtes sur la page 1sur 74

ECOLE SUPERIEURE DES SCIENCES ET

TECHNIQUES DE TUNIS
DEPARTEMENT DE MATHEMATIQUES
Notes de cours de
RECHERCHE OPERATIONNELLE
A.Baccari(Professeur)
Annee Universitaire :2011-2012
Version du 25 fevrier 2012
2
Table des mati`eres
1 Introduction `a loptimisation 5
1.1 Generalites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Optimisation sur un intervalle ouvert . . . . . . . . . . . . . . . . . 5
1.3 Optimisation sur un intervalle ferme . . . . . . . . . . . . . . . . . 8
1.4 Optimisation sur R
2
. . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Optimisation sur R
n
. . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.1 Optimisation sur un ouvert de R
n
. . . . . . . . . . . . . . . 10
1.5.2 Programmation lineaire sur R
2
. . . . . . . . . . . . . . . . . 12
1.5.3 Existence dun minimum . . . . . . . . . . . . . . . . . . . . 13
1.6 Ensembles convexes de R
n
. . . . . . . . . . . . . . . . . . . . . . . 14
1.7 Serie dexercices n1 . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.8 Serie N1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 Convexite et programmation lineaire 21
2.1 Generalites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.1 Forme canonique de (PL) . . . . . . . . . . . . . . . . . . . 22
2.1.2 Forme standard de (PL) . . . . . . . . . . . . . . . . . . . . 23
2.2 Proprietes du probl`eme standard . . . . . . . . . . . . . . . . . . . 24
2.3 Proprietes du co ut reduit . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4 Algorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4.1 Determination numerique des sommets . . . . . . . . . . . . 34
2.4.2 Calcul du co ut reduit . . . . . . . . . . . . . . . . . . . . . . 35
3 Dualite 41
3.1 Dualite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Dualite du probl`eme lineaire standard . . . . . . . . . . . . . . . . 42
3.3 Dualite pour le probl`eme lieaire canonique . . . . . . . . . . . . . . 44
4 Resolution du probl`eme de programmation lineaire 47
4.0.1 Methode algebrique du simplexe . . . . . . . . . . . . . . . . 48
4.0.2 Serie dexercices n2 . . . . . . . . . . . . . . . . . . . . . . 52
3
4 TABLE DES MATI
`
ERES
4.0.3 Methode des tableaux . . . . . . . . . . . . . . . . . . . . . 56
4.0.4 Serie dexercices n3 . . . . . . . . . . . . . . . . . . . . . . 60
5 Demarrage de lalgorithme du simplexe 63
5.0.5 Cas tr`es favorable : B = I
m
. . . . . . . . . . . . . . . . . . 63
5.0.6 Cas favorable : B donnee . . . . . . . . . . . . . . . . . . . . 64
5.0.7 Cas peu favorable : B `a trouver . . . . . . . . . . . . . . . . 64
5.1 Degenerence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6 Cyclage 69
Chapitre 1
Introduction `a loptimisation
1.1 Generalites
Loptimisation est letude des probl`emes de minimisation ou maximisation
dune fonction numerique f sur un sous-ensemble E de son domaine de denition
D R
n
. On peut ecrire un probl`eme de minimisation sous la forme :
(P) inf {f(x) | x E}
ou
(P) inf
xE
f(x)
ou
(P)
_
minimiser f(x)
sous la condition x E
ou
(P)
_
min f(x)
s.c. x E
1.2 Optimisation sur un intervalle ouvert
Soient f :]a, b[R et x
0
]a, b[. On dit que x
0
minimise localement la fonction
f sur ]a, b[ sil existe > 0 tel que ]x
0
, x
0
+ []a, b[ et
5
6 CHAPITRE 1. INTRODUCTION
`
A LOPTIMISATION
x ]x
0
, x
0
+ [, f(x
0
) f(x)
On dit aussi que x
0
est un minimum local de f ou que x
0
est un minimum (ou
extremum) relatif.
Theor`eme 1.2.1 (Conditions necessaires doptimalite)
Soit x
0
]a, b[ un minimum local dune fonction f denie sur ]a, b[.
i) Si f est derivable en x
0
alors f

(x
0
) = 0.
ii) Si f est de classe C
2
au voisinage de x
0
, alors
f

(x
0
) 0
.
Remarques 1.2.2 Il est clair que si x
0
maximise localement une fonction f sur
]a, b[, alors x
0
minimise localement f sur ]a, b[ et si f est de classe C
2
, on a
f

(x
0
) = 0 ; f

(x
0
) 0
Preuve 1 i) Soit ]x
0
, x
0
+ []a, b[ tel que
x ]x
0
, x
0
+ [ f(x
0
) f(x)
Pour x ]x
0
, x
0
[, on a
f(x) f(x
0
)
x x
0
0 lim
xx
0

f(x) f(x
0
)
x x
0
= f

(x
0
) 0
De meme x ]x
0
, x
0
+ [, on a
f(x) f(x
0
)
x x
0
0 lim
xx
0
+
f(x) f(x
0
)
x x
0
= f

(x
0
) 0
On en conclu que f

(x
0
) = 0.
ii) Le developpement limite de f , `a lordre 2, au voisinage de x
0
secrit
f(x) = f(x
0
) + f

(x
0
)(x x
0
) +
1
2
f

(x
0
)(x x
0
)
2
+ (x x
0
)
2
(x x
0
)
o` u (x x
0
) 0 (x x
0
)
Pour x ]x
0
, x
0
+ [, x = x
0
, on a, utilisant f

(x
0
) = 0,
1.2. OPTIMISATION SUR UN INTERVALLE OUVERT 7
0 f(x) f(x
0
) =
1
2
f

(x
0
)(x x
0
)
2
+ (x x
0
)
2
(x x
0
)
0
1
2
f

(x
0
) + (x x
0
) 0
1
2
f

(x
0
) + lim
x x
0
(x x
0
) =
1
2
f

(x
0
)
Theor`eme 1.2.3 (Conditions susantes doptimalite) Soient x
0
]a, b[ une fonc-
tion f de classe C
2
sur ]a, b[. On suppose que
i) f

(x
0
) = 0,
ii) f

(x
0
) > 0,
Alors x
0
minimise localement la fonction f sur ]a, b[
Remarque 1.2.4 Un point veriant f

(x) = 0 sappelle point critique (ou sta-


tionnaire ) de f.
Preuve 2 Comme dans la preuve du theor`eme precedent, Le developpement limite
de f , `a lordre 2, au voisinage de x
0
secrit
f(x) = f(x
0
) + f

(x
0
)(x x
0
) +
1
2
f

(x
0
)(x x
0
)
2
+ (x x
0
)
2
(x x
0
)
f(x) = f(x
0
) +
1
2
f

(x
0
)(x x
0
)
2
+ (x x
0
)
2
(x x
0
)
f(x) f(x
0
) = (x x
0
)
2
[
1
2
f

(x
0
) + (x x
0
)]
Comme = f

(x
0
) > 0 et lim
x x
0
(x x
0
) = 0, il existe > 0 tel que
|x x
0
| < , |(x x
0
)| <

2
Ceci veut dire que
x ]x
0
, x
0
+ [{x
0
}

2
< (x x
0
) <

2

1
2
f

(x
0
) + (x x
0
) > /2
x ]x
0
, x
0
+ [{x
0
}
1
2
f

(x
0
) + (x x
0
) > /2 > 0
x ]x
0
, x
0
+[ f(x) f(x
0
) = (xx
0
)
2
[
1
2
f

(x
0
) +(xx
0
)]

2
|xx
0
|
2
8 CHAPITRE 1. INTRODUCTION
`
A LOPTIMISATION
Exemples 1.2.5 i) On peut utiliser les variations de la fonction f pour trouver
les minimums locaux et les maximums locaux. En eet si f est dcroissante `a
gauche de x
0
et croissante `a droite de x
0
, on peut conclure que x
0
minimise
localement f.
ii) On sait que, pour a = 0, y = ax
2
+ bx + c est lequation dune parabole. On
en deduit que la fonction f denie sur R par f(x) = ax
2
+ bx + c admet un
minimum global en x
0
=
b
2a
si a > 0 et un maximum global en x
0
=
b
2a
si
a < 0
iii) Soit f(x) = x
3
3x + 1, x R. On a
f

(x) = 3x
2
3 = 0 x = 1 ou x = 1
De plus f

(x) = 6x, f

(1) = 6, f

(1) = 6. On en deduit que x = 1 est


un maximum local et x = 1 est un minimum local.
1.3 Optimisation sur un intervalle ferme
Si f est une fonction numerique denie sur un intervalle ferme [a, b] R, on
dit que x
0
= a minimise localement f sur [a, b] sil existe > 0 tel que
[a, a + [ [a, b] et
x [x
0
, x
0
+ [ f(a) f(x)
On montre que si a minimise localement une fonction derivable f sur [a, b],
alors f

d
(a) 0.
On montre que si a maximise localement une fonction derivable f sur [a, b],
alors f

d
(a) 0.
En x
0
= b, on a f

g
(b) 0 pour le minimum et f

g
(b) 0 pour le maximum
Exemples 1.3.1 Toute fonction croissante sur [a, b] a un minimum local en a qui
est global et un maximum local en b qui est global. De plus, si les derivees existent
en a et b, on a
f

d
(a) 0 ; f

g
(b) 0
Toute fonction decroissante sur [a, b] a un maximum en a et un minimum en
b. De plus, si les derivees existent en a et b, on a
f

d
(a) 0 ; f

g
(b) 0
1.4. OPTIMISATION SUR R
2
9
1.4 Optimisation sur R
2
Soient f : R
2
R et (x
0
, y
0
) R
2
. On dit que (x
0
, y
0
) minimise localement f
sil existe > 0 tel que
x ]x
0
, x
0
+ [, y ]y
0
, y
0
+ [ f(x
0
, f(y
0
) f(x, y)
ou
(x, y) ]x
0
, x
0
+ []y
0
, y
0
+ [ f(x
0
, y
0
) f(x, y)
Cette denition implique, en particulier, que x
0
minimise localement la fonction
x f(x, y
0
) et de meme y
0
minimise localement la fonction y f(x
0
, y)
Il sen suit en particulier que si f est derivable, que
f
x
(x
0
, y
0
) = 0 ;
f
y
(x
0
, y
0
) = 0
On demontre les resultats suivants :
Theor`eme 1.4.1 (Conditions necessaires doptimalite)
Si (x
0
, y
0
) minimise localement f alors
i) Si f est derivable en (x
0
, y
0
) alors
(CN
1
)
f
x
(x
0
, y
0
) = 0 ;
f
y
(x
0
, y
0
) = 0
ii) Si f est de classe C
2
au voisinage de (x
0
, y
0
) alors
(CN
2
) f

(x
0
, y
0
)(h, h) 0 h R
2
Exemples 1.4.2 i) Pour f(x, y) = ax
2
+by
2
+ 2cxy +dx +ey, on verie que
(CN
1
)
f
x
(x
0
, y
0
) = 0 = 2ax+2cy+d ;
f
y
(x
0
, y
0
) = 0 = 2by+2cx+e

2
f(x, y) =
_
2a 2c
2c 2d
_
Si les valeurs propres de
2
f(x, y) sont strictement positives, f a un seul
minimum. On peut montrer que si les valeurs propres de
2
f(x, y) sont
positives ou nulles, toute solution de (CN
1
) est un minimum global de f.
ii) La fonction de Rosenbrook est denie par f(x, y) = (x 1)
2
+ 100(y x
2
)
2
.
On verie que (1, 1) minimise globalement f.
10 CHAPITRE 1. INTRODUCTION
`
A LOPTIMISATION
Theor`eme 1.4.3 (Conditions susantes doptimalite) Si f est de classe C
2
au
voisinage de (x
0
, y
0
), verie (CN
1
) et
(CS
2
) f

(x
0
, y
0
)(h, h) > 0 h R
2
, h = 0
alors (x
0
, y
0
) minimise localement strictement f.
Remarque 1.4.4 f

(x
0
, y
0
) est representee par une matrice appelee matrice hes-
sienne et notee
2
f(x
0
, y
0
). La condition (CN
2
) est equvalente `a dire que les va-
leurs propres de
2
f(x
0
, y
0
) sont positives ou nulles.
La condition (CS
2
) est equvalente `a dire que les valeurs propres de
2
f(x
0
, y
0
)
sont strictement positives.
1.5 Optimisation sur R
n
1.5.1 Optimisation sur un ouvert de R
n
Denition 1.5.1 On dit que A R
n
est un ouvert si, pour tout a A, il existe
r > 0 tel que la boule ouverte
B(a, r) = {x | x a
2
< r} A
o u x est une norme quelconque sur R
n
.
Autrement dit, A est un ouvert ssi tout point a A est centre dune boule ouverte
incluse dans A.
On verie que si . est la norme euclidienne, alors le cube
]a
1

r
2
, a
1
+
r
2
[...]a
n

r
2
, a
n
+
r
2
[ B(a, r)
Soit F R
n
. On dit que F est ferme si toute suite (x
n
) de A qui est convergent
vers x verie x F.
Denition 1.5.2 Soient A R
n
, x
0
A et f une fonction denie sur A. On dit
x
0
minimise localement f sur A, sil existe un voisinage V de x
0
tel que
f(x
0
) f(x) x A V
Exemple 1.5.3 1) Pour f(x) = x
3
, A = [0, 1], x = 0 minimise localement f sur
A. car un voisinage de 0 contient un intervalle ouvert I =] , [, < 1 et
x A I = [0, [ f(0) = 0 x
3
1.5. OPTIMISATION SUR R
N
11
2) Pour f(x) = x
3
, B = [1, 1], x = 0 ne minimise pas localement f sur B.
car tout voisinage de 0 contient un intervalle ouvert I =] , [, < 1 et
A I =] , [ ; f(0) = 0 > f(

2
)
On peut montrer le theor`eme suivant
Theor`eme 1.5.4 i) Une fonction numerique f qui est continue sur un ferme
borne A R
n
a un maximum global et un minimum global sur A.
ii) Si A R
n
est un ouvert et x
0
A es un minimum local, alors
a) Si f est derivable en x
0
, alors f

(x
0
) = 0
b) Si f est de classe C
2
au voisinage de x
0
alors f

(x
0
)(v, v) 0 v R
n
c) Reciproquement si x
0
A verie
f

(x
0
) = 0 ; f

(x
0
) denie positive
alors x
0
est un minimum local strict.
iii) Si A R
n
est un ouvert convexe, x
0
A et f convexe sur A et derivable,
alors
x
0
min global de f f

(x
0
) = 0
Preuve 3 Montrons i) : Montrons tout dabord que A est un compact de R
n
. Soit
(x
k
) une suite de A R
n
, la suite des premi`eres composantes (x
k
1
) est une suite
bornee de R et admet, par le theor`eme de Bolzano-Wereistrass, une sous-suite (x
k
1
1
)
convergente vers x
1
. De meme la suites des 2-`emes composantes (x
k
1
2
est bornee et
admet une sous-suite, notee (x
k
2
2
convergente vers x
2
. En raisonnant ainsi jusqu`a
la n-`eme composante (x
k
n
n
) convergente vers x
n
, en deduit que la suite extraite
(y
k
n
) converge vers x = (x
1
, x
2
, ..., x
n
). Or A est ferme et cei veut dire que x A
et A est compact. Montrons que f(A) est un borne de R. Dans le cas contraire
Montrons ii) : Comme x
0
minimise localement f sur louvert A, il existe une
boule ouverte B(x
0
, r) A tel que
x B(x
0
, r) f(x
0
) f(x)
Soit v R
n
, v = 0, On verie que
]
r
v
,
r
v
[ x = x
0
+ v B(x
0
, r)
Il sen suit que la fonction g denie par g() = f(x
0
+ v) verie
12 CHAPITRE 1. INTRODUCTION
`
A LOPTIMISATION
]
r
v
,
r
v
[ g(0) g()
= 0 minimise localement g sur lintervalle ouvert ]
r
v
,
r
v
[. Les condition
doptimalite secrivent donc
g

(0) = f

(0)v = 0 ; g

(0) = f

(x
0
)(v, v) 0
Comme v est arbitraire, on a
f

(x
0
)v v R
n
f

(x
0
) = 0
f

(x
0
)(v, v) 0 v R
n
f

(x
0
) semi-denie positive
Montrons iii) : Supposons f

(x
0
) = 0, comme f est convexe sur A, on a, pour tout
x A,
f(x) f(x
0
) + f

(x
0
)(x x0) = f(x
0
) x A
Supposons f(x) f(x
0
) x A, comme dans ii) et pour chaque v R
n
,
= 0 minimise g() sur ]
r
v
,
r
v
[ et on a
g

(0) = f

(x
0
)v = 0 v f

x
0
) = 0
1.5.2 Programmation lineaire sur R
2
Un probl`eme doptimisation min {f(x) | x E} est un probl`eme de program-
mation lineaire sur R
2
si x = (x
1
, x
2
) R
2
, si f est lineaire ( f(x) = f(x
1
, x
2
) =
ax
1
+ bx
2
) et si E est un sous-ensemble deni par des equations lineaires ou des
inequations lineaires.
Exemples 1.5.5 i) min {2x
1
+3x
2
| x
1
+2x
2
2; x
1
x
2
1, x
1
0, x
2

0}
_

_
min f(x
1
, x
2
) = 2x
1
+ 3x
2
s.c.
x
1
+ 2x
2
2
x
1
x
2
1
x
1
0, x
2
0
ii)
_

_
min f(x
1
, x
2
) = x
1
+ x
2
s.c.
x
1
+ 2x
2
2
x
1
+ 2x
2
= 1
1.5. OPTIMISATION SUR R
N
13
iii)
_
_
_
min f(x
1
, x
2
) = 3x
1
+ 2x
2
s.c.
(x
1
, x
2
) R
2
On a le theor`eme suivant :
Theor`eme 1.5.6 i) Une fonction numerique lineaire non nulle f(x, y) =
ax + by nest ni majoree ni minoree sur R
2
et ne poss`ede ni un maximum
global ni un minimum global.
ii) Soient f(x, y) = ax+by une forme lineaire non nulle sur R
2
, a

= (x
0
, y
0
)
R
2
, r > 0 et B(a

, r) = {(x, y) | (x x
0
)
2
+ (y y
0
)
2
< r
2
} le disque
ouvert de centre a

et de rayon r. Alors ax +by nadmet sur ce disque ni un


maximum local ni un minimum local.
iii) Une forme lineaire f(x, y) = ax + by minoree sur un polytope de R
2
admet
un minimum global sur ce polytope.
iv) Une forme lineaire f(x, y) = ax + by sur un polytope borne admet un mini-
mum global et un maximum global.
v) Si une forme lineaire f(x, y) = ax + by admet un minmum local sur un
polytope de R
2
, il existe alors un sommet du polytope o` u ce minimum est
atteint.
Preuve 4 i) Comme f est non nulle, cela veut dire que a ou b sont non nuls.
Supposons a > 0, on a, en prenant y = 0,
lim
x +
ax + by = + ; lim
x
ax + by =
Ce qui veut dire que f nest ni majoree ni minoree.
Raisonnons par labsurde et supposons que (x
0
, y
0
) est un minimum global
de f. La droite D
1
passons par (x
0
, y
0
) et parall`ele `a la droite D
0
dequation
ax + by = 0 a pour equation ax + by = c = ax
0
+ by
0
. D
1
partage lespace
R
2
en deux regions : dans lune on a ax +by < c = f(x
0
, y
0
) et dans lautre
ax + by > c = f(x
0
, y
0
), ce qui veut dire que ce point ne peut etre ni un
maximum ni un minimum.
ii) Demonstration analogue `a i).
1.5.3 Existence dun minimum
Rappelons quune fonction f est dite coercive si f(x) + (|x| +).
Exemples 1.5.7 i) Tout polynome unitaire de degre pair et 2 est coecive.
14 CHAPITRE 1. INTRODUCTION
`
A LOPTIMISATION
ii) les fonctions denies par f(x) =
x
4
+x
2
+1
x
2
+x+2
et g(x) = ch(x) sont coercives.
Le i) du theor`eme suivant a ete demontre en premi`ere annee.
Theor`eme 1.5.8 i) Une fonction numerique continue f sur un intervalle ferme
borne a un maximum global et un minimum global sur [a, b]
ii) Une fonction continue sur R qui est coercive a un minmum global.
Soit F R
n
. On dit que F est ferme si toute suite (X
n
) de A qui est convergent
vers X verie X F.
On admet le theor`eme suivant
Theor`eme 1.5.9 i) Une fonction numerique f qui est continue sur un ferme
borne A R
n
a un maximum global et un minimum global sur A.
ii) Si A R
n
est un ouvert et x
0
A est un minimum local, alors
f

(x
0
) = 0 ; f

(x
0
) 0
1.6 Ensembles convexes de R
n
Soient a, b R
n
, on appelle segment dextremite a et b le sous-ensenble
S = {x =
1
a +
2
b |
1
0,
2
0,
1
+
2
= 1}
On le note aussi [a, b], [b, a] ou ab. Comme
1
= 1
2
0, on peut ecrire
S = {x = a + (1 )b | [0, 1]}
Exemples 1.6.1 i) Dans le cas o` u n = 1, un segment de R, dextremites a et
b, est un intervalle ferme borne. Si a < b, on note ce segment par [a, b] et on
evite les autres notations.
ii) Dans le cas o` u n = 2, un segment de R
2
, dextremites a et b, est bien un
segment de droite. En eet x = a + (1 )b = b +(a b) est porte par la
droite de direction a b et passant par a et b.
iii) Lecriture x =
1
a +
2
b avec
1
0,
2
0 et
1
+
2
= 1 se lit x est
une combinaison convexe de a et b. Pour le segment [a, b], tout x [a, b] est
combinaison convexe de a et b et on dit que [a, b] est enveloppe convexe de a
et b.
iv) Rappelons que x est une combinaison lineaire de a et b si x =
1
a+
2
b avec

1
R et
2
R.
v) Rappelons que x est une combinaison ane de a et b si x =
1
a +
2
b avec

1
R,
2
R et
1
+
2
= 1.
1.6. ENSEMBLES CONVEXES DE R
N
15
Denition 1.6.2 Soit C un sous-ensemble de R
n
, on dit que C est convexe sil
est stable par combinaison convexe. Autrement dit
C convexe {a, b C,
1
0
2
0,
1
+
2
= 1}
1
a +
2
b C
Exemples 1.6.3 i) Tout intervalle de R est convexe et on montre que tout
convexe de R est un intervalle.
ii) Pour toute forme lineaire f(x, y) = ax+by sur R
2
et c R, les demi-espaces
suivants sont convexes :
D
+
= {(x, y) | ax + by c} ; D

= {(x, y) | ax + by c}
iii) Soient C
1
et C
2
deux convexes, on montre que C
1
C
2
est aussi convexe. Ce
resultat setend `a lintersection dun nombre quelconque de convexes.
iv) Dans R
2
, un triangle (avec son interieur) est convexe et sappelle simplexe.
Si a, b et c sont les sommets du triangle, on verie que les vecteurs a b et
a c sont lineairement independants et on dit que a , b , c sont anement
independants.
Theor`eme 1.6.4 Soient C un convexe de R
n
et x
1
, x
2
, ..., X
m
des elements de C,
alors

1
x
1
+
2
x
2
+ ... +
m
x
m
C
i
0, et
1
+
2
+ ... +
m
= 1
Preuve 5 La preuve se fait par recurrence sur m.
Denition 1.6.5 Un simplexe S de R
n
est lenveloppe convexe de n + 1 points
anement independants. Autrement dit, il existe x
1
, x
2
, ..., x
n+1
tels que
i) {x
1
x
2
, x
3
, ..., x
1
x
n+1
} est un syst`eme libre.
ii) S = {x =
n+1

i
x
i
|
i
0,
n+1

i
= 1}
Denition 1.6.6 Un point extremal x

dun convexe C est un point qui ne peut


secrire comme combinaison convexe de deux points distincts x
1
et x
2
de C. Au-
trement dit, pour tout ]0, 1[, on a
X

= x
1
+ (1 )x
2
x
2
= x
2
Exemples 1.6.7 i) Les sommets dun simplexe de R
2
sont des points extremaux.
16 CHAPITRE 1. INTRODUCTION
`
A LOPTIMISATION
ii) Soit C = {(x, y) | x +y 1, x 0, y 0}. Les points (0, 0), (1, 0), (0, 1)}
sont les points extremaux de C.
iii) Une droite na pas de points extremaux. Plus generalement un sous-espace
vectoriel de R
n
na pas de points extremaux sil nest pas reduit `a 0.
Denition 1.6.8 On appelle poly`edre de R
n
toute intersection nie de demi es-
paces.
Exemples 1.6.9 i) {(x, y) | x y 1} est un poly`edre de R
2
. Il en est de
meme des sous-ensembles suivants :
{(x, y) | xy 1, 3x+2y = 2, 6x2y 2} ; {(x, y) | 2x+y 1, x 0, y 0}
ii) Soit le poly`edre
P = {(x, y) | 2x y 2, x + 2y 3, 6x 2y 1}.
En posant
A =
_
_
2 1
1 2
6 2
_
_
; B =
_
_
2
3
1
_
_
,
On peut ecrire P = {X | AX B}.
Un poly`edre est convexe (il est lintersection dun nombre ni de convexes). Sil
est borne, on lappelle polytope convexe.
Denition 1.6.10 Une forme lineaire sur R
n
est une application lieaire f :
R
n
R et il existe a = (a
1
, a
2
, ..., a
n
) R
n
tel que
x = (x
1
, x
2
, ..., a
n
) f(x) = a
1
x
1
+ a
2
x
2
+ ... + a
n
x
n
= ax =
n

i=1
a
i
x
i
Pour tout c R, le sous-ensemble de R
n
deni par
H
c
= {x | ax = c}
sappelle hyperplan si a = 0.
Exemples 1.6.11 Un hyperplan de R
2
est une droite. Un hyperplan de R
3
est un
plan. Noter que les sous-ensembles suivants sont convexes et disjoints
D

= {x | ax < c} ; D
0
= {x | ax = c} ; D
+
= {x | ax < c}
Geometriquement, D

et D
+
sont de part et dautre de D
0
.
H
c
separe lespace R
n
en 2 sous-ensembles (regions) : {x | ax c} et {x | ax c}.
On verie que R
n
= D

D
0
D
+
1.7. S

ERIE DEXERCICES N1 17
Denition 1.6.12 Soient A R
n
x
0
A et f une fonction denie sur A. On dit
que f a un minimum local en x
0
sil existe un voisinage V
x
0
de x
0
tel que
f(x
0
) f(x) x A V
x
0
Theor`eme 1.6.13 Un minimum local x
0
dune forme lineaire f(x) = cx sur un
convexe C est un minmum global.
Preuve 6 Par labsurde : sil existe x

C tel que cx

< cx
0
, alors pour tout
]0, 1[, on a x
0
+(x

x
0
) = (1)x
0
+x

C. Soit V
x
0
un voisinage ouvert
de x
0
tel que
f(x
0
) f(x) x C V
x
0
Il sen suit que, pour ]0, 1[ assez petit, x = x
0
+ (x

x
0
) C V
x
0
et
comme c(x

x
0
) < 0, on a c(x) = cx
0
+ c(x

x
0
) < cx
0
et ceci contredit la
minimalite locale de cx sur le convexe C.
1.7 Serie dexercices n1
18 CHAPITRE 1. INTRODUCTION
`
A LOPTIMISATION
E.S.S.T.T. Annee universitaire : 2008-2010
Departement de Mathematiques Classes :2LF-EEA
Serie N1 de Recherche Operationnelle
Exercice 1. Calculer les determinants suivants :

2 5 3 2
2 3 2 5
1 3 2 2
1 6 4 3

3 2 5 4
1 2 2 3
2 4 7 3
2 3 5 8

1
2
1
1
3
3
4
1
2
1
1 4 1

3 8 6
2 3 1
5 10 15

Exercice 2. Calculer les matrices inverses des matrices suivantes :


_
3 5
2 3

;
_
_
1 2 2
2 3 6
1 1 7
_
_
;
_
_
1 2 4
1 1 5
2 7 3
_
_
;
_
_
1 3 4
1 5 1
3 13 6
_
_
Exercice 3. Trouver le rang de chacune des matrices suivantes :
_
_
1 2 0 1
2 6 3 3
3 10 6 5
_
_
;
_
_
_
_
1 3 1 2 3
1 4 3 1 4
2 3 4 7 3
3 8 1 7 8
_
_
_
_
;
_
_
_
_
1 2 3
2 1 0
2 1 3
1 4 2
_
_
_
_
;
_
_
_
_
1 3
0 2
5 1
2 3
_
_
_
_
Exercice 4. Resoudre les syst`emes lineaires suivants :
_
_
_
2x + y 3z = 1
5x + 2y 6z = 5
5x + 4y z = 1
;
_
_
_
2x + y 2z = 8
3x + 2y 4z = 15
5x + 4y z = 1
;
_
_
_
x + 2y 3z = 1
2x + 5y 8z = 4
3x + 8y 13z = 7
;
_
_
_
2x 5y + 3z 4s + 2t = 4
3x 7y + 2z 5s + 4t = 9
5x 10y 5z 4s + 7t = 22
Exercice 5. Discuter, suivant les valeurs du parametre k, lexistence des solutions
du syst`eme lineaire suivant :
_
_
_
x 2y = 1
x y + kz = 2
ky + 4z = 6
Exercice 6. Resoudre graphiquement les probl`emes suivants de programmation
lineaire
1.8. S

ERIE N1 19
_

_
max z(x, y) = x + 3y
s.c.
2x + 5y 10
3x + 4y 12
x 0, y 0
_

_
max z(x, y) = x y
s.c.
x + y 3
2x + y 10
x + 2y 10
_

_
min z(x, y) = x + 2y
s.c.
x + 6y 12
6x + y 12
x 0, y 0
_

_
max z(x, y) = 2x + 3y
s.c.
2x + y 0
x y 3
x y 5
1.8 Serie N1
Universite de Tunis Annee Universitaire 2011-2012
ESSTT Classe : 1GI
Departement de Mathematiques Recherche operationnelle
Serie N1
Exercice 1 :
Soient p > 0, q > tes que
1
p
+
1
q
= 1, montrer les inegalites de convexite
suivantes :
1) (, ) (R
+
)
2
,

p
p
+

q
q
2) Inegalite de Holder :
n

1
|u
i
||v
i
| (
n

1
|u
i
|
p
)
1
p
(
n

1
|v
i
|
q
)
1
q
2) Inegalite de Cauchy-Schwartz :
n

1
|u
i
v
i
| u
2
v
2
3) Inegalite de Minkowski : u + v
p
= (
n

1
|u
i
+ v
i
|
p
)
1
p
u
p
+v
p
Exercice 2 : Suite minimisante
1) Rappeler les denitions de borne inferieure et borne superieure. Enoncer le
theor`eme de la borne superieure.
2) Soit X une partie non vide de R et m = inf(X). Montrer quil existe une
suite (x
n
) de X telle que lim
n +
x
n
= m. (x
n
) est-elle convergente ?
3) Soient f : E R une fonction denie sur un ensemble quelconque E et
m = inf(f(E)). Montrer quil existe une suite (e
n
) de E telle que la suite
(f(e
n
)) a pour limite m.
4) Pour E = X
1
X
2
, montrer que inf(f(E)) = inf(inf(f(X
1
), inf(f(X
2
))))
5) Pour E =
iI
X
i
, montrer que inf(f(E)) = inf
iI
(inf(f(X
i
)))
20 CHAPITRE 1. INTRODUCTION
`
A LOPTIMISATION
6) Pour E = X
1
X
2
, montrer que
inf
(x
1
,x
2
)X
1
X
2
f(x
1
, x
2
) = inf
x
1
X
1
(inf
x
2
X
2
f(x
1
, x
2
)) = inf
x
2
X
2
(inf
x
1
X
1
f(x
1
, x
2
))
Exercice 3 :
Soit I un intervalle ouvert de R et f : I R une fonction convexe.
1) Pour z < a < x < y < b, montrer que
g(z) =
f(z) f(a)
z a

f(x) f(a)
x a

f(b) f(a)
b a
= m
En deduire que g est croissante majoree et admet une limite nie f

g
(a) quand
z tend vers a.
2) Montrer que f admet des derivees `a gauche et `a droite en a et b et
f

g
(a) f

d
(a)
f(b) f(a)
b a
f

g
(b) f

d
(b)
3) Soient x
0
I, montrer quil existe a et b de I tels que a < x
0
< b. En deduire
que
x ]a, b[{x
0
} f

d
(a)
f(x) f(x
0
)
x x
0
f

d
(b) |f(x)f(x
0
)| K|xx
0
| (K = max(|f

d(a)|, |f

d(b)|)
4) En deduire que f est continue sur I et f est lipchitzienne sur [a, b].
5) On denit f sur [0, 1] par f(0) = f(1) = 1 et f(x) = 0 sinon. Verier que f
est convexe. Est-elle continue sur [0, 1] ?.
Chapitre 2
Convexite et programmation
lineaire
2.1 Generalites
Denition 2.1.1 Un probl`eme de programmation lineaire sur R
n
est un probl`eme
doptimisation de la forme :
(PL)
_

_
minimiser z(x) =
n

1
c
i
x
i
sous les conditions
n

j=1
a
ij
x
j
b
i
i = 1...m
n

j=1
a
ij
x
j
= b
i
i = m + 1...p
n

j=1
a
ij
x
j
b
i
i = p + 1...q
z est la fonction `a minimiser. On lappelle aussi fonction objectif ou fonction co ut.
Les inegalites
n

j=1
a
ij
x
j
b
i
ou
n

j=1
a
ij
x
j
b
i
sappellent des contraintes inegalites
et les egalites
n

j=1
a
ij
x
j
= b
i
sappellent des contraintes egalites. Le poly`edre
21
22 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
X = {x
n
R
n
|
n

j=1
a
ij
x
j
b
i
, i = 1...m;
n

j=1
a
ij
x
j
= b
i
, i = m+1...p ;
n

j=1
a
ij
x
j
b
i
, i = p+1...r}
sappelle ensemble admissible.
Exemple 2.1.2
(P)
_

_
min 3x
1
+ 4x
2
s.c.
2x
1
+ x
2
12
x
1
+ 2x
2
12
x
1
0
x
2
0
2.1.1 Forme canonique de (PL)
Lorsque (PL) na que des contraintes de type , on dit que (PL) et mis sous
forme canonique. (PL) secrit alors :
(PC)
_

_
minimiser z(x) =
n

1
c
i
x
i
sous les conditions
n

j=1
a
ij
x
j
b
i
i = 1...m
Utilisons les vecteurs c = (c
1
, c
2
, ..., c
n
) et b = (b
1
, b
2
, ..., b
m
)
T
et la matrice
A = [a
ij
], on peut mettre un probl`eme PL sous la forme matricielle suivante :
(PC)
_
_
_
min cx
s.c.
Ax b
Exemples 2.1.3 Soit le probl`eme
(PL)
_

_
min 3x
1
+ 4x
2
s.c.
2x
1
+ x
2
12
x
1
+ 2x
2
12
x
1
x
2
= 3
x
1
, x
2
0
2.1. G

EN

ERALIT

ES 23
Pour mettre PL sous sa forme canonique, on peut remplacer chaque contrainte
egalite par une double inegalite et ecrire
(PC)
_

_
min 3x
1
+ 4x
2
s.c.
2x
1
+ x
2
12
x
1
2x
2
12
x
1
x
2
3
x
1
+ x
2
3
x
1
0
x
2
0
(PC)
_
_
_
min cx
s.c.
Ax b
avec
A =
_
_
_
_
_
_
_
_
2 1
1 2
1 1
1 1
1 0
0 1
_
_
_
_
_
_
_
_
; b =
_
_
_
_
_
_
_
_
12
12
3
3
0
0
_
_
_
_
_
_
_
_
; c = (c
1
, c
2
, ..., c
n
)
Il est clair que les probl`emes PL et PC ont meme ensemble admissible et meme
fonction objectif.
2.1.2 Forme standard de (PL)
Lorsque PL na que des contraintes degalites et des contraintes dinegalites de
type x
1
0, x
2
0, ..., x
n
0, on dit que PL et mis sous forme standard.
PL secrit alors :
(PS)
_

_
minimiser z(x) =
n

1
c
i
x
i
sous les conditions
n

j=1
a
ij
x
j
= b
i
i = 1...m
x
j
0, j
Utilisons les vecteurs c = (c
1
, c
2
, ..., c
n
) et b = (b
1
, b
2
, ..., B
m
) et la matrice
A = [a
ij
], on peut mettre un probl`eme PS sous la forme matricielle suivante :
24 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
(PS)
_

_
min cx
s.c.
Ax = b
x 0
X = {x | Ax = b, x 0 est lensemble admissible.
Exemples 2.1.4 Soit le probl`eme
(PL)
_

_
min 3x
1
+ 4x
2
s.c.
2x
1
+ x
2
12
x
1
+ 2x
2
12
x
1
x
2
= 3
x
1
, x
2
0
Pour mettre PL sous sa forme standard, on peut ajouter des variables articielles
positives ou nulles (dites variables decart) et ceci pour remplacer chaque contrainte
inegalite par une egalite.
(PS)
_

_
min 3x
1
+ 4x
2
s.c.
2x
1
+ x
2
+ x
3
= 12
x
1
+ 2x
2
x
4
= 12
x
1
x
2
= 3
x
1
0, x
2
0, x
3
0, x
4
0
(PS)
_

_
min cx
s.c.
Ax = b
x 0
avec
A =
_
_
2 1 1 0
1 2 0 1
1 1 0 0
_
_
; b =
_
_
12
12
3
_
_
; c = (3, 4, 0, 0)
Il est clair que les probl`emes PL et PS ont meme ensemble admissible et meme
fonction objectif.
2.2 Proprietes du probl`eme standard
Soit PL un probl`eme de programmation lineaire de forme standard
2.2. PROPRI

ET

ES DU PROBL
`
EME STANDARD 25
(PS)
_

_
minimiser z(x) =
n

1
c
i
x
i
s.c
n

j=1
a
ij
x
j
= b
i
i = 1...m
x
j
0, j
(PS)
_

_
min cx
s.c.
Ax = b
x 0
On supposera que lensemble admissible X = {x R
n
| Ax = b, x 0} est non
vide, b 0 m n et que A est de rang plein m.
On dira que d 0 est une direction innie de X si
x X, 0 x + d X
Il revient au meme de dire que d 0 et Ad = 0.
Lemme 2.2.1 Soit v
1
, ..., v
m
une famille nie de de R
n
, alors
K
m
= {v =
m

k
v
k
|
k
0}
est un cone convexe ferme de R
n
.
Preuve 7 Le fait que K
m
est un cone convexe est evident. Montrons, par recurrence
sur m, quil est ferme : Pour m = 1, K
1
= R
+
v
1
est ferme. Supposons le resultat
vrai pour m et montrons le pour m + 1 :
1er cas : tous les v
k
sont dans K
m+1
. Il sen suit que que K
m+1
est un sous-
espace vetoriel de R
n
et il est donc ferme.
2`eme cas : il existe k tel que v
k
/ K
m+1
. Supposons quil sagit de v
m+1
.
On peut ecrire
K
m+1
= {v =
m

k
v
k
|
k
0} +R
+
v
m+1
= K
m
+R
+
v
m+1
Soit z
k
= w
k
+
k
v
m+1
K
m
+R
+
v
m+1
une suite convergente vers z. On veut
montrer que z K
m
+R
+
v
m+1
. Montrons tout dabord que la suite (
k
) est bornee.
Dans le cas contraire, il existe une sous-suite, notee encore (
k
) qui tend vers +.
On alors
z
k

k
=
w
k

k
+v
m+1
K
m
+v
m+1

w
k

k
=
z
k

k
v
m+1
K
m
lim
w
k

k
= 0v
m+1
= v
m+1
K
m
K
m+1
26 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
Ceci contredit v
k
/ K
m+1
. Il sen suit que la suite est bornee et admet une
sous-suite, notee encore (
k
) convergente vers et (w
k
= z
k

k
v
m+1
K
m
) est
convergente vers w = z v
m+1
. Ainsi z = w+v
m+1
K
m+1
et K
m+1
est ferme.
Corollaire 2.2.2 1) Soit A une matrice de type mn, alors
Y = {y = Ax | x 0}
est un cone convexe ferme.
2) Une forme lineaire z = cx minoree sur X = {x | Ax = b, x 0} atteint
son minimum global en x

X.
Preuve 8 Notons A
j
les colonnes de A, on a Y = {y =

x
j
A
j
| x
j
0} est
ferme dapr`es le theor`eme precedent.
Supposons que z est minoree sur X. Notons

A la matrice qui a pour premi`ere
ligne c et les autres lignes celles de A. Il sen suit que X
1
= {y = (cx, Ax) =

Ax | x 0} est ferme. Soit (x


k
) une suite de X telle que (cx
k
) converge vers
z

= inf{cx | Ax = b, x 0}, il sen suit que (cx


k
, b) X
1
est convergente vers
(z, b) X
1
et par suite il existe x

0 tel que z

= cx

, Ax

= b.
Denition 2.2.3 i) On appelle base toute sous-matrice carree mm inver-
sible extraite de A. Soit B une base, formee par les m premi`eres colonnes de
A. La decomposition de A en blocs de matrices secrit alors A = [B, N] o` u
la matrice N a m lignes et n m colonnes. Tout x R
n
peut secrire sous
la forme x = (x
B
, x
N
) o` u x
B
= (x
1
, x
2
, ..., x
m
) et x
N
= (x
m+1
, ..., x
n
)
ii) On dira que x R
n
est une solution de base B si x
N
= 0 et Ax = b.
Autrement dit x = (B
1
b, 0)
iii) On dira que x est une solution de base realisable si x est une solution de
base admissible. Autrement dit x = (x
B
, 0) avec x
B
= B
1
b 0, x
N
= 0 et
Ax = b. On dira aussi que B est une base realisable.
iv) Une solution de base est degeneree si le vecteur x
B
= B
1
b a des compo-
santes nulles.
Exemples 2.2.4
(PL)
_

_
max z = 3x
1
5x
2
3x
3
s.c.
x
1
+ 2x
2
x
3
16
3x
1
4x
2
20
x
1
x
2
= 3
x
1
, x
2
, x
3
0
2.2. PROPRI

ET

ES DU PROBL
`
EME STANDARD 27
Pour trouver la forme standard de ce probl`eme, on remplace z par z et on
remplace les inegalites par des egalites en introduisant des variables decart x
4
et
x
5
. Do` u
(PS)
_

_
min z = 3x
1
+ 5x
2
+ x
3
s.c.
x
1
+ 2x
2
x
3
+ x
4
= 16
3x
1
4x
2
+ x
5
= 20
x
1
, x
2
, x
3
, x
4
, x
5
0
La matrice de PS est A =
_
1 2 1 1 0
3 4 0 0 1
_
. On verie que les sous-
matrices de A dordre 2 inversibles sont :
B
1
=
_
1 2
3 4
_
; B
2
=
_
1 1
3 0
_
; B
3
=
_
1 1
3 0
_
; B
4
=
_
1 0
3 1
_
; B
5
=
_
2 1
4 0
_
B
6
=
_
2 1
4 0
_
; B
7
=
_
2 0
4 1
_
; B
8
=
_
1 0
0 1
_
.
Determinons les bases realisables.
Theor`eme 2.2.5 Soit x X = {x R
n
| Ax = b, x 0} o` u A est une matrice
de type mn de rang m et b > 0. les conditions suivantes sont equivalentes
i) x est un sommet.
ii) Les vecteurs colonnes {A
j
| x
j
> 0} forment un syst`eme de vecteurs lineairements
independants.
iii) Le support supp(x) = {i | x
i
> 0} est minimal. Autrement dit il nexiste pas
de y X tel que supp(y) supp(x)
iv) x est une solution de base realisable.
Preuve 9 i) ii) ?
Soit un sommet x = 0. Supposons que les vecteurs colonnes {A
j
| x
j
> 0} =
{A
1
, A
2
, ..., A
r
} ne forment pas un syst`eme libre. Il existe donc des reels non tous
nuls y
1
, y
2
, ..., y
r
tels que y
1
A
1
+y
2
A
2
+... +y
r
A
r
= 0. Posons y
j
= 0 si j > r, on
peut ecrire Ay = 0. On peut supposer lexistence dun y
j
> 0 sinon on multiplie
par 1. Posons 0 < = min{
x
i
y
i
| y
i
> 0}, il sen suit que u = x y 0 et
Au = b. On a alors deux cas
a) y
i
0, i. Dans ce cas v = x + y 0, Av = b, u = v et x =
u+v
2
et ceci
contredit le fait que x est un sommet.
28 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
b) {y
i
| y
i
< 0} = et 0 < = min{
x
i
y
i
| y
i
< 0} et alors v = x + y
0, Av = b, ( + )x = v + u, x =

+
v +

+
u X avec v = u et ceci
contredit le fait que x est un sommet.
ii) i) ?
Soit x un point admissible tel que DD = {A
j
| x
j
> 0} est un syst`eme libre.
Montrons que x est un point extremal. On sait que |supp(x)| = {j | x
j
> 0}| m
et on peut completer DD par des vecteurs colonnes de A pour avoir une base
realisable B. x = (x
B
, x
N
) est une solution de base realisable. Montrons que x est
extremal : sil existe u = (u
B
, u
N
) et v = (v
B
, v
N
) admissibles et ]0, 1[ tels que
x = u + (1 )v, on en d

duit que 0 = x
N
= u
N
+ (1 )v
N
u
N
= v
N
= 0
x
B
= B
1
b; u
B
= B
1
b; v
B
= B
1
b x
B
= u
B
= v
B
u = v = x
i) iii) ?
Montrons par labsurde que supp(x) est minimal : sil existe y X tel que
supp(y) est strictement inclus dans supp(x), on a
0 < = min{
x
i
y
i
| y
i
> 0}
On a alors deux cas :
a) 1
alors 0 x y x y = z, Az = 0 et
x =
1
2
(y +
2
3
z) +
1
2
(y +
4
3
z) =
y
1
+ y
2
2
Comme y
1
, y
2
X, y
1
= y
2
ceci contredit le fait que x est un sommet.
b) < 1, alors z = xy 0, verie Az = (1 )b et y
1
=
z
1
0 et verie
Ay
1
= b. Il sen suit que x = z + y = y + (1 )y
1
. Ceci veut dire que x nest
pas extremal
iii) ii) ?
Supposons que supp(x) est minimal, montrons que {A
j
| x
j
> 0} est un syst`eme
libre. Sinon il exise des y
j
non tous nuls tels que

jsupp(x)
y
j
A
j
= 0. Posons y
j
= 0
si j / supp(x), on peut ecrire Ay = 0. On peut supposer lexistence dun y
j
> 0
sinon on multiplie par 1. Posons 0 < = min{
x
i
y
i
| y
i
> 0}, il sen suit que
u = x y 0, Au = b or supp(u) est strictement inclus dans supp(x) do` u la
contradiction. Il sen suit que {A
j
| x
j
> 0} est un syst`eme libre.
ii) iv) ? : evident.
2.2. PROPRI

ET

ES DU PROBL
`
EME STANDARD 29
Soit x X = {x R
n
| Ax b}, on notera (x) = {i | a
i
x = b
i
} et
(x) = {i | a
i
x < b
i
. a
i
est la i`eme ligne. On notera A
(x)
la sous-matrice extraite
de A et dont les lignes sont les a
i
, i (x).
Theor`eme 2.2.6 Soit x X = {x R
n
| Ax b} o` u A est une matrice de type
mn . les conditions suivantes sont equivalentes :
1) x est un sommet
2) A
(x)
est de rang n
Preuve 10 1) 2) ?
Si A
(x)
nest pas de rang n, il existe y = 0 tel que A
(x)
y = 0 et pour R
n
assez petit tel que
A
(x)
(xy) = b
(x)
, A
(x)
(xy) < b
(x)
; A
(x)
(x+y) = b
(x)
, A
(x)
(x+y) < b
(x)
u = x + y X; v = x y X; x =
u + v
2
nest pas extremal
2) 1) ?
Supposons A
(x)
de rang n et x nest pas extremal. Il existe donc x
1
X et
x
2
X dierends tels que x =
x
1
+x
2
2
,. Il sen suit que
A
(x)
(x
1
) = b
(x)
; A
(x)
(x
2
) = b
(x)
A
(x)
(x
1
x
2
) = 0
Ceci veut dire que A
(x)
nest pas de rang n.,
Theor`eme 2.2.7 Soient
XI = {x R
n
| Ax b, x 0} ; XE = {(x, z) R
n
R
m
| Ax+z = b, (x, z) 0}
o` u A est une matrice de type m n de rang m. Pour x R
n
, les conditions
suivantes sont equivalentes :
1) x est un sommet de XI
2) (x, z) est un sommet de XE
Preuve 11 1) 2) ?
On raisonne par labsurde en supposant que (x, z = b Ax) est combinaison
convexe de deux points distincts (x
1
, z
1
) et (x
2
, z
2
) de XE. Il existe donc ]0, 1[
tel que
(x, z) = (x
1
, z
1
)+(1)(x
2
, z
2
). On en deduit, en particulier, que x
1
, x
2
XI.
Si x
1
= x
2
alors z
1
= b Ax
1
= b Ax
2
= z
2
et par suite (x
1
, z
1
) = (x
2
, z
2
) ce
30 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
qui contredit lhypoth`ese quil sont dierends. On doit donc avoir x
1
= x
2
ce qui
contredit le fait que x est un sommet car x = x
1
+ (1 )x
2
.
Il sen suit que (x, z = b Ax) est un sommet de XE.
2) 1) ?
On raisonne par labsurde en supposant que x est combinaison convexe de deux
points distincts x
1
et x
2
de XI. Il existe donc ]0, 1[ tel que x = x
1
+(1 )x
2
et par suite
b Ax = b Ax
1
(1 )Ax
2
= (b Ax
1
) +(1 )(b Ax
2
) = z
1
+(1 )z
2
(x, z) = (x
1
, z
1
) + (1 )(x
2
, z
2
)
Ceci contredit le fait que (x, z) est un point extremes.
Theor`eme 2.2.8 Si le poly`edre X = {x | Ax = b, x 0} est non vide, alors
i) X poss`ede, au moins, un sommet.
ii) Une forme lineaire z, minoree sur X, atteint son minimum global sur X en
un sommet.
Preuve 12 i) Si 0 X, alors 0 est un sommet. Supposons 0 / X. Soit x
0
X.
Si x
0
est un sommet le probl`eme est resolu sinon {A
j
| x
0
j
> 0} est un syst`eme
lie, non vide et il existe y
0
R
n
{0} tel que Ay
0
= 0. On peut supposer
supp(y
0
) = {i | y
0
i
> 0} = . On a
0 <
0
= min{
x
0
i
y
0
i
| y
i
> 0} ; x
1
= x
0

0
y
0
X ; supp(x
1
) supp(x
0
)
De meme si x
1
nest pas un sommet, on construit x
2
= x
1

1
y
1
X tel
que supp(x
2
) supp(x
1
). Supposons construit des points x
3
, ..., x
p
X qui
ne sont pas des sommets et verient
supp(x
k
) supp(x
k+1
)
Il sen suit que la suite (x
k
) est nie et x
p
est un sommet.
ii) On va montrer que
inf {z(x) | x X} = min {z(x) | x X, x sommet}
Soit x
0
X un point qui nest pas un sommet. Il existe donc deux points
distincts xx
1
et xx
2
de X et ]0, 1[ tels que x
0
= xx
1
+(1)xx
2
. Posons
2.3. PROPRI

ET

ES DU CO

UT R

EDUIT 31
w = xx
1
xx
2
. On verie que w = 0 et Aw = 0 et supp(w) supp(x
0
).
Montrons quon peut supposer
z(w) 0 ; supp(w) =
On a plusieurs cas
a) z(w) < 0 supp(w) = )
car si supp(w) = ), alors w 0, il sen suit que, pour tout 0,
xx = x
0
+ w X
z(xx) = z(x
0
) + z(w) ( +)
et ceci contredit le fait que z est minore sur X. Ainsi supp(w) = et on
peut remplacer w par w pour avoir z(w) 0; supp(w) = .
b) z(w) > 0 supp(w) = , sinon xx = x
0
w X
z(xx) = z(x
0
) z(w) ( +)
. Ceci contredit le fait que z est minoree sur X. Il sen suit que supp(w) =
.
c) z(w) = 0 et supp(w) = , on peut remplacer alors w par w pour avoir
z(w) = 0 et supp(w) = )
Posons 0 <
1
= min {
x
0
j
w
j
| w
j
> 0}. On verie que
x
1
= x
0

1
w X ; supp(x
1
) supp(x
0
) ; z(x
1
) z(x
0
)
Si x
1
nest pas un sommet, la construction precedente permet de trouver
x
2
X tel que
x
2
X ; supp(x
1
) supp(x
0
) ; z(x
2
) z(x
1
) z(x
0
)
A cause card(supp(x)) n, au bout dun nombre ni diterations, on trouve
un x
k
qui est un sommet et qui verie z(x
k
) z(x
0
).
2.3 Proprietes du co ut reduit
Soient B une base realisable de colonnes A
1
, ..., A
m
. Pour toute solution admis-
sible x = (x
B
, x
N
), on a
32 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
Ax = b Bx
B
+ Nx
N
= b x
B
= B
1
b B
1
Nx
N
= b Y x
N
z = c
B
x
B
+ c
N
x
N
= c
B
(B
1
b B
1
Nx
N
) + c
N
x
N
= z + (c
N
c
B
B
1
N)x
N
z = z + C
N
x
N
C
N
sappelle co ut reduit et = c
B
B
1
sappelle multiplicateur du simplexe.
Le probl`eme PS secrit alors
(PSS)
_

_
min Z = cx = z + C
N
x
N
s.c.
x
B
+ B
1
Nx
N
= B
1
b
x 0
Theor`eme 2.3.1 Soit B une base realisable et x
0
= (x
0
B
, 0) la solution realisable
correspondante
i) Si C
N
0, alors x
0
est optimale.
ii) Sil existe une composante strictement negative c
r
de C
N
, alors lune des
conditions suivantes est satisfaite :
a) La colonne y
r
= B
1
N
r
0. Dans ce cas inf(PS) =
b) Il existe une composante strictement positive de y
r
. Dans ce cas il existe
un sommet x
1
tel que z(x
1
) < z(x
0
)
Preuve 13 i) Soit x une solution admissible, on a z(x) = z = z + c
N
x
N

z = c
B
B
1
b, x
0
est donc une solution optimale
ii) Supposons quil existe une composante strictement negative de C
N
. Notons
la c
r
= c
r
c
B
B
1
N
r
. Soit e
r
le vecteur colonne de la base canonique de R
n
dordre r. On a deux cas
a) si y = B
1
N
r
0 alors d
r
= (B
1
N
r
, e
r
) 0, Ad
r
= BB
1
N
r
+
N
r
= 0 et pour tout > 0, x
1
= x
0
+ d
r
verie z(x
1
) = z + C
N
x
1
N
=
z + c
r
( +)
b) Il existe une composante y
ir
de y
r
telle que y
ir
> 0. Soit
= min{
b
i
y
ir
| y
ir
> 0} =
b
sr
y
sr
.
2.3. PROPRI

ET

ES DU CO

UT R

EDUIT 33
Considerons le vecteur x
1
tel que
x
1
i
=
_
_
_
b
i
y
ir
x
0
i
> 0, i = s
i = r
0 sinon
Il est clair que x
1
0, x
1
= (x
1
B
, x
1
N
) = (b y
r
, e
r
). x
1
est donc
admissible et verie Ax
1
= Bb By
r
+ Ne
r
= b N
r
+ N
r
= b
Dautre part z(x
1
) = z + C
N
x
N
= z + c
r
< z. Considerons la sous-
matrice B obtenue `a partir de B en remplant la colonne dordre s par
la colonne dordre r. B est une base realisable : il sut de montrer
que le syst`eme {A
1
, A
2
, ..., A
s1
, A
r
, A
s+1
, ..., A
m
} est libre. On a y =
B
1
N
r
N
r
= A
r
=
m

i=1
y
i
A
i
et y
s
= 0. Sil existe = 0 tel que

i=1..m, i=s

i
A
i
+
m+1
A
r
= 0. On en deduit que A
r
a deux ecritures
dierente dans un syst`eme libre ce qui est impossible. On en conclu que
x
1
est une sommet.
Remarque 2.3.2 Pour un probl`eme de maxinmisation
(PSS1)
_

_
max Z = cx = z + C
N
x
N
s.c.
x
B
+ B
1
Nx
N
= B
1
b
x 0
le theor`eme precedent secrit
Theor`eme 2.3.3 Soit B une base realisable et x
0
= (x
0
B
, 0) la solution realisable
correspondante
i) Si C
N
0, alors x
0
est optimale.
ii) Sil existe une composante strictement ngative c
r
de C
N
, alors lune des
conditions suivantes est satisfaite :
a) La colonne y
r
= B
1
N
r
0. Dans ce cas inf(PC) =
b) Il existe une composante strictement positive de y
r
. Dans ce cas il existe
un sommet x
1
tel que z(x
1
) < z(x
0
)
34 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
2.4 Algorithme du simplexe
2.4.1 Determination numerique des sommets
On suppose que A = [A
1
, A
2
, ..., A
n
], de colonnes A
1
, A
2
, ..., A
m
, est de rang m
et il ny a pas de degenerecence.
On suppose aussi que le syst`eme Ax = b secrit, avec
A = [I
m
N], b > 0,
x
i
+
n

m+1
N
i,m+j
x
j
= b
i
Pour n = 5 et m = 3, on peut lecrire
x
1
+ N
1,3+1
x
4
+ N
1,3+2
x
5
= b
1
x
2
+ N
2,3+1
x
4
+ N
2,3+2
x
5
= b
2
x
3
+ N
3,3+1
x
4
+ N
3,3+2
x
5
= b
3
Le premier sommet est x
1
= (b, 0). Pour trouver un autre sommet, on proc`ede
comme suit : supposons que b > 0 et soit A
r
, r > m une colonne de A. On peut
ecrire
A
r
= y
1
A
1
+ y
2
A
2
+ ... + y
m
A
m
Pour tout ,
(x
1
y
1
)A
1
+ (x
2
y
2
)A
2
+ ... + (x
m
y
m
)a
m
+ A
r
= b
Pour assez petit, xx
i
= x
i
y
i
0 et
x

= (xx
1
= x
1
y
1
, ....x
m
y
m
, .., xx
r
= , 0, ...0)
est une solution admissible. On a alors deux cas :
1) Si I
r
= {i m y
i
> 0} = , on peut alors annuler une des composantes
xx
i
= x
i
y
i
de la solution admissible x

. Il sut de de prendre
= min {
x
i
y
i
y
i
> 0} =
x
s
y
s
Supposons quil y a une seule composante xx
s
= x
s
y
s
qui sannule. Montrons
que les colonnes
{A
i
| i m, i = s} {A
r
}
est un syst`eme libre : Sinon il existe des
i
non tous nuls tels que
2.4. ALGORITHME DU SIMPLEXE 35
m

i=1, i=s

i
A
i
+
r
A
r
= 0
Ceci veut dire que la composante y
s
correspondant `a A
s
, de A
r
est nulle (dans
la base formee parles vecteurs A
1
, ..., A
m
). A cause de lunicite des composantes
dun vecteur (A
r
) dans une base (A
1
, ..., A
m
) ceci donne une contradiction.
2) I
r
= . Ceci veut dire que y
i
0, i et il n y a pas dautres sommets
adjacents `a x
1
.
Dans ce cas, on verie quil existe des solutions admissibles x

dont toutes les


composantes sont non bornees et on a le resultat suivant :
Lemme 2.4.1 Dans le cas non degenere, pour toute solution de base realisable
x
1
et pour tout indice r > m, on peut soit trouver une autre solution de base
realisable x
2
adjacente `a x
1
(ne di`ere que par une composante non nulle) soit
trouver des solutions x

admissibles veriant la proprietsuivante : Toute les com-


posantes x

i
, i = 1...m, r sont non bornees.
2.4.2 Calcul du co ut reduit
Soit x
1
une solution de base realisable associee `a la base B = [A
1
, A
2
, ..., A
m
].
Notons A = [B, N], on peut ecrire
Ax = b x
B
+ B
1
Nx
N
= B
1
b
Notons B
1
b = b, B
1
N = A, on peut ecrire, pour toute solution admissible
x,
_

_
x
1
+ ...... + a
1m+1
x
m+1
+ a
1m+2
x
m+2
+ ... + a
1n
x
n
= b
1
.....x
2
+ a
2m+1
x
m+1
+ a
2m+2
x
m+2
+ ... + a
mn
x
n
= b
m
.......................................................................
.....................x
m
+ a
mm+1
x
m+1
+ ... + a
mn
x
n
= b
m
On en deduit que
x
1
= b
1

m+1
a
1j
x
j
.......................................................................
x
i
= b
i

m+1
a
ij
x
j
36 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
Comme le co ut z est
z =
m

1
c
i
x
i
+
n

j=m+1
c
j
x
j
on a
z =
m

1
c
i
b
i

i=1
c
i
n

j=m+1
a
ij
x
j
+
n

j=m+1
c
j
x
j
z = z +
n

j=m+1
(c
j

m

1
c
i
a
ij
)x
j
z = z +
n

j=m+1
(c
j
z
j
)x
j
Theor`eme 2.4.2 (Minimisation)
Soit x
1
une solution de base realisable B = [A
1
, ..., A
m
] du probl`eme de pro-
grammation lineaire
(PL) : min {cx | Ax = b, x 0,
alors le co ut de toute solution admissible x secrit
z = z +
n

m+1
(c
j
z
j
)x
j
= z +
n

m+1
r
j
x
j
avec z
j
=
m

i=1
c
i
a
ij
On a alors
1) si r
j
= c
j
z
j
0, j = m + 1...n, alors x
1
est une solution optimale
globale de (PL).
2) Sil existe r
j
< 0 alors deux cas sont possibles
a) sil existe i tel que a
ij
> 0, il existe alors une solution de base realisable
x
2
tel que
z(x
2
) < z(x
1
)
2.4. ALGORITHME DU SIMPLEXE 37
b) si a
ij
0 i, (PL) est non minore et il existe une solution admissible
x

telle que
z(x

) = z + r
j

Theor`eme 2.4.3 (Maximisation)
Soit x
1
une solution de base realisable B = [A
1
, ..., A
m
] du probl`eme de pro-
grammation lineaire
(PL) : max {cx | Ax = b, x 0,
alors le co ut de toute solution admissible x secrit
z = z +
n

m+1
(c
j
z
j
)x
j
= z +
n

m+1
r
j
x
j
avec z
j
=
m

i=1
c
i
a
ij
On a alors
1) si r
j
= c
j
z
j
0, j = m + 1...n, alors x
1
est une solution optimale
globale de (PL).
2) Sil existe r
j
> 0 alors deux cas sont possibles
a) sil existe i tel que a
ij
> 0, il existe alors une solution de base realisable
x
2
tel que
z(x
1
) < z(x
2
)
b) si a
ij
0 i, (PL) est non majore et il existe une solution admissible
x

telle que
z(x

) = z + r
j
+
38 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
Universite de Tunis Annee Universitaire 2011-2012
ESSTT Classe : 1GI
Departement de Mathematiques Recherche operationnelle
Serie N1
Exercice 1 :
Une machine permet la fabrication de 3 produits P
1
, P
2
, P
3
avec des beneces
respectifs de 4, 12, 3 dinars par pi`ece fabriquee. La machine travaille 45 heures par
semaine et la production par heure est 50 pi`eces pour P
1
, 25 pour P
2
et 75 pour
P
3
. Letude du marche montre que le nombre x
1
de pi`eces P
1
doit etre 1000,
le nombre x
2
de pi`eces P
2
doit etre 500 et le nombre x
3
de pi`eces P
3
doit etre
1500.
1) Calculer le benece hebdomadaire z en fonction de x
1
, x
2
et x
3
.
2) Ecrire les contraintes imposees `a la production de P
1
, P
2
, P
3
3) Maximiser z.
Exercice 2 : Le gerant dun hotel souhaite renouveler le linge de toilette de son
etablissement. Il a besoin 90 draps de bain, 240 serviettes et 240 gants de toilette.
Une premi`ere entreprise de vente lui propose un lot A contenant 2 draps de bain,
4 serviettes et 6 gants de toilette pour une somme de 20 dinars. Une deuxi`eme
entreprise lui propose un lot B composee de 3 draps de bain, 12 serviettes et 8
gants de toilette pour la somme de 40 dinars. Il ach`ete x lots A et y lots B.
1) Ecrire la fonction co ut z. Ecrire les contraintes en fonction de x et y. En
deduire une representation graphique de lensemble admissible X (poly`edre).
Determiner les points extremaux de X
2) Utiliser la methode graphique pour minimiser le co ut z sur X.
3) Utiliser la methode algebrique du simplexe pour minimiser z sur X.
Exercice 3 : Soit B une base realisable de X = {x | Ax = b, x 0}. On note x
la solution correspondante. A est une matrice de type mn de rang maximal m.
1) On suppose que la decomposition de Aen colonnes est A = [B
1
...B
m
A
m+1
...A
n
] =
[B N]. Verier que x = [B
1
b, 0]
t
.
2) Pour x R
n
, on note x
B
ses m premi`eres composantes et x
N
ses n m
derni`eres composantes. Montrer que
Ax = b Bx
B
+ Nx
N
= b x
B
+ B
1
x
N
= B
1
b
3) Soit la forme lineaire cx o` u c = (c
B
, c
N
) est un vecteur ligne. On note z(x) =
cx, z = cx et b = B
1
b. Montrer que z = c
B
b et
x X z(x) = z + (c
N
c
B
B
1
N)x
N
2.4. ALGORITHME DU SIMPLEXE 39
4) Monterer que x est solution optimale de min {cx | Ax = b, x 0} si et
seulement si le co` ut reduit C
N
= c
N
c
B
B
1
N 0. Que se passe-t-il si les
colonnes de B ne sont pas les m premi`eres colonnes de A?.
5) Soit le probl`eme de programmation lineaire
(P) : min {z = x 2y | x + 3y 6, 3x +y 3, x +y 4, x 0, y 0}
Ecrire le probl`eme standard (PS) associe `a (P). Determiner ses sommets et
leurs co` uts reduits et en deduire ceux qui sont optimaux.
40 CHAPITRE 2. CONVEXIT

E ET PROGRAMMATION LIN

EAIRE
Chapitre 3
Dualite
3.1 Dualite
Soit le probl`eme de programmation (lineaire ou non)
(P)
_

_
min f(x)
s.c.
g
i
(x) 0, i = 1...m
h
j
(x) = 0, j = 1...p
x X R
n
La fonction de Lagrange L est denie sur R
n
R
m
+
R
p
par
L(x, , ) = f(x) +
m

i
g
i
(x) +
p

j
h
j
(x)
La fonction duale de (P) est denie sur R
m
+
R
p
par
(, ) = inf {L(x, , ) | x X}
Le probl`eme dual est
(D)
_

_
max (, )
s.c.
0
R
p
Theor`eme 3.1.1 (Dualite faible)
Pour x

admissible pour (P) et (

) admissible pour (D), on a


(

) f(x

)
41
42 CHAPITRE 3. DUALIT

E
Denition 3.1.2 On dit que (x, , ) X R
m
+
R
p
est un point selle du La-
grangien L si
L((x, , ) (x, , ) (x, , ) (x, , ) X R
m
+
R
p
3.2 Dualite du probl`eme lineaire standard
Soit le probl`eme
(PS)
_

_
min < c, x >
s.c.
Ax = b
x 0
La fonction de Lagrange de (PS) est denie sur R
m
par
L(x, ) = (c|x) + (b Ax|) = (c|x) + (b|) (Ax|) = (c A
T
|x) + (b|)
On verie que
() = inf {L(x, ) | x 0} =
_

T
b c A
T
0
sinon
Le probl`eme dual de (PS) est deni par
(DS)
_
_
_
max () =
T
b
s.c.
A
T
c
Theor`eme 3.2.1 i) Si x est realisable pour (PS) ( x verie Ax = b, x 0)
et realisable pour (DS) ( verie A
T
c) alors
b cx.
De plus, (PS) et (DS) ont des solutions optimales. Si b = cx, alors x et
sont des solutions optimales.
ii) Si (PS) ou (DS) a une solution optimale, alors lautre a une solution opti-
male et
val(PS) = val(DS)
3.2. DUALIT

E DU PROBL
`
EME LIN

EAIRE STANDARD 43
Preuve 14 i)
t
A c
t
Ax cx
t
b cx. Il sen suit que (P) est
minore et admet donc une solution optimale et (D) est majore et admet une
solution optimale et on
val(D) = max {
T
b | A
t
c} inf {cx | Ax = b, x 0} = val(P)
ii) Soit une solution optimale x

correspondant `a une base realisable B. Posons

t
= c
B
B
1
. On sait que
C
B
= c
N
c
B
B
1
N 0 ; c
B
c
B
B
1
B = 0
t
A = c
B
B
1
[B, N] = [c
B
, c
B
B
1
N]

t
A [c
B
, c
N
] = c
t
A c
Ceci veut dire est realisable pour (D) et comme il est majore, il admet une
solution optimale. On va montrer que est une solution optimale.

t
Ax

=
t
b = c
B
B
1
[B N][x

B
x
N
]
t
= c
B
B
1
[B N][x

B
0]
t
= c
B
x

B
= cx

val(P) = cx

=
t
b = val(D).
Theor`eme 3.2.2 x est une solution optimale de (PS) si et seulement si il existe
R
q
et s R
n
tels que
(CNS)
_

_
A
T
+ s = c
Ax = b
x
T
s = 0
x 0, s 0
(CNS) sont aussi des conditions necessaires et susantes pour que soit une
solution du probl`eme dual.
Preuve 15 Supposons que x est une solution optimale de (PS) et soit
L(x, ) = (c|x) + (b Ax|) (|x) = (c A
T
|x) + (b|)
le lagrangien de (PS). Loptimalite de x implique lexistence dun multiplicateur
de Lagrange () tel que
44 CHAPITRE 3. DUALIT

E
_
L
x
(x, , ) = c A
T
= 0
0 ; (x|) = 0
Il sut alors de poser s = et on a
_
A
T
+ s = c
s 0 ; x
T
s = 0
Supposons (CNS) satisfaite, il sen suit que x est admissible et pour toute autre
solution admissivble x, on a
A
T
+ s = c (x|A
T
+ s) = (x|c)
(Ax|) (c|x) (b|) (c|x)
(Ax|) (c|x)
(x|A
T
) = (x, c) (c|x)
On en deduit que x est une solution optimale de (PS).
Dautre part (CNS) implique que est admissible pour (DS) et, de ce qui
prec`ede, (b|) = (c|x) ce qui veut dire que est optimale.
3.3 Dualite pour le probl`eme lieaire canonique
Soit le probl`eme lineaire canonique
Soit le probl`eme
(PC)
_

_
max < c, x >
s.c.
Ax b
x 0
(PC)
_

_
min < c, x >
s.c.
Ax b
x 0
L(x, ) = < c, x > + < Ax b, >=< c + A
T
, x > < b, >
() = inf {L(x, ) | x 0} =
_
< b, > si A
T
c
sinon
3.3. DUALIT

E POUR LE PROBL
`
EME LI

EAIRE CANONIQUE 45
Le probl`eme dual est
(DC)
_

_
max < b, >
s.c.
A
T
c
0
(DC)
_

_
min < b, >
s.c.
A
T
c
0
Theor`eme 3.3.1 1) Dualite faible : pour tout x admissible pour (PC) et pour
tout admissible pour (DC), on a < c, x > < b, >.
2) Dualite forte : Si x

et

sont admissibles et verient < c, x

>=< b,

>,
alors ils sont optimaux.
46 CHAPITRE 3. DUALIT

E
Chapitre 4
Resolution du probl`eme de
programmation lineaire
Supposons que (PL) est ecrit sous la forme standard (PS) et quon connait une
base realisable de depart B = [A
1
, A
2
, ..., A
m
]. La solution realisable x
1
= (x
1
B
, x
1
N
)
et la fonction `a minimiser z = cx
1
= c
B
x
1
B
+ c
N
x
1
N
secrivent en utilisant les
variables hors base :
x
1
B
= B
1
b B
1
Nx
1
N
= b + y
T
x
1
N
; z = z + (c
N
c
B
B
1
N)x
1
N
= z + C
N
x
1
N
Il sen suit que PS se met sous la forme PSS :
(PSS)
_

_
min Z = cx = z + C
N
x
N
s.c.
x
B
+ B
1
Nx
N
= B
1
b
x 0
Lalgoritme du simplexe secrit :
i) Etape 0 (Initialisation) :k = 1. Choisir une base realisable B.
ii) Etape1 : Calculer x
k
B
= B
1
b et = c
B
B
1
. Aller `a letape 2.
iii) Etape 2 (Test doptimalite) : Calcuer C
N
= c
N
N. Si C
N
0 alors x
k
est optimal et aller `a letape 4. Sinon il existe r / supp(x
k
) tel que c
r
< 0.
Aller `a letape 3.
(iv Etape 3 (Pivot) : calculer y = B
1
N
r
. si y 0 alors PS est non borne. Sinon
determiner la variable s qui sort de la base en calculant
b
s
y
sr
= min {
b
i
y
ir
| y
ir
>
0}. Remplacer B par B A
s
A
r
. faire k = k + 1 et aller `a letape1.
v) Etape 4 (Fin)
47
48CHAPITRE 4. R

ESOLUTIONDUPROBL
`
EME DE PROGRAMMATIONLIN

EAIRE
Theor`eme 4.0.2 (Convergence nie)
Si le probl`eme PS nest pas degenere alors la suite (x
k
) generee par lalgorithme
du simplexe est ni.
Preuve 16 La suite (x
k
) est formee par des sommets sans repetition (car z(x
k+1
) <
z(x
k
). Leur nombre est ni car il est au nombre de sous-matrices carrees dordre
m inversibles B qui sont extraites de A
4.0.1 Methode algebrique du simplexe
Le probl`eme est sous la forme algebrique
(PSS)
_

_
min Z = cx = z + C
N
x
N
s.c.
x
B
= B
1
b B
1
Nx
N
x 0
Si B nest pas une base realisable optimale et sil existe des composantes stric-
tement positives du co ut reduit C
N
, on determine un nouveau sommet par relaxa-
tion des variables hors base x
N
(garder toutes les composantes de x
N
nulles sauf
celle correspondant `a la plus petite valeur des composantes de C
N
(Noter la ) et
minimiser z() sous les conditions x
B
0 et 0.
Exemple 4.0.3 Une machine permet la fabrication de 3 produits P
1
, P
2
, P
3
avec
des beneces respectifs de 4, 12, 3 dinars par pi`ece fabriquee. La machine travaille
45 heures par semaine et la production par heure est 50 pi`eces pour P
1
, 25 pour
P
2
et 75 pour P
3
. Letude du marche montre que le nombre x
1
de pi`eces P
1
doit
etre 1000, le nombre x
2
de pi`eces P
2
doit etre 500 et le nombre x
3
de pi`eces
P
3
doit etre 1500.
1) Calculer le benece hebdomadaire z en fonction de x
1
, x
2
et x
3
.
2) Ecrire les contraintes imposees `a la production de P
1
, P
2
, P
3
3) Maximiser z.
Solution intuitive : Le gain par heure est 4 50 = 200 dinars pour P
1
, 12 25 =
300 pour P
2
et 3 75 = 225 pour P
3
. La meilleure solution est faire 500 pi`eces de
P
2
(ce qui occupela machine pendant 20 heures, ensuite faire 20 75 pi`eces de P
2
(ce qui occupela machine pendant 20 heures et 250 pi`eces P
1
ce qui fait 5 heures.
Ainsi le plus grand gain est 300 20 + 225 20 + 200 5 = 11500 dinars.
Solution algebrique
1) z = 4x
1
+ 12x
2
+ 3x
3
49
(2 La contrainte sur le nombre dheures est
x
1
50
+
x
2
25
+
x
3
75
45 3x
1
+ 6x
2
+ 2x
3
6750
De plus x
1
1000, x
2
500, x
3
1500.
3) On doit resoudre le PL suivant
_

_
max z = 4x
1
+ 12x
2
+ 3x
3
s.c.
x
1
1000
x
2
500
x
3
1500
3x
1
+ 6x
2
+ 2x
3
6750
x
1
, x
2
, x
3
0
(PS)
_

_
min Z = 4x
1
12x
2
3x
3
s.c.
x
1
+ x
4
= 1000
x
2
+ x
5
= 500
x
3
+ x
6
= 1500
3x
1
+ 6x
2
+ 2x
3
+ x
7
= 6750
x
1
, x
2
, x
3
, x
4
, x
5
, x
6
, x
7
0
On verie que la matrice de PS est A =
_

_
1 0 0 1 0 0 0
0 1 0 0 1 0 0
0 0 1 0 0 1 0
3 6 2 0 0 0 1
_
_
_
_
.
Le rang de A est 4, b 0, A = [N, B] avec B = I
4
et les indices des variable de
base sont 4, 5, 6, 7. En exprimant les variables de base en fonctions des variables
hors base, on obtient
_

_
x
4
= 1000 x
1
x
5
= 500 x
2
x
6
= 1500 x
3
x
7
= 6750 3x
1
6x
2
2x
3
Z = 4x
1
12x
2
3x
3
On verie que si x
1
= x
2
= x
3
= 0, alors x
B
= (x
4
, x
5
, x
6
, x
7
) = (1000, 500, 1500, 6750)
et B est une base realisable associee `a la solution realisable
x
1
= (0, 0, 0, 1000, 500, 1500, 6750)
qui est un sommet. On lit directement sur les formules precedentes que
c
4
= c
5
= c
6
= c
7
= 0, c
N
= (4, 12, 3) = C
N
C
N
a des composante strictement negatives ce qui veut dire x nest pas optimal.
Pour ameliorer cette solution (trouver x
2
X tel que z(x
2
) < z(x
1
)) augmenter
le plus possible x
2
= tout en maintenant les autrs variables independantes (hors
50CHAPITRE 4. R

ESOLUTIONDUPROBL
`
EME DE PROGRAMMATIONLIN

EAIRE
base)nulles. Ceci permet de diminuer z `a cause du signe -. On doit respecter les
contraintes
_

_
x
4
= 1000 0
x
5
= 500 0
x
6
= 1500 0
x
7
= 6750 6 0
= min {500, 6750/6} = 500
La nouvelle solution est
x
2
= (0, 500, 0, 1000, 0, 1500, 3750).
Il est clair que x
1
est solution optimale du PL suivant :
(PL)
_

_
min Z = 12x
2
x
4
= 1000
x
5
= 500 x
2
x
6
= 1500
x
7
= 6750 6x
2
x
k
, k = 1..7
Il sen suit que x
2
est un sommet. Comme x
2
5
= 0, il sort des variables de base
et x
2
entre en base et x
2
= 500 x
5
. On remplace dans PL et on a
_

_
x
4
= 1000 x
1
x
2
= 500 x
5
x
6
= 1500 x
3
x
7
= 6750 3x
1
6(500 x
5
) 2x
3
Z = 4x
1
12(500 x
5
) 3x
3

_
x
4
= 1000 x
1
x
2
= 500 x
5
x
6
= 1500 x
3
x
7
= 3750 3x
1
+ 6x
5
2x
3
Z = 6000 4x
1
+ 12x
5
3x
3
Pour trouver un nouveau sommet x
3
, on garde x
5
= x
3
= 0 et on maximise
= x
1
pour proter du signe - et minimiser Z. doit respecter les conditions de
positivite des variables :
_

_
x
4
= 1000 0
x
2
= 500 0
x
6
= 1500 0
x
7
= 3750 3
= min {1000, 3750/3} = 1000
La nouvelle solution est
x
3
= (1000, 500, 0, 0, 0, 1500, 750).
51
On verie que x
3
est solution optimale du PL suivant
_

_
min 4x
1
x
4
= 1000 x
1
0
x
2
= 500
x
6
= 1500
x
7
= 3750 3x
1
0
x
k
0, k = 1..7
x
3
est donc un sommet. x
4
sannule et sort de la base tant disque x
1
entre en
base, x
1
= 1000 x
4
et on a
_

_
x
1
= 1000 x
4
0
x
2
= 500 x
5
0
x
6
= 1500 x
3
0
x
7
= 3750 3(1000 x
4
) + 6x
5
2x
3
0
Z = 6000 4(1000 x
4
) + 12x
5
3x
3

_
x
1
= 1000 x
4
x
2
= 500 x
5
x
6
= 1500 x
3
x
7
= 750 + 3x
4
+ 6x
5
2x
3
Z = 10000 + 4x
4
+ 12x
5
3x
3
x
3
nest pas optimal `a cause de 3x
3
dans Z. Maintenons x
4
= x
5
= 0 et
maximisons = x
3
, on doit respecter les conditions :
_

_
x
1
= 1000 0
x
2
= 500 0
x
6
= 1500 0
x
7
= 750 2 0
= min {1500, 750/2} = 375 x
4
= (1000, 500, 375, 0, 0, 1125, 0)
Il sen suit que x
3
= 375 x
7
/2 entre en base le probl`eme secrit :
_

_
x
1
= 1000 x
4
x
2
= 500 x
5
x
6
= 1500 (375 +
3
2
x
4
+ 3x
5

x
7
2
)
x
3
= 375 +
3
2
x
4
+ 3x
5

x
7
2
Z = 10000 + 4x
4
+ 12x
5
3(375 +
3
2
x
4
+ 3x
5

x
7
2
)

_
x
1
= 1000 x
4
x
2
= 500 x
5
x
6
= 1125
3
2
x
4
3x
5
+
1
2
x
7
x
3
= 375 +
3
2
x
4
+ 3x
5

1
2
x
7
Z = 11125
1
2
x
4
+ 3x
5
+
3
2
x
7
Il sen suit que
x
4
= (1000, 500, 375, 0, 0, 1125, 0)
est un nouveau sommet qui nest pas optimal (`a cause de
1
2
x
4
).
52CHAPITRE 4. R

ESOLUTIONDUPROBL
`
EME DE PROGRAMMATIONLIN

EAIRE
Maximisons = x
4
en gardant x
5
= x
7
= 0, on obtient
_

_
x
1
= 1000 0
x
2
= 500
x
6
= 1125
3
2
0
x
3
= 375 +
3
2

= min{
2
3
1125, 1000} = 750
On en deduit que
x
5
= (250, 500, 1500, 750, 0, 0, 0)
est le nouveau sommet ameliorant Z. Remplacons x
4
=
2
3
(1125 x
6
+ 3x
5

1
2
x
7
) = 750 2x
5

2
3
x
6
+
1
3
x
7
et on a
_

_
x
1
= 1000 (750 2x
5

2
3
x
6
+
1
3
x
7
) = 250 + 2x
5
+
2
3
x
6

1
3
x
7
x
2
= 500 x
5
x
3
= 375 +
3
2
(750 2x
5

2
3
x
6
+
1
3
x
7
) + 3x
5

1
2
x
7
= 1500 x
6
x
4
= 750 2x
5

2
3
x
6
+
1
3
x
7
Z = 11125
1
2
(750 2x
5

2
3
x
6
+
1
3
x
6
) + 3x
5
+
3
2
x
7
= 11500 + 4x
5
+
1
3
x
6
+
4
3
x
7
_

_
x
1
= 250 + 2x
5
+
2
3
x
6

1
3
x
7
x
2
= 500 x
5
x
3
= 1500 x
6
x
4
= 750 2x
5

2
3
x
6
+
1
3
x
7
Z = 11500 + 4x
5
+
1
3
x
6
+
4
3
x
7
On verie que le sommet x
5
est une solution optimale.
4.0.2 Serie dexercices n2
53
E.S.S.T.T. Annee universitaire : 2009-2010
Departement de Mathematiques Classes :2LF-EEA
Serie N
o
2 de Recherche Operationnelle
Exercice 1. Utiliser la methode algebrique du simplexe pour resoudre les probl`emes
suivants de programmation lineaire
_

_
max z(x, y) = x + 3y
s.c.
2x + 5y 10
3x + 4y 12
x 0, y 0
_

_
max z(x, y) = x y
s.c.
x + y 3
2x + y 10
x + 2y 10
_

_
min z(x, y) = x + 2y
s.c.
x + 6y 12
6x + y 12
x 0, y 0
_

_
max z(x, y) = 2x + 3y
s.c.
2x + y 0
x y 3
x y 5
Exercice 2. Utiliser la methode algebrique du simplexe pour resoudre les probl`emes
suivants de programmation lineaire
_

_
max z = x
1
+ 5x
2
+ 3x
3
s.c.
x
1
+ 3x
2
+ x
3
3
x
1
+ 3x
3
2
2x
1
x
2
+ 2x
3
4
2x
1
+ 3x
2
x
3
2
x 0
_

_
max z = 2x
1
3x
2
4x
3
+ x
4
s.c.
x
1
+ 3x
2
x
3
3x
4
2
2x
1
+ x
2
+ x
3
+ 3x
4
8
4x
2
+ 2x
3
+ 6x
4
4
x 0
_

_
min z = x
1
+ 3x
2
x
3
s.c.
2x
1
+ 2x
2
x
3
10
3x
1
2x
2
+ x
3
10
x
1
3x
2
+ x
3
10
x 0
Exercice 3. Le gerant dun hotel souhaite renouveler le linge de toilette de son
etablissement. Il a besoin 90 draps de bain, 240 serviettes et 240 gants de toilette.
Une premi`ere entreprise de vente lui propose un lot A contenant 2 draps de bain,
4 serviettes et 6 gants de toilette pour une somme de 20 dinars. Une deuxi`eme
entreprise lui propose un lot B composee de 3 draps de bain, 12 serviettes et 8
gants de toilette pour la somme de 40 dinars. Il ach`ete x lots A et y lots B.
1) Ecrire la fonction co ut z. Ecrire les contraintes en fonction de x et y. En
deduire une representation graphique de lensemble admissible X (polu`edre).
Determiner les points extremaux de X
2) Utiliser la methode graphique pour minimiser le co ut z sur X.
3) Utiliser la methode algebrique du simplexe pour minimiser z sur X.
Exercice 4.
54CHAPITRE 4. R

ESOLUTIONDUPROBL
`
EME DE PROGRAMMATIONLIN

EAIRE
Soient A une matrice de m n, m n, de rang m, b R
m
et X = {x
R
n
| Ax = b, x 0} un poly`edre non vide. Pour x X, on pose supp(x) =
{i | x
i
> 0}. Soit x X.
1) montrer que les conditions suivantes sont equivalentes :
i) x est extremal (sommet)
ii) le syst`eme des vecteurs colonnes, de A, {A
j
| x
i
> 0} est libre.
iii) supp(x) est minimal ( il nexiste pas de y X tel que supp(y) supp(x)
2) Soit
X = {x R
3
| x
1
1000, x
2
500, x
3
1500, 3x
1
+ 6x
2
+ 2x
3
6750}
Determiner les sommets de X. Ecrire X sous la forme X = {x R
n
| Ax =
b, x 0}.
55
ESSTT A.U. 2008-2009
Departement de Mathematiques
Classes :2LF-EEA-A&B
Recherche Operationnelle
Devoir surveille N1
Exercice 1. (10 points) Soit le poly`edre :
X = {(x
1
, x
2
) R
2
| x
1
x
2
3, x
1
+ 2x
2
6, x
1
+ 2x
2
2, x
1
0, x
2
0}
1) Representer graphiquement X. Hachurer X. Montrer que X est un poly`edre.
2) Determiner les points extremaux (sommets) de X.
3) Soit le probl`eme de programmation lineaire,
(PL)
_
_
_
maximiser z = 2x
1
+ x
2
sous la condition
(x
1
, x
2
) X
a) Resoudre PL par la methode graphique.
b) Resoudre PL par la methode algebrique.
Exercice 2. (10 point) Le proprietaire dune exploitation agricole veut realiser
un projet delevage de vaches et de moutons. Le nombre maximum de vaches est 50.
Le nombre maximum de moutons est 200. Il dispose dun terrain de paturage de 72
hectares. Une vache necessite 1 hectare et un mouton necessite 0.2 hectares. Pour
soccuper du betail, il dispose de 10.000 heures de travail par annee. On estime
quune vache necessite 150 heures de travail par annee et un mouton necessite 25
heures par annee. Le benece annuel net est de 250 dinars pour une vache et de
45 dinars pour un mouton.
1) Determiner le benece annuel net, note z, correspondant `a x
1
vaches et x
2
moutons.
2) Ecrire les conditions veriees par x
1
et x
2
.
3) Maximiser le benece annuel net z en utilisant le raisonnement intuitif du
proprietaire de lexploitation agricole (On pourra etudier les cas x
1
= 50 et
x
1
= 40) .
4) Maximiser z en utilisant la methode algebrique.
56CHAPITRE 4. R

ESOLUTIONDUPROBL
`
EME DE PROGRAMMATIONLIN

EAIRE
4.0.3 Methode des tableaux
Soit (PS) un probl`eme de programmation lineaire mis sous la forme standard
suivante :
(PS)
_

_
max cx
s.c.
Ax = b
x 0
o` u A est matrice rectangulaire de type mn, m n, et de rang maximal m.
La methode des tableaux exige la connaissance dune base realisable non degeneree
initiale B.
Supposons que B = [A
k
1
A
k
2
.. A
k
m
] avec (A
k
j
) les colonnes de B. Len-
semble admissible est X = {x | Ax = b, x 0}, les variables de base (> 0) sont
x
k
1
, x
k
2
, .., x
k
m
et x X secrit sous la forme x = (x
B
, x
N
) o` u x
N
est le vecteur
dont les composantes sont les variables hors base. On peut ecrire
Ax = b Bx
B
+Nx
N
= b x
B
+B
1
Nx
N
= B
1
b x
B
= B
1
bB
1
Nx
N
De meme le vecteur c = (c
B
, c
N
) et
z = cx = c
B
x
B
+ c
N
x
N
= c
b
(B
1
b B
1
Nx
N
) + c
N
x
N
= z + C
N
x
N
Le probl ` me PS se met sous la forme
(PSS)
_

_
max z = cx = z + C
N
x
N
s.c.
x
B
+ B
1
Nx
N
= B
1
b
x 0
Il est mis sous la forme du tableau suivant contenant toutes les informations
necessaires pour le deroulement des calculs :
_
I
m
B
1
N B
1
b
0 C
N
z z
_
ou
_
I
m
B
1
N B
1
b
0 C
N
z z
_
On sait que si les composantes du co ut reduit C
N
sont 0, le sommet S
0
=
(B
1
b, 0) est optimal (cas dun probl`eme de maximisation) car z ne peut plus
croitre. Si, au contraire, il existe une ou plusieurs compsantes strictement positives
du co ut reduit C
N
, notons c
r
la plus grande. On a deux possibilites :
57
i) = min {
(B
1
b)
i
(B
1
N)
ir
| (B
1
b)
i
> 0 } =
(B
1
b)
s
(B
1
N)
sr
> 0.
Dans ce cas on peut mettre en evidence un nouveau sommet S
1
tel que
z(S
1
) > z(S
0
). Il sut de prendre comme nouvelle base realisable la sous-
matrice obtenue `a partir de B en remplacant la colonne (B
1
N)
s
par la
colonne (B
1
N)
r
.
ii) (B
1
N)
ir
0, i, dans ce cas z est non majore sur X et il ny a pas de
solutions.
Noter que lindice r de la plus grande composante c
r
> 0 correspond `a la
colonne de A qui entre en base et lindice s de =
(B
1
b)
s
(B
1
N)
sr
> 0 correspond `a la
colonne de B qui va sortir de B. Lelement a
sr
de la matrice A sappelle pivot.
Il existe un cas particulier tres souhaitable et il corresond au cas o` u B = I
m
est la matrice unite. Le probl`eme PSS secrit alors,
(PSS)
_

_
max z = cx = z + c
N
x
N
s.c.
x
B
+ Nx
N
= b
x 0
Exemple 4.0.4
(PS)
_

_
max z = 4x
1
+ 12x
2
+ 3x
3
s.c.
x
1
+ x
4
= 1000
x
2
+ x
5
= 500
x
3
+ x
6
= 1500
3x
1
+ 6x
2
+ 2x
3
+ x
7
= 6750
x
1
, x
2
, x
3
, x
4
, x
5
, x
6
, x
7
0
On sait que
A =
_
_
_
_
1 0 0 1 0 0 0
0 1 0 0 1 0 0
0 0 1 0 0 1 0
3 6 2 0 0 0 1
_
_
_
_
; b =
_

_
1000
500
1500
6750
_
_
_
_
On peut ecrire A = [N I
m
] et on peut prendre B = I
m
comme base ini-
tiale, la solution de base correspondante, x
B
= B 1b = b > 0 est S
0
=
(0, 0, 0, 1000, 500, 1500, 6750) est une solution realisable de la base B. Noter que les
variables de base x
4
, x
5
, x
6
, x
7
sont strictement positives (on est dans le cas non
degenere). les variables de base ne gurent pas dans la fonction z. Sils y etaint,
il faut les remplacer par leurs expressions (x
B
= B
1
b B
1
Nx
N
).
Le tableau du simplexe est
58CHAPITRE 4. R

ESOLUTIONDUPROBL
`
EME DE PROGRAMMATIONLIN

EAIRE
_
_
_
_
_
_
_
_
_
_
_
_
. . . x
4
x
5
x
6
x
7
1 0 0 1 0 0 0 1000
0 1 0 0 1 0 0 500
0 0 1 0 0 1 0 1500
3 6 2 0 0 0 1 6750
4 12 3 0 0 0 0 z 0
_
_
_
_
_
_
_
_
_
_
_
_
C
N
= (4, 12, 3) ; max (C
N
)
i
= 12
Ceci veut dire que B nest pas une base optimale et que la colonne qui rentre
en base est A
2
. On donc r = 2 et
= min {
(B
1
b)
i
(B
1
N)
ir
| (B
1
b)
i
> 0 } = 500 =
b
2
a
22
x
2
= 500
Ceci veut dire que la colonne de B = I
m
correspondant `a un terme non nul de
sa deuxi`eme ligne va sortir de la base. Il sagit de B
5
. Le pivot est donc a
22
.
Noter que x
2
= 500 > 0 entre en base et x
5
= 0 quitte la base. Le nouveau
sommet est S
1
= (0, 500, 0, 1000, 0, 1500, 3750). Annulons tous les termes de la
colonne A
2
, sauf le pivot a
22
, en utilison la methode de pivot de Gauss permet
davoir le tableau du simplexe suivant.
_
_
_
_
_
_
_
_
_
_
_
_
. x
2
. x
4
. x
6
x
7
1 0 0 1 0 0 0 1000
0 1 0 0 1 0 0 500
0 0 1 0 0 1 0 1500
3 0 2 0 6 0 1 3750
4 0 3 0 12 0 0 z 6000
_
_
_
_
_
_
_
_
_
_
_
_
Il sen suit que S
1
nest pas optimal et , de la meme facon que pour S
1
, on
determine S
2
et on a :
59
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
. . . x
6
x
7
1 0 0 1 0 0 0 1000
0 1 0 0 1 0 0 500
0 0 1 0 0 1 0 1500
0 0 2 3 6 0 1 750
0 0 3 4 12 0 0 z 10000
_
_
_
_
_
_
_
_
_
_
_
_
S
2
= (0, 500, 0, 1000, 0, 1500, 750) et il nest pas optimal. On suit la methode de
Gauss-Jordan (avoir un pivot = 1 avant de passer au sommet suivant
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
. . . x
6
x
7
1 0 0 1 0 0 0 1000
0 1 0 0 1 0 0 500
0 0 1 0 0 1 0 1500
0 0 1
3
2
3 0
1
2
375
0 0 3 4 12 0 0 z 10000
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
x
3
. . . x
7
1 0 0 1 0 0 0 1000
0 1 0 0 1 0 0 500
0 0 0
3
2
3 1
1
2
1125
0 0 1
3
2
3 0
1
2
375
0 0 0
1
2
3 0
3
2
z 11125
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
1 0 0 1 0 0 0 1000
0 1 0 0 1 0 0 500
0 0 0 1 2
2
3

1
3
750
0 0 1
3
2
3 0
1
2
375
0 0 0
1
2
3 0
3
2
z 11125
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
. . .
1 0 0 1 0 0 0 1000
0 1 0 0 1 0 0 500
0 0 0 1 2
2
3

1
3
750
0 0 1 0 0 1 0 1500
0 0 0 0 4
1
3

4
3
z 11500
_
_
_
_
_
_
_
_
_
_
_
_
60CHAPITRE 4. R

ESOLUTIONDUPROBL
`
EME DE PROGRAMMATIONLIN

EAIRE
4.0.4 Serie dexercices n3
61
E.S.S.T.T. Annee universitaire : 2009-2010
Departement de Mathematiques Classes :2LF-EEA
Serie N
o
3 de Recherche Operationnelle
Exercice 1. Resoudre les probl`emes de programmation lineaire suivants en utili-
sant la methode du simplexe.
_

_
max z = 5x
2
+ 4x
3
+ 3x
6
s.c.
x
1
+ 2x
2
+ 3x
3
+ x
6
= 5
4x
2
+ x
3
+ x
5
+ 2x
6
= 11
3x
2
+ 4x
3
+ x
4
+ 2x
6
= 8
x = (x
1
, x
2
, x
3
, x
4
, x
5
, x
6
) 0
_

_
max z = 5x
1
+ 5x
2
+ 3x
3
s.c.
x
1
+ 3x
2
+ x
3
3
x
1
+ 3x
3
2
2x
1
x
2
+ 2x
3
4
2x
1
+ 3x
2
x
3
2
x
j
j = 1..3
_

_
min z = 2x
1
3x
2
4x
3
+ x
4
s.c.
x
1
+ 3x
2
x
3
3x
4
2
2x
1
+ x
2
+ x
3
+ 3x
4
8
4x
2
+ 2x
3
+ 6x
4
4
x 0
Exercice 2. Resoudre les probl`emes de programmation lineaire suivants en utili-
sant la methode du simplexe.
_

_
max z = x
1
+ 3x
2
x
3
s.c.
2x
1
+ 2x
2
x
3
10
3x
1
2x
2
+ x
3
10
x
1
3x
2
+ x
3
10
x 0
_

_
max z = 2x
1
+ 3x
2
+ 5x
3
+ 4x
4
s.c.
x
1
+ 2x
2
+ 3x
3
+ x
4
5
x
1
+ x
2
+ 2x
3
+ 3x
4
3
x 0
Exercice 3. Soit le probl`eme de programmation lineaire
(PL)
_

_
max z = 3x
1
+ 2x
2
+ 4x
3
+ x
4
x
5
+ x
6
s.c.
x
1
+ x
2
+ 2x
3
+ x
4
= 4
2x
1
+ 3x
3
2x
4
+ x
5
= 5
2x
1
+ x
2
+ 3x
3
x
5
+ 2x
6
= 7
x 0
i) Determiner une base realisable B en resolvant
62CHAPITRE 4. R

ESOLUTIONDUPROBL
`
EME DE PROGRAMMATIONLIN

EAIRE
_

_
min z = s
1
+ s
2
+ s
3
s.c.
x
1
+ x
2
+ 2x
3
+ x
4
+ s
1
= 4
2x
1
+ 3x
3
2x
4
+ x
5
+ s
2
= 5
2x
1
+ x
2
+ 3x
3
x
5
+ 2x
6
+ s
3
= 7
x 0, s = (s
1
, s
2
, s
3
) 0
ii) En deduire la solution de PL en utilisant la methode du simplexe.
Chapitre 5
Demarrage de lalgorithme du
simplexe
Lalgorithme du simplexe necessite la connaissance dune base realisable initiale
B correspondant `a un sommet S
0
du poly`edre
X = {x R
n
| Ax = b, x 0}
On doit ecrire le probl`eme standard PS sous la forme dun probl`eme standard
simple :
(PSS)
_

_
max z = cx = z + C
N
x
N
s.c.
x
B
+ B
1
Nx
N
= B
1
b
x 0
o` u
C
N
= c
N
c
B
B
1
N
est le co` ut reduit. C
N
permet de voir si la base realisable B est optimale ou non. les
composantes de b doivent etre > 0 et la presence dune composante b
i
= 0 indique
que le probl`eme est degenere. Noter que les variables de base x
B
sont determinees
de facon unique `a laide des variables hors base x
N
. Pour cette raison, la fonction
objectif z peut etre calculee uniquement en fonction de des variables hors base
x
N
(et de z = c
b
B
1
b = z(S
0
)).
5.0.5 Cas tr`es favorable : B = I
m
Cest le cas o` u B = I
m
est la matrice unite (ses colonnes peuvent etre placees
dans un ordre quelconque). Ce cas est frequent dans le cas dun probl`eme canonique
63
64 CHAPITRE 5. D

EMARRAGE DE LALGORITHME DU SIMPLEXE


(Ax b). Plusieurs exemples ont ete etudies.
5.0.6 Cas favorable : B donnee
Il reste `a ecrire PS sous la forme PSS en multipliant Ax = b par B
1
. Il revient
au meme de calculer les variables de base ( reconnaissables par les composantes
strictement positives (S
0
)
k
> 0) en fonctions des variables hors base ((S
0
)
k
= 0).
Ensuite, on calcule z en fonction des variables hors base.
Exemple 5.0.5 Soit le probl`eme de programmation lineaire
(PS)
_

_
max z = x
1
+ 3x
2
+ 5x
3
+ x
4
+ 4x
5
s.c.
x
1
+ x
2
x
3
+ x
4
= 1
2x
1
+ 4x
3
+ 2x
4
+ x
5
= 7
x
1
+ 6x
2
+ x
3
+ 2x
5
= 19
x 0
Sachant que S
0
= (0, 2, 1, 0, 3) est un sommet de PS, calculons PSS. Les va-
riables de base sont x
2
, x
3
, x
5
et on a
_
_
_
x
1
+ x
2
x
3
+ x
4
= 1
2x
1
+ 4x
3
+ 2x
4
+ x
5
= 7
x
1
+ 6x
2
+ x
3
+ 2x
5
= 19

_
_
_
x
2
x
3
= 1 x
1
x
4
4x
3
+ x
5
= 7 2x
1
2x
4
6x
2
+ x
3
+ 2x
5
= 19 x
1

_
x
2
= 2 10x
1
11x
4
x
3
= 1 9x
1
10x
4
x
5
= 3 + 34x
1
+ 38x
4
z = 23 + 62x
1
+ 74x
4
(PS) (PSS)
_

_
max z = 23 + 62x
1
+ 74x
4
s.c.
10x
1
+ x
2
+ 11x
4
= 2
9x
1
+ x
3
+ 10x
4
= 1
34x
1
38x
4
+ x
5
= 3
x 0
5.0.7 Cas peu favorable : B `a trouver
On utilise la methode `a deux phases. La premi`ere phase a pour but la determination
dune base initiale B pour demarrer lalgorithme du simplexe. La deuxi`eme est
lapplication de lalgorithme. On commence par ajouter m variables articielles
xx = (x
n+1
, x
n+2
, ..., x
n+m
)
T
. Ensuite, on resoud le probl`eme
65
(PS1)
_

_
min zz = x
n+1
+ x
n+2
+ ... + x
n+m
s.c.
Ax + xx = b
x, xx 0
Sil existe une solution optimale telle zz = 0, cela veut dire que xx fait partie
des variables hors base, que la base optimale correspondante B est une sous-matrice
de A et B peut etre prise pour base de demarrage de lalgorithme du simplexe.
Exemple 5.0.6 (Phase1 de lalgorithme du simplexe)
(PL)
_

_
max z = x
1
+ 6x
2
s.c.
x
1
+ 6x
2
12
6x
1
+ x
2
12
x = (x
1
, x
2
) 0
(PS)
_

_
max z = x
1
+ 6x
2
s.c.
x
1
+ 6x
2
x
3
= 12
6x
1
+ x
2
x
4
= 12
x = (x
1
, x
2
, x
3
, x
4
) 0
(Phase1)
_

_
min zz = x
5
+ x
6
s.c.
x
1
+ 6x
2
x
3
+ x
5
= 12
6x
1
+ x
2
x
4
+ x
6
= 12
x = (x
1
, x
2
, x
3
, x
4
, x
5
, x
6
) 0
Il est clair quon peut prendre x
4
, x
5
pour variables de base et on doit calculer
zz en fonction des variables hors base.
zz = 12 x
1
6x
2
+ x
3
+ 12 6x
1
x
2
+ x
4
= 24 7x
1
7x
2
+ x
3
+ x
4
Z = zz = 24 + 7x
1
+ 7x
2
x
3
x
4
(Phase1)
_

_
max Z = 24 + 7x
1
+ 7x
2
x
3
x
4
s.c.
x
1
+ 6x
2
x
3
+ x
5
= 12
6x
1
+ x
2
x
4
+ x
6
= 12
x = (x
1
, x
2
, x
3
, x
4
, x
5
, x
6
) 0
Les iterations de lalgorithme du simplexe secrivent :
66 CHAPITRE 5. D

EMARRAGE DE LALGORITHME DU SIMPLEXE


_
_
_
_
_
_
_
_
_
_
_
_
. . . . x
5
x
6
b
1 6 1 0 1 0 12
6 1 0 1 0 1 12
7 7 1 1 0 0 Z + 24
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
1
. . . x
5
. b
0
35
6
1
1
6
1
1
6
10
1
1
6
0
1
6
0
1
6
2
0
35
6
1
1
6
0
7
6
Z + 12
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
;
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
. . . . b
0 1
6
35
1
35
6
35

1
35
12
7
1 0
1
35

6
35

1
35
6
35
12
7
0 0 0 0 1 1 Z 0
_
_
_
_
_
_
_
_
_
_
_
_
x
0
= (
12
7
,
12
7
, 0, 0, 0, 0) est un sommet optimal de Phase1 correspondant `a Z =
0. On en deduit que S
0
= (
12
7
,
12
7
, 0, 0) est un sommet de PS associe `a la base
B = [A
1
, A
2
]. PS secrit
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
. . b
0 1
6
35
1
35
12
7
1 0
1
35

6
35
12
7
0 0
11
35
4
35
z
36
7
_
_
_
_
_
_
_
_
_
_
_
_
5.1 Degenerence
Il y a degenerence du probl`em PL, si une des variables de base est nulle pour
un sommet. Dans ce cas Lalgorithme du simplexe passe du sommet degenere `a un
autre sans augmenter z..
5.1. D

EG

EN

ERENCE 67
Exemple 5.1.1
(PC)
_

_
max z = x
1
+ x
2
s.c.
2x
1
+ x
2
2
3x
1
+ x
2
3
x
1
, x
2
0
(PS)
_

_
max z = x
1
+ x
2
s.c.
2x
1
+ x
2
+ x
3
= 2
3x
1
+ x
2
+ x
4
= 3
x 0
S
0
= (0, 0, 2, 3); z(S
0
) = 0
On peut prendre A
1
ou A
2
comme colonne rentrante. Prenons A
2
. On peut
prendre a
11
ou a
21
pour pivot. Prenons a
21
.
_
_
2 1 1 0 2
3 1 0 1 3
1 1 0 0 0
_
_

_
_
2 1 1 0 2
1
1
3
0
1
3
1
1 1 0 0 0
_
_

_
_
_
_
_
_
0
1
3
1
2
3
0
1
1
3
0
1
3
1
0
2
3
0
1
3
1
_
_
_
_
_
_
S
1
= (1, 0, 0, 0); z(S
1
) = 1
Noter que la base realisable correspondant `a la solution de base realisable S
1
est degeneree car (S
1
)
3
= O. De plus, elle nest pas optimale.
_
_
_
_
_
_
0
1
3
1
2
3
0
1
1
3
0
1
3
1
0
2
3
0
1
3
1
_
_
_
_
_
_

_
_
0
1
3
1
2
3
0
1 0 1 1 1
0 0 2 1 1
_
_

_
_
2
3
1
3
1
3
0
2
3
1 0 1 1 1
1 0 1 0 2
_
_
S
2
= (0, 2, 0, 1, 0) est optimale et z(S
2
) = 2.
68 CHAPITRE 5. D

EMARRAGE DE LALGORITHME DU SIMPLEXE


Chapitre 6
Cyclage
Dans lalgorithme du simplexe, lors dun passage dun sommet degenere `a un
autre sommet (degenere ou non), la fonction `a maximiser z naugmente pas et il
est possible quon puisse retrouver un sommet deja trouve : cest le phenom`ene de
cyclage.
Exemple 6.0.2 (Beale)
(PS)
_

_
max z =
3
4
x
1
150x
2
+
1
50
x
3
6x
4
s.c.
1
4
x
1
60x
2

1
25
x
3
+ 9x
4
0
1
2
x
1
90x
2

1
50
x
3
+ 3x
4
0
x
3
1
x 0
Beale :=
_

_
1
4
60
1
25
9 1 0 0 0
1
2
90
1
50
3 0 1 0 0
0 0 1 0 0 0 1 1
3
4
150
1
50
6 0 0 0 0
_

_
[1, 1]
69
70 CHAPITRE 6. CYCLAGE
_

_
1 240
4
25
36 4 0 0 0
0 30
3
50
15 2 1 0 0
0 0 1 0 0 0 1 1
0 30
7
50
33 3 0 0 0
_

_
[2, 2]
_

_
1 0
8
25
84 12 8 0 0
0 1
1
500
1
2
1
15
1
30
0 0
0 0 1 0 0 0 1 1
0 0
2
25
18 1 1 0 0
_

_
[1, 3]
_

_
25
8
0 1
525
2
75
2
25 0 0
1
160
1 0
1
40
1
120
1
60
0 0
25
8
0 0
525
2
75
2
25 1 1
1
4
0 0 3 2 3 0 0
_

_
[2, 4]
71
_

_
125
2
10500 1 0 50 150 0 0
1
4
40 0 1
1
3
2
3
0 0
125
2
10500 0 0 50 150 1 1
1
2
120 0 0 1 1 0 0
_

_
[1, 5]
_

_
5
4
210
1
50
0 1 3 0 0
1
6
30
1
150
1 0
1
3
0 0
0 0 1 0 0 0 1 1
7
4
330
1
50
0 0 2 0 0
_

_
[2, 6]
_

_
1
4
60
1
25
9 1 0 0 0
1
2
90
1
50
3 0 1 0 0
0 0 1 0 0 0 1 1
3
4
150
1
50
6 0 0 0 0
_

_
[1, 1]
_

_
1 240
4
25
36 4 0 0 0
0 30
3
50
15 2 1 0 0
0 0 1 0 0 0 1 1
0 30
7
50
33 3 0 0 0
_

_
72 CHAPITRE 6. CYCLAGE
R`egle de Bland
Le pivot a
sr
est tel que
i) Lindice r de la colonne rentrante A
r
est le plus petit parmi les indices j tels
que c
j
> 0.
ii) Lndice s de la colonne sortante A
s
est le plus petit parmi les indices lignes
s tels que
inf {
(B
1
A)
ir
(B
1
b)
i
| (B
1
A)
ir
0} =
(B
1
A)
sr
(B
1
b)
s
Theor`eme 6.0.3 La r`egle de Bland assure la convergence nie de lalgorithme du
simplexe.
Exemple 6.0.4 Appliqons cette r`egle `a lexemple de Beale, on obtient,
Beale :=
_

_
1
4
60
1
25
9 1 0 0 0
1
2
90
1
50
3 0 1 0 0
0 0 1 0 0 0 1 1
3
4
150
1
50
6 0 0 0 0
_

_
[1, 1]
_

_
1 240
4
25
36 4 0 0 0
0 30
3
50
15 2 1 0 0
0 0 1 0 0 0 1 1
0 30
7
50
33 3 0 0 0
_

_
[2, 2]
73
_

_
1 0
8
25
84 12 8 0 0
0 1
1
500
1
2
1
15
1
30
0 0
0 0 1 0 0 0 1 1
0 0
2
25
18 1 1 0 0
_

_
[1, 3]
_

_
25
8
0 1
525
2
75
2
25 0 0
1
160
1 0
1
40
1
120
1
60
0 0
25
8
0 0
525
2
75
2
25 1 1
1
4
0 0 3 2 3 0 0
_

_
[2, 4]
_

_
125
2
10500 1 0 50 150 0 0
1
4
40 0 1
1
3
2
3
0 0
125
2
10500 0 0 50 150 1 1
1
2
120 0 0 1 1 0 0
_

_
[3, 1]
74 CHAPITRE 6. CYCLAGE
_

_
0 0 1 0 0 0 1 1
0 2 0 1
2
15
1
15
1
250
1
250
1 168 0 0
4
5
12
5
2
125
2
125
0 36 0 0
7
5
11
5
1
125
1
125
_

_
[2, 5]
_

_
0 0 1 0 0 0 1 1
0 15 0
15
2
1
1
2
3
100
3
100
1 180 0 6 0 2
1
25
1
25
0 15 0
21
2
0
3
2
1
20
1
20
_