Skip to Main Content
Pays et régions

Synopsys and Ansys power the future of innovation—connecting silicon to systems.

Cet article explique ce qu'est la simulation de Monte-Carlo, comment elle fonctionne et ses applications courantes. Il présente des exemples d'avantages, d'inconvénients et d'outils utilisés dans ce processus.

Qu'est-ce que la simulation de Monte-Carlo ?

La simulation de Monte-Carlo est un ensemble d'algorithmes utilisés pour prédire les résultats probabilistes d'un processus lorsque ses entrées varient de manière aléatoire. Également appelée méthode de Monte-Carlo, analyse de Monte-Carlo ou expériences de Monte-Carlo, les algorithmes sont un type de simulation stochastique.

Pour comprendre la distribution des résultats possibles, les simulations de Monte-Carlo exécutent un grand nombre d'essais, chacun avec un ensemble différent d'entrées aléatoires. Les résultats de chaque essai sont ensuite analysés afin de déterminer la distribution de probabilité des variables incertaines.

Le concept de simulation de Monte-Carlo est apparu dans le cadre du projet Manhattan et des programmes ultérieurs de développement d'armes nucléaires. En 1946, Stanislaw Ulam et John Von Neumann ont cherché à déterminer la distribution de probabilité de l'énergie libérée lorsqu'un neutron entrait en collision avec un noyau atomique. Un collègue proposa le nom « Monte-Carlo », car son oncle jouait au casino de Monte-Carlo à Monaco et la sélection aléatoire des variables d'entrée leur rappelait le caractère aléatoire de la roulette.

La plupart des processus sont déterministes, car les sorties sont connues pour un ensemble donné d'entrées. Par exemple, si l'on ajoute une quantité connue de chaleur à une quantité connue d'eau à une température donnée, il est possible de calculer l'élévation de température. Mais il est difficile de prédire les résultats dans un système plus complexe où les entrées sont aléatoires et le processus lui-même complexe. Ingénieurs, scientifiques, mathématiciens et économistes utilisent les simulations de Monte-Carlo pour intégrer l'aléa dans la prévision des résultats de tels systèmes. 

Exemple de simulation de Monte-Carlo avec Microsoft Excel

Une bonne manière de comprendre cet outil de simulation puissant est d'examiner un exemple simple. Un problème classique consiste à prédire combien de fois le lancer de quatre pièces donne zéro, une, deux, trois ou quatre faces.

La variable d'entrée est le nombre de pièces, et la variable de sortie à prédire est la probabilité de chaque combinaison de faces. Une simulation de Monte-Carlo simple dans Excel utilise la fonction aléatoire rand() pour prédire pile ou face en définissant une cellule à 1 (face) si le nombre aléatoire est inférieur à 0,5 et à 0 (pile) s'il est supérieur à 0,5. Le modèle consiste en un tableau avec une colonne par pièce, une ligne par essai et une colonne de somme pour calculer le nombre de pièces donnant face. Pour calculer les probabilités, le modèle utilise countif() pour compter le nombre d'occurrences de chaque cas, puis divise ce nombre par le nombre d'essais. 

monte carlo example excel four coin
monte carlo excel formula

Une simulation de Monte-Carlo simple à quatre pièces dans Microsoft Excel. Les résultats sont affichés en haut de l'image et les formules utilisées en bas. Un nouveau résultat est calculé à chaque actualisation de la feuille de calcul.

Comment réaliser une simulation de Monte-Carlo

Les simulations de Monte-Carlo utilisent des algorithmes pour résoudre des problèmes en échantillonnant un grand ensemble d'entrées aléatoires. Toute personne utilisant cet outil doit définir le processus à simuler, identifier les entrées et les sorties, exécuter la simulation et analyser les résultats.

Voici les étapes détaillées :

1. Comprendre le processus

Commencez par définir le processus à modéliser. Il peut s'agir d'un problème de physique, d'un marché financier, de la météo dans une région donnée ou d'un processus biologique.

2. Définir les variables indépendantes et leur distribution

L'étape suivante consiste à capturer toutes les variables indépendantes. Ce sont des caractéristiques du processus que les variables représentent et qui modifient son comportement lorsqu'elles changent. Les variables indépendantes sont également appelées variables d'entrée, valeurs d'entrée ou simplement entrées.

À cette étape, les analystes doivent aussi définir les valeurs minimale et maximale de chaque variable indépendante ainsi que la distribution, ou variabilité, sur cet intervalle. Il existe de nombreux types de distributions. Voici les plus courants :

  • Distribution uniforme : toute valeur dans l'intervalle spécifié a la même probabilité d'occurrence, formant une distribution uniforme.
  • Distribution normale : dans la nature et la finance, les valeurs ont tendance à se regrouper autour d'une moyenne centrale, et leur probabilité diminue à mesure que l'on s'en éloigne ; on parle de distribution normale. Beaucoup appellent cette distribution une courbe en cloche, car elle a une forme de cloche.
  • Distribution triangulaire : lorsque les données réelles sont limitées, comme en gestion de projet, les ingénieurs utilisent les valeurs minimale, la plus probable et maximale pour former une distribution triangulaire plutôt qu'une courbe en cloche. La valeur la plus probable peut ne pas être la moyenne.
  • Distribution binomiale : lorsqu'une variable d'entrée ne peut prendre que deux valeurs possibles (zéro ou un, oui ou non, vrai ou faux, pile ou face, etc.), on utilise une distribution binomiale.
  • Distribution de Poisson : une distribution de Poisson modélise des paramètres d'entrée ayant deux valeurs possibles, mais tient compte de la fréquence d'apparition d'une valeur donnée dans le temps. Les visites dans un magasin en sont un bon exemple.
  • Distribution empirique : dans les systèmes complexes, la distribution d'une variable d'entrée peut ne suivre aucun modèle classique. Cependant, lorsqu'il existe suffisamment de données historiques pour tracer la distribution, une distribution empirique ou personnalisée peut être utilisée.

3. Définir les variables dépendantes

La troisième étape consiste à définir les variables dépendantes du processus. Ces caractéristiques mesurables évoluent lorsque les variables d'entrée changent. Les variables dépendantes doivent également correspondre à des indicateurs pour les utilisateurs. Minimiser ou maximiser une variable dépendante constitue souvent l'objectif d'une étude d'optimisation. ou bien les équipes utilisent les résultats possibles pour éclairer la prise de décision. Les variables dépendantes sont également appelées variables de sortie, valeurs de sortie ou résultats.

4. Créer une simulation du processus

L'étape clé consiste à créer une représentation précise du processus sous forme d'algorithme informatique. Il peut s'agir d'une équation simple, d'une table de correspondance ou d'un modèle numérique plus complexe. La simulation doit être aussi rapide et efficace que possible.

5. Exécuter des simulations répétées avec des ensembles aléatoires de variables d'entrée

La simulation de Monte-Carlo consiste à exécuter un grand nombre d'essais à l'aide du modèle. L'algorithme utilise les plages de valeurs et les distributions pour générer des valeurs aléatoires pour chaque variable d'entrée, puis enregistre les résultats obtenus.

Le processus à l'étude détermine le nombre de simulations nécessaires pour obtenir une distribution précise des valeurs de sortie. Certains problèmes nécessitent 1 000 à 10 000 essais, tandis que d'autres peuvent en exiger 100 000 ou plus.

6. Analyser les variables de sortie

Une fois toutes les valeurs de sortie collectées, l'étape suivante consiste à appliquer des méthodes statistiques pour estimer la probabilité de chaque résultat. Si la variable de sortie suit une distribution normale, la moyenne et l'écart type représentent cette distribution. Dans les cas simples, la probabilité d'une valeur donnée correspond au nombre d'occurrences divisé par le nombre total d'essais.

Pour les systèmes plus complexes, notamment pour l'entraînement de modèles d'apprentissage automatique, on utilise des analyses bayésiennes.

Applications typiques de la simulation de Monte-Carlo selon le secteur

Les simulations de Monte-Carlo servent à la modélisation probabiliste dans de nombreux secteurs. Voici un aperçu de quelques-unes des applications les plus courantes :

Ingénierie

Les ingénieurs utilisent ces méthodes dans de nombreuses applications, car ils doivent souvent concevoir des systèmes complexes sans données historiques ni modèles déterministes simples. En dehors de la conception, elles sont également utilisées en gestion de projet pour réaliser des analyses de sensibilité et gérer les risques lors de la planification de leur projet. L'utilisation la plus courante concerne les simulations numériques de systèmes complexes afin de comprendre le comportement statistique d'un produit et la relation entre variables d'entrée et de sortie. L'un des meilleurs exemples est le transport de neutrons, où les ingénieurs calculent comment les neutrons se déplacent et interagissent avec les composants d'un réacteur nucléaire.

Pétrole, gaz et exploitation minière

L'extraction des ressources naturelles implique de prévoir la viabilité économique d'un projet malgré de nombreuses incertitudes. Le secteur utilise les simulations de Monte-Carlo pour estimer la taille des réservoirs, la porosité, la qualité des ressources extraites et même le prix futur des matières premières. Une application courante consiste à modéliser la géologie d'un gisement potentiel en utilisant des distributions probabilistes pour la composition, la porosité et l'épaisseur des différentes couches rocheuses, ainsi que la distribution du pétrole pour chaque combinaison. On exécute ensuite une simulation de Monte-Carlo pour obtenir une distribution des concentrations possibles. Au lieu de prédire une valeur exacte, on obtient une distribution probabiliste de l'huile.

Marchés financiers

Peu de domaines présentent autant de complexité et d'aléa que les marchés financiers. Économistes et analystes financiers utilisent les méthodes de Monte-Carlo pour prévoir les prix des actions, la volatilité, les taux d'intérêt, les prix à la consommation et d'autres variables économiques clés. Les négociants en matières premières utilisent la méthode Monte-Carlo pour tester la sensibilité des prix dans le temps. Ils modélisent la sensibilité du prix à des dizaines de variations différentes influençant le marché, puis utilisent une sélection aléatoire d'événements dans le temps afin d'obtenir une distribution des prix possibles pour chaque jour. Le résultat est une mesure du risque (Value at Risk ou VAR) pour leur portefeuille.

Physique, chimie et biotechnologie

La méthode de Monte-Carlo, initialement développée pour la physique nucléaire, reste essentielle pour modéliser les rayonnements dans des systèmes tels que les réacteurs, la radiothérapie ou les détecteurs. Les chimistes l'utilisent en chimie computationnelle et en mécanique statistique pour modéliser les réactions chimiques ou concevoir de nouvelles molécules parce que les mécanismes qu'ils étudient sont impossibles à calculer analytiquement. En biotechnologie, elle sert à interpréter les essais cliniques, évaluer les réponses des patients et concevoir de nouveaux médicaments.

Une application de Monte-Carlo courante est la simulation de docking moléculaire. Les chimistes cherchent à identifier une petite molécule (une clé) capable de s'insérer dans une protéine (une serrure). Si la molécule s'adapte à la protéine, elle peut inhiber des réactions chimiques indésirables. Au lieu de modéliser chaque forme et chaque rotation possibles de la petite molécule, une distribution aléatoire des deux permet de trouver les combinaisons d'énergie minimale sur lesquelles les chercheurs peuvent ensuite se concentrer. 

Avantages et inconvénients de la méthode de Monte-Carlo

Les simulations de Monte-Carlo sont largement utilisées en raison de leurs avantages, mais elles présentent aussi des inconvénients à prendre en compte avant toute application concrète.

Voici la liste des avantages et des inconvénients les plus courants :

Avantages :

  • Modélise des problèmes complexes.
  • Génère des résultats probabilistes.
  • Fournit des informations de sensibilité sur les variables d'entrée, indiquant dans quelle mesure une variation de ces variables affecte la valeur d'une variable de sortie.
  • Prend en compte la distribution des entrées.

Inconvénients :

  • Nécessite des ressources de calcul importantes pour les systèmes complexes comportant de nombreuses variables d'entrée et de sortie ainsi qu'un modèle numérique complexe.
  • Réagit fortement à la qualité des données d'entrée (données erronées en entrée, résultats erronés en sortie).
  • Donne une illusion de précision, car elle peut produire une grande quantité d'informations statistiques. Cependant, les distributions calculées ne sont valables que dans la mesure où les paramètres d'entrée et la précision du modèle le sont.
  • Représente un processus exigeant en main-d'œuvre en raison du temps nécessaire pour créer et valider un modèle précis.

Outils utilisés pour la simulation de Monte-Carlo

Il existe généralement trois types d'outils utilisés pour réaliser des simulations de Monte-Carlo : les logiciels mathématiques, les programmes personnalisés et les logiciels de simulation.

Chacun présente ses propres avantages et limites, comme indiqué ci-dessous.

Logiciels mathématiques

Des outils tels que Microsoft Excel, Google Sheets, Mathematica et MATLAB sont puissants pour effectuer des calculs et gérer les distributions statistiques des variables d'entrée et de sortie. Les tableurs ne disposent pas de fonctionnalités dédiées à Monte-Carlo, de sorte que les utilisateurs doivent construire leurs simulations de zéro. Les outils spécialisés en mathématiques, en particulier ceux dotés de modules statistiques avancés, facilitent la création de variables aléatoires, automatisent les essais et réalisent des analyses probabilistes des résultats. Le plus grand défi de cette catégorie d'outils est la création d'un modèle précis du processus.

Programmes personnalisés

Les programmes personnalisés sont adaptés lorsque des sous-routines dans un langage de programmation peuvent représenter le processus. La plupart des langages disposent de bibliothèques permettant de gérer des tâches telles que la génération des distributions d'entrée pour les variables aléatoires et le traitement des variables dépendantes résultantes. L'inconvénient de cette approche est que l'utilisateur doit créer un programme personnalisé pour chaque application, y compris le modèle du processus étudié. Des plateformes comme Python facilitent cette tâche, mais la mise en place et le débogage de la simulation peuvent néanmoins prendre du temps.

Logiciels de simulation

L'ensemble d'outils le plus puissant (et le plus couramment utilisé dans les applications réelles) est constitué des logiciels de simulation. Ces programmes modélisent le processus étudié et intègrent souvent des outils permettant de simplifier la configuration de Monte-Carlo et d'automatiser l'exécution des essais.

La suite Ansys Optics en est un bon exemple : Ansys Zemax OpticStudio, un logiciel de conception et d'analyse de systèmes optiques pour les simulations de Monte-Carlo, ainsi que le logiciel Ansys Lumerical, adapté aux comportements hautement stochastiques en photonique. Ces deux outils permettent de construire des modèles paramétriques compatibles avec la simulation de Monte-Carlo. 

optimization interface lumerical

L'interface d'optimisation du logiciel Ansys Lumerical

Il en va de même pour les principaux logiciels de simulation d'Ansys : Ansys Mechanical, logiciel d'analyse par éléments finis pour les structures, Ansys LS-DYNA/LS-Opt, logiciel de simulation non linéaire de dynamique structurelle, Ansys Fluent, logiciel de simulation des fluides, Ansys Maxwell, solveur avancé de champs électromagnétiques et Ansys HFSS, logiciel de simulation électromagnétique haute fréquence. Chacun de ces outils se concentre sur la simulation d'un sous-ensemble spécifique de la physique. Pourtant, ils prennent tous en charge la paramétrisation des variables d'entrée et de sortie, proposent des outils de simulation de Monte-Carlo et permettent un post-traitement statistique.

Lorsque les outils intégrés d'une plateforme de simulation sont insuffisants, les utilisateurs peuvent les intégrer à des outils d'optimisation tels que Ansys optiSLang, logiciel d'intégration de processus et d'optimisation de conception. Cet outil d'optimisation et d'intégration de processus à usage général présente des atouts importants pour les exécutions de type Monte-Carlo et s'intègre à la fois avec les logiciels Ansys (désormais intégrés à Synopsys) et avec des outils de simulation non Ansys, offrant ainsi une plateforme unique et automatisée. Il exploite également une interface Python robuste qui permet de connecter le programme à d'autres logiciels ou à des routines Python. 

monte carlo tolerance zemax

L'interface de tolérance Monte-Carlo du logiciel Ansys Zemax OpticStudio, dédié à la conception et à l'analyse de systèmes optiques

Intelligence artificielle (IA)

Les chercheurs et les mathématiciens utilisent depuis longtemps les simulations de Monte-Carlo dans de nombreuses applications d'intelligence artificielle. Voici quelques exemples :

  • Apprentissage automatique pour l'entraînement et l'optimisation, analyse bayésienne et évaluation de la confiance
  • Recherche arborescente de Monte-Carlo (Monte-Carlo Tree Search) pour la prise de décision à grande échelle
  • Apprentissage par renforcement
  • Entraînement de réseaux neuronaux
  • Amélioration des modèles de langage de grande taille (LLM)

La plateforme d'IA pour la simulation Ansys SimAI, basée sur le cloud, constitue un bon exemple d'outil moderne exploitant la simulation de Monte-Carlo pour générer des données d'entraînement pour les modèles.

Ressources connexes

Simulation optique et radiométrique pour applications biomédicales

Ce webinaire explore des concepts pour calculer la propagation de la lumière dans les tissus biologiques et pour déterminer les spectres de diffusion et d'absorption de ces tissus.

Ansys HFSS + SynMatrix AI : Filtres planaires à faibles pertes

Découvrez, dans cette présentation, comment les filtres planaires sont désormais essentiels dans les systèmes RF et micro-ondes, en offrant des solutions compactes, économiques et compatibles avec la technologie PCB à haute fréquence.

Utilisation d'algorithmes de machine learning dans des chaînes de simulation d'analyse de fiabilité pour la validation numérique des systèmes avancés d'aide à la conduite

Cette présentation aborde les défis de la validation numérique à l'aide d'approches d'analyse de fiabilité et introduit des chaînes de simulation basées sur des algorithmes de fiabilité et le machine learning.