Introduction Objectif Mise sous forme standard Algorith Algo rithme me du simpl simplexe exe : Méthode algébrique algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
L’algorithme du simplexe Mohammed Saddoune
12 novembre 2013
Introduction Objectif Mise sous forme standard Algorith Algo rithme me du simpl simplexe exe : Méthode algébrique algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Introduction
L’algorithme du simplexe est la méthode la plus utilisée de la recherche opérationnelle. C’est Dantzig qui, dans un article paru en 1949, a décrit cet algorithme, qui constitue l’épine dorsale de la recherche opérationnelle. Depuis, cet algorithme a fait l’objet de plusieurs centaines d’articles scientifiques et a servi à la résolution de nombreux modèles linéaires relatifs à des problèmes de gestion, de transport, d’affectation...
Introduction Objectif Mise sous forme standard Algorith Algo rithme me du simpl simplexe exe : Méthode algébrique algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Introduction
L’algorithme du simplexe est la méthode la plus utilisée de la recherche opérationnelle. C’est Dantzig qui, dans un article paru en 1949, a décrit cet algorithme, qui constitue l’épine dorsale de la recherche opérationnelle. Depuis, cet algorithme a fait l’objet de plusieurs centaines d’articles scientifiques et a servi à la résolution de nombreux modèles linéaires relatifs à des problèmes de gestion, de transport, d’affectation...
Introduction Objectif Mise sous forme standard Algorith Algo rithme me du simpl simplexe exe : Méthode algébrique algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Objectif
L’objectif de ce chapitre est double : Présen Présenter ter les concep concepts ts de base base de l’algo l’algorit rithme hme du simple simplexe xe ; Décrire, à l’aide d’exemples numériques, comment résoudre un modèle linéaire par l’algorithme du simplexe.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Les variables d’écart et les variables d’excédent - L’algorithme du simplexe permet d’optimiser les modèles linéaires continus dont les variables sont non-négatives et dont les contraintes sont écrites sous formes d’équations. Beaucoup de problèmes pratiques, toutefois, se modélisent de telle façon que plusieurs contraintes s’écrivent sous forme d’inéquations. - Afin de pouvoir utiliser l’algorithme du simplexe pour résoudre ces problèmes, nous indiquons comment transformer un modèle comportant des contraintes des signes ≤ ou ≥ en un modèle équivalent dont toutes les contraintes, sauf celles de non-négativité, sont de signe =.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Problème de production Une entreprise peut fabriquer, sur une machine donnée, travaillant 45 heures par semaine trois produits différents P 1 , P 2 et P 3 . Cette machine peut fabriquer un seul type de produits à la fois ; ses temps de régalges sont négligeables. Une unité du produit P 1 laisse un profit net de 4 euros, une de P 2 , un profit de 12 euros, et enfin, 3 euros pour P 3 . Les rendements de la machine sont, respectivement pour les trois produits, et dans le même ordre : 50, 25 et 75 unités par heure. On sait d’autre part, grâce à une étude de marché que les possibilités de vente ne dépassent pas 1000 unités de P 1 , 500 unités de P 2 et 1500 unités de P 3 , par semaine. Le problème est comment répartir la capacité de production entre les trois produits, de manière à maximiser le profit hebdomadaire.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Modèle Appelons x 1 , x 2 et x 3 les quantités respectives (inconnues) des produits P 1 , P 2 et P 3 que nous avons à fabriquer pour obtenir le profit maximal. Formulation complète Max z = 4x 1 + 12x 2 + 3x 3
1 x 1 + 50
subject to : x 1 ≤ 1000 x 2 ≤ 500 x 3 ≤ 1500 1 1 x 2 + x 3 ≤ 45 25 75 x i ≥ 0, ∀ i
(1) (2) (3) (4) (5) (6) (7)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Modèle Appelons x 1 , x 2 et x 3 les quantités respectives (inconnues) des produits P 1 , P 2 et P 3 que nous avons à fabriquer pour obtenir le profit maximal. Formulation complète Max z = 4x 1 + 12x 2 + 3x 3
1 x 1 + 50
subject to : x 1 ≤ 1000 x 2 ≤ 500 x 3 ≤ 1500 1 1 x 2 + x 3 ≤ 45 25 75 x i ≥ 0, ∀ i
(1) (2) (3) (4) (5) (6) (7)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Modèle Formulation complète Max z =
4x 1 + 12x 2 + 3x 3
(8)
subject to :
(9)
x 1
≤ 1000
(10)
≤ 500
(11)
≤ 1500
(12)
x 2 x 3
3x 1 + 6x 2 + 2x 3 ≤ 6750
(13)
≥ 0, ∀ i
(14)
x i
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Définition La mise sous forme standard consiste à introduire des variables supplémentaires (une pour chaque contrainte) de manière à réécrire les inégalités (≤) ou et (≥) sous la forme d’égalités.
une variable d’écart représente le nombre de ressources non utilisées. Elle sert à transformer en équation la contrainte de signe ≤. une variable d’excédent représente le nombre de ressources en excès par rapport au minimum exigé. Elle sert à transformer en équation la contrainte de signe ≥. En programmation linéaire, l’écriture des contraintes respecte généralement la covention suivante : les termes impliquant une variable sont tous placés à gauche du symbole relationnel ( =, ≤, ≥); le terme constant est isolé à droite et il est non négatif .
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Modèle : Forme standard Forme standard Max z = 4x 1 + 12x 2 sujet à : + x 4 x 1 x 2
+
3x 3
+
0x 4
+ x 5
+ x 6 x 3 3x 1 + 6x 2 + 2x 3 x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ≥ 0,
+
0x 5
+
0x 6
+
0x 7
= 1000 = 500 = 1500 + x 7 = 6750
Interprétation Les variables x 4 , x 5 , x 6 et x 7 sont nommées variables d’écart. x 4 représente l’écart à la saturation du marché en produit P 1 . Les variables d’écart ont une contribution nulle à la f onction objectif (ou économique)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Modèle : Forme standard Forme standard Max z = 4x 1 + 12x 2 sujet à : + x 4 x 1 x 2
+
3x 3
+
0x 4
+ x 5
+ x 6 x 3 3x 1 + 6x 2 + 2x 3 x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ≥ 0,
+
0x 5
+
0x 6
+
0x 7
= 1000 = 500 = 1500 + x 7 = 6750
Interprétation Les variables x 4 , x 5 , x 6 et x 7 sont nommées variables d’écart. x 4 représente l’écart à la saturation du marché en produit P 1 . Les variables d’écart ont une contribution nulle à la f onction objectif (ou économique)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Définition Une solution de base est obtenue en annulant les n − m variables et en résolvant les m contraintes pour déterminer les valeurs des autres m variables restantes. les n-m variables à 0 sont des variables hors base.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Théorème 1 La région réalisable pour tout problème de programmation linéaire est un ensemble convexe. Si un PL possède une solution optimale, alors un point extrême de la région réalisable doit être optimal. Théorème 2 Pour tout PL, il existe un point extrême unique de la région réalisable qui correspond à chaque solution de base réalisable.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Méthode de simplexe : pratique C’est une procédure itérative qui passe d’une solution réalisable de base à une autre jusqu’à atteindre la solution optimale.
Le nombre de bases candidates ne peut pas excéder
n C m +n .
Une méthode basée sur l’exploration des points extrêmes est ce pendant non-polynomiale. l’expérience montre que pour un problème de n variables et contraintes, la solution optimale est trouvée en moyenne en moins de 3m opérations.
m
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Méthode de simplexe : pratique C’est une procédure itérative qui passe d’une solution réalisable de base à une autre jusqu’à atteindre la solution optimale.
Le nombre de bases candidates ne peut pas excéder
n C m +n .
Une méthode basée sur l’exploration des points extrêmes est ce pendant non-polynomiale. l’expérience montre que pour un problème de n variables et contraintes, la solution optimale est trouvée en moyenne en moins de 3m opérations.
m
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Principe général 1 Soit un programme linéaire sous la forme standard constitué de n variables et m contraintes (n ≥ m). 2 Une solution de base est obtenue en annulant (n − m) variables et en résolvant les m contraintes pour déterminer les valeurs des autres m variables. 3 Pour la méthode de simplexe, une solution réalisable de base initiale est demandée. Dans notre cas par exemple, on peut commencer par la solution oû on annule toutes les variables de décision. 4 À partir de ce point la méthode de simplexe va générer successivement des solutions réalisables de base pour notre système d’équations en s’assurant que la valeur de la fonction objectif est entrain d’augmenter jusqu’à localiser la solution optimale du problème qui est un point extrême de l’espace des solutions réalisables.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Appliquer cette méthode sur le problème de production.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Une compagnie alimentaire produit 2 types de produits (A et B) pour lesquels elle utilise 3 matières premières : blé, houblon et malt.
Type A Type B Quantités disponibles
Blé 2.5 kg 7.5 kg 240 kg
Houblon 125 g 125 g 5 kg
Malt 175 kg 10 kg 595 kg
Bénéfice (euros) 65 115
Table: Description des données Pour fabriquer 1 tonneau du produit A, la compagnie utilise 2.5 kg de blé, 125 g de houblon et 17.5 de malt. La fabrication de ce tonneau rapporte un bénéfice de 65 euros. La même chose pour le type B. 1 2 3
Modéliser ce problème sous la forme d’un programme linéaire. Déterminer graphiquement la fabrication optimale de la production. Vérifier le résultat par la méthode algébrique de simplexe
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Principe 1- choisir le ∆ j le plus grand et positif 2- calculer les quotients αβ où e représente l’indice de la variable qui entrera dans la base. Prendre le rapport le plus petit. 3- repérer le pivot à l’intersection de la ligne s (indice de la colonne associée à la variable x s sortante de la base) et de la colonne e (indice de la colonne associée à la variable x e entrante dans la base). 4- diviser les éléments de la ligne s par le pivot αse c’est à dire dans le tableau central et la colonne de droite. 5- remplacer l’indice du tableau de gauche, 2eme colonne, par l’indice e de la colonne qui entre dans la base. 6- remplacer le coefficient c s du tableau de gauche, 1ere colonne, par la valeur c e du coefficient de la fonction économique. i
ie
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Principe 7- parmi les autres lignes du tableau, celles qui comportent un 0 s ) ne dans la colonne e qui entre dans la base (αke = 0 avec k = sont pas modifées. 8- les éléments des autres lignes du tableau qui comportent un élément différent de 0 dans la colonne qui entre dans la base 0 avec k = s ) sont modifiées comme suit : (αke = on multiplie les éléments de la nouvelle ligne du pivot (désormais ligne e ) par cet élément αke différent de 0 et on soustrait les résultats aux éléments correspondants de la ligne à modifier. ce traitement est applicable aux éléments du vecteur des seconds membres (β ). Il s’applique également aux éléments de la ligne z de la fonction économique.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Dégénérescence de première espèce Pour certains programmes linéaires, l’optimum peut être réalisé en plusieurs points de la frontière du domaine admissible : tous les points d’une arrête ou d’une facette sont alors optimaux. On dit qu’on a une Dégénérescence de première espèce Exemple : Résoudre le problème : 6x 1 + 4x 2
(15)
sous contraintes :
(16)
Max z =
−3x 1 + 2x 2 ≤ 4
(17)
3x 1
2x 2 ≤ 16
(18)
x 1
≤3
(19)
x 1 , x 2
≥0
(20)
+
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Dégénérescence de deuxième espèce Pour certains programmes linéaires, une ou plusieurs variables de la base optimale peut être nulle. On dit qu’on a une Dégénérescence de deuxième espèce Exemple : Résoudre le problème : Max z = x 1 + x 2
(21)
sous contraintes :
(22)
4x 2 ≤ 22
(23)
−3x 1 + 2x 2 ≤ 4
(24)
3x 1
2x 2 ≤ 16
(25)
x 1
≤3
(26)
x 1 , x 2
≥0
(27)
x 1 +
+
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Cas général En général, un programme linéaire peut comporter 3 types de contraintes (P), (Q) et (R) :
(P) : n
n
aij x j ≤ b i
j =1
aij x j + y i = b i (on introduit une variable d’écart)
j =1
(Q) : n
n
aij x j ≥ b i
j =1
aij x j − y i = b i (on introduit une variable d’excédant)
j =1
(R) :
n
aij x j = b i (on n’introduit ni variable d’écart ni variable
j =1
d’excédant)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Cas général En général, un programme linéaire peut comporter 3 types de contraintes (P), (Q) et (R) :
(P) : n
n
aij x j ≤ b i
j =1
aij x j + y i = b i (on introduit une variable d’écart)
j =1
(Q) : n
n
aij x j ≥ b i
j =1
aij x j − y i = b i (on introduit une variable d’excédant)
j =1
(R) :
n
aij x j = b i (on n’introduit ni variable d’écart ni variable
j =1
d’excédant)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Cas général En général, un programme linéaire peut comporter 3 types de contraintes (P), (Q) et (R) :
(P) : n
n
aij x j ≤ b i
j =1
aij x j + y i = b i (on introduit une variable d’écart)
j =1
(Q) : n
n
aij x j ≥ b i
j =1
aij x j − y i = b i (on introduit une variable d’excédant)
j =1
(R) :
n
aij x j = b i (on n’introduit ni variable d’écart ni variable
j =1
d’excédant)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Cas général En général, un programme linéaire peut comporter 3 types de contraintes (P), (Q) et (R) :
(P) : n
n
aij x j ≤ b i
j =1
aij x j + y i = b i (on introduit une variable d’écart)
j =1
(Q) : n
n
aij x j ≥ b i
j =1
aij x j − y i = b i (on introduit une variable d’excédant)
j =1
(R) :
n
aij x j = b i (on n’introduit ni variable d’écart ni variable
j =1
d’excédant)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Cas général En général, un programme linéaire peut comporter 3 types de contraintes (P), (Q) et (R) :
(P) : n
n
aij x j ≤ b i
j =1
aij x j + y i = b i (on introduit une variable d’écart)
j =1
(Q) : n
n
aij x j ≥ b i
j =1
aij x j − y i = b i (on introduit une variable d’excédant)
j =1
(R) :
n
aij x j = b i (on n’introduit ni variable d’écart ni variable
j =1
d’excédant)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Cas général Si toutes les contraintes étaient de type (P), on serait dans le cas favorable traité plus haut. Si on se trouve avec des contraintes de type (Q) ou/et (R), alors on ajoute une nouvelle variable de coefficient 1 nommée variable artificielle. les variables artificielles comme les autres variables sont positives ou nulles. Normalement les valeurs des variables artificielles doivent être nulles, car si non, les contraintes sont violées.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Idée partir d’une base comportant une ou plusieurs variables artificielles et obtenir, en itérant l’algorithme de simplexe, si possible une base sans variables artificielles.
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Résolution Phase 1 : Introduire une nouvelle fonction économique z qui consiste à minimiser la somme des variables artificielles sous les mêmes contraintes du problème (la forme standard avec les variables artificeilles) Phase 2 :
Si z = 0, alors on a obtenu un sommet du polyèdre, à partir duquel on reprend la résolution du PL initial (donc avec la fonction économique z à maximiser).
Si z > 0, alors toute base admissible du nouveau PL comporte au moins une variable artificielle de valeur > 0. Donc le PL initial est impossible (polyédre vide = contraintes sont contradictoires)
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Exemple : Résoudre le problème : Max z =
4x 1
3x 3
(28)
sous contraintes :
(29)
5x 2
2x 2
+
+ x 3 ≤
5
(30)
+ x 2 + x 3 ≥
1
(31)
x 1 + x 2 =
4
(32)
≥0
(33)
x 1 +
2x 1
+
x 1 , x 2 , x 3
Introduction Objectif Mise sous forme standard Algorithme du simplexe : Méthode algébrique Exercice Méthode des tableaux Dégénérescences Méthode des deux phases
Exercice 1 :
Dans une carrière, trois tailles t 1 , t 2 , t 3 sont susceptibles de fournir une extraction maximale journalière de respectivement e 1 = 200, e 2 = 500 et e 3 = 300 tonnes de trois minerais. La production journalière est d’abord stockée dans un local abrité, d’une contenance maximale de 1800 m3 et l’on indique les volumes spécifiques respectifs des trois minerais : 1.8, 2, et 2.2 m3 /t . Le lendemain, les minerais sont lavés : la laverie débite respectivement 80, 90, et 100 tonnes à l’heure pour les produits extraits des tailles t 1 , t 2 , et t 3 ; en outre, son horaire journalier est limité à 10 heures de travail. Enfin, les profits unitaires réalisés sont, respectivement : p 1 = 4, p 2 = 5, p 3 = 6 unités monétaires par tonne de minerai. Quelle est la meilleure répartition des quantités de minerais à extraire ?