Académique Documents
Professionnel Documents
Culture Documents
de
l’algorithme du simplexe
Forme standard
min z c1 x1 c2 x2 ... cn xn
Sujet à a11 x1 a12 x 2 ... a1n x n b1
a 21 x1 a 22 x 2 ... a 2 n x n b2
. . . .
. . . .
a m1 x1 a m 2 x 2 ... a mn x n bm
x1 , x 2 , ..., x n 0
min z
Sujet à
• Le système
x1 a 1m 1 x m 1 ... a 1s x s ... a 1n x n b1
x2 a 2 m 1 x m 1 ... a 2 s x s ... a 2 n x n b 2
. . . .
x r a rm1 x m 1 ... a rs x s ... a rn x n b r
. . . .
x m a mm 1 x m 1 ... a ms x s ... a mn x n b m
c m 1 x m 1 ... c s x s ... c n x n z z
Itération typique
–
Étape 1: Choix de la variable d’entrée
• En se référant à la dernière ligne du tableau, soit c s min c j
1 j 0
Variable d’entrée
Si c s ≥ 0, alors la solution
courante est optimale et
l’algorithme s’arrête
–
Étape 2: Choix de la variable de sortie
xi bi ais xs 0
Si a is 0 1 i m
le problème n’est pas Variable d’entrée
borné et l’algo. s’arrête
Si i tel que a is 0
alors la sol. demeure réalisable
i tel que a is 0
bi
x i b i a is x s 0 x s
a is
La variable d’entrée xs prend la valeur
–
br b i
xs min : a is 0
a rs 1 i m a is
Étape 2: Choix de la variable de sortie
Variable d’entrée
Variable de sortie
–
Étape 3: Pivot
L’élément de pivot a rs est à l’intersection de la
ligne de la variable d’entrée xs et de la colonne
de la variable de sortie xr
Variable d’entrée
a rs
Variable de sortie
a rs
–
Étape 3: Pivot
Divisons la ligne r par l’élément
de pivot a rs afin d’obtenir la
ligne r résultante
Variable d’entrée
a rs
Variable de sortie
1
a rs
–
Étape 3: Pivot
Divisons la ligne r par l’élément
de pivot a rs afin d’obtenir la
ligne r résultante
Variable d’entrée
a rs
Variable de sortie
1 ar m 1 arn br
1
ars ars ars ars
–
Étape 3: Pivot
Multiplions la ligne r résultante
par a is pour la soustraire de la
ligne i du tableau. Ceci ramène le
coefficient de la variable d’entrée xs à 0. Variable d’entrée
a rs
Variable de sortie
1 ar m1 arn br
1
ars ars ars ars
–
Étape 3: Pivot
Multiplions la ligne r résultante
par a is pour la soustraire de la
ligne i du tableau. Ceci ramène le
coefficient de la variable d’entrée xs à 0. Variable d’entrée
a rs
Variable de sortie
1 ar m1 arn br
1
ars ars ars ars
–
Étape 3: Pivot
Multiplions la ligne r résultante
par a is pour la soustraire de la
ligne i du tableau. Ceci ramène le
coefficient de la variable d’entrée xs à 0. Variable d’entrée
a rs
Variable de sortie
1 ar m1 arn br
1
ars ars ars ars
–
Étape 3: Pivot
Multiplions la ligne r résultante
par a is pour la soustraire de la
ligne i du tableau. Ceci ramène le
coefficient de la variable d’entrée xs à 0. Variable d’entrée
a rs
Variable de sortie
1 ar m1 arn br
1
ars ars ars ars
–
Tableau résultant
pour
amorcer la prochaine itération
–
Problèmes équivalents
u = 30 – 5x – 3y
p = 24 – 2x – 3y
h = 18 – 1x – 3y
z = 0 –8x – 6y
u = 30 – 5x – 3y
p = 24 – 2x – 3y
h = 18 – 1x – 3y
z = 0 –8x – 6y
La variable correspondante u
devient la variable de sortie
br b i
xs min : a is 0
a rs 1i m a is
u = 30 – 5x – 3y
p = 24 – 2x – 3y
h = 18 – 1x – 3y
z = 0 –8x – 6y
variable d’entrée
Ceci est équivalent à
(5x + 3y + u =30) / 5 => x + 3/5y + 1/5u =6
• variable de sortie
variable d’entrée
Ceci est équivalent à
(5x + 3y + u =30) / 5 => x + 3/5y + 1/5u =6
variable d’entrée
x 3 / 5 y 1/ 5u 6
Divisons cette ligne par 5
variable de sortie
variable d’entrée
x 3 / 5 y 1/ 5u 6
deuxième ligne
moins
2(la première ligne)
Le tableau devient
0 x 9 / 5 y 2 / 5u p 12
deuxième ligne
moins
2(la première ligne)
Le tableau devient
0 x 9 / 5 y 2 / 5u p 12
En répétant le processus pour les autres lignes du tableau
Méthode du simplexe – notation matricielle
Méthode du simplexe – notation matricielle
z c1 x1 c2 x2 ... cn xn
a11 x1 a12 x 2 ... a1n x n b1
peut aussi s’écrire
T
a 21 x1 a 22 x 2 ... a 2 n x n b2
min z c x
Sujet à Ax b . . . .
x0 . . . .
c, x R n , b R m a m1 x1 a m 2 x 2 ... a mn x n bm
A matrice m n
x1 , x 2 , ..., x n 0
Problème du restaurateur:
x y u p h min z 8 x 6 y
Sujaet à 5 x 3 y u 30
5 3 1 0 0
2x 3y p 24
A 2 3 0 1 0
1 3 0 0 1 1x 3 y h 18
x, y , u , p , h 0
c T 8, 6, 0, 0, 0
min z c T x
Sujet à Ax b
30 x0
b 24
18 c, x R 5 , b R 3
A matrice 3 5
Méthode du simplexe – notation matricielle
min z
Sujet à
• Une sous matrice B de A est une base de A si elle est mxm et non singulière
(i.e, B-1 existe)
• Pour faciliter la présentation, supposons que la base B que nous
considérons est composée des m premières colonnes de A, et ainsi
A B R
Dénotons également
xB c B
x c
xR c R
Bx B Rx R b
B 1 ( Bx B Rx R ) B 1b
B 1 Bx B B 1 Rx R B 1b
Ix B B 1 Rx R B 1b
• Ainsi
Ix B B 1 Rx R B 1b
En remplaçant xB par sa valeur
min z en fonction de xR dans l’équation
cBT cRT
c cB , cR cB , cR c B B B R c c B B A
T T T T T T 1 T T 1
Notion de multiplicateurs du simplexe
c T c T cBT B 1 A
c j c j T a j
min z min z
Sujet à Ax b Sujet à Ax b b
cT x z 0 c T x z 0
x0 x 0
min z min z
Sujet à Ax b Sujet à Ax b b
cT x z 0 c T x z 0
x0 x 0
m
z* i 1
i*bi
Sensitivité de la valeur optimale aux
modifications des termes de droite
z* c T* x * * cRT x R*
B B
c B T *1
(b b) Ainsi, i* indique la taux de variation
B* unitaire de la valeur optimale de la
c T* B*1b c T* B*1b fonction économique lorsque le terme
B B
z *T b
* de droite bi de la contrainte i est modifié
m d’une quantité bi choisie de telle
z* i 1
i* bi sorte que la base demeure réalisable
pour le nouveau problème.
Problème du restaurateur transformé en min
x 1 0 0 0 3
4 4 1
0
1
4 4
1 3 1 3
p 0 0 1 0 3 *T 8 0 6 1
3
0
1
4 4 4 4 2 2
1 5 1 5
y 0 1 0 0 3 12 0
12
12 12
3 1
z 0 0 0 1 54
2 2
z* z * *T b
b
3 1 1 3 1
54 0 b2 54 b1 0b2 b3
2 2 b 2 2
3
3
b1 0 b1 0 z* z*
2
Méthode de résolution graphique
min z = –8x – 6y
Sujet à
5x + 3y ≤ 30
2x + 3y ≤ 24
1x + 3y ≤ 18
x,y≥0
Domaine réalisable
• Traçons la droite
5x + 3y = 30
L’ensemble des points qui
satisfont la contrainte
5x + 3y ≤ 30
sont sous cette droite car l’origine
satisfait cette relation
Domaine réalisable
• Traçons la droite
2x + 3y = 24
• Traçons la droite
1x + 3y = 18
• Considérons la fonction
économique :
z = –8x – 6y.
• Plus on s’éloigne de l’origine,
plus la valeur diminue: x 3 y 18 x 0
x = 0 et y = 0 => z = 0
x 0 y 6
x = 0 et y = 6 => z = – 36
x 3 y 18
Résolution
• Considérons la fonction
économique :
z = –8x – 6y.
• Plus on s’éloigne de l’origine,
plus la valeur diminue: 5 x 3 y 30 x 6
y 0 y 0
x = 0 et y = 0 => z = 0
x = 0 et y = 6 => z = – 36
x = 6 et y = 0 => z = – 48 5 x 3 y 30
Résolution
• Considérons la fonction
5 x 3 y 30
économique : x 3 x 3
x 3 y 18 y 5
3 3 y 18
z = –8x – 6y. 4x 12
• Plus on s’éloigne de l’origine,
plus la valeur diminue:
x = 0 et y = 0 => z = 0 Solution optimale:
x = 3 et y = 5
x = 0 et y = 6 => z = – 36 Valeur optimale:
x = 6 et y = 0 => z = – 48 z = – 54
x = 3 et y = 5 => z = – 54.
• Impossible d’aller plus loin sans x 3 y 18
sortir du domaine réalisable. 5 x 3 y 30
x y u p h z
*T cT* B*1
1 1
B
x 1 0 0 0 3
4 4 1
0
1
4 4
1 3 1 3
p 0 0 1 0 3 *T 8 0 6 1
3
0
1
4 4 4 4 2 2
1 5 1 5
y 0 1 0 0 3 12 0
12
12 12
3 1
z 0 0 0 1 54
2 2
z* z * *T b
b
3 1 1 3 1
54 0 b2 54 b1 0b2 b3
2 2 b 2 2
3
3
b1 0 b1 0 z* z*
2
Domaine réalisable
• Considérons la fonction
économique :
z = –8x – 6y.
• La solution optimale:
x = 3 et y = 5 => z = – 54.
• Vecteur des multiplicateurs 5x + 3y ≤ 30
optimaux:
πT = [ – 3/2, 0, – 1/2]
• Si b1 = 30 devient b1+Δb1 avec
2x + 3y ≤ 24
Δb1<0 1x + 3y ≤ 18
domaine réalisable diminue
x y u p h z
*T cT* B*1
1 1 B
x 1 0 0 0 3
4 4 1 1
4 0
1 3 4
p 0 0 1 0 3 1 3
0
3 1
4 4 *T 8 0 6 1
4 4 2 2
1 5 1 5
y 0 1 0 0 3 12 0
12 12 12
3 1
z 0 0 0 1 54
2 2
z* z * *T b
b
3 1 1 3 1
54 0 b2 54 b1 0b2 b3
2 2 b 2 2
3
3
b1 0 b1 0 z* z*
2
Résolution graphique
• Considérons la fonction
économique :
z = –8x – 6y.
• La solution optimale:
x = 3 et y = 5 => z = – 54.
• Vecteur des multiplicateurs 5x + 3y ≤ 30
optimaux:
πT = [ – 3/2, 0, – 1/2]
• Si b1 = 30 devient b1+Δb1 avec 2x + 3y ≤ 24
Δb1>0 1x + 3y ≤ 18
domaine réalisable augmente
x y u p h z
*T cT* B*1
1 1
B
x 1 0 0 0 3
4 4 1
0
1
4 4
1 3 1 3
p 0 0 1 0 3 *T 8 0 6 1
3
0
1
4 4 4 4 2 2
1 5 1 5
y 0 1 0 0 3 12 0
12
12 12
3 1
z 0 0 0 1 54
2 2
z* z * *T b
b
3 1 1 3 1
54 0 b2 54 b1 0b2 b3
2 2 b 2 2
3
1
b3 0 b3 0 z* z*
2
Résolution graphique
• Considérons la fonction
économique :
z = –8x – 6y.
• La solution optimale:
x = 3 et y = 5 => z = – 54.
• Vecteur des multiplicateurs 5x + 3y ≤ 30
optimaux:
πT = [ – 3/2, 0, – 1/2]
• Si b3 = 18 devient b3+Δb3 avec
2x + 3y ≤ 24
Δb3<0 1x + 3y ≤ 18
domaine réalisable diminue
x y u p h z
*T cT* B*1
1 1
B
x 1 0 0 0 3
4 4 1
0
1
4 4
1 3 1 3
p 0 0 1 0 3 *T 8 0 6 1
3
0
1
4 4 4 4 2 2
1 5 1 5
y 0 1 0 0 3 12 0
12
12 12
3 1
z 0 0 0 1 54
2 2
z* z * *T b
b
3 1 1 3 1
54 0 b2 54 b1 0b2 b3
2 2 b 2 2
3
• Considérons la fonction
économique :
z = –8x – 6y.
• La solution optimale:
x = 3 et y = 5 => z = – 54.
• Vecteur des multiplicateurs 5x + 3y ≤ 30
optimaux:
πT = [ – 3/2, 0, – 1/2]
• Si b2 = 24 devient b2+Δb2 avec
2x + 3y ≤ 24
Δb2<0 1x + 3y ≤ 18
domaine réalisable ne change pas