INTRODUCTION À LA RECHERCHE OPÉRATIONNELLE Filière Sciences Mathématiques et Informatique (S5) M. AZZOUZI IDRISSI Année universitaire : 2020-2021 Problèmes de minimisation et Problèmes irréguliers RO_usmba_2020_2021_Pr_irréguliers 2 Introduction Les Pbs linéaires traités jusqu’à maintenant sont de type : • Fonctions objectif = fcts linéaires à maximiser (max Z) • Les contraintes sont de type ≤ , • Le second membre est positif. Dans beaucoup de problèmes, on a: • des fcts économiques à minimiser, • les contraintes peuvent être de type ≥ et/ou =, • les seconds membres peuvent être aussi négatifs RO_usmba_2020_2021_Pr_irréguliers 3 Méthode des variables artificielles Soit le PL suivant: Max z 4x 5x 3x 1 2 3 x1 2x2 x3 5 2x1 x2 x3 1 s.c. 4 x1 x2 x ,x , x 0 1 2 3 RO_usmba_2020_2021_Pr_irréguliers 4 Méthodes des variables artificielles L’introduction des variables d’écart nous permet d’écrire la forme standard de ce PL : max z 4 x 5 x 3 x 0 s 0 s 1 2 3 1 2 5 x1 2 x2 x3 s1 s 1 2 x1 x2 x3 2 4 x1 x2 x1, x2 , x3 , s1, s2 0 RO_usmba_2020_2021_Pr_irréguliers 5 Méthodes des variables artificielles Dans le cas du simplexe, la sol de base initiale est donnée par : x 1 = x2 = x3 = 0 En appliquant ceci dans le PL, la 2ème contrainte conduit à : s2 = -1 (ce qui viole la principe de non négativité de cette variable) et 0 = 4 dans la 3ème contrainte. Pour contourner ce problème et trouver 1 sol de base initiale, on introduit alors de nouvelles variables « a1 et a2 » qu’on appelle: variables artificielles. Ces variables n’ont aucun sens économique; Ce sont des variables fictives « un outil mathématique » qu’on introduit pour pouvoir utiliser la procédure du simplexe et formuler le tableau initial à partir de l’origine (solution de base initiale). RO_usmba_2020_2021_Pr_irréguliers 6 Méthodes des variables artificielles L’introduction des variables artificielles a1 et a2 dans la 2d et la 3ème contrainte permet d’écrire donc: maxz 4x 5x 3x 0s 0s 1 2 3 1 2 5 x1 2x2 x3 s1 2x1 x2 x3 s2 a1 1 a 4 x1 x2 2 x1, x2, x3, s1, s2, a1, a2 0 Si on met x1 = x2 = x3 = 0, on peut obtenir une solution de base initiale du PL; soit: x 1 = x 2 = x 3 = s2 = 0 RO_usmba_2020_2021_Pr_irréguliers & s1 = 5, a1 =1, a2 = 4 7 Méthodes des variables artificielles Les variables artificielles ne sont pas une donnée du problème (PL). En conséquence, elles doivent être nulles à l’optimum. Pour cela, il faut les faire sortir de la base : 2 méthodes existent: La méthode des deux phases et la méthode des pénalités ou « M ». Méthode « M » consiste à donner un coefficient fortement pénalisant aux variables artificielles dans la fonction objectif; soit : - M dans le cas d’une maximisation, +M dans le cas d’une minimisation, M étant suffisamment grand ( 1010 par exemple ) pour qu’on soit sûr que les variables artificielles sont exclues de la solution optimale. Introduire une variable artificielle par contrainte . La variable d’écart affectée du coefficient -1, est mise hors base (s2=0). RO_usmba_2020_2021_Pr_irréguliers 8 Méthodes des variables artificielles On introduit, alors une nouvelle fonction objectif ž . z 4 x 5 x 3 x Ma Ma 1 2 3 1 2 z z Ma Ma 1 2 En maximisant la fonction objectif ž, on aura tendance à faire sortir les variables artificielles de la base. Si à l’optimum de ce PL, toutes les variables artificielles sont nulles, ž coïncide alors avec z. Si à l’optimum du PL (avec ž), une ou plusieurs variables artificielles sont encore dans la base (donc non nulles), le PL est alors impossible. Donc, il faut retenir que tant que les variables artificielles restent dans la base, la solution est non réalisable pour le PL. RO_usmba_2020_2021_Pr_irréguliers 9 Méthodes des variables artificielles L’expression des variables a1 et a2 en fonction des autres variables (décision et écart) permet d’écrire la fonction objectif ž et le tableau de simplexe initial : z 4 x 5 x 3 x M (1 2 x x x s ) M ( 4 x x ) 1 2 3 1 2 3 2 1 2 5 M ( 3 M 4 ) x ( 2 M 5 ) x ( M 3) x Ms 1 2 3 2 x1 x2 x3 s1 s2 a1 a2 Bj bi/aie s1 1 2 1 1 0 0 0 5 5 a1 2 1 1 0 -1 1 0 1 1/2 a2 1 1 0 0 0 0 1 4 4 Dj 3M+4 2M+5 M+3 0 -M 0 0 ž+5M RO_usmba_2020_2021_Pr_irréguliers 10 Méthodes des variables artificielles La variable entrante dans la base (colonne pivot) est celle qui correspond au plus grand écart positif Dj (soit x1). La variable sortante de la base (ligne pivot) est celle qui correspond au plus petit quotient positif bi/aie (soit a1). Le 2ème tableau est : x1 x2 x3 s1 s2 a1 a2 Bj bi/aie s1 0 3/2 1/2 1 1/2 -1/2 0 9/2 9 (3) x1 1 1/2 1/2 0 -1/2 1/2 0 1/2 -1 (1) a2 0 1/2 -1/2 0 1/2 -1/2 1 7/2 7 (7) 0 Ž2+7M/2 Dj 0 M/2+3 -M/2+1 RO_usmba_2020_2021_Pr_irréguliers 0 M/2+2 -3M/2-2 11 Méthodes des variables artificielles M/2+3 et M/2+2 sont équivalent (M très grand). On fait alors entrer s2 plutôt que x2 en base pour en faire sortir la variable artificielle a2 plutôt que s1. le tableau simplexe qui en résulte est : x1 x2 x3 s1 s2 a1 a2 Bj bi/aie s1 0 3/2 1/2 1 1/2 -1/2 0 9/2 9 x1 1 1/2 1/2 0 -1/2 1/2 0 1/2 -1 a2 0 1/2 -1/2 0 1/2 -1/2 1 7/2 7 Dj 0 M/2+3 -M/2+1 0 M/2+2 -3M/2-2 0 Ž– 2+7M/2 RO_usmba_2020_2021_Pr_irréguliers 12 Méthodes des variables artificielles x1 x2 x3 s1 s2 a1 a2 Bj s1 0 1 1 1 0 0 -1 1 x1 1 1 0 0 0 0 1 4 s2 0 1 -1 0 1 -1 2 7 Dj 0 1 3 0 0 -M -M-4 ž-16 On remarque qu’à ce stade les variables artificielles sont sorties de la base. On peut les annuler définitivement (on supprime les colonnes a1 et a2 dans le tableau). On remarque aussi que par conséquent, ž coïncide avec z. RO_usmba_2020_2021_Pr_irréguliers 13 Méthodes des variables artificielles x1 x2 x3 s1 s2 Bj x3 0 1 1 1 0 1 x1 1 1 0 0 0 4 s2 0 2 0 1 1 8 Dj 0 -2 0 -3 0 ž-19 La solution optimale de ce PL est : x1 =4 , x2 =0 , x 3 =1 , et z=19 (s2 =8 , s 1 = 0) RO_usmba_2020_2021_Pr_irréguliers 14 Problèmes de Minimisation Deux façon de faire pour résoudre 1 problème de minimisation: 1ère méthode: Changement de la règle de choix de la variable entrante. Dans un problème de maximisation, on fait entrer dans la base la variable qui a le plus grand effet net positif non nul. (l’objectif est d’accroitre la fonction objectif pour engendrer un profit supplémentaire). Dans le cas de minimisation, on fait entrer dans la base, la variable qui entraine la plus petite variation négative non nulle de la fct objectif. L’algorithme de simplexe sera alors arrêté lorsque tous les Dj sont positifs ou nuls. Dans le cas des variables artificielles, on leur attribue le coefficient +M (au lieu de –M dans le cas de maximisation). RO_usmba_2019_2020_Pr_irréguliers 15 Problèmes de Minimisation 2ème méthode: La deuxième méthode est basée sur le fait que la résolution d’un problème « min w = Si Cixi » sujet à un ensemble de contraintes, est équivalent à la résolution du problème de type « max z = - Si Cixi » sujet au même ensemble de contraintes. On obtient le même vecteur des solutions optimales, et la seule différence est que la solution min w est l’opposée de la solution max z. RO_usmba_2020_2021_Pr_irréguliers 16 Problèmes de Minimisation Étape préliminaire avant le déroulement du symplexe. Pour la fct objectif d’1 Pb de PL Type de la contrainte « ≤ » ; ajouter 1 var d’écart « = » ; ajouter 1 var artificielle « ≥ » ; ajouter 1 var artificielle et 1 var d’écart négative (soustraire 1 var d’écart positive) Maximisation Minimisation Attribuer un coefficient nul pour la variable d’écart (Pas de variables d’écart) Attribuer un coefficient « - Attribuer un coefficient M » pour la variable « + M » pour la variable artificielle artificielle Attribuer un coefficient Attribuer un coefficient nul pour la var d’écart et nul pour la var d’écart et un coefficient « + M » un coefficient « -M » pour pour la variable la variable artificielle artificielle RO_usmba_2020_2021_Pr_irréguliers 17 Exemple : cas de minimisation Cas de médicaments à prescrire. Le programme linéaire qui modélise le problème est : Min z x x 1 2 2x1 x2 12 5x1 8x2 74 s.c. x1 6x2 24 x , x 0 1 2 RO_usmba_2020_2021_Pr_irréguliers 18 Exemple : cas de minimisation L’introduction des variables d’écart et des variables artificielles permet d’écrire le programme linéaire PL* sous la forme: min z x x Ma Ma Ma 1 2 1 2 3 a 12 2 x x - s 2 1 1 1 -s a 74 5 x1 8 x 2 2 2 -s a 24 x1 6 x 2 3 3 x1 , x 2 , s1 , s 2 , s 3 , a1 , a 2 , a 3 0 Ce qui va permettre de démarrer la procédure du simplexe à l’origine. La nouvelle fonction objectif est: ž = z +Ma1+Ma2+Ma3 ž = x1 + x2 + Ma1 + Ma2 + Ma3 RO_usmba_2020_2021_Pr_irréguliers 19 Exemple : cas de minimisation L’expression des variables artificielles (variables de base) en fonction des variables hors base permet d’écrire: ž = x1 (1-8M)+ x2 (1-15M) + M(s1 +s2 +s3) + 110M Le premier tableau de simplexe est donc: x1 x2 S1 S2 S3 a1 a2 a3 Bj bi/aie a1 2 1 -1 0 0 1 0 0 12 12 a2 5 8 0 -1 0 0 1 0 74 74/8 a3 1 6 0 0 -1 0 0 1 24 4 Dj 1-8M 1-15M M M M 0 0 0 ž-110M RO_usmba_2020_2021_Pr_irréguliers 20 Exemple : cas de minimisation La première itération nous donne un deuxième tableau : x1 x2 S1 S2 S3 a1 a2 a3 Bj bi/aie a1 11/6 0 -1 0 1/6 1 0 -1/6 8 48/11 a2 11/3 0 0 -1 4/3 0 1 -4/3 42 126/11 x2 1/6 1 0 0 -1/6 0 0 1/6 4 24 Dj 5/633M/6 0 M M 1/63M/2 0 0 -1/6+ 5M/2 Ž -4 -50M RO_usmba_2020_2021_Pr_irréguliers 21 Exemple : cas de minimisation Le troisième tableau est : x1 x2 S1 S2 S3 a1 a2 a3 Bj bi/aie 0 1/11 6/11 0 -1/11 48/11 -8 x1 1 0 6/11 a2 0 0 2 -1 1 -2 1 -1 26 13 x2 0 1 1/11 0 -2/11 -1/11 0 2/11 36/11 36 0 5/11 -5/11 M 1/11-M -2M +3M 0 -1/11 +2M Ž84/11 -26M Dj 0 RO_usmba_2020_2021_Pr_irréguliers 22 Exemple : cas de minimisation Le quatrième tableau est : x1 x2 S1 S2 S3 a1 a2 a3 x1 1 0 0 3/11 4/11 0 3/11 4/11 s1 0 0 1 -1/2 1/2 -1 1/2 -1/2 x2 0 1 0 0 -5/22 1/11 0 2/11 Dj 0 0 0 5/22 -3/22 M Bj bi/aie 126/1 63/2 1 13 26 23/11 -46/5 5/22 3/22 Ž+M +M 149/11 Les variables artificielles sont sorties de la base. On peut les annuler définitivement. RO_usmba_2020_2021_Pr_irréguliers 23 Exemple : cas de minimisation Le cinquième tableau nous donne le tableau de simplexe optimal : x1 x2 S1 S2 S3 Bj x1 1 0 -8/11 1/11 0 2 S3 0 0 2 -1 1 26 X2 0 1 5/11 -2/11 0 8 Dj 0 0 3/11 1/11 0 -10 Soit la solution optimale: x1=2, x2=8, s1=0, s2=0, s3=26, et z=10 RO_usmba_2020_2021_Pr_irréguliers 24 Récapitulatif de la méthode du simplexe Cas de maximisation. 1. Vérifier que les seconds membres du PL sont positifs, sinon modifier les contraintes, 2. Écrire le PL sous forme standard, 3. Construire le 1er tableau de simplexe, 4. Choix de la variable entrante dans la base: celle qui a le plus grand Dj positif, 5. Choix de la variable sortante de la base: celle qui a le plus petit bi/aie ≥ 0, 6. Construire le nouveau tableau (règle de pivot), 7. Test d’optimalité. Si Dj. ≤ 0 pour toutes les variables hors base; la solution est optimale, sinon retourner en 4 RO_usmba_2020_2021_Pr_irréguliers 25 Récapitulatif de la méthode du simplexe Cas de minimisation. 1. Vérifier que les seconds membres du PL sont positifs, sinon modifier les contraintes, 2. Écrire le PL sous forme standard, 3. Construire le 1er tableau de simplexe, 4. Choix de la variable entrante dans la base : celle qui a le plus petit Dj négatif. 5. Choix de la variable sortante de la base: celle qui a le plus petit bi/aie ≥ 0, 6. Construire le nouveau tableau (règle de pivot) 7. Test d’optimalité. Si Dj ≥ 0 pour toute les variables hors base; la solution est optimale, sinon retourner en 4. RO_usmba_2020_2021_Pr_irréguliers 26 Problèmes irréguliers Problème impossible. Graphiquement: l’ensemble des solutions réalisables est vide Simplexe : le tableau optimal contient une ou des variables artificielles (variables de base) non nulles. Problème à solutions multiples (dégénérescence de 1ère espèce). Graphiquement: pente de la droite représentant la fonction objectif = pente de l’une des contraintes Simplexe : dans le tableau optimal, Dj relative à une variable hors base est nulle et lorsqu’on fait entrer cette variable dans la base on trouve une nouvelle solution optimale sans que la valeur de la fonction objectif ne change. RO_usmba_2020_2021_Pr_irréguliers 27 Problèmes irréguliers Problème à solution infinie Graphiquement: la droite représentant la fonction objectif peut être déplacée indéfiniment lors de l’augmentation de sa valeur tout en restant dans l’espace des solutions réalisables. Simplexe : Touts les quotients bi/aie (dernière colonne du tableau du simplexe) sont négatifs ou nuls (pas de rapport bi/aie > 0). La variable entrante n’a pas donc de limite sur sa valeur d’entrée. Problème à solution dégénérée Graphiquement: la solution est dégénérée si trois contraintes ou plus concourent (un point ou les contraintes se rencontrent). Simplexe : une ou plusieurs variables de base dans le tableau optimal sont nulles. On a deux quotients bi/aie et bj/aje égaux. RO_usmba_2020_2021_Pr_irréguliers 28