Vous êtes sur la page 1sur 34

PROGRAMMATION LINEAIRE

Dr Adama COULIBALY
UFR de Mathematiques et Informatique,
Universite FHB, 22 BP 582 Abidjan 22, Cote dIvoire.

3 decembre 2014
Table des mati`
eres

1 Notions de convexit e 2
1.1 Ensembles convexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Poly`edres convexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Formulation dun programme lin eaire 5


2.1 Programmes lineaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Forme standard, forme canonique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Resolution des programmes lin eaires 9


3.1 La methode graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 La methode du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.1 Base dun syst`eme dequations lineaires . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.2 Base realisable dun programme lineaire . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.3 Forme canonique par rapport `a une base realisable . . . . . . . . . . . . . . . . . . 12
3.2.4 Caracterisation des solutions de base realisables optimales . . . . . . . . . . . . . . 14
3.2.5 Algorithme primal du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.6 Convergence de lalgorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.7 Methode des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.8 Initialisation de lalgorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.9 Methode du grand M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1
Chapitre 1

Notions de convexit
e

1.1 Ensembles convexes


Definition 1.1.1 Soient xi : i = 1, , k des points de Rn . On appelle combinaison lineaire convexe de

ces points, tout element x = ki=1 i xi avec i 0 pour tout i et ni=1 i = 1.

En particulier, une combinaison lineaire convexe de deux points x et y, est tout point z = (1)x+y
avec [0, 1] .

On denit aussi :

Definition 1.1.2 Soit x, y Rn ; on appelle segment ferme dextremites x et y, lensemble note [x, y]
et deni par :
[x, y] = {z Rn : z = (1 ) x + y : [0, 1]} .

Cest lensemble de toutes les combinaisons lineaires convexes des points x et y.

De facon analogue, on denit :

D
efinition 1.1.3 On appelle segment ouvert dextremites x et y, et on le note ]x, y[, lensemble

]x, y[ = {z Rn : z = (1 ) x + y : ]0, 1[} .

On denit aussi ]x, y] et [x, y[ qui sont appeles segments semi ouvert en x respectivement en y.

]x, y] = {z Rn : z = (1 ) x + y, ]0, 1]} .

[x, y[ = {z Rn : z = (1 ) x + y, [0, 1[} .

Definition 1.1.4 Soit C une partie de Rn . C est convexe si seulement si pour tout x, y C, (1 ) x +
y C pour tout [0, 1]. Autrement dit, C est convexe si seulement si C contient tout segment ferme
dextremites deux quelconques de ses points.

Exemple 1.1.1 - Dans Rn , les ensembles suivants sont convexes. Rn , lensemble vide, les singletons, les
boules, les segments.
- Dans R, les parties convexes sont les intervalles.

On a la proposition :

2
Proposition 1.1.1 Une partie C de Rn est convexe si seulement si elle contient toute combinaison
lineaire convexe de toute famille nie delements qui lui appartiennent.

Preuve : Si C contient toute combinaison lineaire convexe de familles nies delements qui lui appar-
tiennent, en particulier, prenant une famille de deux elements x et y de C, on a [x, y] C et donc C
est convexe.
Reciproquement, soit C un ensemble convexe de Rn . Alors C contient toute combinaison lineaire
convexe de deux quelconques de ses elements. Donc la propriete est vraie pour une famille comportant
deux elements. Supposons quelle est vraie pour une famille de k 1 elements.
Soit { }
F = x1 , x2 , , xk

une famille de k element de C.


Soit

k
k
x= i xi avec i 0, i = 1.
i=1 i=1

On a

k
k1
i
x= i x = i xi + k xk .
i=1 i=1

Soit

k1
= i .
i=1

On a [0, 1].
Si = 0 alors i = 0 pour tout i = 1, , k 1 et donc k = 1. Il vient alors que x = k xk = xk C.
Si = 0, on peut ecrire
k1 (
)
i
x= xi + k xk .

i=1

Lelement
k1 (
)
i
y= xi ,

i=1

est une combinaison lineaire convexe de k 1 elements de C. Cest donc un element de C, par hypoth`ese
de recurrence. Donc x = y +k xk . Or k = 1 avec [0, 1]. Donc x est combinaison lineaire convexe
de deux elements de C. Comme par hypoth`ese, C est convexe, on a alors x C. 
On rapelle que :

D efinition 1.1.5 Une application f de Rn dans Rm est dite ane si lune des conditions suivantes est
veriee.
i) Pour tout x, y dans Rn et R, on a

f ((1 )x + y) = (1 )f (x) + f (y).

ii) Il existe une application lineaire L de Rn dans Rm et a dans Rm tels que :

x Rn , f (x) = L(x) + a.

Les resultats suivants sont immediats.

3
Proposition 1.1.2 1) Si C1 et C2 sont convexes alors pour tous 1 et 2 dans R, 1 C1 + 2 C2 est
convexe.
2) Toute intersection de parties convexes est convexe.
3) Le produit cartesien de deux convexes est convexe.
4) Limage dun convexe par une application ane est convexe.
5) Limage reciproque dun convexe par une application ane est convexe.

1.2 Poly`
edres convexes
D efinition 1.2.1 Un poly`edre convexe P de Rn est lintersection
(eventuellement vide) dun nombre ni de demi-espaces fermes et/ou dhyperplans.
Cest-`a-dire :

ai x bi , i = 1, , p1 ,

P = x R : ai x bi , i = p1 + 1, , p2 ,
n



ai x = bi , i = p2 + 1, , m
u les ai sont dans M1,n (R) et les bi , dans R, i = 1, , m.
o`

Remarque 1.2.1 Dans cette denition on peut toujours supposer quon a un seul type dinegalite.

Definition 1.2.2 Soit P un poly`edre convexe de Rn . Un point x P est un sommet de P sil existe
c M1,n (R) tel que cx < cy pour tout y P, y =
x.

On montre que si le poly`edre est de la forme

P = {x Rn : ai x bi , i = 1, , m}

un point x P est un sommet si et seulement si il est intersection de n hyperplans fronti`eres lineairement


independants.

4
Chapitre 2

Formulation dun programme lin


eaire

2.1 Programmes lin


eaires
D efinition 2.1.1 Un programme lineaire est un probl`eme qui consiste ` a determiner le minimum ou
maximum dune application lineaire sur un poly`edre convexe et les elements de ce poly`edre convexe qui
realisent ce minimum ou ce maximum.

Si lapplication lineaire est Z(x) = nj=1 cj xj et le poly`edre convexe est :
n

aij xj bi , i = 1, , m1

j=1
P= xR :
n n
aij xj bi , i = m1 + 1, , m2

nj=1

j=1 aij xj = bi , i = m2 + 1, , m
on le note symboliquement :

min (max) Z(x) = nj=1 cj xj
n
j=1 aij xj bi , i = 1, , m1


n
aij xj bi , i = m1 + 1, , m2
j=1


n
j=1 aij xj = bi , i = m2 + 1, , m


xj R, j = 1, , n

On peut supposer que ce programme est sous la forme suivante dite forme generale :

min (max) Z(x) = nj=1 cj xj
n
j=1 aij xj bi , i = 1, , m1


n
j=1 aij xj bi , i = m1 + 1, , m2

n
j=1 aij xj = bi , i = m2 + 1, , m

x 0, j = 1, , n1


j

xj 0, j = n1 + 1, , n2

xj R, j = n2 + 1, , n.

On a les remarques suivantes :

Remarque 2.1.1 - Etant donne un programme lineaire, on peut toujours se ramener ` a un programme
lineaire o`u les variables sont astreintes `a etre non negatives. En eet si xj est une variable negative on

fait le changement de variable xj = xj . Si par contre xj est quelconque dans R on pose xj = x+ j xj

avec x+ j , xj 0 car tout reel peut secrire comme la dierence de deux reels positifs ou nuls.
- Dans un programme lineaire on peut ramener toutes les contraintes dinegalite ` a des inegalites de
meme type. il sut de multiplier la contrainte par 1 le cas echeant.

5
Par convention les contraintes dinegalite pour un probl`eme de minimisation sont du type et les
contraintes dinegalite pour un probl`eme de maximisation sont du type

On peut dire alors quun programme lineaire est un programme mathematique de la forme

min (max) Z(x) = nj=1 cj xj
n
j=1 aij xj () bi , i = 1, , m1
n
j=1 aij xj = bi , i = m1 + 1, , m

xj 0, j = 1, , n
Dans un programme lineaire on distingue deux types de contrainte : les contraintes relatives au signe
des variables, dites contraintes de restriction de signe ou de non-negativite et les autres dites vraies
contraintes on dit aussi contraintes structurelles. la matrice A = (aij ) Mm,n (R) est appelee matrice
ut et b = (bi ) Mm,1 (R), vecteur second membre.
des vraies contraintes, c = (cj ) M1,n (R), vecteur co

2.2 Quelques exemples


Probl` eme de production
Soient m machines Mi (i = 1, , m) qui fabriquent en serie n types de produits Pj (j = 1, , n).
La machine Mi a une capacite maximum de bi unites de temps. La fabrication dune unite du produit
Pj necessite lutilisation de la machine Mi durant aij unites de temps. Si cj represente le gain relatif `a la
production dune unite du produit Pj , quelle doit etre la politique de production pour maximiser le gain
total ?

Probl` eme de transport


Soient r centres de production dun bien donne possedant des stocks disponibles en quantites respec-
tives q1 , , qr . Dans s centres de consommation, la demande de ce bien est respectivement de d1 , , ds .
Les frais de transport dune unite de bien du centre de production i au centre de consommation j est cij
unites monetaires. Il sagit de determiner comment approvisionner les centres de consommation `a partir
des centres de production de mani`ere `a minimiser le co ut total de transport. Formuler ce probl`eme sous
forme dun programme lineaire.

Probl` eme de la ration alimentaire


On dispose de n aliments Aj (j = 1, , n) aux prix respectifs par unite de cj (j = 1, , n).
Soient m elements nutritifs ei (i = 1, , m). La quantite du i`eme element nutritif contenue dans une
unite de laliment Aj est aij . Les besoins respectifs en les m elements nutritifs sont bi (i = 1, , m).
On se propose de determiner la ration alimentaire qui tout en etant de meilleur marche possible
garantisse un apport susant en elements nutritifs.

2.3 Forme standard, forme canonique


Dans cette partie on consid`ere la relation suivante.
Pour u et v dans Rn on note

u v ui vi i = 1, , n.

Definition 2.3.1 Un programme lineaire est sous forme standard si les vraies contraintes sont des
egalites et les variables sont astreintes `
a etre non negatives. En dautres termes, le probl`eme est sous
la forme
n
min
{ (max) Z = j=1 cj xj
n
j=1 aij xj = bi , i = 1, , m
xj 0, j = 1, , n

6
Si on pose A = (aij ) Mm,n (R), c = (cj ) M1,n (R), et
b = (bi ) Mm,1 (R), on a la notation matricielle

min(max)
{ Z = cx
Ax = b
x Rn , x 0
On a la proposition suivante.

Proposition 2.3.1 Tout programme lineaire peut se mettre sous forme standard

Preuve : Il sut de transformer les contraintes dinegalite en contraintes degalite en considerant les
equivalences suivantes :
n n
aij xj bi aij xj si = bi , si 0
j=1 j=1


n
n
aij xj bi aij xj + si = bi , si 0
j=1 j=1

D efinition 2.3.2 La variable si introduite pour passer dune contrainte dinegalite `


a une contrainte
degalite est appelee variable decart.

Remarque 2.3.1 Le passage `


a la forme standard augmente le nombre de variables dans le programme
lineaire.

D efinition 2.3.3 Un programme lineaire est sous forme canonique si les vraies contraintes sont des
inegalites et les variables sont astreintes `
a etre non negatives. Pour les probl`emes de minimisation on a
n
min
{ Z = j=1 cj xj
n
j=1 aij xj bi , i = 1, , m
xj 0, j = 1, , n

et pour les probl`emes de maximisation on a



max Z = nj=1 cj xj
{ n
j=1 aij xj bi , i = 1, , m
xj 0, j = 1, , n

En considerant les memes notations que ci-dessus, on obtient respectivement pour la minimisation et
la maximisation la notation matricielle suivante :

min Z = cx
{ max
{ Z = cx
Ax b Ax b
x Rn , x 0 x Rn , x 0

Proposition 2.3.2 Tout programme lineaire peut se mettre sous forme canonique

Preuve : Il sut de transformer les contraintes degalite en contraintes dinegalite en considerant lune
des equivalences suivantes :
n { n
j=1 aij xj bi ,
aij xj = bi
nj=1 aij xj bi
j=1

7
ou


n { n
j=1 aij xj bi ,

aij xj = bi
nj=1 aij xj bi
j=1

Remarque 2.3.2 Le passage `


a la forme canonique augmente le nombre de contraintes dans le programme
lineaire.

8
Chapitre 3

R
esolution des programmes lin
eaires

3.1 La m
ethode graphique
La methode graphique est lune des premi`eres methodes utilisees pour resoudre les programmes
lineaires.

On sait que lensemble des solutions realisables dun programme lineaire est poly`edre convexe ferme.
Il peut etre :
- vide,
- non vide et borne,
- non vide et non borne.

La methode graphique est basee sur la propriete suivante qui est fondamentale en programmation
lineaire.

Th eor`eme 3.1.1 Si un programme lineaire poss`ede une solution optimale, alors son poly`edre des solu-
tions realisables contient au moins un sommet et un dentre eux est solution optimale.

A titre dexemples, resoudre graphiquement les programmes lineaires suivants :


min
Z = 2x1 + 3x2 min
Z = x1 + x2

x1 + x2 4
2x1 + x2 12



6x1 + 2x2 8 5x1 + 8x2 74

x1 + 5x2 4
x + 6x2 24
1

x1 3 x1 , x 2 0



x 3
2
x 1 , x2 0

max
Z = 3x1 + 2x2 max Z = 6x1 + 5x2


2x1 + x2 1
x1 + x2 8

x1 + x2 3 2x1 + 3x2 6

x 2 x1 x2 2

1
x 1 , x2 0 x1 , x 2 0

max
Z = x1 + x2

2x1 + x2 1

x1 + x2 3

x 2
1
x 1 , x2 0

Cette methode est limitee car elle ne sapplique qu`a des programmes lineaires o`
u le nombre de

9
variables est faible (au maximum 3 variables). Nous allons nous interesser dans ce qui suit `a une methode
algebrique, la methode du simplexe.

3.2 La m
ethode du simplexe
On consid`ere le programme lineaire sous la forme standard suivant.

Z = min Z = cx
{
Ax = b (P L)
x Rn , x 0

u A Mm,n (R), c M1,n (R), et b Mm,1 (R) avec rangA = m < n.


o`
Notons D lensemble des solutions realisables de (P L). On sait que D est un poly`edre convexe ferme.
Il peut etre vide, non vide et borne i.e. un polytope, non vide et non borne.

3.2.1 Base dun syst`


eme d
equations lin
eaires
Soient A Mm,n (R) et b Mm,1 (R) avec rangA = m < n. On consid`ere le syst`eme dequations
lineaires
Ax = b, (3.1)
On denit :

D efinition 3.2.1 On appelle base du syst`eme dequations lineaires (3.1), toute sous matrice carree
reguli`ere (m m) extraite de A.

Exemple 3.2.1

Considerons le syst`eme dequations lineaires suivant :


{
7x1 + 3x2 + 10x3 + 5x4 + 8x5 = 37
5x1 + 4x2 + 7x3 + 10x4 + 3x5 = 26

La matrice de ce syst`eme est


( )
7 3 10 5 8
A=
5 4 7 10 3
On a rangA = 2. La sous matrice carree formee de la premi`ere et quatri`eme colonnes est
( )
7 5
B=
5 10

On a det B = 45 = 0. Cest donc une base du syst`eme ci-dessus.

Remarque 3.2.1 Il existe au moins une base pour le syst`eme (3.1) (puisque rg(A) = m) et il y en a au
plus Cm
n.

Definition 3.2.2 Soit B une base de (3.1), les variables associees aux colonnes de B sont appelees
variables de base, les autres, variables hors base.

Remarque 3.2.2 tr`es souvent, et cela, pour eviter certaines indeterminations, on represente une base
par son ensemble de variables de base ou par son ensemble des indices des variables de base.

10
Definition 3.2.3 On dit que deux bases B et B sont adjacentes, si les colonnes qui les constituent ne
di`erent que dun seul element.

Soit B une base de (3.1) ; moyennant une permutation on peut supposer que les colonnes de B
sont les m premi`eres colonnes de A. Donc on peut supposer que A est sous la forme (matrices blocs)
A = (B, N ) o`u N est la( sous-matrice
) formee par les colonnes de A qui ne sont pas dans B. De meme on
xB
peut partitionner x = o`u xB est constitue des variables de base et xN des variables hors base.
xN
Le syst`eme (3.1) est alors equivalent `a
BxB + N xN = b. (3.2)
Par suite les solutions de (3.1) sont
( )
B 1 (b N xN )
x= , xN Rnm . (3.3)
xN

Definition 3.2.4 On appelle solution de base de (3.1) associee (ou (relative))`


a la base B, la solution
1
B b
particuli`ere x(B) obtenue dans (3.3) en prenant xN = 0 i. e. x(B) =
0

On montre que

Proposition 3.2.1 x Rn est une solution de base de (3.1) si et seulement si on a Ax = b et il existe


des indices B(1), , B(m) tels que :
a) les colonnes AB(1) , , AB(m) sont lineairement independantes ;
b) si i = B(1), , B(m), alors xi = 0.

3.2.2 Base r
ealisable dun programme lin
eaire
D
efinition 3.2.5 On appelle base de (P L) toute base du syst`eme Ax = b.

D
efinition 3.2.6 Soit B une base de (P L). On dit que B est une base realisable pour (P L) si on a
1
B b 0. Dans ce cas la solution de base associee `
a B est une solution realisable pour (P L).

Exemple 3.2.2

Considerons le programme lineaire suivant :

Z = 2x1 9x2 + 4x3 + 10x4 3x5


min
7x1 + 3x2 + 10x3 + 5x4 + 8x5 = 37
5x1 + 4x2 + 7x3 + 10x4 + 3x5 = 26

x R5 , x 0
I = {x1 , x3 } est une base realisable. En eet, si on note B la matrice associee `a I, on a :
( ) ( ) ( )
7 10 1 7 10 1 1
B= , B = et B b = 0.
5 7 5 7 3

efinition 3.2.7 Une base realisable B de (P L) est dite degeneree si le vecteur xB = B 1 b contient au
D
moins une composante nulle.

Exemple 3.2.3

11
Considerons le programme lineaire suivant :

Z = 3x1 2x2
min

4x1 + 3x2 + x3 = 18

4x1 + x2 + x4 = 8

4x1 x2 + x5 = 8

x R5 , x 0
Soit I = {1, 3, 5}. La matrice associee `a I est

4 1 0
B= 4 0 0
4 0 1
On a det B = 4 = 0 ; donc I est une base.

0 14 0 2
B 1 = 1 1 0 et B 1 b = 10 0.
0 1 1 0
La base est alors realisable ; mais le vecteur B 1 b a une composante nulle. Donc la base I est degeneree.

D
efinition 3.2.8 Le programme (P L) est dit degenere sil poss`ede une base realisable degeneree.

Il y a un lien entre les sommets du poly`edre des solutions realisables de (P L) et les solutions de base
realisables. On montre que :

Theor`eme 3.2.1 On a les equivalences suivantes :


a) x est un sommet de D,
b) x est une solution de base realisable de (P L).

On montre que

Proposition 3.2.2 Etant donne un programme lineaire sous forme standard, si lensemble des solutions
realisables est non vide, il contient au moins un sommet.

On sait dapr`es le theor`eme (3.1.1) que si un programme lineaire poss`ede une solution optimale, il
admet un sommet et donc une solution de base realisable comme solution optimale. Ce qui nous am`ene
`a chercher les conditions pour quune solution de base realisable soit optimale.

3.2.3 Forme canonique par rapport `


a une base r
ealisable
On vient de voir que si (P L) poss`ede un optimum ni, il existe au moins une base realisable optimale.
Cest pour cela quon sinteresse dans ce qui suit aux conditions doptimalite des solutions de base
realisables.

Soit B une base realisable de (P L). On note I lensemble des indices des variables de base et J
lensemble des indices des variables hors base.

On sait quon peut supposer sans perdre de generalites que B est formee des m premi`eres colonnes
de A et donc A est de la forme (matrices blocs) A = (B, N ) o` u N est la(sous-matrice
) formee par les
xB
colonnes de A qui ne sont pas dans B. De meme on peut partitionner x = o`
u xB est constitue
xN
des variables de base et xN des variables hors base.

12
Le syst`eme Ax = b est alors equivalent `a

BxB + N xN = b xB + B 1 N xN = B 1 b. (3.4)

On peut aussi partitionner c de la facon suivante : c = (cB , cN ) o`


u cB est forme des coecients des
variables de base et cN des coecients des variables hors base. On a alors

Z(x) = cx = cB xB + cN xN .

En remplacant xB par sa valeur (xB = B 1 b B 1 N xN ), on a

Z(x) = cB B 1 b + (cN cB B 1 N )xN . (3.5)

Posons
A = B 1 A, c = c cB B 1 A, Z = cB B 1 b (3.6)

Donc cB = 0 et cN = cN cB B 1 N .
On remarque quon a Z(x(B)) = cB B 1 b = Z.

Definition 3.2.9 Deux programmes lineaires sont dits equivalents sils ont les solutions realisables et
les memes solutions optimales.

D
efinition 3.2.10 Le programme lineaire (P L) est equivalent au programme lineaire :

Z = min Z = cx + Z
{
= b
Ax
x Rn , x 0

Cest la forme canonique (ou forme equivalente) de (P L) par rapport `


a la base realisable B.

Remarque 3.2.3 Ecrire un programme lineaire sous forme canonique par rapport ` a une base realisable,
cest ecrire sa fonction-objectif ainsi que ses variables de base en fonction des seules variables hors base.
En dautres termes il sagit decrire la fonction-objectif ` a laide des seules variables hors base et
transformer le syst`eme des vraies contraintes en un syst`eme equivalent dans lequel chaque variable de
base nintervient que dans une seule equation, et dans cette equation son coecient est egal `a 1. On dira
alors que cette derni`ere est la variable de base associee `
a cette equation.

Exemple 3.2.4

La forme canonique du programme lineaire de lexemple (3.2.2) par rapport `a la base realisable I =
{x1 , x3 } est :

Z = 14 + 5x2 + 60x4 27x5


min
x1 + 19x2 + 65x4 26x5 = 1
x3 13x2 45x4 + 19x5 = 3

x0

13
3.2.4 Caract
erisation des solutions de base r
ealisables optimales
On peut `a present donner les conditions doptimalite pour une solution de base realisable.

Th eme 3.2.2 Une condition susante pour que B soit une base realisable optimale est c 0.
eor`

Preuve : Dans (P L) on a la contrainte xN 0. Donc pour toute solution realisable x de (P L), on aura

Z(x) = cB B 1 b + (cN cB B 1 N )xN cB B 1 b = Z(x(B)).

Par suite x(B) est une solution optimale de (P L). 

Remarque 3.2.4 Pour un probl`eme de maximisation la condition susante doptimalite est c 0.

Dans le cas de non degenerescence la condition susante ci-dessus est aussi necessaire.

Theor`
eme 3.2.3 Si le probl`eme (P L) est non degenere i.e. ne poss`ede pas de base realisable degeneree,
une condition necessaire et susante pour que B soit optimale est c 0.

Theor` eme 3.2.4 Soit k dans J tel que ck < 0. Si Ak , la colonne associee `a la variable xk dans la
matrice A est telle que Ak 0, alors on peut diminuer indeniment la fonction objectif, ce qui signie
que (z = ). On dit alors que loptimum de (P L) est non borne ou que (P L) nadmet pas de solution
optimale `a distance nie.

Preuve : Considerons dans le syst`eme Ax = b la solution x() obtenue en imposant aux variables hors
base les valeurs suivantes :
xj = 0 j J k et xk = .
On obtient alors
xi = bi
aik i I.
La solution x() est realisable pour tout 0.
On a :
Z(x()) = Z + cj xj = Z +
ck
jJ

Comme ck < 0, on a Z(x()) qui tend vers pour tendant vers +. Donc Z = . 

Exemple 3.2.5

Considerons le programme lineaire suivant :

Z = x1 2x2
min

2x1 + x2 + x3 = 2

x1 + 2x2 + x4 = 5

x 4x2 + x5 = 4
1
x R5 , x 0
Soit I = {1, 2, 5}. La matrice associee `a I est

2 1 0
B = 1 2 0
1 4 1
On a

14

23 1
3 0 1
3
B 1 = 13 2
3 0 , B 1 b = 8
3
0.
23 7
3 1 43
3
Donc cest une base realisable. La forme canonique par rapport `a cette base est :

Z =2 3
17 4 5
min 3 x3 + 3 x4

x1 3 x3 + 3 x4 = 3
1 1

x2 13 x3 + 23 x4 = 83

x 2 x + 7 x = 43
5 3 3 3 4 3
x0
La colonne de la variable hors base x3 est negative dans cette forme. On remarque que
1 2
3 + 3
8 + 1
3 3
x() =

0
43 2
3 + 3

est realisable quel que soit 0 et Z(x()) = 17


3 3 qui tend vers quand tend vers +.
4

Le probl`eme est alors non borne.

Remarque 3.2.5 On a les memes resultats dans le cas des probl`emes de maximisation si on remplace
la condition ck < 0 par ck > 0 dans le theor`eme (3.2.4).

Dans le theor`eme qui suit on montre que si pour tout k J tel que ck < 0, on a Ak  0 alors il existe
une base realisable qui ameliore la fonction-objectif Z.

Th eor`
eme 3.2.5 Soit B une base realisable, on note I et J respectivement les ensembles des indices
des variables de base et hors base, b = B 1 b, A = B 1 A et c = c cB B 1 A. Soit k J tel que ck < 0 et
Ak  0. Soit l tel que [ ]
bl bi
= min : i I, a
ik > 0 .
a
lk a
ik

Alors la matrice B associee aux variables dont les indices sont dans I = I l + k est une base realisable
adjacente `
a B. Et on a
bl
Z(x(B )) = Z(x(B)) + ck .
a
lk

Preuve : La matrice associee `a I = I l + k est B = BM . o`


u
( )
M = e1 e2 el1 Ak el+1 em

les ei etant les vecteurs de la base canonique de Rm .


On a
det(B ) = det B det M = a
lk det B = 0.
Donc I est une base.
En considerant la forme canonique du programme (P L) par rapport `a la base B, on constate que le
syst`eme Ax = b est equivalent `a :
{
xi + jJk a ik xk = bi i I l
ij xj + a

xl + jJk a lk xk = bl
lj xj + a

15
La solution de base associee `a I = I l + k est :

xj = 0 j J k + l

xk = ablkl


xi = bi aik ablkl i I l

Pour que cette solution de base soit realisable il sut quelle verie les contraintes de non-negativite,
cest-`a-dire : {
xk = ablkl 0

xi = bi aik bl 0 i I l
a
lk

Ce qui est equivalent `a : [ ]


bl bi
0 = min : i I, a
ik > 0 ,
a
lk a
ik

qui est vrai par le choix de l. Par suite I = I l + k est une base realisable. En outre on a :
bl bl
Z(x(B )) = Z + ck xk = Z + ck = Z(x(B)) + ck .
a
lk a
lk
Comme
bl
ck < 0 et 0,
a
lk
on a bien Z(x(B )) Z(x(B)). 

Remarque 3.2.6 Si la base B est non degeneree, on a : Z(x(B )) < Z(x(B)). cest-`
a-dire que la
decroissance est stricte.

On peut `a present donner lalgorithme du simplexe.

3.2.5 Algorithme primal du simplexe


Lalgorithme du simplexe contient deux phases : la phase 1 et la phase 2.

Phase 1
Dans cette phase on determine une premi`ere solution de base realisable du probl`eme. Si cette procedure
echoue, cela signie que le poly`edre des solutions realisables D du probl`eme est vide.

Phase 2
Dans cette partie, on calcule `a partir de la solution realisable obtnue dans la phase 1 une autre solution
de base realisable donnant une meilleure valeur de la fonction-objectif. Geometriquement, une iteration
consiste `a passer dun sommet de D `a un sommet de D ; ce nouveau sommet est adjacent au premier en
ce sens quils sont les extremites dune arete de D.
Nous donnons ici une iteration de la phase 2 de lalgorithme du simplexe.

Phase 2 de lalgorithme du simplexe


Dans une iteration de la phase 2 de lalgorithme du simplexe applique au probl`eme (P L) on proc`ede
comme suit.

D ebut
On suppose quon dispose dune base realisable de depart B. Soit I et J respectivement les ensembles
des indices des variables de base et hors base.

1) Calculer b = B 1 b, A = B 1 A et c = c cB B 1 A.

16
2) Tester c.
a) Si c 0, stop : La base B est optimale.
b) Sil existe k J tel que ck < 0 avec Ak 0, stop : Le probl`eme est non bornee i.e. la valeur
optimale est innie.
c) Autrement eectuer un changement de base.

3) Changement de base
ee : Soit k J tel que
a) Test dentr

cj : j J, cj < 0] .
ck = min [

La variable correspondante xk rentre dans la base on lappelle variable rentrante.


b) Test de sortie : Soit l tel que
[ ]
bl bi
= min : i I, a
ik > 0 .
a
lk a
ik

La variable xl sort de la base on lappelle variable sortante.


c) On consid`ere la nouvelle base realisable encore notee B dont les ensembles des indices de variables
de base et hors base sont respectivement

I := I l + k et J := J k + l

Aller `a 1).
Fin

Remarque 3.2.7 Dans le cas dun probl`eme de maximisation, il nest pas necessaire de transformer le
probl`eme en un probl`eme de minimisation an dappliquer lalgorithme du simplexe. Il sut de considerer
les modications suivantes :

2 a) Si c 0 stop : la base B est optimale.


2 b) Sil existe k J tel que ck > 0 avec Ak 0 stop : le probl`eme est non bornee i.e. la valeur
optimale est innie.

3 a) Test dentr
ee : Soit k J tel que

cj : j J, cj > 0] .
ck = max [

La variable correspondante xk rentre dans la base.


Les autres instructions restent valables.

3.2.6 Convergence de lalgorithme du simplexe


On a le resultat suivant

Theor` eme 3.2.6 Si ` a chaque base realisable rencontree dans resolution du probl`eme (P L) la solution
de base associee est non degeneree, lalgorithme se termine en un nombre ni diterations par lune des
deux situations suivantes :
i) obtention dune solution de base realisable optimale de (P L)
ii) absence de solution optimale ` a distance nie.

Ce theor`eme montre la convergence de lalgorithme du simplexe en labsence de degenerescence.


On montre que

17
Proposition 3.2.3 Si `
a une iteration de lalgorithme du simplexe lensemble
{ [ ]}
bl bi
L= l: = min : i I, a
ik > 0
a
lk a
ik

contient plus dun element, alors le probl`eme (P L) est degenere i.e. il existe une base degeneree.

Lorsque le probl`eme est degenere, lalgorithme du simplexe peut cycler cest-`a-dire quon peut retrou-
ver une base dej`a rencontree. Pour remedier `a cela on peut utiliser lune des r`egles suivantes.
- la r`egle de Bland ou la r`egle du plus petit indice
- la r`egle lexicographique
- la r`egle de perturbation

La r`
egle de Bland
Test dentr
ee : La variable qui rentre dans la base est xk avec k le plus petit indice pour lequel
ck < 0
Test de sortie : La variable qui sort de la base est xl avec l le plus petit element de L.

3.2.7 M
ethode des tableaux
Cest une mise en uvre manuelle de lalgorithme du simplexe.
Soit `a resoudre le programme lineaire (P L)
Z = min Z = cx
{
Ax = b
x Rn , x 0
toujours avec A Mm,n (R), c M1,n (R), et b Mm,1 (R) et rangA = m < n.
On suppose quon dispose dune base realisable de depart B Les ensembles des indices des variables
de base et hors-base sont I et J.
La forme canonique de (P L) par rapport `a B est

b
Z = min Z = cx + Z
{
= b
Ax
x Rn , x 0
On sait que A = (Im , B 1 N ), c = (0, cN cB B 1 N ), b = B 1 b.
On denit :

Definition 3.2.11 On appelle tableau simplexe complet de (P L) par rapport `


a la base realisable B, le
tableau `
a m + 1 lignes et n + 1 colonnes ci-dessous
xi i I xj j J

xi b
A
iI

c Z

D
efinition 3.2.12 On appelle tableau simplexe de (P L) par rapport `
a la base realisable B, le tableau `
a
m + 1 lignes et n m + 1 colonnes ci-dessous
xj j J

xi
AN = B 1 N b
iI

cN Z

18
A partir du tableau simplexe on peut ecrire la forme canonique de (P L) par rapport `a la base B et
inversement.
On denit :

Definition 3.2.13 Dans le tableau simplexe, on appelle pivot lelement qui est ` a lintersection de la
colonne de la variable rentrante et de la ligne de la variable sortante.
Dans ce cas la ligne correspondante est dite ligne du pivot et la colonne, colonne du pivot.

La methode des tableaux consiste `a ecrire les tableaux simplexes relatifs aux dierentes bases ren-
contrees dans la resolution du programme (P L) `a laide de lalgorithme du simplexe. Il faut donc
determiner pour deux bases successives dans lalgorithme du simplexe B et B comment passer du tableau
simplexe relatif `a B `a celui relatif `a B .

Pour obtenir le tableau simplexe de (P L) relatif `a B `a partir de celui relatif `a B on utilise le cadre
du tableau simplexe relatif `a B et on consid`ere les r`egles suivantes.

1) Permuter les variables sortante et rentrante.


2) Remplacer le pivot par son inverse
3) Diviser les autres elements de la ligne du pivot par le pivot
4) Diviser les autres elements de la colonne du pivot par le pivot et changer de signe.
5) Pour les autres elements du tableau, appliquer la r`egle du rectangle suivante :

R`egle du rectangle
Soit l I la ligne du pivot et k J la colonne du pivot.
a
ik a
lj
Pour i I l et j J k, lelement a
ij est remplace par aij lk .
a
On note alors
a
ik a
lj
a ij
ij := a
a
lk

Cette r`egle sapplique `a tous les elements du tableau.

Remarque 3.2.8 Si une ligne intersecte la colonne du pivot par un zero, la ligne reste inchangee.
Si une colonne intersecte la ligne du pivot par un zero, la colonne reste inchangee.

Dans la methode des tableaux une base sera designee indieremment par la matrice elle-meme ou par
lensembles des indices des variables de base associees.

Exemple 3.2.6

Z = 3x1 + 2x2
min
2x1 + x2 5


x1 x2 1

x + 2x2 3
1
x 1 , x2 0
On ecrit le programme sous forme standard. On obtient :

Z = 3x1 + 2x2
min

2x1 + x2 + x3 = 5

x1 x2 + x4 = 1

x + 2x2 + x5 = 3
1
xi 0, i = 1, , 5

19
On remarque que I = {x3 , x4 , x5 } est une base realisable evidente. En outre le programme est dej`
a
sous forme canonique par rapport `a cette base. Les tableaux simplexes sont les suivants.
x1 x2 x4 x2
x3 2 1 5 x3 -2 3 3
x4 1 -1 1 x1 1 -1 1
TS1 TS2
x5 1 2 3 x5 -1 3 2
-3 2 0 3 -1 3

x4 x5
x3 -1 -1 1
x1 2/3 1/3 5/3
TS3
x2 -1/3 1/3 2/3
8/3 1/3 11/3

La condition darret de lalgorithme est veriee, on est donc `a loptimum.


Une solution optimale du probl`eme initial est x = ( 53 , 32 )T et la valeur optimale est Z = 11
3 .

Exemple 3.2.7

max
Z = 6x1 + 5x2

x1 + x2 8

2x1 + 3x2 6

x x2 2
1
x1 , x 2 0
On ecrit le programme sous forme standard. On obtient :

max
Z = 6x1 + 5x2

x1 + x2 + x3 = 8

2x1 + 3x2 + x4 = 6

x x2 + x5 = 2
1
xi 0, i = 1, , 5
On remarque que I = {x3 , x4 , x5 } est une base realisable evidente. En outre le programme est dej`
a
sous forme canonique par rapport `a cette base. Les tableaux simplexes sont les suivants.
x1 x2 x5 x2
x3 1 1 8 x3 -1 2 6
x4 -2 3 6 x4 2 1 10
TS1 TS2
x5 1 -1 2 x1 1 -1 2
6 5 0 -6 11 -12

x5 x3
x2 -1/2 1/2 3
x4 5/2 -1/2 7
TS3
x1 1/2 1/2 5
-1/2 -11/2 -45

Tous les coecients de la fonction-objectif sont negatifs ou nuls on est donc `a loptimum. Une solution
optimale du probl`eme initial est x = (5, 3)T et la valeur optimale est Z = 45.

Exemple 3.2.8

20
Z = 3x1 + 5x2
min
2x1 + 3x2 6
x1 4x2 4

x 1 , x2 0
On ecrit le programme sous forme standard. On obtient :

Z = 3x1 + 5x2
min
2x1 + 3x2 + x3 = 6
x1 4x2 + x4 = 4

xi 0, i = 1, , 4
On remarque que I = {x3 , x4 } est une base realisable evidente. En outre le programme est dej`
a sous
forme canonique par rapport `a cette base. Les tableaux simplexes sont les suivants.
x1 x2 x4 x2
x3 -2 3 6 x3 2 -5 14
TS1 x4 1 -4 4 TS2 x1 1 -4 4
-3 5 0 3 -7 12

On remarque que la colonne de la variable x2 est toute negative, il n y a donc pas de pivot. Le
programme lineaire est alors non borne ; cest-`a-dire que la valeur optimale est .

Exemple 3.2.9 (Probl`


eme d
eg
en
er
e)

max
Z = 3x1 + 2x2

4x1 + 3x2 12

4x1 + x2 8

4x1 x2 8

x1 , x2 0
On remarque que I = {x3 , x4 , x5 } est une base realisable evidente. En outre le programme est dej`
a
sous forme canonique par rapport `a cette base.
x1 x2 x4 x2
x3 4 3 12 x3 -1 2 4
x4 4 1 8 x1 1/4 1/4 2
TS1 TS2
x5 4 -1 8 x5 -1 0 0
3 2 0 -3/4 5/4 -6

x4 x3
x2 -1/2 1/2 2
x1 3/8 -1/8 3/2
TS3
x5 -2 1 4
-1/8 -5/8 -17/2

On est `a loptimum. Une solution optimale du probl`eme initial est x = ( 32 , 2)T et la valeur optimale
est Z = 172 .
Dans les exemples que nous venons de traiter, on avait toujours une base realisable evidente. Mais
tr`es souvent il arive quon ne dispose pas de base realisable d`es le depart. Alors on utilise la phase
dinitialisation pour determiner une premi`ere base realisable.

21
3.2.8 Initialisation de lalgorithme du simplexe
Dans cette phase dinitialisation, quon appelle aussi la phase 1 du simplexe, on y determine une
premi`ere base realisable du programme (P L).

Z = min Z = cx
{
Ax = b (P L)
x Rn , x 0
u A Mm,n (R), c M1,n (R), et b Mm,1 (R).
o`
On suppose ici que b 0. Mais on ne fait pas lhypoth`ese que rangA = m < n.

On consid`ere le probl`eme auxiliaire deni de la facon suivante :


- Les vraies contraintes :
On consid`ere chaque vraie contrainte de (P L) et on ajoute au premier membre une variable articielle
non-negative.
- La fonction-objectif :
La fonction-objectif est la somme de toutes les variables articielles introduites.
Dans ce programme toutes les variables sont non-negatives.
On a alors le programme suivant :

= min = m
{
a
i=1 xi
Ax + Im xa = b (Pa )
x 0, xa 0

Les variables xai , i {1, , m} sont appelees variables articielles. Elles sont introduites juste pour
creer une base realisable evidente pour (Pa ).
Par denition de (Pa ), on a 0. Donc (Pa ) ne peut pas etre non borne. En outre il nest pas non
plus impossible car avec lhypoth`ese que b 0, la solution (0, b)T est realisable.
La matrice des vraies contraintes de (Pa ) est A = (A, Im ). Donc rangA = m < n + m et la matrice
formee des colonnes des variables articielles est une base realisable evidente de (Pa ). on peut donc
resoudre ce dernier `a laide de la phase 2 du simplexe en partant de cette base.

On resout (Pa ) et on tire les conclusions suivantes.

1er cas > 0 :

Si la valeur optimale de (Pa ) nest pas nulle alors le probl`eme (P L) est impossible. Car en eet si
(P L) possedait une solution realisable on montre facilement que 0.

2`eme cas = 0 :

Notons (x , xa ) la solution optimale de (Pa ) obtenue o`


u x est relative aux variables structurelles ou
initiales du probl`eme (P L) et x les variables articielles. On a necessairement xa = 0.
a

1) Si dans cette solution toutes les variables articielles sont hors-base cest-`a-dire que la base optimale
de (Pa ) est constituee uniquement de colonnes de la matrice A, alors cette derni`ere est une base realisable
de (P L).

2) Si par contre il existe des variables articielles dans la base, cest-`a-dire que la base optimale de
(Pa ) est constituee de colonnes de A pour les variables structurelles et de colonnes de la matrice Im pour
les variables articielles. Cette base nest pas necessairement une base de (P L).
Supposons que les variables articielles dans la base optimale de (Pa ) sont xai , i P . On a deux cas
possibles.
On suppose que le probl`eme (Pa ) est sous forme canonique par rapport `a la base optimale.
a) Si i P , la ligne correspondant `a la variable de base articielle xai contient un coecient non nul
relatif `a une variable non articielle xj , alors on peut faire un changement de base. Dans la nouvelle base

22
la variable articielle xai est remplacee par la variable xj . On obtient ainsi `a la n une base realisable
optimale de (Pa ) constituee uniquement de colonnes de A. Cest donc une base realisable de (P L). Mais
cette base est degeneree.

b) Dans le cas contraire, si une variable articielle dans la base optimale ne peut pas etre remplacee
par une variable non articielle, cela signie que lequation `a laquelle est associee cette variable arti-
cielle est redondante. Cest-`a-dire quelle est combinaison lineaire dautres equations. Elle peut donc etre
supprimee.
Donc si on a un nombre q variables de ce genre, on a rangA = m q. Dans ce cas les q lignes
correspondantes peuvent etre eliminees. Les m q variables restantes dans la base optimale de (Pa )
forment une base realisable de (P L).

Remarque 3.2.9 1) Dans la methode des tableaux lorsquon ne dispose pas de base realisable evidente
et quon veuille appliquer soit la methode des deux phases, on peut tenir compte de la situation suivante.
Etant donne que dans le programme auxiliaire lintroduction des variables articielles sert ` a creer
uniquement une base realisable evidente, il nest pas necessaire den ajouter systematiquement ` a chaque
equation.
Si une variable nintervient que dans une seule equation et si le signe de son coecient est egal ` a
celui du second membre de cette equation il nest pas necessaire dajouter une variable articielle ` a cette
equation. Cette variable peut etre consideree comme variable de base associee associee `
a cette equation.
2) Dans la methode des tableaux lorsquune variable articielle sort de la base il est certain quelle ne
peut plus y revenir la colonne correspondante devient superue et peut etre supprimee.

Exemple 3.2.10

1) min Z = 2x1 + 3x2 + x3


x1 + x2 + x3 = 5
2x1 + x2 + 3x3 9

xi 0, i = 1, , 3
La forme standard de ce probl`eme est
min
Z = 2x1 + 3x2 + x3
x1 + x2 + x3 = 5
2x1 + x2 + 3x3 x4 = 9

xi 0, i = 1, , 4
On na pas de base realisable evidente. Utilisons la phase 1.
Considerons le programme auxiliaire :
min
= x5 + x6
x1 + x2 + x3 + x5 = 5
2x1 + x2 + 3x3 x4 + x6 = 9

xi 0, i = 1, , 6
I = {x5 , x6 } est une base realisable evidente de ce probl`eme.
La forme canonique par rapport `a cette base est :
= 14 3x1 2x2 4x3 + x4
min
x1 + x2 + x3 + x5 = 5
2x1 + x2 + 3x3 x4 + x6 = 9

xi 0, i = 1, , 6
On a les tableaux simplexes suivants :

23
x1 x2 x3 x4
x5 1 1 1 0 5
TS1 x6 2 1 3 -1 9
-3 -2 -4 1 -14

x1 x2 x6 x4
..
x5 1/3 2/3 . 1/3 2
TS2 ..
x3 2/3 1/3 . -1/3 3
.
-1/3 -2/3 .. -1/3 -2

x1 x5 x4
..
x2 1/2 . 1/2 3
TS3 ..
x3 1/2 . -1/2 2
..
0 . 0 0
I = {x2 , x3 } est une base realisable du probl`eme initial.
La forme canonique par rapport `a cette base est :

Z =1 x4 +
min
1
11
x2 + 2 x1 + 2 x4 = 3
x3 + 21 x1 12 x4 = 2

xi 0, i = 1, , 4
On a les tableaux simplexes suivants :
x1 x4
x1 x2
x2 1/2 1/2 3
x4 1 2 6
TS4 x3 1/2 -1/2 2 TS5
x3 1 1 5
0 -1 -11
1 2 -5

La condition doptimalite est veriee, une solution optimale est :
x = (0, 0, 5)T et la valeur optimale est Z = 5.
2) max Z = 2x1 x2 + 3x3

x1 + x2 + x3 = 3

x1 2x2 + x3 1

2x2 + x3 2

xi 0, i = 1, , 3
La forme standard de ce probl`eme est :

Z = 2x1 x2 + 3x3
max

x1 + x2 + x3 = 3

x1 2x2 + x3 x4 = 1

2x2 + x3 + x5 = 2

xi 0, i = 1, , 5
On na pas de base realisable evidente. Utilisons la phase 1.
Considerons le programme auxiliaire :

24
min
= x6 + x7

x1 + x2 + x3 + x6 = 3

x1 2x2 + x3 x4 + x7 = 1

2x 2 + x3 + x5 = 2

xi 0, i = 1, , 7
I = {x6 , x7 , x5 } est une base realisable de ce probl`eme.
La forme canonique par rapport `a cette base est :

= 4 2x1 + x2 2x3 + x4
min

x1 + x2 + x3 + x6 = 3

x1 2x2 + x3 x4 + x7 = 1

2x 2 + x3 + x5 = 2

xi 0, i = 1, , 7
On a les tableaux simplexes suivants :
x7 x2 x3 x4
x1 x2 x3 x4 ..
x6 . 3 0 1 2
x6 1 1 1 0 3
..
x7 1 -2 1 -1 1 x1 . -2 1 -1 1
TS1 TS2 ..
x5 0 2 1 0 2
x5 . 2 1 0 2
-2 1 -2 1 -4 ..
. -3 0 -1 -2

x6 x3 x4
..
x2 . 0 1/3 2/3
..
TS3 x1 . 1 -1/3 7/3
..
x5 . 1 -2/3 2/3
..
. 0 0 0
I = {x2 , x1 , x5 } est une base realisable du probl`eme initial.
La forme canonique par rapport `a cette base est :
max
Z = 41 + x3 + x4
2

x2 + 3 x4 = 3

x1 + x3 13 x4 = 37

x + x3 23 x4 = 32
5
xi 0, i = 1, , 5
On a les tableaux simplexes suivants :
x3 x4 x3 x2
x2 0 1/3 2/3 x4 0 3 2
x1 1 -1/3 7/3 x1 1 1 3
TS4 TS5
x5 1 -2/3 2/3 x5 1 2 2
1 1 -4 1 -3 -6

x5 x2
x4 0 3 2
TS6 x1 -1 -1 1
x3 1 2 2
-1 -5 -8
La condition doptimalite est veriee, une solution optimale est :
x = (1, 0, 2)T et la valeur optimale est Z = 8.

25
3) min Z = 2x1 + 3x2 + 3x3 + x4 2x5


x1 + 3x2 + 4x4 + x5 = 2

x1 + 2x2 + 3x4 + x5 = 2

1 x 4 x + x3 = 31
3 1 3 2
xi 0, i = 1, , 5
On na pas de base realisable evidente, utilisons la phase 1.
Considerons le programme auxiliaire suivant :
min
= x6 + x7

x1 + 3x2 + 4x4 + x5 + x6 = 2

x1 + 2x2 + 3x4 + x5 + x7 = 2
31 x1 43 x2 + x3 = 31


xi 0, i = 1, , 7
I = {x6 , x7 , x3 } est une base realisable evidente. La forme canonique par rapport `a cette base est :
= 4 2x1 5x2 x4 2x5
min

x1 + 3x2 + 4x4 + x5 + x6 = 2

x1 + 2x2 + 3x4 + x5 + x7 = 2
3 x1 3 x2 + x3 = 3
1 4 1

xi 0, i = 1, , 7
On a les tableaux simplexes suivants :
x1 x6 x4 x5
x1 x2 x4 x5 ..
x2 1/3 . 4/3 1/3 2/3
x6 1 3 4 1 2
..
x7 1 2 -3 1 2 x7 1/3 . -17/3 1/3 2/3
x3 -1/3 -4/3 0 0 1/3 ..
x3 1/9 . 16/9 4/9 11/9
-2 -5 -1 -2 -4 ..
-1/3 . 17/3 -1/3 -2/3

x2 x6 x4 x5
..
x1 3 . 4 1 2
..
x7 -1 . -7 0 0
..
x3 -1/3 . 4/3 1/3 1
..
1 . 7 0 0
La condition daret est veriee mais la variable articielle x7 est dans la base optimale. On remarque
que les coecients de x2 et x4 sont non nuls dans la ligne de x7 . On peut donc remplacer dans la base
optimale x7 soit par x2 soit par x4 .
Si x2 rentre dans la base, on a les tableaux suivants :
x2 x6 x4 x5
.. x7 x4 x5
x1 3 . 4 1 2 ..
.. x1 . -17 1 2
x7 -1 . -7 0 0 ..
.. x2 . 7 0 0
x3 -1/3 . 4/3 1/3 1 ..
.. x3 . 11/3 1/3 1
1 . 7 0 0 ..
. 0 0 0

Dans ce cas I = {x1 , x2 , x3 } est une base realisable du programme initial.
Si par contre x4 rentre dans la base, on a les tableaux suivants :

26
x2 x6 x4 x5
.. x2 x7 x5
x1 3 . 4 1 2 ..
.. x1 17/7 . 1 2
x7 -1 . -7 0 0 ..
.. x4 1/7 . 0 0
x3 -1/3 . 4/3 1/3 1 ..
.. x3 -11/21 . 1/3 1
1 . 7 0 0 ..
0 . 0 0

Dans ce cas I = {x1 , x4 , x3 } est une base realisable du programme initial.
En partant de la base I = {x1 , x2 , x3 }, on obtient la phase 2 suivante :
x4 x5 x4 x1
x1 -17 1 2 x5 -17 1 2
x2 7 0 0 x2 7 0 0
x3 11/3 1/3 1 x3 28/3 -1/3 1/3
3 -5 -7 -82 5 3

x4 x1
x5 17/7 1 2
x4 1/7 0 0
x3 -4/3 -1/3 1/3
82/7 5 3
La condition darret du simplexe est veriee, on est `a lopitimum. Une solution optimale est : x =
(0, 0, 13 , 0, 2)T et la valeur optimale est Z = 3.

4) min Z = x1 + x2 + x3


x1 + 2x2 + 3x3 = 3


x1 + 2x2 + 6x3 = 2
4x2 + 9x3 = 5



3x3 + x4 = 1

xi 0, i = 1, , 4
On na pas de base realisable evidente, on va donc utiliser la phase 1.
Le programme auxiliaire est le suivant :
min = x5 + x6 + x7

x1 + 2x2 + 3x3 + x5 = 3


x1 + 2x2 + 6x3 + x6 = 2
4x2 + 9x3 + x7 = 5


3x3 + x4 = 1


xi 0, i = 1, , 7
I = {x5 , x6 , x7 , x4 } est une base realisable evidente. La forme canonique par rapport `a cette base est :
min = 10 8x2 18x3

x1 + 2x2 + 3x3 + x5 = 3


x1 + 2x2 + 6x3 + x6 = 2
4x2 + 9x3 + x7 = 5



3x3 + x4 = 1

xi 0, i = 1, , 7
On a les tableaux simplexes suivants :

27
x1 x2 x6
x1 x2 x3 ..
x5 3/2 1 . 2
x5 1 2 3 3 ..
x6 -1 2 6 2 x3 -1/6 1/3 . 1/3
x7 0 4 9 5 ..
x7 3/2 1 . 2
x4 0 0 3 1 ..
0 -8 -18 -10 x4 1/2 -1 . 0
..
-3 -2 . -4

x4 x5
x4 x2 ..
x5 -3 4 2 x2 -3/4 . 1/2
x3 1/3 0 1/3 ..
x3 1/3 . 1/3
x7 -3 4 2 ..
x1 2 -2 0 x7 0 . 0
..
6 -8 -4 x1 1/2 . 1
..
0 . 0
On est `a loptimum du programme auxiliaire. dans le tableau optimal la ligne de la variable de base x7
qui est une variable articielle est toute nulle. La troisi`eme equation du programme initial `a laquelle est
associee la variable x7 est donc une equation redondante on peut donc la supprimer. Ainsi I = {x2 , x3 , x1 }
est une base realisable du programme initial. La forme canonique par rapport `a la base I est

Z = 63 12 x14
11 1
min
x2 4 x4 = 2


x3 + 13 x4 = 13

x + 1x = 1
1 2 4
xi 0, i = 1, , 4
On a les tableaux simplexes suivants :
x4 x3
x2 -3/4 1/2 x2 9/4 5/4
x3 1/3 1/3 x4 3 1
x1 1/2 1 x1 -3/2 1/2
-1/12 -11/6 1/4 -7/4
La condition darret du simplexe est veriee. On est `a loptiumum et une solution optimale du pro-
gramme est x = ( 12 , 45 , 0, 1)T et la valeur optimale est Z = 74 .

3.2.9 M
ethode du grand M
Pour resoudre le programme lineaire (P L) par la methode du grand M , on consid`ere lhypoth`ese que
b 0 et on proc`ede comme suit.
On consid`ere le probl`eme auxiliaire suivant.
= min Z
m a
ZM
{ M = cx + M i=1 xi
a
Ax + Im x = b (PM )
x 0, xa 0
Comme dans la phase 1, les variables xai , i {1, , m} sont des variables articielles.
La constante M est une constante symbolique et elle est aussi grande que lon veut (cest-`a-dire
superieure `a tout nombre auquel elle pourra etre comparee lors de la resolution du probl`eme).
On remarque comme precedemment dans la phase 1 que la matrice des vraies contraintes de (PM )
est A = (A, Im ). Donc, rangA = m < n + m. Par suite avec lhypoth`ese que b 0, la matrice formee des

28
colonnes des variables articielles est une base realisable evidente pour (PM ). On peut donc le resoudre
a` laide de la phase 2 du simplexe en partant de cette base.
On montre que

1) Si ZM = , il en est de m eme pour Z .


2) Si (PM ) poss`ede une solution optimale, on a les cas suivants :
a) Si dans cette solution il reste encore des variables articielles non nulles dans la base (elles sont
donc de base) alors le probl`eme initial (P L) est impossible cest-`a-dire quil ne poss`ede pas de solutions
realisables.
b) Si dans cette solution toutes les variables articielles sont nulles, la partie formee des variables
structurelles est une solution de base realisable optimale de (P L).

Remarque 3.2.10 Pour un probl`eme de maximisation, la fonction-objectif de (PM ) est ZM = cx



M m a
i=1 xi .

Comme dans la phase 1, on a les remarques suivantes :

Remarque 3.2.11 1) Etant donne que dans le programme auxiliaire lintroduction des variables arti-
cielles sert `
a creer uniquement une base realisable evidente, il nest pas necessaire den ajouter systematiqueme
`
a chaque equation. En eet, si une variable nintervient que dans une seule equation et si le signe de
son coecient est egal ` a celui du second membre de cette equation il nest pas necessaire dajouter une
variable articielle ` a cette equation. Cette variable peut etre consideree comme variable de base associee
associee `
a cette equation.
2) Dans la methode des tableaux lorsquune variable articielle sort de la base il est certain quelle ne
peut plus y revenir la colonne correspondante devient superue et peut etre supprimee.

Exemple 3.2.11

1) min Z = 8x1 + 7x2 + 3x3


2x1 + x2 1
x1 + 2x2 + x3 1

xi 0, i = 1, , 3
La forme standard de ce probl`eme est
min
Z = 8x1 + 7x2 + 3x3
2x1 + x2 x4 = 1
x1 + 2x2 + x3 x5 = 1

xi 0, i = 1, , 5
On na pas de base realisable evidente. Utilisons la methode du grand M .
Considerons le programme auxiliaire :
min ZM = 8x1 + 7x2 + 3x3 + M x6

2x1 + x2 x4 + x6 = 1
x1 + 2x2 + x3 x5 = 1

xi 0, i = 1, , 5
I = {x6 , x3 } est une base realisable evidente de ce probl`eme.
La forme canonique par rapport `a cette base est :

ZM = (5 2M )x1 + (1 M )x2 + M x4 + 3x5 + M + 3


min
2x1 + x2 x4 + x6 = 1
x1 + 2x2 + x3 x5 = 1

xi 0, i = 1, , 5

29
On a les tableaux simplexes suivants :
x1 x2 x4 x5
x6 2 1 -1 0 1
TS1 x3 1 2 0 -1 1
5-2M 1-M M 3 -3-M

x6 x2 x4 x5
..
x1 . 1/2 -1/2 0 1/2
..
TS2 x3 . 3/2 1/2 -1 1/2
..
. -3/2 5/2 3 -11/2

x3 x4 x5
x1 -1/3 -2/3 1/3 1/3
TS3 x2 2/3 1/3 -2/3 1/3
1 3 2 -5

On est `a loptimum pour PM et une solution optimale du probl`eme initial est x = ( 31 , 1


3, 0)T et la
valeur optimale est Z = 5.
2) min Z = x1 + x2 + x3


x1 + 2x2 + 3x3 = 3


x1 + 2x2 + 6x3 = 2
4x2 + 9x3 = 5



3x3 + x4 = 1

xi 0, i = 1, , 4
On na pas de base realisable evidente. On va utiliser la methode du grand M .
Considerons le programme auxiliaire
min
ZM = x1 + x2 + x3 + M (x5 + x6 + x7 )

x1 + 2x2 + 3x3 + x5 = 3


x1 + 2x2 + 6x3 + x6 = 2
4x2 + 9x3 + x7 = 5



3x 3 + x4 = 1

xi 0, i = 1, , 7
I = {x5 , x6 , x7 , x4 } est une base realisable evidente pour ce probl`eme. Determinons la forme
canonique par rapport `a cette base. Les variables de base sont dej`a exprimees en fonction des variables
hors base. Il reste `a exprimer la fonction-objectif en fonction des variables hors base.
On a : ZM = 10M + x1 + (1 8M )x2 + (1 18M )x3
Donc la forme canonique du programme par rapport `a la base I est :

ZM = 10M + x1 + (1 8M )x2 + (1 18M )x3


min

x1 + 2x2 + 3x3 + x5 = 3


x 1 + 2x2 + 6x3 + x6 = 2
4x2 + 9x3 + x7 = 5



3x 3 + x4 = 1

xi 0, i = 1, , 7
On a les tableaux simplexes suivants.

30
x1 x2 x3
x5 1 2 3 3
x6 -1 2 6 2
TS1 x7 0 4 9 5
x4 0 0 3 1
1 1-8M 1-18M -10M

x1 x2 x4
x5 1 2 -1 2
x6 -1 2 -2 0
TS2 x7 0 1 -3 2
x3 0 0 1/3 1/3
1 1-8M -1/3+6M -1/3-4M

x1 x6 x4
..
x5 2 . 1 2
..
x2 -1/2 . -1 0
TS3 ..
x7 2 . 1 2
..
x3 0 . 1/3 1/3
..
3/2-4M . 2/3-2M -1/3-4M

x5 x4
.. x3
x1 . 1/2 1
.. x1 -3/2 1/2
x2 . -3/4 1/2 x2 9/4 5/4
TS4 .. TS5 x7 0 0
x7 . 0 0
.. x4 3 1
x3 . 1/3 1/3 1/4 -7/4
..
. -1/12 -11/6

On est `a loptimum pour PM et une solution optimale du probl`eme initial est x = ( 12 , 5


4, 0, 1)T et
la valeur optimale est Z = 47 .

3) min Z = x1 x2

2x1 + x2 2

x1 + 2x2 8

x + x2 5
1
xi 0, i = 1, , 2
La forme standard de ce probl`eme est

Z = x1 x2
min

2x1 + x2 + x3 = 2

x1 + 2x2 + x3 x4 = 8

x + x2 + x5 = 5
1
xi 0, i = 1, , 5
On na pas de base realisable evidente. Utilisons la methode du grand M .
Considerons le programme auxiliaire :

31
min ZM = x1 x2 + M x6


2x1 + x2 + x3 = 2

x1 + 2x2 + x3 x4 + x6 = 8

x + x2 + x5 = 5
1
xi 0, i = 1, , 6
I = {x3 , x6 , x5 } est une base realisable evidente de ce probl`eme.
La forme canonique par rapport `a cette base est :

ZM = (1 + M )x1 + (1 2M )x2 + M x4 + 8M
min

2x1 + x2 + x3 = 2

x1 + 2x2 + x3 x4 + x6 = 8

x + x2 + x5 = 5
1
xi 0, i = 1, , 6
On a les tableaux simplexes suivants :
x1 x2 x4
x3 2 1 0 2
x6 -1 2 -1 8
TS1
x5 1 1 0 5
1+M -1-2M M -8M

x1 x3 x4
x2 2 1 0 2
x6 3 -2 -1 4
TS2
x5 3 -1 0 3
-1-3M 1+2M M 2-4M

x5 x3 x4
x2 2/3 5/3 0 4
x6 -1 -3 -1 1
TS3
x1 1/3 -1/3 0 1
1/3+M 2/3+M M 3-M

On est `a loptimum pour PM ; mais il existe une variable articielle non nulle `a loptimum. Alors le
probl`eme initial est impossible.

32
Bibliographie

[1] Bazaraa, Mokhtar S. and Shetty, C. M., 1979. Nonlinear Programming Theory and Algorithms,
John Wiley and Sons.
[2] Bazaraa, Mokhtar S. and Shetty, C. M., 1976. Foundations of Optimization, Lecture Notes in
Economic and Mathematical Systems, No 122, Springer-Verlag New-York.
[3] Bergounioux Matine, 2001. Optimisation et Controle des syst`emes lineaires, Donod.
[4] Bertsimas, Dimitris and Tsitsiklis John N. 1997. Introduction to Linear Optmization, Athena
Scientic.
[5] Culioli, Jean-Christophe, 1994. Introduction `a loptimisation, Ellipses.
[6] Christelle Gueret, Christian Prins, Marc Sevaux, 2000. Programmation lineaire, Eyrolles.
[7] F. Droesbeke, M. Hallin, CL. Lefevre, 1986. Programmation lineaire par lexemple, Ellipses.
[8] Hiriart-Urruty, Jean-Baptiste, 1998. Optimisation et Analyse Convexe, Presse Universitaire de
France.
[9] Hiriart-Urruty, Jean-Baptiste and Lemarechal, Claude, 1993. Convex Analysis and Minimization
algorithms, Vol I et II Grundlehren der mathematichen Wissenschaften 305 and 306, Springer-
Verlag.
[10] Hiriart-Urruty, Jean-Baptiste, 1996. LOptimisation, in collection Que sais-je ?, Presse Universi-
taire de France.
[11] Michel Minoux, 1983. Programmation mathematique : Theorie et Algorithmes, Vol I, Dunod.
[12] Rockafellar, R. Tyrrel, 1970. Convex Analysis, Princeton University Press, Princeton N. J..
[13] Roseaux, 1985. T.3. Programmation lineaire et extensions ; probl`emes classiques, Masson
[14] Michel Sakarovitch, 1984. Optimisation Combinatoire Graphes et Programmation lineaire, Hermann
[15] Jacques Teghem, 1996. Programmation lineaire, Editions Ellipses

33