Download - modélisation MATEMATIQE
PROGRAMMATION MATHEMATIQUE
PRINCIPES ET APPLICATIONS
Youssef BENADADA
ENSIAS, Université Mohammed V – Souissi
Rabat
Ahmed ALAOUI EL HILALI FSTF, Université Sidi Mohammed Ben Abdellah
Fès
Edition Kawtar Print -‐ Rabat
2012
ii
Avant Propos
Après le succès remarquable qu’a eu la Recherche Opérationnelle dans le domaine militaire lors de la deuxième guerre mondiale, c’était au tour des milieux industriels de s’intéresser à cette nouvelle science. Depuis, la recherche opérationnelle est de plus en plus présente dans le quotidien des gestionnaires : planification de la production, affectation du personnel, gestion des stocks, problèmes de transport (routier, ferroviaire, aérien…), élaboration d’horaires… Tous ces problèmes font appel explicitement ou implicitement à des techniques de recherche opérationnelle. Cet intérêt à cette science, qui a été freiné au début par la complexité des calculs et la lenteur des ordinateurs de la première génération, a eu un essor considérable au cours des dernières décennies avec la puissance remarquable des ordinateurs. Mieux encore, les décideurs et les gestionnaires disposent désormais de plusieurs logiciels de recherche opérationnelle et d’aide à la prise de décision, disponibles sur des ordinateurs personnels de plus en plus rapides. Cependant, ces logiciels ne peuvent profiter vraiment qu’à ceux qui en comprennent les fondements et les hypothèses avec lesquels ils ont été conçus. En effet, pour être en mesure d’utiliser efficacement un logiciel de recherche opérationnelle, il faut bien respecter les conditions d’utilisation et rester dans les limites permises pour que l’interprétation des résultats reste valide. Les utilisateurs de ces logiciels doivent en plus s’assurer que les modèles mathématiques proposés reflètent bien la réalité des problèmes à résoudre.
L’une des disciplines les plus exploitées de la recherche opérationnelle est celle de la programmation mathématique qui a comme objet l’étude théorique des problèmes d’optimisation ainsi que la conception et l’utilisation d’algorithme de résolution. La programmation mathématique regroupe plusieurs classes de problèmes dont :
-‐ Programmation linéaire, (G.B. Dantzig 1949, [1]), pour l’étude des problèmes d’optimisation de fonctions linéaires sous contraintes linéaires.
-‐ Programmation non linéaire, (H.W. Kuhn et A.W. Tucker 1951, [2]), pour l’étude des problèmes d’optimisation non linéaires avec ou sans contraintes.
-‐ Programmation en nombres entiers, (R.E. Gomory, 1958 [3]), pour l’étude des problèmes d’optimisation où les variables sont astreindre à ne prendre que des valeurs entières
-‐ Programmation dynamique, (R. Bellman, 1957, [4]), qui est une approche générale d’optimisation de problèmes dynamiques…
Ce manuel regroupe les principales parties de ces classes de problèmes enseignées dans les grandes écoles d’ingénieurs et les facultés des sciences et techniques au Maroc. La matière de cet ouvrage provient en grande partie des différents cours dispensés par les auteurs, pendant une vingtaine d’années, dans certains établissements universitaires marocains et particulièrement à l’Ecole Nationale Supérieure d’Informatique et d’Analyse des Systèmes (ENSIAS) de Rabat, à la faculté des sciences de Tétouan ou la faculté des sciences et techniques de Fès.
Certains exemples ou exercices de ce livre sont des exemples classiques et peuvent se trouver dans d’autres ouvrages, mais la plupart sont des exemples ou exercices originaux.
iii
L’objectif de ce manuel « Programmation Mathématique, Principes et Applications » est donc de développer chez l’étudiant, certaines habiletés de formulation de modèles mathématiques, d'application de quelques techniques de recherche opérationnelle, d’utilisation de certains logiciels d’aide à la décision et d’interprétation des résultats obtenus.
Ce manuel peut servir de support de cours à la fois aux élèves-‐ingénieurs des grandes écoles, aux étudiants des licences sciences et techniques, des licences professionnelles, mais aussi étudiants des écoles privés spécialisés en gestion (Cycle normal ou MBA). Il peut aussi servir d’un guide aux enseignants de la recherche opérationnelle.
Les notions de mathématiques requises pour la compréhension des notions présentées dans ce document est tout simplement celles d’algèbre linéaire du niveau baccalauréat.
Une grande partie de ce manuel est dédiée à la modélisation mathématique et la résolution de modèles linéaires soit graphiquement soit par la méthode primale ou duale du Simplexe. Vue l’importance de l’analyse de sensibilité un chapitre lui a été consacré. Une grande attention a été donnée à la résolution des problèmes d’optimisation en nombres entiers. Comme applications, on a choisit deux problèmes classiques : les problèmes de transport et les problèmes d’affectation. Enfin, le dernier chapitre a été réservé à l’initiation à la programmation non linéaire.
Les critiques et les propositions des utilisateurs de cet ouvrage seront les bienvenues et serviront, certainement, à l’améliorer pour les prochaines éditions.
Nous tenons à remercier tous les collègues et particulièrement ceux avec qui j’ai eu des discussions fructueuses à propos de cet ouvrage et qui nous ont fortement encouragé à le réaliser. Qu’ils trouvent tous dans ce travail nos sentiments de respect et de considérations.
Les auteurs
Chapitre. 1 : Programmation mathématique et modélisation 5
CHAPITRE 1
PROGRAMMATION MATHEMATIQUE ET MODELISATION
1.1 Introduction
La programmation mathématique est actuellement une branche particulièrement active des mathématiques appliquées, et cela, pour de nombreuses raisons. La première est peut-‐être le nombre, la variété, et l’importance de ses applications que ce soit dans les sciences de l’ingénieur, ou dans d’autres domaines des mathématiques appliquées. Mais, l’importance de la programmation mathématique vient aussi du fait qu’elle fournit un cadre conceptuel adéquat pour l’analyse et la résolution de nombreux problèmes de mathématiques appliquées, tels que, la théorie des jeux, l’analyse numérique et la programmation combinatoire. Sans prétendre être exhaustif, on peut citer quelques domaines d’application :
-‐ Recherche opérationnelle : l’optimisation des systèmes technico-‐économiques (planification, économétrie,…), les problèmes de transport, les problèmes d’ordonnancement, les problèmes de gestion de stockes, …etc.
-‐ Analyse numérique : l’approximation, la régression, la résolution de systèmes linéaires et non linéaires, les méthodes numériques liées à la mise en œuvre des méthodes d’éléments finis, …etc.
-‐ Automatique : l’identification des systèmes, la commande optimale des systèmes, le filtrage, l’ordonnancement d’atelier, la commande de robots, …etc.
-‐ Ingénierie : le dimensionnement et l’optimisation des structures et la conception optimale de systèmes techniques complexes tels que, les systèmes informatiques, les réseaux d’ordinateurs, les réseaux de transport, les réseaux de télécommunication, …etc.
-‐ Economie mathématique : la résolution de grands modèles macro-‐économiques, des modèles micro-‐économiques ou modèles d’entreprise, la théorie de la décision et la théorie des jeux.
La programmation mathématique vise l’étude théorique des problèmes d’optimisation ainsi que la conception et la mise en œuvre des algorithmes de résolution. Historiquement, l’existence du terme « programmation » dans le nom proposé à cette discipline peut s’expliquer par le fait que les premières recherches et les premières applications se sont développées dans le contexte de l’économie et de la recherche opérationnelle. Très naturellement, la terminologie adoptée
Chapitre. 1 : Programmation mathématique et modélisation 6
reflète bien l’étroite relation existante entre l’activité d’analyse mathématique d’un problème et son interprétation économique.
L’élaboration des concepts fondamentaux et la tendance à l’unification ont été constamment au centre des préoccupations, et c’est ainsi que l’histoire de cette discipline se trouve jalonnée par un certain nombre de travaux de synthèse remarquables, qui ont souvent été à l’origine de courants de recherche nouveaux et féconds.
Mais, avant de résoudre un problème du monde de la gestion, il faut bien commencer par sa traduction par des relations mathématiques. Or, selon les situations, cette traduction reflète plus ou moins la réalité. Souvent nous sommes obligés d’accepter des compromis. Les relations mathématiques que nous proposons ne constituent en général que des modèles des problèmes considérés. Mais les résultats de ces modèles permettent souvent aux gestionnaires de prendre des décisions souvent efficaces pour mener à bien leurs projets. Nous parlons alors de modélisation mathématique pour caractériser cette traduction d’informations. C’est un processus qui relève à la fois de l’art, de l’expérience, de la culture générale et des connaissances mathématiques.
Dans ce chapitre, avant de présenter plusieurs exemples pédagogiques ainsi que leurs modèles mathématiques, nous allons présenter quelques notions générales de programmation mathématique. Certains de ces exemples sont des problèmes classiques que l’on retrouve dans la littérature scientifique. C’est le cas du problème de transport, du problème d’affectation ou le problème du voyageur du commerce.
1.2 Préliminaires
Les problèmes de la programmation mathématique se posent lorsqu’on cherche à maximiser (ou minimiser) une fonction à plusieurs variables, appelées fonction objectif. Ces variables sont soumises à des inéquations, appelées contraintes.
Notons par X un sous ensemble de . Dans toute la suite
signifie que le minimum de f est atteint, c'est-‐à-‐dire :
et il existe tel que
Si f est non bornée inférieurement, c'est-‐à-‐dire si , nous adoptons la
convention :
Dans ce cas, on dit que f n’a pas de minimum de valeur finie sur X ou que le problème est non-‐borné inférieurement.
Chapitre. 1 : Programmation mathématique et modélisation 7
De même,
signifie que le maximum de f est atteint c'est-‐à-‐dire :
et il existe tel que
Si f est non bornée supérieurement, c'est-‐à-‐dire si , nous adoptons la
convention :
Dans ce cas, on dit que f n’a pas de maximum de valeur finie sur X ou que le problème est non-‐borné supérieurement.
1.3 Programme Mathématique
1.3.1 Définitions
Soient (i=1,2,…m) et un sous-‐ensemble de .
Définition 1.1 Un programme mathématique est un problème d’optimisation de la forme :
ou
La fonction f est appelée la fonction objectif ou fonction économique.
L’ensemble C et les conditions sont appelées les contraintes de (P).
Remarques 1.1
1) Dans toute la suite nous ne considérons que le problème de type (P) ; en effet,
, donc est équivalent à
2) Dans le problème (P), il n’y a pas de contraintes d’égalités, car une contrainte de type h(x) = 0 peut être remplacée par les deux contraintes suivantes : h(x) ≤ 0 et -‐h(x) ≤ 0.
Définitions 1.2
Chapitre. 1 : Programmation mathématique et modélisation 8
On appelle solution réalisable ou bonne solution ou solution efficace du problème (P), tout
vecteur vérifiant toutes les contraintes de (P) :
Définitions 1.3 On appelle domaine réalisable de (P), l’ensemble de toutes les solutions réalisables de (P).
Définitions 1.4 On appelle solution optimale ou optimum global de (P), une solution réalisable qui minimise f(x) sur l’ensemble de toutes les solutions.
Définitions 1.5 On dit que est un minimum local de (P) s’il existe un voisinage de tel que soit optimum
global du problème (P1) suivant :
Exemple 1.1
Les programmes mathématiques peuvent être classés selon l’espace de recherche ou la nature de la fonction objectif et les contraintes.
1.3.2 Classification selon l’espace de recherche
1) Si , alors nous noterons le problème
minimum local
minimum global
minimum local
Figure 1.1.
Chapitre. 1 : Programmation mathématique et modélisation 9
2) Si , i=1,…, m, alors (P) s’écrit :
3) Si et , i=1,…, m, alors (P) s’écrit :
On dit qu’on a un problème sans contraintes.
1.3.3 Classification selon la nature de la fonction objectif et les contraintes
Considérons le problème suivant :
Dans le cas où et où f et les fi, i = 1, …, m, sont toutes des applications linéaires, on dit qu’il
s’agit d’un programme mathématique linéaire et on le note par (PL).
L’importance de la classe des modèles linéaires est due, d’une part, à la multitude d’algorithmes efficaces de résolution qui existent, et d’autre part, au fait que les modèles linéaires se présentent dans la modélisation de plusieurs situations de gestion.
En général, un problème de programmation linéaire s’écrit sous la forme suivante :
où, et où signifie que
.
Plus explicitement, un problème de programmation linéaire s’écrit sous la forme suivante :
Chapitre. 1 : Programmation mathématique et modélisation 10
Ce modèle peut aussi être écrit sous une forme matricielle :
où
Ainsi, un modèle linéaire doit vérifier les conditions suivantes :
1. Le modèle doit avoir une fonction objectif à minimiser ou à maximiser 2. La fonction objectif ainsi que les membres gauches de chacune des contraintes doivent être
des fonctions linéaires. 3. Toutes les variables doivent être non-‐négatives 4. Toutes les contraintes s’écrivent avec des égalités ou avec des inégalités larges.
Nous parlons aussi de modèles linéaires continus. Les modèles linéaires dont les variables de décision sont astreintes aux seules valeurs entières sont appelés modèles linéaires en nombres entiers. (Voir Chapitre 4).
Si f et/ou certaines des fi ne sont pas linéaires, alors nous parlerons de programme mathématique non linéaire. Selon la nature de la fonction objectif f et/ou celle des contraintes fi, plusieurs classes de problèmes de programmation mathématique existent dans la littérature. Nous citons à titre d’exemples :
1) Si la fonction objectif f et les contraintes fi, i = 1, …, m, sont des fonctions convexes, on dit qu’il s’agit d’un programme mathématique convexe.
Chapitre. 1 : Programmation mathématique et modélisation 11
2) Si f est une fonction quadratique c'est-‐à-‐dire de la forme : et les fi sont
aussi des fonctions quadratiques, on dit dans cas qu’il s’agit d’un programme mathématique quadratique.
3) Si la fonction objectif f peut s’écrire comme différence de fonctions convexes (fonctions DC) et les fi, i = 1, …, m, sont DC et l’espace de recherche C est convexe, on dit qu’il s’agit d’un programme mathématique DC.
Plusieurs autres types de programme mathématique non linéaire, existent dans la littérature. Dans cet ouvrage, nous nous limitons à l’étude des programmes linéaires et les programmes non linéaires quadratiques.
1.4 Modélisation Mathématique
Avant de résoudre un problème du monde de la gestion, il faut bien commencer par sa traduction par des relations mathématiques. La recherche du modèle mathématique d’un problème revient à identifier certaines composantes relatives à ce problème :
1. L’ensemble des actions (activités ou variables) qui s’offrent à l’agent de décision, 2. Les contraintes définissant la nature du système à l’étude, 3. L’objectif visé exprimé sous forme d’une fonction mathématique (fonction objectif ou fonction économique)
Dans ce paragraphe nous allons présenter la modélisation mathématique de plusieurs exemples dont certains problèmes classiques se trouvent dans la littérature. Pour les premiers exemples, nous allons détailler les différentes étapes de la modélisation alors que pour les derniers, nous allons seulement donner les modèles mathématiques associés.
1.4.1 Problème du fleuriste
Un fleuriste dispose de 45 roses, 36 tulipes et 27 marguerites achetées à M MAD. Il veut offrir à ses clients deux types de bouquets de fleures :
- Type 1 : bouquet à 80 MAD composé de 10 roses, 4 tulipes et 2 marguerites.
- Type 2 : bouquet à 60 MAD composé de 6 roses, 6 tulipes et 6 marguerites.
Le souci du fleuriste est de déterminer le nombre de bouquets de chaque type afin de maximiser son revenu total.
Modélisation Quelles sont les informations dont doit disposer le fleuriste pour résoudre son problème ? Il lui suffit de connaître le nombre de bouquets à préparer de chaque type.
(i) Variables Notons par :
x1 = nombre bouquets à préparer de type 1.
x2 = nombre bouquets à préparer de type 2.
Les variables x1 et x2 sont dites variables de décision.
(ii) Fonction objectif Quel revenu retirera le fleuriste de la vente de tous les bouquets préparés ?
Chapitre. 1 : Programmation mathématique et modélisation 12
Il s'agit d'additionner les revenus à tirer de chacun des 2 types de bouquets :
Un bouquet de fleures de type 1 est vendu à 80 MAD, donc le revenu à tirer de la vente de x1 bouquets de ce type est 80 x1.
De même, un bouquet de type 2 est vendu à 60 MAD, donc le revenu à tirer de la vente de x2 bouquets de ce type est 60 x2.
Donc, le revenu total à tirer de la vente de tous les bouquets préparés s'élève à :
(80 x1 + 60 x2) MAD.
Nous dénoterons ce revenu total par z et laisserons implicite l'unité monétaire :
z = 80 x1 + 60 x2.
Nous cherchons évidemment à rendre le revenu z aussi grand que possible en donnant à x1 et à x2 des valeurs appropriées.
Ici, z est une fonction qui, à chaque plan de production (tant de bouquets de type 1, tant de bouquets de type 2), associe le nombre de MAD que le fleuriste toucherait comme recette s'il adoptait ce plan. Cette fonction z, qui traduit l'objectif de notre problème, s'appelle fonction objectif. Et, comme nous cherchons à rendre z aussi grand que possible, nous écrivons :
Maximiser z
où z = 80 x1 + 60 x2
ce qu’on convient d'abréger généralement comme suit :
Max z = 80 x1 + 60 x2.
S'il ne s'agissait pour le fleuriste que de maximiser z, il lui suffirait de laisser augmenter x1 ou x2 pour que z prenne une valeur aussi grande qu'il le souhaite. Il y a bien sûr des empêchements naturels, appelés contraintes, qui freinent le rêve d'un profit infini. Prenons en considération tour à tour chacune des contraintes.
(iii) Contraintes Dans cet exemple, nous disposons de deux types de contraintes, les Contraintes de non-‐négativité et d'intégrité et les contraintes de disponibilité : Contraintes de disponibilité : Il faut que le nombre de fleures utilisés de chaque catégorie ne dépasse pas leur disponibilité :
- Rose : le fleuriste dispose de 45 roses :
10 x1 + 6 x2 ≤ 45
- Tulipes : le fleuriste dispose de 36 tulipes :
4 x1 + 6 x2 ≤ 36
- Marguerites: le fleuriste dispose de 27 marguerites :
2x1 + 6 x2 ≤ 27
Contraintes de non-‐négativité et d'intégrité :
Elles assurent que le nombre de bouquets à composer de chaque type soit un entier positif ou nul :
Chapitre. 1 : Programmation mathématique et modélisation 13
x1, x2 ≥ 0 et entiers.
Le modèle mathématique se résume ainsi :
Le modèle obtenu est un problème linéaire en nombres entiers. Des méthodes ont été mises au point pour « résoudre » ce genre de modèle, c'est-‐à-‐dire trouver des valeurs des variables de décision qui, tout en respectant chacune des contraintes, optimisent la fonction objectif et constituent donc une solution optimale. Parmi ces méthodes, nous allons étudier, au chapitre 3, la méthode de résolution graphique et la méthode du Simplexe.
Solution optimale : x1 = 2,25 et x2 = 3,75 ; z =405.
Cette solution recommande de préparer 2,25 bouquets du type 1 et 3,75 bouquets du type 2. Ce plan de production assurerait au fleuriste un revenu de 405 MAD. Si on savait que le nombre de bouquets à préparer de chaque type doit être entier, alors on conclura que cette solution n’est pas réalisable. C’est un problème de programmation en nombres entiers dont on verra au chapitre 4 des méthodes de résolution.
1.4.2 Problème des bibliothèques
Un artiste est spécialisé dans le design du meuble de luxe, en particulier la production en courtes séries de deux modèles de bibliothèque muraille. Il s'est engagé à livrer, d'ici 5 semaines, 9 bibliothèques du modèle A et 6 bibliothèques du modèle B. Il estime à 10 unités le marché potentiel pour chaque type de bibliothèque.
L’artiste se propose de consacrer à la fabrication de ces bibliothèques toutes les heures de main-‐d’œuvre dont il disposera dans son atelier pendant les cinq prochaines semaines. Chaque bibliothèque doit passer par trois opérations préparation, assemblage et finition. Le tableau suivant présente les données afférentes à ce problème de production : la bibliothèque du modèle A y est appelée A et la bibliothèque du modèle B y est appelée B.
Durée de fabrication d’une bibliothèque (en heure)
Opération A B Nombre d’heures
Disponibles
Préparation 10 8 300
Assemblage 6 4 150 Profit par
bibliothèque 1450 MAD 1800 MAD
L'objectif que poursuit notre artiste est de maximiser le profit qu'il pourra tirer, au cours des cinq prochaines semaines, de ces 2 modèles de bibliothèque en utilisant au mieux les ressources de son atelier.
Chapitre. 1 : Programmation mathématique et modélisation 14
1.4.3 Problème de Transport
Un industriel désire transporter, à moindre coût, un certain bien depuis m entrepôts vers n magasins. La disponibilité de l’entrepôt i (1≤i≤m) est ai et la demande du magasin j (1≤j≤n) est bj. Nous supposons que ai>0 et bj>0. Le coût unitaire de transport de l’entrepôt i vers le magasin j est Cij.
En général, le problème de transport est résumé par un tableau de la forme :
M1 M2 … Mj … Mn Disponibilité E1 E2 : Ei : Em
Cij
a1 a2 : ai : am
Demande b1 b2 … bj … bn
Le problème de l’industriel est de déterminer la quantité à envoyer de chaque entrepôt vers chacun des magasins de telle manière que le coût total de transport soit le plus faible possible.
1.4.4 Le problème d’Affectation
Le responsable d’une unité de production désire affecter n personnes à n tâches. Chaque personne doit effectuer une et une seule tâche. Soit Cij le coût de formation de la personne i à la tâche j. Le problème d’affectation consiste à trouver la meilleure affectation, c’est-‐à-‐dire affecter les personnes aux tâches de sorte que la somme des coûts de formation soit minimum. Le problème d’affectation est résumé par un tableau de la forme :
T1 T2 … Tj … Tn P1 P2 : Pi : Pn
Cij
Remarque 1.4 : Ce problème, dit Problème Standard d’Affectation, peut être vu comme un cas particulier du problème de transport avec n entrepôts et n magasins, où ai = bj = 1 et où Cij représente le coût de transport de l’entrepôt i vers le magasin j.
1.4.5 Problème de localisation
Dans son prochain programme d’investissement, la société Cellulose du Maroc désire construire 1 ou 2 usines et peut-‐être un entrepôt, sachant que ce dernier ne peut se trouver que là où il y a une usine. La compagnie dispose d’un budget d’investissement de 15 millions de MAD et a le choix entre 3 villes pour installer ses usines et, éventuellement, son entrepôt. La compagnie dispose aussi des estimations du prix de construction et de la valeur nette actualisée (VNA) de chaque
Chapitre. 1 : Programmation mathématique et modélisation 15
usine et de chaque entrepôt comme c’est indiqué au tableau ci-‐dessous. Pour des raisons socio-‐économiques, la compagnie ne peut pas installer plus d’une usine dans la même ville.
Décision Prix de Construction
(en MMAD) VNA (en MMAD)
Usine à Fès 6 9 Usine à Tanger 3 5 Usine à Tétouan 5 6 Entrepôt à Fès 1 3 Entrepôt à Tanger 2 4 Entrepôt à Tétouan 3 5
Le problème du responsable est de satisfaire les exigences de la compagnie, tout en maximisant la valeur nette actualisée.
1.4.6 Problème d’implantation des dépôts
Considérons le problème d’implantation d’un nombre de dépôts dans un ensemble de sites potentiels afin de servir certains clients. Notons par :
-‐ J : ensemble de sites potentiels d’ouverture de dépôts -‐ I : ensemble de clients -‐ fj : coût fixe d’ouverture du dépôt j, -‐ gij : le gain correspondant à l’approvisionnement du client i par le dépôt j (s’il est ouvert). -‐ di : la demande du client i à satisfaire -‐ qj : la capacité maximale du dépôt j
Le problème consiste à déterminer : -‐ Quels dépôts ouvrir ? -‐ Comment affecter les clients aux dépôts ?
1.4.7 Planification de la production dans une entreprise
Une entreprise fabrique deux produits A et B à partir de trois matières M1, M2 et M3. Elle dispose d’un stock de 300 tonnes de M1, 400 tonnes de M2 et 250 tonnes de M3. Pour fabriquer une tonne de A, il faut une tonne de M1 et deux tonnes de M2. Pour fabriquer une tonne de B, il faut une tonne de M1, une tonne de M2 et une tonne de M3. La vente d’une tonne de A rapporte un profit de 50 MAD, celle de B, un profit de 100 MAD. Quelles quantités des produits A, B l’entreprise doit-‐elle fabriquer pour maximiser son profit ? Les données peuvent être présentées par le tableau suivant :
M1 M2 M3
Profit en MAD
A 1 2 0 50 B 1 1 1 100
Stock en tonnes
300 400 250
1.4.8 Problème d’élevage de volailles
Un éleveur de volailles dispose de sept types de grains pour nourrir ses volailles. Chaque type de grains comporte différentes quantités de cinq éléments nutritifs tels que spécifiées dans le
Chapitre. 1 : Programmation mathématique et modélisation 16
tableau. L'éleveur spécifie également la quantité mensuelle minimale de chaque élément nutritif requise pour nourrir ses volailles. Le coût au kilo de chacun des grains est spécifié. Le problème de l'éleveur est de déterminer la quantité de chaque type de grains pour satisfaire les quantités minimales requises d'éléments nutritifs tout en minimisant le coût total.
Un Kilo de Quantité Mensuelle
Minimale
G1 G2 G3 G4 G5 G6 G7
Elément nutritif A Elément nutritif B Elément nutritif C Elément nutritif D Elément nutritif E
1 2 1 3 5
3 2 3 4 1
2 3 2 2 4
4 2 5 3 2
3 1 3 2 1
7 0 2 2 5
4 2 0 3 2
1250 250 900 650 450
Coût (MAD) au Kilo 36 42 54 41 35 96 29
1.4.9 Problème de chargement (sac à dos)
Considérons le problème du chargement d’un sous-‐ensemble parmi n objets. Chaque objet i a une valeur vi et un poids pi. Le chargement devra être fait de manière à maximiser la valeur totale des objets sélectionnés sans dépasser la capacité maximale W.
1.4.10 Problème du voyageur du commerce (TSP)
Le problème du voyageur de commerce (Travel Salsmen Problem, TSP) consiste en la détermination de l’itinéraire de coût minimal (temps, distance,…) d’un voyageur partant d’un point, visitant (n-‐1) autres points (villes, entrepôts, usines, supermarchés, …) et revenant au même point de départ.
Ce problème classique est une généralisation du problème, plus simple, qui consiste à trouver le plus court chemin entre deux points donnés.
1.4.11 Problème de Tournée de Véhicule (VRP)
La forme standard du Problème de Tournée de Véhicule (Vehicul Routing Problem, VRP) consiste à livrer, à moindre coût, des marchandises stockées dans un endroit, à plusieurs clients (entrepôts, entreprises, usines, localités, ...etc). Cette distribution va être réalisée par une flotte de K véhicules de capacités différentes mais limitées, placés dans un entrepôt,. Chaque tournée commence et termine par cet entrepôt. C’est une extension du problème du voyageur de commerce. Dans le problème classique, le nombre de véhicules est fixe, et le coût dépend uniquement des kilomètres parcourus par ceux-‐ci. L’objectif est de définir l’itinéraire de chaque véhicule de manière à satisfaire la demande des clients, ne pas dépasser les capacités des véhicules et minimiser la distance totale parcourue par les véhicules.
1.4.12 Répartition des services aux infirmières dans un hôpital
Le docteur Zaid est chargé d’organiser le planning des infirmières du service de cardiologie de l’hôpital ELGHASSANI de FES. Une journée de travail dans ce service est divisée en douze tranches de 2 heures chacune. Les besoins de personnel varient d’une tranche horaire à l’autre : par exemple, peu d’infirmières sont nécessaires pendant la nuit, par contre l’effectif doit être renforcé le matin afin d’assurer les différents soins à apporter aux patients. Le tableau donne les besoins de personnel pour chacune des tranches horaires.
Chapitre. 1 : Programmation mathématique et modélisation 17
Tranches horaires Nombre minimal d’infirmières 06h – 08h 35 08h – 10h 40 10h – 12h 40 12h – 14h 35 14h – 16h 30 16h – 18h 30 18h – 20h 35 20h – 22h 30 22h – 00h 20 00h – 02h 15 02h – 04h 15 04h – 06h 15 Tableau 1.1. : Besoins en personnel par tranches horaires
Le problème consiste à trouver le nombre minimal d’infirmières nécessaires pour couvrir tous les besoins, sachant qu’une infirmière travaille huit heures par jour et qu’elle a droit à une pause de deux heures au bout de quatre heures de travail.
Chapitre. 1 : Programmation mathématique et modélisation 18
1.5. Exercices
Exercice1.1 : Problème de production
Une société de production utilise 3 types de matière première M1, M2 et M3 pour produire 2 biens A et B. Le tableau suivant nous donne le nombre d’unités à ne pas dépasser de chaque matière première, le profit unitaire de chaque bien construit ainsi que le nombre d’unités des matières premières utilisées dans la constitution de chaque bien :
A B
Nombre d’unités à ne pas dépasser
M1 M2 M3
2 3 2 1 3 2.7
180000 120000 24000
Profit en MAD 6 5
Donner le modèle mathématique de ce problème d’optimisation. Exercice1.2 : Problème de production Une entreprise dispose d’une machine pouvant fabriquer deux types de fil de cuivre avec une grande précision : un fil dont le diamètre de la section est égal à 1 mm (fil de type 1) et un fil dont le diamètre de la section est égal à 2 mm (fil de type 2). La fabrication d’un mètre de fil de type 1 demande 7 minutes, et la fabrication d’un mètre de fil de type 2 demande 5 minutes. Cette machine peut fonctionner au maximum 120 heures par semaine. Le bénéfice réalisé par l’entreprise sur la vente d’un mètre de fil type 1 et 2 est égal, respectivement, à 25 et 35 MAD. Compte tenu de sa clientèle, cette entreprise peut vendre, chaque semaine, jusqu’à 500 mètres de fil de type 1 et jusqu’à 1 000 mètres de fil de type 2 (si, toutefois, elle est en mesure de les fabriquer). Par ailleurs, elle dispose déjà de commandes hebdomadaires de clients qu’elle doit impérativement satisfaire : 250 m de fil de type 1 et 350 m de fil de type 2. Enfin le volume de matière première, c'est-‐à-‐dire de cuivre, qu’elle peut traiter chaque semaine est égal à 3 dm3. On cherche à déterminer le plan de fabrication hebdomadaire qui maximise le bénéfice. Donner le modèle mathématique de ce problème d’optimisation. Exercice 1.3 : Problème diététique Il s’agit d’un régime alimentaire garantissant un apport suffisant en éléments nutritifs. On considère : - n aliments au prix unitaire de cj (j = 1, …, n), - m éléments nutritifs, - qij = la quantité du ième élément nutritif contenue dans une unité du jème aliment, - di = quantité minimale requise de l’élément nutritif i (i = 1, …, m), Le problème du responsable est de déterminer la quantitérequise pour le régime de chaque aliment j (j = 1, …, n). Donner le programme mathématique convenable.
Exercice 1.4 : Problème du mélange La table ci-‐dessous donne la composition et le coût de 9 alliages standards de plomb, zinc et étain.
Chapitre. 1 : Programmation mathématique et modélisation 19
Alliage 1 2 3 4 5 6 7 8 9 plomb (%) zinc (%) étain (%)
20 50 30 30 30 60 40 10 10 30 40 20 40 30 30 50 30 10 50 10 50 30 40 10 10 60 80
coût unitaire 7.3 6.9 7.3 7.5 7.6 6.0 5.8 4.3 4.1
Le but est de trouver un mélange des 9 alliages qui permet de fabriquer à coût minimal un alliage contenant : - 30 % de plomb ; - 30 % de zinc ; - 40 % d’étain. Donner le programme mathématique convenable.
Exercice 1.5 : Problème du sac à dos multidimensionnel
Considérons le problème du chargement de m sacs à dos de sous-‐ensembles parmi n objets. Chaque objet i un poids pi eta une valeur vijs’il est mis dans le sac à dos j, (i=1,2,…,n et j=1,2,…,m). Chaque sac à dos j a une capacité vj, (j=1,2,…,m). Un objet peut être sélectionné au plus une fois. Le chargement devra être fait de manière à maximiser la valeur totale des objets sélectionnés sans dépasser la capacité maximale des sacs à dos.
Donner le programme mathématique convenable.
Etude de cas n°1 : Problème de coupe de bobines-‐mères
Les papetiers fabriquent des rouleaux de papier dont la largeur est fixée par les caractéristiques des machines qu'ils utilisent. Ils les désignent sous le nom de bobines-‐mères. Par contre, leurs clients réclament des rouleaux de diverses largeurs et parfois de diverses longueurs. Comme il est fréquent que ni la largeur ni la longueur des bobines-‐mères ne soient des multiples de celles des rouleaux commandés, les papetiers encourent souvent, pour satisfaire les commandes de leur clientèle, des pertes de papier qu'ils désignent sous le nom de chutes.
Supposons que toutes les bobines-‐mères dont dispose un papetier ont une largeur de 215 cm et une longueur de 250 m, et qu'il a accepté les commandes données au tableau suivant :
Largeur (en cm) Longueur (en cm) Nombre de rouleaux
64 250 360
60 250 180
35 250 180
Comme la longueur des rouleaux commandés est identique à celle des bobines-‐mères, il suffit d'assurer la coupe transversale d'un certain nombre de bobines-‐mères.
Quel est l'objectif poursuivi par le papetier ? S'agit-‐il pour lui de satisfaire les commandes acceptées ? Si tel était le cas, il lui suffirait de tailler tout bonnement un seul rouleau par bobine-‐mère : les commandes des clients seraient évidemment satisfaites, mais exigeraient 720 bobines-‐mères, ce qui constituerait un gaspillage de papier. Il faut se rendre à l'évidence : l'objectif poursuivi n'est pas uniquement de remplir les commandes. Si le papetier se propose d'utiliser le moins possible de bobines-‐mères pour s'acquitter des commandes, comment peut-‐il atteindre cet objectif ? Et s'il cherche plutôt à minimiser les chutes tout en remplissant les commandes, s'agit-‐il
Chapitre. 1 : Programmation mathématique et modélisation 20
du même objectif, formulé différemment, ou d'un second objectif totalement distinct du premier ? Et si ces objectifs s'avèrent distincts, lequel faut-‐il privilégier ? Voilà des questions auxquelles nous vous proposons d'apporter réponse.
Mettons nous en situation : si le papetier nous confiait la tâche de remplir les commandes, que ferions-‐nous ? Commencerions-‐nous par tailler des bobines-‐mères sans avoir arrêté au préalable un plan de découpe précis ?
L'objectif du papetier est de remplir les commandes soit en minimisant la longueur des chutes, soit en minimisant le nombre de bobines-‐mères utilisées. Le papetier doit déterminer quels plans de coupe retenir et combien de fois mettre chacun en œuvre de façon à atteindre l'un ou l'autre de ces objectifs.
1. Donner les différents plans de coupes possibles engendrant des chutes inférieures à 35 cm. On remplira le tableau suivant en ajoutant les colonnes nécessaires.
Largeur 1 2 …
64 3 …
60 0 …
36 0 …
Chutes 23 …
2. Donner le modèle mathématique pour chacun des cas suivant :
a) L'objectif du papetier est de remplir les commandes en minimisant la longueur des chutes.
b) L'objectif du papetier est de remplir les commandes en minimisant le nombre de bobines-‐mères utilisées.
Etude de cas n°2 : Problème de confection des horaires de cours Le problème de confection des horaires de cours dans les établissements scolaires consiste à fixer une série de réunions entre les enseignants et les étudiants dans un délai préfixé de temps (généralement une semaine), en satisfaisant une série de contraintes de divers types. Différentes variantes de ce problème ont été proposées dans la littérature ; elles diffèrent les unes des autres en fonction du type d'institution concernée (lycée, faculté, université …). Dans cet étude de cas, nous allons proposer les différentes classes de contraintes qui peuvent être prise en considération telles que la gestion des salles, les matières, les enseignants… Ces contraintes sont divisées en trois catégories, fortes, moyennes et légères. 1. Contraintes fortes : Contraintes fortes (hard constraints), c’est la catégorie de contraintes qu’il faut absolument satisfaire pour n’importe quelle solution donnée et pour n’importe quel établissement scolaire, car physiquement, ces contraintes ne peuvent pas être violées. Nous pouvons résumer ces contraintes ainsi :
-‐ Un enseignant ne doit pas enseigner plus qu’un cours à la fois. -‐ Un étudiant ne doit pas avoir plus qu’un cours à la fois. -‐ Un enseignant peut exister dans une salle au plus.
On dit qu’il y a un conflit, lorsque l’une de ces contraintes fortes est violée.
Chapitre. 1 : Programmation mathématique et modélisation 21
2. Contraintes moyennes : Contraintes moyennes (medium contraints), est une catégorie de contraintes qui peuvent être considérées, comme contraintes fortes, pour certains établissements ou légères pour d’autres. Cette catégorie inclue les contraintes suivantes :
-‐ Le type de salles (spécifique ou normale). -‐ La capacité des salles. -‐ La validité des salles. -‐ La validité des enseignants.
3. Contraintes légères : En plus de la satisfaction des contraintes fortes et moyennes, il y a d’autres contraintes appelées contraintes légères (soft constraints) qui influencent sur la qualité des solutions obtenues. Parmi ces contraintes nous citons :
-‐ Problème de regroupement des étudiants. -‐ Problème de minimisation de séances isolées. -‐ Problème de minimisation des repos isolés. -‐ Problème de choix de la durée d’une séance. -‐ Problème de maximisation du nombre de jour/demi-‐jour de repos. -‐ Problème de préférence des enseignants (chaque professeur préfère enseigner dans certains temps).
-‐ Problème de minimisation de distances entres chaque paire de salles dans lesquelles se déroulent deux cours qui se suivent et qui sont, soit assurées par un même professeur, soit suivies par deux classes ayant des étudiants en commun.
-‐ Problème de minimisation de séances de cours magistraux durant les après-‐midi (pour des raisons pédagogiques).
-‐ Problème de minimisation de cumul de cours magistraux pour une même classe pendant la même journée.
-‐ Problème de choix d’ordre de séances de cours (ex : cours magistrale avant TD ou TP, cours avant sport…).
1) Donner le modèle mathématique en prenant en considération les contraintes fortes et moyennes
2) Introduire cinq contraintes légères de votre choix dans le modèle obtenu en 1).
Etude de cas n°3 : Optimisation de la distribution du GPL en vrac
Considérons le problème de distribution du Gaz Pétrolier Liquéfié (GPL), sur un ensemble de clients répartis sur un territoire, en utilisant une flotte hétérogène de camions citernes non compartimentées équipés de compteur de volume qui permettront de mesurer la quantité de gaz livrée à chaque client. Parmi les clients, nous trouvons des usines, des hôpitaux, des hôtels, des clubs, des maisons, …etc. La distribution se fait chaque jour pour servir les clients ayant effectué une commande la veille. La flotte est composée d’un nombre limité de véhicules mais largement suffisant pour satisfaire toutes les commandes. Un ou plusieurs produits (Butane, Propane ou mélange) sont à distribuer, mais vu que chaque camion ne peut transporter qu’un seul produit, on peut traiter le problème pour chaque produit indépendamment des autres. Généralement toute la quantité commandée est disponible, au
Chapitre. 1 : Programmation mathématique et modélisation 22
moment de la planification du transport, dans des lieux d’enlèvement (L.E) qui servent à l’approvisionnement des camions. Contrairement aux cas classiques où le chargement se fait au dépôt, notre problème se caractérise par l’existence d’un dépôt coucheur qui sert pour un point de départ et d’arrivée des camions.
On suppose que les quantités demandées par les clients sont statiques dans le sens où elles sont connues avant la construction des tournées, et que les camions ne font pas de longues tournées qui peuvent dépasser le nombre d’heures de travail maximal.
Le problème est soumis à un certain nombre de contraintes liés au métier de distribution du Gaz:
i. Toute la quantité demandée par un client doit être livrée en une seule visite,
ii. Chaque camion doit partir plein du L.E et revenir vide au dépôt ou à un L.E,
iii. Certains clients n’ont pas d’accès pour les camions grands porteurs,
iv. Les conditions de travail des chauffeurs doivent être respectées,
v. Le voyage d’un camion commence et se termine au dépôt.
L’objectif est de :
i. minimiser la distance totale parcourue,
ii. minimiser le nombre de camions utilisés,
(1) On suppose qu’on a un seul lieu d’enlèvement. Donner, pour chacun des cas suivants, le modèle mathématique de ce problème :
1er cas : le dépôt coucheur est confondu avec le lieu d’enlèvement.
2ème cas : le dépôt coucheur est séparé des lieux d’enlèvement.
(2) Généraliser le modèle lorsqu’on un seul dépôt et plusieurs lieux d’enlèvement