You are on page 1of 49

Algorithme du Simplexe

1. Matrices et vecteurs
2. Systèmes d’égalités linéaires
3. Systèmes d’inégalités linéaires
4. Algorithme du simplexe

1 © K. Jabeur 2008
Matrices et vecteurs : Définitions

• Matrice: tableau rectangulaire, ordonné, de nombres réels

 a11 a12 a1n 


a  0 −2 
a2 n  5 3.3 7 
G =  1 0
a22
A =  21  F = 
   2 8.5 1   
   3 5 
 a m1 am 2 amn 

•Dimensions: A : m  n  A a m lignes, n colonnes, mn éléments.


F : 23 G : 3 2
• Éléments: Aij est l'élément (nombre) en ligne i et colonne j

F12 = 3.3 G21 = 1 F31 n'existe pas

2 © K. Jabeur 2008
• Transposée : soit A : m  n. Sa transposée est une matrice A : n  m
telle que: ( A)ij = Aji  i = 1, , n, j = 1, ,m
 5 2 
5 3.3 7 
F =  F  = 3.3 8.5 
 2 8.5 1   
 7 1 
• Matrices particulières
0 0
Matrice nulle (m  n): 0 =  
 
0 0 

Matrice carrée: de dimension k  k (# lignes = # colonnes)

1 0
Matrice identité : matrice carrée I =    I ii = 1 i
   I ij = 0 i  j
 0 1 
3 © K. Jabeur 2008
• Vecteur: matrice formée d’une ligne (vecteur-ligne) ou d’une
colonne (vecteur-colonne)

a = ( 2 5 −1) a3 = −1

Vecteur de variables: x = ( x1 x2 xn )

1  0
Vecteur unitaire: un "1" et des "0"  0  ,  0  , ( 0 0 1)
0 1
 0  0
Vecteur nul: ( 0 0)

x = 0  x1 = 0, x2 = 0, , xn = 0 (n égalités)

4 © K. Jabeur 2008
•Produit scalaire de 2 vecteurs
Si x est un vecteur ligne de dimension 1xn, y un vecteur colonne de
dimension nx1, leur produit scalaire est:
x  y =  i =1 xi yi
n

5
8 
1 0 2 −1    = 1 5 + 0  8 + 2  1 + (−1)  2 = 5
1 
 
2

5 © K. Jabeur 2008
a11 x1 + a12 x2 + + a1n xn = b1
a x + a x + + a2 n xn = b2
 21 1 22 2
  Ax = b
 a x +a x + + amn xn = bm
 m1 1 m 2 2

a11
a12 
a1 n  x1 
a a a  x 
avec A =  21 22
 ( m  n),
2n
x =  2  ( n  1)
   
a  x 
m1
am2
a 
mn  n
 b1 
b 
et b =  2  ( m  1)
 
b 
 m

6 © K. Jabeur 2008
Systèmes d’égalités linéaires
• Un système de m égalités linéaires en n variables est de la forme
Ax = b
où A (mxn) est une matrice de coefficients,
x (nx1) est un vecteur de variables,
b (mx1) un vecteur de cotés droits.
• Une solution du système est un choix de valeurs pour
x = (x1, x2,…,xn)’ satisfaisant simultanément les m égalités.
• Opérations permises (ne modifiant pas l’ensemble des
solutions):
– permuter des équations
– multiplier une équation par un nombre non nul
– ajouter une équation à une autre
– et toute combinaison des opérations précédentes (e.g.
retrancher k fois une équation d’une autre).

7 © K. Jabeur 2008
Exemple 1
3x1 + 2 x2 = 4 3 2 4 1 0 ? 
 7 5 6  →  
7 x1 + 5 x2 = 6    0 1 ? 
3x1 + 2 x2 = 4 3 2 4 1 ? ?  NL1 = AL1/3
 7 5 6  →  
7 x1 + 5 x2 = 6    7 5 6 
 x1 + 23 x2 = 43 1 2 4 1 2 4
 7
3 3
 →  3 3

7 x1 + 5 x2 = 6  5 6 0 ? ? NL2 = AL2 − 7L1
 x1 + 23 x2 = 4 1 2 4 
1 23 4
 1x =
3
−10 
3 3
−10 
→  3

NL2 = 3  AL2
1
 3 2 3 0 3 3  0 1 ?

 x1 + 23 x2 = 43 1 23 4 
1 0 ?  NL1 = AL1 − (2/3)L2
  → 0 1 −10 
3
0
 x2 = −10  1 −10   
 x1 = 8 1 0 8 
 0 1 −10 
 x2 = −10  
8
© K. Jabeur 2008
Exemple 2

 3x1 + 2 x2 + x3 = 4  x1 = ?
 → 
7 x1 + 5 x2 + 4 x3 = 6  x2 = ?
3 2 1 4 1 ? ? ?  1) NL1 = AL1/3
7 5 4 6  → 0 ? ? ?
    2) NL2 = AL2 − 7NL1
1 2 1 4 
1 0 ? ?  2) NL1 = AL1 − (2/3)NL2

3 3 3
−10 
→ 0 1 ? ?
0
1
3
5
3 3    1) NL2 = 3  AL2

1 0 −3 8   x1 = 8 + 3 x3
0 1 5 −10  
   x2 = −10 − 5 x3

9 © K. Jabeur 2008
Définitions

• Le système est sous forme canonique lorsque, par des


opérations permises, on a obtenu le plus grand nombre
possible de vecteurs unitaires distincts dans les
colonnes de coefficients.

• Dans une forme canonique,


– Les variables de base sont celles associées à des vecteurs
unitaires (distincts). La base est l’ensemble des variables de
base.
– Les variables hors base sont les autres variables.

10 © K. Jabeur 2008
• Une forme canonique exprime les variables de base (dépendantes)
comme des fonctions des variables hors base (indépendantes).
 x1 = 8 + 3x3
Exemple: 
 x2 = −10 − 5 x3
• On a
– une solution générale lorsqu’on laisse les variables hors base à l’état
de variables;
– une solution de base lorsqu’on choisit la valeur 0 pour toutes les
variables hors base.

Solution Solution
générale de base
 x1   8 + 3 x3   8 
x =  x2   −10 − 5 x   −10 
   3  
x     0 
 3  x3   

11 © K. Jabeur 2008
Exemple 2 (suite)
Trouver toutes les solutions de base du système précédent.
1 0 −3 8  ? 0 1 ?  1) NL1 = AL1/(−3)
0 1 5 −10  → ? 1 0 ?  2) NL2 = AL2 − 5NL1
   
 − 13 0 1 − 83  0 ? 1 ? 2) NL1 = AL1 + (1/3)NL2
 5 10 
→ 1 ? 0 ? 
 3 1 0 3    1) NL2 = (3/5)  AL2

0 1
5
1 −2 
 3 
1 5
0 2
Solution générale Solution de base
Base
( x1 , x2 , x3 ) ( x1 , x2 , x3 )
 x1 , x2  ( 8 + 3x3 , − 10 − 5 x3 , x3 ) (8, − 10, 0 )
 x2 , x3 ( x1 , 103 − 53 x1 , − 83 + 13 x1 ) ( 0, 103 , − 83 )
 x1 , x3 ( 2 − 53 x2 , x2 , − 2 − 15 x2 ) ( 2, 0, − 2 )
12 © K. Jabeur 2008
Trouver une forme canonique: mécanique
de calcul
Exemple 2: Tableau de départ Tableau visé
 3 2 1 4 1 0 ? ? 
7 5 4 6  0 1 ? ? 
   

1er pivot: Départ But


1 ? ? ? Étape 1: identifier l’élément « pivot »
 3 2 1 4
0 ? = celui qui deviendra le « 1 » du
7 5 4 6 
   ? ?  vecteur unitaire dans le prochain
tableau (il ne peut pas être nul)
1 23 13 43  NL1 = AL1/3 Étape 2: diviser la ligne du pivot
7 5 4 6  par le pivot
 

13 © K. Jabeur 2008
Étape 3: dans toutes les autres
1 2
3
1
3
4 
3 lignes, ajouter ou retrancher des
 1 5 −10  NL2 = AL2 − 7NL1 multiples de la ligne du pivot qu’il
0 3 3 3 
faut pour obtenir les zéros du
vecteur unitaire
2ième pivot: Départ But
Étape 1: identifier l’élément « pivot » =
1 2 1 4 
1 0 ? ? 

3
1
3
5
3
−10  0 1 ? ?  celui qui deviendra le « 1 » du vecteur
0 3 3 3    unitaire dans le prochain tableau
1 23 13 4 
3 Étape 2: diviser la ligne du pivot
0 1 5 −10 par le pivot
  NL2 = 3  AL2

Étape 3: dans toutes les autres


1 0 −3 8  NL1 = AL1 − (2/3)NL2
0 1 5 −10 lignes, ajouter ou retrancher les
  multiples de la ligne du pivot qu’il
faut pour obtenir les zéros du
 x1 = 8 + 3x3 vecteur unitaire
Finito ! 
 x2 = −10 − 5 x3
14 © K. Jabeur 2008
Exercice

Soit le système d'équations:

− x1 + 5 x2 + x3 − 2 x4 + x5 = 7

 3x1 − x2 + x3 + 2 x4 − x5 = 9
2 x − 3x − x + 3x + 2 x = 4
 1 2 3 4 5

1 - Trouver une solution générale ayant pour base  x3 , x4 , x5 


2- Trouver, par pivots successifs, toutes les solutions de base

15 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4

16 © K. Jabeur 2008
Exercice
Base x1 x2 x3 pivot x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4

x3 ? ? 1 ? ? ?
− ? ? 0 ? ? ?
− ? ? 0 ? ? ?

17 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4

−1 5 1 −2 1 7 NL1 = AL1
− ? ? 0 ? ? ?
− ? ? 0 ? ? ?

18 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4

x3 −1 5 1 −2 1 7
− 4 −6 0 4 −2 2 NL2 = AL2 − NL1
− 1 2 0 1 3 11 NL3 = AL3 + NL1

Remarque: toutes ces opérations sont faites sur des lignes entières

19 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4
pivot
x3 −1 5 1 −2 1 7
− 4 −6 0 4 −2 2
− 1 2 0 1 3 11

x3 ? ? 1 0 ? ?
x4 ? ? 0 1 ? ?
− ? ? 0 0 ? ?

20 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4

x3 −1 5 1 −2 1 7
− 4 −6 0 4 −2 2
− 1 2 0 1 3 11

x3 ? ? 1 0 ? ?
1 −3/2 0 1 −1/2 1/2 NL2 = AL2 / 4
− ? ? 0 0 ? ?

21 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4

x3 −1 5 1 −2 1 7
− 4 −6 0 4 −2 2
− 1 2 0 1 3 11

x3 1 2 1 0 0 8 NL1 = AL1 + 2NL2


x4 1 −3/2 0 1 −1/2 1/2
− 0 7/2 0 0 7/2 21/2 NL3 = AL3 − NL2

22 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4

x3 −1 5 1 −2 1 7
− 4 −6 0 4 −2 2
− 1 2 0 1 3 11

x3 1 2 1 0 0 pivot 8
x4 1 −3/2 0 1 −1/2 1/2
− 0 7/2 0 0 7/2 21/2

x3 ? ? 1 0 0 ?
x4 ? ? 0 1 0 ?
x5 ? ? 0 0 1 ?

23 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4

x3 −1 5 1 −2 1 7
− 4 −6 0 4 −2 2
− 1 2 0 1 3 11

x3 1 2 1 0 0 8
x4 1 −3/2 0 1 −1/2 1/2
− 0 7/2 0 0 7/2 21/2

x3 ? ? 1 0 0 ?
x4 ? ? 0 1 0 ?
− 0 1 0 0 1 3 NL3 = AL3 / (7/2)

24 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

− −1 5 1 −2 1 7
− 3 −1 1 2 −1 9
− 2 −3 −1 3 2 4

x3 −1 5 1 −2 1 7
− 4 −6 0 4 −2 2
− 1 2 0 1 3 11

x3 1 2 1 0 0 8
x4 1 −3/2 0 1 −1/2 1/2
− 0 7/2 0 0 7/2 21/2

x3 1 2 1 0 0 8 NL1 = AL1
x4 1 −1 0 1 0 2 NL2 = AL2 + (1/2)NL3
x5 0 1 0 0 1 3

25 © K. Jabeur 2008
Exercice
Base x1 x2 x3 x4 x5 CD

x3 1 2 1 0 0 8
x4 1 −1 0 1 0 2
x5 0 1 0 0 1 3

 x3 = 8 − x1 − 2 x2

Solution générale:  x4 = 2 − x1 + x2
x = 3 − x
 5 2

26 © K. Jabeur 2008
FORME CANONIQUE SOLUTION DE BASE
Base x1 x2 x3 x4 x5 CD ( x1, x2, x3, x4, x5 )
x3 1 2 1 0 0 8
x4 1 -1 0 1 0 2 ( 0, 0, 8, 2, 3 ) (A)
x5 0 1 0 0 1 3
x3 3 0 1 2 0 12
x2 -1 1 0 -1 0 -2 ( 0, -2, 12, 0, 5 ) (B)
x5 1 0 0 1 1 5
x3 0 3 1 -1 0 6
x1 1 -1 0 1 0 2 ( 2, 0, 6, 0, 3 ) (C)
x5 0 1 0 0 1 3
x4 0 -3 -1 1 0 -6
x1 1 2 1 0 0 8 ( 8, 0, 0, -6, 3 ) (D)
x5 0 1 0 0 1 3
x2 0 1 1/3 -1/3 0 2
x1 1 0 1/3 2/3 0 4 ( 4, 2, 0, 0, 1 ) (E)
x5 0 0 -1/3 1/3 1 1

27 © K. Jabeur 2008
Définitions
• Deux bases sont voisines si elles ne diffèrent que par une
variable.
• Pour passer d’une base à une base voisine, on effectue. un
pivot L’élément pivot est celui qui se trouve dans la ligne de la
variable qui sortira de la base et dans la colonne de la variable
qui entrera dans la base (cet élément deviendra un « 1 » dans la
prochaine forme canonique).

28 © K. Jabeur 2008
Supposons qu'on veuille passer de la base  a  à la base voisine  b 
(où la variable b remplacera la variable a dans la base).
Forme canonique variable hors base b
( colonne j )
de départ: 
q1
pivot
variable de base a ( ligne i ) → p ( p  0)
qm
q1
Étape 1:
NLi = ALi / p
1

qm

Étape 2: Pour toute 0


autre ligne k  i :
NLk = ALk − qk  NLi 1

0
29 © K. Jabeur 2008
FORME CANONIQUE SOLUTION DE BASE
Base x1 x2 x3 x4 x5 CD ( x1, x2, x3, x4, x5 )
x3 1 2 1 0 0 8
x4 1 -1 0 1 0 2 ( 0, 0, 8, 2, 3 ) (A)
x5 0 1 0 0 1 3
x3 3 0 1 2 0 12
x2 -1 1 0 -1 0 -2 ( 0, -2, 12, 0, 5 ) (B)
x5 1 0 0 1 1 5
x3 0 3 1 -1 0 6
x1 1 -1 0 1 0 2 ( 2, 0, 6, 0, 3 ) (C)
x5 0 1 0 0 1 3
x4 0 -3 -1 1 0 -6
x1 1 2 1 0 0 8 ( 8, 0, 0, -6, 3 ) (D)
x5 0 1 0 0 1 3
x2 0 1 1/3 -1/3 0 2
x1 1 0 1/3 2/3 0 4 ( 4, 2, 0, 0, 1 ) (E)
x5 0 0 -1/3 1/3 1 1
30 © K. Jabeur 2008
FORME CANONIQUE SOLUTION DE BASE
x2 0 1 0 0 1 3
x1 1 0 0 1 1 5 ( 5, 3,-3, 0, 0 ) (F)
x3 0 0 1 -1 -3 -3
x2 0 1 0 0 1 3
x1 1 0 1 0 -2 2 ( 2, 3, 0, 3, 0 ) (G)
x4 0 0 -1 1 3 3
x2 1/2 1 1/2 0 0 4
x5 -1/2 0 -1/2 0 1 -1 ( 0, 4, 0, 6, -1 ) (H)
x4 3/2 0 1/2 1 0 6
x2 0 1 0 0 1 3
x3 1 0 1 0 -2 2 ( 0, 3, 2, 5, 0 ) (I)
x4 1 0 0 1 1 5

31 © K. Jabeur 2008
Systèmes d’inégalités linéaires
• Un système de m inégalités linéaires en n variables est de la forme
Ax  b , où A (mxn) est une matrice de coefficients, x (nx1) est un
vecteur de variables, b (mx1) un vecteur de cotés droits.

• Une solution réalisable du système est un choix de valeurs pour


x = (x1, x2,…,xn)’ satisfaisant simultanément les m inégalités. Le
domaine réalisable est l’ensemble des solutions réalisables.
• Opérations permises (ne modifiant pas le domaine réalisable):
– permuter des inégalités
– multiplier une inégalité par un nombre strictement positif
– multiplier une inégalité par un nombre strictement négatif en
changeant le sens de l’inégalité
– PAS ajouter ou retrancher une inégalité à une autre !

32 © K. Jabeur 2008
Forme standard d’égalité
• On appelle forme standard d’égalité un système d’égalités linéaires et
de restrictions de signe:
 Ax = b
 (A : m  n, x : n  1, un ensemble d'indices)
 x j  0 j 
• Une solution du système est un choix de valeurs pour x = (x1, x2,…, xn)’
satisfaisant simultanément les m égalités. Par suite, les définitions de
solution générale, solution particulière, et solution de base restent
inchangées

• Toute solution (satisfaisant les égalités) est dite réalisable si de plus elle
satisfait aussi les restrictions de signe. Le domaine réalisable est l’ensemble
des solutions réalisables.
• Tout système d’inégalités peut se réécrire facilement sous forme
standard d’égalité.
33 © K. Jabeur 2008
Exemple
 3 x1 − x2 + x3 + s1 = 2
 3 x1 − x2 + x3  2 
   x1 + 2 x2 − x3 − s2 = 5
 x1 + 2 x2 − x3  5  s1 , s2  0

Posons: s1 = 2 − 3 x1 + x2 − x3
L'inégalité 3 x1 − x2 + x3  2 est vérifiée si et seulement si s1  0.
Elle est donc équivalente a:
3 x1 − x2 + x3 + s1 = 2

 s1  0
Posons: s2 = x1 + 2 x2 − x3 − 5
L'inégalité x1 + 2 x2 − x3  5 est vérifiée si et seulement si s2  0.
Elle est donc équivalente a:
 x1 + 2 x2 − x3 − s2 = 5 s1 et s2 sont des variables d’écart.

 s2  0
34 © K. Jabeur 2008
Coûts réduits
Définition: on a des coûts réduits lorsque la fonction objectif
est exprimée uniquement en termes des variables hors base
(lorsque les coefficients des variables de base sont annulés).

Les coûts réduits indiquent l’effet net des variables hors base sur
l’objectif. Sans coûts réduits, on ne peut pas connaître ces effets.

35 © K. Jabeur 2008
Algorithme du simplexe
• Qu’est-ce que c’est ?
– Algorithme = règle/procédure de calcul
– Méthode de résolution très répandue
– Méthode itérative
• Principes généraux
1. Examiner des points extrêmes…
– Point extrême = solution de base réalisable
– Pas tous les points extrêmes …
2. … De voisin en voisin …

36 © K. Jabeur 2008
Forme d’un programme linéaire pour
l’algorithme du Simplexe
Max/Min Z = cx c : 1 n
S.l.c.: Ax = b A: m n b : m 1
x0 x : n 1

1. Côtés droits b  0
2. Forme standard d’égalité
3. Toutes les variables ont une restriction de signe
4. On a une forme canonique dans Ax = b
 on a une solution de base réalisable de départ.
5. Coûts réduits

37 © K. Jabeur 2008
Exemple 1
Max Z = 2 x1 + 3 x2 Max Z = 2 x1 + 3 x2
S.l.c.: x1 + 2 x2  8 S.l.c.: x1 + 2 x2 + s1 = 8
x1 − x2  2 x1 − x2 + s2 = 2
x2  3 x2 + s3 = 3
x1 , x2  0 x1 , x2 , s1 , s2 , s3  0
(1) Coté droit est positif (2) Forme standard d’égalité

(3) Toutes les variables ont une


restriction de signe (4) Forme canonique dans Ax = b

(5) Coûts réduits

38 © K. Jabeur 2008
Exemple 1
Base x1 x2 s1 s2 s3 CD
s1 1 2 1 0 0 8
s2 1 -1 0 1 0 2
s3 0 1 0 0 1 3
Z -2 -3 0 0 0 0

coûts réduits Z − 2 x1 − 3x2 = 0

Contraintes implicites: x1 , x2 , s1 , s2 , s3  0
 x1   0 
 x2   0 
On a une solution de base de départ A :  x3  =  8  qui est réalisable
 x   2
 4  
 x5   3 
À ce point, on ne peut pas diminuer x1 ni x2; on peut les augmenter.
39 © K. Jabeur 2008
Choix d’une direction d’amélioration
• Partant d’une solution de base réalisable, une direction d’amélioration est un
déplacement extrême qui améliore l’objectif.
• On n’augmentera donc qu’une des variables hors base, les autres étant
maintenues à 0.
• Quelle variable hors base augmenter ?
Règle intuitive (pas nécessairement la plus efficace, mais elle
fonctionne): la variable qui produit le meilleur taux d’amélioration
par unité sur l’objectif, tel qu’exprimé par son coût réduit.

• Dans notre exemple, on part de la solution de base actuelle (A). Ici,


améliorer Z = l’augmenter.

Max Z = 2 x1 + 3x2

plus grand taux d’augmentation:


augmenter x2, garder x1 = 0
40 © K. Jabeur 2008
Jusqu’où aller dans cette direction
d’amélioration ?
x1 x2 s1 s2 s3 Ratio
s1 1 2 1 0 0 8 8/2 = 4
s2 1 -1 0 1 0 2 ⎯
s3 0 1 0 0 1 3 3/1 = 3
Z -2 -3 0 0 0 0
La plus grande valeur que peut prendre x2 est le ratio minimum (3).
Lorsque x2 = 3, s3 = 0 et on obtient une nouvelle solution de base réalisable,
la solution B:
 x1 = 0  x1   0   x1   0 
 x2 = 3  x2   3   x2   0 

 s1 = 8 − 2 x2   s1  =  2  ( B)  s  =  8  (A)
 s2 = 2 + x2  s  5  s1   2 
 s3 = 3 − x2  2    2  
 s3   0   s3   3 
Base:  x2 , s1 , s2  Base: s1 , s2 , s3
Bases
voisines
41 © K. Jabeur 2008
Changement de base
x1 x2 s1 s2 s3
s1 1 2 1 0 0 8 Solution
s2 1 -1 0 1 0 2 A
s3 0 1 0 0 1 3
Z -2 -3 0 0 0 0

La variable qui rentre dans la base est la variable hors base (x2) qu’on a
décidé d’augmenter au vu de son coût réduit.

La variable qui sort de la base est celle qui est rendue nulle par
l’augmentation de la variable qui rentre dans la base, i.e. celle qui se
trouve dans la ligne du ratio minimum.
On calcule la forme canonique correspondant à la nouvelle base. L’élément
pivot est celui qui se trouve dans la colonne de la variable qui rentre dans la
base et dans la ligne de la variable qui sort de la base.
On met à jour les coûts réduits.
42 © K. Jabeur 2008
Itérations…
x1 x2 s1 s2 s3 Ratio bi/ai (ai > 0)
s1 1 0 1 0 -2 2 2/1 = 2
Solution
B s2 1 0 0 1 1 5 5/1 = 5
x2 0 1 0 0 1 3 ⎯
Z -2 0 0 0 3 9

x1 x2 s1 s2 s3 Ratio
x1 1 0 1 0 -2 2 ⎯
Solution
C s2 0 0 -1 1 3 3 3/3 = 1
x2 0 1 0 0 1 3 3/1 = 3
Z 0 0 2 0 -1 13

43 © K. Jabeur 2008
x1 x2 s1 s2 s3
x1 1 0 1/3 2/3 0 4
Solution
s3 0 0 -1/3 1/3 1 1
D
x2 0 1 1/3 -1/3 0 2
Z 0 0 5/3 1/3 0 14
5 1
Z = 14 − s1 − s2 Coûts réduits  0
3 3
Solution optimale:
 x1   4 
 x2   2 
 s  = 0 (E) Z = 14
 s1   0 
 2  
 s3  1 

44 © K. Jabeur 2008
Exemple 2
Min Z = 2 x1 − 4 x2
S.l.c.: x1 − x2  3
− x1 + 2 x2  4
x1 , x2  0
Conditions à respecter:
•Côtés droits b  0
•Forme standard d’égalité
•Toutes les variables ont une restriction de signe
•On a une forme canonique
on a une solution de base réalisable de départ.
•Coûts réduits

 x1 − x2  3  x1 − x2 + s1 = 3
 

 1 x + 2 x2  4  − x1 + 2 x2 + s2 = 4
x , x  0 x , x , s , s  0
 1 2  1 2 1 2
45 © K. Jabeur 2008
x1 x2 s1 s2 Ratios
s1 1 -1 1 0 3 ⎯
s2 -1 2 0 1 4 4/2 = 2
Z -2 4 0 0 0

 x1   0 
 x  0
Base: s1 , s2  Solution de base:  2  =  
 s1   3 
   
Min Z = 2 x1 − 4 x2  s2   4 
Solution de base:
x1 x2 s1 s2
 x1   0 
s1 1/2 0 1 1/2 5  x   2
x2 -1/2 1 0 1/2 2  2= 
Z 0 0 0 -2 -8  s1   5 
   
 s2   0 
Min Z = −8 + 0 x1 + 2s2 coûts réduits  0: solution optimale
46 © K. Jabeur 2008
x1 x2 s1 s2 Ratios
s1 1/2 0 1 1/2 5 5/(1/2) = 10
x2 -1/2 1 0 1/2 2 ⎯
Z 0 0 0 -2 -8
Si on augmente la variable hors base x1,
Min Z = −8 + 0 x1 + 2s2
Z reste inchangée. Faisons-le pour voir …
x1 x2 s1 s2 Solution de base:
x1 1 0 2 1 10  x1  10 
 x2   7 
x2 0 1 1 1 7  s = 0 
Z 0 0 0 -2 -8  s1   0 
 2  
également optimale
Tous les points intermédiaires, de la forme (somme pondérée):
 x1  0 10 
 x2   2 7
s = p   + (1 − p )  
5 0
avec 0  p  1 sont également optimaux
 s1  0 0
 2    
47 © K. Jabeur 2008
Exemple 3
Min Z = 3 x1 − x2
S.l.c.: x1 − 2 x2  4
3 x1 − x2  6
x1 , x2  0
Solution de base:
x1 x2 s1 s2  xRatios
1  0
s1 1 -2 1 0 4 x ⎯  0
s2 3 -1 0 1 6  2⎯  =  , Z = 0
Z -3 1 0 0 0  s1   4 
   
 s2   6 
Max x2 Solution sans borne, de la forme:
S.l.c.: −2 x2  4  x1   0 
− x2  6 x   x 
 2= 2  Z = − x2
 s1   4 + 2 x2 
   
 2 
s 6 + x2 
48 © K. Jabeur 2008
Forme initiale
Algorithme
du simplexe,
Tableau :
version 1.0
− Solution de base réalisable
− Coûts réduits

Amélioration possible ?
Coût réduit Non
< 0 (maximisation)
> 0 (minimisation)
Solution optimale
Oui
Choix de la variable entrant dans la base :
− plus petit coût réduit (max)
− plus grand coût réduit (min)
(→ colonne j)

Aucun
Coefficients > 0 en colonne j ?

Au moins un Solution
sans borne
Choix de la variable sortant de la base :
− plus petit ratio : (côté droit) / (coef. > 0)
(→ ligne i)

Changement
49 de base : © P. Lang H2006
pivot (ligne i, colonne j)

You might also like