Introduction à la simulation numérique

Introduction

La simulation numérique est la reproduction d’un processus réel au cours du temps. Elle constitue un formidable outil de compréhension de processus complexes et permet la mise au point de scénarios nous permettant de prédire le comportement de phénomènes réels en réponse à des facteurs connus. D’une manière générale, la simulation numérique constitue une réponse aux difficultés d’une approche analytique.

Voici les grandes étapes de l’élaboration d’un modèle de simulation:

  1. La formulation du problème: à quelle partie du processus réel nous intéressons-nous ?
  2. Les objectifs du simulateur: à quelles questions le simulateur devra-t-il répondre ?
  3. La modélisation qui consiste à formaliser le système à étudier sous mathématique, logique ou symbolique et déterminer l’ensemble des entités présentes et leurs intéractions.
  4. La collecte des données intéragissant avec le processus.
  5. La mise en oeuvre informatique du modèle.
  6. La vérification du comportement implémenté.
  7. La validation du modèle par rapport à la réalité et aux objectifs.
  8. Les expérimentations avec des scénarios des tests afin d’en déterminer les caractéristiques et les limites.
  9. L’exploitation en production et l’analyse.

Objectifs

La simulation numérique permet de répondre aux problématiques suivantes:

  1. Etude et expérimentation de phénomènes complexes
  2. Etude des changements dans l’environnement du système et de leur influence sur le modèle
  3. Sélection des variables importantes du système
  4. Utilisation dans un cadre pédagogique
  5. Vérification de modèles analytiques

Composants

L’étude d’un phénomène complexe passe par l’énumération de ses composantes et la séparation entre le système et son environnement.

Un système peut être décomposé avec les objets suivants:

  • Entité: objet de base d’un système
  • Attribut: propriété d’une entité
  • Processus: action d’une entité se déroulant sur période de temps d’une longueur donnée
  • Etat: ensemble de variables décrivant le système
  • Evénement: occurence instantanée pouvant changer l’état d’un système
  • Endogène: processus ou événement se produisant dans le système
  • Exogène: processus ou événement se produisant dans l’environnement

Modèles

Différents modèles de simulation coexistent:

  • Modèle de simulation statique (simulation Monte-Carlo): représentation du système en un point particulier du temps. Ils sont utilisés pour analyser les relations entre les entrées/sorties des différents processus du modèle sans intégrer une composante temporelle.
  • Modèle de simulation dynamique: représentation du système au cours du temps. Les systèmes peuvent être modélisés par équation différentielles.
  • Modèles déterministes: modèles ne contenant pas de variables aléatoires. Les entrées et sorties du système sont bien connues.
  • Modèles stochastiques: modèles contenant des variables aléatoires.
  • Modèles discrets: les variables d’état changent à des moments discrets.
  • Modèles continus : les variables d’état changent continuellement.

Outils

Plusieurs bibliothèques facilitent le prototypage d’un outil de simulation. La majorité sont implémentées en C/C++ et ont une approche orientée processus de la simulation.

SIM

SIM est écrite en C++ et son utilisation est proche du langage SIMULA. L’implémentation du modèle est possible aussi bien en approche événement que processus.

C++SIM

C++SIM utilise également l’approche du langage SIMULA. L’implémentation du modèle utilise une approche par processus. C++SIM est basé sur une notion d’objets actifs via des threads.

PROSIT

PROSIT est un framework de simulation à événement discrets orienté objet développé en C++. De nombreux articles et thèses sont basées sur ce simulateur qui utilise une notion d’objets actifs et une approche par processus.