Cours 1 - Université Saad Dahlab de Blida
Transcription
Cours 1 - Université Saad Dahlab de Blida
Cours de Programmation Linéaire donné par le Dr. Ali DERBALA LA PROGRAMMATION LINEAIRE La première révolution industrielle avait remplacé la force musculaire de l'homme par celle des machines. La seconde voyait la machine se commander elle-même. Les ordinateurs se sont introduits dans les entreprises et les pouvoirs publics firent surgir des problèmes de grande envergure auxquels les directions n'étaient pas préparées. La caractéristique essentielle de la Recherche Opérationnelle est le recours à la méthode scientifique. Le chercheur de la R.O. construit une représentation qu'il appelle un "modèle mathématique". Il peut manipuler les modèles et les étudier plus facilement que le système réel. Les modèles sont parfois très difficiles à construire et peuvent prendre la forme d'expressions mathématiques fort compliquées. Lorsqu'ils A mettent leur modèle en formule, les chercheurs doivent énoncer formellement quelles ID sont les variables, l'objectif, les paramètres. BL La programmation linéaire est une technique mathématique permettant de déterminer la meilleure solution d’un problème dont les données et les inconnues satisfont à une E série d’équations et d’inéquations linéaires. La programmation linéaire a été formulée D par Dantzig en 1947 et connaît un développement rapide par suite de son application B directe à la gestion scientifique des entreprises. Le facteur expliquant l’essor de la P.L LA est la construction d’ordinateurs puissants qui ont permis de traiter les problèmes concrets de taille très grande. On l’applique surtout en gestion et en économie H appliquée. On peut citer les domaines d’application de la programmation linéaire qui D A sont : les transports, les banques, les industries lourdes et légères, l’agriculture, les chaînes commerciales, la sidérurgie, et même le domaine des applications militaires. D Les méthodes de résolution sont la méthode du simplexe, méthode duale du simplexe, SA A méthodes des potentiels, méthode lexicographique et des méthodes récentes appelées méthodes des points intérieurs. Le but de cette partie du recueil n’est pas de donner TE les méthodes de résolution de la programmation linéaire mais de la présenter à l’aide U N IV ER SI des exemples concrets et faciles. Cours 01: Modélisation d'un programme linéaire noté P.L. 1 H LA B D E BL I D A Cours de Programmation Linéaire donné par le Dr. Ali DERBALA D A Cours 01 : Modélisation d'un U N IV ER SI TE SA A D programme linéaire noté PL Cours 01: Modélisation d'un programme linéaire noté P.L. 2 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA Exemples concrets de problèmes qui se modélisent par la programmation linéaire. 01. Un problème de restauration. Un restaurateur peut offrir deux types de plats indifféremment. Des assiettes à 80 DA, contenant 05 sardines, 2 merlans et 01 rouget. 30 sardines, 24 merlans et 18 rougets. Comment doit-il disposer pour réaliser la BL I D recette maximale ? A Des assiettes à 120 DA, contenant 03 sardines, 03 merlans et 03 rougets. Il dispose de Réponse 01. Soit x et y respectivement le nombre d’assiettes de type 1 et du type 2 à E offrir. Le problème est de maximiser la fonction 80 x + 120 y sous les contraintes: D 5 x + 3 y ≤ 30 LA B 2 x + 3 y ≤ 24 A x ≥ 0 et y ≥ 0. H x + 3 y ≤ 18 D 02. Préparation de Gâteaux. Un boulanger a la possibilité de faire trois types de D gâteaux G1, G2 et G3. Il utilise à cet effet de la farine (E1), du beurre (E2), des œufs A (E3), du sucre (E4) et de la levure (E5). Les quantités aij de l’éléments Ei intervenant SA dans l’élaboration du gâteau Gj sont données dans le tableau ci dessous : G3 1 2 TE G2 1 E2 SI G1 1 2 1 E3 2 1 1 E4 1 2 0 E5 1 2 2 U N IV ER E1 Le boulanger dispose de 20 unités de E1, 10 de E2, 20 de E3, 20 de E4 et 10 de E5. Les bénéfices unitaires valent respectivement 2 pour G1 , 5 pour G2 et 7 pour G3 . Ecrire le programme linéaire qui détermine le nombre de gâteaux à confectionner de façon à maximiser le bénéfice total. Cours 01: Modélisation d'un programme linéaire noté P.L. 3 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA Réponse 2. Si on note xj le nombre de gâteaux de type Gj, j = 1, 2, 3. Le problème s’écrit : Maxz = 2 x1 + 5 x2 + 7 x3 x2 + 2 x3 ≤ 20 x1 + x1 + 2 x2 + x3 ≤ 10 2 x1 + x2 + x3 ≤ 20 ≤ 20 x1 + 2 x2 x1 + 2 x2 + 2x3 ≤ 10 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0. ID 200 cm et d’une longueur de 500 cm. Il faut en fabriquer au moins 30 plaques de A 03. Problème de découpe. Une usine a reçu des plaques de métal d’une largeur de largeur de 110 cm , 40 plaques de largeur de 75 cm et 15 plaques de largeur de 60 cm. BL Donner le modèle mathématique pour que les déchets soient les plus petits possibles . E Réponse 3. Une plaque de 200 cm de largeur peut être découpée de cinq façons : D 1. une plaque de 75 cm et deux plaques de 60 cm. Les déchets seront de 05 cm. B 2. une plaque de 110 cm et une plaque de 75 cm. Les déchets seront de 15 cm. LA 3. une plaque de 110 cm et une plaque de 60 cm. Les déchets seront de 30 cm. deux plaques de 75 cm. Les déchets seront de 50 cm. H trois plaques de 60 cm. Les déchets seront de 20 cm. A Soit xi : le nombre de plaques à découper par la façon i, le problème s’écrit : D Min z = 5 x1 + 15 x2 + 30 x3 + 20 x4 + 50 x5 D x2 + x3 ≥ 30 SA A x1 + x2 + x5 ≥ 40 2 x1 + x3 + 3 x4 ≥ 15. TE x1 ≥ 0, …, x5 ≥ 0. SI 04. Un problème de transport. Une entreprise stocke un produit dans trois dépôts ER A1, A2 et A3. Les quantités stockées sont respectivement a1, a2 et a3. Les dépôts IV doivent alimenter quatre magasins de vente B1, B2 , B3 et B4. La quantité du produit nécessaire au point de vente Bi est bi N ( i = 1,…, 4 ). Comment l’entreprise doit-elle répartir les stocks entre les points de U vente ou quelle quantité le dépôt Ai doit-il livrer au point de vente Bj ? Cours 01: Modélisation d'un programme linéaire noté P.L. 4 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA Réponse 4. Le problème de transport est un problème particulier de la programmation linéaire. Sa formulation mathématiques est : m n −1 Minz = ∑ ∑ cij xij i =1 j =1 m n −1 ∑ ai ≥ ∑ b j . Cette équation traduit que la demande doit être satisfaite. i =1 j =1 n −1 ∑ xij ≤ ai , i = 1, …, m. j =1 xij ≥ 0, i = 1,…, m et j = 1,…, n – 1. BL ai ≥ 0, i = 1,…, m, bj ≥ 0, j = 1,…, n – 1, cij ≥ 0, i = 1,…, m et j = 1,…, n – 1. ID A m ∑ xij = bj, j = 1, …, n - 1. i =1 E 05. Un problème de répartition de ressources. Une entreprise peut produire D différents biens. Chaque bien est repéré par un indice « j ». Pour réaliser sa B production, elle utilise des matières premières, des machines, de la main d’œuvre, LA c’est à dire des ressources mesurées en unités appropriées. Ces ressources, ou facteurs de production, sont disponibles en quantité limitée ; soit bi la quantité disponible de la A H ressource « i ». On sait par ailleurs, quelle quantité aij la production d’une unité du D bien « j » nécessite une ressource « i ». Supposons que la production soit à rendement constant, c’est à dire que la production de xj unités du bien « j » exige aij xj unités de A D la ressource « i ». Ecrire un programme de production de l’entreprise sous forme de n Max z = ∑ c j x j j =1 n ∑ aij x j ≤ bi i = 1,…, m. j =1 xj ≥ 0, j = 1,…, n. U N IV ER SI TE Réponse 05. Il s’écrit, SA programme linéaire. Cours 01: Modélisation d'un programme linéaire noté P.L. 5 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA 06. Une usine fabrique trois sortes de pièces ( p1, p2, p3 ) à l’aide de deux machines ( m1, m2 ). Chaque pièce en cours de fabrication doit passer successivement sur les deux machines dans un ordre indifférent et pendant les temps suivants ( en minutes ) Temps d’usinage P2 P3 M1 2 4 3 M2 6 12 3 D P1 BL I Machines A (minutes par pièce) E La machine m1 est disponible 8 heures, la machine m2 est disponible 10 heures. Le D profit réalisé sur une pièce p1 est de 50 DA, sur une pièce p2 est de 80 DA, celui B réalisé sur une pièce p3 est de 60 DA. Combien doit-on fabriquer de pièces p1, p2 et p3 LA pour avoir un profit total maximum ? Donner un modèle mathématique du problème. H Réponse 06. Si x1 , x2, x3 représentent les nombres de pièces de type p1, p2, p3 à A fabriquer, le profit total est: max Z = 50 x1 + 80 x2 + 60 x3 x3 ≤ 480 6 x1 + 12 x2 + 3 x3 ≤ 600 D D 2 x1 + 4 x2 + 3 SA A x1 ≥ 0, x2 ≥ 0, x3 ≥ 0. 07. Problème de Mélange. Il faut mélanger trois gaz de telle manière que le gaz TE mixte soit le plus bon marché que possède un pouvoir calorifique entre plus de 1700 ER SI et 2000 k. cal/ m3 et un taux de sulfure au plus de 2,8 g/ m3. Indications sur les trois gaz : IV Pouvoir calorifique en 3 Taux de sulfure Prix en DA 3 En g/ m 1 1000 6 100 2 2000 2 250 3 1500 3 200 U k. cal/ m N Gaz Ecrire le modèle mathématique de ce problème. Cours 01: Modélisation d'un programme linéaire noté P.L. 6 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA Réponse 07. Soient x1, x2 et x3 le nombre de m3 à fabriquer respectivement du 1er , 2 nd et du 3 ième gaz. Min Z = 100 x1 + 250 x2 + 200 x3 1700 ≤ 1000 x1+ 2000 x2 + 1500 x3 ≤ 2000 6 x1 + 2 x2 + 3 x3 ≤ 2.8 D A x1 ≥ 0, x2 ≥ 0, x3 ≥ 0 BL I 08. Problème de nutrition. On se propose de fournir quotidiennement et à chaque individu d’une population un minimum de 70 g de protéines, 3000 unités de calories, E 800 mg de calcium et 12 mg de fer. Les produits disponibles sont le pain, le beurre, le D fromage, les pois et les épinards. Les prix par 100 g de ces produits sont B respectivement de 5, 34, 40, 10 et 5 DA. Le problème est de constituer, aux moindres LA frais, des rations quotidiennes respectant les exigences du régime imposé. Les quantités de protéines (en g ), de calories ( en unités ), de calcium ( en mg) et de Calories Fer Pain 10 300 50 4 Beurre 30 1800 400 - Fromage 35 800 450 - Pois 20 1500 750 4 Epinards 25 300 120 15 TE A D D Calcium SA Protéines A H fer ( en mg ) par 100 g de ces aliments sont donnés dans le tableau suivant : SI Réponse 08. Soit x1 le nombre de pain introduit dans la ration de 100g ER x2 le nombre de beurre introduit dans la ration de 100g IV x3 le nombre de fromage introduit dans la ration de 100g x4 le nombre de pois introduit dans la ration de 100g U N x5 le nombre d’épinards introduit dans la ration de 100g Max Z = 3 x1 + 7 x2 + 7 x3 + 5 x4 + 5 x5 10 x1 + 30 x2 + 35 x3 + 20 x4 + 25 x5 ≥ 70 300 x1 + 1800 x2 + 800 x3 + 1500 x4 + 300 x5 ≥ 3000 50 x1 + 400 x2 + 450 x3 + 750 x4 + 120 x5 ≥ 800 4 x1 + 4 x4 + 15 x5 ≥ 12 xi ≥ 0, i = 1,…, 5 Cours 01: Modélisation d'un programme linéaire noté P.L. 7 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA 09. Une usine possède trois tours, qui au cours d’un mois, peuvent être utilisés pendant les temps indiqués dans le tableau ci dessous. Quatre pièces peuvent être usinées sur ces machines. Les quantités de chaque pièce à fabriquer au cours du mois sont fixées de façon impérative et sont indiquées dans le tableau. Le temps d’usinage en heures par pièce figurent également . Heures de disponibilité des ( heures par pièces ) machines II III IV A 3 3 2 5 80 B 4 1 1 2 30 C 2 2 3 1 130 Productions exigées 10 40 50 20 moins BL au de E (nombre A I ID Tours Temps d’usinage B D pièces) LA Ecrire un programme linéaire pour réduire au minimum l’utilisation des machines. H Quel sera le programme d’affectation de diverses fabrications aux diverses machines. A Réponse 09. Soit xij le nombre de pièces i à fabriquer sur la machine j. D On aura 12 variables. Le problème s’écrit : 3x11 + 3x21 + 2x31 + 5x41 ≤ 80 SA A Sous les contraintes : D Minz = 3x11 + 3x21 + 2x31 + 5x41 + 4x12 + x22 + x32 + 2x42 + 2x13 + 2x23 + 3 x33 + 4 x43 4x12 + x22 + x32 + 2x42 ≤ 30 3x11 +x12 + x13 = 10 x21 + x22 + x23 = 40 x31 + x32 + x33 = 50 x41 + x42 + x43 = 20 xij ≥ 0, i = 1, …, 4 et j = 1, 2, 3. U N IV ER SI TE 2x13 + 2x23 + 3 x33 + 4 x43 ≤ 130 Cours 01: Modélisation d'un programme linéaire noté P.L. 8 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA 10. Une usine peut fabriquer quatre sortes de bureaux. La fabrication requiert un certain temps de travail dans l’atelier des composants, un certain temps de travail dans l’atelier d’assemblage et un certain temps dans l’atelier de finition. Ces temps sont Bureaux Composants Montage Finition A 1 2 0 B 3 1 1 C 1 2 4 D 1 1 1 Le profit réalisé sur la vente de chacun de ces bureaux est respectivement de 900 DA, ID 1800 DA, 1400 DA et 450 DA. On désire maximiser le profit sachant qu’on ne A donnés par : BL dispose que de 4500, 4000 et 3000 unités de travail dans les ateliers de composants, de montage et de finition respectivement. E Ecrire le problème linéaire correspondant à ce problème. D Réponse 10. Soient x1 le nombre de bureau A, x2 le nombre de bureau B, x3 le nombre B de bureaux C, x4 le nombre de bureau D à fabriquer. H x1 + 3 x2 + x3 + x4 ≤ 4500 LA Max z = 900 x1 + 1800 x2 + 1400 x3 + 450 x4 A 2 x1 + x2 + 2 x3 + x4 ≤ 4000 D x2 + 4 x3 + x4 ≤ 3000 A D xi ≥ 0, i = 1, …, 4. SA 11. Une entreprise possède trois usines situées respectivement à Boufarik, Blida et Médéa. Elle importe un métal, du cuivre, non disponible sur le marché interne qui lui SI TE est acheminé vers deux ports celui d’Alger et d’Oran. Les quantités de cuivre nécessaires aux usines respectives sont de 400, 500 et 600 tonnes tandis que les ER quantités disponibles sont de 500 et 300 tonnes par semaine respectivement à Alger N IV et Oran. Les coûts unitaires de transport en dinars sont donnés par le tableau suivant: U Alger Oran Boufarik Blida Médéa 500 600 700 1000 900 800 Cours 01: Modélisation d'un programme linéaire noté P.L. 9 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA L’unité étant la tonne de cuivre à transporter. Ecrire le programme linéaire associé à un plan de transport à coût minimale. Réponse 11. Soit xij le nombre de tonnes de métal qui sont acheminés chaque semaine depuis le port i vers l’usine j ( i = 1, 2 et j = 1, 2, 3). Le programme s’écrit : minz = 500 x11 + 600 x12 + 700 x13 + 1000 x21 + 900 x22 + 800 x23 x11 + x21 ≥ 400 A x12 + x22 ≥ 500 D x13 + x23 ≥ 600 BL I x11 + x12 + x13 ≤ 500 x21 + x22 + x23 ≤ 300 D E xij ≥ 0 ( i = 1, 2 et j = 1, 2, 3 ) B 12. Programme de raffinerie. Une raffinerie peut traiter trois pétroles bruts appelés LA brut_1, brut_2 et brut_3 originaires de trois pays différents. Par distillation fractionnée H dans les « toppings », ces pétroles bruts donnent des coupes qui sont des ensembles A d’hydrocarbures ayant des températures d’ébullition comprises entre des limites D fixées. Un « topping » permet d’obtenir : des gaz et gaz liquéfiés D Une gazoline ou coupe 0-80°c( hydrocarbures dont le point d’ébullition est compris SA Une benzine ou coupe 80-130°c A entre 0 et 80°c ) Un naphta léger ou coupe 130-160°c TE Un naphta lourd ou coupe 160-190°c ER SI Un kérosène ou coupe 190-230°c Un gasoil léger ou coupe 230-310°c Un gasoil lourd ou coup 310-400°c IV Un fuel-oil ou coupe > 400°c N Ces coupes subissent ensuite des traitements complémentaires ( épuration, U désulfuration, cracking, reforming catalytique ) pour devenir des bases qui, convenablement mélangées, permettront d’obtenir les produits commerciaux désirés. La raffinerie considérée fabrique cinq catégories de produits finis : des gaz et gaz liquéfiés, des essences, du pétrole, du gasoil et du fuel-oil. Les rendements des pétroles bruts traités sont précisés par le tableau ci-après ( qui explicite les quantités produites à partir de 100 tonnes de brut ) : Cours 01: Modélisation d'un programme linéaire noté P.L. 10 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA Matière première Brut_1 Brut_2 Brut_3 Production ( tonnes) ( tonnes) ( tonnes) Gaz et gaz liquéfiés 2 6 6 Essences 20 25 30 Pétroles 8 Gasoil 40 25 30 Fuel-oil 30 50 30 Total 100 100 100 La raffinerie peut produire au maximum, au cours d’une année : BL I 300 000 tonnes de gaz et gaz liquéfiés, 1 050 000 t d’essences , 180 000 t de pétrole, D A 4 1 350 000 t de gasoil et 1 800 000 t de fuel-oil. E Elle réalise un bénéfice de 4000 DA par tonne de brut_1 mise en œuvre, 5000 DA par D tonne de brut_2 et 6000 DA par tonne de brut_3 mise en œuvre. Quelle quantité de B chacun des bruts devra-t-elle traiter pour réaliser le bénéfice total maximal ? Ecrire le LA programme correspondant. Réponse 12. Appelons respectivement x1 , x2 et x3 les quantités de brut, en millions H de tonnes, traitées annuellement par la raffinerie. Le tableau des rendements ci-dessus D A montre que la production de gaz et gaz liquéfiés correspondant à 1 million de tonnes de pétrole brut atteint : A D 0.02 million de tonnes quand on traite du brut n°1 SA 0.06 million de tonnes quand on traite du brut n°3 Comme la fabrication de cette catégorie de produit est limitée à 300 000 tonnes, soit SI Soit encore : TE 0.3 million de tonnes, la contrainte correspondante s’écrit : 0.2 x1 + 0.06 x3 ≤ 0.30 x1 + 3 x3 ≤ 15 N IV ER On obtient de même, pour la limitation de production d’essences : soit encore : 0.20 x1 + 0.25 x2 + 0.30 x3 ≤ 1.05 4 x1 + 5 x2 + 6 x3 ≤ 21 U pour la limitation de production de pétrole : 0.08 x1 + 0.04 x3 ≤ 0.18 soit encore : 4 x 1 + 2 x3 ≤ 9 pour la limitation de production de gasoil : 0.40 x1 + 0.25 x2 + 0.30 x3 ≤ 1.35 qui est équivalent à l’équation : 8 x1 + 5 x2 + 6 x3 ≤ 27 Cours 01: Modélisation d'un programme linéaire noté P.L. 11 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA pour la limitation de production de fuel-oil : 0.30 x1 + 0.50 x2 + 0.30 x3 ≤ 1.80 3 x1 + 5 x2 + 3 x3 ≤ 18. Soit encore : Le problème est de maximiser le bénéfice en millions de DA, qui s’écrit : Max z = 40 x1 + 50 x2 + 60 x3 x1 + 3 x3 ≤ 15 Sous les contraintes : 4 x1 + 5 x2 + 6 x3 ≤ 21 4 x1 + 2 x3 ≤ 9 A 8 x1 + 5 x2 + 6 x3 ≤ 27 ID 3 x1 + 5 x2 + 3 x3 ≤ 18 BL x1 ≥ 0, x2 ≥ 0, x3 ≥ 0. E 13. Problèmes des ordures ménagères. Une ville A produit quotidiennement 500 D tonnes d’ordures ménagères, une autre ville B produit 400 tonnes. Les ordures doivent B être incinérées à l’incinérateur 1 ou à l’incinérateur 2 qui peuvent traités LA respectivement jusqu’à 500 tonnes par jour. Le coût de l’incinération des ordures est H de 40 DA par tonne à l’incinérateur 1, et de 30 DA la tonne à l’incinérateur 2. A L’incinération des ordures réduit chaque tonne de déchets à 0.2 tonnes de débris, qui D seront enfouis dans deux terrains vagues. Chaque terrain vague peut recevoir au plus D 200 tonnes de débris par jours. Il coûtera 3 DA le kilomètre pour transporter une SA A tonne de déchets ( ordures ou débris ). Les distances entre les différents lieus sont données par le tableau ci dessous. Formuler ce problème comme celui de la programmation linéaire pour minimiser le coût total de prélèvement des ordures SI TE ménagères des deux villes A et B. Incinérateur 2 Ville A 30 5 Ville B 36 42 Terrain vague 1 5 9 Terrain vague 2 8 6 U N IV ER Incinérateur 1 Réponse 13. Soient xij : le nombre de tonnes de déchets à transporter de la ville i ( i = 1, 2 ) à l’incinérateur j ( j = 1, 2 ) et yjk le nombre de tonnes de débris à transporter de l’incinérateur j au terrain-vague k ( k = 1, 2 ) Cours 01: Modélisation d'un programme linéaire noté P.L. 12 Cours de Programmation Linéaire donné par le Dr. Ali DERBALA min Z = 40 (x11 + x21 ) + 30 (x12 + x22 ) + 3 ( 30 x11 + 5 x12 + 36 x21 + 42 x22 + 5 y11+ A 9 y12 + 8 y21 + 6 y22 ) BL I D x11 + x12 = 500 x21 + x22 = 400 y11+ y12 = 0.2 ( x11 + x21 ) D E y21 + y22 = 0.2 (x12 + x22 ) x11 + x21 ≤ 500 LA B x12 + x22 ≤ 500 y12 + y22 ≤ 200 H y11+ y21 ≤ 200 D A xij ≥ 0, yjk ≥ 0 ( i, j, k = 1, 2 ) D Le but des chapitres ultérieurs est de déterminer une solution à ces problèmes de la A programmation linéaire, en proposant des méthodes typiques, résolution géométrique SA dans le cas d'un plan ou d'un espace de dimension trois, algorithme du simplexe, U N IV ER SI TE algorithme dual du simplexe et méthode du grand M. Cours 01: Modélisation d'un programme linéaire noté P.L. 13 U N IV ER SI TE SA A D D A H LA B D E BL I D A Cours de Programmation Linéaire donné par le Dr. Ali DERBALA Cours 01: Modélisation d'un programme linéaire noté P.L. 14