Algorithme du simplexe

Transcription

Algorithme du simplexe
Algorithme du simplexe
Brice Mayag
Cours RO
Brice Mayag
Algorithme du simplexe
Cours RO
1 / 30
Exemple 1
Plan
1
Exemple 1
2
Exemple 2
3
L’algorithme général du simplexe:
Les étapes du simplexe
Retour à l’exemple 1
Retour à l’exemple 2
Brice Mayag
Algorithme du simplexe
Cours RO
2 / 30
Exemple 1
Exemple
A l’approche des fêtes de Pâques, un artisan chocolatier décide de confectionner
des oeufs en chocolat. En allant inspecter ses réserves, il constate qu’il lui reste 18
kg de cacao, 8 kg de noisettes et 14 kg de lait. Il a deux spécialités : l’oeuf Extra
et l’oeuf Sublime. Un oeuf Extra nécessite 1 kg de cacao, 1 kg de noisettes et 2
kg de lait. Un oeuf Sublime nécessite 3 kg de cacao, 1 kg de noisettes et 1 kg de
lait. Il fera un profit de 20 euros en vendant un oeuf Extra, et de 30 euros en
vendant un oeuf Sublime.
Combien d’oeufs Extra et Sublime doit-il fabriquer pour faire le plus grand
bénéfice possible ?
Cacao
Noisette
Lait
Bénéfice
Brice Mayag
Oeuf Extra Oeuf Sublime
1
3
1
1
2
1
20
30
Algorithme du simplexe
Stock
18
8
14
Cours RO
3 / 30
Exemple 1
Exemple
Si on note x1 le nombre d’oeufs extra et x2 le nombre d’oeufs sublime alors le
problème admet la modélisation suivante:
Max
z=
20 x1
x1
x1
2 x1
x1
+
+
+
+
,
30 x2
3 x2
x2
x2
x2
≤
≤
≤
≥
18
8
14
0
La forme standard du problème sera:
Max
z = 20 x1
x1
x1
2 x1
x1 ,
Brice Mayag
+
+
+
+
x2 ,
30 x2
3 x2
x2
x2
x3 ,
+
x3
+
x4
≥
0
+
x4 , x5
Algorithme du simplexe
x5
=
=
=
18
8
14
Cours RO
4 / 30
Exemple 1
A partir de la forme standard, on construit le tableau suivant:
Exemple (Dictionnaire 1)
x3
x4
x5
z
=
=
=
=
18 −
8 −
14 −
x1
x1
2 x1
20 x1
−
−
−
+
3 x2
x2
x2
30 x2
Ce tableau est appelé dictionnaire
Les variables x3 , x4 , x5 sont appelées variables de base
Les variables x1 , x2 sont appelées variables hors-base
La solution basique (ou solution de base) associée à un dictionnaire est
obtenue en donnant la valeur 0 à toutes les variables hors-base.
On aura donc comme solution de base x1 = 0, x2 = 0, x3 = 18, x4 = 8, x5 = 14.
Le bénéfice correspondant est z = 0.
Brice Mayag
Algorithme du simplexe
Cours RO
5 / 30
Exemple 1
En partant de cette solution basique, on va chercher à améliorer le bénéfice z.
Pour cela on va choisir une variable hors-base dont le coefficient dans la dernière
ligne (ligne de z) est positif. Par exemple x1 .
Il est évident que si on fait croı̂tre x1 à partir de 0, les autres variables hors-base
restant nulles, la valeur de la fonction économique z croı̂t aussi.
Mais jusqu’où peut-on “pousser” x1 , tout en gardant x2 à zéro? Il faut aussi que
la solution reste admissible.
Les contraintes sur l’augmentation de x1 sont alors:
x3 ≥ 0 ⇒ 18 − x1 ≥ 0 ⇒ x1 ≤ 18
x4 ≥ 0 ⇒ 8 − x1 ≥ 0 ⇒ x1 ≤ 8
x5 ≥ 0 ⇒ 14 − 2x1 ≥ 0 ⇒ x1 ≤ 7
La plus restrictive de ces contraintes est x1 ≤ 7
Brice Mayag
Algorithme du simplexe
Cours RO
6 / 30
Exemple 1
On fait un changement de dictionnaire en échangeant les rôles de x1 et x5 . Pour cela, on
utilise la troisième équation du Dictionnaire 1 (équation contenant x5 ) pour exprimer x1
en fonction de x2 et x5 :
1
1
x1 = 7 − x2 − x5
2
2
On remplace ensuite x1 par cette expression dans les autres équations du dictionnaire:
Exemple (Dictionnaire 2)
x3
x4
x1
z
=
=
=
=
11
1
7
140
−
−
−
+
5
x
2 2
1
x
2 2
1
x
2 2
20 x2
+
+
−
−
1
x
2 5
1
x
2 5
1
x
2 5
10 x5
La variable x5 est sortie de la base et la variable x1 est entrée en base
x3 , x4 , x1 deviennent les variables de base
x1 et x5 deviennent les variables hors-base
On aura donc comme solution de base du Dictionnaire 2 x1 = 7, x2 = 0, x3 = 11, x4 = 1,
x5 = 0. Le bénéfice correspondant est z = 140.
Brice Mayag
Algorithme du simplexe
Cours RO
7 / 30
Exemple 1
En partant de cette solution basique, on va chercher à améliorer le bénéfice z.
Pour cela on va choisir une variable hors-base dont le coefficient dans la dernière
ligne (ligne de z) est positif. Seule x2 a un coefficient positif.
On fait donc entrer x2 dans la base.
Mais jusqu’où peut-on “pousser” x2 , tout en gardant x5 à zéro? Il faut aussi que
la solution reste admissible.
Les contraintes sur l’augmentation de x2 sont alors:
x3 ≥ 0 ⇒ x2 ≤ 22
5
x4 ≥ 0 ⇒ x2 ≤ 2
x1 ≥ 0 ⇒ x2 ≤ 14
La plus restrictive de ces contraintes est x2 ≤ 2
Brice Mayag
Algorithme du simplexe
Cours RO
8 / 30
Exemple 1
On fait un changement de dictionnaire en échangeant les rôles de x2 et x4 .
On fait sortir x4 de la base et on fait rentrer x2 à sa place en faisant les mêmes
manipulations que précédemment. On obtient le dictionnaire suivant:
Exemple (Dictionnaire 3)
x3
x2
x1
z
=
=
=
=
6
2
6
180
+
−
+
−
5 x4
2 x4
x4
40 x4
−
+
−
+
2 x5
x5
x5
10 x5
x3 , x1 , x2 deviennent les variables de base
x4 et x5 deviennent les variables hors-base
On aura donc comme solution de base du Dictionnaire 3 x1 = 6, x2 = 1, x3 = 6,
x4 = 0, x5 = 0. Le bénéfice correspondant est z = 180.
Brice Mayag
Algorithme du simplexe
Cours RO
9 / 30
Exemple 1
En partant de cette solution basique, on va chercher à améliorer le bénéfice z.
Pour cela on va choisir une variable hors-base dont le coefficient dans la dernière
ligne (ligne de z) est positif. Seule x5 a un coefficient positif.
On fait donc entrer x5 dans la base.
Mais jusqu’où peut-on “pousser” x5 , tout en gardant x4 à zéro? Il faut aussi que
la solution reste admissible.
Les contraintes sur l’augmentation de x5 sont alors:
x3 ≥ 0 ⇒ x5 ≤ 3
x2 ≥ 0 ⇒ x5 ≥ −1
x1 ≥ 0 ⇒ x5 ≤ 6
La plus restrictive de ces contraintes est x5 ≤ 3
Brice Mayag
Algorithme du simplexe
Cours RO
10 / 30
Exemple 1
On fait un changement de dictionnaire en échangeant les rôles de x3 et x5 .
On fait sortir x3 de la base et on fait rentrer x5 à sa place en faisant les mêmes
manipulations que précédemment. On obtient alors le dictionnaire suivant:
Exemple (Dictionnaire 4)
x5
x2
x1
z
=
=
=
=
3
5
3
210
−
−
+
−
1
2
1
2
1
2
x3
x3
x3
5 x3
+
+
−
−
5
2 x4
1
2 x4
3
2 x4
15 x4
x5 , x1 , x2 deviennent les variables de base
x3 et x4 deviennent les variables hors-base
On aura donc comme solution de base du Dictionnaire 3 x1 = 3, x2 = 5, x5 = 3,
x3 = 0, x4 = 0. Le bénéfice correspondant est z = 210.
Tous les coefficients de la dernière ligne étant négatifs, nous avons trouvé la
solution du problème: 3 oeufs Extra, 5 oeufs Sublime avec un reste de 0 kg de
cacao, 0 kg de Noisette et 3 kgs de lait, le tout pour un bénéfice de 210 euros.
Brice Mayag
Algorithme du simplexe
Cours RO
11 / 30
Exemple 2
Plan
1
Exemple 1
2
Exemple 2
3
L’algorithme général du simplexe:
Les étapes du simplexe
Retour à l’exemple 1
Retour à l’exemple 2
Brice Mayag
Algorithme du simplexe
Cours RO
12 / 30
Exemple 2
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:
Ressource A
Ressource B
Ressource C
Bénéfice
Produit 1 Produit 2
2
4
1
1
1
2
7
9
Produit 3 Produit 4
5
7
2
2
3
3
18
17
Stock
42
17
24
Écrire le programme linéaire permettant d’établir un plan de production de façon
à maximiser le chiffre d’affaires.
Brice Mayag
Algorithme du simplexe
Cours RO
13 / 30
Exemple 2
Exemple
Si on note x1 ; x2 ; x3 ; x4 les quantités respectives de produits 1, 2, 3, 4, alors le
problème admet la modélisation suivante:
Max
z = 7x1
2x1
x1
x1
x1
+
+
+
+
,
9x2
4x2
x2
2x2
x2
+
+
+
+
,
18x3
5x3
2x3
3x3
x3
+
+
+
+
,
17x4
7x4
2x4
3x4
x4
≤
≤
≤
≥
42
17
24
0
Remarque
Ce problème est mis ici sous sa forme canonique (avec la recherche du Maximum)
Brice Mayag
Algorithme du simplexe
Cours RO
14 / 30
Exemple 2
Ce problème mis sous forme standard s’écrit:
Exemple
Max
z=
7x1
2x1
x1
x1
x1
+
+
+
+
,
9x2
4x2
x2
2x2
x2
+
+
+
+
,
18x3
5x3
2x3
3x3
x3
+
+
+
+
,
17x4
7x4
2x4
3x4
x4
+
,
x5
x5
+
x6
,
x6
+
,
x7
x7
= 42
= 17
= 24
≥0
Les variables x5 , x6 , x7 sont des variables d’écart qui mesurent pour chaque
ressource l’écart entre la quantité initialement disponible et la quantité
consommée par le plan de fabrication donné par les variables x1 , x2 , x3 et x4 .
Brice Mayag
Algorithme du simplexe
Cours RO
15 / 30
Exemple 2
A partir de la forme standard, on construit le tableau suivant:
Exemple (Dictionnaire 1)
x5
x6
x7
z
=
=
=
=
42 −
17 −
24 −
2x1
x1
x1
7x1
−
−
−
+
4x2
x2
2x2
9x2
− 5x3
− 2x3
− 3x3
+ 18x3
− 7x4
− 2x4
− 3x4
+ 17x4
Ce tableau est appelé dictionnaire
Les variables x5 , x6 , x7 sont appelées variables de base
Les variables x1 , x2 , x3 et x4 sont appelées variables hors-base
La solution basique (ou solution de base) associée à un dictionnaire est
obtenue en donnant la valeur 0 à toutes les variables hors-base.
On aura donc comme solution de base x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 42,
x6 = 17 et x7 = 24. Le bénéfice correspondant est z = 0.
Brice Mayag
Algorithme du simplexe
Cours RO
16 / 30
Exemple 2
En partant de cette solution basique, on va chercher à améliorer le bénéfice z.
Pour cela on va choisir une variable hors-base dont le coefficient dans la dernière
ligne (ligne de z) est positif. Par exemple x3 .
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 économique z croı̂t aussi.
Mais jusqu’où peut-on “pousser” x3 , tout en gardant x1 , x2 et x4 à zéro? Il faut
aussi que la solution reste admissible.
Les contraintes sur l’augmentation de x3 sont alors:
x5 ≥ 0 ⇒ 42 − 5x3 ≥ 0 ⇒ x3 ≤ 8.4
x6 ≥ 0 ⇒ 17 − 3x3 ≥ 0 ⇒ x3 ≤ 8.5
x7 ≥ 0 ⇒ 24 − 3x3 ≥ 0 ⇒ x3 ≤ 8
La plus restrictive de ces contraintes est x3 ≤ 8
Brice Mayag
Algorithme du simplexe
Cours RO
17 / 30
Exemple 2
On fait un changement de dictionnaire en échangeant les rôles de x3 et x7 . Pour cela, on
utilise la troisième équation du Dictionnaire 1 (équation contenant x7 ) pour exprimer x3
en fonction de x1 , x2 , x4 et x7 :
x3 = 8 −
1
2
1
x1 − x2 − x4 − x7
3
3
3
On remplace ensuite x3 par cette expression dans les autres équations du dictionnaire:
Exemple (Dictionnaire 2)
x5
x6
x3
z
=
=
=
=
2
1
8
144
−
−
−
+
1
x
3 1
1
x
3 1
1
x
3 1
x1
−
+
−
−
2
x
3 2
1
x
3 2
2
x
3 2
3x2
+
+
−
−
5
x
3 7
2
x
3 7
1
x
3 7
6x7
−
2x4
−
−
x4
x4
La variable x7 est sortie de la base et la variable x3 est entrée en base
x5 , x6 , x3 deviennent les variables de base
x1 , x2 , x4 et x7 deviennent les variables hors-base
On aura donc comme solution de base du Dictionnaire 2 est x1 = 0, x2 = 0, x3 = 8,
x4 = 0, x5 = 2, x6 = 1 et x7 = 0. Le bénéfice correspondant est z = 144.
Brice Mayag
Algorithme du simplexe
Cours RO
18 / 30
Exemple 2
En partant de cette solution basique, on va chercher à améliorer le bénéfice z.
Pour cela on va choisir une variable hors-base dont le coefficient dans la dernière
ligne (ligne de z) est positif. Seule x1 a un coefficient positif.
On fait donc entrer x1 dans la base.
Mais jusqu’où peut-on “pousser” x1 , tout en gardant x2 , x4 et x7 à zéro? Il faut
aussi que la solution reste admissible.
Les contraintes sur l’augmentation de x1 sont alors:
x5 ≥ 0 ⇒ x1 ≤ 6
x6 ≥ 0 ⇒ x1 ≤ 3
x3 ≥ 0 ⇒ x1 ≤ 24
La plus restrictive de ces contraintes est x1 ≤ 3
Brice Mayag
Algorithme du simplexe
Cours RO
19 / 30
Exemple 2
On fait un changement de dictionnaire en échangeant les rôles de x1 et x6 .
On fait sortir x6 de la base et on fait rentrer x1 à sa place en fait les mêmes
manipulations que précédemment. On obtient le dictionnaire suivant:
Exemple (Dictionnaire 3)
x5
x1
x3
z
=
=
=
=
1
3
7
147
+
−
+
−
x6
3x6
x6
3x6
− x2
+ x2
− x2
− 2x2
+
+
−
−
x7
2x7
x7
4x7
−
2x4
−
−
x4
x4
x5 , x1 , x3 deviennent les variables de base
x6 , x2 , x4 et x7 deviennent les variables hors-base
On aura donc comme solution de base du Dictionnaire 3 x1 = 3, x2 = 0, x3 = 7,
x4 = 0, x5 = 1, x6 = 0 et x7 = 0. Le bénéfice correspondant est z = 147.
Tous les coefficients de la dernière ligne étant négatifs, nous avons trouvé la
solution du problème: (3, 0, 7, 0)
Brice Mayag
Algorithme du simplexe
Cours RO
20 / 30
L’algorithme général du simplexe:
Plan
1
Exemple 1
2
Exemple 2
3
L’algorithme général du simplexe:
Les étapes du simplexe
Retour à l’exemple 1
Retour à l’exemple 2
Brice Mayag
Algorithme du simplexe
Cours RO
21 / 30
L’algorithme général du simplexe:
Dans l’algorithme du simplexe, chaque dictionnaire est matérialisé par un tableau
appelé tableau du simplexe qui après la mise sous forme standard du problème
linéaire se présente comme suit:
Brice Mayag
B
xB1
..
.
b
b1
..
.
x1
α11
..
.
xBm
c̄
bm
z
αm1
c̄1
...
xn+m
. . . α1,n+m
..
..
.
.
. . . αm,n+m
...
c̄n+m
Algorithme du simplexe
Cours RO
22 / 30
L’algorithme général du simplexe:
Les étapes du simplexe
On considère le problème et sa forme standard (après ajout des m variables d’écart):
Max
n
X
cj xj
j=1
n
X
Max
aij xj ≤ bi , i = 1, . . . , m
n+m
X
cj xj
j=1
n+m
X
aij xj = bi , i = 1, . . . , m
j=1
j=1
xj ≥ 0, j = 1, . . . , n
xj ≥ 0, j = 1, . . . , n + m
Les étapes de l’algorithme du simplexe sont:
Étape 1: Initialisation du tableau du simplexe:
b i = bi , c j = cj , αij = aij , z = 0
B
xB1
..
.
xBm
c̄
b
b1
..
.
bm
z
Brice Mayag
x1
α11
..
.
αm1
c̄1
...
...
..
.
...
...
xn+m
α1,n+m
..
.
αm,n+m
c̄n+m
⇒
B
xB1
..
.
xBm
c̄
Algorithme du simplexe
b
b1
..
.
bm
0
x1
a11
..
.
am1
c1
...
...
..
.
...
...
xn+m
a1,n+m
..
.
am,n+m
cn+m
Cours RO
23 / 30
L’algorithme général du simplexe:
B
xB1
..
.
b
b1
..
.
x1
α11
..
.
xBm
c̄
bm
z
αm1
c̄1
Les étapes du simplexe
...
xn+m
. . . α1,n+m
..
..
.
.
. . . αm,n+m
...
c̄n+m
Étape 2: Choix de la colonne du pivot (variable à entrer dans la base):
1
2
Si c i ≤ 0, j = 1, . . . , n + m, alors STOP (la solution optimale est trouvée)
Sinon, choisir une colonne s telle que c s > 0
Étape 3: Choix de la ligne du pivot (variable à sortir de la base):
1
Si αis ≤ 0, i = 1, . . . , m, alors STOP (la fonction objectif n’est pas bornée)
2
Sinon, choisir une ligne r telle que
br
bi
: i = 1, . . . , m, αis > 0}
= min{
αrs
αis
Brice Mayag
Algorithme du simplexe
Cours RO
24 / 30
L’algorithme général du simplexe:
B
xB1
..
.
xBr
..
.
xBm
c̄
b
b1
..
.
br
..
.
bm
z
x1
α11
..
.
αr1
..
.
αm1
c̄1
...
...
..
.
...
..
.
...
...
Les étapes du simplexe
xs
α1s
..
.
αrs
..
.
αms
c̄s
...
...
..
.
...
..
.
...
...
xn+m
α1,n+m
..
.
αr,n+m
..
.
αm,n+m
c̄n+m
Étape 4: pivot (passage d’un tableau au tableau suivant):
1
Transformation de la ligne pivot: elle est divisée par l’élément pivot.
′
br =
αrj
br
; α′rj =
j = 1, . . . , n + m
αrs
αrs
2
Transformation de la colonne pivot: toutes les cases sauf la case pivot deviennent
zéro:
α′is = 0, i = 1, . . . , r − 1, r + 1, . . . , m
3
Transformation des autres cases du tableau. On applique la règle suivante
α′ij = αij −
Brice Mayag
αis αrj
αis b r
c s αrj
c s br
′
, bi = bi −
, c ′j = c j −
, z′ = z +
αrs
αrs
αrs
αrs
Algorithme du simplexe
Cours RO
25 / 30
L’algorithme général du simplexe:
Retour à l’exemple 1
Exemple (Reprenons l’exemple 1)
Max
z=
20 x1
x1
x1
2 x1
x1 ,
+
+
+
+
x2 ,
30 x2
3 x2
x2
x2
x3 ,
+
x3
+
x4
≥
0
+
x4 ,
x5
x5
=
=
=
18
8
14
Exemple (Première itération de l’algorithme)
Choix de la colonne du pivot: choisir une colonne s telle que c s > 0. Ici, on choisit
x1 .
Choix de la ligne du pivot: choisir une ligne r telle que
br
= min{ abisi : i = 1, . . . , m, ais > 0}. Ici, on obtient la ligne de x5 .
ars
B
x3
x4
x5
c̄
b
18
8
14
0
x1
1
1
2
20
x2
3
1
1
30
x3
1
0
0
0
x4
0
1
0
0
x5
0
0
1
0
Le pivot du tableau est donc le point d’intersection entre la colonne et la ligne du pivot.
Brice Mayag
Algorithme du simplexe
Cours RO
26 / 30
L’algorithme général du simplexe:
Retour à l’exemple 1
Exemple (Première itération de l’algorithme)
B
x3
x4
x5
c̄
b
18
8
14
0
x1
1
1
2
20
x2
3
1
1
30
x3
1
0
0
0
x4
0
1
0
0
x5
0
0
1
0
Exemple (Deuxième itération de l’algorithme)
La ligne du pivot (2) est divisée par l’élément pivot et toutes les cases du pivot sauf la
case pivot deviennent zéro.
′
′
′
′
′
b 1 = 18 − 1×14
= 3 − 1×1
= 1 − 1×0
= 0,
= 11; b 2 = 8 − 1×14
= 1; a12
; a13
= 1; a14
2
2
2
2
′
′
′
′
20×0
20×0
20×0
1×1
a15 = 0 − 2 = −1/2; c̄2 = 30 − 2 = 0; c̄3 = 0 − 2 = 0; c̄4 = 0 − 2 = 0;
c̄5′ = 0 − 20×1
= −10; z ′ = 0 + 20×14
= 140
2
2
B
x3
x4
x1
c̄
Brice Mayag
b
11
1
7
140
x1
0
0
1
0
x2
5/2
1/2
1/2
20
x3
1
0
0
0
Algorithme du simplexe
x4
0
1
0
0
x5
−1/2
−1/2
1/2
−10
Cours RO
27 / 30
L’algorithme général du simplexe:
Retour à l’exemple 1
Exemple (Troisième itération de l’algorithme)
B
x3
x2
x1
c̄
b
6
2
6
180
x1
0
0
1
0
x2
0
1
0
0
x3
1
0
0
0
x4
−5
2
−1
−40
x5
2
−1
1
10
Exemple (Quatrième itération de l’algorithme)
B
x5
x2
x1
c̄
Brice Mayag
b
3
5
3
210
x1
0
0
1
0
x2
0
1
0
0
x3
1/2
1/2
−1/2
−5
Algorithme du simplexe
x4
−5/2
−1/2
3/2
−15
x5
1
0
0
0
Cours RO
28 / 30
L’algorithme général du simplexe:
Retour à l’exemple 2
Exemple (Reprenons l’exemple 2)
Max
z=
7x1
2x1
x1
x1
x1
+
+
+
+
,
9x2
4x2
x2
2x2
x2
+
+
+
+
,
18x3
5x3
2x3
3x3
x3
+
+
+
+
,
17x4
7x4
2x4
3x4
x4
+
,
x5
x5
+
x6
,
x6
+
,
x7
x7
= 42
= 17
= 24
≥0
Exemple (Première itération de l’algorithme)
B
x5
x6
x7
c̄
Brice Mayag
b
42
17
24
0
x1
2
1
1
7
x2
4
1
2
9
x3
5
2
3
18
x4
7
2
3
17
Algorithme du simplexe
x5
1
0
0
0
x6
0
1
0
0
x7
0
0
1
0
Cours RO
29 / 30
L’algorithme général du simplexe:
Retour à l’exemple 2
Exemple (Deuxième itération de l’algorithme)
B
x5
x6
x3
c̄
b
2
1
8
144
x1
x2
1
3
1
3
1
3
2
3
− 31
1
−3
21
3
x3
0
0
1
0
x4
2
0
1
−1
x5
1
0
0
0
x6
0
1
0
0
x7
− 35
− 32
x5
1
0
0
0
x6
−1
3
−1
−3
x7
−1
−2
1
−4
1
3
−6
Exemple (Troisième itération de l’algorithme)
B
x5
x1
x3
c̄
Brice Mayag
b
1
3
7
147
x1
0
1
0
0
x2
1
−1
1
−2
x3
0
0
1
0
x4
2
0
1
−1
Algorithme du simplexe
Cours RO
30 / 30