Académique Documents
Professionnel Documents
Culture Documents
RECHERCHE OPÉRATIONNELLE
M. AZZOUZI IDRISSI
RO_usmba_2020_2021_simplexe 2
Introduction
RO_usmba_2020_2021_simplexe 3
Bases et points extrêmes
Rappels
• A matrice m * n
max z = cx
• x = (x1 , x2 . . . . xn)
s.c. x b
• b = (b1 , b2 . . . . bm)
x 0
• c = (c1 , c2 . . . . . cn)
RO_usmba_2020_2021_simplexe 4
RO_usmba_2020_2021_simplexe 5
Mise sous forme standard
Max z 4x 5x
1 2
s.c. 2x x s 8
1 2 1
x 2x s 7
1 2 2
x s 3
2 3
x , x , s , s , s 0
1 2 1 2 3
RO_usmba_2020_2021_simplexe 6
Mise sous forme standard
RO_usmba_2020_2021_simplexe 7
Mise sous forme standard
s.c. 2x1 + x2 + s1 =8
x1 + 2x2 + s2 =7
x2 + s3 =3
x1 ; x2 ; s1 ; s2 ; s3 0
A x1 = 0, x2 = 3, s1 = 5, s2 = 1, s3 = 0 x2 , s1, s2 x1 , s3
B x1 = 4, x2 = 0, s1 = 0, s2 = 3, s3 = 3 x1, s2 , s3 x2 , s1
C x1 = 3, x2 = 2, s1 = 0, s2 = 0, s3 = 1 x1, x2 , s3 s1, s2
D x1 = 1, x2 = 3, s1 = 3, s2 = 0, s3 = 0 x1, x2 , s1 s2 , s3
RO_usmba_2020_2021_simplexe 9
Forme algébrique
• Système linéaire A x = b
• Matrice A (m,n), rang A = m n
• Base de A : sous-matrice B(m, m) inversible
RO_usmba_2020_2021_simplexe 10
RO_usmba_2020_2021_simplexe 11
Forme algébrique
• on met les variables hors base à 0
• On en déduit la valeur des variables de base
• Ax = b, x0
• (xB, 0) associée à B est une solution de base admissible si xB0
• {points extrêmes du polyèdre } { solutions de base admissibles
du système linéaire correspondant}
• solution de base dégénérée : certaines variables de base sont nulles
• si A est inversible, la solution de base est unique.
RO_usmba_2020_2021_simplexe 12
Base voisine et pivotage
Deux sommets voisins correspondent à deux bases B et B’ tel qu'on
remplace une variable dans B pour obtenir B’
RO_usmba_2020_2021_simplexe 13
Base voisine et pivotage
Valeur max que pourra prendre y
•
•
•
(x, y, s1, s2, s3) = (0, 3, 5, 1, 0) la nouvelle base est : (s1, s2, y)
RO_usmba_2020_2021_simplexe 14
Algorithme du simplexe
RO_usmba_2020_2021_simplexe 15
Algorithme du simplexe
RO_usmba_2020_2021_simplexe 16
Algorithme du simplexe
Illustration 2D :
Max z 4x 5x
1 2
s.c. 2x x 8
1 2
x 2x 7
1 2
x 3
2
x , x 0
1 2
Z = 4x1 + 5x2
x = (3,2) , z = 22
∗ ∗
RO_usmba_2020_2021_simplexe 17
Algorithme du simplexe
1.Standardisation :
Maximiser z = 4x + 5y
RO_usmba_2020_2021_simplexe 18
Algorithme du simplexe
Illustration par un exemple :
RO_usmba_2020_2021_simplexe 19
Algorithme du simplexe
Maximisation
Observation essentielle : z = 4x + 5y = 0 on peut augmenter z si x
ou y rentre dans la base (Changement de base).
z = 4x + 5y = 15 + 4x -5s3
RO_usmba_2020_2021_simplexe 21
Algorithme du simplexe
Itération
z = 15 + 4x -5s3 peut encore augmenter si x entre dans la base.
Valeur maximale de x :
• s1 = 5 - 2x + s3 0 x 2.5
• s2 = 1 - x + 2 s 3 0 x 1
s3 = 3 - y 0 aucune contrainte sur x
𝟐 𝟑
RO_usmba_2020_2021_simplexe 22
Algorithme du simplexe
Itération (suite)
z = 19 - 4s2 +3s3 peut encore augmenter si s3 entre dans la base.
Valeur maximale de s3 :
• s1 = 3 + 2s2 - 3s3 0 s3 1
• x = 1 - s2 + 2s3 0 aucune contrainte sur s3
• y = 3 - s 3 0 s3 3
Bilan : s3max = 1 et s1 sort de la base :
𝟐 𝟏
RO_usmba_2020_2021_simplexe 23
Algorithme du simplexe
L’optimum
On a :
z = 22 - 2s2 - s1 z 22
Or la solution de base :
x = 3, y = 2, s3 = 1 donne z = 22
RO_usmba_2020_2021_simplexe 24
Algorithme du simplexe
La forme canonique
Soit le PL :
max z = 20x1 + 10x2
x1 + 2x2 120
x1 + x2 100
s.c. x1 70
x2 50
x1, x2 0
La forme standard
max z = 20x1 + 10x2
x1 + 2x2 + s1 = 120
s.c x1 + x2 + s2 = 100
x1 + s3 = 70
x2 + s4 = 50
z - 20x1 - 10x2 =0
RO_usmba_2020_2021_simplexe 25
Algorithme du simplexe
La forme tableau
Valeur de la
coefficients de la fonction
fonction
économique sous sa forme initiale
économique (*)
RO_usmba_2020_2021_simplexe 26
Algorithme du simplexe
La forme tableau
Toutes les variables
Coefficients de
la fonction A = (aij) bi
Variables Valeurs des
économique matrice des coefficients des
de base variables de
associés aux contraintes du programme
courante base courante
variables de standard
base courante
RO_usmba_2020_2021_simplexe 27
Algorithme du simplexe
La forme tableau
z x1 x2 s1 s2 s3 s4 bi bi/aie
s1 1 2 1 0 0 0 120
s2 1 1 0 1 0 0 100
s3 1 0 0 0 1 0 70
s4 0 1 0 0 0 1 50
z 20 10 0 0 0 0 0
RO_usmba_2020_2021_simplexe 28
Algorithme du simplexe
Principe heuristique
1) Faire entrer dans la base la variable ayant le coefficient le plus
grand (le plus grand apport > 0 ds Z) : x1. C’est la variable entrante
(aie).
z. x1 x2 s1 s2 s3 s4 bi bi/aie
s1 1 2 1 0 0 0 120
s2 1 1 0 1 0 0 100
s3 1 0 0 0 1 0 70
s4 0 1 0 0 0 1 50
z 20 10 0 0 0 0 0
z x1 x2 s1 s2 s3 s4 bi bi/aie
s1 1 2 1 0 0 0 120 120
s2 1 1 0 1 0 0 100 100
s3 1 0 0 0 1 0 70 70
s4 0 1 0 0 0 1 50
z 20 10 0 0 0 0 0
RO_usmba_2020_2021_simplexe 30
Algorithme du simplexe
Principe heuristique
3) L’élément ase à l’intersection de la colonne pivot (variable entrante)
et de la ligne pivot (variable sortante) est appelé pivot de la
transformation.
z x1 x2 s1 s2 s3 s4 bi bi/aie
s1 1 2 1 0 0 0 120 120
s2 1 1 0 1 0 0 100 100
s3 1 0 0 0 1 0 70 70
s4 0 1 0 0 0 1 50
z 20 10 0 0 0 0 0
RO_usmba_2020_2021_simplexe 31
Algorithme du simplexe
Principe heuristique
4) On divise la ligne pivot (variable sortante) par le pivot
7) Pour la ligne pivot, chaque fois que la ligne pivot rencontre une
colonne en zéro on recopie la colonne.
8) Pour la colonne pivot, chaque fois que la colonne pivot rencontre une
ligne en zéro on recopie la ligne.
RO_usmba_2020_2021_simplexe 32
Algorithme du simplexe
Principe heuristique
c . . . a
. .
. .
. .
. .
ligne
pivot
p . . b a a-bc/p
colonne
pivot
RO_usmba_2020_2021_simplexe 33
Algorithme du simplexe
1ère itération
z x1 x2 s1 s2 s3 s4 bi bi/aie
s1 0 2 1 0 -1 0 50
s2 0 1 0 1 -1 0 30
x1 1 0 0 0 1 0 70
s4 0 1 0 0 0 1 50
z 0 10 0 0 -20 0 -1400
x1, s1, s2, s4 en base et x2, s3 hors base et la solution de base devient :
(70, 0, 50, 30, 0, 50) et une valeur 1400 de la fonction économique
RO_usmba_2020_2021_simplexe 34
Algorithme du simplexe
2ème itération
x2 est la variable ayant le coefficient en z positif le plus élevé. Donc
x2 est la variable entrante.
Le rapport bi/aie minimum nous donne s1 variable sortante.
z x1 x2 S1 s2 s3 s4 bi bi/aie
s1 0 2 1 0 -1 0 50 25
s2 0 1 0 1 -1 0 30 30
x1 1 0 0 0 1 0 70
s4 0 1 0 0 0 1 50 50
z 0 10 0 0 -20 0 1400
RO_usmba_2020_2021_simplexe 35
Algorithme du simplexe
2ème itération
z x1 x2 s1 s2 s3 s4 bi
x2 0 1 1/2 0 -1/2 0 25
s2 0 0 -1/2 1 -1/2 0 5
x1 1 0 0 0 1 0 70
s4 0 0 -1/2 0 1/2 1 25
z 0 0 0 0 -20 0 -1650
x1, x2, s2, s4 en base et s1, s3 hors base et la solution de base devient:
(70, 25, 0, 5, 0, 25) et une valeur 1650 de la fonction économique.