Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Introduction
La recherche oprationnelle est une science qui, aprs avoir pris son essor au cours de la Seconde Guerre mondiale, joue une rle important dans nos socits.
Elle sert notamment llaboration dhoraires, ltablissement ditinraires optimaux pour des camions, planifier la production, dfinir le trajet du ramassage des
poubelles, etc.
Cette science fait appel aux mathmatiques et permet donc doptimiser toute une srie dactivits.
Dans ce travail dapprofondissement, je vais exposer diffrentes techniques pour rsoudre des problmes de recherche oprationnelle. Mais je ne vais
videmment pas aborder toutes les applications possibles ni toutes les rsolutions possibles, le domaine est bien trop vaste ; ce travail nest donc quun aperu de
la recherche oprationnelle.
Tout dabord je parlerai de la programmation linaire de manire graphique de faon comprendre le principe ; et, ensuite, de manire algbrique en dtaillant
lalgorithme du simplexe.
converted by W eb2PDFConvert.com
Par la suite, jaborderai la programmation linaire en nombres entiers et la thorie des graphes.
Pour finir, je conclurai ce travail en dtaillant la recherche dextremums laide du calcul de la drive premire.
Profit
Trois-couleurs
Sept-couleurs
Heures
disponibles
50$
75$
Sparation des
couleurs (h)
1
1,5
800
Montage et
imprimerie (h)
0,5
1
2500
Contrle de la
qualit (h)
0,04
0,1
40
Vunon cherche dterminer le meilleur plan de production hebdomadaire, cest--dire celui qui assurera le profit le plus lev.
2.3. La modlisation
Les variables de dcision, qui sont les variables avec lesquelles nous pouvons influencer directement le problme, sont :
x1 = les affiches trois-couleurs
x2 = les affiches sept-couleurs
Il faut maximiser le profit, quon peut mettre en quation comme suit:
Max z = 50 x1 + 75 x2
Cette quation sappelle fonction conomique ou fonction objectif.
Avec les inquations qui nous donnent une limite aux variables de dcision quon appelle contraintes :
x1 + 1,5 x2 800 , le temps disponible pour la sparation des couleurs (1)
0,5 x1 + x2 2500 , le temps disponible de main-duvre pour effectuer les travaux de montage et dimprimerie des affiches. (2)
0,04 x1 + 0,1 x2 40 , le temps disponible pour le contrle de la qualit des affiches (3)
x1, x2 0 , contrainte de non-ngativit, en effet, Vunon ne sait pas produire x affiches. (4)
On associe chaque couple de valeurs des variables de dcision un point (x1 ; x2) dans un plan cartsien. Un point est dit admissible sil satisfait toutes les
contraintes du modle. Il est dit inadmissible sil ne satisfait pas au moins une contrainte.
Pour rsoudre ce problme graphiquement il faut construire dans un plan cartsien la rgion de lensemble des solutions admissibles ; puis les reprer sur le
graphe.
Nous allons construire dans le plan les droites associes aux contraintes en prenant la variable x1 sur laxe des abscisses et la variable x2 sur laxe des ordonnes.
Ces droites associes ont pour quation :
Pour la contrainte (1) : x1 + 1,5 x2 = 800 ; reprsente par f1(x) en rouge.
Pour la contrainte (2) : 0,5 x1 + x2 = 2500 ; reprsente par f2(x) en bleu.
Pour la contrainte (3) : 0,04 x1 + 0,1 x2 = 40 ; reprsente par f3(x) en noir.
Et la contrainte (4) nous fixe rester dans les nombres positifs et donc dans le premier quadrant.
Observons par exemple que :
Tout point se trouvant sur la droite associe la contrainte (1) utilisera toutes les heures disponibles de sparation des couleurs.
Tout point situ sous la droite associe la contrainte (1) appartiennent une droite parallle cette mme droite dont lquation est de forme : x1 + 1,5x2 = d
et qui nutilise pas toutes les heures disponibles. O d est strictement infrieur 800.
Les points qui satisfont la contrainte (1) appartiennent la droite associe ou lensembles des points situs en dessous de la droite associe puisque si d est
infrieur 800 il satisfait toujours la contrainte. Cet ensemble des points admissibles est appel rgion admissible de la contrainte (1).
Aprs avoir trac toutes les droites associes et avoir dtermin que les rgions admissibles pour chacune des contraintes taient en dessous des droites
associes(car les ingalits sont de type plus petit ou gal), nous pouvons dterminer la rgion admissible des quatre contraintes (symbolise par les flches sur le
graphique).
Nous pouvons observer facilement que :
- si Vunon veut produire uniquement des affiches trois-couleurs, elle est limite 800 et gagnera : 800 . 50 = 40000 $
- si Vunon veut produire uniquement des affiches septs-couleurs, elle est limite 400 et aura un profit de : 400. 75 = 30000 $
- quil est impossible que Vunon produise des affiches en utilisant toutes ses heures disponibles de main-duvre pour effectuer les travaux de montage et
dimprimerie des affiches.
Et que 4 points se dmarquent : les points A, B, C et O ; intersection de deux droites qui sont appeles point extrme.
On dtermine une solution optimale en cherchant la courbe de niveau la plus leve qui comporte au moins un point de la rgion admissible.
Ici, p prend la valeur 40000 et cette courbe de niveau comporte plusieurs solutions admissibles : le segment du point B au point C. (la courbe de niveau
converted by W eb2PDFConvert.com
3.1. Introduction
Nous allons voir dans ce chapitre comment rsoudre algbriquement un modle linaire comportant deux variables de dcision par lalgorithme appel
simplexe .
Cet algorithme a t conu par G. Dantzig en 1947. La mthode du simplexe est actuellement toujours la plus populaire pour rsoudre des problmes de
programmation linaire.
Lalgorithme du simplexe va commencer lun des sommets du polygone des solutions ralisables, et progresser de sommet adjacent en sommet adjacent tant
converted by W eb2PDFConvert.com
que la valeur la fonction optimiser ne dcrot pas (pour un problme de maximisation). Jusqu atteindre le sommet optimal. Car, Dantzig a montr que
loptimum est situ sur un des sommets du polygone (voir sous chapitre 3.4 Points extrmes ).
Pour expliquer la mthode du simplexe, je vais reprendre lexemple des affiches de Vunon vu au chapitre prcdent.
(1)
0,5 x1 + x2 + e2 = 2500
(2)
0,04 x1 + 0,1 x2 + e3 = 40
(3)
(4)
points extrmes se trouvent en annulant n-m variables (n le nombre dinconnues, m le nombre de contraintes hors contraintes de non ngativit).
Or si le nombre de variables de dcision devient suprieur 3, il devient impossible de trouver ces points extrmes graphiquement car on ne peut reprsenter un
espace plus de 3 dimensions ; do la ncessit de pouvoir trouver ces points de manire algbrique.
Le modle des affiches de Vunon comporte 5 inconnues et 3 contraintes sans compter les contraintes de non ngativit, pour trouver les points extrmes il faut
annuler deux inconnues pour que le systme ait une solution ou nen ait pas.
Ce qui dfinit si une solution est ralisable ou irralisable est le respect des contraintes de non ngativit.
Jai fait un tableau rcapitulatif de toutes les combinaisons de 2 variables galer zro parmi 5.
Variables hors
Variables de
Valeur de la
Solution de base
Point
base
base
fonction Objectif
ralisable
reprsentatif sur
Z
le graphique
x1 = e3 = 0
e1 = 200
30000
Oui
A
e2 = 2100
x2 = 400
x1 = x2 = 0
e1 = 800
0
Oui
O
e2 = 2500
e3 = 40
x1 = e1 = 0
x2 = 533.333
40000
Non
Aucun
e2 = 1966.666
e3 = -13.333
x2 = e1 = 0
x1 = 800
40000
Oui
C
e2 = 2100
e3 = 8
x2 = e2 = 0
x1 = 5000
250000
Non
Aucun
e1 = -4200
e3 = -160
x2 = e3 = 0
x1 = 1000
50000
Non
Aucun
e1 = -200
e2 = 2000
x1 = e2 = 0
x2 = 2500
187500
Non
Aucun
e1 = -2950
e3 = -210
e1 = e2 = 0
x1 = -11800
613600
Non
Aucun
x2 = 8400
e3 = -328
e2 = e3 = 0
x1 = 21000
450000
Non
Aucun
x2 = -8000
e1 = -8200
e1 = e3 = 0
x1 = 500
40000
Oui
B
x2 = 200
e2 = 2050
On voit bien la lourdeur de lopration, et sil faut effectuer toutes les combinaisons possibles pour des cas plus concrets avec plus de variables et de contraintes,
on peut obtenir un nombre gigantesque de solutions. De plus, ce calcul prend en compte des solutions non admissible. (Avec des valeurs des variables ngatives).
Mme un ordinateur prendrait beaucoup de temps avant de rsoudre de cette manire un problme de ce type.
3.5. La rsolution
Pour rsoudre suivant la mthode du simplexe, comme nous lavons vu prcdemment, il faut donc poser n m variables gales zro (n le nombre
dinconnues, m le nombre de contraintes hors contrainte de non ngativit) de manire trouver des solutions admissibles.
Il faut dabord trouver une solution admissible pour commencer utiliser lalgorithme.
La solution admissible la plus facile trouver est de poser les variables de dcisions gale zro.
Dans lexemple des affiches, si on pose x1 = x2 = 0 ; on obtient le point O :
Max z = 0
e1 = 800
e2 = 2500
converted by W eb2PDFConvert.com
e3 = 40
x1, x2, e1, e2, e3 0
x1 et x2 sont dites les variables hors bases - comme nous les annulons - et e1, e2, e3 sont dites variables de base - car on ne les annule pas -.
Les variables hors bases sont celles quon annule pour trouver une solution de base.
Ce point O est un point acceptable au modle. Mais nest probablement pas une solution optimale puisque le profit est nul.
0
0
0
50
75
x1
x2
e1
e2
e3
1
0.5
0.04
0
50
1.5
1
0.1
0
75
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
Sous chacune des variables x1, x2, e1, e2 et e3, on indique les coefficients (not aij) de ces variables dans les diffrentes contraintes du problme mises sous
forme dquations numrotes de 1 i (sans prendre les contraintes de non ngativit). j est le numro dordre des variables de 1 j. Dans la colonne valeurs
des variables de base on place la valeur que prend chacune des variables de bases lorsquon annule les variables hors base (ces valeurs ne peuvent tre
ngative).
Sur la ligne et la colonne Cj on place les coefficients de variables de la fonction conomique Z. Les Cj reprsentent la croissance de profit si on augmente la
production dune unit.
La ligne Zj reprsente la perte de profit rsultant de lintroduction de la variable associe.
Pour calculer le Zj, on utilise cette formule :
O n reprsente le nombre de variables de base ; i, la ligne de la matrice, aij le coefficient des variables de chaque contraintes et j la colonne de la matrice.
Ici Zj est partout gal zro car comme le profit final est dj zro, on ne sait pas perdre plus dargent quactuellement.
Cj - Zj reprsente le gain de profit net ou la perte nette quand on augmente dune unit la variable associe j.
Comme le profit augmente quand x2 augmente, trouvons la limite maximum que x2 peut prendre.
e1 = 800 - 1,5 x2 0 ; donc x2 1600/3
e2 = 2500 - x2 0 ; donc x2 2500
e3 = 40- 0,1 x2 0 ; donc x2 400
Finalement x2 est limit 400 par e3. Et donc e3 sera la variable sortante.
0
0
0
50
75
x1
x2
e1
e2
e3
1
0.5
0.04
0
50
1.5
1
0.1
0
75
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
A lintersection de la ligne de la variable sortante et de la colonne de la variable entrante, se trouve ce quon appelle le pivot (quon note P). Ici, P = 0.1
Pour modifier la ligne sur laquelle se trouve le pivot, nous utilisons la formule suivante :
O L est llment de la ligne du pivot remplacer et P le pivot.
Exemple : Remplacer llment a31 (0.04) :
La formule utilise pour remplacer les lments du reste de la matrice est la suivante :
O E est llment remplacer ; L est llment situ sur la mme ligne que le pivot et sur la colonne de llment remplacer ; C est
llment situ sur la mme colonne que le pivot et sur la ligne de llment remplacer ; et P est le pivot.
Exemple : Remplacer llment a21 (0.5) :
Remarquons que le pivot sera toujours gal 1 aprs transformation, en effet dans ce cas,
L = P et donc
. Remarquons aussi que les autres lments sur la colonne du pivot seront toujours gal zro ; en effet dans ce cas, L = P et C = E et
lquation devient :
Note : ces formules ont t trouves par Dantzig et nous les considrons comme admises.
e1
e2
x2
Zj
Cj - Zj
50
75
x1
x2
e1
e2
e3
0.4
0.1
0.4
30
20
0
0
1
75
0
1
0
0
0
0
0
1
0
0
0
-15
-10
10
750
-750
converted by W eb2PDFConvert.com
50
0
75
50
75
x1
x2
e1
e2
e3
1
0
0
50
0
0
0
1
75
0
2,5
-0,25
-1
50
-50
0
1
0
0
0
-37,5
-6,25
25
0
0
Comme toutes les valeurs des Cj - Zj sont infrieures ou gale zro, la solution est une solution optimale.
Dans cette solution, x1 prend la valeur 500 et x2 la valeur 200 de manire a donner la fonction conomique la valeur de 40 000$. Cette solution optimale
correspond au point B du graphique.
Vunon devra produire 500 affiches trois-couleurs et 200 affiches sept-couleurs pour obtenir ce profit.
On voit bien la rapidit du procd, en 3 calculs nous avons trouv la solution au lieu de 10 sans utiliser lalgorithme. De plus, cet algorithme est facile
converted by W eb2PDFConvert.com
informatiser car cette construction sous forme de matrice est facile utiliser pour un ordinateur.
Nanmoins, la rsolution par cet algorithme peut donner des nombres dcimaux alors que, dans des cas concrets, il faut une solution en nombre entier pour
quelle soit ralisable. Cest pourquoi, il existe la programmation linaire en nombre entier, qui utilise dautres algorithmes que pour la programmation linaire.
Dans le chapitre suivant, jaborderai ce type de recherche oprationnelle.
converted by W eb2PDFConvert.com
Voici un modle de programmation linaire en nombre entier (que je vais noter PE pour problme en nombres entiers).
(PE) Minimiser (ou maximiser) cx
Avec les contraintes Ax = b
x 0 et entier
Il y a un programme linaire associ appel la relaxation linaire (RL) qui constitue laisser tomber les restrictions de nombre entier:
(RL) Minimiser (ou maximiser) cx
Avec les contraintes Ax = b
x 0
De cette manire nous pouvons, par exemple, trouver la solution (RL) en utilisant la mthode du simplexe puisque le problme de programmation linaire en
nombre entier devient un problme de programmation linaire simple.
Puisque (RL) est moins contraignant que (PE), ce qui suit est immdiat:
Si (PE) est une minimisation, la valeur optimale pour (RL) est infrieure ou gale l'objectif optimal pour (PE).
Si (PE) est une maximisation, la valeur optimale pour (RL) est suprieure ou gale celle de (PE).
Si (RL) est irralisable, alors (PE) lest aussi.
Si (RL) est optimis par des variables entires, alors cette solution est ralisable et optimale pour (PE).
Si les coefficients de la fonction objectif sont des nombres entiers, pour une minimisation, l'objectif optimal pour (PE) est suprieur ou gal larrondi vers
le haut de l'objectif optimal pour (RL).
Pour une maximisation, l'objectif optimal pour (PE) est infrieur ou gal larrondi vers le bas de l'objectif optimal pour (RL).
Ainsi la solution de (RL) fournit des informations: elle donne une limite sur la valeur optimale, et, si nous sommes chanceux, peut donner la solution optimale
(PE).
Par contre, pour quelques problmes il est difficile darrondir et dobtenir une solution ralisable.
4.4.1. Heuristique
Lorsquil est impossible de calculer directement une solution optimale et que lutilisation dun algorithme pour rsoudre ce problme prendrait trop de temps, on
doit sarranger pour trouver une bonne solution (mais pas ncessairement optimale). De telles procdures de solution s'appellent des heuristiques. L'heuristique
a souvent une justification intuitive mais elle ne garanti pas de donner une solution optimale ni mme une bonne solution.
Dans ce sous-chapitre, nous illustrons l'approche heuristique sur le problme du reprsentant de commerce.
Il y a deux principaux types d'heuristique pour le problme du reprsentant de commerce: celles qui tablissent un itinraire et celles qui amliorent un itinraire
prcdemment obtenu.
4.4.2. Heuristique de construction ditinraire
1. Le voisin le plus proche: Une ville de dpart est choisie au hasard. On construit litinraire en partant de la ville o se trouve le reprsentant de
commerce vers la ville la plus proche qui n'a pas t encore visite et ainsi de suite. Quand la dernire ville est atteinte, le reprsentant de commerce
revient la ville de dpart.
2. L'insertion la plus proche: On choisit 2 villes trs proches lune de lautre et on les relie entre elles. Ensuite, les villes restantes sont insres dans
litinraire en enlevant un arc de litinraire existant et en rajoutant une ville litinraire. Cette ville ajoute doit tre choisie en prenant celle qui augmente
le moins la longueur de trajet. On procde ainsi jusqu' avoir rajout litinraire toutes les villes.
3. Le balayage: Cette heuristique localise dabord le centre de la carte. On fait tourner une demi droite autour de ce point central. Les villes sont visites
dans l'ordre dans lequel elles sont rencontres par la demi droite.
4.4.3. Heuristique d'amlioration d'itinraire
1. Optimisation 2 par 2: Cet heuristique regarde systmatiquement chaque paire darcs non adjacents de litinraire dj construit, et dtermine si la
longueur de litinraire serait diminue en enlevant ces deux arcs et en ajoutant une autre paire possible darcs qui bouclerait litinraire. Si oui, la
modification est effectue et on continue lopration.
2. Optimisation 3 par 3: Cette heuristique est semblable loptimisation 2 par 2, sauf que trois arcs sont enlevs et trois sommets sont recombins pour
boucler litinraire.
3. Lin-Kernighan: Un arc est enlev de litinraire dj construit, crant de ce fait un cul-de-sac. Alors une extrmit de ce cul-de-sac est jointe un
sommet interne et un arc est nouveau enlev, crant de ce fait un nouveau cul de sac. Cette opration dajout et de retrait est alors rpte. On regarde
aprs chaque tape si on diminue la longueur du trajet en procdant ainsi. L'opration dajout et de retrait continue aussi longtemps que litinraire est
raccourci. On rpte le procd jusqu' trouver un trajet plus court.
converted by W eb2PDFConvert.com
Jai jug ce problme de reprsentant de commerce intressant car il fait appel des notions de la thorie des graphes et de la programmation linaire en
nombres entiers.
Le problme du reprsentant de commerce est par exemple utilis pour dterminer lordre dans lequel une pice va tre monte lusine.
La thorie des graphes peut servir par exemple, pour calculer le plus court chemin dun point un autre, trouver lorganisation des horaires dans une cole, etc.
Et enfin la programmation linaire en nombre entier est utilise pour optimiser des modles avec contraintes ; comme, par exemple, dterminer le nombre dunits
produire dans une usine pour obtenir un profit maximal.
Ces 3 thormes nous disent donc que si la drive premire est ngative, la fonction dcrot ; si elle est positive, elle crot ; et que si elle est gale zro, cest
un extremum.
Une autre manire de distinguer un maximum dun minimum est de voir la croissance/dcroissance avant et aprs ce point.
Si la drive premire est positive avant et ngative aprs le point, le point est un maximum.
Si la drive premire est ngative avant et positive aprs le point, le point est un minimum.
Aprs, si il y a plusieurs maximum/minimum, il faut voir lequel des points donne la fonction objectif la valeur la plus grande ou la plus petite.
Par le thorme de Pythagore qui nous dit que, dans un triangle rectangle, le carr de lhypothnuse est gal la somme des carrs des deux autres cts. Nous
pouvons crire la relation suivante : 80 = x + z
Et nous avons la formule du calcul daire qui est la suivante : aire = (base. hauteur)/2
Ici elle scrit : aire = (x.z)/2
Maintenant il faut trouver le point maximal. Pour cela, nous allons calculer la drive premire de f(x).
Le
est a rejeter car une longueur ne peut tre ngative.
Comme nous connaissons la valeur du ct x et lhypotnuse, le ct z est de longueur ;
Le point (56.5 ; 1600) est bien un maximum, nous pouvons le voir sur le graphique.
Pour le prouver algbriquement, il convient de faire un tableau de signe de la drive premire.
x
f(x)
f(x)
dcroissant
-56,5
0
minimum
+
croissant
56,5
0
maximum
+
croissant
dcroissant
Nous voyons bien que lorsque x prend une valeur infrieure 56,5 ; la drive est positive.
Et que lorsque x prend une valeur suprieure 56,5 ; la drive est ngative.
Le point est donc bien un maximum.
6. Conclusion
Nous avons pu voir que la recherche oprationnelle est un domaine trs vaste. Elle fait appel des connaissances mathmatiques varies et est utile dans
beaucoup de cas : loptimisation de la productivit, la gestion des stocks, la taille optimale dun convoi militaire, etc.
De plus, certaines de ces matires font appels plusieurs mthodes de rsolution, comme nous lavons vu avec le problme du reprsentant de commerce.
Bien videmment, il existe dautres problmes clbres. Citons par exemple, le problme du postier chinois, qui passe deux fois par toutes les rues, de manire
faire les deux cts de la chausse ; le problme des ponts de Knigsberg, rsolu par Euler, qui consiste visiter tout les quartiers de la ville de Knigsberg
en nempruntant quune fois au maximum chaque pont de la ville ; le problme des quatre couleurs, rsolu en 1976 par Appel et Haken : il suffit de 4 couleurs
pour colorier une carte gographique de faon ce que deux pays adjacents soient dans des couleurs diffrentes ; etc.
Il y a aussi dautres types de recherches oprationnelles, dautres algorithmes qui ont chacun leurs avantages et inconvnients.
7. Sources
Bibliographie
Yves NOBERT, Roch OUELLET et Rgis PARENT, La recherche oprationnelle , Montral, Gatan Morin, 1995.
Miche NEDZELA, Introduction la science de la gestion , Qubec,1986.
Nathalie NAKATANI et Francis NASSIET et Jean-Claude PERRINAUD, Dimathme ,Paris , Didier, 1993.
Jean-Pierre BRANS, Optimisation mathmatique , Bruxelles, ULB, 1996.
Les graphes au quotidien , Hadrien Mlot.
Cours de mathmatique, classe de cinquime , Tome I, Notre Dames Des Champs.
Webographie
http://mat.gsia.cmu.edu/orclass/integer/integer.html, consult le 6 mars 2005, A Tutorial on Integer Programming , Michael A. Trick.
converted by W eb2PDFConvert.com