0% ont trouvé ce document utile (0 vote)
20 vues19 pages

Cours Simulation

C'est un document provenant d'un Dr. En optimisation, ça peut aider tout celui qui veut évoluer dans le monde de la complexité algorithmique

Transféré par

bikisalidor
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
20 vues19 pages

Cours Simulation

C'est un document provenant d'un Dr. En optimisation, ça peut aider tout celui qui veut évoluer dans le monde de la complexité algorithmique

Transféré par

bikisalidor
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

UNIVERSITÉ MOHAMED KHIDER, BISKRA


FACULTÉ des SCIENCES EXACTES et des SCIENCES de la NATURE et de la VIE
DEPARTEMENT DE MATHEMATIQUE

abb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbbc
d Polycopié du Cours e
d e
d e
d e
d e
d e
Modélisation et Simulation
fgg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
gggh

Première Année Master


Option : Proba & Stat

Préparé par :
Pr. CHERFAOUI Mouloud

Université de Biskra, 2023/2024


Table des matières

1 Simulation et génération des nombres pseudo-aléatoires 1


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Terminologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Etapes de la simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.3 Simulation à événements discrets . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.4 Simulation de Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Génération des nombres pseudo-aléatoires . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Méthodes de génération des nombres pseudo-aléatoires . . . . . . . . . . . 5
1.2.2 Quelques tests statistiques . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Simulation de lois usuelles et la fonction RANDOM sous Matlab 11


2.1 Simulation de lois usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Loi Exponentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2 Loi d’Erlang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.3 Loi de Weibull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 La fonction RANDOM sous Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Applications : Modélisation et simulation 14


3.1 Méthode de rejet pour le calcul d’intégrales . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Fiabilité d’un système électrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Processus Markovien : Marche aléatoire . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Modèle de ruine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Bibliographie 17

i
Chapitre 1
Simulation et génération des nombres
pseudo-aléatoires

Introduction
Lorsqu’une résolution mathématique exactes d’un problème n’est pas possible, on fait
appel aux méthodes d’approximation. Entre autres, figure la méthode de la simulation qui est
un outil puissant et idéal dans la majorité des sciences actuelles (Informatique, Physique, Chi-
mie, Télécommunications,...) en plus est un outil de résolution numérique et une discipline de
modélisation.

1.1 Simulation
Le terme ”Simulation” est dérivé du mot latin SIMULARE qui veut dire : copier, feindre,
faire paraı̂tre comme réelle une chose qui ne l’est pas. Nous conduit aussi vers le chemin qui
nous permet de déduire les caractéristiques du fonctionnement d’un système réel. En d’autre
terme, la simulation est l’étude du comportement d’un système dynamique à travers un modèle
(grâce à un modèle que l’on fait évoluer dans le temps), elle désigne un procédé selon lequel
on exécute un programme informatique sur ordinateur en vue de simuler un phénomène ou une
organisation particulière : Chaı̂ne de montage en industrie, trafic routier dans une agglomération,
bloc opératoire dans un hôpital, etc.
La simulation ne résout pas le problème posé en trouvant la solution, mais elle nous aide à
prendre parmi plusieurs solutions la meilleure d’entre elles.
La simulation a pour rôle d’imiter l’évolution d’un système dans le temps et calculer ensuite
ses caractéristiques. On a souvent recours à la simulation lorsque :
1. L’expérience sur le système est impossible ou dangereuse (exemple de réacteurs nucléaires).
2. Le système évolue rapidement de telle sorte qu’on ne peut pas l’observer avec précision
(exemple de réactions chimiques).
3. Le système évolue très lentement (exemple de simulation du climat à long terme).
4. L’expérience est coûteuse financièrement.
5. Le système est en phase de conception.
6. On veut valider des résultats analytiques.

1
Chapitre 1. Simulation et génération des nombres pseudo-aléatoires

1.1.1 Terminologies
Définition 1.1 Un système est un ensemble doté d’une structure, d’un groupe d’éléments et de
relations entre ceux-ci dans un environnement fermé. Il est affecté par les éventuels changements
de son environnement.
Dans le domaine de la simulation, plusieurs définitions ont été attribuées au concept
”Modèle”, en voici celle donnée par l’AFCET (Association Française pour la Cybernétique économique
et Technique)

Définition 1.2 ”Un modèle est un schéma, c’est-à-dire une description mentale (intériorisée), ou
figurée (diagramme, formules mathématiques, etc.) qui pour un champ de questions est pris comme
représentation abstraite d’une classe de phénomènes, plus ou moins habilement dégagés de leur
contextes par un observateur pour servir de support à l’investigation, et/ou la communication”.
Le modèle est une représentation simplifiée d’un système réel ou imaginé exprimer sous
forme verbale, graphique ou mathématique dans le but de l’étudier. Toutefois, il doit contenir assez
de détails pour tirer des conclusions valables sur le système réel.

Définition 1.3 Les variables d’état sont les informations nécessaires qui ont pour but de définir
ce qui est en train de se passer dans un système.

Définition 1.4 Les entités sont les éléments ou les objets du système qui subissent des opérations
et se déplacent en générale dans le système (message dans un réseau,...). Une entité peut être active
ou peut se résoudre d’une manière pacifique (passive), permanente ou temporaire.

Définition 1.5 Les ressources sont des éléments qui exécutent des opérations, et généralement
ne se déplacent pas dans le système (Machine, Unité Centrale,...). Mais on peut trouver des objets
qui peuvent exécuter une opération tout en se déplaçant à l’intérieur du système (une machine
transportant des palettes dans une usine, chariot transportant une pièce dans un atelier).

Définition 1.6 Les attributs sont des variables identification qui caractérisent les entités ou les
ressources. On distingue cependant deux types d’attributs :
1. Fixes : Contiennent les caractéristiques constantes de l’objet (durée de service, date d’ar-
rivée dans le système, ...).
2. Variables : Contiennent les caractéristiques changeantes de l’objet (état d’une ressource,
longueur de la file associée à une ressource,...).

Définition 1.7 L’activité est un processus qui provoque un changement dans l’état du système,
ce changement d’état est appelé événement. Les objets exécutent quelques opérations et dès que ces
dernières seront initiées (ou terminées) à chaque événement, elles seront appelées des activités.
Les activités utilisées dans la simulation à événement discret possèdent des durées.

Définition 1.8 L’événement est la réalisation instantanée qui peut changer l’état du système. On
distingue des événements internes au système (endogènes) et des événements externes (exogènes).

Définition 1.9 Un processus est le rassemblement d’un certain nombre d’événements dans lequel
ces derniers sont produits.

Définition 1.10 Un simulateur est un programme contenant l’algorithme utilisé pour simuler le
système étudié. Il est constitué d’un ensemble d’entités qui décrivent une composante du système
réel.

2
Chapitre 1. Simulation et génération des nombres pseudo-aléatoires

1.1.2 Etapes de la simulation


Pour concevoir un simulateur, on doit respecter les étapes suivantes :
1) Formulation du problème : Cette étape consiste à identifier et analyser le problème
tout en déterminant ses composantes, ses relations et les frontières entre le système et son
environnement.
2) Fixation des objectifs : Dans n’importe quel problème à simuler, il faut bien définir les
objectifs visés par le projet de simulation. Ceci comprend :
• les questions auxquelles on devra répondre.
• Les sorties attendues.
• Le temps requis ainsi que les coûts de l’étude, etc.
3) Elaboration du modèle : Il s’agit d’extraire un modèle qui est une abstraction du système
réel, c’est-à-dire aussi fidèle que possible de ce dernier.
4) Collecte de données : Après la formulation d’un problème quelconque et après avoir iden-
tifié les objectifs, on fera appel à une collection de données qu’on adapte à des distributions
de probabilité tout en faisant appel à des tests statistiques.
5) Validation du modèle : Il s’agit de traduire le modèle obtenu sous une forme acceptable
par ordinateur et de s’assurer que le modèle s’exécute sans erreurs. Le meilleur moyen pour
valider un modèle conceptuel est de comparer ses sorties avec celles du système réel. C’est
dans cette étape qu’intervient les tests statistiques, c’est-à-dire pour pouvoir valider un
modèle de simulation, on fait appel par exemple aux tests d’ajustements (Khi-Deux ou
Kolmogorov-Smirnov ), aux tests de comparaison (test de Fisher ou test de Student), ...etc.
Le processus de validation d’un modèle peut être illustré par la figure 1.1.
6) Exécution de la simulation : L’exécution et le rassemblement des résultats d’un modèle
permet de pouvoir le mettre à l’épreuve.
7) Analyse et interprétation des résultats : Une fois les résultats sont obtenus, le concep-
teur passe à l’interprétation de ces dernières dans le but de donner des propositions (solu-
tions). Le choix de la meilleure solution devra être fait par l’analyse qui la justifiera dans
une documentation qui est nécessaire pour différentes raisons :
• Aide à comprendre le fonctionnement du modèle.
• Facilite toute modification ou mise à jour du modèle.
• Permet de revoir toute les alternatives prises en considération, des critères de comparaisons
qui ont été utilisés. Ceci nous aidera dans la prise de décision qui sera principalement basée
sur les résultats fournis par la simulation et rapportés dans la documentation.

(A) (B)
Comparaisons Modélisation Analyse
Système Modèle Performance
Système Réel
Abstraction Modèle Résolution Résultats

Simplification/Compexification Analyse des résultats

Figure 1.1: (A) : Processus de validation et (B) : Processus d’analyse et interprétation des
résultats

3
Chapitre 1. Simulation et génération des nombres pseudo-aléatoires

1.1.3 Simulation à événements discrets


La simulation à événements discrets est la représentation abstraite du système réel tel qu’il
évolue dans le temps, c’est-à-dire se rapporte à la modélisation d’un système, dont l’état évolue au
cours du temps selon une représentation dans laquelle les variables d’état changent instantanément
à certaines dates précises, dans le but d’expliquer certains aspects du comportement de ce système.

1.1.3.1 Principales approches de la simulation à événements Discrets


Il existe quatre approches de la simulation à événements discrets et chaque approche est
caractérisée par une méthode différente pour faire améliorer le système dans le temps :
1. Approche activité (méthode a pas fixe) : Lorsqu’on utilise cette méthode l’horloge
est avancée par intervalle de temps discret et uniforme, et le système est examiné à chaque
unité de temps, c’est-à-dire à chaque incrémentation, on vérifie et on cherche s’il y a des
événements qui peuvent se produire ou des activités qui peuvent débuter pour pouvoir les
traiter.
2. Approche événements : Cette méthode est économique en terme de temps de calcul,
lorsqu’on l’utilise, on s’intéressera particulièrement à un événement, et l’horloge du temps
sera avancé à chaque fois que ce dernier se produit . Ce qui veut dire qu’avant chaque
déplacement de l’horloge, il est nécessaire de faire une vérification sur les événements qui
nous sont réalisés juste avant, et s’il y a lieu on peut pas exécuter d’autres jusqu’à ce qu’on
termine les précédents.
3. Méthode des trois phases : le principe de cette méthode consiste à :
(a) Déterminer le plus proche événement et de faire avancer l’horloge à ce point.
(b) Exécuter toute les activités B (Bound).
(c) Exécuter toute les activités C (Conditionnelle), dont les conditions sont satisfaites.
4. Approche par processus : La présence des séquences d’événements ou des activités simi-
laires pour un type d’objets, défini sous forme de processus :
• La description du fonctionnement du système complet par macro-représentation.
• La gestion des conflits et la synchronisation entre processus par des règles d’interruption
et de reprise.

1.1.4 Simulation de Monte Carlo


Cette méthode a été développée durant les années 40 par Von Neumann, Vlan et Fermi pour
résoudre certains problèmes de désigne d’écrans anti-rayonnement. Elle est conçue à l’origine pour
résoudre des problèmes déterministes et consiste à représenter un problème déterministe par un
processus stochastique dont les distributions de probabilité satisfont les relations mathématiques
du problème déterministe complexe [4].
La première étape consiste à construire un modèle analytique qui représente l’investissement
considéré (exemple : une équation pour la valeur présente). Dans la deuxième étape, l’analyste
développe une distribution de probabilité pour chaque facteur qui est sujet à l’incertitude dans
le modèle. Il peut utiliser des données historiques ou une approche subjective. À partir des dis-
tributions de probabilités pour chaque facteur dans le modèle, il génère au hasard une réponse
tentative. La répétition de ce mode d’échantillonnage varie entre les différentes histoires bien que
le modèle reste le même. Une question importante à connaı̂tre dans la simulation de Monté Carlo
est le nombre d’essais (ou d’exécution) nécessaire pour avoir une réponse satisfaisante. La réponse
est que le nombre d’essais doit être assez élevé pour atteindre le régime permanent.

4
Chapitre 1. Simulation et génération des nombres pseudo-aléatoires

On peut définir les conditions de régime permanent comme une situation dans laquelle le
résultat d’essais consécutifs ne varie pas significativement. Les modèles analytiques et la simulation
de Monté Carlo ont les mêmes problèmes, à savoir, la validité du modèle. Cependant, dans le cas
de la simulation de Monté Carlo, la taille de l’échantillon doit être assez grande pour faire décroı̂tre
la validité d’échantillonnage à un niveau acceptable. Les probabilités des événements doivent être
basées sur les jugements de personnes impliquées dans le projet, utilisées avec le jugement du
décideur.

1.2 Génération des nombres pseudo-aléatoires


Toute simulation des phénomènes stochastique se fait par un moyen indirect, qui est
la génération de nombres aléatoires, cette dernière consiste à obtenir des observations des va-
riables aléatoires à partir de la distribution désirée, pour que ces observations puissent interpréter
fidèlement la réalité du phénomène, il est nécessaire qu’elles aient la même loi de probabilité.
L’objectif de la génération des nombres aléatoires est la construction d’une suite de nombres
statistiquement indépendantes et réparties uniformément sur [0, 1] :

Jn+1 = f (Jn ), (1.1)

où f est une fonction qui doit être choisie minutieusement et précisément, pour que la répartition
des nombres Jn se rapproche de ce que donnerait le hasard. C’est à partir de là que la notion
de nombres pseudo-aléatoires est apparue qui n’est autre qu’une suite de nombres aléatoires
générée par un algorithme déterministe.

1.2.1 Méthodes de génération des nombres pseudo-aléatoires


1.2.1.1 Méthode congruentielle générale
Cette méthode, introduite par Lehmer en 1951, est une génération d’une suite de nombres
par une formule tout à fait déterministe de manière à obtenir une suite qui semble aléatoire
(indépendante et distribution uniforme dans l’intervalle de variation).
Formule du générateur congruentiel
Soit X0 un nombre entier positif. La suite de nombres est définie par :

xn+1 = (axn + c)mod(m). (1.2)

Avec :
• m : module, m > 0.
• a : multiplicateur, 0 ≤ a < m
• c : l’incrément, 0 ≤ c < m.
Dans le cas où :
1. c=0 : le générateur congruentielle est dit linéaire.
2. c 6= 0 : le générateur congruentielle est dit mixte.
Propriétés et vocabulaire de la méthode congruentielle
• Xi < m.
• Le nombre maximum de valeurs possibles de la suite est m.
• Dès qu’un nombre est répété, toute la séquence recommence.

5
Chapitre 1. Simulation et génération des nombres pseudo-aléatoires

• p dénote la période et le nombre de valeurs possibles de la suite.


• Si p = m, le générateur est dit de période maximum.

Théorème 1.1 Un générateur est de période maximum p = m si et seulement si les trois condi-
tions suivantes sont vérifiées :
• c et m n’ont pas de diviseur commun,
• a = 1 modulo g pour tous les nombres premiers g diviseurs de m (Pour rappel, a = i modulo j
si a peut s’exprimer comme a = i + kj où k est un entier positif ou nul).

Remarque 1.1 Pour obtenir des nombres pseudo aléatoires uniformément répartis sur [0,1], il
suffit de prendre :
xn
Un = . (1.3)
m
Il s’agit de procréer (engendrer) une variable aléatoire X de fonction de densité f (x), et de
fonction de répartition F(x), suivant une loi uniforme sur [0, 1] en se basant sur des techniques
connues dont certaines s’appliquent à la génération de variables pseudo-aléatoires de distributions
quelconques, tant dit que d’autres ne s’appliquent qu’aux distributions continues ou discrètes.
Parmi les principales techniques de génération de nombres pseudo-aléatoires, on distingue :
1. Méthode d’inversion Si la fonction de répartition est explicitement connue, et la fonction
de répartition inverse F−1 existe. Dans ce cas, la méthode de la transformation inverse peut
être utilisée comme suit :
a) Générer des variables Y Uniforme [0, 1] ;
b) Écrire Y en fonction de F(X) ;
c) Déduire : x=F−1 (y).

Remarque 1.2 La technique de transformation inverse est utilisée pour des distributions
dont F(x) est simple.

Implémentation de la méthode d’inversion :


i) Cas discret : Générer n observations d’une variable aléatoire X qui suit une loi discrète.

xi x0 x1 ... xN
pi p0 p1 ... pN
F(x) p0 p0 + p1 ... 1

Algorithme
Début
Pour i allant de 1 à N faire :
Générer Y U [0, 1] ;
Pn n+1
P
Trouver n tel que pj ≤ y < pj
j=0 j=0
xi = xn ;
Fin Pour ;
Fin ;

6
Chapitre 1. Simulation et génération des nombres pseudo-aléatoires

ii) Cas continue :


Génération d’une loi uniforme sur [a, b] :
La fonction de densité d’une variable aléatoire suivant une loi uniforme sur [a, b] est
donnée par :  1
b−a
, a ≤ x ≤ b;
f (x) = (1.4)
0, ailleurs.
La fonction de répartition est donnée par :

 0, x < a;
x−a
F(x) = , a ≤ x ≤ b; (1.5)
 b−a
1, x > b.
Calcul d’inverse : On a,
x−a
F(x) = u, avec u ∈ [0, 1] ⇒ = u ⇒ x = u(b − a) + a.
b−a
Donc, pour simuler une variable aléatoire uniforme sur [a, b], il suffit de générer des
nombres aléatoires ui de variable aléatoire uniforme sur l’intervalle [0, 1] et déduire les
réalisations xi , tel que : xi = a + (b − a)ui .
2. Méthode de rejet : Le but est de simuler une variable aléatoire X de densité f (x) et de
fonction de répartition F(x). La méthode du rejet évoque deux hypothèses sur la fonction
f (x) :
• f est définie sur un support compact, c’est-à-dire qu’elle prend la valeur nulle en dehors
d’un certain intervalle fermé [a, b]. Cette méthode se résume comme suit :
a) Normaliser la fonction f (x) de telle façon que : f (x) = c×g(x),où c est une constante
et g(x) ≤ 1.
b) Générer une variable aléatoire U1 qui suit une loi uniforme sur [0, 1].
c) Définir x comme fonction linéaire de u1 , x = a + (b − a) × u1 .
d) Générer une autre variable aléatoire U2 qui suit une loi uniforme sur [0, 1]. Si u2 ≤
g(x), alors on accepte x, comme une réalisation de X. Sinon, on la rejette et on
revient à l’étape b.
• Supposons qu’on dispose d’une fonction g(x) majorant de f (x), C’est-à-dire : f (x) <
g(x), ∀x. Si g(x) n’est pas une fonction de densité (c’est le cas en général), alors on
prend :
Z∞ Z∞
g(x)
c = g(t)dt, f (t)dt = 1 et h(x) = .
c
0 0

Dans ce cas, les étapes précédentes b), c) et d) deviennent sous la forme suivante :
a) Générer y selon h.
b) Générer U [0, 1].
c) Si u≤ fg(y)
(y)
, alors on prend x = y ;
sinon, on rejette et on revient à l’étape a).
3. Méthode de convolution : La distribution de la somme de plusieurs variables aléatoires
indépendantes est appelée : convolution des distributions initiales. Cette méthode consiste
à sommer deux variables (ou plus) pour obtenir une variable aléatoire distribuée selon la loi
de probabilité souhaitée (voir l’exemple 1). Si la variable aléatoire qu’on désire générer peut
se représenté comme somme d’autres variables que l’on peut générer aisément :
X = Y1 + Y2 + Y3 + ... + Yn , alors on génère les Yi et on obtient X en les sommant.

7
Chapitre 1. Simulation et génération des nombres pseudo-aléatoires

Exemple 1
• Une loi Gamma est une somme des lois Exponentielles de même paramètre.
• Une loi Khi-Deux (χ2n ) à n degré de liberté est une somme de n lois Normales [0, 1]
indépendantes au carré.
• Une loi Binomiale(n, p) est une somme de n lois Bernoulli(p).

Génération d’une variable qui suit une loi normale On dit que X suit une loi
normale N(m,σ), lorsque la densité de sa loi est donnée par :
1 1 x−m 2
f (x) = √ e− 2 ( σ ) .
σ 2π

La fonction de répartition de la loi Normale ne peut pas être explicitée, donc la méthode
d’inversion ne s’applique pas. On la génère de la manière suivante :

X = σY + m,

où Y est une variable aléatoire Normale centrée réduite, calculée à partir d’une suite de n
variables aléatoires U1 , U2 , U3 , . . . , Un uniformément distribuées entre [0, 1].
n
Ui − n2
P
i=1
Y = pn . (1.6)
12

n
P
Remarque 1.3 Cette écriture est justifiée par le théorème des grands nombres : Xi
1
N (nX, nσX ), ∀ la loi de X.

4. Méthode de décomposition
Il s’agit dedécomposer la fonction de répartition F de la variable aléatoire X comme suit :
X
F(x) = pi Fi (x). (1.7)
i≥1

La méthode sePrésume ainsi : P


Écrire F(x) = pi Fi (x) où : pi = 1.
i≥1 i≥1

a) Générer U U [0, 1].


b) Trouver i tel que : 0 + p1 + p2 + p3 + ..... + pi−1 < U ≤ p1 + p2 + p3 + ...... + pi .
c) Générer X selon Fi (x).
Pour s’assurer que les suites des nombres générées possèdent un comportement aléatoire selon
la loi désirée, il faut tester ce comportement selon deux critères : l’Uniformité et l’Indépendance,
tout en utilisant les tests d’Ajustement.

1.2.2 Quelques tests statistiques


Les tests d’ajustement ont pour but de vérifier si un échantillon provient ou pas d’une
variable aléatoire de fonction de distribution connue F0 (x). Soit F(x), la fonction de répartition
de la variable échantillonnée. Il s’agit de tester
H0 ” F(x) = F0 (x) ” contre H1 ”F(x) 6= F0 (x)” [1].
Les tests classiques les plus usuels sont :

8
Chapitre 1. Simulation et génération des nombres pseudo-aléatoires

1. Test de Khi-Deux
Soit X1 , X2 , ..., Xn un n-échantillon issu d’une variable aléatoire X. On partage le domaine
D de la variable √ X, partie de l’ensemble des réels R, en r classes c1 , c2 , ...., cr . Généralement,
on prend r ' n.
Soit :
• ni : l’effectif de la classe ci .
• pi : la probabilité de se trouver dans la classeci . Elle est déduite à partir de la loi de
probabilité à tester.
• ni pi : effectif théorique de la classe ci .
Pearson a démontré que la variable aléatoire
r
X (ni − npi )2
Kn2 = , (1.8)
i=1
npi

suit asymptotiquement une loi de Khi-Deux à (r − 1) degré de liberté. ni étant une variable
aléatoire représentant l’effectif de la classe ci et dont la réalisation est ni . Soit kn2 la réalisation
de la variable aléatoire Kn2 .
La règle de décision est alors sous la forme :
• Si kn2 < χ2(r−1,α) , on accepte l’ajustement de la variable aléatoire X par la loi choisie.
• Si kn2 ≥ χ2(r−1,α) , on rejette l’ajustement de la variable aléatoire X par la loi choisie.
Lorsque les paramètres de la loi à valider sont estimés à partir de l’échantillon, le degré
de liberté du Khi-Deux est alors égal à (r − q − 1), q étant le nombre de paramètres estimés.
L’application du test Khi-Deux doit satisfaire les conditions suivantes :
(a) Le nombre de classes doit être supérieur ou égal à 7.
(b) L’effectif théorique de chaque classe doit être supérieur ou égal à 8.
(c) Les effectifs théoriques des k classes doivent être sensiblement égaux.
2. Test de Kolmogorov-Smirnov
Ce test est plus puissant que le précédent car, c’est celui dans lequel le risque d’accepter H0
à tort est plus faible. La procédure à suivre est la suivante :
• On tire un échantillon de n observations à l’aide du générateur ;
• On classe les observations selon un ordre croissant ;
• On compare la fonction de répartition empirique Fn (x) calculée à partir de ces n nombres
pseudo-aléatoires avec la fonction de répartition théorique F(x) (loi uniforme sur [0, 1]) et
on calcul :
Dn = max|Fn (x) − F(x)| = maxD(xu ), (1.9)
où
{nombre d’observations ≤ x}
Fn (x) =
la taille de l’échantillon
et
F(x) = x, si x ∈ [0, 1].
On fixe un seuil de signification α, et soit d(α) la valeur tabulée (obtenue à partir de la
table de Kolmogorov-Smirnov), tel que P (Dn > d(α)) = α. La règle de décision est alors
de la forme :
• On rejette H0 Si Dn > d(α) ;
• On accepte H0 Sinon.

9
Chapitre 1. Simulation et génération des nombres pseudo-aléatoires

3. Test de Student Un des plus importants usages de la simulation est la comparaison


des performances de deux ou plusieurs systèmes. Pour réaliser cette comparaison à partir
d’échantillons (données statistiques) obtenus de la simulation des systèmes observés, nous
devons recourir aux méthodes statistiques. Dans ce qui suit, nous présenterons l’une de ces
méthodes à savoir le test de Student.
Etant donné deux échantillons de taille n1 , n2 , peut-on admettre qu’ils ont été prélevés dans
une même population relativement à la variable étudiée.
Mathématiquement, le problème se formalise de la manière suivante :
On observe sur le premier échantillon (les réalisations d’une variable aléatoire X1 ), de fonc-
tion de répartition F1 (x) et sur le deuxième échantillon (les réalisations d’une variable
aléatoire X2 ), de fonction de répartition F2 (x) ; on veut tester :

H0 : F1 (x) = F2 (x) contre H1 : F1 (x) 6= F1 (x).

Dans la pratique, on se contentera de vérifier l’égalité des espérances, donc on a à tester :

H0 : ”X = mth ” contre H0 : ”X 6= mth ”,

où
X : est la moyenne de l’échantillon / mth : est la moyenne théorique.
Ce test est basé sur la statistique suivante :

(X − mth ) n − 1
Tn−1 = , (1.10)
S
avec : n
2 1X
S = (Xi − X)2 .
n i=1
H0 est acceptée si :
Tn−1 < t(n−1, α2 ) , (1.11)
où t(n−1, α2 ) est la quantité de Student au seuil α.

Conclusion
La simulation à événements discret est un outil puissant et universel. Les gains à tirer d’une
expérience de simulation sont variés : description (validation d’une architecture), explication (ob-
servation, expérimentation sur une maquette), et prédiction (mesure de performances, ou prévision
de comportement). Son champ d’application recouvre les problèmes d’analyse, de conception, d’op-
timisation.
La simulation nous permet d’étudier les conditions d’opération extrême du système et d’évaluer
les conséquences sans mettre en danger le système ou son environnement. Permet de concevoir des
systèmes très complexes, elle devient le moyen le plus sure pour la compréhension d’un système
quand son étude s’avère difficile. C’est un instrument idéal de ”décideur”, aussi bien que de
technicien.
Malgré tout ce qu’elle présente comme avantages la simulation est un outil coûteux en termes
de temps de calcul, consommateur de ressources informatiques, et ne fournit que des estimations
de ce que l’on cherche.

10
Chapitre 2
Simulation de lois usuelles et la fonction
RANDOM sous Matlab

2.1 Simulation de lois usuelles


Dans cette section nous allons présenter quelques informations sur les loi utiliser dans le cha-
pitre trois ainsi que les algorithme nous permetont de générer un échantillon de taille n à partir
de ces lois.

2.1.1 Loi Exponentielle


La densité de probabilité d’une loi exponentielle de paramètre λ > 0 est donnée par :

f (x) = λe−λx , ∀x ≥ 0,
sa fonction de répartition est définie par :

F (x) = 1 − e−λx , ∀x ≥ 0.

Pour cette distribution on a :


1 1
et σ 2 (X) = 2 .
E(X) =
λ λ
Propriété ”sans mémoire” : Une propriété importante de la loi exponentielle est son
absence de mémoire c’est-à-dire,

P (X < t + t0 /X > t0 ) = P (X < t), ∀t0 , t > 0.


Pour générer une observation d’une loi exponnetielle de paramètre λ on exploite l’algorithme
suivant :
Algorithme :
Début
Générer une v.a U uniforme sur [0,1] ;
X ← − λ1 ln(U ) ;
Retourner X ;
Fin ;

11
Annexe A : Simulation de lois usuelles et la fonction RANDOM sous Matlab

2.1.2 Loi d’Erlang


Une variable aléatoire X suit une loi de Erlang d’ordre k (k = 1, 2, ...) de paramètre λ, si elle
est la somme de k variables aléatoires indépendantes X1 , X2 ..., Xk et identiquement distribuées
suivant une loi exponentielle de paramètre λ. La densité de probabilité d’une loi Erlang d’ordre k
est donnée par :

(λt)(k−1) −λt
f (t) = λ e ,t ≥ 0
(k − 1)!
La fonction de répartition est ainsi donnée comme suit :
Z∞
F(t) = 1 − f (x)dx
t

Les paramètres λ et k sont appelés respectivement paramètre d’échelle et de forme. Pour cette
distribution, on a :
k k
E(X) = et σ 2 (X) = 2 .
λ λ
La loi d’Erlang est un cas particulier de la loi de Beta(a, b) lorsque a ∈ N.
Pour générer une variable aléatoire selon une loi d’Erlang d’ordre k de paramètre λ, on peut
utiliser les algorithmes de génération des nombre aléatoire d’une loi Gamma. Mais sa définition
nous permet de construire un simple algorithme de simulation étant donnée une somme k variable
aléatoire d’une loi exponentielles de paramètre λ.
L’algorithme
Début
Générer k v.a uniforme sur [0, 1] (U1 , U2 , ....., Un ) ;
n n
X ← (− λ1 ) log(Ui ) = − λ1 log( Ui ) ;
P Q
ı=1 ı=1
Retourner X ;
fin ;

2.1.3 Loi de Weibull


On dit que la variable aléatoire X suit la loi de Weibull, de paramètres (α, β, ν), et on note
X wbl(α, β, ν), si sa densité s’écrit sous la forme :
 β x−ν β−1 ( x−ν β
α
( α ) e − α ) six ≥ ν
f (X) = . (2.1)
0 six < ν

où : α > 0 est un paramètre d’échelle, β > 0 est un paramètre de forme et ν ∈ R est un paramètre
de position. Son espérance et sa variance sont respectivement :
      
1 2 2 2 1
E(X) = αΓ 1 + + ν et V ar(X) = α Γ 1 + −Γ 1+ .
β β β
R∞
avec Γ(x) = 0 tx−1 e−t , x ∈ R (la fonction gamma).

12
Annexe A : Simulation de lois usuelles et la fonction RANDOM sous Matlab

2.2 La fonction RANDOM sous Matlab


Tous les logiciels de calcul sont munis de fonctions prédéfinies pour la génération de nombre
pseudo-aléatoires dont la syntaxe et les lois qui peuvent être simulées diffèrent d’un logiciel à un
autre. Sous Matlab on trouve qu’il existe plusieurs fonctions de génération de nombres aléatoires,
entre autres on cite : rand, randn et random. La fonction rand renvoie des nombres à virgule
flottante entre 0 et 1 tiré d’une distribution uniforme, la fonction randn est spécifique pour la
génération des nombres aléatoires tirés d’une distribution normale centrée et réduite, tandis que
la fonction random est plus générale où elle peut être utilisée pour générer des variables aléatoires
issue d’une loi usuelle fixée préalablement par l’utilisateur. Pour cette dernière, l’utilisateur peut
utiliser la commande :
random(nom,A) qui renvoie un nombre aléatoire de la famille de distribution à un paramètre
spécifiée par ”nom” et le paramètre de la distribution A. Exemple : random(’exp’,2) rend
une observation d’une variable aléatoire de loi exponentielle de paramètre 2.
random(nom,A, B) qui renvoie un nombre aléatoire de la famille de distribution ayant deux
paramètres, spécifiée par ”nom et les paramètres de la distribution A et B. Exemple :
random(’norm’,20,2) rend une observation d’une variable aléatoire de loi normal de moyenne
20 et d’écart-type 2.
random(nom,A, B, C) qui renvoie un nombre aléatoire de la famille de distribution à trois pa-
ramètres spécifiée par nom et les paramètres de cette distribution A, B et C. Exemple :
random(’Weibull’,2,3,4) rend une observation d’une variable aléatoire de loi de Weibull de
paramètre d’échelle 2, de paramètre de forme 3 et de paramètre de position 4.
random(...,n1 , n2 , ..., np ) ou random(..., [n1 , n2 , ..., np ]) renvoie une matrice de dimension n1 ×
n2 × ... × np de nombres aléatoires.
Exemples :
1. random(’exp’,2,5,3) : rend une matrice de dimension 5 × 3 d’observations issues d’une
v.a de loi exponentielle de paramètre 2.
2. random(’exp’,2,5) : rend une matrice de dimension 5 × 5 d’observations issues d’une
v.a de loi exponentielle de paramètre 2.
3. random(’exp’,2,5,1) : rend un vecteur colonne de dimension 5 d’observations issues
d’une v.a de loi exponentielle de paramètre 2.
Pour plus de détails sur la fonction prédéfinie RANDOM et les noms et les détails des différentes
lois qui peuvent être simulées sous Matlab, le lecteur peut se référer au HELP du logiciel Matlab.

13
Chapitre 3
Applications : Modélisation et simulation

Introduction
L’objectif du présent passage est, à travers des exemples de différents champs, d’expliquer à
l’étudiant les différentes étapes à suivre, de la modélisation à l’interprétation des résultats, pour
résoudre un problème réel ou théorique à l’aide de la technique de simulation.

3.1 Méthode de rejet pour le calcul d’intégrales


Implémenter sous Matlab des fonctions qui nous permettent de :
Rb 2
1. calculer I = a e−x dx avec a < b.
Rb
2. calculer I = a ln(sin(x) + cos(x))dx avec 0 ≤ a < b ≤ π2 .
3. estimer la valeur de π.

3.2 Fiabilité d’un système électrique


Soit un système électrique bien déterminée, composée de trois types de composants. Supposons
que nous nous intéressons à l’analyse statistique de la durée de vie du système.
Pour cela, soit X la variable aléatoire représentant la durée de vie du système global et X1 , X2 et
X3 des variables aléatoires représentant respectivement la durée de vie de chacun des composants.
Les informations dont dispose sur les trois composants sont comme suit :

composant 1 composant 2 composant 3


Nombre de composants (Nbr) 2 5 3
Loi de Xi N (µ = 10, σ 2 = 32 ) Exp(λ = 15) wbl(α = 10, β = 3)

Question :
1. Donner la forme générale de la densité de X (sans développement) qu’on note f .
2. Implémenter sous MATLAB une fonction qui nous permette de générer un échantillon de
taille n dont les paramètres d’entrer sont : N br, µ, σ, λ, α, β et la taille de l’échantillon n.
3. Générer un échantillon de taille n (utiliser différentes taille n) et visualiser graphiquement
l’estimateur à noyau de la densité f (utiliser la fonction ksdensity ).

14
Applications : Modélisation et simulation

4. En exploitant le programme de simulation implémenter, donner une estimation ponctuelle


et par intervalle de confiance de la durée moyenne de vie du stsrème et sa variance.
5. Vérifier la normalité asymptomatique de l’estimateur de la moyenne de X.

3.3 Processus Markovien : Marche aléatoire


Soit une particule qui se déplace aléatoirement sur une ligne d’une distance d’un centimètre
(en avant +1 ou en arrière -1) chaque 2 secondes.
1. Donner un modèle mathématique (processus aléatoire) décrivant le phénomène ainsi que les
probabilités de transition d’un état à un autre.
2. Donner un algorithme qui nous permet de simuler ce phénomène.
3. Si la particule est initialement au point x0 et le déplacement (+1 ou −1) se fait d’une manière
équiprobable, alors :
(a) Donner une estimation de la probabilité que la particule soit à l’état i, après 1 minute (et
10 minutes) de mouvement pour différentes point initiales x0 ∈ {0, 1, 2, 3, −1, −2, −3}.
(b) Donner une estimation de la durée moyenne du premier retour de la particule à l’origine
x0 ∈ {0, 1, 2, 3, −1, −2, −3}.
(c) la position initiale de la particule a-t-elle une influence sur les probabilités de position
de la particule et de la durée moyenne de la première visite de l’état initial ?
4. Revoir la question 3 dans le cas :
(a) P (déplacer de +1)=0.6 et P (déplacer de −1)=0.4
(b) P (déplacer de +1)= P (déplacer de −1)=0.4, et P (déplacer de 0)=0.2.

3.4 Modèle de ruine


Considérons une compagnie d’assurance dont le fonctionnement de sa liquidité peut être décrit
par le modèle de risque suivant :
N (t)
X
X(t) = u + ct − Zi , t ≥ 0, (3.1)
i=1

où : Le processus de comptage {N (t), t ≥ 0} est le processus du nombre de réclamations des


sinistrés et Zi est le montant du ième sinistré avant la date t par conséquence la variable Z(t) =
N
P (t)
Zi représente le montant cumulé des réclamations à l’instant t. La constante u représente la
i=1
réserve initiale. La prime est proportionnelle au temps (ct) où c > 0 est le taux de prime constant.

Supposons que le modèle (3.1) est construit selon les hypothèses suivantes :
– Le processus de comptage {N (t), t ≥ 0} est un processus de Poisson d’intensité λ.
– Les montants des réclamations est une suite de variables aléatoires indépendantes et identi-
quement distribuées selon une loi de Weibull de paramètres α et β.
– La réserve initiale u = 1000 unités monétaires et la prime c = 20 unités monétaires.
– Afin d’éviter une ruine certaine, nous supposons que le chargement de sécurité relative
θ = c−λλ m
m
> 0 avec m le montant moyen des réclamations donné par : m = αΓ (1 + β −1 )
(moyenne de la loi de Weibull).

15
Applications : Modélisation et simulation

Travail demandé : A l’aide de la simulation, donner une estimation de la probabilité de ruine


de cette compagnie à l’horizon T ∈ {100, 500, 1000, 5000} toute en utilisant
1. Approche activité.
2. Approche événement.
3. Comparer vos résultats.

16
Bibliographie

[1] Babes, M. (1995) Statistiques, Files d’attente et Simulation.


[2] Banks, J. (1998) Handbook of simulation : Principles, methodology, advances, applications
and practice. Wiley.
[3] Erard, P.J. et Déguénon, P. (1996) Simulation par événements discrets. Presses Polytech-
niques et Universitaires Romande.
[4] Perros, H. (2003) Computer Simulation Techniques : The Definitive Introduction. Computer
Science Department NC State University Raleigh, NC.
[5] Sheldon, M.R. (2001) Simulation, Academic Press.
[6] Sinclair, J.B. (2004) Simulation of computer systems and computer networks : A Process-
Oriented Approach.
[7] Toutain, L. (1991) Un simulateur pour systèmes répartis et temps-réel. PhD thesis, Université
du Havre.
[8] Werra, D.D. Liebling, T.M. et Heche, J.F. (2003) Recherche Opérationnelle pour ingénieurs :
Tome 2. Presses Polytechniques et Universitaires Romandes.

17

Vous aimerez peut-être aussi