Vous êtes sur la page 1sur 25

Introduction à la

Recherche Opérationnelle

• ALGORITHME DE SIMPLEXE À L’AIDE DES VARIABLES


ARTIFICIELLES

• M-MÉTHODES

• SIMPLEXE EN 2 PHASES
ALGORITHME DE SIMPLEXE / VARIABLES ARTIFICIELLES

• En regardant la forme canonique d’un PL, nous remarquons dans les


contraintes l’existence des inégalités d’infériorités ‘ ≤ ’ et des
variables de décisions non négatives.

• Souvent, on commence simplexe au sommet x = (0, 0, …,0) qui


appartient à l’espace de solution réalisable.

• Si la forme canonique n’est pas respectée et s’il existe une


contrainte de supériorité ‘ ≥ ’ on remarque ce qui suit :

• En premier temps, pour atteindre la forme standard:


– ajouter des variables d’écart non négatives.
– Puisqu’on a une inégalité ‘ ≥ ’, ces variables d’écart sont d’un signe
négatif.
15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 2
ALGORITHME DE SIMPLEXE / VARIABLES ARTIFICIELLES
• Ex 1: x1 + 3x2 ≥ 4 (x1, x2 ≥ 0)
Devient : x1 + 3x2 – t1 = 4 (x1, x2,t1 ≥ 0)
Si on souhaite initier l’algorithme de simplexe à l’origine (0,0) :
– t1 = 4 càd t1 = –4
 Contradiction avec la contrainte de non négativité de t1

• Conclusion : le point origine X = (0,0,…,0) ne peut pas appartenir à


l’espace de solution réalisable,
 Lancement de l’algorithme avec une solution artificielle.

• Résultat : introduction aux équation(s) semblables, des variable(s)


dites artificielle(s) pour contourner le problème.

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 3


ALGORITHME DE SIMPLEXE / VARIABLES ARTIFICIELLES
• Dans L’Ex 1, on passe de : x1 + 3x2 ≥ 4 (x1, x2 ≥ 0)
• à : x1 + 3x2 – t1 + v1 = 4 (x1, x2, t1, v1 ≥ 0) où v1 est la variable
artificielle.

• Pour résoudre le nouveau PL, deux méthodes étroitement liées sont


les plus citées dans la littérature:
 M-Méthodes

 simplexe en 2-Phases.

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 4


ALGORITHME DE SIMPLEXE / V.A: M-MÉTHODES
• Appelées aussi Méthodes des grands M

• Après avoir inséré les variables artificielles dans la partie des


contraintes, il faut modifier la fonction objectif de la manière
suivante :

• Etant donnée une valeur M très grande (M  +∞), on ajoute à la


fonction objectif les variables artificielles avec des coefficients –M,
si le PL est un problème de maximisation et avec des coefficients M
(+M) si le PL est un problème de minimisation et on résout le
nouveau PL.

• IN FINE: Si la solution finale contient des variables artificielles non


nulles, alors le problème initial n’a pas de solution.
15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 5
ALGORITHME DE SIMPLEXE / V.A: M-MÉTHODES
• Exemple: PLVA1
Min x1 + x2
Sc
2x1 + x2 ≥ 12
5x1 + 8x2 ≥ 74
x1 + 6x2 ≥ 24
x1 , x2 ≥ 0
après insertion des variables d’écart et des variables artificielles, le PL
devient:
Min Z = x1 + x2 + MA1 + MA2+ MA3
Sc
2x1 + x2 - S1 + A1 = 12
5x1 + 8x2 - S2 + A2 = 74
x1 + 6x2 - S3 + A3 = 24
x1 , x2 , S1 , S2 , S3 , A1 , A2 ≥ 0

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 6


15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 7
ALGORITHME DE SIMPLEXE / V.A: M-MÉTHODES
• Le tableau initial de simplexe devient (après remplacement des
expressions des Ai dans la fonction objectif)
Iter 0 x1 x2 S1 S2 S3 A1 A2 A3

A1 2 1 -1 0 0 1 0 0 12

A2 5 8 0 -1 0 0 1 0 74

A3 1 6 0 0 -1 0 0 1 24

Z’ 1 1 0 0 0 M M M 0

Z 1-8M 1-15M M M M 0 0 0 110M

• Relatif au sommet artificiel (0,0)


• Pb de minimisation, on choisit le coefficient négatif qui a la plus grande
valeur absolue : 1-15M (puisque M est très grand).
15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 8
ALGORITHME DE SIMPLEXE / V.A: M-MÉTHODES

Iter 1 x1 x2 S1 S2 S3 A1 A2 A3

A1 11/6 0 -1 0 1/6 1 0 -1/6 8

A2 22/6 0 0 -1 4/3 0 1 -4/3 42

x2 1/6 1 0 0 -1/6 0 0 1/6 4

Z (5-33M)/6 0 M M (1-9M)/6 0 0 (15M-1)/6 4+50M

• Relatif au sommet artificiel (0,4)


• intersection des droites relatives aux contraintes x1 ≥ 0 et x1 + 6x2 ≥ 24

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 9


ALGORITHME DE SIMPLEXE / V.A: M-MÉTHODES

Iter 2 x1 x2 S1 S2 S3 A1 A2 A3

x1 1 0 -6/11 0 1/11 6/11 0 -1/11 48/11

A2 0 0 2 -1 1 -2 1 -1 26

x2 0 1 1/11 0 -2/11 -1/11 0 6/33 36/11

Z 0 0 5/11 -2M M -M + 1/11 3M-5/11 0 2M-1/11 84/11+26M

• l’Itération 2 correspond au sommet artificiel (48/11 , 36/11) intersection des


droites relatives aux contraintes 2x1 + x2 ≥ 12 et x1 + 6x2 ≥ 24

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 10


ALGORITHME DE SIMPLEXE / V.A: M-MÉTHODES

Iter 3 x1 x2 S1 S2 S3

x1 1 0 0 -3/11 4/11 126/11

S1 0 0 1 -1/2 1/2 13

x2 0 1 0 1/22 -5/22 23/11

Z 0 0 0 5/22 -3/22 149/11

• l’Itération 3 correspond au sommet réel (126/11 , 23/11) intersection des


droites relatives aux contraintes 5x1 + 8x2 ≥ 74 et x1 + 6x2 ≥ 24

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 11


ALGORITHME DE SIMPLEXE / V.A: M-MÉTHODES
• Remarques
 Les sommets correspondants aux itérations 0,1 et 2 sont des sommets
artificiels (qui n’appartiennent pas à l’espace de solution).

 Les tableaux correspondants auxdites itérations contiennent des


variables artificielles dans les variables de bases.

 Le sommet correspondant à l’itération 4 est un sommet réel qui


appartient à l’espace de solution (disparition de toutes les variables
artificielles de la base).

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 12


ALGORITHME DE SIMPLEXE / V.A: M-MÉTHODES

Iter 5 x1 x2 S1 S2 S3

x1 1 0 -8/11 1/11 0 2

S3 0 0 2 -1 1 26

x2 0 1 5/11 -2/11 0 8

Z 0 0 3/11 1/11 0 10

• Pas de coefficient non positif pour les variables hors base (Puisque on est
devant un problème de minimisation)
• d’où l’itération actuelle est finale et la solution optimale est atteinte via les
coordonnées (2,8) et sa valeur est 10.
• Cette méthode entraine des erreurs d’arrondi lors de son automatisation.
15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 13
ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES

• Cette méthode, remédie au problème des erreurs d’arrondi


entrainées par les calculs de la M-Méthode.

• Après avoir inséré les variables artificielles (non négatives) dans la


partie des contraintes, on résout le PL en 2 phases:

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 14


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• Phase 1 (PL1) : consiste à trouver un sommet artificiel de
lancement pour la phase initiale du simplexe (puisque le point
origine (0,0) n'est pas un sommet réel: n’est pas une solution
réalisable).

• La partie des contraintes est la même qui contient éventuellement


les variables artificielles (et les variables d’écart aussi).

• Quant à la fonction objectif elle représente la minimisation de la


somme des variables artificielles insérées :

• Minimiser r = R1 + R2 + … + Rk / k est le nombre de variable


artificielles.

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 15


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• Avant de commencer à faire tourner le simplexe du PL1, il faut faire
les transformations nécessaires pour rendre à nulle (0) les valeurs
des Δj des variables artificielles. (puisque elles sont des variables de
bases).

• Si la solution de ce PL1 est strictement positive (valeur minimale de


la somme des variables artificielles) :
 Le PL n'a pas de solution possible,
 Terminaison du processus.

• Sinon: passez à la phase 2.

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 16


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• Phase 2 (PL2):
 Supprimer les colonnes des variables artificielles du tableau final de la
phase 1.

 La fonction objectif du PL2 est celle du PL initial.

 Les contraintes du PL2 sont les contraintes arrêtées à la phase 1


(extraites du tableau final).

 Avant de commencer à faire tourner le simplexe du PL2, il faut faire,


éventuellement, les transformations nécessaires pour rendre à nulle
(0) les valeurs des Δj des variables de base.
• Rappel :
Dans la phase 2, nous utilisons la solution réalisable issue de la phase 1
comme solution de base de départ pour le PL 2.
15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 17
ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• Exemple : PLVA2
Max Z = 4x + y
SC
3x + y ≥ 3
4x + 3y ≥ 6
x + 2y ≤ 4
x,y ≥ 0

Insertion variables d’écart et variables artificielles


Max 4x + y
SC
3x + y – u + a1 = 3
4x + 3y - v + a2 = 6
x + 2y + w = 4
x,y,u,v,w,a1,a2 ≥ 0

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 18


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• PLVA2: Résolution graphique (confirmation)

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 19


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• PLVA2: Phase 1
 Phase 1 : Max r = - a1 – a2 (ou Min r = a1 + a2 )

I0 x y u v w a1 a2

a1 3 1 -1 0 0 1 0 3

a2 4 3 0 -1 0 0 1 6

w 1 2 0 0 1 0 0 4

r’ 0 0 0 0 0 -1 -1 0

r 7 4 -1 -1 0 0 0 -9

 R1 : Dans la ligne r’, a1 et a2 sont des variables de base, donc elles


doivent avoir des composantes nulles, d’où la màj pour avoir la ligne r.

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 20


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• PLVA2: Phase 1

I1 x y u v w a1 A2

x 1 1/3 -1 / 3 0 0 1/3 0 1

a2 0 5/3 4/3 -1 0 -4 / 3 1 2

w 0 5/3 1/3 0 1 -1 / 3 0 3

r 0 5/3 4/3 1 0 -7 / 3 0 -2

• L’itération 1 correspond au sommet artificiel (1,0). (Voir la figure FVA-2)

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 21


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• PLVA2: Phase 1

I2 x y u v w a1 a2

x 1 0 -3 / 5 1/5 0 3 / 5 -1 / 5 3/5

y 0 1 4/5 -3 / 5 0 -4 / 5 3 / 5 6/5

w 0 0 -1 1 1 1 -1 1

r 0 0 0 0 0 -1 -1 0

• L’itération I2 correspond au sommet réel (3/5, 6/5). (Voir la figure FVA-2)


• On maximise r = -a1 – a2 et a1, a2 ≥ 0
• Arrêt Phase 1 car r a atteint 0.

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 22


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• PLVA2: Phase 2

I3 x Y u v w

x 1 0 -3 / 5 1/5 0 3/5

y 0 1 4/5 -3 / 5 0 6/5

w 0 0 -1 1 1 1
Z’ 4 1 0 0 0 0

18/5
Z 0 0 8/5 -1 / 5 0
(3/5 , 6/5)

• R2 : Même remarque que R1

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 23


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• PLVA2:

I4 x y u v w

x 1 3/4 0 -1 / 4 0 3/2

u 0 5/4 1 -3 / 4 0 3/2

w 0 5/4 0 1/4 1 5/2

6
Z 0 -2 0 1 0
(3/2 , 0)

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 24


ALGORITHME DE SIMPLEXE / V.A: MÉTHODE 2 PHASES
• PLVA2:

I5 x y u v w

x 1 2 0 0 1 4

u 0 5 1 0 3 9

v 0 5 0 1 4 10

16
Z 0 -7 0 0 -4
(4 , 0)

• Arrêt, Solution optimale Z* = 16 relative aux coordonnées (x,y) = ( 4, 0)

15/10/2019 16:03 Cours : Introduction à la Recherche Opérationnelle 25