Programmation linéaire Nazih Abderrazzak Gadhi Forme standard d´un programme linéaire La forme standard d´un programme linéaire (P) est : Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 2 Définition : On appelle solution réalisable de (P), tout point x=(x1, x2, …, xn) qui vérifie toutes les contraintes de (P). Définition : On appelle ensemble réalisable de (P), l´ensemble de toutes les solutions réalisables de (P). Définition : Une solution réalisable est dite optimale réalisable, si elle minimise ou maximise la fonction objectif. Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 3 Proposition : Tout problème de la programmation linéaire peut se mettre sous la forme standard. Démonstration: 1. Contraintes de type : est appelé variable d´écart. Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 4 2. Contraintes de type : est appelé variable de surplus. Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 5 3. Existence des variables libres : • Méthôde 1 : • Méthôde 2 : Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 6 Remarque : Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 7 Exemple : Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 8 • Méthôde 1 : Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 9 • Méthôde 2 : Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 10 Ainsi, Fondements de la programmation linéaire Nazih Abderrazzak Gadhi 11 Algorithme du simplexe Algorithme du simplexe Nazih Abderrazzak Gadhi 12 Itération du simplexe !!!! Partant d'un sommet du polygone initial, c'est à dire d'une solution de base réalisable initiale, on cherche un sommet adjacent, c'est à dire d'une solution de base réalisable adjacente qui augmente la valeur de la fonction objectif. Si on veut obtenir une méthode de résolution générale (la méthode graphique n'est pas possible en grandes dimensions), il faut donc savoir comment passer d'une solution de base réalisable à une solution de base réalisable adjacente. Algorithme du simplexe Nazih Abderrazzak Gadhi 13 Après avoir trouvé un sommet de départ (c.à.d une solution de base réalisable de départ), chaque itération du simplexe, qui correspond à un changement de de sommet ( changement de base réalisable ), se déroule en trois étapes : 1. Choix de la variable entrante dans la nouvelle base. 2. Choix de la variable sortante de l'ancienne base. 3. Reformulation du problème en fonction de la nouvelle base. Algorithme du simplexe Nazih Abderrazzak Gadhi 14 Résolution algébrique d´un (PL) simple On considère le problème : max z = 3x1 + 5x2 sujet à : 3x1 + 2x2 ≤ 18 x1 ≤ 4 2x2 ≤ 12 x1, x2 ≥ 0 Sa représentation graphique est : Algorithme du simplexe Nazih Abderrazzak Gadhi 15 Définition : On appelle sommets adjacents deux sommets que l’on peut joindre par une arête. Exemple : Par exemple, (4,3) est adjacent à (2,6) mais (4,3) n’est pas adjacent à (0,0). Remarque : Le principe de l’algorithme du Simplexe est de déterminer une solution optimale en allant de sommet en sommet adjacent. Algorithme du simplexe Nazih Abderrazzak Gadhi 16 Pour pouvoir démarrer l’algorithme du Simplexe, il faut ramener les contraintes d’inégalité en des contraintes d’égalité. Ainsi, notre problème sera sous la forme standard. Remarque : Maximiser z, revient à minimiser ( Z = -z ) puis multiplier par -1. Nous sommes en présence d´un système de trois équations à cinq inconnues. Algorithme du simplexe Nazih Abderrazzak Gadhi 17 Premier programme de base : Programme initial Pour déterminer le programme initial, on pose habituellement à zéro les variables principales du modèle; ce qui correspond à x1 =0 et x2 = 0. Notre système de 3 équations à 5 inconnues devient alors un système de 3 équations à 3 inconnues que l´on va pouvoir manipuler : x3 =18 , x4 =4 et x5 = 12 Par conséquent, on obtient la solution de base réalisable (0,0,18,4,12) où Variables hors base : x1 =0 et x2 = 0 Variables de base : x3 =18 , x4 =4 et x5 = 12 Pour cette solution de base : Z=0 Algorithme du simplexe Nazih Abderrazzak Gadhi 18 Algorithme du simplexe Nazih Abderrazzak Gadhi 19 La nouvelle solution de base est : Algorithme du simplexe Nazih Abderrazzak Gadhi 20 On exprime maintenant Z en fonction des nouvelles variables hors base : Algorithme du simplexe Nazih Abderrazzak Gadhi 21 La nouvelle solution de base est : Algorithme du simplexe Nazih Abderrazzak Gadhi 22 On exprime maintenant Z en fonction des nouvelles variables hors base : Finalement, du fait que z = - Z, on obtient zmax = 36. Algorithme du simplexe Nazih Abderrazzak Gadhi 23 Méthode du simplexe appliquée à L´exemple On associe à chaque itération (opération) de l´exemple un tableau: Algorithme du simplexe Nazih Abderrazzak Gadhi 24 Détermination de la variable d´entrée : Algorithme du simplexe Nazih Abderrazzak Gadhi 25 On associe à chaque itération (opération) de l´exemple un tableau: V.E. Algorithme du simplexe Nazih Abderrazzak Gadhi 26 Détermination de la variable de sortie : Algorithme du simplexe Nazih Abderrazzak Gadhi 27 On associe à chaque itération (opération) de l´exemple un tableau: V.E. V.S. Algorithme du simplexe Nazih Abderrazzak Gadhi 28 Opérations algébriques Algorithme du simplexe Nazih Abderrazzak Gadhi 29 V.S. V.E. Algorithme du simplexe Nazih Abderrazzak Gadhi 30 Algorithme du simplexe Nazih Abderrazzak Gadhi 31 Algorithme du simplexe Soit le programme linéaire (P) suivant : Algorithme du simplexe Nazih Abderrazzak Gadhi 32 Etape 1 : Algorithme du simplexe Nazih Abderrazzak Gadhi 33 Etape 2 : Algorithme du simplexe Nazih Abderrazzak Gadhi 34 Etape 3 : Opérations élémentaires du pivot : Algorithme du simplexe Nazih Abderrazzak Gadhi 35 Problème ayant une infinité de solutions: C´est le cas, si au niveau d´un tableau optimal, une des variables hors base a un coût nul. Dans ce cas, si on la fait entrer dans la base, on va obtenir une autre solution de base optimale sans que la valeur de Z ne change. ⇒ le segment formé par les deux solutions de base optimales contient toutes les solutions optimales du problème. Algorithme du simplexe Nazih Abderrazzak Gadhi 36 Exemple: max z = 3x1 + 2x2 sujet à : Algorithme du simplexe 3x1 + 2x2 ≤ 120 x1 + x2 ≤ 50 x1, x2 ≥ 0 Nazih Abderrazzak Gadhi 37 T1 x1 x2 s1 s2 bi s1 33 2 1 0 120 → s2 1 1 0 1 50 -z 3 2 0 0 0 ↑ T2 X1 x2 s1 s2 bi x1 1 2/3 1/3 0 40 s2 0 1/3 1/3 -1/3 1 10 → -z 0 0 -1 0 -120 ↑ Algorithme du simplexe Nazih Abderrazzak Gadhi 38 T3 x1 x2 s1 s2 bi x1 1 0 1 -2 20 x2 0 1 -1 3 30 -z 0 0 -1 0 -120 Le segment formé par les deux solutions de base optimales (40, 0, 0, 10) et (20, 30, 0, 0) contient toutes les solutions optimales du problème. Algorithme du simplexe Nazih Abderrazzak Gadhi 39 Multiplicateurs du simplexe Définition : Le vecteur des multiplicateurs du simplexe, associé à la base B, est le vecteur colonne tel que : La base optimale B* est constituée des colonnes des variables de base finales, lues dans le tableau initial. L´inverse de la base optimale B* est constituée des colonnes des variables de base initiales, lues dans le tableau final. Exemple : Tableau initial du simplexe : Algorithme du simplexe Nazih Abderrazzak Gadhi 42 Tableau final du simplexe : Algorithme du simplexe Nazih Abderrazzak Gadhi 43 La base optimale B* est constituée des colonnes 1, 4 et 2 (variables de base finales, lues dans le tableau initial ) Algorithme du simplexe Nazih Abderrazzak Gadhi 44 L´inverse de la base optimale B* est constituée des colonnes 3, 4 et 5 (variables de base initiales, lues dans le tableau final) Algorithme du simplexe Nazih Abderrazzak Gadhi 45 De plus, Algorithme du simplexe Nazih Abderrazzak Gadhi 46 Application Modification du terme b dans le problème original On modifie b de telle sorte que B* demeure réalisable optimale ( on ne touche pas aux coûts ). Par conséquent: On doit avoir : Peut-on déduire le nouveau Z optimal ? Quelle interprétation économique peut-on faire ? Algorithme du simplexe Nazih Abderrazzak Gadhi 47 Exemple : Algorithme du simplexe Nazih Abderrazzak Gadhi 48 On a : Par définition, on a : Algorithme du simplexe Nazih Abderrazzak Gadhi 49 Ainsi : Donc : B* demeure une base réalisable optimale. De plus, x1 diminue de 4/3, x4 augmente de 7/3 et x2 augmente de 1. Ainsi, Algorithme du simplexe Z* = (-3 * 2/3 )+ (0 * 13/3 )+ (-5 * 7 ) = -37. Nazih Abderrazzak Gadhi 50 On a aussi, Ainsi, Algorithme du simplexe Z* = -36 + Z* = -36 – 1 = -37. Nazih Abderrazzak Gadhi 51 Intérprétation économique : Algorithme du simplexe Nazih Abderrazzak Gadhi 52