algorithme du simplexe - laboratoire d’analyse et de modélisation de...

30
Algorithme du simplexe Brice Mayag Cours RO Brice Mayag Algorithme du simplexe Cours RO 1 / 30

Upload: others

Post on 06-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Algorithme du simplexe

Brice Mayag

Cours RO

Brice Mayag Algorithme du simplexe Cours RO 1 / 30

Page 2: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

Plan

1 Exemple 1

2 Exemple 2

3 L’algorithme general du simplexe:Les etapes du simplexeRetour a l’exemple 1Retour a l’exemple 2

Brice Mayag Algorithme du simplexe Cours RO 2 / 30

Page 3: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

Exemple

A l’approche des fetes de Paques, un artisan chocolatier decide de confectionnerdes oeufs en chocolat. En allant inspecter ses reserves, il constate qu’il lui reste 18kg de cacao, 8 kg de noisettes et 14 kg de lait. Il a deux specialites : l’oeuf Extraet l’oeuf Sublime. Un oeuf Extra necessite 1 kg de cacao, 1 kg de noisettes et 2kg de lait. Un oeuf Sublime necessite 3 kg de cacao, 1 kg de noisettes et 1 kg delait. Il fera un profit de 20 euros en vendant un oeuf Extra, et de 30 euros envendant un oeuf Sublime.Combien d’oeufs Extra et Sublime doit-il fabriquer pour faire le plus grandbenefice possible ?

Oeuf Extra Oeuf Sublime Stock

Cacao 1 3 18Noisette 1 1 8Lait 2 1 14

Benefice 20 30

Brice Mayag Algorithme du simplexe Cours RO 3 / 30

Page 4: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

Exemple

Si on note x1 le nombre d’oeufs extra et x2 le nombre d’oeufs sublime alors leprobleme admet la modelisation suivante:

Max z = 20 x1 + 30 x2x1 + 3 x2 ≤ 18x1 + x2 ≤ 82 x1 + x2 ≤ 14x1 , x2 ≥ 0

La forme standard du probleme sera:

Max z = 20 x1 + 30 x2x1 + 3 x2 + x3 = 18x1 + x2 + x4 = 82 x1 + x2 + x5 = 14x1, x2, x3, x4, x5 ≥ 0

Brice Mayag Algorithme du simplexe Cours RO 4 / 30

Page 5: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

A partir de la forme standard, on construit le tableau suivant:

Exemple (Dictionnaire 1)

x3 = 18 − x1 − 3 x2x4 = 8 − x1 − x2x5 = 14 − 2 x1 − x2z = 20 x1 + 30 x2

Ce tableau est appele dictionnaire

Les variables x3, x4, x5 sont appelees variables de base

Les variables x1, x2 sont appelees variables hors-base

La solution basique (ou solution de base) associee a un dictionnaire estobtenue en donnant la valeur 0 a toutes les variables hors-base.

On aura donc comme solution de base x1 = 0, x2 = 0, x3 = 18, x4 = 8, x5 = 14.Le benefice correspondant est z = 0.

Brice Mayag Algorithme du simplexe Cours RO 5 / 30

Page 6: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

En partant de cette solution basique, on va chercher a ameliorer le benefice z .Pour cela on va choisir une variable hors-base dont le coefficient dans la derniereligne (ligne de z) est positif. Par exemple x1.

Il est evident que si on fait croıtre x1 a partir de 0, les autres variables hors-baserestant nulles, la valeur de la fonction economique z croıt aussi.

Mais jusqu’ou peut-on “pousser” x1, tout en gardant x2 a zero? Il faut aussi quela solution reste admissible.

Les contraintes sur l’augmentation de x1 sont alors:

x3 ≥ 0 ⇒ 18− x1 ≥ 0 ⇒ x1 ≤ 18x4 ≥ 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

Page 7: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

On fait un changement de dictionnaire en echangeant les roles de x1 et x5. Pour cela, onutilise la troisieme equation du Dictionnaire 1 (equation contenant x5) pour exprimer x1en fonction de x2 et x5:

x1 = 7−1

2x2 −

1

2x5

On remplace ensuite x1 par cette expression dans les autres equations du dictionnaire:

Exemple (Dictionnaire 2)

x3 = 11 − 52x2 + 1

2x5

x4 = 1 − 12x2 + 1

2x5

x1 = 7 − 12x2 − 1

2x5

z = 140 + 20 x2 − 10 x5

La variable x5 est sortie de la base et la variable x1 est entree 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 benefice correspondant est z = 140.

Brice Mayag Algorithme du simplexe Cours RO 7 / 30

Page 8: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

En partant de cette solution basique, on va chercher a ameliorer le benefice z .Pour cela on va choisir une variable hors-base dont le coefficient dans la derniereligne (ligne de z) est positif. Seule x2 a un coefficient positif.

On fait donc entrer x2 dans la base.

Mais jusqu’ou peut-on “pousser” x2, tout en gardant x5 a zero? Il faut aussi quela solution reste admissible.

Les contraintes sur l’augmentation de x2 sont alors:

x3 ≥ 0 ⇒ x2 ≤225

x4 ≥ 0 ⇒ x2 ≤ 2x1 ≥ 0 ⇒ x2 ≤ 14

La plus restrictive de ces contraintes est x2 ≤ 2

Brice Mayag Algorithme du simplexe Cours RO 8 / 30

Page 9: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

On fait un changement de dictionnaire en echangeant les roles de x2 et x4.

On fait sortir x4 de la base et on fait rentrer x2 a sa place en faisant les memesmanipulations que precedemment. On obtient le dictionnaire suivant:

Exemple (Dictionnaire 3)

x3 = 6 + 5 x4 − 2 x5x2 = 2 − 2 x4 + x5x1 = 6 + x4 − x5z = 180 − 40 x4 + 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 benefice correspondant est z = 180.

Brice Mayag Algorithme du simplexe Cours RO 9 / 30

Page 10: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

En partant de cette solution basique, on va chercher a ameliorer le benefice z .Pour cela on va choisir une variable hors-base dont le coefficient dans la derniereligne (ligne de z) est positif. Seule x5 a un coefficient positif.

On fait donc entrer x5 dans la base.

Mais jusqu’ou peut-on “pousser” x5, tout en gardant x4 a zero? Il faut aussi quela solution reste admissible.

Les contraintes sur l’augmentation de x5 sont alors:

x3 ≥ 0 ⇒ x5 ≤ 3x2 ≥ 0 ⇒ x5 ≥ −1x1 ≥ 0 ⇒ x5 ≤ 6

La plus restrictive de ces contraintes est x5 ≤ 3

Brice Mayag Algorithme du simplexe Cours RO 10 / 30

Page 11: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 1

On fait un changement de dictionnaire en echangeant les roles de x3 et x5.

On fait sortir x3 de la base et on fait rentrer x5 a sa place en faisant les memesmanipulations que precedemment. On obtient alors le dictionnaire suivant:

Exemple (Dictionnaire 4)

x5 = 3 − 12 x3 + 5

2 x4x2 = 5 − 1

2 x3 + 12x4

x1 = 3 + 12 x3 − 3

2x4z = 210 − 5 x3 − 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 benefice correspondant est z = 210.

Tous les coefficients de la derniere ligne etant negatifs, nous avons trouve lasolution du probleme: 3 oeufs Extra, 5 oeufs Sublime avec un reste de 0 kg decacao, 0 kg de Noisette et 3 kgs de lait, le tout pour un benefice de 210 euros.

Brice Mayag Algorithme du simplexe Cours RO 11 / 30

Page 12: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 2

Plan

1 Exemple 1

2 Exemple 2

3 L’algorithme general du simplexe:Les etapes du simplexeRetour a l’exemple 1Retour a l’exemple 2

Brice Mayag Algorithme du simplexe Cours RO 12 / 30

Page 13: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 2

Exemple

Une entreprise fabrique quatre produits. La fabrication de chaque produit necessiteune certaine quantite de ressources. Les ressources consommees, les stocks desressources et les benefices des produits sont recapitules dans le tableau suivant:

Produit 1 Produit 2 Produit 3 Produit 4 Stock

Ressource A 2 4 5 7 42Ressource B 1 1 2 2 17Ressource C 1 2 3 3 24Benefice 7 9 18 17

Ecrire le programme lineaire permettant d’etablir un plan de production de facona maximiser le chiffre d’affaires.

Brice Mayag Algorithme du simplexe Cours RO 13 / 30

Page 14: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 2

Exemple

Si on note x1; x2; x3; x4 les quantites respectives de produits 1, 2, 3, 4, alors leprobleme admet la modelisation suivante:

Max z = 7x1 + 9x2 + 18x3 + 17x42x1 + 4x2 + 5x3 + 7x4 ≤ 42x1 + x2 + 2x3 + 2x4 ≤ 17x1 + 2x2 + 3x3 + 3x4 ≤ 24x1 , x2 , x3 , x4 ≥ 0

Remarque

Ce probleme est mis ici sous sa forme canonique (avec la recherche du Maximum)

Brice Mayag Algorithme du simplexe Cours RO 14 / 30

Page 15: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 2

Ce probleme mis sous forme standard s’ecrit:

Exemple

Max z = 7x1 + 9x2 + 18x3 + 17x42x1 + 4x2 + 5x3 + 7x4 + x5 = 42x1 + x2 + 2x3 + 2x4 + x6 = 17x1 + 2x2 + 3x3 + 3x4 + x7 = 24x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0

Les variables x5, x6, x7 sont des variables d’ecart qui mesurent pour chaqueressource l’ecart entre la quantite initialement disponible et la quantiteconsommee par le plan de fabrication donne par les variables x1, x2, x3 et x4.

Brice Mayag Algorithme du simplexe Cours RO 15 / 30

Page 16: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 2

A partir de la forme standard, on construit le tableau suivant:

Exemple (Dictionnaire 1)

x5 = 42 − 2x1 − 4x2 − 5x3 − 7x4x6 = 17 − x1 − x2 − 2x3 − 2x4x7 = 24 − x1 − 2x2 − 3x3 − 3x4z = 7x1 + 9x2 + 18x3 + 17x4

Ce tableau est appele dictionnaire

Les variables x5, x6, x7 sont appelees variables de base

Les variables x1, x2, x3 et x4 sont appelees variables hors-base

La solution basique (ou solution de base) associee a un dictionnaire estobtenue en donnant la valeur 0 a 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 benefice correspondant est z = 0.

Brice Mayag Algorithme du simplexe Cours RO 16 / 30

Page 17: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 2

En partant de cette solution basique, on va chercher a ameliorer le benefice z .Pour cela on va choisir une variable hors-base dont le coefficient dans la derniereligne (ligne de z) est positif. Par exemple x3.

Il est evident que si on fait croıtre x3 a partir de 0, les autres variables hors-baserestant nulles, la valeur de la fonction economique z croıt aussi.

Mais jusqu’ou peut-on “pousser” x3, tout en gardant x1, x2 et x4 a zero? Il fautaussi que la solution reste admissible.

Les contraintes sur l’augmentation de x3 sont alors:

x5 ≥ 0 ⇒ 42− 5x3 ≥ 0 ⇒ x3 ≤ 8.4x6 ≥ 0 ⇒ 17− 3x3 ≥ 0 ⇒ x3 ≤ 8.5x7 ≥ 0 ⇒ 24− 3x3 ≥ 0 ⇒ x3 ≤ 8

La plus restrictive de ces contraintes est x3 ≤ 8

Brice Mayag Algorithme du simplexe Cours RO 17 / 30

Page 18: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 2

On fait un changement de dictionnaire en echangeant les roles de x3 et x7. Pour cela, onutilise la troisieme equation du Dictionnaire 1 (equation contenant x7) pour exprimer x3en fonction de x1, x2, x4 et x7:

x3 = 8−1

3x1 −

2

3x2 − x4 −

1

3x7

On remplace ensuite x3 par cette expression dans les autres equations du dictionnaire:

Exemple (Dictionnaire 2)

x5 = 2 − 13x1 − 2

3x2 + 5

3x7 − 2x4

x6 = 1 − 13x1 + 1

3x2 + 2

3x7

x3 = 8 − 13x1 − 2

3x2 − 1

3x7 − x4

z = 144 + x1 − 3x2 − 6x7 − x4

La variable x7 est sortie de la base et la variable x3 est entree 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 benefice correspondant est z = 144.

Brice Mayag Algorithme du simplexe Cours RO 18 / 30

Page 19: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 2

En partant de cette solution basique, on va chercher a ameliorer le benefice z .Pour cela on va choisir une variable hors-base dont le coefficient dans la derniereligne (ligne de z) est positif. Seule x1 a un coefficient positif.

On fait donc entrer x1 dans la base.

Mais jusqu’ou peut-on “pousser” x1, tout en gardant x2, x4 et x7 a zero? Il fautaussi que la solution reste admissible.

Les contraintes sur l’augmentation de x1 sont alors:

x5 ≥ 0 ⇒ x1 ≤ 6x6 ≥ 0 ⇒ x1 ≤ 3x3 ≥ 0 ⇒ x1 ≤ 24

La plus restrictive de ces contraintes est x1 ≤ 3

Brice Mayag Algorithme du simplexe Cours RO 19 / 30

Page 20: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

Exemple 2

On fait un changement de dictionnaire en echangeant les roles de x1 et x6.

On fait sortir x6 de la base et on fait rentrer x1 a sa place en fait les memesmanipulations que precedemment. On obtient le dictionnaire suivant:

Exemple (Dictionnaire 3)

x5 = 1 + x6 − x2 + x7 − 2x4x1 = 3 − 3x6 + x2 + 2x7x3 = 7 + x6 − x2 − x7 − x4z = 147 − 3x6 − 2x2 − 4x7 − 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 benefice correspondant est z = 147.

Tous les coefficients de la derniere ligne etant negatifs, nous avons trouve lasolution du probleme: (3, 0, 7, 0)

Brice Mayag Algorithme du simplexe Cours RO 20 / 30

Page 21: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe:

Plan

1 Exemple 1

2 Exemple 2

3 L’algorithme general du simplexe:Les etapes du simplexeRetour a l’exemple 1Retour a l’exemple 2

Brice Mayag Algorithme du simplexe Cours RO 21 / 30

Page 22: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe:

Dans l’algorithme du simplexe, chaque dictionnaire est materialise par un tableauappele tableau du simplexe qui apres la mise sous forme standard du problemelineaire se presente comme suit:

B b x1 . . . xn+m

xB1 b1 α11 . . . α1,n+m

......

.... . .

...

xBmbm αm1 . . . αm,n+m

c z c1 . . . cn+m

Brice Mayag Algorithme du simplexe Cours RO 22 / 30

Page 23: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe: Les etapes du simplexe

On considere le probleme et sa forme standard (apres ajout des m variables d’ecart):

Max

n∑

j=1

cj xj

n∑

j=1

aij xj ≤ bi , i = 1, . . . ,m

xj ≥ 0, j = 1, . . . , n

Max

n+m∑

j=1

cj xj

n+m∑

j=1

aij xj = bi , i = 1, . . . ,m

xj ≥ 0, j = 1, . . . , n +m

Les etapes de l’algorithme du simplexe sont:Etape 1: Initialisation du tableau du simplexe:

bi = bi , c j = cj , αij = aij , z = 0

B b x1 . . . xn+m

xB1 b1 α11 . . . α1,n+m

......

.... . .

...

xBm bm αm1 . . . αm,n+m

c z c1 . . . cn+m

B b x1 . . . xn+m

xB1 b1 a11 . . . a1,n+m

......

.... . .

...xBm bm am1 . . . am,n+m

c 0 c1 . . . cn+m

Brice Mayag Algorithme du simplexe Cours RO 23 / 30

Page 24: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe: Les etapes du simplexe

B b x1 . . . xn+m

xB1 b1 α11 . . . α1,n+m

......

.... . .

...

xBmbm αm1 . . . αm,n+m

c z c1 . . . cn+m

Etape 2: Choix de la colonne du pivot (variable a entrer dans la base):

1 Si c i ≤ 0, j = 1, . . . , n+m, alors STOP (la solution optimale est trouvee)

2 Sinon, choisir une colonne s telle que c s > 0

Etape 3: Choix de la ligne du pivot (variable a sortir de la base):

1 Si αis ≤ 0, i = 1, . . . ,m, alors STOP (la fonction objectif n’est pas bornee)

2 Sinon, choisir une ligne r telle que

brαrs

= min{biαis

: i = 1, . . . ,m, αis > 0}

Brice Mayag Algorithme du simplexe Cours RO 24 / 30

Page 25: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe: Les etapes du simplexe

B b x1 . . . xs . . . xn+m

xB1 b1 α11 . . . α1s . . . α1,n+m

......

.... . .

.... . .

...

xBr br αr1 . . . αrs . . . αr,n+m

......

.... . .

.... . .

...

xBm bm αm1 . . . αms . . . αm,n+m

c z c1 . . . cs . . . cn+m

Etape 4: pivot (passage d’un tableau au tableau suivant):

1 Transformation de la ligne pivot: elle est divisee par l’element pivot.

b′

r =br

αrs

; α′

rj =αrj

αrs

j = 1, . . . , n +m

2 Transformation de la colonne pivot: toutes les cases sauf la case pivot deviennentzero:

α′

is = 0, i = 1, . . . , r − 1, r + 1, . . . ,m

3 Transformation des autres cases du tableau. On applique la regle suivante

α′

ij = αij −αis αrj

αrs

, b′

i = bi −αis br

αrs

, c ′j = c j −c s αrj

αrs

, z ′ = z +cs br

αrs

Brice Mayag Algorithme du simplexe Cours RO 25 / 30

Page 26: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe: Retour a l’exemple 1

Exemple (Reprenons l’exemple 1)

Max z = 20 x1 + 30 x2x1 + 3 x2 + x3 = 18x1 + x2 + x4 = 82 x1 + x2 + x5 = 14x1, x2, x3, x4, x5 ≥ 0

Exemple (Premiere iteration de l’algorithme)

Choix de la colonne du pivot: choisir une colonne s telle que cs > 0. Ici, on choisitx1.

Choix de la ligne du pivot: choisir une ligne r telle quebrars

= min{ biais

: i = 1, . . . ,m, ais > 0}. Ici, on obtient la ligne de x5.

B b x1 x2 x3 x4 x5x3 18 1 3 1 0 0x4 8 1 1 0 1 0x5 14 2 1 0 0 1

c 0 20 30 0 0 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

Page 27: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe: Retour a l’exemple 1

Exemple (Premiere iteration de l’algorithme)

B b x1 x2 x3 x4 x5x3 18 1 3 1 0 0x4 8 1 1 0 1 0x5 14 2 1 0 0 1

c 0 20 30 0 0 0

Exemple (Deuxieme iteration de l’algorithme)

La ligne du pivot (2) est divisee par l’element pivot et toutes les cases du pivot sauf lacase pivot deviennent zero.b′

1 = 18− 1×142

= 11; b′

2 = 8− 1×142

= 1; a′12 = 3− 1×12; a′13 = 1− 1×0

2= 1; a′14 = 0,

a′15 = 0− 1×12

= −1/2; c ′2 = 30− 20×02

= 0; c ′3 = 0− 20×02

= 0; c ′4 = 0− 20×02

= 0;c ′5 = 0− 20×1

2= −10; z ′ = 0 + 20×14

2= 140

B b x1 x2 x3 x4 x5x3 11 0 5/2 1 0 −1/2x4 1 0 1/2 0 1 −1/2x1 7 1 1/2 0 0 1/2

c 140 0 20 0 0 −10

Brice Mayag Algorithme du simplexe Cours RO 27 / 30

Page 28: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe: Retour a l’exemple 1

Exemple (Troisieme iteration de l’algorithme)

B b x1 x2 x3 x4 x5x3 6 0 0 1 −5 2x2 2 0 1 0 2 −1x1 6 1 0 0 −1 1

c 180 0 0 0 −40 10

Exemple (Quatrieme iteration de l’algorithme)

B b x1 x2 x3 x4 x5x5 3 0 0 1/2 −5/2 1x2 5 0 1 1/2 −1/2 0x1 3 1 0 −1/2 3/2 0

c 210 0 0 −5 −15 0

Brice Mayag Algorithme du simplexe Cours RO 28 / 30

Page 29: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe: Retour a l’exemple 2

Exemple (Reprenons l’exemple 2)

Max z = 7x1 + 9x2 + 18x3 + 17x42x1 + 4x2 + 5x3 + 7x4 + x5 = 42x1 + x2 + 2x3 + 2x4 + x6 = 17x1 + 2x2 + 3x3 + 3x4 + x7 = 24x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0

Exemple (Premiere iteration de l’algorithme)

B b x1 x2 x3 x4 x5 x6 x7x5 42 2 4 5 7 1 0 0x6 17 1 1 2 2 0 1 0x7 24 1 2 3 3 0 0 1

c 0 7 9 18 17 0 0 0

Brice Mayag Algorithme du simplexe Cours RO 29 / 30

Page 30: Algorithme du simplexe - Laboratoire d’Analyse et de Modélisation de …mayag/Algo_Simplexe.pdf · 2016. 3. 3. · Tous les coefficients de la derni`ere ligne ´etant n´egatifs,

L’algorithme general du simplexe: Retour a l’exemple 2

Exemple (Deuxieme iteration de l’algorithme)

B b x1 x2 x3 x4 x5 x6 x7x5 2 1

323

0 2 1 0 − 53

x6 1 13

− 13

0 0 0 1 − 23

x3 8 13

213

1 1 0 0 13

c 144 1 −3 0 −1 0 0 −6

Exemple (Troisieme iteration de l’algorithme)

B b x1 x2 x3 x4 x5 x6 x7x5 1 0 1 0 2 1 −1 −1x1 3 1 −1 0 0 0 3 −2x3 7 0 1 1 1 0 −1 1

c 147 0 −2 0 −1 0 −3 −4

Brice Mayag Algorithme du simplexe Cours RO 30 / 30