UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 05 : Initialisation de l'algorithme du simplexe. 49
Cours 05 : Initialisation de
l'algorithme du simplexe.
Méthode des deux phases
UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 05 : Initialisation de l'algorithme du simplexe. 50
Dans ce cours 05, nous supposons que pour notre problème de P.L nous ne
disposons pas d'une solution de base réalisable de départ.
Considérons un problème de la programmation linéaire sous forme standard
=
=
0x
bAx
x.czmin
)L.P(. Supposons aussi que tous les bi 0.
Associons à ce problème, le problème linéaire auxiliaire,
=
=+
=ψ
=
0V,0x
0x.cZ
bVIx.A
Vmin
)A.P( )m(
m
1i i
I(m) étant la matrice unité m x m et les Vi sont des variables dites " artificielles ".
Les (Vi) i= 1,…,m forment une base de départ et on peut appliquer à (P.A) l'algorithme
du simplexe et on obtiendra une solution optimale finie (en supposons qu'il n'existe
pas de solution de base dégénérée).
En effet si ψ = V1 + V2 +…+ Vm , Vi 0, il est impossible que minψ = + .
Lemme 1 : Soit V* une solution optimale de (P.A). Le problème initial (P.L) ne
possède pas de solutions réalisables si 0*v*)v( m
1i i>
=ψ
=
.
Preuve : Supposons le contraire. Soit x une solution réalisable du (P.L) alors (x,V0)
avec V0 = 0 = (0, 0,…, 0) sera une solution de (P.A) et
).v( )v( 'D .0)v( et v)v( 00
m
1i iψ>ψ=ψ
=ψ=ψ
=
Ce qui contredit
l'hypothèse. Si 0V est une solution optimale de (PA), ceci implique que (PL) n'a
pas de solution optimale. Supposons que ψ(V*) = 0. Deux cas sont possibles.
1. Aucune des variables artificielles vi n'est dans la base optimale de (P.A).
Cette base ne comprend que les variables xi.
z joue le rôle d'une variable quelconque non astreinte et on considère z - c.x = 0
comme une contrainte. La forme diagonale par rapport à cette base optimale pour
(PA) est une forme diagonale par rapport à la base réalisable pour (PL).
On peut lui appliquer l'algorithme du simplexe.
UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 05 : Initialisation de l'algorithme du simplexe. 51
2. Au moins une variable vi est dans la base optimale, par exemple une vr, alors
l'équation contenant vr s'écrit : αr x + crV = br (1)
Avec αr = (ar1, ar2,…, arm) , cr = (0,…,0,1(rang r),0,…0), Vr = 0, br = 0 et
Min ψ =
=
m
1i i
v = 0. S'il existe un certain coefficient ars 0 dans l'équation (1) alors on
peut effectuer une opération de pivotage autour de lui. On peut faire rentrer xr dans la
base et faire sortir xs. L'opération de pivotage ne changera pas la valeur de la fonction
objectif (puisque br = vr = 0) mais elle changera la base. Cette opération est possible
que si ars soit strictement positif ou strictement négatif.
Lemme 2 : Si arj = 0 j = 1, …, n (la ligne r de A) alors la contrainte correspondante
au PL est redondante.
La relation (1) peut être obtenue par succession d'opérations de pivotage (opérations
élémentaires). Il s'ensuit que la r-ième équation αr x + crV = br, peut être considérée
comme une combinaison linéaire des équations du système Ax + I(m)V = b.
La même combinaison linéaire du système A x = b donne l'équation 0 x = 0 (une
équation redondante). Après avoir examiné toutes les variables de base artificielles vi
qui sont encore dans la base optimale de (PA), les avoir éliminer de la base si c'est
possible. On aboutit au problème qui peut servir à initialiser l'algorithme du simplexe
au problème (PL). Ces opérations constituent la phase (1) du simplexe. L'application
de la méthode du simplexe constituent la seconde phase de la méthode du simplexe.
Exemple 1 : Soit à résoudre le programme linéaire (PL) suivant :
Minz = - x1 + 2 x2 - 2 x3
2 x1 + 3 x2 + x3 = 12
4 x1 + x2 + 2 x3 = 14
x1 0,…, x3 0.
Nous ne disposons pas de solutions de base de départ.
Associons à ce (PL) le problème auxiliaire (PA) :
Min ψ = v1 + v2 = - 6 x1 - 4 x2 - 3 x3 + 26
2 x1 + 3 x2 + x3 + v1 = 12 v1 = 12 - 2 x1 - 3 x2 - x3
4 x1 + x2 + 2 x3 + v2 = 14 v2 = 14 - 4 x1 - x2 - 2 x3
Z + x1 - 2 x2 + 2 x3 = 0
xi 0, i =1, 2, 3 et vj 0, j = 1, 2.
UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 05 : Initialisation de l'algorithme du simplexe. 52
Dressons un tableau du simplexe.
Variables
de base
1x1x2x3v1V2
- ψ-26 - 6 -4 -3 0 0
v112 23110
v214 41201
-Z 0 1-2200
Itération1
- ψ-5 0 -5/2 00
v15 0 5/2 0 1
x17/2 1 1/4 1/2 0
-Z -7/2 0 -9/4 3/2 0
Itération2
- ψ0000
x22010
x13101/2
-Z -1 0 0 -3/2
Comme min ψ = 0, alors la solution optimale de (PA) X = (3, 2, 0) constituera une
solution de base réalisable du problème initial (PL) de départ. X = (3, 2, 0) n'est pas
optimale car c3 < 0. Il faut qu'on effectue un autre changement de base.
Itération3
- Z -1 0 0 - 3/2
x22010
x13101/2
Itération4
- Z8300
x22010
x36201
X* = x = (0, 2, 6) est optimale et minz = -8.
UNIVERSITE SAAD DAHLAB DE BLIDA
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA
Cours 05 : Initialisation de l'algorithme du simplexe. 53
Remarques :
1. Dans la phase I, il n'est pas indispensable de s'occuper de l'équation c x -Z = 0.
En effet si l'on aura trouvé une base réalisable pour l'ensemble des contraintes
A.x = b, b 0, il suffira de retrancher une combinaison linéaire correspondante
des équations de ce système aux deux membres de la fonction objectif Z = c.x
pour une forme diagonale complète.
Exemple 2 : Soit le (PL) suivant :
Minz = 2 x1 - x2 - 3 x3
x1 + 2 x2 - x3 = 6
x1 - x2 + 4 x3 = 8
x1 0,…, x3 0.
Le problème auxiliaire (PA) est :
Min ψ = v1 + v2 = - 2 x1 - x2 - 3 x3 + 14
x1 + 2 x2 - x3 + v1 = 6
x1 - x2 + 4 x3 + v2 = 8
x1 0, x2 0, x3 0, v1 0, v2 0.
Dressons le tableau du simplexe sans la ligne de - z.
Variables
de base
1x
1x2x3v1v2
- ψ-14 - 2 - 1 -3 00
v1612
-1 10
v281-1 401
Itération1
- ψ-8 - 5/4 -7/4 00
v18 5/4 7/4 0 1
x321/4
-1/4 10
Itération2
- ψ0000
x232/7 5/7 1 0
x122/7 3/7 0 1
1 / 8 100%