Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Recherche Opérationnelle
Méthode de simplexe
Prof: A. El maliki
1 La méthode du simplexe
Interprétation économique
Un actreur économique exerce n activités avec des niveaux xi à
déterminer. Ces activités utilisent m ressources. La quantité aij de
ressource i nécessaire pour exercer l’activité j avec un niveau d’une
unité. Maximiser le profit ou minimiser le coût.
1 cj profit(ou coût) par unité d’activité j
2 bj disponibilité de la ressource j
3 aij consommation de la ressource i par l’unité d’activité j
4 xj niveau de l’activité j
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Remarques
1 Solution optimale : sommet (point extrême).
2 Identification algébrique des sommets : correspondance avec
les bases d’un système d’équations.
Solution de base
Une solution de base d’un programme linéaire est la solution unique
du système de m équations à m inconnues obtenu en fixant à zéro
(n + m − n) variables (la matrice du système doit être inversible).
Les variables fixées à zéro sont appelées variables hors base et les
autres variables en base.
Forme canonique
Définition
Un programme linéaire est sous forme canonique lorsque toutes ses
contraintes sont des inégalités (par exemple ≤) et toutes ses
variables sont non-négatives.
Forme standard
Théorème
Toute solution de base réalisable correspond à un sommet du
polyèdre.
n+m = (n+m)!
1 Nombre maximum de solutions de base :Cm m!n!
2 Algorithme ”bête et méchan” : énumération de toutes les
bases.
3 Méthode du simplexe : partir d’une solution de base
admissible et passer à une solution de base voisine qui
améliore la valeur de l’objectif.
4 Solution voisine : changement d’une variable en base.
5 La méthode de simplexe s’exécute en 3 etapes :
Détermination de la variable entrante.
Détermination de la variable sortante.
Pivotage.
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Algorithme du simplexe
Forme standard du PL :
max z= c1 x1 + c2 x2 + · · · + cn xn
a11 x1 + a12 x2 +... a1n xn +s1 = b1
a21 x1 + a22 x2 +... a2n xn +s2 = b2
s.c ... ... ... ... ....
a x + a x +... a x +s m = bm
m1 1 m2 2 mn n
x1 · · · , xn , s1 · · · , sm ≥ 0;
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Algorithme du simplexe :
Efficacité du simplexe
En pratique, l’algorithme de simplexe est très utilisé car il est très
efficace : entre 3m/2 et 3m itérations en moyenne (m = nombre
de contraintes) pour converger.
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
← L1 s1 0 6 4 1 0 0 0 24 4
L2 s2 0 1 2 0 1 0 0 6 6
L3 s3 0 0 1 0 0 1 0 2 −
L4 s4 0 −1 1 0 0 0 1 1 −
Lz z −1 5 4 0 0 0 0 0
Comme il y a deux nombres positifs (5 et 4) dans la ligne Lz :
(ligne des coefficients de la fonction objectif), la solution de base
réalisable obtenue n’est pas optimale.
On applique la procédure de détermination de la variable entrante
et celle sortante, on trouve :
1 x entre en base (plus grand coefficient positif de z ; ligne L )
1 z
2 s sort de base (plus petit rapport positif de θ =
bi
1 i ai1 , ai1 > 0)
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Simplexe du tableau
L3 s3 0 0 1 0 0 1 0 2 2
5 1
L4 s4 0 0 3 6 0 0 1 5 3
2
Lz z −1 0 3 − 56 0 0 0 −20
Comme il y a un nombre strictement positif (2/3) dans la ligne Lz ,
la solution de base réalisable obtenue n’est pas optimale.
On applique la procédure de détermination de la variable entrante
et celle sortante, on a :
1 x2 entre en base (plus grand coefficient positif de z ; ligne Lz )
bi
2 s2 sort de base (plus petit rapport positif de θi = ai2 , ai2 > 0)
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Simplexe du tableau
2
L1 ← L1 − 34 L2 = (1, 23 , 61 , 0, 0, 0, 4) − 21 (0, 43 , −1
6 , 1, 0, 0, 2)
3
L2 ← 1
4 L2 = (0, 1, −1 3 3
8 , 4 , 0, 0, 2 )
3
L3 ← L3 − 14 L2 = (0, 1, 0, 0, 1, 0, 2) − 43 (0, 34 , −1
6 , 1, 0, 0, 2)
3
5
L4 ← L4 − 34 L2 = (0, 53 , 61 , 0, 0, 1, 5) − 45 (0, 43 , −1
6 , 1, 0, 0, 2)
3
2
Lz ← Lz − L2 = (0, 32 , −5
3
4
1 4 −1
6 , 0, 0, 0, −20) − 2 (0, 3 , 6 , 1, 0, 0, 2)
3
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Simplexe du tableau
Lz z −1 0 0 − 43 − 12 0 0 −21
Comme tous les nombres de la ligne Lz sont négatifs ou nuls, la
solution de base réalisable obtenue
(x1 , x2 , s1 , s2 , s3 , s4 ) = (3, 32 , 0, 0, 12 , 25 ) est optimale.
La solution optimale est donc la suivante : (x1 , x2 ) = (3, 23 ) et la
valeur maximale de la fonction objecftif est Z ∗ = max z = 21.
On a utilisé toutes les matières premières M1, M2 (s1 = 0, s2 = 0)
Remarquer : Z = Z + i (coût réduit)i xi = Z ∗ − 34 s1 − 21 s2 ≤ Z ∗
∗
P
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Debut
Tant que qu’il existe un coefficient strictement positif
dans la fonction objectif faire
debut
choisir la variable entrante dans la base : c’est la variable
associée au plus grand coefficit ce > 0.
Si tous les aie ≤ 0 (les valeurs dans la colonne de la
variable entrante) STOP
le problème est non borné( max z = +∞)
Sinon
Choisir la variable sortante xs telle que
bs bi
ase = min{ aie , aie > 0, i = 1, · · · , m}
Pivotage
Fin début
Fin Tant que
Si tous les ci ≤ 0, la solution optimale est trouvée.
Fin début
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
L1 s1 0 4 2 1 0 0 12 3
5
← L2 s2 0 4 1 0 1 0 10 2
L3 s3 0 1 1 0 0 1 4 4
Lz z −1 5 3 0 0 0 0
On applique la technique de pivotage et on obtient le second
tableau du simplexe
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
L1 s1 0 0 1 1 −1 0 2 2?
1 1 5
L2 x1 0 1 4 0 4 1 2 10
3 −1 3
L3 s3 0 0 4 0 4 1 2 2?
7 −5 −25
Lz z −1 0 4 0 4 0 2
Il y a une seule variable condidate pour entrer en base : x2
Les variables condidates de sortir de la base sont s1 et s3 : choisir
comme variable sortante celle de plus petit indice, ici c’est s1 ( La
règle de Bland )
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Ligne VB z x1 x2 s1 ↓ s2 s3 bi θi
L1 x2 0 0 1 1 −1 0 2 −
−1 1
L2 x1 0 1 0 4 2 0 2 4
−3 1
← L3 s3 0 0 0 4 2 1 0 0
−7 1
Lz z −1 0 0 4 2 0 −16
Il y a une seule variable condidate pour entrer en base : s2
La variable condidate de sortir de la base est s3
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Ligne VB z x1 x2 s1 s2 s3 bi
−1
L1 x2 0 0 1 2 0 2 2
1
L2 x1 0 1 0 2 0 −1 2
−3
L3 s3 0 0 0 2 1 2 0
Lz z −1 0 0 −1 0 −1 −16
On remarque que tous les nombres de la ligne Lz sont négatifs ou
nuls. La solution optimale est donc trouvée et donnée par
(x1 , x2 ) = (2, 2) et la valeur maximale de la fonction objectif est
max z = 16.
En pratique, les dégénérescences et, plus encore, le cyclage, sont
des phénomènes rares
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Début
Mettre les contraintes sous forme d’égalités ;
Rendre positif le second membre des contraintes ;
Introduire les variables artificielles ai dans les contraintes :
Xn
aij xj + ai = bi , xj , ai ≥ 0
j=1
m
X
Sous ces contraintes, résoudre le PL auxiliaire : max(z) = − ai
i=1
Si pour tout i ∈ {1, ..., m}, ai = 0 ⇔ max z = 0
Alors Résoudre le PL initial en prenant comme solution de base
de départ la solution obtenue à l’issue de la première phase
Sinon Il n’y a pas de solution rélisable
Fin.
À la fin de la phase I :
1 si la valeur optimale max z de la fonction économique est
négative (i.e., max z < 0), alors le problème original n’est pas
réalisable
2 si la valeur optimale max z de la fonction économique est
nulle i.e., le problème original est réalisable. Dans ce cas, la
résolution du problème original avec l’algorithme du simplexe
se poursuit en utilisant l’information du dernier tableau de la
phase I.
La phase II reprendra l’objectif original. Le tableau de la phase II
s’obtient en modifiant le dernier tableau de la phase I de la façon
suivante :
On raye les variables artificielles ;
On exprime la fonction-objectif z en fonction des variables
hors base du dernier tableau de la phase I, en excluant les
variables artificielles
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
max
z = 5x1 + 7x2
x1 + x2 − s1
= 6
x1 + − s2 = 4
s.c
x 2 + s 3 = 3
x1 , x2 , s1 , s2 , s3 ≥ 0
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Première phase :
Le premier tableau du phase I :
Ligne VB z x1 ↓ x2 s1 s2 s3 a1 a2 bi
L1 a1 0 1 1 −1 0 0 1 0 6
← L2 a2 0 (1) 0 0 −1 0 0 1 4
L3 s3 0 0 1 0 0 1 0 0 3
Lz z −1 2 1 −1 −1 0 0 0 10
x1 entre en base et a2 sort de la base, on élimine a2 du problème.
On applique la technique de pivotage et on obtient le second
tableau du phase I
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
← L1 a1 0 0 (1) −1 1 0 1 2
L2 x1 0 1 0 0 −1 0 0 4
L3 s3 0 0 1 0 0 1 0 3
Lz z −1 0 1 −1 1 0 0 2
a1 sort et x2 entre en base, on élimine a1 .
On applique la technique de pivotage et on obtient le troisième
tableau du phase I.
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Ligne VB z x1 x2 s1 s2 s3 bi
L1 x2 0 0 1 −1 1 0 2
L2 x1 0 1 0 0 −1 0 4
L3 s3 0 0 0 1 −1 1 1
Lz z −1 0 0 0 0 0 0
la première phase est achevée puisque ci = 0, i = 1, · · · , 5.
Une solution de base réalisable est donc :
x = (x1 , x2 , s1 , s2 , s3 ) = (4, 2, 0, 0, 1).
Dans le dernier tableau, les deux variables ajoutées a1 et a2 sont
sorties de la base. Donc a1 = 0 et a2 = 0, ce qui était l’objectif. On
a donc trouvé un point de départ pour résoudre le problème original
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Deuxième phase :
Le PL se formule sous la forme équivalente suivante :
max z= 5x1 + 7x2
x 2 − s1 + s2 = 2
x1 − s2 = 4
s.c
s 1 − s 2 + s3 = 1
x1 , x2 , s1 , s2 , s3 ≥ 0
Ligne VB z x1 x2 s1 ↓ s2 s3 bi
L1 x2 0 0 1 −1 1 0 2
L2 x1 0 1 0 0 −1 0 4
L3 s3 0 0 0 (1) −1 1 1
Lz z −1 0 0 7 −2 0 −34
s1 entre en base et s3 sort de base.
La méthode du simplexe Les problèmes à solution dégénérée Les deux phases du simplexe
Ligne VB z x1 x2 s1 s2 s3 bi
L1 x2 0 0 1 0 0 1 3
L2 x1 0 1 0 0 −1 0 4
L3 s1 0 0 0 1 −1 1 1
Lz z −1 0 0 0 5 −7 −41
Conclusion :La colonne de s2 ne comporte que des nombres ≤ 0, le
problème est donc non borné