Programmation Linéaire Simplexe
Programmation Linéaire Simplexe
Programmation Linéaire Simplexe
Programmation Linaire
Algorithme de simplexe
2
Programmation linaire
Dans le cas gnral un programme linaire peut tre
dfinie sous 2 formes:
Programme linaire sous forme canonique:
( ) . et ,
0
0
, avec
0 0
minimiser maximiser
1
1 1
m n
n
n
j
j j
n
j
j j
IR b n m A c IR
c
c
c
x x
b Ax sujet ou b Ax sujet
x c x c
|
|
|
\
|
|
|
|
\
|
=
= =
3
Programmation linaire :Forme standard
Programme Linaire sous forme Standard:
. ) ( et 0 , ,
colonnes et lignes matrice
0
sujet
maximiser
m A rang c IR c IR b
n m A Avec
x
b Ax
x c
n m
T
=
=
+
Proposition: Tout problme de programmation linaire sous
forme canonique admet un problme quivalent de
programmation linaire sous forme standard.
4
Exemple
= + +
= +
= +
+
0 , , , ,
18 2 3
12 2
4
sujet
5 3 maximiser
5 4 3 2 1
5 2 1
4 2
3 1
2 1
x x x x x
x x x
x x
x x
x x
Forme canonique:
Forme standard:
0 ,
18 2 3
12 2
4
sujet
5 3 maximiser
2 1
2 1
2
1
2 1
+
x x
x x
x
x
x x
carts d' variables ) 5 , 4 , 3 ( = i x
i
5
Remarque: IL existe une correspondance entre lensemble de solutions
dun programme linaire sous forme standard et lensemble de solutions du
mme programme linaire mais sous forme canonique
.
0 ,
18 2 3
12 2
4
sujet
5 3 max
2 1
2 1
2
1
2 1
+
x x
x x
x
x
x x
.
0 , , , ,
18 2 3
12 2
4
s.
5 3 max
5 4 3 2 1
5 2 1
4 2
3 1
2 1
= + +
= +
= +
+
x x x x x
x x x
x x
x x
x x
En utilisant les relations
2 1 5 2 4 1 3
2 3 18 2 12 , 4 x x x et x x x x = = =
On peut vrifier lquivalence suivante:
) , (
2 1
x x
Forme canonique
Forme standard
est une solution du problme sous forme canonique
si et seulement si
) 2 3 18 , 2 12 , 4 , , ( ) , , , , (
2 1 2 1 2 1 5 4 3 2 1
x x x x x x x x x x x =
est une solution du problme sous forme standard
Exemple:
6
Cherchons les solutions du programme linaire sous forme standard associes
aux sommets de lensemble de contraintes
Chaque solution associe un sommet possde exactement 2 variables nulles
et 3 variables positives .
1
x
2
x
3
x
4
x
5
x
Le sommet 1:
) (0,0
Solution associe: 18) (0,0,4,12,
1
= x
Le sommet 2:
) (4,0
Solution associe:
Le sommet 3:
) (4,3
Solution associe:
Le sommet 4:
) (2,6
Solution associe:
Le sommet 5:
) (0,6
Solution associe:
6) (4,0,0,12,
2
= x
) (4,3,0,6,0
3
= x
) (2,6,2,0,0
4
= x
) (0,6,4,0,6
5
= x
7
Solution de base admissible
) et , ( 0 variables 3 et ) et ( 0 variables 2 ; 18) (0,0,4,12,
5 4 3 2 1
1
x x x x x x = =
Les colonnes de la matrice A associes aux variables positives forment
une sous matrice carre dordre 3 inversible appele base de A
) et , ( 0 variables 3 et ) et ( 0 variables 2 ); (0,6,4,0,6
5 3 2 4 1
5
x x x x x x = =
) et , ( 0 variables 3 et ) et ( 0 variables 2 6); (4,0,0,12,
5 4 1 3 2
2
x x x x x x = =
) et , ( 0 variables 3 et ) et ( 0 variables 2 ); (4,3,0,6,0
4 2 1 5 3
3
x x x x x x = =
) et , ( 0 variables 3 et ) et ( 0 variables 2 ); (2,6,2,0,0
3 2 1 5 4
4
x x x x x x = =
{ }
|
|
|
\
|
=
|
|
|
\
|
= = =
18
12
4
,
1 0 0 2 3
0 1 0 2 0
0 0 1 0 1
0 , :
3
b A x b Ax IR x S
Chaque sommet de lensemble de contraintes est associ une base
de A
8
1
x
2
x
3
x
4
x
5
x
1 0 2
0 0 2
0 1 0
0 2 3
0 2 0
1 0 1
0 2 3
1 2 0
0 0 1
1 0 3
0 1 0
0 0 1
1 0 0
0 1 0
0 0 1
5 5 4 4
3 3 2 2 1 1
|
|
|
\
|
=
|
|
|
\
|
=
|
|
|
\
|
=
|
|
|
\
|
=
|
|
|
\
|
=
B x B x
B x B x B x
Les bases associes aux points
Les bases associes 2 sommets adjacents diffrent dune seule colonne
|
|
|
\
|
=
1 0 0 2 3
0 1 0 2 0
0 0 1 0 1
A
5 4 3 2 1
et , , , x x x x x
9
Solution de base admissible
Dfinition : On dit que les solutions associes aux 5 points (x1, x2, x3, x4
et x5) sont des solutions de base admissibles ou encore des points
extrmes.
1
x
2
x
3
x
4
x
5
x
Dfinition : Une solution de base admissible associe une base
est dfinie par
et les autres composantes (de ) nulles.
B
0
1
=
b B x
B
x
x
10
Exemples de solution de bases admissibles:
18) (0,0,4,12,
1
= x La solution
est une solution de base, elle est associe la base
|
|
|
\
|
1 0 0
0 1 0
0 0 1
) (4,3,0,6,0
3
= x
La solution
est une solution de base, elle est associe la base
|
|
|
\
|
0 2 3
1 2 0
0 0 1
Dfinition:
Soit une solution de base associe la base
Les composantes de sont appeles des variables de base
et les autres composantes des variables hors base.
x . B
b B x
B
1
=
{ }
|
|
|
\
|
=
|
|
|
\
|
= = =
18
12
4
,
1 0 0 2 3
0 1 0 2 0
0 0 1 0 1
0 , :
5
b A x b Ax IR x S
11
Exemples :
5 4 3
et , x x x
2 1
et , x x
1) Solution: les variables de base :
les variables hors base:
: 18) (0,0,4,12,
1
= x
5 4 1
et , x x x
3 2
et , x x
2) Solution: les variables de base :
les variables hors base:
: 6) (4,0,0,12,
2
= x
4 2 1
et , x x x
5 3
et , x x
3) Solution: les variables de base :
les variables hors base:
: ) (4,3,0,6,0
3
= x
3 2 1
et , x x x
5 4
et , x x
4) Solution: les variables de base :
les variables hors base:
: ) (2,6,2,6,0
4
= x
5 3 2
et , x x x
4 1
et , x x
5) Solution: les variables de base :
les variables hors base:
: ) (0,6,4,0,6
5
= x
12
Algorithme de simplexe
(Pour rsoudre un programme linaire)
1) Trouver une solution de base admissible associe une base B.
2) Calculer cot rduit de
3) Si la solution associe la base B est optimale.
4) Si la fonction conomique nest pas borne.
5) Si
calculer
6) Remplacer dans la base B la colonne dindice s par la colonne dindice r
et retourner 2)
Remarque1: Si alors la colonne de B
dindice s est associe la variable
{ } : c , ,.., 1 : : max
1
j
T
B j j j r
a B c c n j c c
= = =
0 et
1
r
-
a B
( ) { } > 0 et
1
i r
-
a B i,
b B b a B y y
y
b
y
b
r r kr
kr
k
sr
s
1 1
, , 0 : min
= =
)
`
> =
0
r
c
s
i
x
x
0 >
r
c
( )
m s
i i i i
a a a a B , , , , ,
2 1
=
0 >
r
c
.
j
x
Remarque2: La base initiale B peut toujours tre
prise gale la matrice identit dordre m
13
Algorithme de simplexe sous forme de tableaux
A B
-1
b B
-1
1
i
m
i
1
i
c
m
i
c
1
c
n
c
1
c
n
c
b B c
T
B
1
Les cots rduits
La valeur de la solution
Le second membre
Les cfficients
de la fonc. con.
Les indices
de variables
de base
Les cfficients des variables de base
B
c
Tableau associ une itration de lalgorithme de simplexe
14
Problme : comment passer dun tableau (associ une itration) un
nouveau tableau (associ litration suivante)
Solution : utiliser les oprations du pivot
Au cour dune itration de lalgorithme de simplexe on dtermine la variable de
sortie en calculant le minimum suivant
b B b a B y y
y
b
y
b
r r kr
kr
k
sr
s
1 1
, , 0 : min
= =
)
`
> =
sr
y Oprations dun pivot sur
1) Diviser la ligne de la variable par le pivot
La ligne obtenu est la ligne de la variable
s
i
x
sr
y
r
x
2) Soustraire de la ligne i le multiple da la ligne de la variable par
pour tout et
r
x
ir
y
m i , , 1 = . s i
3) Retrancher de la ligne des cots rduits le multiple de la ligne de la variable
par
r
x
.
r
c
15
Exemple 1
0 0 0 3 -1
0 0 3 -1
5 1 0 1 1 0 4
6 0 1 2 -1 0 3
4 3 2 1
|
|
\
|
=
|
|
\
|
= + +
= + +
+ =
5
6
,
1 0 1 1
0 1 2 1
0 , , ,
5
6 2 .
3 max
4 3 2 1
4 2 1
3 2 1
2 1
b A
x x x x
x x x
x x x s
x x Z
Itration 1
j
c max
12
1
2
2
0 , min
y
b
y
y
b
i
i
i
=
)
`
>
pivot
(Variable dentre )
2
x
Variable de
sortie
3
x
16
9 0 -3/2 0 1/2
0 0 3 -1
2 1 -1/2 0 3/2 0 4
3 0 1/2 1 -1/2 3 2
4 3 2 1
Itration 2
29/3 -1/3 -4/3 0 0
0 0 3 -1
4/3 2/3 -1/3 0 1 -1 1
11/3 1/3 1/3 1 0 3 2
4 3 2 1
Itration 3
Variable dentre
Variable de sortie
1
x
4
x
pivot
17
29/3 -1/3 -4/3 0 0
0 0 3 -1
4/3 2/3 -1/3 0 1 -1 1
11/3 1/3 1/3 1 0 3 2
4 3 2 1
0 max
j
c
donc la solution est optimale est
T
x
|
\
|
= 0 , 0 ,
3
11
,
3
4
18
Exemple 2
.
0 , , , ,
18 2 3
12 2
4
sujet
5 3 maximiser
5 4 3 2 1
5 2 1
4 2
3 1
2 1
= + +
= +
= +
+
x x x x x
x x x
x x
x x
x x
Itration1
0 0 0 0 5 3
0 0 0 5 3
18 1 0 0 2 3 0 5
12 0 1 0 2 0 0 4
4 0 0 1 0 1 0 3
5 4 3 2 1
19
0 0 0 0 5 3
0 0 0 5 3
18 1 0 0 2 3 0 5
12 0 1 0 2 0 0 4
4 0 0 1 0 1 0 3
5 4 3 2 1
Itration1
0 5 max
2
> = = c c
j
(Variable dentre )
2
x
22
2
2
2
0 , min
y
b
y
y
b
i
i
i
=
)
`
>
Variable de
sortie
4
x
Pivot
30 0 -5/2 0 0 3
0 0 0 5 3
6 1 -1 0 0 3 0 5
6 0 1/2 0 1 0 5 2
4 0 0 1 0 1 0 3
Nouveau
tableau
20
30 0 -5/2 0 0 3
0 0 0 5 3
6 1 -1 0 0 3 0 5
6 0 1/2 0 1 0 5 2
4 0 0 1 0 1 0 3
5 4 3 2 1
Itration2
0 3 max
1
> = = c c
j (Variable dentre )
1
x
31
3
1
1
0 , min
y
b
y
y
b
i
i
i
=
)
`
>
Variable de
sortie
5
x
Pivot
36 -1 -3/2 0 0 0
0 0 0 5 3
2 1/3 -1/3 0 0 1 3 1
6 0 1/2 0 1 0 5 2
2 -1/3 1/3 1 0 0 0 3
Nouveau
tableau
21
36 -1 -3/2 0 0 0
0 0 0 5 3
2 1/3 -1/3 0 0 1 3 1
6 0 1/2 0 1 0 5 2
2 -1/3 1/3 1 0 0 0 3
5 4 3 2 1
= 0 max
5
c c
j
La solution est optimale
La solution optimale est
( )
T
x 0 , 0 , 2 , 6 , 2 =
Itration 3
22
Exemple 3
.
0 , ,
2
3 2
4
sujet
2 - maximiser
3 2 1
3 2
3 1
3 2 1
3 2 1
+
+ +
+ +
x x x
x x
x x
x x x
x x x
Forme Standard:
.
0 , , , , ,
2
3 2
4
sujet
2 - maximiser
6 5 4 3 2 1
6 3 2
5 3 1
4 3 2 1
3 2 1
= + +
=
= + +
+ +
x x x x x x
x x x
x x x
x x x x
x x x
23
.
0 , , , , ,
2
3 2
4
sujet
2 maximiser
6 5 4 3 2 1
6 3 2
5 3 1
4 3 2 1
3 2 1
= + +
=
= + +
+ +
x x x x x x
x x x
x x x
x x x x
x x -x
La matrice formes par les colonnes des variables dcart
matrice identit
|
|
|
\
|
=
1 0 0 1 1 0
0 1 - 0 1 - 0 2
0 0 1 - 1 1 1
. A
24
= +
= +
= + + +
+ +
0 , , , , , , ,
2
3 2
4
2 max
2 1 6 5 4 3 2 1
6 3 2
2 5 3 1
1 4 3 2 1
2 1 3 2 1
z z x x x x x x
x x x
z x x x
z x x x x
sujet
Mz Mz x x x imiser
Problme: solution de base initiale?
Solution : Utiliser des variables artificielles
M un nombre positif trs grand
|
|
|
\
|
=
0 0 1 0 0 0 1 0
1 0 0 1 0 1 0 2
0 1 0 0 1 1 1 1
A
Une base initiale est forme par les colonnes des variables
6 2 1
et , x z z
25
Itration 1:
-7M 0 0 0 -M -M 1 2+M -1+3M
-M -M 0 0 0 1 2 -1
2 0 0 1 0 0 1 1 0 0 6
3 1 0 0 -1 0 -1 0 2 -M z2
4 0 1 0 0 -1 1 1 1 -M z1
z2 z1 6 5 4 3 2 1
0 max
1
> = c c
j
Base initiale = colonnes de
variables z1, z2 et x6
(Variable dentre )
1
x
Variable de
sortie
2
z
Pivot
26
-(5M+3)/2
(1-3M)/2 0 0 (M-1)/2 -M (3M+1)/2 2+M 0
-M -M 0 0 0 1 2 -1
2 0 0 1 0 0 1 1 0 0 6
3/2 1/2 0 0 -1/2 0 -1/2 0 1 -1 1
5/2 -1/2 1 0 1/2 -1 3/2 1 0 -M z1
z2 z1 6 5 4 3 2 1
Itration 2:
0 max
3
> = c c
j
Variable de
sortie
1
z
Pivot
(Variable dentre )
3
x
27
-2/3 (-3M+2)/3 (-1-3M)/3 0 -2/3 1/3 0 5/3 0
-M -M 0 0 0 1 2 -1
1/3 1/3 -2/3 1 -1/3 2/3 0 1/3 0 0 6
7/3 1/3 1/3 0 -1/3 -1/3 0 1/3 1 -1 1
5/3 -1/3 2/3 0 1/3 -2/3 1 2/3 0 1 3
z2 z1 6 5 4 3 2 1
Itration 3:
Toutes les variables artificielles sont hors base, donc on
supprime les colonnes associes ces variables.
28
Itration 3:
-2/3 0 -2/3 1/3 0 5/3 0
0 0 0 1 2 -1
1/3 1 -1/3 2/3 0 1/3 0 0 6
7/3 0 -1/3 -1/3 0 1/3 1 -1 1
5/3 0 1/3 -2/3 1 2/3 0 1 3
6 5 4 3 2 1
0 max
2
> = c c
j
Pivot
Variable de
sortie
6
x
(Variable dentre )
2
x
29
Itration 4:
1 -5 1 -3 0 0 0
0 0 0 1 2 -1
1 3 -1 2 0 1 0 2 2
2 -1 0 -1 0 0 1 -1 1
1 -2 1 -2 1 0 0 1 3
6 5 4 3 2 1
0 max
5
> = c c
j
(Variable dentre )
5
x
Pivot
Variable de
sortie
3
x
30
2 -3 0 -1 -2 0 0
0 0 0 1 2 -1
2 1 0 0 1 1 0 2 2
2 -1 0 -1 0 0 1 -1 1
1 -2 1 -2 1 0 0 0 5
6 5 4 3 2 1
Itration 5:
0 max
j
c la solution est optimale
T
x ) 0 , 1 , 0 , 0 , 2 , 2 ( =