francebalade.fr Cours de Mathématiques     Présentation     Table des matières   Votre avis sur ce site
Recherche opérationnelle

Simulation et méthodes de Monte-Carlo

Quand un système est trop compliqué pour une formule (des urgences dont l'affluence varie dans la journée, un entrepôt soumis aux caprices de la demande), on le fait fonctionner dans l'ordinateur, des milliers de fois. Bien menée, la simulation donne des chiffres et l'incertitude qui les entoure, et permet de comparer des choix de gestion.

La méthode de Monte-Carlo remplace un calcul par une expérience répétée au hasard. Mise au point à Los Alamos en 1946 par Ulam et von Neumann, elle porte le nom du casino. Son principe tient en une phrase : la moyenne d'un grand nombre de tirages s'approche de l'espérance, et l'on sait de combien elle peut s'en écarter.

Cinquante simulations indépendantes de la même grandeur : chacune converge, à son rythme, vers la vraie valeur. L'enveloppe grise, ±1,96 σ/√n, contient 95 % d'entre elles à chaque instant.

Les données sont inventées. Toutes les simulations tournent dans votre navigateur ; chaque fois que c'est possible, leur résultat est confronté à une formule exacte ou à une simulation beaucoup plus longue. Cette page prolonge Les files d'attente et Décider dans l'incertitude.

Planche 1

Simuler des phénomènes aléatoires

Tout part d'un générateur pseudo-aléatoire : une suite de nombres calculés, parfaitement reproductible, mais qui se comporte comme des tirages uniformes entre 0 et 1. On en tire ensuite n'importe quelle loi. Premier usage : estimer une quantité. Des points jetés au hasard dans un carré tombent dans le quart de disque avec la probabilité π/4.

Points tirés au hasard : verts dans le quart de disque, gris en dehors.
Estimation de π selon le nombre de points (échelle logarithmique). Zone grise : ±1,96 σ/√n autour de π.
Points tirés–
Estimation de π–
Intervalle de confiance à 95 %–
Pente de l'erreur en échelle log (théorie −0,5)–
Méthode d'inversion : un tirage uniforme u (axe vertical) est envoyé sur l'axe horizontal par la fonction de répartition F (courbe) : x = F⁻¹(u). Là où F monte vite, les valeurs s'accumulent.
Histogramme des valeurs obtenues (barres) et loi visée (courbe rouge ou points).
Loi–
Moyenne mesurée / théorique–
Tirages–
Ce qu'il faut retenir. L'erreur d'une estimation de Monte-Carlo décroît comme 1/√n : pour gagner un chiffre de précision, il faut cent fois plus de tirages. C'est lent, mais cela ne dépend ni de la dimension du problème ni de sa complexité, d'où le succès de la méthode. Toute loi s'obtient à partir de tirages uniformes, par exemple en inversant sa fonction de répartition : une durée exponentielle vaut −m ln(1 − u).
Planche 2

La simulation à événements discrets

Dans un service d'urgences, l'état ne change qu'à des instants précis : une arrivée, une fin de soin. Inutile de faire avancer l'horloge minute par minute ; on tient un échéancier, la liste des prochains événements triés par date. À chaque pas, on saute au plus proche, on met à jour l'état, et on programme les événements qu'il entraîne. Ici, des patients arrivent au hasard et sont soignés par ordre d'arrivée.

À gauche, la salle d'attente et les médecins ; à droite, le nombre de patients présents au fil des huit dernières heures simulées.

Échéancier (prochains événements) :

Journal (derniers événements traités) :

Horloge ; événements traités–
Attente moyenne mesurée (patients servis)–
Contrôle : formule d'Erlang C / simulation de 1 000 000 de patients–
Ce qu'il faut retenir. Un simulateur à événements discrets n'a besoin que de trois ingrédients : un état (qui attend, qui est soigné), un échéancier, et des règles qui disent ce que chaque événement change et programme. Il n'y a pas de temps mort : on saute d'un événement au suivant, si bien qu'une année d'urgences se simule en une fraction de seconde. Ici, les arrivées et les soins sont exponentiels, et le résultat se compare à la formule d'Erlang C ; dès qu'on s'écarte de ces hypothèses, seule la simulation répond.
Planche 3

Estimer les performances : intervalles de confiance

Une simulation ne donne pas « le » chiffre, mais une réalisation au hasard. On simule donc plusieurs journées indépendantes (les réplications), on prend la moyenne, et on l'entoure d'un intervalle de confiance : moyenne ± t × s / √R, où s est l'écart-type entre réplications et t le quantile de Student. Ici, une journée d'urgences de 10 heures, 6 arrivées par heure, 25 minutes de soin et 3 médecins ; on mesure l'attente moyenne de la journée.

L'attente moyenne de chacune des R journées simulées (points), leur moyenne et son intervalle à 95 % (barre rouge), et la vraie valeur, estimée sur 20 000 journées (trait vert).
Cent études indépendantes, chacune avec ses R journées et son intervalle. En rouge, celles qui manquent la vraie valeur.
–
Estimation : moyenne ± demi-largeur–
Vraie valeur (20 000 journées)–
Intervalles qui contiennent la vraie valeur, sur 100–
Journées nécessaires pour ±5 minutes–
Ce qu'il faut retenir. L'intervalle par réplications contient la vraie valeur environ 9 fois sur 10 avec peu de journées, et s'approche des 95 % promis quand R grandit : les attentes ont une loi très dissymétrique, ce qui gêne les petits échantillons. L'intervalle naïf, qui traite chaque patient comme une observation indépendante, est un piège : les attentes de patients voisins sont liées (quand la salle est pleine, tout le monde attend), et l'intervalle, beaucoup trop étroit, se trompe plus d'une fois sur deux. La précision coûte cher : diviser la largeur par deux demande quatre fois plus de journées.
Planche 4

Comparer plusieurs politiques de gestion

Un entrepôt vend en moyenne 20 unités par jour, à un niveau de marché qui varie d'une saison à l'autre (±30 %). On examine le stock chaque soir. S'il est tombé sous un seuil s, on commande de quoi remonter à S, livré en 2 jours. Garder une unité coûte 1 € par jour, une vente manquée 12 €, une commande 60 €. Quelle politique (s, S) choisir ? Chaque réplication simule une saison de 120 jours. Pour comparer équitablement, on soumet toutes les politiques aux mêmes demandes : ce sont les nombres aléatoires communs.

Stock au fil de la saison (première réplication) pour votre politique, avec le seuil s (tirets) et le niveau S. Barres rouges : ventes manquées.
Écart de coût de chaque politique par rapport à la meilleure, avec son intervalle à 95 % : aléas communs (vert) ou tirages indépendants (gris). Un intervalle qui ne touche pas zéro tranche la question.
Meilleure politique estimée–
Largeur moyenne des intervalles d'écart : aléas communs / indépendants–
Écarts tranchés : aléas communs / indépendants–
Contrôle : vrai coût de votre politique (4 000 saisons)–
Ce qu'il faut retenir. Pour savoir laquelle de deux politiques est la meilleure, ce n'est pas la précision de chaque coût qui compte, mais celle de leur écart. Une saison de forte demande renchérit toutes les politiques à la fois : si on les soumet aux mêmes saisons, ce bruit commun s'annule dans la différence. Les intervalles d'écart sont alors nettement plus étroits ; à précision égale, il faut environ deux fois moins de réplications, parfois trois. Comparer des politiques sur des tirages différents, c'est comparer des coureurs qui n'ont pas couru par le même vent.
Planche 5

L'exemple complet : une journée aux urgences

Un service d'urgences reçoit environ 130 patients par jour, peu la nuit, beaucoup en fin de matinée et en soirée. À l'accueil, l'infirmier d'orientation classe chaque patient : urgent (15 %, 45 minutes de soin en moyenne), moyen (45 %, 25 minutes) ou léger (40 %, 15 minutes). Les objectifs : prendre en charge un urgent en moins de 10 minutes, un moyen en moins d'une heure, un léger en moins de deux heures. Combien de médecins par équipe (nuit 0 h-8 h, jour 8 h-16 h, soir 16 h-24 h), et dans quel ordre soigner ? Aucune formule ne répond : on simule 30 journées.

Une journée simulée, en accéléré : patients en attente par couleur de gravité (rouge urgent, orange moyen, bleu léger), et médecins en poste (cases pleines) ou pas en poste à cette heure (grisées).
Patients en salle d'attente selon l'heure : moyenne sur 30 journées (trait) et zone où se trouvent 80 % des journées. En fond : les arrivées par heure (barres) et l'effectif médical (escalier vert, échelle de droite).
–
Heures de médecin par jour–
Taux d'occupation des médecins (moyenne des 30 journées)–
Attente moyenne tous patients (IC à 95 %)–
Contrôle, loi de Little : patients en attente mesurés / arrivées × attente–
Ce qu'il faut retenir. Avec 2, 4 et 4 médecins et la priorité à la gravité, tous les objectifs moyens sont tenus, mais environ un urgent sur dix attend plus de 10 minutes : c'est dans la nuit et aux pointes que tout se joue. La règle de priorité ne crée pas de capacité, elle la répartit : en passant au « premier arrivé », les légers attendent moins, mais l'attente des urgents est multipliée par plus de deux. Retirez un seul médecin le jour : l'attente des légers explose (plus d'une heure en moyenne) et l'intervalle de confiance s'élargit, signe d'un système près de la saturation. Chaque scénario se juge sur des intervalles de confiance, jamais sur une seule journée simulée.

Ce qu'il faut garder

Le modèle

Un état, un échéancier et des règles : la simulation à événements discrets reproduit n'importe quelle organisation, sans formule.

La statistique

Une simulation est une expérience. On la répète, on donne une moyenne et un intervalle de confiance, avec des réplications indépendantes.

La comparaison

Les mêmes aléas pour toutes les politiques : le bruit commun s'annule, et les écarts se lisent avec beaucoup moins de calcul.

Pour aller plus loin

Dans ce cahier. Les files d'attente (M/M/c, loi de Little) ; Décider dans l'incertitude ; Programmation stochastique ; Les stocks et la chaîne d'approvisionnement.

Sur les calculs. Générateur : mulberry32, reproductible. Les quantiles de Student sont exacts jusqu'à 4 degrés de liberté, puis donnés par un développement de Cornish-Fisher (2,262 pour 9 degrés). Planche 2 : la formule d'Erlang C est comparée à une simulation d'un million de patients. Planche 3 : la vraie valeur est estimée sur 20 000 journées. Planche 4 : demandes de Poisson autour d'un niveau de saison uniforme entre 14 et 26 unités, 10 jours de chauffe écartés, vrais coûts estimés sur 4 000 saisons. Planche 5 : les arrivées suivent un processus de Poisson dont le taux change d'heure en heure (méthode d'amincissement) ; chaque journée observée est précédée d'une journée de chauffe, et les patients arrivés avant minuit sont suivis jusqu'à leur prise en charge.

francebalade.fr Cours de Mathématiques     Présentation     Table des matières   Votre avis sur ce site