Vous êtes sur la page 1sur 84

Recherche opérationnelle

Filière Sciences Économiques et Gestion


Semestre 5

Mohamed HACHIMI

UNIVERSITÉ IBNOU ZOHR


FACULTÉ DES SCIENCES JURIDIQUES ECONOMIQUES
ET SOCIALES D’AGADIR

http://hachimicours.uiz.ac.ma
3
M. Hachimi Recherche opérationnelle Semestre 5 1 / 30
3
Algorithme du simplexe : Méthode algébrique

M. Hachimi Recherche opérationnelle Semestre 5 2 / 30


Algorithme du simplexe

Sommaire

1 Algorithme du simplexe

M. Hachimi Recherche opérationnelle Semestre 5 3 / 30


Algorithme du simplexe

Bases

Considérons un problème général sous la forme standard :

Max z = cx
Ax = b
x>0

Dans ce qui suit, on suppose que rg(A) = m et m < n

Définition :
On appelle base toute sous-matrice B extraite de A qui est
carrée et régulière d’ordre m.

— Il existe au moins une base puisque rg(A) = m

M. Hachimi Recherche opérationnelle Semestre 5 4 / 30


Algorithme du simplexe

Exemple

Reprenons l’exemple 1 et introduisans-y des variables d’écart :

Max z = 50x1 + 60x2


x1 + 2x2 + x3 = 8
x1 + x2 + x4 = 5
9x1 + 4x2 + x5 = 36
x1 , x2 , x3 , x4 , x5 > 0

La matrice A vaut :
x1 x2 x3 x4 x5
 
1 2 1 0 0
A=  1 1 0 1 0
9 4 0 0 1

M. Hachimi Recherche opérationnelle Semestre 5 5 / 30


Algorithme du simplexe

Bases
— Soit B une base. Alors en permutant les colonne de A, on
peut écrire A sous la forme : A = [B, H]
où H est la sous-matrice formée par les colonnes de A qui
ne sont pas dans la base. De même on peut écrire :
x = [xB , xH ] et c = [cB , cH ].
• Les composantes de xB sont appelées variables de
base
• Les composantes de xH sont appelées variables hors
base
— Le système Ax = b peut alors s’écrire :
 
x
[B, H] B = b ou BxB + HxH = b
xH

M. Hachimi Recherche opérationnelle Semestre 5 6 / 30


Algorithme du simplexe

Partitionnement de A, x et c

variables de base variables hors base


z }| {z }| {
xB xH
cB cH = z

B H
(base) (colonnes hors base) = b

M. Hachimi Recherche opérationnelle Semestre 5 7 / 30


Algorithme du simplexe

Solutions de base

Définition :
La solution du système Ax = b obtenue en posant xH = 0
est appelée solution de base associée à la base B.

— xB est déterminé de façon unique par la résolution du


système (de Cramer) :
BxB = b soit xB = B−1 b.
Cette solution de base est donc :
xB = B−1 b
xH = 0

M. Hachimi Recherche opérationnelle Semestre 5 8 / 30


Algorithme du simplexe

Exemple

— Si la base est B1 :
B1 H
z }| { z }| {
x1 x2 x3 x4 x5
 
1 2 1 0 0
A= 1 1 0 1 0
9 4 0 0 1
— Le système à résoudre est B1 xB = b, soit :

x1 + 2x2 + x3 = 8
x1 + x2 = 5
9x1 + 4x2 = 36

— Alors la solution de base est : x1 = 3.2, x2 = 1.8, x3 = 1.2

M. Hachimi Recherche opérationnelle Semestre 5 9 / 30


Algorithme du simplexe

Exemple

— Si la base est B2 :
B2 H
z }| { z }| {
x2 x3 x5 x1 x4
 
2 1 0 1 0
A= 1 0 0 1 1
4 0 1 9 0
— Le système à résoudre est B2 xB = b, soit :

2x2 + x3 = 8
x2 = 5
4x2 + x5 = 36

— Alors la solution de base est : x2 = 5, x3 = −2, x5 = 16

M. Hachimi Recherche opérationnelle Semestre 5 9 / 30


Algorithme du simplexe

Exemple

— Si la base est B3 :
B3 H
z }| { z }| {
x3 x4 x5 x1 x2
 
1 0 0 1 2
A= 0 1 0 1 1
0 0 1 9 4
— Le système à résoudre est B3 xB = b, soit :

x3 = 8
x4 = 5
x5 = 36

— Alors la solution de base est : x3 = 8, x4 = 5, x5 = 36

M. Hachimi Recherche opérationnelle Semestre 5 9 / 30


Algorithme du simplexe

Solution de base réalisable

Définition :
— Une solution de base est dite réalisable si xB > 0, au-
trement dit : B−1 b > 0
— Une base correspondant à une solution de base réali-
sable est appelée base réalisable.
— Une solution de base est dite dégénérée lorsqu’au
moins une variable de base est nulle.

M. Hachimi Recherche opérationnelle Semestre 5 10 / 30


Algorithme du simplexe

Solution de base réalisable

Définition :
— Une solution de base est dite réalisable si xB > 0, au-
trement dit : B−1 b > 0
— Une base correspondant à une solution de base réali-
sable est appelée base réalisable.
— Une solution de base est dite dégénérée lorsqu’au
moins une variable de base est nulle.

— La solution de base

x1 = 3.2, x2 = 1.8, x3 = 1.2

est réalisable

M. Hachimi Recherche opérationnelle Semestre 5 10 / 30


Algorithme du simplexe

Solution de base réalisable

Définition :
— Une solution de base est dite réalisable si xB > 0, au-
trement dit : B−1 b > 0
— Une base correspondant à une solution de base réali-
sable est appelée base réalisable.
— Une solution de base est dite dégénérée lorsqu’au
moins une variable de base est nulle.

— La solution de base

x2 = 5, x3 = −2, x5 = 16

est non réalisable car x3 < 0

M. Hachimi Recherche opérationnelle Semestre 5 10 / 30


Algorithme du simplexe

Solution de base réalisable

Définition :
— Une solution de base est dite réalisable si xB > 0, au-
trement dit : B−1 b > 0
— Une base correspondant à une solution de base réali-
sable est appelée base réalisable.
— Une solution de base est dite dégénérée lorsqu’au
moins une variable de base est nulle.

— La solution de base

x3 = 8, x4 = 5, x5 = 36

est réalisable

M. Hachimi Recherche opérationnelle Semestre 5 10 / 30


Algorithme du simplexe

Caractérisation algébrique des points extrêmes

Théorème :
Chaque point extrême (sommet) du polyèdre P

P = {x ∈ Rn | Ax = b, x > 0}

correspond à une et une seule solution de base réalisable.

Corollaire :
Tout point d’un polyèdre convexe P est combinaison
convexe des points extrêmes de P.

M. Hachimi Recherche opérationnelle Semestre 5 11 / 30


Algorithme du simplexe

11
10
9
8
7
(0, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
(2, 3,
(0,0,0)0, 6)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
(2, 3,
(0,0,0)0, 6)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20 , 18
7(2, (0,
73, − 376), 0)
, 0,0)0,
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20 , 18
7(2, (0,
73, − 376), 0)
, 0,0)0,
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20
(8, , 18
7(2,
0, (0,
, −3,
70,
3, 3
−−36)
0,0)0, 76)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20
(8, , 18
7(2,
0, (0,
, −3,
70,
3, 3
−−36)
0,0)0, 76)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20
(8,
(0,, 18
7(2,
0,4,(0,
70,
3, −3,
,0,
0,0)
1,
0, 3
−36)
−20)
76)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20
(8,
(0,, 18
7(2,
0,4,(0,
70,
3, −3,
,0,
0,0)
1,
0, 3
−36)
−20)
76)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20
(8, 16 189 6
((0,
7(2,
0, (0,
5, ,4,
70,
3, ,−3,
5,0,
0,50)
1,
,0, 3
−36)
−0,20)
76)
0)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20
(8, 16 189 6
((0,
7(2,
0, (0,
5, ,4,
70,
3, ,−3,
5,0,
0,50)
1,
,0, 3
−36)
−0,20)
76)
0)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20
(8, 16 189 6
(5,
((0,
7(2,
0,
5, 0,(0,
,4,
70,
3, ,−3,
5,3,
0,
0,50)
0,
1,
,0, 3
−9)
−36)
−0,
20)
76)
0)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7
( 20
(8, 16 189 6
(5,
((0,
7(2,
0,
5, 0,(0,
,4,
70,
3, ,−3,
5,3,
0,
0,50)
0,
1,
,0, 3
−9)
−36)
−0,
20)
76)
0)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7 2016 189 6 3
(8,
((0,
(5,
((0,
7(2,
0,
5,5,
0,(0,
,4,5−2,
70,
3, ,−3,
,3,
0,
0,50)
0,
1,−−9)
,0,
0,−36)
20)
0,76)
16)
0)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7 2016 189 6 3
(8,
((0,
(5,
((0,
7(2,
0,
5,5,
0,(0,
,4,5−2,
70,
3, ,−3,
,3,
0,
0,50)
0,
1,−−9)
,0,
0,−36)
20)
0,76)
16)
0)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7 2016 189 6 3
(8,
((0,
(5,
((0,
7(4,
(2,
0,
5,5,
0,(0,
,4,5−2,
70,
3, ,−3,
,3,
0,
0,50)
4, 0,
1,−−9)
,1,
0,
0,−36)
20)
0,70)
6)
16)
0)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7 2016 189 6 3
(8,
((0,
(5,
((0,
7(4,
(2,
0,
5,5,
0,(0,
,4,5−2,
70,
3, ,−3,
,3,
0,
0,50)
4, 0,
1,−−9)
,1,
0,
0,−36)
20)
0,70)
6)
16)
0)
, 0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7 2016 189 6 3
(8,
((0,
(0,
(5,
((0,
7(4,
(2,
0,
5,9,
5,
0,(0,
−1,
,4,5−2,
70,
3, ,−3,
,3,
0,
0,50)
4, 0,
1,−4,
−−9)
,1,
0,
0,−36)
20)
0,70)
6)
16)
, 0)
0)0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7 2016 189 6 3
(8,
((0,
(0,
(5,
((0,
7(4,
(2,
0,
5,9,
5,
0,(0,
−1,
,4,5−2,
70,
3, ,−3,
,3,
0,
0,50)
4, 0,
1,−4,
−−9)
,1,
0,
0,−36)
20)
0,70)
6)
16)
, 0)
0)0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

11
10
9
8
7 2016 189 6 3
(8,
((0,
(0,
(5,
((0,
7(4,
(2,
0,
5,9,
5,
0,(0,
−1,
,0,
4,5−2,
70,
3, ,−3,
,3,
0,
8,
0,50)
4, 0,
1,
5,−4,
−−9)
,1,
0,
0,−36)
20)
36)
0,70)
6)
16)
, 0)
0)0)
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10 11

M. Hachimi Recherche opérationnelle Semestre 5 12 / 30


Algorithme du simplexe

Optimalité en un point extrême

Théorème :
— L’optimum de z, fonction linéaire, sur P ⊂ Rn , polyèdre
convexe, est atteint en au moins un point extrême.
— S’il est atteint en plusieurs points extrêmes, il est at-
teint en tout point, combinaison convexe de ces points
extrêmes.

M. Hachimi Recherche opérationnelle Semestre 5 13 / 30


Algorithme du simplexe

Caractérisation des solutions de base optimales

Théorème :
Une condition nécessaire et suffisante pour que B soit une
base réalisable optimale est que :

cH = cH − cB B−1 H 6 0

— Le vecteur π = cB B−1 est appelé le vecteur des


multiplicateurs du simplexe.
— Les composantes cj du vecteur cH sont appelés coûts
réduits des variables hors base

M. Hachimi Recherche opérationnelle Semestre 5 14 / 30


Algorithme du simplexe

Caractérisation des solutions de base optimales

Corollaire :
Soit B une base réalisable quelconque, x0 la solution de
base correspondante, et cH = cH − πH. S’il existe une
variable hors base xs telle que cs > 0, alors :

M. Hachimi Recherche opérationnelle Semestre 5 15 / 30


Algorithme du simplexe

Caractérisation des solutions de base optimales

Corollaire :
Soit B une base réalisable quelconque, x0 la solution de
base correspondante, et cH = cH − πH. S’il existe une
variable hors base xs telle que cs > 0, alors :

(a) ou bien on peut augmenter la valeur de xs , sans sortir


de P, et dans ce cas l’optimum de z est non borné
(+∞).

M. Hachimi Recherche opérationnelle Semestre 5 15 / 30


Algorithme du simplexe

Caractérisation des solutions de base optimales

Corollaire :
Soit B une base réalisable quelconque, x0 la solution de
base correspondante, et cH = cH − πH. S’il existe une
variable hors base xs telle que cs > 0, alors :

(a) ou bien on peut augmenter la valeur de xs , sans sortir


de P, et dans ce cas l’optimum de z est non borné
(+∞).
(b) ou bien on met en évidence une autre base B et une
autre solution de base réalisable x telle que : z(x) <
z(x)

M. Hachimi Recherche opérationnelle Semestre 5 15 / 30


Algorithme du simplexe

L’algorithme du simplexe appliqué à un exemple

Une entreprise fabrique quatre produits. La fabrication de


chaque produit nécessite une certaine quantité de ressources.
Les ressources consommées, les stocks des ressources et les
bénéfices des produits sont récapitulés dans le tableau
suivant :
P1 P2 P3 P4 Stock
ressource A 2 4 5 7 42
ressource B 1 1 2 2 17
ressource C 1 2 3 3 24
Bénéfice 7 9 18 17

On souhaite établir un plan de production de façon à maximiser


le bénéfice.

M. Hachimi Recherche opérationnelle Semestre 5 16 / 30


Algorithme du simplexe

Modélisation du problème

Appelant x1 , x2 , x3 , x4 les quantités respectives de produits 1, 2,


3, 4, le problème admet la modélisation suivante :

Max z= 7x1 + 9x2 + 18x3 + 17x4


2x1 + 4x2 + 5x3 + 7x4 6 42
x1 + x2 + 2x3 + 2x4 6 17
x1 + 2x2 + 3x3 + 3x4 6 24
x1 , x2 , x3 , x4 > 0

On reconnaît là un problème de programmation linéaire sous


forme canonique.

M. Hachimi Recherche opérationnelle Semestre 5 17 / 30


Algorithme du simplexe

Formulation équivalente

Introduisons trois variables d’écart x5 , x6 , x7 , qui mesurent pour


chaque ressource la quantité inutilisé. On obtient une
formulation équivalente du problème :

Max z= 7x1 + 9x2 + 18x3 + 17x4


2x1 + 4x2 + 5x3 + 7x4 + x5 = 42
x1 + x2 + 2x3 + 2x4 + x6 = 17
x1 + 2x2 + 3x3 + 3x4 + + + x7 = 24
x1 , x2 , x3 , x4 , x5 , x6 , x7 > 0

On reconnaît là un problème de programmation linéaire sous


forme standard.

M. Hachimi Recherche opérationnelle Semestre 5 18 / 30


Algorithme du simplexe

Solution initiale
Cette formulation permet d’exprimer facilement les variables
d’écart x5 , x6 , x7 comme fonctions affines des variables de
décision x1 , x2 , x3 , x4 :
x5 = 42 - 2x1 - 4x2 - 5x3 - 7x4
x6 = 17 - x1 - x2 - 2x3 - 2x4 Dic 1
x7 = 24 - x1 - 2x2 - 3x3 - 3x4
z = 0 + 7x1 + 9x2 + 18x3 + 17x4

M. Hachimi Recherche opérationnelle Semestre 5 19 / 30


Algorithme du simplexe

Solution initiale
Cette formulation permet d’exprimer facilement les variables
d’écart x5 , x6 , x7 comme fonctions affines des variables de
décision x1 , x2 , x3 , x4 :
x5 = 42 - 2x1 - 4x2 - 5x3 - 7x4
x6 = 17 - x1 - x2 - 2x3 - 2x4 Dic 1
x7 = 24 - x1 - 2x2 - 3x3 - 3x4
z = 0 + 7x1 + 9x2 + 18x3 + 17x4

Ici

☞ Les variables x5 , x6 , x7 sont des variables de base


et x1 , x2 , x3 , x4 sont des variables hors base.

M. Hachimi Recherche opérationnelle Semestre 5 19 / 30


Algorithme du simplexe

Solution initiale
Cette formulation permet d’exprimer facilement les variables
d’écart x5 , x6 , x7 comme fonctions affines des variables de
décision x1 , x2 , x3 , x4 :
x5 = 42 - 2x1 - 4x2 - 5x3 - 7x4
x6 = 17 - x1 - x2 - 2x3 - 2x4 Dic 1
x7 = 24 - x1 - 2x2 - 3x3 - 3x4
z = 0 + 7x1 + 9x2 + 18x3 + 17x4

Ici

☞ La solution de base S0 est :


x1 = x2 = x3 = x4 = 0, x5 = 42, x6 = 17, x7 = 24.

M. Hachimi Recherche opérationnelle Semestre 5 19 / 30


Algorithme du simplexe

Solution initiale
Cette formulation permet d’exprimer facilement les variables
d’écart x5 , x6 , x7 comme fonctions affines des variables de
décision x1 , x2 , x3 , x4 :
x5 = 42 - 2x1 - 4x2 - 5x3 - 7x4
x6 = 17 - x1 - x2 - 2x3 - 2x4 Dic 1
x7 = 24 - x1 - 2x2 - 3x3 - 3x4
z = 0 + 7x1 + 9x2 + 18x3 + 17x4

Ici

☞ Cette base correspond au sommet (0, 0, 0, 0) du polyèdre


des contraintes.

M. Hachimi Recherche opérationnelle Semestre 5 19 / 30


Algorithme du simplexe

Solution initiale
Cette formulation permet d’exprimer facilement les variables
d’écart x5 , x6 , x7 comme fonctions affines des variables de
décision x1 , x2 , x3 , x4 :
x5 = 42 - 2x1 - 4x2 - 5x3 - 7x4
x6 = 17 - x1 - x2 - 2x3 - 2x4 Dic 1
x7 = 24 - x1 - 2x2 - 3x3 - 3x4
z = 0 + 7x1 + 9x2 + 18x3 + 17x4

Ici

☞ Le bénéfice correspondant est z = 0 ( on ne produit rien, on


ne consomme aucune ressource et on ne gagne rien.)

M. Hachimi Recherche opérationnelle Semestre 5 19 / 30


Algorithme du simplexe

Solution initiale
Cette formulation permet d’exprimer facilement les variables
d’écart x5 , x6 , x7 comme fonctions affines des variables de
décision x1 , x2 , x3 , x4 :
x5 = 42 - 2x1 - 4x2 - 5x3 - 7x4
x6 = 17 - x1 - x2 - 2x3 - 2x4 Dic 1
x7 = 24 - x1 - 2x2 - 3x3 - 3x4
z = 0 + 7x1 + 9x2 + 18x3 + 17x4

Ici

☞ Néanmoins, S0 est une solution réalisable.

M. Hachimi Recherche opérationnelle Semestre 5 19 / 30


Algorithme du simplexe

Idée
— En partant de la solution basique S0 , on cherche à
améliorer le bénéfice.

M. Hachimi Recherche opérationnelle Semestre 5 20 / 30


Algorithme du simplexe

Idée
— En partant de la solution basique S0 , on cherche à
améliorer le bénéfice.
— La fonction économique est actuellement nulle, mais nous
voyons qu’elle augmenterait
• de 7 par unité de x1 ;
• ou de 9 par unité de x2 ;
• ou de 18 par unité de x3 ;
• ou de 17 par unité de x4 .

M. Hachimi Recherche opérationnelle Semestre 5 20 / 30


Algorithme du simplexe

Idée
— En partant de la solution basique S0 , on cherche à
améliorer le bénéfice.
— La fonction économique est actuellement nulle, mais nous
voyons qu’elle augmenterait
• de 7 par unité de x1 ;
• ou de 9 par unité de x2 ;
• ou de 18 par unité de x3 ;
• ou de 17 par unité de x4 .

A première vue, x3 semble légèrement plus attrayante.

M. Hachimi Recherche opérationnelle Semestre 5 20 / 30


Algorithme du simplexe

Idée
— En partant de la solution basique S0 , on cherche à
améliorer le bénéfice.
— La fonction économique est actuellement nulle, mais nous
voyons qu’elle augmenterait
• de 7 par unité de x1 ;
• ou de 9 par unité de x2 ;
• ou de 18 par unité de x3 ;
• ou de 17 par unité de x4 .

A première vue, x3 semble légèrement plus attrayante.

— Il est évident que si on fait croître x3 à partir de 0, les autres


variables hors-base restant nulles, la valeur de la fonction
z croît.
M. Hachimi Recherche opérationnelle Semestre 5 20 / 30
Algorithme du simplexe

Idée

Mais jusqu’où peut-on « pousser » x3 , tout en gardant x1 , x2 et


x4 à zéro ?

M. Hachimi Recherche opérationnelle Semestre 5 21 / 30


Algorithme du simplexe

Idée

Mais jusqu’où peut-on « pousser » x3 , tout en gardant x1 , x2 et


x4 à zéro ?

— Il faut que la solution reste réalisable. Les contraintes sur


l’augmentation de x3 sont :

x5 > 0 =⇒ 42 − 5x3 > 0 =⇒ x3 6 8.4


x6 > 0 =⇒ 17 − 3x3 > 0 =⇒ x3 6 8.5
x7 > 0 =⇒ 24 − 3x3 > 0 =⇒ x3 6 8

M. Hachimi Recherche opérationnelle Semestre 5 21 / 30


Algorithme du simplexe

Idée

Mais jusqu’où peut-on « pousser » x3 , tout en gardant x1 , x2 et


x4 à zéro ?

— Il faut que la solution reste réalisable. Les contraintes sur


l’augmentation de x3 sont :

x5 > 0 =⇒ 42 − 5x3 > 0 =⇒ x3 6 8.4


x6 > 0 =⇒ 17 − 3x3 > 0 =⇒ x3 6 8.5
➡ x7 > 0 =⇒ 24 − 3x3 > 0 =⇒ x3 6 8

— La plus restrictive de ces contraintes est x3 6 8.

M. Hachimi Recherche opérationnelle Semestre 5 21 / 30


Algorithme du simplexe

Interprétation géométrique

L’Interprétation géométrique est la suivante :


en partant du sommet (0, 0, 0, 0) du polyèdre des contraintes,
on se déplace sur une arête de ce polyèdre.
Le premier hyperplan rencontré est x7 = 0.
On arrive alors dans un nouveau sommet, à l’intersection des
hyperplans x1 = 0, x2 = 0, x4 = 0, x7 = 0.

M. Hachimi Recherche opérationnelle Semestre 5 22 / 30


Algorithme du simplexe

Deuxième solution

Nous allons faire un changement de dictionnaire en


échangeant les rôles de x3 et x7 .
On utilise la troisième équation du Dic 1 pour exprimer x3 en
fonction de x1 , x2 , x4 et x7 :

x7 = 24 − x1 − 2x2 − 3x3 − 3x4

M. Hachimi Recherche opérationnelle Semestre 5 23 / 30


Algorithme du simplexe

Deuxième solution

Nous allons faire un changement de dictionnaire en


échangeant les rôles de x3 et x7 .
On utilise la troisième équation du Dic 1 pour exprimer x3 en
fonction de x1 , x2 , x4 et x7 :

x7 = 24 − x1 − 2x2 − 3x3 − 3x4

M. Hachimi Recherche opérationnelle Semestre 5 23 / 30


Algorithme du simplexe

Deuxième solution

Nous allons faire un changement de dictionnaire en


échangeant les rôles de x3 et x7 .
On utilise la troisième équation du Dic 1 pour exprimer x3 en
fonction de x1 , x2 , x4 et x7 :

x7 = 24 − x1 − 2x2 − 3x3 − 3x4

M. Hachimi Recherche opérationnelle Semestre 5 23 / 30


Algorithme du simplexe

Deuxième solution

Nous allons faire un changement de dictionnaire en


échangeant les rôles de x3 et x7 .
On utilise la troisième équation du Dic 1 pour exprimer x3 en
fonction de x1 , x2 , x4 et x7 :

3x3 = 24 − x1 − 2x2 − x7 − 3x4

M. Hachimi Recherche opérationnelle Semestre 5 23 / 30


Algorithme du simplexe

Deuxième solution

Nous allons faire un changement de dictionnaire en


échangeant les rôles de x3 et x7 .
On utilise la troisième équation du Dic 1 pour exprimer x3 en
fonction de x1 , x2 , x4 et x7 :

24 1 2 1 3
x3 = − x1 − x2 − x7 − x4
3 3 3 3 3

M. Hachimi Recherche opérationnelle Semestre 5 23 / 30


Algorithme du simplexe

Deuxième solution

Nous allons faire un changement de dictionnaire en


échangeant les rôles de x3 et x7 .
On utilise la troisième équation du Dic 1 pour exprimer x3 en
fonction de x1 , x2 , x4 et x7 :

1 2 1
x3 = 8 − x1 − x2 − x7 − x4 (∗)
3 3 3

M. Hachimi Recherche opérationnelle Semestre 5 23 / 30


Algorithme du simplexe

Deuxième solution

Nous allons faire un changement de dictionnaire en


échangeant les rôles de x3 et x7 .
On utilise la troisième équation du Dic 1 pour exprimer x3 en
fonction de x1 , x2 , x4 et x7 :

1 2 1
x3 = 8 − x1 − x2 − x7 − x4 (∗)
3 3 3

Ensuite . . .
Nous éliminons les termes en x3 du système d’équations, en
dehors de la troisième équation du Dic 1, en utilisant
l’expression (∗).

M. Hachimi Recherche opérationnelle Semestre 5 23 / 30


Algorithme du simplexe

Vers le deuxième dictionnaire

On remplace ensuite x3 par cette expression dans les autres


équations du dictionnaire :

x5 = 42 − 2x1 − 4x2 − 5x3 − 7x4


x6 = 17 − x1 − x2 − 2x3 − 2x4
x3 = 8 − 13 x1 − 23 x2 − 13 x7 − x4
z = 0 + 7x1 + 9x2 + 18x3 + 17x4

M. Hachimi Recherche opérationnelle Semestre 5 24 / 30


Algorithme du simplexe

Vers le deuxième dictionnaire

On remplace ensuite x3 par cette expression dans les autres


équations du dictionnaire :

x5 = 42 − 2x1 − 4x2 − 5(8 − 13 x1 − 23 x2 − 13 x7 − x4 ) − 7x4


x6 = 17 − x1 − x2 − 2(8 − 13 x1 − 23 x2 − 13 x7 − x4 ) − 2x4
x3 = 8 − 13 x1 − 23 x2 − 13 x7 − x4
z = 0 + 7x1 + 9x2 + 18(8 − 13 x1 − 23 x2 − 13 x7 − x4 ) + 17x4

M. Hachimi Recherche opérationnelle Semestre 5 24 / 30


Algorithme du simplexe

Deuxième solution
On remplace ensuite x3 par cette expression dans les autres
équations du dictionnaire :

1 2 5
x5 = 2 - 3 x1 - 3 x2 + 3 x7 - 2x4
1 1 2
x6 = 1 - 3 x1 + 3 x2 + 3 x7 Dic 2
1 2 1
x3 = 8 - 3 x1 - 3 x2 - 3 x7 - x4
z = 144 + x1 - 3x2 - 6x7 - x4

M. Hachimi Recherche opérationnelle Semestre 5 25 / 30


Algorithme du simplexe

Deuxième solution
On remplace ensuite x3 par cette expression dans les autres
équations du dictionnaire :

1 2 5
x5 = 2 - 3 x1 - 3 x2 + 3 x7 - 2x4
1 1 2
x6 = 1 - 3 x1 + 3 x2 + 3 x7 Dic 2
1 2 1
x3 = 8 - 3 x1 - 3 x2 - 3 x7 - x4
z = 144 + x1 - 3x2 - 6x7 - x4

Ici

☞ La variable x7 est sortie de la base


et la variable x3 est entrée en base

M. Hachimi Recherche opérationnelle Semestre 5 25 / 30


Algorithme du simplexe

Deuxième solution
On remplace ensuite x3 par cette expression dans les autres
équations du dictionnaire :

1 2 5
x5 = 2 - 3 x1 - 3 x2 + 3 x7 - 2x4
1 1 2
x6 = 1 - 3 x1 + 3 x2 + 3 x7 Dic 2
1 2 1
x3 = 8 - 3 x1 - 3 x2 - 3 x7 - x4
z = 144 + x1 - 3x2 - 6x7 - x4

Ici

☞ Les variables de base sont : x5 , x6 , x3 ,


et les variables hors base sont : x1 , x2 , x7 , x4 .

M. Hachimi Recherche opérationnelle Semestre 5 25 / 30


Algorithme du simplexe

Deuxième solution
On remplace ensuite x3 par cette expression dans les autres
équations du dictionnaire :

1 2 5
x5 = 2 - 3 x1 - 3 x2 + 3 x7 - 2x4
1 1 2
x6 = 1 - 3 x1 + 3 x2 + 3 x7 Dic 2
1 2 1
x3 = 8 - 3 x1 - 3 x2 - 3 x7 - x4
z = 144 + x1 - 3x2 - 6x7 - x4

Ici

☞ La solution de base S1 est :


x1 = x2 = x7 = x4 = 0, x5 = 2, x6 = 1, x3 = 8.

M. Hachimi Recherche opérationnelle Semestre 5 25 / 30


Algorithme du simplexe

Deuxième solution
On remplace ensuite x3 par cette expression dans les autres
équations du dictionnaire :

1 2 5
x5 = 2 - 3 x1 - 3 x2 + 3 x7 - 2x4
1 1 2
x6 = 1 - 3 x1 + 3 x2 + 3 x7 Dic 2
1 2 1
x3 = 8 - 3 x1 - 3 x2 - 3 x7 - x4
z = 144 + x1 - 3x2 - 6x7 - x4

Ici

☞ Cette base correspond au sommet (0, 0, 8, 0) du polyèdre


des contraintes.

M. Hachimi Recherche opérationnelle Semestre 5 25 / 30


Algorithme du simplexe

Deuxième solution
On remplace ensuite x3 par cette expression dans les autres
équations du dictionnaire :

1 2 5
x5 = 2 - 3 x1 - 3 x2 + 3 x7 - 2x4
1 1 2
x6 = 1 - 3 x1 + 3 x2 + 3 x7 Dic 2
1 2 1
x3 = 8 - 3 x1 - 3 x2 - 3 x7 - x4
z = 144 + x1 - 3x2 - 6x7 - x4

Ici

☞ Le bénéfice correspondant est z = 18 × 8 = 144

M. Hachimi Recherche opérationnelle Semestre 5 25 / 30


Algorithme du simplexe

Interprétation économique

La solution S1 définit un plan de production beaucoup plus


intéressant :
— on fabrique 8 unités du produit 3 (x3 = 8)
• en consommant entièrement la ressource C (x7 = 0) ;

• il nous reste x5 = 2 unités de la ressource A ;

• il nous reste x6 = 1 unité de la ressource B.

— Le bénéfice est z = 144.

M. Hachimi Recherche opérationnelle Semestre 5 26 / 30


Algorithme du simplexe

Est-ce qu’on peut faire mieux ?

Dans la nouvelle expression de la fonction z, nous voyons que


seule la variable x1 a un coefficient positif. Nous décidons de
faire entrer x1 en base, et ainsi de parcourir une nouvelle arête
du polyèdre des contraintes. On a les limites suivantes sur
l’augmentation de x1 :

x5 > 0 =⇒ 2 − 13 x1 > 0 =⇒ x1 6 6
x6 > 0 =⇒ 1 − 13 x1 > 0 =⇒ x1 6 3
x3 > 0 =⇒ 8 − 13 x1 > 0 =⇒ x1 6 24

M. Hachimi Recherche opérationnelle Semestre 5 27 / 30


Algorithme du simplexe

Est-ce qu’on peut faire mieux ?

Dans la nouvelle expression de la fonction z, nous voyons que


seule la variable x1 a un coefficient positif. Nous décidons de
faire entrer x1 en base, et ainsi de parcourir une nouvelle arête
du polyèdre des contraintes. On a les limites suivantes sur
l’augmentation de x1 :

x5 > 0 =⇒ 2 − 13 x1 > 0 =⇒ x1 6 6
➡ x6 > 0 =⇒ 1 − 13 x1 > 0 =⇒ x1 6 3
x3 > 0 =⇒ 8 − 13 x1 > 0 =⇒ x1 6 24

d’où x1 6 3. On fait sortir x6 de la base on et fait entrer x1 à sa


place.

M. Hachimi Recherche opérationnelle Semestre 5 27 / 30


Algorithme du simplexe

Troisième solution

On obtient le dictionnaire suivant :

x5 = 1 + x6 - x2 + x7 - 2x4
x1 = 3 - 3x6 + x2 + 2x7 Dic 3
x3 = 7 + x6 - x2 - x7 - x4
z = 147 - 3x6 - 2x2 - 4x7 - x4

M. Hachimi Recherche opérationnelle Semestre 5 28 / 30


Algorithme du simplexe

Troisième solution

On obtient le dictionnaire suivant :

x5 = 1 + x6 - x2 + x7 - 2x4
x1 = 3 - 3x6 + x2 + 2x7 Dic 3
x3 = 7 + x6 - x2 - x7 - x4
z = 147 - 3x6 - 2x2 - 4x7 - x4

Ici

☞ La variable x6 est sortie de la base


et la variable x1 est entrée en base

M. Hachimi Recherche opérationnelle Semestre 5 28 / 30


Algorithme du simplexe

Troisième solution

On obtient le dictionnaire suivant :

x5 = 1 + x6 - x2 + x7 - 2x4
x1 = 3 - 3x6 + x2 + 2x7 Dic 3
x3 = 7 + x6 - x2 - x7 - x4
z = 147 - 3x6 - 2x2 - 4x7 - x4

Ici

☞ Les variables de base sont : x5 , x1 , x3 ,


et les variables hors base sont : x6 , x2 , x7 , x4 .

M. Hachimi Recherche opérationnelle Semestre 5 28 / 30


Algorithme du simplexe

Troisième solution

On obtient le dictionnaire suivant :

x5 = 1 + x6 - x2 + x7 - 2x4
x1 = 3 - 3x6 + x2 + 2x7 Dic 3
x3 = 7 + x6 - x2 - x7 - x4
z = 147 - 3x6 - 2x2 - 4x7 - x4

Ici

☞ La solution de base S2 est :


x6 = x2 = x7 = x4 = 0, x5 = 1, x1 = 3, x3 = 7.

M. Hachimi Recherche opérationnelle Semestre 5 28 / 30


Algorithme du simplexe

Troisième solution

On obtient le dictionnaire suivant :

x5 = 1 + x6 - x2 + x7 - 2x4
x1 = 3 - 3x6 + x2 + 2x7 Dic 3
x3 = 7 + x6 - x2 - x7 - x4
z = 147 - 3x6 - 2x2 - 4x7 - x4

Ici

☞ Cette base correspond au sommet (3, 0, 7, 0) du polyèdre


des contraintes.

M. Hachimi Recherche opérationnelle Semestre 5 28 / 30


Algorithme du simplexe

Troisième solution

On obtient le dictionnaire suivant :

x5 = 1 + x6 - x2 + x7 - 2x4
x1 = 3 - 3x6 + x2 + 2x7 Dic 3
x3 = 7 + x6 - x2 - x7 - x4
z = 147 - 3x6 - 2x2 - 4x7 - x4

Ici

☞ Le bénéfice correspondant est z = 7 × 3 + 18 × 7 = 147

M. Hachimi Recherche opérationnelle Semestre 5 28 / 30


Algorithme du simplexe

Interprétation économique

La solution S3 définit le plan de production suivant :


— on fabrique 3 unités du produit 1 (x1 = 3)

— on fabrique 7 unités du produit 3 (x3 = 7)


• en consommant entièrement les ressources B & C
(x6 = x7 = 0) ;

• il ne nous reste qu’une unité de la ressource A


(x5 = 1) ;

— Le bénéfice est z = 144.

M. Hachimi Recherche opérationnelle Semestre 5 29 / 30


Algorithme du simplexe

La solution optimale du problème

Est-ce qu’on peut faire mieux ?

Tous les coefficients de la dernière ligne sont négatifs, donc on


ne peut pas se déplacer vers un sommet voisin en augmentant
la fonction du bénéfice.

Nous avons alors trouvé la solution optimale du problème.

M. Hachimi Recherche opérationnelle Semestre 5 30 / 30

Vous aimerez peut-être aussi