2.83k likes | 4.75k Views
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
E N D
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 • 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
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
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
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…
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
Partie 1 Programmation Linéaire
Chapitre 1 Introduction à la programmation linéaire
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.
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.
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
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
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
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
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
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
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
Chapitre 1 Introduction à la PL 2ème étape : Recherche de la solution optimale (suite) Solution optimale {B} = D ∩ D’ D’ D
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
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
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
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
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.
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
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
Chapitre 2 Résolution d’un programme linéaire : méthode de simplexe
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.
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.
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.
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)
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
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 : …
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
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.
Chapitre 2 Méthode de simplexe Représentation xtB xtH ctb ctH B base H hors base m colonnes n − m colonnes
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
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.
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).
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)
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 =
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.
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) = cx = cB B-1 b. Calculons z(x) - z(x) On a b=Ax ; Par conséquent : z(x) - z(x) = c x-cx = 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
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.
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.
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
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
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.
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.
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.