Chapitre 2            Programmation LinéaireMaster Informatique Décisionnelle et Intelligence appliquée à la gestion      ...
Définition d’un PL• Un programme linéaire (PL) est:  – un problème d’optimisation  – consistant à maximiser (ou minimiser)...
Formulation mathématique                   3
Terminologie (1)• Les variables x1, . . . , xn sont appelées variables  de décision du problème.• La fonction linéaire à o...
Terminologie (2)• Une solution est une affectation de valeurs aux  variables du problème.• Une solution est admissible si ...
L’ensemble dessolutions d’uneéquation (linéaire)correspond à:                      6
Représentation Géométrique• L’ensemble des solutions d’une inéquation  (linéaire) correspond à un demi-espace  dans IRn (u...
8
Représentation graphique des      contraintes d’inégalité• L’intersection d’un nombre fini de demi-plans est  un ensemble ...
Hypothèses de la programmation            Linéaire• La linéarité des contraintes et de la fonction  objectif.   – L’additi...
Intérêts de la PL• Malgré les hypothèses sous-jacentes assez restrictives,  de nombreux problèmes peuvent être modélisés p...
Exemple de programme linéaire   (en fichier .lp) de CPLEX                      12
Le problème de transport• On désire acheminer des marchandises de n  dépôts à m points de vente• On connaît :   – cij , i ...
Formulation en PL• Programme linéaire                       Critère: coût total de transport                              ...
Modélisation d’un problème en PL• Une usine est                    machine    Main doeuvre   Profit  spécialisée dans la  ...
Formulation du programme linéaire• Variables de décision   – x1: nombre d’unités de produits P1   – x2: nombre d’unités de...
Programme linéaire: forme            canoniqueMax Z=f(x1,x2)=25x1+15x2    Formulation matriciellesc                       ...
Résolution graphique d’un PL dans              le plan• Les lignes de niveau de la fonction objectif sont des  droites par...
Exemple de résolution graphique• Max z = x1 + 4x2• s.c.   x1 − x2 ≤ 2   2x1 + x2 ≤ 5   x2 ≤ 3   x1 ≥0, x2 ≥0• de solution ...
Algorithme de simplexe●    Transformer le modèle sous forme standard :             Max Z=f(x1,x2)=25x1+15x2+0 S1+0 S2     ...
Définitions●    La variable décart est la quantité qui ajoutée au    membre gauche dune contrainte, permet de    transform...
Algorithme de simplexe●   Idée : se déplacer dune solution de base réalisable    vers une autre qui lui est adjacente.●   ...
Avantage de passer de la forme canonique          à la forme standard• On obtient immédiatement une solution de  base réal...
Algorithme de simplexe tabulaire•   Si un problème est solvable par la méthode de simplexe alors•   Transformer le program...
Algorithme de simplexe tabulaire• Itérations sur les tableaux      –   NP: nombre pivot      –   LP ligne pivot      –   L...
Simplexe pour pb de minimisation         avec contraintes ≥• Min C=24x1+20x2• Sc                          Sc   x1+x2 ≥30  ...
– Transformer les inégalités sup en égalité      • Variables d’écart (Si) et des variables artificielles (Ai)• Les variabl...
Application de la méthode simplexe• Initialement ( à l’origine) A1 et A2 sont les  variables de base• Sélectionner la vari...
Maximisation avec contraintes                mixtes• Max Z=4x1+3X2   Sc x1+x2=10      x1 + 3x2≤20      2x1-x2≥15      x 1 ...
Cas de quantités négatives• Simplexe ne s’applique plus• Se ramener à des quantités positives• Exemple• x1+x2≥-8 devient -...
Cas d’un problème impossible• Ensemble des solutions réalisables est vide• Exemple:  Min x1+x2   Sc x1-x2 ≥1      -x1+x2≥1...
Cas d’une solution infinie• Pas de solution• Dans le cas d’un problème de maximisation  – la fonction objectif peut être a...
Cas de solutions multiples• Plusieurs solutions mais toutes optimales de même  valeur   – Convexité• Exemple   – Max z=45x...
34
Étude de sensibilité• L’étude du comportement de la solution  optimale d’un PL si on varie ses données.• Analyse de sensib...
Analyse de sensiblité sur les cj                        36
Analyse de sensibilité sur les bi                         37
Autres méthodes• Simplexe : se déplace de point extrême en point  extrême le long de la frontière du polyèdre. Il y a un  ...
Prochain SlideShare
Chargement dans…5
×

0 c2 2013

1 486 vues

Publié le

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 486
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
48
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

0 c2 2013

  1. 1. Chapitre 2 Programmation LinéaireMaster Informatique Décisionnelle et Intelligence appliquée à la gestion Hend Bouziri Maître Assistant, ESSEC de Tunis LARODEC ISG Laboratoire de Recherche Opérationnelle, de DEcision et de Contrôle de processus 1
  2. 2. Définition d’un PL• Un programme linéaire (PL) est: – un problème d’optimisation – consistant à maximiser (ou minimiser) une fonction objectif linéaire de n variables de décision – soumises à un ensemble de contraintes exprimées sous forme d’équations ou d’inéquations linéaires.• À l’origine, le terme programme a le sens de planification opérationnelle• mais il est aujourd’hui employé comme synonyme de problème (d’optimisation).• La terminologie est due à Dantzig, inventeur de l’algorithme du simplexe. 2
  3. 3. Formulation mathématique 3
  4. 4. Terminologie (1)• Les variables x1, . . . , xn sont appelées variables de décision du problème.• La fonction linéaire à optimiser est appelée fonction objectif (ou fonction économique ou fonction de coût).• Les contraintes prennent la forme d’équations et d’inéquations linéaires.• Les contraintes de la forme: sont appelées des contraintes de bornes. 4
  5. 5. Terminologie (2)• Une solution est une affectation de valeurs aux variables du problème.• Une solution est admissible si elle satisfait toutes les contraintes du problème (y compris les contraintes de bornes).• La valeur d’une solution est la valeur de la fonction objectif en cette solution.• Le domaine admissible D d’un PL est l’ensemble des solutions admissibles du problème. 5
  6. 6. L’ensemble dessolutions d’uneéquation (linéaire)correspond à: 6
  7. 7. Représentation Géométrique• L’ensemble des solutions d’une inéquation (linéaire) correspond à un demi-espace dans IRn (un demi-plan dans IR2). 7
  8. 8. 8
  9. 9. Représentation graphique des contraintes d’inégalité• L’intersection d’un nombre fini de demi-plans est un ensemble convexe.• L’ensemble des solutions d’un système d’équations et d’inéquations (linéaires) correspond à l’intersection des demi-espaces et des hyperplans associés à chaque élément du système.• Cette intersection, appelée domaine admissible, est convexe et définit un polyhèdre dans IRn (une région polygonale dans IR2). 9
  10. 10. Hypothèses de la programmation Linéaire• La linéarité des contraintes et de la fonction objectif. – L’additivité des effets. – La proportionnalité des gains/coûts et des consommations de ressources.• La divisibilité des variables.• Lors de la modélisation d’un problème réel, l’impact de ces hypothèses sur la validité du modèle mathématique doit être étudié.• Cette analyse peut mener à choisir un modèle différent (non linéaire, stochastique, ...) et est essentielle pour la phase d’interprétation des résultats fournis par le modèle. 10
  11. 11. Intérêts de la PL• Malgré les hypothèses sous-jacentes assez restrictives, de nombreux problèmes peuvent être modélisés par des programmes linéaires.• Exemples – la gestion de production, – l’économie, – la distributique, – les télécommunications,…• Il existe des algorithmes généraux (et des codes les mettant en oeuvre) permettant de résoudre efficacement des programmes linéaires (même lorsque le nombre de variables et de contraintes est important).• Exemple Cplex 11
  12. 12. Exemple de programme linéaire (en fichier .lp) de CPLEX 12
  13. 13. Le problème de transport• On désire acheminer des marchandises de n dépôts à m points de vente• On connaît : – cij , i = 1..n et j = 1..m, coût de transport (i, j), – Xi, i = 1..n, stocks des dépôts, – Dj , j = 1..m, niveaux de demande aux points de vente.• On recherche, pour chaque couple (i, j), la quantité (positive) xij à transporter du dépôt Xi au point de vente Dj . 13
  14. 14. Formulation en PL• Programme linéaire Critère: coût total de transport Demande de chaque dépôt Offre de chaque point de vente 14
  15. 15. Modélisation d’un problème en PL• Une usine est machine Main doeuvre Profit spécialisée dans la production de deux P1 2h/unité 3h/unité 25DT/unité produits P1 et P2.• Chaque produit P2 2h/unité 1h/unité 15DT/unité nécessite – un certain nombre total 240 140 d’heures de machine – et un certain nombre Stratégie de production d’heures de main pour maximiser le profit ? d’œuvre. 15
  16. 16. Formulation du programme linéaire• Variables de décision – x1: nombre d’unités de produits P1 – x2: nombre d’unités de produits P2• Fonction objectif: – z=25x1+15x2• Contraintes: – 2x1+2x2≤240 – 3x1+x2≤140• Contraintes de borne (non négativité des variables) – x1≥0 et x2≥ 0 16
  17. 17. Programme linéaire: forme canoniqueMax Z=f(x1,x2)=25x1+15x2 Formulation matriciellesc x1 2x1+2x2≤240 3x1+x2≤140 Max f ( x 1 ,x 2 )=( 25 15 ) () x2 x1≥0 et x2≥ 0 2 2 x 1 ≤ 240 sous ( )( ) ( ) 3 1 x 2 140 avec x 1 ≥0 et x 2 ≥0 17
  18. 18. Résolution graphique d’un PL dans le plan• Les lignes de niveau de la fonction objectif sont des droites parallèles dans IR2.• Il existe des solutions admissibles de valeur z si la ligne de niveau associée à cette valeur intersecte le domaine admissible D du problème.• Pour déterminer la valeur maximale atteignable par une solution admissible, – il suffit de faire glisser le plus loin possible une ligne de niveau de la fonction objectif, dans le sens du gradient, jusqu’à ce qu’elle touche encore tout juste D. – Les points de contact ainsi obtenus correspondent aux solutions optimales du PL. 18
  19. 19. Exemple de résolution graphique• Max z = x1 + 4x2• s.c. x1 − x2 ≤ 2 2x1 + x2 ≤ 5 x2 ≤ 3 x1 ≥0, x2 ≥0• de solution optimale : x1 = 1, x2 = 3 et z = 13. 19
  20. 20. Algorithme de simplexe● Transformer le modèle sous forme standard : Max Z=f(x1,x2)=25x1+15x2+0 S1+0 S2 sc 2x1+2x2+S1=240 3x1+x2+S2=140 x1≥0 et x2≥ 0● S1 : valeur dheures machines non utilisées● S2 : valeur dheures mains doeuves non utilisées 20
  21. 21. Définitions● La variable décart est la quantité qui ajoutée au membre gauche dune contrainte, permet de transformer la contrainte en égalité.● Dans le modèle, on dispose de n+m variables.● On appelle variables hors base les variables fixées à 0. Les variables restantes sont dites de base.● Une solution de base réalisable est une solution de base qui en plus vérifie les contraintes de positivité.● Graphiquement un sommet du polygne correspond à une solution de base réalisable 21
  22. 22. Algorithme de simplexe● Idée : se déplacer dune solution de base réalisable vers une autre qui lui est adjacente.● Comment choisir le point de départ ? ● Le point dorigine : (x1=0, x2=0, S1=240, S2= 140) : la base● Se déplacer vers une autre extrémité du polygone : ● Choisir la variable avec le coef objectif le plus élevé. ● Doù le sens de déplacement. 22
  23. 23. Avantage de passer de la forme canonique à la forme standard• On obtient immédiatement une solution de base réalisable qui sert de solution de départ pour l’algorithme du simplexe.• Tableau initial :Les variables de base sont les variables d’écart. 23
  24. 24. Algorithme de simplexe tabulaire• Si un problème est solvable par la méthode de simplexe alors• Transformer le programme en forme standard.• (*)Représenter le tableau simplexe initial à l’origine. – Variables de bases – Quantité – Matrice des coefficients Si (∀j, cj-zj≤0) alors  Retourner la solution optimale (donnée par le dernier tableau) Choisir colonne pivot (variable entrante à la base) Choisir ligne pivot (variable sortante de la base) Développer un nouveau tableau simplexe (VB, Qté, Matrice des coefs) Revenir à létape (*) 24
  25. 25. Algorithme de simplexe tabulaire• Itérations sur les tableaux – NP: nombre pivot – LP ligne pivot – L: ligne de la matrice de coefficients (!=ligne pivot) – TLP=LP/NP: transformée de la ligne pivot – aL: coef de la matrice se trouvant à l’intersection de la ligne transformée (!= ligne pivot) avec la colonne pivot 25
  26. 26. Simplexe pour pb de minimisation avec contraintes ≥• Min C=24x1+20x2• Sc Sc x1+x2 ≥30 x1+x2-S1+A1=30 x1+2x2≥40 x1≥0 et x2≥0 x1+2x2-S2+A2=40• Première étape: x1≥0 x2≥0 S1≥0 S2≥0 A1≥0 A2≥0 – Transformer le problème sous une forme standard – A l’origine (0,0), x1+x2-S1=30 donne S1=-30 – Non conforme à l’hypothèse de non négativité des variables d’écart. – Utiliser une variable artificielle: x1+x2 ≥30  x1+x2-S1+A1=30 26
  27. 27. – Transformer les inégalités sup en égalité • Variables d’écart (Si) et des variables artificielles (Ai)• Les variables d’écart ont un effet nul sur la fonction objective.• Les variables artificielles ont un coefficient =M – M : un nombre entier positif très élevé pour s’assurer de son élimination de la base.• Min C=24x1+20x2+0S1+0S2+MA1+MA2• Sc x1+x2-S1+A1=30 x1+2x2-S2+A2=40 x1≥0 x2≥0 S1≥0 S2≥0 A1≥0 A2≥0 27
  28. 28. Application de la méthode simplexe• Initialement ( à l’origine) A1 et A2 sont les variables de base• Sélectionner la variable entrante par rapport à zj-cj maximal (⇔ cj-zj minimal) 28
  29. 29. Maximisation avec contraintes mixtes• Max Z=4x1+3X2 Sc x1+x2=10 x1 + 3x2≤20 2x1-x2≥15 x 1 ≥0 x 2 ≥0• Forme standard• Max Z=4x1+3X2+0S1+0S2-MA1-MA2 Sc x1+ x2 + A1 =10 x1 +3x2 + S1 = 20 2x1 -x2 -S2 +A2 =15 x1≥0, x2≥0 , S1≥0, S2≥0, A1≥0, A2≥0• On utilise les cj-zj pour critère d’entrée des variables• 29
  30. 30. Cas de quantités négatives• Simplexe ne s’applique plus• Se ramener à des quantités positives• Exemple• x1+x2≥-8 devient -x1-x2≤8 30
  31. 31. Cas d’un problème impossible• Ensemble des solutions réalisables est vide• Exemple: Min x1+x2 Sc x1-x2 ≥1 -x1+x2≥1 x1≥0, x2≥0• Simplexe: – Solution optimale avec des variables artificielles non nulles• graphiquement 31
  32. 32. Cas d’une solution infinie• Pas de solution• Dans le cas d’un problème de maximisation – la fonction objectif peut être augmentée indéfiniment• Exemple• Max Z=x1+x2 Sc 5x1-x2 ≥10 3x1-x2 ≤9 x1≥ 0, x2 ≥0• Graphiquement• Simplexe: – tous les ratio-tests sont négatifs ou nuls – la variable entrante n’a pas de limite sur sa valeur d’entrée 32
  33. 33. Cas de solutions multiples• Plusieurs solutions mais toutes optimales de même valeur – Convexité• Exemple – Max z=45x1+15x2 (de pente -3) Sc 2x1+2x2 ≤240 (de pente -1) 3x1+ X2≤140 (de pente -3) x1≥0, x2≥0• Graphiquement• Simplexe: – Dans le tableau optimal, l’une des variables hors base admet un cj-zj nul – Existence d’autres solutions en entrant cette variable dans la base. 33
  34. 34. 34
  35. 35. Étude de sensibilité• L’étude du comportement de la solution optimale d’un PL si on varie ses données.• Analyse de sensibilité sur les coefficients de variables dans la fonction objective (les cj).• Analyse de sensibilité sur le second membre des contraintes.• Analyse de sensibilité sur les coefficients de la matrice des contraintes. 35
  36. 36. Analyse de sensiblité sur les cj 36
  37. 37. Analyse de sensibilité sur les bi 37
  38. 38. Autres méthodes• Simplexe : se déplace de point extrême en point extrême le long de la frontière du polyèdre. Il y a un nombre fini de points extrêmes – L’algorithme du simplexe n’est pas un algorithme polynomial pour la programmation linéaire.• En 1979, Khachiyan a développé le premier algorithme polynomial pour la programmation linéaire : la méthode de l’ellipsoïde. – Impact théorique important, mais performances pratiques mauvaises.• En 1984, Karmarkar propose les méthodes de points intérieurs : polynomiales et efficaces en pratique sur des problèmes creux de grande taille. 38

×