Vous êtes sur la page 1sur 22

PROGRAMMATION

MATHEMATIQUE
PRINCIPES ET APPLICATIONS

Youssef BENADADA
ENSIAS, Universit Mohammed V Souissi Rabat

Ahmed ALAOUI EL HILALI


FSTF, Universit Sidi Mohammed Ben Abdellah Fs


Edition Kawtar Print - Rabat

2012

ii

Avant Propos
Aprs le succs remarquable qua eu la Recherche Oprationnelle dans le domaine militaire lors de la deuxime guerre mondiale, ctait au tour des milieux industriels de sintresser cette nouvelle science. Depuis, la recherche oprationnelle est de plus en plus prsente dans le quotidien des gestionnaires : planification de la production, affectation du personnel, gestion des stocks, problmes de transport (routier, ferroviaire, arien), laboration dhoraires Tous ces problmes font appel explicitement ou implicitement des techniques de recherche oprationnelle. Cet intrt cette science, qui a t frein au dbut par la complexit des calculs et la lenteur des ordinateurs de la premire gnration, a eu un essor considrable au cours des dernires dcennies avec la puissance remarquable des ordinateurs. Mieux encore, les dcideurs et les gestionnaires disposent dsormais de plusieurs logiciels de recherche oprationnelle et daide la prise de dcision, 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 hypothses avec lesquels ils ont t conus. En effet, pour tre en mesure dutiliser efficacement un logiciel de recherche oprationnelle, il faut bien respecter les conditions dutilisation et rester dans les limites permises pour que linterprtation des rsultats reste valide. Les utilisateurs de ces logiciels doivent en plus sassurer que les modles mathmatiques proposs refltent bien la ralit des problmes rsoudre. Lune des disciplines les plus exploites de la recherche oprationnelle est celle de la programmation mathmatique qui a comme objet ltude thorique des problmes doptimisation ainsi que la conception et lutilisation dalgorithme de rsolution. La programmation mathmatique regroupe plusieurs classes de problmes dont : - Programmation linaire, (G.B. Dantzig 1949, [1]), pour ltude des problmes doptimisation de fonctions linaires sous contraintes linaires. - Programmation non linaire, (H.W. Kuhn et A.W. Tucker 1951, [2]), pour ltude des problmes doptimisation non linaires avec ou sans contraintes. - Programmation en nombres entiers, (R.E. Gomory, 1958 [3]), pour ltude des problmes doptimisation o les variables sont astreindre ne prendre que des valeurs entires - Programmation dynamique, (R. Bellman, 1957, [4]), qui est une approche gnrale doptimisation de problmes dynamiques Ce manuel regroupe les principales parties de ces classes de problmes enseignes dans les grandes coles dingnieurs et les facults des sciences et techniques au Maroc. La matire de cet ouvrage provient en grande partie des diffrents cours dispenss par les auteurs, pendant une vingtaine dannes, dans certains tablissements universitaires marocains et particulirement lEcole Nationale Suprieure dInformatique et dAnalyse des Systmes (ENSIAS) de Rabat, la facult des sciences de Ttouan ou la facult des sciences et techniques de Fs. Certains exemples ou exercices de ce livre sont des exemples classiques et peuvent se trouver dans dautres ouvrages, mais la plupart sont des exemples ou exercices originaux.

iii

Lobjectif de ce manuel Programmation Mathmatique, Principes et Applications est donc de dvelopper chez ltudiant, certaines habilets de formulation de modles mathmatiques, d'application de quelques techniques de recherche oprationnelle, dutilisation de certains logiciels daide la dcision et dinterprtation des rsultats obtenus. Ce manuel peut servir de support de cours la fois aux lves-ingnieurs des grandes coles, aux tudiants des licences sciences et techniques, des licences professionnelles, mais aussi tudiants des coles privs spcialiss en gestion (Cycle normal ou MBA). Il peut aussi servir dun guide aux enseignants de la recherche oprationnelle. Les notions de mathmatiques requises pour la comprhension des notions prsentes dans ce document est tout simplement celles dalgbre linaire du niveau baccalaurat. Une grande partie de ce manuel est ddie la modlisation mathmatique et la rsolution de modles linaires soit graphiquement soit par la mthode primale ou duale du Simplexe. Vue limportance de lanalyse de sensibilit un chapitre lui a t consacr. Une grande attention a t donne la rsolution des problmes doptimisation en nombres entiers. Comme applications, on a choisit deux problmes classiques : les problmes de transport et les problmes daffectation. Enfin, le dernier chapitre a t rserv linitiation la programmation non linaire. Les critiques et les propositions des utilisateurs de cet ouvrage seront les bienvenues et serviront, certainement, lamliorer pour les prochaines ditions. Nous tenons remercier tous les collgues et particulirement ceux avec qui jai eu des discussions fructueuses propos de cet ouvrage et qui nous ont fortement encourag le raliser. Quils trouvent tous dans ce travail nos sentiments de respect et de considrations. Les auteurs

Chapitre. 1 : Programmation mathmatique et modlisation

CHAPITRE 1

PROGRAMMATION MATHEMATIQUE ET MODELISATION


1.1 Introduction La programmation mathmatique est actuellement une branche particulirement active des mathmatiques appliques, et cela, pour de nombreuses raisons. La premire est peut-tre le nombre, la varit, et limportance de ses applications que ce soit dans les sciences de lingnieur, ou dans dautres domaines des mathmatiques appliques. Mais, limportance de la programmation mathmatique vient aussi du fait quelle fournit un cadre conceptuel adquat pour lanalyse et la rsolution de nombreux problmes de mathmatiques appliques, tels que, la thorie des jeux, lanalyse numrique et la programmation combinatoire. Sans prtendre tre exhaustif, on peut citer quelques domaines dapplication : - Recherche oprationnelle : loptimisation des systmes technico-conomiques (planification, conomtrie,), les problmes de transport, les problmes dordonnancement, les problmes de gestion de stockes, etc. - Analyse numrique : lapproximation, la rgression, la rsolution de systmes linaires et non linaires, les mthodes numriques lies la mise en uvre des mthodes dlments finis, etc. - Automatique : lidentification des systmes, la commande optimale des systmes, le filtrage, lordonnancement datelier, la commande de robots, etc. - Ingnierie : le dimensionnement et loptimisation des structures et la conception optimale de systmes techniques complexes tels que, les systmes informatiques, les rseaux dordinateurs, les rseaux de transport, les rseaux de tlcommunication, etc. - Economie mathmatique : la rsolution de grands modles macro-conomiques, des modles micro-conomiques ou modles dentreprise, la thorie de la dcision et la thorie des jeux. La programmation mathmatique vise ltude thorique des problmes doptimisation ainsi que la conception et la mise en uvre des algorithmes de rsolution. Historiquement, lexistence du terme programmation dans le nom propos cette discipline peut sexpliquer par le fait que les premires recherches et les premires applications se sont dveloppes dans le contexte de lconomie et de la recherche oprationnelle. Trs naturellement, la terminologie adopte

Chapitre. 1 : Programmation mathmatique et modlisation

reflte bien ltroite relation existante entre lactivit danalyse mathmatique dun problme et son interprtation conomique. Llaboration des concepts fondamentaux et la tendance lunification ont t constamment au centre des proccupations, et cest ainsi que lhistoire de cette discipline se trouve jalonne par un certain nombre de travaux de synthse remarquables, qui ont souvent t lorigine de courants de recherche nouveaux et fconds. Mais, avant de rsoudre un problme du monde de la gestion, il faut bien commencer par sa traduction par des relations mathmatiques. Or, selon les situations, cette traduction reflte plus ou moins la ralit. Souvent nous sommes obligs daccepter des compromis. Les relations mathmatiques que nous proposons ne constituent en gnral que des modles des problmes considrs. Mais les rsultats de ces modles permettent souvent aux gestionnaires de prendre des dcisions souvent efficaces pour mener bien leurs projets. Nous parlons alors de modlisation mathmatique pour caractriser cette traduction dinformations. Cest un processus qui relve la fois de lart, de lexprience, de la culture gnrale et des connaissances mathmatiques. Dans ce chapitre, avant de prsenter plusieurs exemples pdagogiques ainsi que leurs modles mathmatiques, nous allons prsenter quelques notions gnrales de programmation mathmatique. Certains de ces exemples sont des problmes classiques que lon retrouve dans la littrature scientifique. Cest le cas du problme de transport, du problme daffectation ou le problme du voyageur du commerce. 1.2 Prliminaires Les problmes de la programmation mathmatique se posent lorsquon cherche maximiser (ou minimiser) une fonction plusieurs variables, appeles fonction objectif. Ces variables sont soumises des inquations, appeles 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 , nous adoptons la

Si f est non borne infrieurement, c'est--dire si convention :

Dans ce cas, on dit que f na pas de minimum de valeur finie sur X ou que le problme est non- born infrieurement.

Chapitre. 1 : Programmation mathmatique et modlisation

De mme,

signifie que le maximum de f est atteint c'est--dire : et il existe tel que , nous adoptons la

Si f est non borne suprieurement, c'est--dire si convention :

Dans ce cas, on dit que f na pas de maximum de valeur finie sur X ou que le problme est non- born suprieurement. 1.3 Programme Mathmatique 1.3.1 Dfinitions Soient (i=1,2,m) et un sous-ensemble de . Dfinition 1.1 Un programme mathmatique est un problme doptimisation de la forme :

ou

La fonction f est appele la fonction objectif ou fonction conomique. Lensemble C et les conditions sont appeles les contraintes de (P).

Remarques 1.1 1) Dans toute la suite nous ne considrons que le problme de type (P) ; en effet, , donc est quivalent

2) Dans le problme (P), il ny a pas de contraintes dgalits, car une contrainte de type h(x) =
0 peut tre remplace par les deux contraintes suivantes : h(x) 0 et -h(x) 0. Dfinitions 1.2

Chapitre. 1 : Programmation mathmatique et modlisation

On appelle solution ralisable ou bonne solution ou solution efficace du problme (P), tout vecteur vrifiant toutes les contraintes de (P) :

Dfinitions 1.3 On appelle domaine ralisable de (P), lensemble de toutes les solutions ralisables de (P). Dfinitions 1.4 On appelle solution optimale ou optimum global de (P), une solution ralisable qui minimise f(x) sur lensemble de toutes les solutions. Dfinitions 1.5 On dit que est un minimum local de (P) sil existe un voisinage de tel que soit optimum global du problme (P1) suivant :

Exemple 1.1
minimum global minimum local minimum local

Figure 1.1. Les programmes mathmatiques peuvent tre classs selon lespace de recherche ou la nature de la fonction objectif et les contraintes. 1.3.2 Classification selon lespace de recherche 1) Si , alors nous noterons le problme

Chapitre. 1 : Programmation mathmatique et modlisation

2) Si

, i=1,, m, alors (P) scrit :

3) Si

et

, i=1,, m, alors (P) scrit :

On dit quon a un problme sans contraintes. 1.3.3 Classification selon la nature de la fonction objectif et les contraintes Considrons le problme suivant :

Dans le cas o et o f et les fi, i = 1, , m, sont toutes des applications linaires, on dit quil sagit dun programme mathmatique linaire et on le note par (PL). Limportance de la classe des modles linaires est due, dune part, la multitude dalgorithmes efficaces de rsolution qui existent, et dautre part, au fait que les modles linaires se prsentent dans la modlisation de plusieurs situations de gestion. En gnral, un problme de programmation linaire scrit sous la forme suivante :

o, .

et o

signifie que

Plus explicitement, un problme de programmation linaire scrit sous la forme suivante :

Chapitre. 1 : Programmation mathmatique et modlisation

10

Ce modle peut aussi tre crit sous une forme matricielle :

Ainsi, un modle linaire doit vrifier les conditions suivantes : 1. Le modle 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 linaires. 3. Toutes les variables doivent tre non-ngatives 4. Toutes les contraintes scrivent avec des galits ou avec des ingalits larges. Nous parlons aussi de modles linaires continus. Les modles linaires dont les variables de dcision sont astreintes aux seules valeurs entires sont appels modles linaires en nombres entiers. (Voir Chapitre 4). Si f et/ou certaines des fi ne sont pas linaires, alors nous parlerons de programme mathmatique non linaire. Selon la nature de la fonction objectif f et/ou celle des contraintes fi, plusieurs classes de problmes de programmation mathmatique existent dans la littrature. Nous citons titre dexemples : 1) Si la fonction objectif f et les contraintes fi, i = 1, , m, sont des fonctions convexes, on dit quil sagit dun programme mathmatique convexe.

Chapitre. 1 : Programmation mathmatique et modlisation

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 quil sagit dun programme mathmatique quadratique. 3) Si la fonction objectif f peut scrire comme diffrence de fonctions convexes (fonctions DC) et les fi, i = 1, , m, sont DC et lespace de recherche C est convexe, on dit quil sagit dun programme mathmatique DC. Plusieurs autres types de programme mathmatique non linaire, existent dans la littrature. Dans cet ouvrage, nous nous limitons ltude des programmes linaires et les programmes non linaires quadratiques. 1.4 Modlisation Mathmatique Avant de rsoudre un problme du monde de la gestion, il faut bien commencer par sa traduction par des relations mathmatiques. La recherche du modle mathmatique dun problme revient identifier certaines composantes relatives ce problme : 1. Lensemble des actions (activits ou variables) qui soffrent lagent de dcision, 2. Les contraintes dfinissant la nature du systme ltude, 3. Lobjectif vis exprim sous forme dune fonction mathmatique (fonction objectif ou fonction conomique) Dans ce paragraphe nous allons prsenter la modlisation mathmatique de plusieurs exemples dont certains problmes classiques se trouvent dans la littrature. Pour les premiers exemples, nous allons dtailler les diffrentes tapes de la modlisation alors que pour les derniers, nous allons seulement donner les modles mathmatiques associs. 1.4.1 Problme du fleuriste Un fleuriste dispose de 45 roses, 36 tulipes et 27 marguerites achetes 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 dterminer le nombre de bouquets de chaque type afin de maximiser son revenu total. Modlisation Quelles sont les informations dont doit disposer le fleuriste pour rsoudre son problme ? Il lui suffit de connatre le nombre de bouquets prparer de chaque type. (i) Variables Notons par : x1 = nombre bouquets prparer de type 1. x2 = nombre bouquets prparer de type 2.

Les variables x1 et x2 sont dites variables de dcision. (ii) Fonction objectif Quel revenu retirera le fleuriste de la vente de tous les bouquets prpars ?

Chapitre. 1 : Programmation mathmatique et modlisation

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 mme, 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 prpars s'lve : (80 x1 + 60 x2) MAD. z = 80 x1 + 60 x2. Nous dnoterons ce revenu total par z et laisserons implicite l'unit montaire : Nous cherchons videmment rendre le revenu z aussi grand que possible en donnant x1 et x2 des valeurs appropries. 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 problme, s'appelle fonction objectif. Et, comme nous cherchons rendre z aussi grand que possible, nous crivons : o Maximiser z z = 80 x1 + 60 x2 Max z = 80 x1 + 60 x2.

ce quon convient d'abrger gnralement comme suit : 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 sr des empchements naturels, appels contraintes, qui freinent le rve d'un profit infini. Prenons en considration tour tour chacune des contraintes. (iii) Contraintes Dans cet exemple, nous disposons de deux types de contraintes, les Contraintes de non- ngativit et d'intgrit et les contraintes de disponibilit : Contraintes de disponibilit : Il faut que le nombre de fleures utiliss de chaque catgorie ne dpasse pas leur disponibilit : - Rose : le fleuriste dispose de 45 roses : 10 x1 + 6 x2 45 4 x1 + 6 x2 36 2x1 + 6 x2 27 - Tulipes : le fleuriste dispose de 36 tulipes : - Marguerites: le fleuriste dispose de 27 marguerites : Contraintes de non-ngativit et d'intgrit : Elles assurent que le nombre de bouquets composer de chaque type soit un entier positif ou nul :

Chapitre. 1 : Programmation mathmatique et modlisation

13

x1, x2 0 et entiers.

Le modle mathmatique se rsume ainsi :

Le modle obtenu est un problme linaire en nombres entiers. Des mthodes ont t mises au point pour rsoudre ce genre de modle, c'est--dire trouver des valeurs des variables de dcision qui, tout en respectant chacune des contraintes, optimisent la fonction objectif et constituent donc une solution optimale. Parmi ces mthodes, nous allons tudier, au chapitre 3, la mthode de rsolution graphique et la mthode du Simplexe. Solution optimale : x1 = 2,25 et x2 = 3,75 ; z =405. Cette solution recommande de prparer 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 prparer de chaque type doit tre entier, alors on conclura que cette solution nest pas ralisable. Cest un problme de programmation en nombres entiers dont on verra au chapitre 4 des mthodes de rsolution. 1.4.2 Problme des bibliothques Un artiste est spcialis dans le design du meuble de luxe, en particulier la production en courtes sries de deux modles de bibliothque muraille. Il s'est engag livrer, d'ici 5 semaines, 9 bibliothques du modle A et 6 bibliothques du modle B. Il estime 10 units le march potentiel pour chaque type de bibliothque. Lartiste se propose de consacrer la fabrication de ces bibliothques toutes les heures de main- duvre dont il disposera dans son atelier pendant les cinq prochaines semaines. Chaque bibliothque doit passer par trois oprations prparation, assemblage et finition. Le tableau suivant prsente les donnes affrentes ce problme de production : la bibliothque du modle A y est appele A et la bibliothque du modle B y est appele B. Dure de fabrication dune bibliothque (en heure) Nombre dheures Opration A B Disponibles Prparation Assemblage Profit par bibliothque 10 6 1450 MAD 8 4 1800 MAD 300 150

L'objectif que poursuit notre artiste est de maximiser le profit qu'il pourra tirer, au cours des cinq prochaines semaines, de ces 2 modles de bibliothque en utilisant au mieux les ressources de son atelier.

Chapitre. 1 : Programmation mathmatique et modlisation

14

1.4.3 Problme de Transport Un industriel dsire transporter, moindre cot, un certain bien depuis m entrepts vers n magasins. La disponibilit de lentrept i (1im) est ai et la demande du magasin j (1jn) est bj. Nous supposons que ai>0 et bj>0. Le cot unitaire de transport de lentrept i vers le magasin j est Cij. En gnral, le problme de transport est rsum par un tableau de la forme : E1 E2 : Ei : Em M1 M2 Mj Mn Cij Disponibilit a1 a2 : ai : am

Demande

b1 b2 bj bn

Le problme de lindustriel est de dterminer la quantit envoyer de chaque entrept vers chacun des magasins de telle manire que le cot total de transport soit le plus faible possible. 1.4.4 Le problme dAffectation Le responsable dune unit de production dsire affecter n personnes n tches. Chaque personne doit effectuer une et une seule tche. Soit Cij le cot de formation de la personne i la tche j. Le problme daffectation consiste trouver la meilleure affectation, cest--dire affecter les personnes aux tches de sorte que la somme des cots de formation soit minimum. Le problme daffectation est rsum par un tableau de la forme :
P1 P2 : Pi : Pn T1 T2 Tj Tn


Cij

Remarque 1.4 : Ce problme, dit Problme Standard dAffectation, peut tre vu comme un cas particulier du problme de transport avec n entrepts et n magasins, o ai = bj = 1 et o Cij reprsente le cot de transport de lentrept i vers le magasin j. 1.4.5 Problme de localisation Dans son prochain programme dinvestissement, la socit Cellulose du Maroc dsire construire 1 ou 2 usines et peut-tre un entrept, sachant que ce dernier ne peut se trouver que l o il y a une usine. La compagnie dispose dun budget dinvestissement de 15 millions de MAD et a le choix entre 3 villes pour installer ses usines et, ventuellement, son entrept. La compagnie dispose aussi des estimations du prix de construction et de la valeur nette actualise (VNA) de chaque

Chapitre. 1 : Programmation mathmatique et modlisation

15

usine et de chaque entrept comme cest indiqu au tableau ci-dessous. Pour des raisons socio- conomiques, la compagnie ne peut pas installer plus dune usine dans la mme ville. Dcision Usine Fs Usine Tanger Usine Ttouan Entrept Fs Entrept Tanger Entrept Ttouan Prix de Construction (en MMAD) 6 3 5 1 2 3 VNA (en MMAD) 9 5 6 3 4 5

Le problme du responsable est de satisfaire les exigences de la compagnie, tout en maximisant la valeur nette actualise. 1.4.6 Problme dimplantation des dpts Considrons le problme dimplantation dun nombre de dpts dans un ensemble de sites potentiels afin de servir certains clients. Notons par : - J : ensemble de sites potentiels douverture de dpts - I : ensemble de clients - fj : cot fixe douverture du dpt j, - gij : le gain correspondant lapprovisionnement du client i par le dpt j (sil est ouvert). - di : la demande du client i satisfaire - qj : la capacit maximale du dpt j Le problme consiste dterminer : - Quels dpts ouvrir ? - Comment affecter les clients aux dpts ? 1.4.7 Planification de la production dans une entreprise Une entreprise fabrique deux produits A et B partir de trois matires M1, M2 et M3. Elle dispose dun 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 dune tonne de A rapporte un profit de 50 MAD, celle de B, un profit de 100 MAD. Quelles quantits des produits A, B lentreprise doit-elle fabriquer pour maximiser son profit ? Les donnes peuvent tre prsentes par le tableau suivant : A B Stock en tonnes 1.4.8 Problme dlevage de volailles Un leveur de volailles dispose de sept types de grains pour nourrir ses volailles. Chaque type de grains comporte diffrentes quantits de cinq lments nutritifs tels que spcifies dans le M1 1 1 300 M2 2 1 400 M3 0 1 250 Profit en MAD 50 100

Chapitre. 1 : Programmation mathmatique et modlisation

16

tableau. L'leveur spcifie galement la quantit mensuelle minimale de chaque lment nutritif requise pour nourrir ses volailles. Le cot au kilo de chacun des grains est spcifi. Le problme de l'leveur est de dterminer la quantit de chaque type de grains pour satisfaire les quantits minimales requises d'lments nutritifs tout en minimisant le cot total. G1 Elment nutritif A 1 Elment nutritif B 2 Elment nutritif C 1 Elment nutritif D 3 Elment nutritif E 5 Un Kilo de G2 G3 3 2 2 3 3 2 4 2 1 4 G4 4 2 5 3 2 G5 3 1 3 2 1 G6 7 0 2 2 5 G7 4 2 0 3 2
Quantit Mensuelle Minimale

1250 250 900 650 450

Cot (MAD) au Kilo 36 42 54 41 35 96 29 1.4.9 Problme de chargement (sac dos)

Considrons le problme du chargement dun sous-ensemble parmi n objets. Chaque objet i a une valeur vi et un poids pi. Le chargement devra tre fait de manire maximiser la valeur totale des objets slectionns sans dpasser la capacit maximale W. 1.4.10 Problme du voyageur du commerce (TSP) Le problme du voyageur de commerce (Travel Salsmen Problem, TSP) consiste en la dtermination de litinraire de cot minimal (temps, distance,) dun voyageur partant dun point, visitant (n-1) autres points (villes, entrepts, usines, supermarchs, ) et revenant au mme point de dpart. Ce problme classique est une gnralisation du problme, plus simple, qui consiste trouver le plus court chemin entre deux points donns. 1.4.11 Problme de Tourne de Vhicule (VRP) La forme standard du Problme de Tourne de Vhicule (Vehicul Routing Problem, VRP) consiste livrer, moindre cot, des marchandises stockes dans un endroit, plusieurs clients (entrepts, entreprises, usines, localits, ...etc). Cette distribution va tre ralise par une flotte de K vhicules de capacits diffrentes mais limites, placs dans un entrept,. Chaque tourne commence et termine par cet entrept. Cest une extension du problme du voyageur de commerce. Dans le problme classique, le nombre de vhicules est fixe, et le cot dpend uniquement des kilomtres parcourus par ceux-ci. Lobjectif est de dfinir litinraire de chaque vhicule de manire satisfaire la demande des clients, ne pas dpasser les capacits des vhicules et minimiser la distance totale parcourue par les vhicules. 1.4.12 Rpartition des services aux infirmires dans un hpital Le docteur Zaid est charg dorganiser le planning des infirmires du service de cardiologie de lhpital ELGHASSANI de FES. Une journe de travail dans ce service est divise en douze tranches de 2 heures chacune. Les besoins de personnel varient dune tranche horaire lautre : par exemple, peu dinfirmires sont ncessaires pendant la nuit, par contre leffectif doit tre renforc le matin afin dassurer les diffrents soins apporter aux patients. Le tableau donne les besoins de personnel pour chacune des tranches horaires.

Chapitre. 1 : Programmation mathmatique et modlisation

17

Tranches horaires Nombre minimal dinfirmires 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 problme consiste trouver le nombre minimal dinfirmires ncessaires pour couvrir tous les besoins, sachant quune infirmire travaille huit heures par jour et quelle a droit une pause de deux heures au bout de quatre heures de travail.

Chapitre. 1 : Programmation mathmatique et modlisation

18

1.5. Exercices
Exercice1.1 : Problme de production Une socit de production utilise 3 types de matire premire M1, M2 et M3 pour produire 2 biens A et B. Le tableau suivant nous donne le nombre dunits ne pas dpasser de chaque matire premire, le profit unitaire de chaque bien construit ainsi que le nombre dunits des matires premires utilises dans la constitution de chaque bien : M1 M2 M3 Profit en MAD A 2 2 3 6 B 3 1 2.7 5 Nombre dunits ne pas dpasser 180000 120000 24000

Donner le modle mathmatique de ce problme doptimisation. Exercice1.2 : Problme de production Une entreprise dispose dune machine pouvant fabriquer deux types de fil de cuivre avec une grande prcision : un fil dont le diamtre de la section est gal 1 mm (fil de type 1) et un fil dont le diamtre de la section est gal 2 mm (fil de type 2). La fabrication dun mtre de fil de type 1 demande 7 minutes, et la fabrication dun mtre de fil de type 2 demande 5 minutes. Cette machine peut fonctionner au maximum 120 heures par semaine. Le bnfice ralis par lentreprise sur la vente dun mtre de fil type 1 et 2 est gal, respectivement, 25 et 35 MAD. Compte tenu de sa clientle, cette entreprise peut vendre, chaque semaine, jusqu 500 mtres de fil de type 1 et jusqu 1 000 mtres de fil de type 2 (si, toutefois, elle est en mesure de les fabriquer). Par ailleurs, elle dispose dj de commandes hebdomadaires de clients quelle doit imprativement satisfaire : 250 m de fil de type 1 et 350 m de fil de type 2. Enfin le volume de matire premire, c'est--dire de cuivre, quelle peut traiter chaque semaine est gal 3 dm3. On cherche dterminer le plan de fabrication hebdomadaire qui maximise le bnfice. Donner le modle mathmatique de ce problme doptimisation. Exercice 1.3 : Problme dittique Il sagit dun rgime alimentaire garantissant un apport suffisant en lments nutritifs. On considre : - n aliments au prix unitaire de cj (j = 1, , n), - m lments nutritifs, - qij = la quantit du ime lment nutritif contenue dans une unit du jme aliment, - di = quantit minimale requise de llment nutritif i (i = 1, , m), Le problme du responsable est de dterminer la quantitrequise pour le rgime de chaque aliment j (j = 1, , n). Donner le programme mathmatique convenable. Exercice 1.4 : Problme du mlange La table ci-dessous donne la composition et le cot de 9 alliages standards de plomb, zinc et tain.

Chapitre. 1 : Programmation mathmatique et modlisation

19

Alliage plomb (%) zinc (%) tain (%) cot unitaire

1 2 20 50 30 40 50 10 7.3 6.9

3 30 20 50 7.3

4 30 40 30 7.5

5 30 30 40 7.6

6 60 30 10 6.0

7 40 50 10 5.8

8 10 30 60 4.3

9 10 10 80 4.1

Le but est de trouver un mlange des 9 alliages qui permet de fabriquer cot minimal un alliage contenant : - 30 % de plomb ; - 30 % de zinc ; - 40 % dtain. Donner le programme mathmatique convenable. Exercice 1.5 : Problme du sac dos multidimensionnel Considrons le problme du chargement de m sacs dos de sous-ensembles parmi n objets. Chaque objet i un poids pi eta une valeur vijsil 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 slectionn au plus une fois. Le chargement devra tre fait de manire maximiser la valeur totale des objets slectionns sans dpasser la capacit maximale des sacs dos. Donner le programme mathmatique convenable. Etude de cas n1 : Problme de coupe de bobines-mres Les papetiers fabriquent des rouleaux de papier dont la largeur est fixe par les caractristiques des machines qu'ils utilisent. Ils les dsignent sous le nom de bobines-mres. Par contre, leurs clients rclament des rouleaux de diverses largeurs et parfois de diverses longueurs. Comme il est frquent que ni la largeur ni la longueur des bobines-mres ne soient des multiples de celles des rouleaux commands, les papetiers encourent souvent, pour satisfaire les commandes de leur clientle, des pertes de papier qu'ils dsignent sous le nom de chutes. Supposons que toutes les bobines-mres dont dispose un papetier ont une largeur de 215 cm et une longueur de 250 m, et qu'il a accept les commandes donnes au tableau suivant : Largeur (en cm) 64 60 35 Longueur (en cm) 250 250 250 Nombre de rouleaux 360 180 180

Comme la longueur des rouleaux commands est identique celle des bobines-mres, il suffit d'assurer la coupe transversale d'un certain nombre de bobines-mres. Quel est l'objectif poursuivi par le papetier ? S'agit-il pour lui de satisfaire les commandes acceptes ? Si tel tait le cas, il lui suffirait de tailler tout bonnement un seul rouleau par bobine- mre : les commandes des clients seraient videmment satisfaites, mais exigeraient 720 bobines- mres, 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-mres pour s'acquitter des commandes, comment peut-il atteindre cet objectif ? Et s'il cherche plutt minimiser les chutes tout en remplissant les commandes, s'agit-il

Chapitre. 1 : Programmation mathmatique et modlisation

20

du mme objectif, formul diffremment, ou d'un second objectif totalement distinct du premier ? Et si ces objectifs s'avrent distincts, lequel faut-il privilgier ? Voil des questions auxquelles nous vous proposons d'apporter rponse. Mettons nous en situation : si le papetier nous confiait la tche de remplir les commandes, que ferions-nous ? Commencerions-nous par tailler des bobines-mres sans avoir arrt au pralable un plan de dcoupe prcis ? L'objectif du papetier est de remplir les commandes soit en minimisant la longueur des chutes, soit en minimisant le nombre de bobines-mres utilises. Le papetier doit dterminer quels plans de coupe retenir et combien de fois mettre chacun en uvre de faon atteindre l'un ou l'autre de ces objectifs. 1. Donner les diffrents plans de coupes possibles engendrant des chutes infrieures 35 cm. On remplira le tableau suivant en ajoutant les colonnes ncessaires. Largeur 64 60 36 Chutes 1 3 0 0 23 2

2. Donner le modle mathmatique 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- mres utilises. Etude de cas n2 : Problme de confection des horaires de cours Le problme de confection des horaires de cours dans les tablissements scolaires consiste fixer une srie de runions entre les enseignants et les tudiants dans un dlai prfix de temps (gnralement une semaine), en satisfaisant une srie de contraintes de divers types. Diffrentes variantes de ce problme ont t proposes dans la littrature ; elles diffrent les unes des autres en fonction du type d'institution concerne (lyce, facult, universit ). Dans cet tude de cas, nous allons proposer les diffrentes classes de contraintes qui peuvent tre prise en considration telles que la gestion des salles, les matires, les enseignants Ces contraintes sont divises en trois catgories, fortes, moyennes et lgres. 1. Contraintes fortes : Contraintes fortes (hard constraints), cest la catgorie de contraintes quil faut absolument satisfaire pour nimporte quelle solution donne et pour nimporte quel tablissement scolaire, car physiquement, ces contraintes ne peuvent pas tre violes. Nous pouvons rsumer ces contraintes ainsi : - Un enseignant ne doit pas enseigner plus quun cours la fois. - Un tudiant ne doit pas avoir plus quun cours la fois. - Un enseignant peut exister dans une salle au plus. On dit quil y a un conflit, lorsque lune de ces contraintes fortes est viole.

Chapitre. 1 : Programmation mathmatique et modlisation

21

2. Contraintes moyennes : Contraintes moyennes (medium contraints), est une catgorie de contraintes qui peuvent tre considres, comme contraintes fortes, pour certains tablissements ou lgres pour dautres. Cette catgorie inclue les contraintes suivantes : - Le type de salles (spcifique ou normale). - La capacit des salles. - La validit des salles. - La validit des enseignants. 3. Contraintes lgres : En plus de la satisfaction des contraintes fortes et moyennes, il y a dautres contraintes appeles contraintes lgres (soft constraints) qui influencent sur la qualit des solutions obtenues. Parmi ces contraintes nous citons : - Problme de regroupement des tudiants. - Problme de minimisation de sances isoles. - Problme de minimisation des repos isols. - Problme de choix de la dure dune sance. - Problme de maximisation du nombre de jour/demi-jour de repos. - Problme de prfrence des enseignants (chaque professeur prfre enseigner dans certains temps). - Problme de minimisation de distances entres chaque paire de salles dans lesquelles se droulent deux cours qui se suivent et qui sont, soit assures par un mme professeur, soit suivies par deux classes ayant des tudiants en commun. - Problme de minimisation de sances de cours magistraux durant les aprs-midi (pour des raisons pdagogiques). - Problme de minimisation de cumul de cours magistraux pour une mme classe pendant la mme journe. - Problme de choix dordre de sances de cours (ex : cours magistrale avant TD ou TP, cours avant sport). 1) Donner le modle mathmatique en prenant en considration les contraintes fortes et moyennes 2) Introduire cinq contraintes lgres de votre choix dans le modle obtenu en 1). Etude de cas n3 : Optimisation de la distribution du GPL en vrac Considrons le problme de distribution du Gaz Ptrolier Liqufi (GPL), sur un ensemble de clients rpartis sur un territoire, en utilisant une flotte htrogne de camions citernes non compartimentes quips de compteur de volume qui permettront de mesurer la quantit de gaz livre chaque client. Parmi les clients, nous trouvons des usines, des hpitaux, des htels, des clubs, des maisons, etc. La distribution se fait chaque jour pour servir les clients ayant effectu une commande la veille. La flotte est compose dun nombre limit de vhicules mais largement suffisant pour satisfaire toutes les commandes. Un ou plusieurs produits (Butane, Propane ou mlange) sont distribuer, mais vu que chaque camion ne peut transporter quun seul produit, on peut traiter le problme pour chaque produit indpendamment des autres. Gnralement toute la quantit commande est disponible, au

Chapitre. 1 : Programmation mathmatique et modlisation

22

moment de la planification du transport, dans des lieux denlvement (L.E) qui servent lapprovisionnement des camions. Contrairement aux cas classiques o le chargement se fait au dpt, notre problme se caractrise par lexistence dun dpt coucheur qui sert pour un point de dpart et darrive des camions. On suppose que les quantits demandes par les clients sont statiques dans le sens o elles sont connues avant la construction des tournes, et que les camions ne font pas de longues tournes qui peuvent dpasser le nombre dheures de travail maximal. Le problme est soumis un certain nombre de contraintes lis au mtier de distribution du Gaz: i. Toute la quantit demande par un client doit tre livre en une seule visite, ii. Chaque camion doit partir plein du L.E et revenir vide au dpt ou un L.E, iii. Certains clients nont pas daccs pour les camions grands porteurs, iv. Les conditions de travail des chauffeurs doivent tre respectes, v.

Le voyage dun camion commence et se termine au dpt.

Lobjectif est de : i. ii.


minimiser la distance totale parcourue, minimiser le nombre de camions utiliss,

(1) On suppose quon a un seul lieu denlvement. Donner, pour chacun des cas suivants, le modle mathmatique de ce problme : 1er cas : le dpt coucheur est confondu avec le lieu denlvement. 2me cas : le dpt coucheur est spar des lieux denlvement. (2) Gnraliser le modle lorsquon un seul dpt et plusieurs lieux denlvement