Professional Documents
Culture Documents
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
1
Chapitre 1
Notions de convexit
e
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]} .
D
efinition 1.1.3 On appelle segment ouvert dextremites x et y, et on le note ]x, y[, lensemble
On denit aussi ]x, y] et [x, y[ qui sont appeles segments semi ouvert en x respectivement en y.
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
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
x Rn , f (x) = L(x) + a.
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.
P = {x Rn : ai x bi , i = 1, , m}
4
Chapitre 2
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.
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
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.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
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
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.
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
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
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
On montre que
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
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 :
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.
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)
Z(x) = cx = cB xB + cN xN .
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
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 :
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
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
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
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
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
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.
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.
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 [
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 :
3 a) Test dentr
ee : Soit k J tel que
cj : j J, cj > 0] .
ck = max [
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.
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 :
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.
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
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
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 .
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.
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.
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 :
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
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
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
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
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
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