1 / 115

Recherche Opérationnelle

Recherche Opérationnelle. 2 ème Année Gestion industrielle. Responsable du cours : Rim Larbi larbirim@gmail.com. Année universitaire : 2009 - 2010. Plan du cours. Introduction à la recherche opérationnelle Partie 1 : Programmation Linéaire

jerrod
Download Presentation

Recherche Opérationnelle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Recherche Opérationnelle 2ème Année Gestion industrielle Responsable du cours : Rim Larbi larbirim@gmail.com Année universitaire : 2009 - 2010

  2. Plan du cours • Introduction à la recherche opérationnelle • Partie 1 : Programmation Linéaire • Chapitre 1 : Introduction à la programmation linéaire • Chapitre 2 : Résolution d’un programme linéaire : méthode de simplexe • Chapitre 3 : Dualité et analyse de sensibilité dans la programmation linéaire

  3. Plan du cours • Partie 2 : Graphes • Chapitre 1 : Notions fondamentales sur les graphes • Chapitre 2 : Problème du plus court chemin • Chapitre 3 : Problème de planification de projets

  4. Introduction à la Recherche Opérationnelle

  5. Introduction à la RO • Origines de la RO • Période : 2ème guerre, • Responsable : armée britannique • Problèmes posés : implantation optimale de radars de surveillance , le management des • bombardements • anti sous-marins • opérations de miniers… RO = Application des mathématiques et des méthodes scientifiques aux opérations militaires RO = Approche scientifique à la prise des décisions, qui cherche à déterminer comment concevoir et faire fonctionner un système d’une façon optimale

  6. Introduction à la RO • Techniques de la RO • La programmation mathématique • programmation linéaire • programmation quadratique • programmation en nombres entiers • programmation dynamique • Analyses de réseaux et graphes • Théories des files d’attentes • Simulation • Analyse statistique • Champs d’application de la RO • Industries • Gouvernement • Agences • Hôpitaux • Institutions d’éducation…

  7. Introduction à la RO • Méthodologie de la RO (1) Identification du problème (2) Collecte des données (3) Modélisation (Formulation mathématique) (4) Vérification du modèle (5) Recherche des solutions (6) Présentation des solutions (7) Implémentation et recommandations

  8. Partie 1 Programmation Linéaire

  9. Chapitre 1 Introduction à la programmation linéaire

  10. Chapitre 1 Introduction à la PL • La programmation linéaire = méthode permettant d’optimiser, c'est-à-dire rendre le plus grand ou le plus petit possible, une fonction linéaire, cela sous certaines contraintes définies par des inégalités. • Les exemples habituels d’optimisation sont la recherche d’un bénéfice maximal ou d’un coût minimal. • Remarque : C’est grâce à cette méthode que les problèmes de ravitaillement étaient résolus pendant la seconde guerre mondiale.

  11. Chapitre 1 Introduction à la PL • Exemple Une compagnie est spécialisée dans la production de deux types de produits : des climatiseurs et des ventilateurs. Les deux produits nécessitent un certain nombre d’heures de main d’œuvre. Le tableau suivant donne les informations nécessaires sur les deux produits, c’est-à-dire les nombres d’heures machine et d’heures main d’œuvre nécessaires à la fabrication d’une unité de chacun de ces produits, ainsi que le profit généré par la production d’une unité de ce produit. Le tableau nous donne aussi le nombre total d’heures machines et d’heures main d’œuvre disponibles.

  12. Chapitre 1 Introduction à la PL • Formulation du programme linéaire • Variables de décision : doivent complètement décrire les décisions à prendre. La compagnie veut décider du nombre de climatiseurs et du nombre de ventilateurs à produire pour maximiser le profit. Ceci nous amène à choisir les deux variables de décision suivantes : x1 = nombre de climatiseurs x2 = nombre de ventilateurs

  13. Chapitre 1 Introduction à la PL b) Fonction objectif : dans n’importe quel programme linéaire, le responsable de décision veut maximiser (en général, le revenu ou profit) ou minimiser (en général le coût) une fonction des variables de décisions. Cette fonction est appelée “ fonction objectif ”. L’objectif de l’entreprise est de déterminer le programme de production qui maximisera son profit (Z=profit). La fonction objectif s’écrit alors: Max Z = 25x1 + 15x2

  14. Chapitre 1 Introduction à la PL c) Contraintes du modèle : La limitation des ressources contraint l’entreprise de la manière suivante : 1) Contraintes heure machine 2x1 + 2x2 ≤ 240 2) Contrainte main d’œuvre 3x1 + x2 ≤ 140 3) Contraintes de non-négativité (exprimant que les niveaux d’activité ne peuvent être négatifs) x1 ≥ 0, x2 ≥ 0 Modèle complet : x1 = nbre de climatiseurs, x2 = nbre de ventilateurs Max Z = 25 x1 + 15 x2 s.c. 2x1 + 2x2 ≤ 240 3x1 + x2 ≤ 140 x1 ≥ 0, x2 ≥ 0 s.c = sous contraintes

  15. Chapitre 1 Introduction à la PL • Domaine réalisable et solutions optimales :Ce sont deux concepts fondamentaux associés avec un PL. Pour les définir, on va utiliser le terme point (x1,x2), qui désigne une spécification de la valeur de chaque variable de décision. • Le domaine réalisable (DR) est l’ensemble de tous les points satisfaisant toutes les contraintes du PL. Dans notre exemple, le point (20,40) (Z= 280) appartient au DR. Ce point est dit réalisable. • Pour un problème de maximisation (min), une solution optimale est un point du DR qui donne la valeur la plus large (faible) de la fonction objective. (20, 40) ≠ solution optimale car (10, 110) est réalisable et donne Z = 1900 meilleur profit que Z= 280

  16. Chapitre 1 Introduction à la PL • Résolution graphique • Méthode de résolution d’un PL ne comportant que 2 variables de décision • Etapes à suivre • Représenter les lignes des contraintes et l’ensemble du domaine réalisable • Localiser la solution optimale • Calculer la solution optimale

  17. Chapitre 1 Introduction à la PL 1ère étape : domaine réalisable (PL)Max Z = 25 x1 + 15 x2 s.c. 2x1 + 2x2 ≤ 240 3x1 + x2 ≤ 140 x1 ≥ 0, x2 ≥ 0 Domaine réalisable

  18. Chapitre 1 Introduction à la PL 2ème étape : Recherche de la solution optimale (PL)Max Z = 25 x1 + 15 x2 • La fonction objectif Z = 25x1 + 15x2 représente pour Z fixé (25x1 + 15x2 = cte) l’équation des courbes de niveau (des droites de pente -5/3) qu’on appelle aussi ligne d’isoprofit ou isocoût. • Maximiser Z revient à déplacer la ligne d’isoprofit dans la direction qui augmente la valeur de Z (pour un pb de maximisation). La dernière ligne qui touche le DR définit la plus large valeur de toutes les solutions réalisables, et contient la solution optimale

  19. Chapitre 1 Introduction à la PL 2ème étape : Recherche de la solution optimale (suite) Solution optimale {B} = D ∩ D’ D’ D

  20. Chapitre 1 Introduction à la PL 3ème étape : Calcul de la solution optimale Solution optimale {B} = D ∩ D’ d’équations respectives: 2x1 + 2x2 = 240 3x1 + x2 = 140 Donc x1=10, x2=110 et Z*=1900 D’ D

  21. Chapitre 1 Introduction à la PL • Notions de convexité et points extrêmes Définition : Un ensemble E non vide est dit convexe si et seulement si pour tout élément x et y de E et pour tout λЄ[0,1], λx + (1- λ ) y Є E. Pour toute paire de points P1 et P2, l’ensemble des points qui forment le segment [P1P2] appartient au demi-plan. Caractéristique d’un PL: le DR d’un PL est ou bien vide ou convexe. Convexes Non convexes

  22. Chapitre 1 Introduction à la PL Définition: E, un ensemble convexe, un point P dans E est appelé point extrême si chaque segment de droite entièrement contenu dans S et contenant le point P, a P comme extrémité. Mathématiquement : Soit x Є E, x est un point extrême ↔ S’il Ǝ y Є E, z Є E et 0<λ<1 tels que x= λy + (1- λ)z alors x=y=z a x y b a,b Points extrêmes x n’est pas un point extrême y Point extrême

  23. Chapitre 1 Introduction à la PL Théorème: Pour un PL donné, si un optimum existe, au moins un point extrême est optimal. Corollaire: Si PL admet un optimum unique, alors cet optimum doit être un point extrême. • Cas particuliers de PL PL non borné Max Z = x1 + 2x2 s.c. 7x1+2x2 ≥ 28 x1 + 6x2 ≥ 12 x1 ≥ 0, x2 ≥ 0

  24. Chapitre 1 Introduction à la PL 14 Lignes d’isoprofit 2 12 x1+6x2 = 12 7x1+2x2 = 28 Si la fonction objectif est min z = x1 + 2x2 (18/5, 7/5) est optimal.

  25. Chapitre 1 Introduction à la PL PL a une infinité de solutions optimales Max Z = x1 + 3x2 s.c. 2x1+6x2 ≤ 30 (1) x1 ≤ 10 (2) x2 ≤ 4 (3) x1 ≥ 0, x2 ≥ 0 Tous les points appartenant à [AB] sont optimaux

  26. Chapitre 1 Introduction à la PL PL non réalisable Max Z = 3x1 + 2x2 s.c. x1+2x2 ≤ 2 (1) 2x1 + 4x2 ≥ 8 (2) x1 ≥ 0, x2 ≥ 0 DR vide PL non réalisable

  27. Chapitre 2 Résolution d’un programme linéaire : méthode de simplexe

  28. Chapitre 2 Méthode de simplexe • Introduction • Dans le chapitre précédent, on a vu comment résoudre graphiquement un PL à deux variables. Or la majorité des problèmes réels ont plusieurs variables. D’où la nécessité d’avoir une méthode algébrique pour résoudre des PLs ayant plus que 2 variables. • La méthode de Simplexe est l’une des méthodes les plus anciennes (Dantzig, 1947), et la plus utilisée jusqu’à nos jours, pour résoudre même des problèmes de grandes tailles avec quelques milliers de variables et quelques milliers de contraintes.

  29. Chapitre 2 Méthode de simplexe • Mise en forme standard Un PL peut avoir des contraintes d’égalité (=) et des contraintes d’inégalité ( ≥ et ≤ ). Avant l’application de Simplexe, le PL doit être converti en un PL équivalent où : • toutes les contraintes sont des égalités, • toutes les variables sont non négatives (≥ 0), • le second membre est non négatif (AX ≤ b, b≥0). Un tel PL est dit sous la forme standard.

  30. Chapitre 2 Méthode de simplexe Exemple : Usine de ceintures Une usine fabrique de 2 sortes de ceintures : luxe et standard Chaque type demande 1m2 de cuir • Une ceinture standard demande 1h de travail • Une ceinture de luxe demande 2h Chaque semaine, on dispose de 40m2 de cuir et de 60h de travail. • Chaque ceinture standard rapport 3 Euros • Chaque ceinture de luxe 4 Euros. Objectif : Maximiser le profit.

  31. Chapitre 2 Méthode de simplexe • x1 = nombre de ceintures de luxe produites par semaine • x2 = nombre de ceintures standard produites par semaine • Maximiser z = 4x1 + 3x2, avec x1 + x2  40 contrainte sur le cuir (1) 2x1 + x2  60 contrainte sur le travail (2) x1, x2  0 contrainte de signe (3)

  32. Chapitre 2 Méthode de simplexe • Pour convertir la ième contrainte  en une contrainte d’égalité, on définit la variable d’écart,si (slack variables) qui représente la quantité de ressource non utilisée dans cette contrainte. s1 = 40 - x1 - x2  x1 + x2 + s1 = 40 On doit ajouter s1 ≥ 0 pour que (x1 , x2) satisfasse x1 + x2  40. • Pour une contrainte ≥, on définit ei (excess variable), variable d’excédent, qui est aussi ≥ 0. On obtient alors: max z = 4x1 + 3x2 s.c. x1 + x2 + s1 = 40 2x1 + x2 – e1 = 60 x1, x2, s1, e1 0

  33. Chapitre 2 Méthode de simplexe • Remarque : L'impact de ces variables d'écart sur la fonction objectif est nul. Ceci explique le fait que leur existence soit tout simplement liée à une mise en forme du programme linéaire initial. • En général, la mise en forme d’un PL donne : …

  34. Chapitre 2 Méthode de simplexe • On définit A = (ai j), ; ; On suppose que n  m • (PL) : Max ct x s.c. Ax = b x ≥ 0 Rq : pour avoir la forme standard, les équations doivent, si nécessaire, être multipliées par (-1) pour avoir b  0

  35. Chapitre 2 Méthode de simplexe • Analyse algébrique de la méthode de simplexe • Variables de base • On appelle Base une sous matrice régulière de A. Il faut que la matrice A(m,n) soit de rang m (pas de contrainte (ou équation) redondante càd inutile). • Une solution de base est obtenue en posant n − m variables égales à 0, et en résolvant pour les m variables restantes, qui sont les variables de base (VB). • Les n−m variables à 0 sont les variables hors base (VHB). • Des choix différents de VHB donnent lieu à des différentes solutions de base.

  36. Chapitre 2 Méthode de simplexe Représentation xtB xtH ctb ctH B base H hors base m colonnes n − m colonnes

  37. Chapitre 2 Méthode de simplexe Représentation matricielle xB A = [B | H] , x = , ct = [ctB| ctH] xH • Ce qui donne Z = ct x = ctB xB + ctH xH Ax = b  B xB + HxH = b • Une solution de base est telle que xH= 0 BxB= b xB= B−1b

  38. Chapitre 2 Méthode de simplexe Exemple • Soit le système suivant : x1 + x2 = 3 −x2 + x3 = −1 • Si on pose VHB = {x3}, alors VB = {x1, x2}. On résout x1 + x2 = 3 −x2 = −1 • Ce qui donne x1 = 2 et x2 = 1. • Certains choix de variables peuvent ne pas générer de solution de base.

  39. Chapitre 2 Méthode de simplexe 2. Solutions de base réalisables • Une solution de base est dite réalisable (SBR) si : xB= B−1b ≥ 0 • Si le vecteur xBcontient des termes nuls, on dira que cette solution est une solution de base dégénérée (peut être associée à plus qu’une base).

  40. Chapitre 2 Méthode de simplexe Exemple de SBR Soit le problème : min − x1 − 2x2 s.c. x1 + 2x2 ≤ 4 2x1 + x2 ≤ 5 x1 , x2 ≥ 0 • Sous forme standard, on a: min − x1 − 2x2 s.c x1 + 2x2 + x3 = 4 2x1 + x2 + x4 = 5 x1 , x2 , x3 , x4 ≥ 0  4 variables (n=4) et 2 contraintes (m=2)

  41. Chapitre 2 Méthode de simplexe (PL) : min − x1 − 2x2 s.c x1 + 2x2 + x3 = 4 2x1 + x2 + x4 = 5 x1 , x2 , x3 , x4 ≥ 0 • On peut essayer de constituer une base en utilisant l’ensemble B = {1, 3}, B = [A1A3] = 1 1 H = [A2A4] = 2 0 2 0 1 1 • xB= x1 , xH= x2 x3 x4 • L’inverse de B existe, donc B correspond à une base B−1 = 0 1/2 1 −1/2 1 2 1 0 2 1 0 1 A =

  42. Chapitre 2 Méthode de simplexe • La solution de base correspondante est donc : xB= B−1b = 0 1/2 4 = 5/2 = x1 > 0 1 −1/2 5 3/2 x3 • Cette solution est bien une SBR.

  43. Chapitre 2 Méthode de simplexe 3. Conditions d’optimalité d’une SBR Soit x une SBR associée à la base B. On a alors Soit x une solution réalisable quelconque de P. On a z(x)= c x et z(x) = cx = cB B-1 b. Calculons z(x) - z(x) On a b=Ax ; Par conséquent : z(x) - z(x) = c x-cx = cx - cB B-1b = cx - cB B-1Ax = (c – cB B-1 A)x Appelons  (x) = (c - cB B-1 A), alors z(x) - z(x) =  (x). x

  44. Chapitre 2 Méthode de simplexe Théorème : Soit x une SBR de P. (x)  0 x est optimal. Démonstration • Rq: Pour simplifier la notation, nous allons utiliser la notation  au lieu de (x) • Soit x une solution réalisable de P. z(x) peut s’écrire : z(x) = cB B-1 b + . x = z(x) + . x  0  z(x)  z(x), puisque x  0. Ceci est vrai  x solution réalisable; d'où x est optimal. • Rq : c’est une condition suffisante. Elle devient aussi nécessaire si la SBR est non dégénérée.

  45. Chapitre 2 Méthode de simplexe 4. Théorèmes fondamentaux • Théorème : 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 : Pour tout LP, il existe un point extrême unique de la région réalisable qui correspond à chaque solution de base réalisable. Egalement, il existe au moins une SBR qui correspond à chaque point extrême de la région réalisable.

  46. Chapitre 2 Méthode de simplexe • Illustration des théorèmes On reprend l’exemple des ceintures de cuir, c-à-d maximiser z, avec : z = 4x1 + 3x2 x1 + x2 + s1 = 40 2x1 + x2 + s2 = 60 x1, x2, s1, s2 ≥ 0

  47. Chapitre 2 Méthode de simplexe • On a l’équivalence entre SBR et points extrêmes suivants : Base Hors-base SBR Point extrême x1, x2 s1, s2 s1 = s2 = 0, x1 = x2 = 20 E x1, s1 x2, s2 x2 = s2 = 0, x1 = 30, s1 = 10 C x1, s2 x2, s1 x2 = s1 = 0, x1 = 40, s2 = −20 Non réalisable, s2 < 0 x2, s1 x1, s2 x1 = s2 = 0, s1 = −20, x2 = 60 Non réalisable, s1 < 0 x2, s2 x1, s1 x1 = s1 = 0, x2 = 40, s2 = 20 B s1, s2 x1, x2 x1 = x2 = 0, s1 = 40, s2 = 60 F

  48. Chapitre 2 Méthode de simplexe 5. Nombre de solutions possibles • Le nombre de bases candidates est égal à Cmn= n!/((n−m)!m! ) • Le nombre de SBR est donc ≤ Cmnc-à-d fini, mais peut être très large. • Puisque le nombre de telles bases peut être très large, il est pratiquement impossible de trouver la solution optimale à partir d’une formule compacte. il nous faut donc utiliser un algorithme systématique (procédure itérative) de recherche.

  49. Chapitre 2 Méthode de simplexe Définition d’un algorithme Un algorithme est un ensemble de règles employées pour obtenir des résultats à partir de données spécifiques, dans lequel chaque étape est bien définie et peut être traduite sous forme d’un programme informatique. Simplexe Le simplexe est un algorithme ou méthode de recherche qui garantit de trouver un optimum d’un PL (s’il existe) en un nombre fini d’itérations.

  50. Chapitre 2 Méthode de simplexe • Méthode de simplexe • Principe L’algorithme du simplexe pour une maximisation suit les étapes suivantes : • Trouver une SBR pour le PL, appelée la SBR initiale. 2. Déterminer si la SBR courante est optimale (Δ ≤ 0). Sinon, trouver une autre SBR qui possède une valeur z plus élevée. 3. Retourner au point (2) avec la nouvelle SBR comme SBR courante. • La question est donc : comment se déplacer.

More Related