1
1
Fonctionnement des outils de simulation Fonctionnement des outils de simulation
n
nChoix des outils de simulationChoix des outils de simulation
nnSimulateurs existantsSimulateurs existants
nnGénération des nombres aléatoiresGénération des nombres aléatoires
Dr-Ing. Naoufel Cheikhrouhou Laboratoire de Gestion et Procédés de Production
5.2
Chapitre 5 Outils de simulation
Choix d
Choix d ’un logiciel de simulation ’un logiciel de simulation
prototypes
niveau de complexité des modèles LANGAGES
SIMULATION SIMULATEURS
politiques complexes effort
Dr-Ing. Naoufel Cheikhrouhou Laboratoire de Gestion et Procédés de Production
5.3
Logiciels existants (pour les SP) Logiciels existants (pour les SP)
Année langages de prog.
généraux
langages de sim.
par év. discrets
simulateurs
1960 Fortran, Algol, …
1961 GPSS
1963 SIMSCRIPT
1966 SIMULA
1977 GPSS/H
1980 QNAP MAST
1983 SIMAN
1984 SIMSCRIPT II.5
1988 PROMODEL
1995 AUTOMOD,
WITNESS, XCELL+, MODLINE
Dr-Ing. Naoufel Cheikhrouhou Laboratoire de Gestion et Procédés de Production
5.4
Chapitre 5 Outils de simulation
Une typologie des outils de simulation
Une typologie des outils de simulation
3
Dr-Ing. Naoufel Cheikhrouhou Laboratoire de Gestion et Procédés de Production
5.5
Principaux modules des logiciels de simulation Principaux modules des logiciels de simulation
n
n Files d’attenteFiles d’attente
nn Échéancier (calendrier des événements)Échéancier (calendrier des événements)
nn Générateur de variables aléatoiresGénérateur de variables aléatoires
nn Statistiques Mécanismes de synchronisationStatistiques Mécanismes de synchronisation
Dr-Ing. Naoufel Cheikhrouhou Laboratoire de Gestion et Procédés de Production
5.6
Chapitre 5 Outils de simulation
Génération des nombres aléatoires Génération des nombres aléatoires
n
n Plusieurs méthodes de génération ePlusieurs méthodes de génération exxiistentstent
n
n Méthodes arithmétiques largement utilisées dans les ordinateursMéthodes arithmétiques largement utilisées dans les ordinateurs
n
n deux topologies différentes:deux topologies différentes:
–
– aléatoire pur (horloge daléatoire pur (horloge d’un compteur Geiger)’un compteur Geiger)
–– pseudo-pseudo-aléatoire : aléatoire apparent mais en réalité spécifique et répaléatoire : aléatoire apparent mais en réalité spécifique et répétableétable
Dr-Ing. Naoufel Cheikhrouhou Laboratoire de Gestion et Procédés de Production
5.7
Générateurs de nombres aléatoires Générateurs de nombres aléatoires suivant une distribution uniforme entre 0 et 1 suivant une distribution uniforme entre 0 et 1
n
n Simuler le tirage dSimuler le tirage d’une variable aléatoire d’une variable aléatoire d’une loi donnée (par sa ’une loi donnée (par sa fonction de répartition
fonction de répartition FFxx):):
–– simuler une variable aléatoire de loi uniforme entre 0 et 1simuler une variable aléatoire de loi uniforme entre 0 et 1 –
– et prendre la fonction inverse de Fet prendre la fonction inverse de Fxx: : FFxx--11
nn Exemple: Exemple: tirage dtirage d’une valeur de v.a suivant une loi exponentielle’une valeur de v.a suivant une loi exponentielle
0 1
1 Prob
F
λ(x) = 1-exp(-λx) si x>0
u
ix
i= -(1/λ) Ln(1-u
i)
Dr-Ing. Naoufel Cheikhrouhou Laboratoire de Gestion et Procédés de Production
5.8
Chapitre 5 Outils de simulation
Propriétés souhaitées des séquences des variables Propriétés souhaitées des séquences des variables
aléatoires aléatoires
n
n Séquences non corrélées : une sousSéquences non corrélées : une sous--séquence de nombres aléatoires ne séquence de nombres aléatoires ne doit pas être corrélée avec une autre sous
doit pas être corrélée avec une autre sous--séquenceséquence
nn longue période : le générateur des nombres aléatoires ne devraitlongue période : le générateur des nombres aléatoires ne devraitpas pas répéter des séquences. En pratique, la répétition n
répéter des séquences. En pratique, la répétition n’aura lieu qu’aura lieu qu’après ’après une génération très importante de nombre aléatoires
une génération très importante de nombre aléatoires
nn uniformité : la séquence doit être uniforme et nonuniformité : la séquence doit être uniforme et non--biaiséebiaisée
n
n efficacité : facilement efficacité : facilement implémentableimplémentablesur calculateursur calculateur
5
Dr-Ing. Naoufel Cheikhrouhou Laboratoire de Gestion et Procédés de Production
5.9
Méthode des congruences linéaires LCG(a,c,m,X Méthode des congruences linéaires LCG(a,c,m,X
00) )
n
n Choisir 4 nombres entiers nonChoisir 4 nombres entiers non--négatifs Xnégatifs X00, a, c, m, a, c, m
nn Définir XDéfinir Xi+1i+1= (= (aXaXii+ c) + c) modmodm avec Xm avec X00comme germecomme germe
nn une fois une fois XnXndéterminé, pour générer des réels correspondantsdéterminé, pour générer des réels correspondants –– RnRn= = XnXn/m/m pour des valeurs sur [0,1[pour des valeurs sur [0,1[
–
– RnRn= = XnXn/(m/(m--1)1) pour des valeurs sur [0,1]pour des valeurs sur [0,1]
n
n Ex: LCG(5,1,16,1) => 1,6,15,12,13,2,11,8,9,14,7,4,5,10…Ex: LCG(5,1,16,1) => 1,6,15,12,13,2,11,8,9,14,7,4,5,10…
nn cas c=0 : cas c=0 : méthode des congruences multiplicativesméthode des congruences multiplicatives –
– XXi+1i+1= = aXaXii modmodmm n
n Générateur de Générateur de BratleyBratley, Fox et , Fox et SchrageSchrage(1983)(1983) –
– XXi+1i+1= 16807 X= 16807 Xiimodmod (2(23131--1)1)