Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLucile Favreau Modifié depuis plus de 8 années
1
Chapitre 2 Résolution de Programmes Linéaires
2
La méthode graphique Cette méthode est simple et s’applique à des problèmes de programmation linéaire à deux variables. Le principe consiste à dessiner le polyèdre convexe représentant l’ensemble des contraintes et à parcourir les sommets jusqu’à trouver celui qui optimise la fonction objectif. Exemple: Reprenons l’exemple 1 du chapitre 1 avec t 11 = 0.25 t 12 = 0.4 t 11 = 0 t 21 = 0.5 t 22 = 0.2 t 23 = 0.8 t 1 = t 2 = 40h 1 = 2 2 = 3
3
Modélisation et résolution de l’Exemple 1 Le programme linéaire associé est: Max Z= 2 x 1 + 3 x 2 0,25 x 1 + 0,5 x 2 40 0,4 x 1 + 0,2 x 2 40 0,8 x 2 40 x 1, x 2 0 Le domaine convexe D délimité par l’ensemble des contraintes est représenté dans la Figure 2.1 par la partie hachurée où les sommets sont: O=(0,0) Z O =0 A=(0,50) Z A =150 B=(60,50) Z B =270 C=(80,40) Z C =280 D=(100,0) Z D = 200 Le point extrême qui maximise Z est le sommet C qui est optimale 2 A B 3 C D O D 1
4
La méthode du Simplexe Cette technique a été développée par DANTZIG (1948). Condition d’utilisation: Disposer d’une solution de base réalisable de départ Principe: Passer d’une solution de base réalisable (point extrême) à une autre solution de base réalisable (point extrême) de meilleure valeur de la fonction objectif. Dans le cas où nous ne pouvons pas améliorer la valeur de la fonction objectif alors la solution courante est optimale. Dans le l’exemple 2.1, les différentes itérations de la méthode du simplexe seront comme suit: 1 ière itération A 2 iéme Itération B 3 ième Itération C Terminer Début O D
5
La méthode du simplexe Illustration du fonctionnement de la méthode par l’exemple 2.1 pour déduire l’algorithme: La forme standard du PL est: Max Z= 2 x 1 + 3 x 2 0,25x 1 +0,5 x 2 + e 1 = 40 0,4 x 1 +0,2 x 2 + e 2 = 40 0,8 x 2 + e 3 = 40 x 1, x 2, e 1, e 2, e 3 0 La solution de base réalisable de départ est: x 1 =x 2 =0 (VHB) e 1 =e 2 =e 3 =40 (VB) qui correspond au point extrême O=(0,0) avec ZO=0 1 ière itération: Exprimons les variables de base VB et la fonction objectif en fonction des variables hors base VHB e 1 = 40 - 0,25x 1 - 0,5 x 2 e 2 = 40 - 0,4 x 1 - 0,2 x 2 …………………………(1) e 3 = 40 - 0,8 x 2 Z= 2 x 1 + 3 x 2
6
La méthode du simplexe Pour augmenter la valeur de Z nous devons faire rentrer la variable hors base x 2 (coefficient le plus élevé dans Z) dans la base et faire sortir une variable de base hors base. En gardant x 1 =0 et remplaçant sa valeur dans (1) et en utilisant la non négativité des variables, on obtient: e 1 = 40 - 0,5 x 2 0 x 2 80 e 2 = 40 - 0,2 x 2 0 x 2 200 x 2 50 e 3 = 40 - 0,8 x 2 0 x 2 50 On prendra x 2 = Min { 40/0,5; 40/0,2; 40/0,8} = 50 La nouvelle solution de base réalisable est obtenue en posant x 2 = 50 qui est: x 1 = 0 e 3 =0 (VHB) e 1 = 15 e 2 = 30 x 2 =50 (VB) qui correspond au point B=(0, 50) avec Z B = 150. 2 ième itération: Exprimons les variables de base e 1, e 2 et x 2 en fonction des variables hors base x 1 et e 3 on obtient- x 2 = 50 - 1,25e 3 e 1 = 40 - 0,25x 1 – 0,5 (50 - 1,25e 3 ) = 15-0,25 x 1 + 0,625 e 3 e 2 = 40 - 0,4 x 1 - 0,2 (50 - 1,25e 3 ) = 30-0,4 x 1 + 0,25 e 3 …………(2) Z= 2 x 1 + 3 (50 - 1,25e 3 ) = 150+ 2 x 1 - 3,75 e 3
7
La méthode du simplexe La variable candidate à entrer en base est x 1. En gardant e 3 =0 dans (2), on obtient: x 2 = 50 e 1 = 15 - 0,25x 1 0 x 1 60 x 1 = Min{60, 75}= 60 e 2 = 30-0,4 x 1 0 x 1 75 x 1 entre en base et e 1 sort de la base. On obtient la solution de base réalisable: x 1 =60 x 2 = 50 e 2 = 6 (VB) e 1 = e 3 = 0 (VHB) qui correspond au point B =(60, 50) avec Z B = 270 3 ième itération: En exprimant dans (2) les variables de base et la fonction objectif en fonction des variables hors base, on obtient: x 1 = 60-4e 1 + 2,5 e 3 x 2 = 50 -1,25 e 3 ……………..(3) e 2 = 6 + 1,6 e 1 - 0,75 e 3 Z= 270-8e 1 + 1,25 e 3
8
La méthode du simplexe La variable e 3 entre en base. En gardant e 1 =0 x 1 = 60 +2,5 e 3 0 x 2 = 50 -1,25 e 3 0 e 3 = Min {40, 8}=8 e 2 = 6 - 0,75 e 3 0 e 3 entre en base et e 2 sort de la base. On obtient la solution de base réalisable suivante: x 1 =80 x 2 = 40 e 8 = 8 (VB) e 1 = e 2 = 0 (VHB) qui correspond au point C =(80, 40) avec Z B = 280 4 ième Itération En exprimant dans (3) les variables de base et la fonction objectif en fonction des variables hors base on obtient: e 3 = 8+ 2,13e 1 - 1,33 e 2 x 1 = 80 + 1,33 e 1 - 3,33 e 2 x 2 = 40 - 2,67 e 1 + 1,67 e 3 Z= 280 - 5,33e 1 - 1,67 e 2 On ne peut plus augmenter la fonction objectif. Terminer le point C est optimal
9
La méthode du simplexe Représentation de la méthode du simplexe par les tableaux Pour simplifier et mieux organiser les calculs effectués par cette méthode nous utilisons une représentation des différentes étapes par des tableaux, appelés, tableaux du simplexe Le premier tableau du simplexe reprend les éléments du programme S On supposera que les variables de base sont x 1, x 2, …, x m et les variables hors base sont x m+1, x m+2, …, x n
10
La méthode du simplexe Posons: Le premier tableau du simplexe est: c 1 c 2 … c m c m+1 … c n BaseCBCB P0P0 P 1 P 2 … P m P m+1 … P n x1...xmx1...xm c1...cmc1...cm b1...bmb1...bm 1 0 … 0 a 1,m+1 … a 1,n 0 1 … 0. ….. 0 … 0. …... … 0. …. 0 0 … 1 a m,m+1 … a m,n Z J c 1 c 2 … c m Z m+1 … Z n J -Z 0 0 0 … 0 c m+1 -Z m+1 … c n -Z n
11
La méthode du simplexe Principe de la méthode: Démarrer d’une solution de base réalisable (tableau du simplexe) à une autre solution de base réalisable (tableau du simplexe) de meilleure valeur de Z. Cette transformation consiste à faire entrer (selon un critère d’entrée) une variable hors base dans la base et à faire sortir (selon un critère de sortie) une variable de base hors base. Critère d’entrée: Soit I l’ensemble des indices des variables de Base et J ceux des variables hors base. La variable hors base x r de coefficient r dans la fonction objectif le plus élevé est la variable candidate à entrer en base. En cas d’égalité on fait un choix arbitraire. En d’autres termes: r = Max { j / j > 0, j J}. Critère de sortie: La variable x s qui doit sortir de la base est telle que: b s /a sr = Min {b i /a ir, a ir >0} a sr : est appelé pivot Critère d’arrêt: Pour un problème de maximisation, l’algorithme s’arrête lorsque tous les coefficients j, j J sont négatifs ou nuls
12
La méthode du simplexe Renouvellement du tableau du simplexe Le nouveau tableau s’obtient par les formules suivantes: Ligne pivot: (celle qui contient le pivot) Nouvel élément= Ancien élément / pivot a sj (k+1 ) = a sj (k) / a sr Autres éléments: a ij (k+1) = a ij (k) – a ri (k) *a sj (k) / a sr (k) -- = * / Nouvel Elément Elément correspondant à la colonne pivot Ancien Elément Elément correspondant à la ligne pivot Pivot
13
La méthode du simplexe Algorithme du Simplexe (0) Mettre le programme linéaire sous sa forme standard (1)Recherche d’une solution de base réalisable de départ (2) Construire le premier tableau du simplexe (3) Tester si j 0, j {1, …, n} Si oui, terminer la solution courante est optimale Si non, aller en (4) (4) Soit r = Max { j / j > 0, j J}, la variable x r entre en base Tester Si a ir 0 r {1, …, m} Si oui, le problème ne possède pas de solution optimale finie Si non, aller en (5) (5) Déterminer la variable sortante x s par b s /a sr = Min {b i /a ir, a ir >0} (6) Renouvellement du tableau par les formules données ci haut
14
Exemple de résolution Reprendre l’exemple 1 Max Z= 2 x 1 + 3 x 2 0,25 x 1 + 0,5 x 2 40 0,4 x 1 + 0,2 x 2 40 0,8 x 2 40 x 1, x 2 0 Le premier tableau du simplexe est: 1 ière itération (point O) Basebx 1 x 2 e 1 e 2 e 3 e1 e2 e3 40 0,25 0,5 1 0 0 0,4 0,2 0 1 0 0 0,8 0 0 1 (-Z)02 3 0 0 0
15
Exemple de résolution 2 ième itération Ce tableau correspond au point A=(0,50) 3 ème itération Ce tableau correspond au point B=(60,50) Basebx 1 x 2 e 1 e 2 e 3 e1e2x2e1e2x2 15 30 50 0,25 0 1 0 -0,625 0,4 0 0 1 -0,25 0 1 0 0 1,25 -1502 0 0 0 -3,75 Basebx 1 x 2 e 1 e 2 e 3 x1e2x2x1e2x2 60 6 50 1 0 4 0 -2,5 0 0 -1,6 1 0,75 0 1 0 0 1,25 -2700 0 -8 0 1,25
16
Exemple de résolution 4 ème itération j on a j 0. Terminer la solution est optimale. Cette solution correspond au point C=(80,40) Basebx 1 x 2 e 1 e 2 e 3 x1e3x2x1e3x2 80 8 40 1 0 -1,33 3,33 0 0 0 -2,13 1,33 1 0 1 2,67 -1,67 0 -2800 0 -5,33 -1,67 0
17
Recherche d’une solution de base réalisable (1/2) La méthode du simplexe impose une solution de base réalisable de départ. Lorsque nous l’avons pas, nous utilisons la méthode des deux phases (variante de la méthode du simplexe). Considérons le programme linéaire mis sous la forme standard Max Z= c x (PLS)A x = bx désigne le vecteur variable du PLS ainsi x 0que les variables d’écart Associons à ce programme (PLS) la programme auxiliaire suivant: (PLA) A x + y = by désigne le vecteur variable artificielle x, y 0On rajoute à la contrainte n’ayant pas de variable de base une variable artificielle Principe: - Phase 1: Résoudre le programme linéaire auxiliaire (PLA). Si ce problème possède une solution optimale finie, alors cette une solution est de base réalisable de départ pour le programme linéaire (PLS). - Phase 2: Résoudre (PLS) en utilisant comme solution de base réalisable celle trouvée en phase 1.
18
Recherche d’une solution de base réalisable (2/2) Remarques: 1)Exprimer d’abord la fonction objectif en termes de variables hors base uniquement avant de commencer la résolution de (PLA). 2)A la fin de la phase 1, s’il existe une solution optimale finie, elle doit nécessairement être nulle ; y i =0 i I(A). 3)Pour accroitre la rapidité de la résolution du problème, il est conseillé d’ajouter dans la tableau du simple à la phase 1 la fonction objectif de (PLS).
19
Exemple 2 Exemple: Soit le PL suivant: Min Z= x 1 + 2 x 2 Max Z’= - x 1 - 2 x 2 2 x 1 + x 2 6 2 x 1 + x 2 + e 1 = 6 x 1 + x 2 = 4(PLS) x 1 + x 2 = 4 x 1 + 3 x 2 8 x 1 + 3 x 2 - e 2 = 8 x 1, x 2 0 x 1, x 2, e 1, e 2 0 Le problème auxiliaire s’obtient en ajoutant au PLS une variable artificielle à la seconde et troisième contrainte Min = y 1 + y 2 2 x 1 + x 2 + e 1 = 6 (PLA) x 1 + x 2 + y 1 = 4 x 1 + 3 x 2 - e 2 +y 2 = 8 x 1, x 2, e 1, e 2, y 1, y 2 0 Min = y 1 + y 2 Max ’=-12 + 2 x 1 + 4x 2 - e 2
20
Exemple 2 Phase 1: 1 ière itération 2 ième itération Basebx 1 x 2 e 1 e 2 y 1 y 2 e1y1y2e1y1y2 648648 2 1 1 0 0 0 1 1 0 0 1 0 1 3 0 -1 0 1 ’’ 122 4 0 -1 0 0 Z’0-1 -2 0 0 0 0 Basebx 1 x 2 e 1 e 2 y 1 e1y1x2e1y1x2 10/3 4/3 8/3 5/3 0 1 1/3 0 2/3 0 0 1/3 1 1/3 1 0 -1/3 0 ’’ 4/32/3 0 0 1/3 0 Z’16/3-1/3 0 0 -2/3 0
21
Exemple 2 3 ième itération Terminer, la solution de base réalisable de départ pour PLS est : x 1 = 2 x 2 =2 e 1 = e 2 = 0 Z=6 Phase 2 Nous avons: j 0 j, il s’ensuit que la solution de base réalisable trouvée en phase 1 est une solution optimale pour PL Basebx 1 x 2 e 1 e 2 e1x1x2e1x1x2 022022 0 0 1 -1/2 1 0 0 1/2 0 1 0 -1/2 ’’ 00 0 Z’60 0 0 -1/2 Basebx 1 x 2 e 1 e 2 e1x1x2e1x1x2 022022 0 0 1 -1/2 1 0 0 1/2 0 1 0 -1/2 Z’60 0 0 -1/2
22
Quelques modèles particuliers (1/6) Modèle irréalisable Un PL est dit irréalisable si certaine de ses contraintes se contredisent. Lorsqu’un tel cas se présente, la formulation doit être revue. Exemple 3 Max Z= x 1 + x 2 x 1 + x 2 7 -2 x 1 + x 2 3 x 1 + x 2 0 x 1, x 2 0 Ce modèle est irréalisable car les contraintes 1 et 2 sont en contradictions. On reconnait un tel cas lorsqu’à la fin de la phase 1, une variable artificielle reste dans la base.
23
Quelques modèles particuliers (2/6) Modèle non borné Un PL est dit non borné si son optimum est infini. On reconnait un tel modèle lorsqu’à une itération donnée, le vecteur colonne de la variable x r qui rentre en base est négatif ou nul. En pratique, cette situation peut signifier une omission d’une contrainte vitale lors de la formulation du problème Exemple 4 Max Z= x 1 + x 2 x 1 - x 2 1 (0,1) -2 x 1 + x 2 3 D x 1, x 2 0 (1,0) En introduisant les variables d’écart et après une itération du simplexe on a La variable x2 entre en base et son vecteur correspondant dans le système des contraintes est négatif Basebx 1 x 2 e 1 e 2 x 1 e 2 1515 1 -1 1 0 0 -1 2 1 Z’0 2 -1 0
24
Quelques modèles particuliers (3/6) Modèle à infinité de solutions Ce type de modèle apparaît lorsqu’à la fin de la résolution du PL par la méthode du simplexe une variable hors base possède un coefficient nul dans la ligne de la fonction objectif. Dans ce cas, une itération supplémentaire donnera une seconde solution optimale. Toute combinaison convexe de ces 2 solutions optimales est aussi une solution optimale. Exemple 5 Max Z= 3 x 1 + 2 x 2 3 x 1 + 2 x 2 18 (0,6) (2,6) x 1 4 x 2 6 D (4,3) x 1, x 2 0 (4,0) B=(2, 6) et C=(4,3) sont deux solutions optimales de PL. Toute combinaison convexe de B et C est une solution optimale
25
Quelques modèles particuliers (4/6) Modèle dégénéré Un modèle PL est dit dégénéré si une variable de base est nulle. Dans ce cas, il est possible qu’une itération du simplexe n’améliore pas la valeur de la fonction objectif. Supposons qu’un PL est délimité par les 3 contraintes A, B et C suivantes A B C S 1 =S 2 Une itération du simplexe nous fait passer du sommet S 1 au sommet S 2 alors que nous sommes restés au même point. Cette situation est appelée aussi cyclage. Il peut être infini. Une solution possible consiste à perturber le modèle pour sortir de ce cyclage. Le problème perturbé est obtenu en remplaçant le vecteur b par >0 très petit et P j représente le vecteur coefficient dans le système des contraintes de la variable x j
26
Quelques modèles particuliers (5/6) On résout le programme perturbé et on revient au programme initial en posant = 0 Exemple 6 Max Z= 2 x 1 + x 2 3 x 1 - x 2 6 x 1 2 x 1, x 2 0 Après une itération du simplexe on obtient On remplace b 1 = 0 + 0 1 + 1 2 + 1 3 – 3 4 = 2 + 3 – 3 4 = 2 (1+ -3 2 ) b 2 = 2 + 1 1 + 0 2 + 0 3 + 1 4 = 2 + + 4 Après 3 itérations (voir transparent 27 suivant), on obtient la solution optimale suivante: Z=6 x 1 =0 x 2 =6 e 2 =2 e 1 =0 en posant =0 dans le dernier tableau Basebx 1 x 2 e 1 e 2 e 1 x 1 0202 0 1 1 -3 1 0 0 1 jj -40 1 0 -2
27
Quelques modèles particuliers (6/6) Basebx 1 x 2 e 1 e 2 e 1 x 1 2 (1+ -3 2 ) 2 + + 4 0 1 1 -3 1 0 0 1 jj -40 1 0 -2 Basebx 1 x 2 e 1 e 2 e 1 x 1 2 (1+ -3 2 ) 2 + + 4 0 1 1 -3 1 0 0 1 jj-4- 2 (1+ -3 2 ) 0 0 -1 1 Basebx 1 x 2 e 1 e 2 x 2 e 2 6+3 + 2 + 3 2 + + 4 3 1 1 0 1 0 0 1 jj-6- - 2 - 3 - 4 4 -1 0 0 0
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.